From e9aa266801374019f73cf4c1aafa0a26ff8d30cf Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Mon, 22 Aug 2022 21:09:01 -0500 Subject: [PATCH] Update web.sh Co-authored-by: sigonasr2 --- C++/scripts/md5 | 2 +- C++/scripts/web.sh | 10 +++++- C++ProjectTemplate.html | 1 + C++ProjectTemplate.js | 1 + C++ProjectTemplate.wasm | Bin 0 -> 300705 bytes buildtemplate.html | 75 ++++++++++++++++++++++++++++++++++++++++ 6 files changed, 87 insertions(+), 2 deletions(-) create mode 100644 C++ProjectTemplate.html create mode 100644 C++ProjectTemplate.js create mode 100755 C++ProjectTemplate.wasm create mode 100644 buildtemplate.html diff --git a/C++/scripts/md5 b/C++/scripts/md5 index 9403698..3e77b3f 100644 --- a/C++/scripts/md5 +++ b/C++/scripts/md5 @@ -1,3 +1,3 @@ build.sh:530634457ea9041267c05d4ced95eee1 - commit.sh:d03a46e721060c22ccb146e19d27e70a - -web.sh:3fdcf079bbabf079cc24c32fa7133c40 - +web.sh:241ce74055952325f82f009b494df250 - diff --git a/C++/scripts/web.sh b/C++/scripts/web.sh index d00e5ca..eef8c5b 100755 --- a/C++/scripts/web.sh +++ b/C++/scripts/web.sh @@ -6,4 +6,12 @@ else em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp") -o ${PROJECT_NAME}.html -I pixelGameEngine.h fi -emrun ${PROJECT_NAME}.html +cp buildtemplate.html ${PROJECT_NAME}.html +sed -i "s/_REPLACEME_/$PROJECT_NAME.js/" ${PROJECT_NAME}.html + +if [ "$1" == "headless" ]; then + echo "Running as headless web server" + emrun --no_browser ${PROJECT_NAME}.html +else + emrun --serve_after_close ${PROJECT_NAME}.html +fi diff --git a/C++ProjectTemplate.html b/C++ProjectTemplate.html new file mode 100644 index 0000000..9add032 --- /dev/null +++ b/C++ProjectTemplate.html @@ -0,0 +1 @@ +Emscripten-Generated Codeimage/svg+xml
Downloading...
Resize canvasLock/hide mouse pointer    
\ No newline at end of file diff --git a/C++ProjectTemplate.js b/C++ProjectTemplate.js new file mode 100644 index 0000000..497bb5a --- /dev/null +++ b/C++ProjectTemplate.js @@ -0,0 +1 @@ +var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};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",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}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.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var POINTER_SIZE=4;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}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&&c<=57343){len+=4;++i}else{len+=3}}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;function keepRuntimeAlive(){return noExitRuntime}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();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}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 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()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="C++ProjectTemplate.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(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)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"env":asmLibraryArg,"wasi_snapshot_preview1":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["memory"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).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)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}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;var ASM_CONSTS={38620:()=>{window.onunload=Module._olc_OnPageUnload},38664:($0,$1)=>{Module._olc_EmscriptenShellCss="width: 100%; height: 70vh; margin-left: auto; margin-right: auto;";Module._olc_WindowAspectRatio=$0/$1;Module.canvas.parentNode.addEventListener("resize",function(e){if(e.defaultPrevented){e.stopPropagation();return}var viewWidth=e.detail.width;var viewHeight=e.detail.width/Module._olc_WindowAspectRatio;if(viewHeight>e.detail.height){viewHeight=e.detail.height;viewWidth=e.detail.height*Module._olc_WindowAspectRatio}if(Module.canvas.parentNode.className=="emscripten_border")Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss+" width: "+viewWidth.toString()+"px; height: "+viewHeight.toString()+"px;";Module.canvas.setAttribute("width",viewWidth);Module.canvas.setAttribute("height",viewHeight);if(document.fullscreenElement!=null){var top=(e.detail.height-viewHeight)/2;var left=(e.detail.width-viewWidth)/2;Module.canvas.style.position="fixed";Module.canvas.style.top=top.toString()+"px";Module.canvas.style.left=left.toString()+"px";Module.canvas.style.width="";Module.canvas.style.height=""}Module._olc_PGE_UpdateWindowSize(viewWidth,viewHeight);Module.canvas.focus();e.stopPropagation()});Module._olc_ResizeCanvas=function(){setTimeout(function(){if(Module.canvas.parentNode.className=="emscripten_border")Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss;Module.canvas.style.cssText="width: 100%; height: 100%; outline: none;";var resizeEvent=new CustomEvent("resize",{detail:{width:Module.canvas.clientWidth,height:Module.canvas.clientHeight},bubbles:true,cancelable:true});Module.canvas.dispatchEvent(resizeEvent)},50)};document.body.style.cssText+=" overscroll-behavior-y: contain;";if(Module.canvas.parentNode.className=="emscripten_border"){document.body.style.margin="0";Module.canvas.parentNode.style.cssText=Module._olc_EmscriptenShellCss}Module._olc_ResizeCanvas();var resizeObserver=new ResizeObserver(function(entries){Module._olc_ResizeCanvas()}).observe(Module.canvas.parentNode);var mutationObserver=new MutationObserver(function(mutationsList,observer){for(var i=0;i0){callbacks.shift()(Module)}}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 handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(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:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname: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: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)},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return()=>crypto_module["randomBytes"](1)[0]}catch(e){}}return()=>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.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(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?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 TTY={ttys:[],init:function(){},shutdown:function(){},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){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;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)}},fsync: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)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}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;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=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)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{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}},node_ops:{getattr:function(node){var attr={};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);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(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)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},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];parent.timestamp=Date.now()},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|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){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!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: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:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode: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:(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:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(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:(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:(fd_start=0,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:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};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}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open: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:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts: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:(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(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(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: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(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(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:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(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:(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);var lookup,old_dir,new_dir;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);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}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(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir: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)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir: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:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink: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:(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:path=>{return FS.stat(path,true)},chmod:(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:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(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()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(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:(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:(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:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438: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){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});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}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(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:(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:(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){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;return bytesWritten},allocate:(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:(stream,length,position,prot,flags)=>{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,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;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:(path,data,opts={})=>{opts.flags=opts.flags||577;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:()=>FS.currentPath,chdir: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:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));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));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(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:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{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")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{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},createPath:(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){}parent=current}return current},createFile:(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:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(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{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);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return 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_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=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(){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=(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);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||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(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(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){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{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},createPreloadedFile:(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+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)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};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(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;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(path=>{var getRequest=files.get(path);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=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return 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}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,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))){return-54}throw e}HEAP32[buf>>2]=stat.dev;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;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;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+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+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAP32[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+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+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAP32[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+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+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAP32[buf+96>>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+104>>2]=tempI64[0],HEAP32[buf+108>>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)},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}};function ___syscall_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.createStream(stream,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 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7: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))throw e;return-e.errno}}function ___syscall_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:return-28}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_date_now(){return Date.now()}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function __emscripten_throw_longjmp(){throw Infinity}function _abort(){abort("")}function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(!Browser.mainLoop.running){Browser.mainLoop.running=true}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=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=()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else _emscripten_get_now=()=>performance.now();function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}function maybeExit(){}function setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop,arg,noSetTiming){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;function checkIsRunning(){if(thisMainLoopId0){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}}out('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(!checkIsRunning())return;setTimeout(Browser.mainLoop.runner,0);return}if(!checkIsRunning())return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&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(!checkIsRunning())return;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,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"unwind"}}function callUserCallback(func){if(ABORT){return}try{func()}catch(e){handleException(e)}}function safeSetTimeout(func,timeout){return setTimeout(function(){callUserCallback(func)},timeout)}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}var Browser={mainLoop:{running:false,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{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);preloadedImages[name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=event=>{out("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;preloadedAudios[name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;preloadedAudios[name]=new Audio;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);var audio=new Audio;audio.addEventListener("canplaythrough",()=>finish(audio),false);audio.onerror=function audio_onerror(event){if(done)return;err("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=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;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"]||(()=>{});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(()=>{});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",ev=>{if(!Browser.pointerLock&&Module["canvas"].requestPointerLock){Module["canvas"].requestPointerLock();ev.preventDefault()}},false)}}},handledByPreloadPlugin:function(byteArray,fullname,finish,onerror){Browser.init();var handled=false;Module["preloadPlugins"].forEach(function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled},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:2};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"]?()=>canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]):null)||(canvasContainer["webkitRequestFullScreen"]?()=>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)},safeSetTimeout:function(func){return safeSetTimeout(func)},safeRequestAnimationFrame:function(func){return Browser.requestAnimationFrame(function(){callUserCallback(func)})},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}},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 _eglChooseConfig(display,attrib_list,configs,config_size,numConfigs){return EGL.chooseConfig(display,attrib_list,configs,config_size,numConfigs)}function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},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){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=canvas.getContext("webgl2",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_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);__webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function _eglCreateContext(display,config,hmm,contextAttribs){if(display!=62e3){EGL.setErrorCode(12296);return 0}var glesContextVersion=1;for(;;){var param=HEAP32[contextAttribs>>2];if(param==12440){glesContextVersion=HEAP32[contextAttribs+4>>2]}else if(param==12344){break}else{EGL.setErrorCode(12292);return 0}contextAttribs+=8}if(glesContextVersion<2||glesContextVersion>3){EGL.setErrorCode(12293);return 0}EGL.contextAttributes.majorVersion=glesContextVersion-1;EGL.contextAttributes.minorVersion=0;EGL.context=GL.createContext(Module["canvas"],EGL.contextAttributes);if(EGL.context!=0){EGL.setErrorCode(12288);GL.makeContextCurrent(EGL.context);Module.useWebGL=true;Browser.moduleContextCreatedCallbacks.forEach(function(callback){callback()});GL.makeContextCurrent(null);return 62004}else{EGL.setErrorCode(12297);return 0}}function _eglCreateWindowSurface(display,config,win,attrib_list){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(config!=62002){EGL.setErrorCode(12293);return 0}EGL.setErrorCode(12288);return 62006}function _eglDestroyContext(display,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=62004){EGL.setErrorCode(12294);return 0}GL.deleteContext(EGL.context);EGL.setErrorCode(12288);if(EGL.currentContext==context){EGL.currentContext=0}return 1}function _eglDestroySurface(display,surface){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(surface!=62006){EGL.setErrorCode(12301);return 1}if(EGL.currentReadSurface==surface){EGL.currentReadSurface=0}if(EGL.currentDrawSurface==surface){EGL.currentDrawSurface=0}EGL.setErrorCode(12288);return 1}function _eglGetDisplay(nativeDisplayType){EGL.setErrorCode(12288);return 62e3}function _eglInitialize(display,majorVersion,minorVersion){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(majorVersion){HEAP32[majorVersion>>2]=1}if(minorVersion){HEAP32[minorVersion>>2]=4}EGL.defaultDisplayInitialized=true;EGL.setErrorCode(12288);return 1}function _eglMakeCurrent(display,draw,read,context){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(context!=0&&context!=62004){EGL.setErrorCode(12294);return 0}if(read!=0&&read!=62006||draw!=0&&draw!=62006){EGL.setErrorCode(12301);return 0}GL.makeContextCurrent(context?EGL.context:null);EGL.currentContext=context;EGL.currentDrawSurface=draw;EGL.currentReadSurface=read;EGL.setErrorCode(12288);return 1}function _eglSwapBuffers(){if(!EGL.defaultDisplayInitialized){EGL.setErrorCode(12289)}else if(!Module.ctx){EGL.setErrorCode(12290)}else if(Module.ctx.isContextLost()){EGL.setErrorCode(12302)}else{EGL.setErrorCode(12288);return 1}return 0}function _eglSwapInterval(display,interval){if(display!=62e3){EGL.setErrorCode(12296);return 0}if(interval==0)_emscripten_set_main_loop_timing(0,0);else _emscripten_set_main_loop_timing(1,interval);EGL.setErrorCode(12288);return 1}function _eglTerminate(display){if(display!=62e3){EGL.setErrorCode(12296);return 0}EGL.currentContext=0;EGL.currentReadSurface=0;EGL.currentDrawSurface=0;EGL.defaultDisplayInitialized=false;EGL.setErrorCode(12288);return 1}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readAsmConstArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_cancel_main_loop(){Browser.mainLoop.pause();Browser.mainLoop.func=null}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}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}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function registerFocusEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.focusEvent)JSEvents.focusEvent=_malloc(256);var focusEventHandlerFunc=function(ev){var e=ev||event;var nodeName=JSEvents.getNodeNameForTarget(e.target);var id=e.target.id?e.target.id:"";var focusEvent=JSEvents.focusEvent;stringToUTF8(nodeName,focusEvent+0,128);stringToUTF8(id,focusEvent+128,128);if(getWasmTableEntry(callbackfunc)(eventTypeId,focusEvent,userData))e.preventDefault()};var eventHandler={target:findEventTarget(target),eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:focusEventHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_blur_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,12,"blur",targetThread);return 0}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;canvas.width=width;canvas.height=height;return 0}function _emscripten_set_focus_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerFocusEventCallback(target,userData,useCapture,callbackfunc,13,"focus",targetThread);return 0}function registerKeyEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.keyEvent)JSEvents.keyEvent=_malloc(176);var keyEventHandlerFunc=function(e){var keyEventData=JSEvents.keyEvent;HEAPF64[keyEventData>>3]=e.timeStamp;var idx=keyEventData>>2;HEAP32[idx+2]=e.location;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;HEAP32[idx+7]=e.repeat;HEAP32[idx+8]=e.charCode;HEAP32[idx+9]=e.keyCode;HEAP32[idx+10]=e.which;stringToUTF8(e.key||"",keyEventData+44,32);stringToUTF8(e.code||"",keyEventData+76,32);stringToUTF8(e.char||"",keyEventData+108,32);stringToUTF8(e.locale||"",keyEventData+140,32);if(getWasmTableEntry(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_keyup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerKeyEventCallback(target,userData,useCapture,callbackfunc,3,"keyup",targetThread);return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop){var browserIterationFunc=getWasmTableEntry(func);setMainLoop(browserIterationFunc,fps,simulateInfiniteLoop)}function getBoundingClientRect(e){return specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{"left":0,"top":0}}function fillMouseEventData(eventStruct,e,target){HEAPF64[eventStruct>>3]=e.timeStamp;var idx=eventStruct>>2;HEAP32[idx+2]=e.screenX;HEAP32[idx+3]=e.screenY;HEAP32[idx+4]=e.clientX;HEAP32[idx+5]=e.clientY;HEAP32[idx+6]=e.ctrlKey;HEAP32[idx+7]=e.shiftKey;HEAP32[idx+8]=e.altKey;HEAP32[idx+9]=e.metaKey;HEAP16[idx*2+20]=e.button;HEAP16[idx*2+21]=e.buttons;HEAP32[idx+11]=e["movementX"];HEAP32[idx+12]=e["movementY"];var rect=getBoundingClientRect(target);HEAP32[idx+13]=e.clientX-rect.left;HEAP32[idx+14]=e.clientY-rect.top}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(getWasmTableEntry(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_mousedown_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,5,"mousedown",targetThread);return 0}function _emscripten_set_mousemove_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,8,"mousemove",targetThread);return 0}function _emscripten_set_mouseup_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){registerMouseEventCallback(target,userData,useCapture,callbackfunc,6,"mouseup",targetThread);return 0}function registerTouchEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.touchEvent)JSEvents.touchEvent=_malloc(1696);target=findEventTarget(target);var touchEventHandlerFunc=function(e){var t,touches={},et=e.touches;for(var i=0;i>3]=e.timeStamp;var idx=touchEvent>>2;HEAP32[idx+3]=e.ctrlKey;HEAP32[idx+4]=e.shiftKey;HEAP32[idx+5]=e.altKey;HEAP32[idx+6]=e.metaKey;idx+=7;var targetRect=getBoundingClientRect(target);var numTouches=0;for(var i in touches){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+8>>2]=numTouches;if(getWasmTableEntry(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_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 registerWheelEventCallback(target,userData,useCapture,callbackfunc,eventTypeId,eventTypeString,targetThread){if(!JSEvents.wheelEvent)JSEvents.wheelEvent=_malloc(104);var wheelHandlerFunc=function(ev){var e=ev||event;var wheelEvent=JSEvents.wheelEvent;fillMouseEventData(wheelEvent,e,target);HEAPF64[wheelEvent+72>>3]=e["deltaX"];HEAPF64[wheelEvent+80>>3]=e["deltaY"];HEAPF64[wheelEvent+88>>3]=e["deltaZ"];HEAP32[wheelEvent+96>>2]=e["deltaMode"];if(getWasmTableEntry(callbackfunc)(eventTypeId,wheelEvent,userData))e.preventDefault()};var eventHandler={target:target,allowsDeferredCalls:true,eventTypeString:eventTypeString,callbackfunc:callbackfunc,handlerFunc:wheelHandlerFunc,useCapture:useCapture};JSEvents.registerOrRemoveHandler(eventHandler)}function _emscripten_set_wheel_callback_on_thread(target,userData,useCapture,callbackfunc,targetThread){target=findEventTarget(target);if(typeof target.onwheel!="undefined"){registerWheelEventCallback(target,userData,useCapture,callbackfunc,9,"wheel",targetThread);return 0}else{return-1}}function _emscripten_set_window_title(title){setWindowTitle(UTF8ToString(title))}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}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))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);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))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}var tempRet0=0;function getTempRet0(){return tempRet0}var _getTempRet0=getTempRet0;function _glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _glBufferData(target,size,data,usage){if(true){if(data&&size){GLctx.bufferData(target,HEAPU8,usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?HEAPU8.subarray(data,data+size):size,usage)}}function _glClear(x0){GLctx["clear"](x0)}function _glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}function _glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}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}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 _glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _glEnable(x0){GLctx["enable"](x0)}function _glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}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 _glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}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,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return HEAP8;if(type==1)return HEAPU8;if(type==2)return HEAP16;if(type==4)return HEAP32;if(type==6)return HEAPF32;if(type==5||type==28922||type==28520||type==30779||type==30782)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 _glReadPixels(x,y,width,height,format,type,pixels){if(true){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}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 _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){if(true){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}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 _glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=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 setTempRet0(val){tempRet0=val}var _setTempRet0=setTempRet0;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":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;i0){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()}}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;run(); diff --git a/C++ProjectTemplate.wasm b/C++ProjectTemplate.wasm new file mode 100755 index 0000000000000000000000000000000000000000..2263b1dc6918bd2216e3cd3b6a7681ab391a1ada GIT binary patch literal 300705 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

B)1{lOFfz^~AWxoSuL$^34i! zKu1jyJX*ibh&gq4RQ;+j$O#|KNptXv9P2pVbUSU;~wkkJf+)z4&=3N!@R* z5%HXv1kV2jl7N-<3m^f?c{CDO3YL`TrV`Y#rN(gV+HZbyc&aAS(8oLMIjxcDO0se5&5QvC9xceqgG*C_<|$NOkF%G`kQP6wFjPDm>GvvY)QJPxEY2Wkh2>r<_t<+WAGAMD z>>d8c)B>~3EO@?-*#)nt{LAviWG=9+yFd2>$4oXiWsBg2;eH$=(SFn27f=&)yg0~b zSQ{HoITAS^CZxsZD3njmTTGJaBurKjvVMT%cK89$yfsA}X{T8V$Y{}2{L{wT!#Kl2 zn^ILoIUx#Fe9=*&*)~d#sh+sArGMR!Fj4nghV0etiqhdM&rYtfn1)@qft$ba?Btac zJLJ)JNN8JePq+-l?W`;PR)6;=ql*C%5Y^ph42VEZv;6eI&K3s%wnku0^2(y|;+D3X z+fpX>V_$(1SOWx?wAMa0p$^hgwOKrg6W0{RyZqy5O8fG(R(t?P@Vt0i&RUy3s-rSM ztvkr=2(jTyT1^H>qoO&$x;y3vp4I3Y6ecV+L;>{Y7>kpcV3JG@U?aY>MM+h^7n{aE z35X#Xg3%DjuQA_fF!F1F$-!XIC9PeZlQ_d}lQNJVxn&%vEYJhl(r-6Nz>+tktcItQ ztiLScdSyX&l1!;D3&5CV20*%G9Mlk2cKWjBARBSLvW)7C!ql!F@nya&&G9YIhjn}m zrtvb6OS9TQItSA^U>eXdO#`CG0%WYcH zYCda-$T@A|sHdN&O@Y_ac?627IXZ2ULPfYkEdH8PxMmH1jt)DHQ$&68g%9{{oQ}3| z`vK>Kx=6|!_&=48UC~)@lAk+*M#H{b2jgKh~kWP}1`2njxE&h?Q(#U-|UyMLt87%5s zNM~`rI$t%P#{S2mG-gGhUjKW~XRk#EbqU!aq2DqD6_rucFZGk_opX^UAPhw{z4jUb z!jYi)5UeyIo2D0&=7va}P%&8Uw7vt}Zxn z=KMk$+f<%Scb;Sty|YRPuqIhoJb9|KhC#alw9chAk!Gs1RykQjrZ4WrK$>)5C#3)P z#!k-lKRj=FisG;86#ClSd7{21z!ttPqK|xC$j%JD)_2xXH7j!mF6*2J2@fT^!Hb3) zGKM1-gY?WGe+lIVWV%g4wjq_7jpvfvC^?P%iLk(@*oG!u8^ytEn*N27w|C$$`lC=@ za5kB!nGT(&#XPtng{7%YHgkJ5uUP(*g{$a2pJ*=`}C(`szq z(zwu0Ya6DH6ipfcM3|P>DUPO%63wZ*m9l&0d8K=-4KbY~bWiVlY6%KWp}}HKbw<(a!}S>Xm_L=WvqD-E=ORSrsKk-a`2| zxC^UW@Dt}2+&Xi?z$kO4*0KRoF2Rb+x3ns&Z1;x1yrc_e57q{tsS2zmU|2dRg^C5s zTF)pJ&AvIVkqio&y*5~R>q!b!59EvsEX(5oY*~_~nlG6umNEQmnPx*W5VedXXanmg zSm=2F1t?7JW1UWmp4+NLJKw*ZKbZ}n(hUal7VdCeWjQuQX?cn!3*{or;K`hJyu`~J zgQyS;T|#=G$Fq_ts!M2YOS~p9tn*%D#?H{vmdjZvocHQc72`)`+Bz`{h4WsC3+KHO z3g^8N>Ob!_0dg=J)ScrT?_O~B9j3iH33%#{8?@AzutK;Wy%=#!)(`EqG%1TBx*wqqBRs`**c`*4mB zQ$q`7wiTgPp*Het#;nm6eS)U46id8-ZA*WkyI#;s%tImgnuY}Gh}jWj5{yr#WFqD+ z)fCaxkd{j?w5b-0XHH>WOKp3Z2iK(>Fdd~w^H@XPztDyVD45=9;uRJx=Nvz2Yy*`G zoyl5@eKjQ*6=Pcv|41Mc=*!gR_7t2pryah@*gQjClGe7NYXwUO+>(!0PLx7ZN>*;( zR+ASiF(34ZO0|-tbWWB5)nRt$%dA6y7z0i&K)iW`VOk6>5O3sdZ&I+}7%pa7gc(y! z_eHbh`$j22HK6fz?~lVfv0xk%=^rFvf%4kLRD2ui2Z9aE$e_KU@V^lK0kCpj5^%K1 z4Tk$-vtx54OzQQFL?A_cnMRg;9fs#PA>i zgz`NUbRvY%@pEMxdHsb8K(zUYc~uWFO|gC~#2oy^Af|bQ0%~emH}GNEq`LSE!p82@ z{=X6%MZzLwomX{6tn@91Sk8!!B|6=7?i_Rq6j z*hjn?R8PP{JjhG{<$ael2TD{kH%jSJH!~R@jAtoyFW9%;-WXvSs%l~daN^z8{^A75*Dkn@gVS}1Q(-f`h`~%4{_NuWNg4 zRSeDYai|U!ho3RTu~9h0jV_XRnXEGG4{SflI?KCsk-SS5$%|udfjcQcmi0FD4W3+T z&AmQa$ON*5Oy*n2Oacp;2)B@#1Qs%rz(QscaHFw&?&4$`lhPyrNkmG+Hb$U8>4PY# zpb0+tr7hTVnjtEE=q<=YYbe51XUt4WaAA@+-Q5BGc)tv3$6U6@6ee^S3qP4dHt^3% zU|^%Xp=DlnxE}B&pNz8v>sUX=z@20oim&R=`l}hgniUg@*!9?@Y+*T4`36{$U z0-M$j0-+Z@kvK$KWGrcVOUo79#{<1fb+}k%*R@sJmQ&((O)I zd?bYHpV%@>T_(JGVM|-oqD0+Tt$uxC(SFJAQTEGke>y|I&Y9n@HUHNAf;8s!>l~rl zC;L&&791E}g}Ixmp8{som>(D7Yr@A^L@MUe6-(t@t4-42o6f_8kEso8WirGsCwv-m z{@|t2nYif3Acb7O@EG|f!h}y4$a3@s@}*3lX(lFe|Ff7QbhJ?_5Ey40mNTNnmi>iv zKoG6464eg+l}hV+llwmm>(m%+C7M64X*ax}!;e5J`5@{KfJCLWX`E$zgW{UurWRzY z#67_BN@58tb73q3tT53%7gz|oIl!VD1}r&q0G7%ESO)kmut;GuZ2~-w95uoKUzR23 zj%M|(tlk8-%1Wi00(iWXb7$HblojT;Z3eI`t6WQEW%Xv-R90`MEy!dIqNdVBNwzR2 z_ape`xuTJx%MrxqB~f1vqY(7CAt=jL1zZCSU6H}`IM;F{oL5LY!2NYJBlRws3}Y>~omk*|=3Em_vlV@bYk98(om4-~DuWx*-Us)i)&G~W6c2`Z13pw>&! z$Q!*XGEE_Ap$e-mnBef9J@&NEZD6f;t|)i|yh+41EBVXPiZ$Xq4}cJS8@q8gGFU+LF?P7G%@yNK~M+n=N!| z4zo`>dEQ}#KP^6|7-4+KB_AMX-|H9`W)anqV(EgoH3gef=cPNhSh65)U4b8XUb?3i zD;LDAFIFvxdqy$7AnyEP`GUA-7b_OTU05tz5ck|-bV1xj#n_xURNSW4-SKs)gMu%~ zTU&Mb5*EQ_9r_{2Y1sj+jm5|@kV7VofYi^6VX}mmT9{OX<95({(F5NVcKc)5j_TX=&5 zp&b?-+JU!HS2zs2Wp*y|SYBlzOSQ9tu8n%um`6hiOA$bSsvUOt(NcV%q@MYMm~^xI z;tmIVbVjA(=E( zY(ZhG(g_kaw{_TZ0jP0;U`2CVeT2AO+65k6%a`C{SjB?KB^dH#Zn_hZn#8i4e91H^ z3oTzD9{Xj5%$*Efx0U14UgUdLjaY_l&0>0Fnw7k%)vyWJi2(8x$;wj%dq}Uw`Q5JhP2B z)KOr%oeX`2?*Ig5x3mmud<$i-LXESwFvl{Sx5vd%fEO-lSQ=Pm-b*yfPTe2~xu|6& z#!l02t}pSpLna{|2nfm5{rWeo;HHXKk$i&#qj+#3nPu+lwJWxuU619<-0_M9jrYpG ztI1igMG!;Q7{v0Ce5J*YuqwqR9Mlg`JF6HYrVnW62=t+BUA|!OhOcWzLEZ-yPF19V z;iH*K=ZqNXIzlaLL_jNfb^FdF8z9)eE6HjR_gzh9b-svrL3YmwH+n&%x(&?gDr4{d5Z_KgqTz$W!r4J(y{|Npy$0ATv`N5Ato9Hz2rxO4VMx@76HI@`mZ zSPVAeO1lbqJfU`$S^lxR~EP%>4aV z-%Lx|ZnBp|q31qN``ac$s?*>3my@-rq2#xJD@5FV^Cym`EW~<8ybXkl-CO?X4exsW z#?~~!kG#`@FCh5#4_NTcv7+y`@C5{q9<$&x3BKj~7JL%Hul=VRRRml5-KX!{r{L2G ze)Y|NprFj2_r1e{+X>$F6AP;5yZ-v-yGZa7f?xZ|``-0?8(VKtbq_!C@%w*&W9#<` ze&S2t|17}^3EuSP+aDmfUn$=5rmuaO@NW=2aMOprM(}!q@A=^D*9qR}%eeLMj*Tt$ zf4ZCQ{OU1+&sO3e{+)u_*m~C+{z<`C5&Xnk-}wN+odh3#0Pj+r>tt9xx4}N@R*T&YHl<%fH|K<&ZrO&@*-_2hoxRv00 zK4`(;B}o6?wRYE8 z{q{dRtnkeWKlI^u|CI1eR?3|xK2X`%($Q=)|M^=F5PX}WKk*d{|DnR4dBno6C;0Fq zH+_#JZ&36fe&ikBuWoETi{Sgd^0prn+(huE&%fnv?(H@H3R;J750}!QUhJ>HEI)$K=Gsf)>84 zAbW!$01IAC@NeF0MRUZiyZKKo_!@$Te{|q(Hch;fLz{*(m+;|EI9K6Q;XThZUF z{4YJeug4Gc_@N$ur^hKh{y~p_)Z?G@_}_Z`vmQUy<7aw2qQ{$NHLM5h`7V3jV$XNm z^N;QMC-yvO&)e*I$e!=B=Uw)MtSIM*J^##}AF=0Adw#;6pRwm>?Rm_e57_hb_WYtf zziiLr_WX)HziQ8~+4HaM`AvKN4}1RK_WX`LziZF$+4H15|JI)W%bwr2=MU`p!}8g| z%^`Kh9lbBfW;l0J2Ug8g;gaui#R^W`72(1mjNS?D6I!HC_&bVog#!2OonP3Lm-bx(JrJZn8R{FJ4`zrt(v zTs8#WRLu?s5aMLe5?;+YcBAG&lA3X!OZ&BuU)Q2Io8y{S3%WciumEk29LuqAJajUI z(nZk zB2}LKW5VTH@vg+c5z$hHRA1_pj5zyA?IH+!$wFmCYUNWJUZ*bUCS-YJNQgB%byRfw@Z=3_ZftXu3dMXQ2F%coXfjtB+LdV7yaA0Rf5x9WwjpdbSsrerl-Grl}l+YZ8RQbk=DPM<+v zvBWNVk>5Sq%jBnJ3>}#IWctDvh#PdbS*1!@DXiD^BDE@jX*zwEv$!=QOQThCb@Iz5 zOzjL8z;8#nfE$>3Ub*Z|bowW1*r;xUQM720C`B6w!Q zIGvHXG@QHx-3>5mm&H4Ao90w|6HO4?Dp#J63#2IEfDE;ry<_i~i{g|m`LCH{xB`zU zD;k)S!3zO(4dMso=u!sPT*ej0geH+%V=0GsUT2|3gclBvRLvlxm5O+Ln6nw^wL;*N zduO+u)DtP;I(0{T%&b>@DRMoPAm=1M=8c2i0x%9Q<%OIjjQA>0mX=kfGa#Ho8o)Bn z{wjtV`hiOYqE^O2vp^MG*|gbkZJhwAgE0hYws(xVyvy-PJQtdm37TvTU~mLQ%DEi> zb?(|sxENmQ@L_YGX*v)=z(^J~Ih{g(nJR-AHI!U|PDk;U(I5thIJl|aYH-CQna}hd z9Ge9WU8`n;R?e(@Cl z&Q{K#LSAb3csPy@7IfT0%F4}8ocNjhnD2xbV9UwMmW@*WG1_RUDn8Lq!q2+@`7M5e z_La$xrWd4<`(wz3vS((Jtt`X1q=?)NuS5s4=Fu4;4-_i)Vt)Vbuz93@ls?@uh}#O0 zL-!2kiHqEU*ba@3dmVLkuvPNdT1{n=yY~BAk(hwkQ{WFSby0gG$9A(;MXVB#5!`y0 zm@rc;z@R)*v1%B3$x~xq zgGS=yUG9x0Y#NABNWyuhF>L&DV|dJhb7-b0r<%ROxSOzYlbx^+v)0-&en(2SCa@7uY^8scGwN~f8g6JR*6Nnbd)^-67z&WCAR|VX#6>-cga(v;~mP{3~m_v=-T%FWKKj|5f3-g z!5!(YS}0}2Gygokr)Ubj*tRPKTk1Z=exD&OO1(mum)WafUQN3D~7ki0n=?<-o9 z@y-%?e&^r$d$A&2!w0v>N=$la!%KijYqK7vu7X|HUd4L~=q9@Ma%p&yGuXsNqrKxQNzytUW;hc;YYUO0GaLx2qveeKIgBHf>V4{f*#S%ma?BMPI< zxVPV=5M3J<{|j}lf5D-9O0cO_<@g*-chW$Rx~Z6nJ@?v%0T2J<@Bc6Vv|%TxVHI(= z=ANBl%<4NV?pl%q&B^n`nb`1K-3Hb?^zL}-DJfWesO;{&2L&xR`|eor>7k-}2=xw( z`-9s*#$?zLi$4UA_TOq*4>Ff6;>_;NliLmz4YD6Bl7p}TCOh)VZ3mfQlad=9D$;|8 zP&AKrOE?fpAU{h!Z#&38AwW*0$stKq+HuOKb|>wd0wQ-JL_O%EEbe%SJ66UWEUGl) zo)S(JSrUg)&5(OwVA^evWj5rF*HbA*bgS8F2qeQGlAz_yI@Q%sz z_U&M{cL>(*xzrH+WkOm{3h~msKm>nDAlvTk(!!~GyXAD_qUbj{7DhNmRe1!6 z;oQPC5GXNfFIyS?`gj%5*sCc668@H*Jc97lg>KixVMe@$lw>b5VQy3DQCFJdb&!){ zm1F4Khw2#Rt6VgxAXd@geMJI4%c0lkrIyIixIEdjc|6P3#_=w9>i$F@#$fXBBme!| zU%&BZcRU#Fnv8c8s2+^>WM}{F*`LO7+`A>U6DJdl^-TRmU5<1DJC~@_!+MP~`L{n~d7Jy$icRD05tal-CN$j**I#b8VMhFWWoo4yz1IA6kOPv8R9(Q?+f&z2 z%BgEEA9rsb=DiSH6;2(VJb&N4hq6@>{fpZNk|J^h5s!ccvv?zRZ|uEr_B+fY2mhBz zQ_O5shLD_~L@A}1&rBRnGP*$by$+EqFV8fWsPcWi1R4u0T)1xWbTk!%5n<95 z?N$!uu}?b`X2xntZQ3dgx0B5AG9AQHPh`ZRHA$`D+LAn)QYgDpTBfvtPNJq-R*Dk2 zqvTT_?_$-=m##^PDGW_P!1D@2&McJ7WI!;T{l_rx4l4){QqkHms9YAS#447adJn9i zqZ4`qEV|H9he()^i<&5blB_1`p3WTY_QW1@cl3PTC97Yxx4e>kP`cSFxV1R~R{*(9+Ew9MgB@@vmygaGcN{X=kX+*JNLh6I9h* zq{M4-ZBc<@V3~xijNram$6C<4b`;fL^$JJ(9aw=lgaD^17JN0pav)6Z_6@@R2V-Hs z^qj0T$;o)BLSh)|KDlpX+O1kGWnaKf&rPQ9dIi66ku>&XXX~H|)V=UXKu-;d&}!6+8{9Z9P1>e&1fW zV|IVyRmbB|F!>qfnVA?4fB|RgER)HoL`gtv|oT)o`!%h`{6-C9Gu;Kg&!C=Hk!}cbQUT+3nYK9pc?xCi4WBVF9;1dkeC#Q?4$gafttsfLgd#gH# z*$P(g)fTADSIS){sgdh)gDE7{1D+u;dS z0bbQEmha`oU^gFENUlvci@XNA-3jPC8}03|h;*@NTj0n&Pw7OmON+O_n7nfJ;hhv5 zy@GCPPgx2T@0IFO?a@iua*+r1;`Y}FCJnn20TycjmLc(!oZ7CY0JdCwt#D8CeN%Z zfp>|-st}S0>toMMM|KbFig!R->)GTk%0g@=o*g2eSa#1cG z(2)DUn5j|wQWRt@VYl4ltL>JE7;pJ1l{)gN*@b|C;pd0sG@6@^I$>tPLE&Y2!T>-K zfA)eXn%RBxCkyd>?waH3L(pV~IWd0y#M`TfCs*z(1;^}$9RhUP7dMNr*o&|y+rtBF zpjZXNjcJ&??@VCv<5d*;m1wH{->}Y5V>_ezs&~=zM)$_kq?$HZMFA8y5QP!lilH;hcR5$mZfsb6z55f)eUf zyfB|%nKVxQ;PyRUNFu1uKzIzZr8D-pTMhoLm;S2KORH`6^oGvz(2;y=m|7v7mc8qs zNGf~kr6>U3il$u+x0FbOo??u)AblD$+8Gl%R#-qY4KuB}=UhH+ry`6_4*aU93Z7Q6 z{kNnVom>su1cP9*)%M3hM)CVqqMQ;Je`c&sI3^UuSHG6cEj)4#%HwNIv0SXs&=~fF zG-mJ2%Jvb9sB=#NQ4w2csH`f|tn*1s!1dQMb2`)l|0Tm_Jzm~d(5B8xI)~FwtXA7^ zq==3h+~$qoVxu=_a|IF3^c!~XFhb@H5&s0B6X)!K@ z{J$BEATdGT_*mEGJJi10`u|EcN73YK)cXMbQH`z*0qlLbOxER-b*$WS5ipfN632}s z;C=1?l#oCKZ~u0`6cbO@RcJZeXj0rLR1;fUCL?w#@_Ttm@Uj-o^L_I@vzKTnVu;w# z$hJkAeXVcy^=kGQ>#(!&$z)%?e8*(Ivlw+abfypg3bdm6viq53(SROgWqiXU&;f#U z`e3Z*9r5JuAWiQL8g?S_r+2KT{aPQ5lksmb7xGczFQOU+9vD(- zIwc(G;VO4w3-c5g00v%tNSj3ycfcp+CB+_OdKiCr5s&AFp?6@9j4LaMwbL`>TT+j_ z2U1#sI^=u#Y(-uj=W8WjKF^HLbI=O9!=4B1c}rp}!JYC$KVy;meWCZ- z5031#p?N4SG@@o#^dp(UiQEisK6-om7Rz)Zpvg(0$sB|{PSOCtSzqUIL$?PZl#;cX zLJ0)?`&oN`Y{C1r>5)*&(KrJ)2J#gW#q8mcGDr4QQ-O%xF)w}FNMAPedkTFS>~5~& z!JQ;ioh5k;QnI@%Pi-4Y8sy%Azwo9i$b@Tsik)1YWl1U7Bw7ufOtNVfAI*=iYb4o( z;?n%^mr5`q+4>TA$)+U{{fSV*5(zNkO{WWzO+T3XtT zEhQT*sc3!30qLger(xntAKx492C-1L{HP zpWu@l+*l;z?9gGm7}~d|P4xqtfR!6F8`(<5g|ZvnH{TYsOXcT+hC1HYO*``$p#W74 zjB5*&S6mY@|Ig@-A!67dE%rZF@-qCn2nwWEs|t%}3zbPPVHmb1*bq3pN=hkt3<)U< zEd^Xutv!N_&KdHcow8M`Tmj)l2(=*IJddLL2WoylGgB1vBptp3i5$5QfEg`cJ~{X+ zG>hJ;!NcweOg_@c;q9E(z|f#s82wdgOYn5m(_GlG2wcHf^`- zHHY(2EXF>1ub2c5h01y+^(*zbW`X!IuM2NB>-EbQzLthzwQbV)my&0$yaT)78KF8! zGm3(L^F*4>WiJ&Ivb>qG_xl&TXFz;?CT<5oWRAxYKKG+AbHb$#-_WhohOwN~2BN?h z?J@(c6~f^I=NY}76;9BD8$?jSr-nA^%Z*d-NbAsCn12Zqf_+7v3LvthSB2)I~q3)y_N>9 zN08$_=P7HzL-ssj&y%tIJrs02H0D8T%rHIN35m1XD)DF+FgH&E@*!)>R!YbQ^pm)x zuoG4!LRJOa^TE(UiAk1FZF48@He1{`Poj{dvzGLjJ&~8h9QE1IG?D--&5@+tQKfZq ziikfkv?#{Rbn9*|4bblxo$=d*8efQP4ie@DY>0Tg(; z6BaBY%+^_iS(*>MdivF{Gh~Mrz1iMS@)&80>&j`t&Ofgh%6qQkGilu*_FWGIu~M(fk`&_UZZSw9@;0^^*?Ip3l5SxGc`*1jFZ z=;RFo##Mev$SB&J0cS=kv|j9zZnyk)_9)Ve(c5)BdIb6C53`8cKNFC)NXVmvRU~wv ze-z|qynCsr+hW_CsX2py{4<=Cp-CJYB@{FSGPuRJ3>w_t-Qop^va#Sf$HH;=F&e;4 z@TQ8J0Ym0i?b*($>XZaVV4vT)^|o1V@8Y2-kUed_dYe`u;Y~?DynS< zemWXt4kcDai7Av=?W07(+W$MU1wup?qyaDRf_qZL&W_2}kh19O@)T)>H((m5WbFMG zl}VqGy2Y@P68!iUIZG>~;*NO8A249u!bz(6a+w1dU+ulYVw#Y$pO$@&kpyqEPL zSxK%mGnRdSwf%0gx>FoR6y76$PO;nRsciI%axcTX!v{DD8?wh6 zz`>wwHk*2p20MU4b~a+xga$kC$G4#P_S9AN{uG*n$Y4;GEXAG*dcs3VriL%cm-~ie z5eD;ejW;iI%u9@)p6hCkdD&IrA!&@Mx^uO&YQUBPBWc`sU`;Y zI*x*|Nq;6ekkOH~z(&VAD1G8onnlHJ_khNWTmkkBHH%Qa)RsYvc9UWh)3`6Z`$ON2 zHvK$JvLXksw6iGEyZq!Hbuj6n@(<^=$;Pf7lk0b)lKdPU^`)wZwaE{>?Z$6>_Rqin z-WW^Qmq8|4AUR1!(i&-AbNcThY$m$HSPAbj3HpbJNyGTx}ldm3Ua9X=bB`{H_$H94hWP^^hF^fjrJ@8gAJr?&^+JO>=Ut8rN=NKts&7Lue8q+ z3C)9nVL?r~FoyNzmXIW<^FCdi8Fd_8r!g7O7$0j@Ub`n zn*mnU9Ro~$?%dL%kyhFV6Sz0{zS|~f9r&b{O1dU|R0+^$c+H@1O&sOHgEU169wrPvO04F&^ z)pe_c;#Ef2jitJ%Qf9!qZq3^4l$H%(0Jz~>G;aA=%fu!#noqRUiG0hr=HJa!0W!i9 zmWKaqNwNg?1+HpgOr1DZ-Pswv?gCwSQg;_}Oian!7&1*OaSW0dxYx0TN57^zwjCjv z$g^SqbSj37Durw;{AJaLRz&6le$C5}`z4GAehpFF(0NhJZ{7~^R@R|7J${Pwq6AIa zZX&|Jh7SHqnjKT!nYKoi4Jd{#Z!u^BSkBA#Z7QP0(dWJwV3Q^icX!$}h3!3Y`%l1Q zhJoT`U=nhv>eD+YhBJWT4(HQy*bzX0Gs?goU{0G;lX4-jo%1;0Z&c&UK^@zOe&bi{ zkV878W0Ig99iI&%Hn(<~${&~cIn5LoBu(nesD4pR%bknhwX+Hbdo3O8wp5Y9fSSe5 zY%sKdh1PSRQwRM+uXUUZ$J?dTP^55h8K97Vhy#CY;|pTT_iGt_8`|~$T)Y(Cua4gmWP3iBhy4S-3*(VI(9>Rovr*+?L$dHl1&^C$}xK{?6l;)5Xc)a z`4-5)lqAE`>QIE5L{!}CX=`1SgfZbo>c>Qp^LyIzi}dW(V!h-bpD9&AKmFXgb!*Uf zOXtYarACPs4a_ii_I5Q#f?UFxQ>jC5luR7~cbGmg<9Pu1#RU)+pnl41>qhOyFu)4` zTkg5IncjxAOm|7a=*VPN;i4tCn%i1L3j=Okpx~q|PCEjsgt=QoMvBl)q?huO?SruX z3(^UZ1HHk&prt6-HhHc6UR&3$%q=@j7~JP*R%|#3^7pr3LSf8lgdp}NKi~KjFYJ`eIfnA)98EmYh0~OL-ALnxIgIII30SByV*OH(eQ6*bhtJ&G&EY%@1&ZJ zjt-8-qoWlVrTU0^H#9IbnvIeM7z}Wj!^YMi2WaPY`BPWYBy43NiM7LOw-&U-Du(J2 z%NQ%;)tXKZUqgvHa;XXP?EP3-{$PD%)Ep~+anO}+Yxn82zlj5>dznz+{13~dGpHTM zO}RQp@HK#09h_!;4_+ytrB=g_dA6nZ&S*wY^U>6oM4u8+9JNCaGtqU2zg*{RKewB>qF54 zSJR@Elc|c%JQpOw7t7^7+^a602pTh9jZO4Nm{XRk56>ES%x5F$`tc<%87u)G^4&hDgrOZofY%24xB|8nmu~w^~bQhQy>0 zYxaP;D7paTY2;(z9x#``i&N|1Z^C4xzQnYUkQ$;)swsk*^N|xW4Nx`<8pY|Aa=cvWsz0Ipr{y1X0H(-mBP{T z=|b)j+KifsKoyTD)tuQr77v(XkCh4UN zNlL}pM=Oyy@MHhwF%tkoOJLE}w8B|ugN>}&8X9hoa8`fNB((QW!i;KYDj_<&@YVT= z))g=M3J3m~UOoO?Tx|TfNZpSjtv?9j65BQVKjTRCpiOdLYUj=0|5dZ-|@!pgJ5u(Y)Oi{)7 z-+6nGX^}bS{&Rdam{{#lps}s$?K()KmlL#cjo0FeXuNtlWMp3c3e1?4e4PIRtBbR( zeqsMi5*DPZbuWY)1H`)A&X?>{``exhXxh~1HKl8;=%y0&DZw{q#BzWs`XUm_^GoDPkk|1){V-316_ z&y>jSnbKFza!1$Gb$K8K@qC56<cmWg#tV#+1BPPJ}jdDypDy`bx^dcWnZQ_9XV zr`f|)8im!A*O*HyIGt%-UY2}>OOLsrzD$-O@*6nau=@`t9Lh<~sbbilgo>$A<~rqm zvm1`0|DZ)9@tuNll=(S6nL4ug^4ihctPj8a#V@);{rzFofj%{8E?X8h3)S=CjutfN zOHm+9>dw*!Sf!+0AZI|7FcgBesONM;QzfV(K{2sL>TVp4$K{>?O=3ws z!u##PZzdx`l}oi!|kw_N0Q#(!1tchyWYYT2JBuDEKEDoT@@wrS? zMWn$yAw?lj-oy(!QiN=9 zgj8cx>sQ)64m3`LN0mlPbX247XY=Y?{CVwYT-Sm7m_~VXT+1ac2aA6HaxSzQ*ZQy~ zJ12IrHkNr?xo$D|WE!~N)#Q6V2rN{E23Ys=fEI(`tL|HETx$qf18YD@-6#i=zPcE^ zmSkv`A~a|NcUOtdTExw=u)na=rJ@dKOQ!~*YdQb|^Fi%ZN1Kp`oHSIVL|{8h;Lemz zdMVm3o7LFkz-Bd`G^NQ|;p6h~aT^1Kz$qcNM#EZAEcb1oU_5-vfG^Paxkyr^DQ3BZ z*D0rX6t(L(v*&QW1Y@$OO}p4rf}{n_UM~ZhqtodltCJu_mcmR!16;(U9^p+n&pk!O zZW{L~+hUWwY7xx*lpGxCHYM%~H%@p*w$77{EM3R)K<;_P-YdRXMFv+BdvXYP0q6#| z!Yss)I9*zoZ1}||;^wK0V+}EeknlzKS+%FGY{enA#64ANNl=OOs0#}uNQq~8js>q;BKd=1Uz^TTp{k9QsjapNEYw)k z>2;oJnE*>}?4rHy8`=+pgpLBQ;FbbmoiGL5>+ygy?hHcPot9tJmPqN|3bKO z2Gv@8g#{TH4TITQNlaPFT{})UfYO1S*>-!>+p`IVSGJr;guna%n#tBNSE@y_ylQS|?WT>qeo;oZP#ux1ynf@{hWVAImVL=~ zb_6Vzy<2*(JRP^J1}nhb*fUwK>j~^gyM^_Max%!KcPq*r%VJ1H=~lW3Ydu zMM7@oGd6p`y<0?O@+9aRpJc_Q+Y9s}O^q^F1MH+1U|WLK>}1wd&>f#im^!7mM+ivd zGq`m-;Yh`T%e(UAcQvi3A*g5+o3xQb^zh=#UC|*gb}wb|VE&Ft68m~MZ;JI;uN4|V$+|1SH!LyuWQW5<3<`=`g^GrpIE z{28QzqK<1!d}q}f){&Ck=0)oahSkaGjW-(v;47@GbMlj>+qV@}VW(BiGEU8Z=C%); zsq;E}^nf^1GOSnCSCgItczrQxtJWC&RjwH)0vE^3ZW-7uRJM9auNIiLhkGE& zQd)&U6R|q7n-C7GZTcPDJC;1`mj#o&f}ZV(<7iq&l>32hsRWvdi375_-Z0y1X@#Fz9j_ zy6gFpZg}qU2ICg+5p!G^y)EEdy!A{@m_u<^kqWQ?07IM@rx&XeW($9e)0ZMavoIBR zlV?FXv|C|d0Gou5MeY{L;$t+brWm_~6?B`@<+8@%M1v97RdG+l)PU3;Jf^%9d%^;0 z=eLg~oB%`F-y|?|P&!^kKS_$=+MIINvRnK8|NZ^d>(qcB91FerWEq&rvx45pD%F%G z%a-%Xm90VUsIX?nRCdG%;SrjVNv_ltC0uaaqIDD_JsAIOMTA&(PPt}}K|kOgU{ik+ zok@@U0cOm3a8s1ALr_K}gI4yzgn{Qm4{)keQ)diFV%;FByn~?WG=-%&7DYU!GP6+T z#pI}YTlk7rwQROv6q=1*s&%IEm8`LVhAwNNYS&a9NFcW-3M)n(tU-sKm`!~Jo6s!< z$V)4Ho6*Yh6q-svFSS#n!lo#ld>clChT;I6R{P><7+WZersMQdH8HhvHZT!t69%1+ zCp{MB2a{Er8I!k;@-J;w@y9awRn3|yopyyOp1D$u9Uq$JY~_$>D>NJlNlBg50NN4t z&{ReseB~Uh&M&$v1=_8V4V(#30ayZ+sLOrWiq9jVFkum~x_+iH_JER>!tk<9RqkVg zesndx>!nr^(N}7}a$M|@I1}H7C{n5IY1=W>fJVK@ca|d+4z|AER2(%0}uU> zw(@8MEPCpaFj6wIiDVl#x-2B{y#}@m;Vi?l=ZZGy{TrkrTKu8#p6Vgerxn zo+xnI_9gJXuHMVQ;B0|yhIJctNCrwFQYsEss6kICEc{DZREEMAl)j!>M2`kt+p(gJlF2d7%2-QpsxFR9EuN+D zc7Zei73qr3`6mr4frwvLXkn{=q4VCu3vF)WZKV@4Ffy~mo@4G*l!?_H>E56*_I_lf zn|g}_LnFXn#)-HD_D0mTHy|mqH@vro@yra(WZJ1%0lwmgis}S^uVh!+^T(=E$D(~3y0tkaWq@R{x)ii`!w5*8JmD=HRm94>NF55M@H*{ zOU*l_TU6+6C?BS)6oX@0A_|MqL%>g1VZcur zO`bm(ex`<>b}5gdRfUbEc^<@_wd5Ey5q@@g2#6_r*jNc$CeEg5cJ`5-b%aF2RG`Uo zEibdP=HMsI@5j$-u)M&}YH4|?=RM0ypTKkp3+~h+VU1b{@M1*Eya*>>Aw};-pIqZs5wqn-7EEdck?}{snE~=uELhFkc2u&q9K@ z!9Wp*7tJs>EQ?@3L8RV^c{jFP^B z392u{0Tde%3-TO4g<6gx_V|cJ+dul4IcE)j-D*r^R4i#RrgqFuLU?wOt#dCBzVIX1;Cd>5Lu)a0i%xNgd;1|%}Cg$P1M zpI3soi%>HWQTDkex9ZR}d^`Mf9Dpwi!B1O@Yzj^styi)_|6pE_`xvO?SX+x-i+GJ^^!KlT=@6x|)EsRs>Dg zD(KQ^AWo&}s;^)wze-J)U;UacMnuumbd|JU(={abo=lJ(0H|QQeyEgJUeirX%MZjb zU(>C0dxXA?rYmhW$LrT)o%9VOOUOy#i)y;Wo2E-g#ehmpS2QNo!P^=-n$N}@+yEB< zy4QC#vZZDO66&q3#jFM=oU&{ENJQ^Y6pf8||B?v=)3Xep7O|RoWhY_$FJGH>r9hGHl(}3MX@L(zns$7CmRKWij01&0hVJ#H=V zMsmBTSz$QK7eO=gN16#G+>sN~8&v-)G*c((0=HbvMKcr6)(Ft_3}{B@`p|5lgf=vz z@I}##_{9yXMFs_$@$f~BoR z-E(X$mdchgnvv|I3SJ%>!ahEo27UvUA#z{R@547H&foF zAQ=bMu{glH8o$O_G)X^VevYoVfdD+$214T(eTo~U_zQy@I6k-9$Q+Q z2n@Lqf)xouuP#_CX^j=8`~nD`>_lf~)Wmyf<6v(067j`yN1Dp%-u{#gVUP@VWPGzv z#xrXrKCJtGWReDJ6?LuI=gl(B#p7M5mnlmMw=roJH7OGmLj^rPY(8GCg$p>WXU1(MoIRjsDa6ix!BgzC`sale53{h1(MJ_Iz+#{EDMaV^&;1KbKT>KW+3Ayw_8n&@wjfc~umPvKl4=|!6=#q?K;64mA zuM8VZb{Oxdi!X#y7FQ%iTw;tRM`d2cs^}Hm9rVYkNLq=~I0H9bq(qRaY%OyITEJsC zR-zOQmLje(w5rptq8 zzI^F%43TD|Ee6(yW04Y8kTd3~FRw1!`>o7+s} zdo8l-oDfX2?4_Dl`LNw}T#(-3s^`{smV8Euc)Yq0U#ZhVqYW_HZMpy@YF{a#sa(F7 z+-=+`kj2t)8;WD7?c(axr^q&*OE;TK5n3>V3{X5Gr zhre8vS2t^NSq`_Cau7{ls$!u0MY^l={$DQ{*Xk_R?3XDhm6G~?y~GMlLQK9FZ8m07 zp26o((*A0$n)AzNtMp}47KChH(KqVSj__LtIDyz0iZ}9AxiLi3i`^tE200pJ5-4*s zaj1MwZ6rbGqjb9l1X;2dAfWJ4+#XbR3f#kyDr$3hMNx|P7h$BNBPIRLYxZ~v`@OX= zNQ!&LZiO%a8}^8m5ldXXdxH=9S*`oSZ`WwJ6P)VG}dzDt~4EVgEO}V_5DFFR$rj4&hx$>o=WQ9^Q zttqFtmorj)*^Mie$#frx@%;UJOSo3{LNo)4t}2?eDL*Kb2~n{(VbW>KE()EnIb(`kOg<%bm86<Wrhb=>Sz$cXP(D9%BKjIEi(e22H3;K40xi_wSWvomX{80|-~S;xK)?n$t*m)y1nk zvkN=&c<+vIa|0@Wx@Vy%FHCT@Mf2?cYdT%xn8 z9QPSfZY1UwpOGP6O_O_!59S6>QI75ny5g>x7DM0a<$@qC8QFh`cipw<^IsQ-9~YXbgo1~ zHSTJLuh(!j70GjE;jjoS7%Nz0U$>IbEpgUF{YgT92!+lBkmrdyqSxw3`5IF^PqW$K zq`G_9j%dREsrJb-I3{XK7vtE7Gmp3Lk#*bUo*ggsl5PaJ3k`9n?aVIu7VK)SX?Fv6 zj7e<8o4aM3&@38#@VP4Q|FuAhHG>4}G7!UzQp^e5S5bIBxFuW50YD5gtp-AyOzW=* zPDMIIOJ81#6aI&|6O_)@H(=N7OGS}JBPOL5%^qq~4SglCu?TYFda_=A`%N>>P<;2I zE#0QVIsr}cuzgIQ;mvHtem&~Amns~y6Ql~)O(MXcLuCDnaNIeSr9R}l(3%E2uv>_{R+;v6*cXC+9Yy~UErVTrA$!_FXMdvWBu zpM1lQL3^?OsQoEiM7sI`)qrB|NOltF#?Me1v9}s4k;@XgyickI}qzP6N>(-^6GgmgosfXLaV z&Ymz;UT|*-8TXd4!z691$Q>{_^6_k`;zq7FRtQ&6M9pMuC|-AG=9rXHKDY93?r>pT!nAYLXhEKB!XU% zkL~54Cx5n}wAGYdtq@8)`E(5#7~T0|(-r<_<9R)pQ-u zMZ^bU#SCPxsP$IVHCEIsX=}GA8lm;QocBg?+0G0CH?FNCkrrb|aR#2%ybjb5B4k1Y zT2*#x!=BvVgvfqQ-5st5*4*26vq86Hmv#{zZFFd_rX|@me9JiDwkEAaT3=O~A%IZV zC+H7fn~Ijvx~_2G=NeVccMf1^f%R-XT{gr;`4Ob}MURl7($Xkx5-ruruphdC0ywuA zHNYmtsiNUcuV(NGGvq`qky5baCFA@+NNDt6)}-%AnyaXWcC?j{@3F%42qfP5&YWG1Wo5drx%vg}PU zr~SBxSbxk1dt57vZIuF?N+vv)Jjt8L5O89W->A-b*Zj*e8tBML?(lPc5n-j@%Tk=+=B!GGQtAwoy4B+-x z@ugvIUxgX!p6+p(ZI?pAxmWPr^bmgi@(Ml%P-?m9oLxkrnB9AH)vVz!y83RMPj<2< z+tpL8uu$j00N)t1inV(;;WlPwrF0Wu@~R>!Zvsr`*8iTFm}IgjcA(a)&Ee8Nno81$ zgQC?OGZy4xrvBeTvoGsU7Ss>!Epqu_|E+_nGWJ!19b5@jR)S%o2|=r5oQ72E1HZ=_%dfj;wB8-wI z%xXe=LvGH@JR+q+(z(=>B=}L1yphYh7-e7>plcLB&_6PG*TLaiiFKe1esn$f+hJVFI(z| z94%fmRyU{R9T)KTl|Ds(gtztA<5qAvdr5`q^#Cu?u|zk)jCNm1KVMo>tn zFEEbZ(rlpvfjk7`UAVzfk3CK*2QmlR=q9FOMXDw=l#oqj>JHi{yCjZxKM_y8XWyFr zrEUhj*Y6v3$pZkBpfzi(ylz~AKcm zebG*xLKjcs0E;FsGT)a!ZZ32$n!F*jq%PGV>HeIJc6jf1S=h|X#7@xFo5sq+<(vpG zvH*PV#f#)5DXU)GtI=yo*?inxp#=}4q*y^^1p17GZAf`9y}|YeofXHW_H0G?!=FUj z2WBV6GqfS)hO$U5`(}Kr?uMU4<~A096L$mZ3pYxF;v6eq7ie_6Jkm+QsliWN}FQ{GAI%o#!>YkwJJ=Lc5Q_7%*qh z_7>LuGXo_R7xo>U0|kc37DDlI&cLA_8{n?rvh`Eh9cenCgC2D~`2^GR3~ub!Fhl1) zd7n1w%CNcTzNGy^oxeep(?J|?rDRw8ilTmTq<<4{n|N1wzVKUJpoB^1Ja*8$C{ko`}|$Xmaq(lbz%2OF-8IL z`mm9uVLtuPd?%aEOhJdi3DCCGTBJt~3{ z{cmSuf3*Wr0w|{w$%FvRxt#=9j>1YDeYO2zhj#eGX?Bum8x2+}XH2raMi~fcvb~9O zPUFFbgsJwI6aGUbu@$6c5UhJ_AD7jplGzhNK@z0)o2WG-5h?suX83#iD~TN=BZA;3 z3q#;!I@paoA`u(JYIY8mvPTnP2bHxyl!^!V_x$GggKPvu0nhb5(ekIvVBp5Kxv|#) zG0yLK8m&;f_|F540|%F7)|HMbk^FjzJ;)4 zS7I)moKSQry9qNJ5`fqKThYChZe?b}DxHk1)7{#BAT{LU*CpK-LIbeYYHoiVn&ZKN zNY`cOs%GA@=-vvD+sL=hD1^m#k&%eA}(SfM1@tAZnw4HTae* zun?G$iyWRe?KBem@I4NB;4I&Un*3-Q5x}g@KmUu&htF(tLoI_lq6fi za^T*J=vER5lzfPBcueYO;unUdJDqgr!{;+I`GcNMMwMw|$GG`S2&#Yr0!$-}0RaXC zF+m2~h{OZ|2FqAr0g4e|G9qz6#s)-UgJ>Kqf`aG!TWgH+H0>J7Qq9f7r}Rv>~{Qd%>Xhcq)8Hc=o-zX0GFGC!%o@Z$e`MCkHUcmFhQb`5(rFb3z zZ65*K`|*J7Y1!Knf{2k^h66%a3VHA-a=2XLMzO#1#MvM&W}9Xyve-&NqQ_54Qjj%= zZBw@AB9d@%PPPHyhn2YmyHl|83CogwcmS{gceCK$z-bMV6<-7HMh`;G1J>qJZ|F|R z+8TWn&zNAvia0jZ*e&y6ygQJX4F#FHGf1yqp z#XysQ-%AqW%eVt1L}_veO^mm*AXJ6q7F+A6bPFkr$svQ`Zqjhq(mR&`ZIbghYQ>mz z7@5c|hf?t=#!0`*yk?8fuVqsw%q7(5?P>lYV;78pQz5de#J`vzSZgIkITv6i!V!59 zBt-1YKT^t>*=p*Svv$r`%~RE%^8oizjY(%$`C3ykZqQpJ4)TME&CP71fm_!o^&)nE zaK)6vQcMDRVWgHMLZYCSnSdY00XW5Dvvb3I$sk69JQhu$(-KwQG_;!aH2*}3U+xPz z$CDtM<+nOa8X7OEb0AQ>*r#QT`R=w9LH?7x#CUhRz8d*{-9D+h)Kg&?ps5zU$+HsL z2~8sCLB|60To|3s@)tx#<*RXMM=RRMV%Fpqs+pLSv>iIQ2~Nu_h=2E-zdWXw@ArW?{ztXe1vGs8ZDTWC}Bcc4- z?A1v;7Sq)=ecimZr)WcsVhw@Vgi+w~g{+1(iY#yW`%QWYc6%@9{QAyhmO|-N znnW=;rjWpzZ%rK^9Wu4yeAb9QR@noF!1V*#DZ=G5(T$`M+giWFmntw{yhJ{qTJ5Tf zJAzEDHcaOMawc`yTWiKYlJ{cKDFKEM?f#EyRgcfrRIviz%S6$1Pr*Df~@|jgpc9E^$V&`Y{Y;ZWnRo!B*J$B*imXHR~ z!N&Z3V#Jt+f|_BH?~T@4Df!-*RzmPifvGdHN{#0AA`P5;%${;tA1@yIb&1$M%3A){ zsR(PFf7pmR0~FEFIK>f*&ZR*-csiukMU0J+)R=5TpjC`h_#s`^cricJGWK7v;mbXVT8y`_6DKVHF>-z{%1Oy%({fp zq8}}d8-I9aRwPUY4H-%~tKX5@n{Xn}2#D@wW$ANh%f6B;k$%Lx_*u-dr{CoeEn-qP z;k;*V>k+Yq{5jF>2Px>3%82A9w($g?O%)eF0ZCa7>_Wg<8&)IsrNQwFNe8IG>?nk@ zy?iTnG7^Vyl4FB%3eX|m&YZ?T%k;_4_=c8vMSL5MLPq^@JDi0bi99R|Iz*{{sw8U! zj!Q^>4AP|foI%A`TSo`gWeUS)*q)PwZL1feZQ>r!gt%C}2>R-$e|e;HiaMqi&a$%{7Ahn zI{>kPG0dFOg~~}?3~LODVTr^rM#(5-XJvLIZ81RnxPrjt z+ziZ+#0BFqla?=h0`KOZZ;IvdC-RT6Nkq;h9;iE%KHtsS%w8y@CF1nwoRDI;?Zqju z2l-T1Xas(urkQxLPHs!8unTNS&NLk+k=m1~n>WxSeXk4Oo5J@q?K_*LxRzWgJo~Q+ z?Ab5dh1Ue)IbsMtJ=RtDCP?o$5?d2@HiI#qwv9MrvE3ZG@e&_)A->sPK{0`DeexXa zbR5JmeToBu{SyL?r>rhJ)YSHeIh*p%pArT6w#|$?p8`=K`H>l8*OrJ^m zeW{sQLherua4Xndi7vPc(1g< zl7Btz1LYuExYifvpGz4FNOv(`L^^$r^GVHQfk94ZyG4r< z;O`Pl;>FH?u&-d`CJzDKe5x1|I&Z=jSoPLU8Zl|gEwN5-pwb=(`9c=>C;$tzA# zm9eXULznhoyUB)VHO6l452rRy`?fXbVgyOwt2glkxs5sb!C-&Iwzf=yVk$H-c1}nl zT|?8N_BKI6B%xs+Vvgu@!b`W+>aFdjg&V|`onpbZGCN9^cH^sQJ>_HX#5R`_50AVwjE)`HQS>{SEy8;kvdBa*uqfgs|9aXpWr zWMDi5DOjjh&9owfG`NMmEMj8>md3lrhxZD$L7~)wx)3dikv$n|Vg2gnKZ@;6cr{7O zN%nt1QOV0(ZZJ8Ce2J}?MDS$e0yxsc0Y1^gU{7V%(`l)Qva1XhP9!wrA*IRN&0m3N z0aUa3#AS}KuxXWc9ajLNEcx1KU2R>VYOR?<)r3lPJ&YgB=9O%&Is)BgDcVmIdlj&w z%Yvawtp|8|T;h{*vX6d!in#zxVdqzaL*$aQ45rlE;*A_20pX=WBpTF!(D5t{PLfQ6|OH#7U@lBMvyazNb&*Z%hHjIWHo7(dC8idx0xa^BiPV z&b@lsy5e$bwk~4VR~JK18Q)y!LRou1RJ~6gdx2Jaq3Zr9ohKFn^RUVm%~qVUk^Qfc zmL-ymLzEvVms_SYRq6&M}rj=lYoRZCL8M&$Nwdse<9y z3geO#qmG5WrP{Dm0VA_LEjkkP1a}}M`ONNzhqaT9<@o^DI$$(p`SdKL&_x`$ z5Zd%QJON5-h(4)oks_u|_Qo~2Xi z1D`w3*wD3S1R3FwomQd5M*-?+bYWitZt+q!e@HZqPSrBpUuH;Q0hU2$+{l+?1+JmY z0-Z;uWwObDETXZ-#Z!oPbsXNk1T4LG#Jpt__o=p_rv0E-CihFg*wZN=@ zXr2}cg^(lNv-0nGB$oy234&OmtiUCd6`2~jp2%E7JhEfrGQ6`|hSw7-rQ5inzmnBU z4-Lylv{g2vJ3YCwre1vwuQ3eA<;>N;8Teslu-6(JOUCqHJeD-#I38=-uhgD5#>QF@ zk_kE!T9$u>ri5g{V`?M%>DE^C!Q>JvB`AM3G-!eBa`q zwGgV&YW_5_OWRvA2y}V>eW1@Z7y4QF*OT>iUi?cFx{rrKhNC#ne^r>UpnPJO!W;-S zxCluj1(88z9&8aRBwTiEQp7(n@gNA*Tm-&Y%y&*;>Sv#eYX6;}TKoOd40N}Jms*vo zD)y={XlN~~J{=e-HuhrgqVCNgtchOuYNAKDNYkHK7drPX-sMOanuNrp=C56 zu!=R~hWQQ{4brykWlxo`F6}~z-?YI2AztT=*`f8QrOJ3C@`sAvPE{ieHvZBu2kCRkgvDr`q^1q%|xU!Egfg z7HMukJj*{i7O8jnMcT{c_9V#YY4l3>DId1`l!fxAKAPftcg8{y#S_K$SX-sFWz=p1w;7sUvbAn2T=3X@k1>XO8YapM(`Z7_Qb2MT5^PJIIxat^M&<*&YZ zFuvq;#uMrSh%|6xZ>9JXm8)wjH;=!xcXqdVV{a9Wtm>ZqlHSVGuUfL;%FS=3W9r=F zo^LT*zTW%rSw zOrP2@lyuLA>aB!3e1acr`?4u+7evR!>Oatpecb2tJ;Go}>Yk~M8*WvOd*%u*)aZ|C zlW|}4hz738Y~W*I;7zuyHgE0DFeBUhtGg?I+eGlDjU7m=;#l4z95gjE|J~J^Wr4Vw zNm>NTrw+*4qVcG2`=telX5r?*>@BetLFbj5xBiyUdu6wCLx0tubyxjKZ&lXK-8Qz0 zfsJ5A|6#IC$q8Z|XvyiS3>*MfBIe6pBtE|~@OfSld_dL#7jfg|-yzv+oP15Tk=bcw z$0aI2^%V*!RR8LMF=Qu z?|u5qY%l7qcNGMp6#a-M#`M+bwnc|Zf_Tb67B%CH@1R*RIEmN9w(Efi^h_rF=ybTO zPoKI@_xPu8Rml*=mOz{O>Zr++!h9AbnGh;DimZ@uhIv}_zjYbEgm1XMFtOqc9o9jU zCrzJoQ^bizjMYJ{8v1s*I$0Z$=+-?x)PAVn)|o4ToOLBU=|$X^E*m03imM@b4aeNY zX+jg_a**9F}F95+$DU3eZe^JZg_$~x6u@Cwk)jlxtor>U|o z$oD}+pm-J%E|cJBl1P0724!hg#%-%(+0lg4H}pzH7|a9mwpEJ0Tiej2@2=0Pt;0U-2N1jdTK`)@B3oRkd;$aA%rl6#m!;H zOw>??Y%Qy}Z31+Icl$cgBa~`hQ%P{$RaOv5o*Y6Ubc$JxaNItQYM@Ts&ku zHc9qxg-?jKQL+6?@kP3Wd{_A1drxA&59vGm^B9aqT;C;Q%R07vAt0!fU@dj^)hNCQVz1+ypG2}C@lL6y8!XB40r@piXpW$_w18*1 z7NBk#=>*r);>Q>Oqx_v{*J5GB++x)=v-iiM=Dz5_FyFnxvjSGp=j1+(DMYwM7>7{E zrsq&&h3cpLvzag_A~?>-t;a};$S-O;e=07D#L&5|R1gnk!EcL*A4=PyL3Pdg42&Up z+B1}^v~3+GwvUeW!-3zuytpTtD_WOap8X>BZ2--&FKvvnI_#)IvFC{xOa4d7nv?CG zH?jGljmUXlRJ>1_9~#Omx5WGhrK4PyJy8@YGJ#&kFh5EG6ePNcns9s}`$&h~H8=e< z%5@OFO^sFBqpt{leXgpZ5nJ+XZ$LUzH=S}&67rhN4qJ7xdNP&^CNVtqS}7n!2JKt_ zC>PAVOgbGCRvFPD$^$k^*60*#6nxNhfhqbzOP#|esxz5XY*)@Ua6n>h$q<7*CNc`o z_3Sj&R3Am4WDdqpXbzf%Ik@TO;1s~9LC~iqsTU7qxso-N-)+3o*2y75FcOh0Z6R;> zq*+r8WpDr$=EICb8as8HxtxtdDVQ24IDRQfJ0H?2{`6(rI&|~$VxH8C$wR3WOC94? zOl7tzbuP6}5Ph&ZWG^$*eepPO*+?@Zw%XC?LPu=4rumZ3tm;i!)y=jlW+@4(GOoin z=(dXt4oO_?+9{}D=%Ark3;ni6KpWhNY^>US1=FG_&%jxY+K^_^(BiHD01wf;0su&* z%vYAe!vN1kJ!2J3fCFrD^HW$NsIqAJ0Bp>PfwVs49&=@VGFt4Bt%mVS)52AeF(TI~ z0mA3cnqssiE(vYUd6DB11LZH^6UWWjAP}-?djW~*-wCf|P|;&*_zh{VhE8M!>dR#d z??r}*W-X+G0vi1?+yXROIYN37(Z}gcK-s3rYc_-7k*<>%2ACEyQy10OnCL>vA{$hw zC2U$2wId#}{-{PRC3dPNtoI%h3N2?#r#Nyuq=j0yUTAl?$ezjq=IMoNvv)O;_SS~B zF(7>%nS>0Vl42d9SG0kzTN0@XJcVnP_93iEW&q`};S}!XI`@njNaRJhV-R9Bw}i;T z3=&3;Y{X2%u$8E3Rw7xtMRIKOKos|KOg~zUbi<54tX(t?aq+KVa5mcxMG}e>xr9eA zPD#$gt`+(x*kd?!&>z3i|2tBlbt)yiCF2tf z&!SGLh_AB$3_J9HZRCq5wjOIBuat;pZisJqCM*iUzlMa$EIvllE@s&6n^^w-e4@bRMV6Jyl9%c|b(QAC= z%v}vPXzP|Ajv5V3#(xrM8W04{hhm>C_Ug5RiBSQ^Jw^l!S%>DUja!}w6I;m|yU<2y z+Rzb;P9&v^68e*6A(~2}7~G`W$ea>o;F(IW;9?2XM3x)QajzxQg_3mX#~PE*QVwTwoP!)K84SeJ zJX(jlQ$FbKl;NC$Y#DMCi=*=7f;@7G$za?sHk^N5147U#zQlu^ zZ({uNnn}ucGzfR6l0wOD2)b~LiE%uCJ+j3(Bme-Uvy4ODPa<$#)p4AF z3tvm9Zp_J!tI6#nA9hzv0B(_Dt6-W{ZnFCmpQs*FK0ywfFS4>GrptUwDhcgh` zzChNgO5!jk44TN_AgbM)p~flE<8BKgFe9C4hCUN*KfX-*dCcypw z8V>77rT{C;qQ(U=yvy+Njiqf&{NLGmLnN2wU=kk01P9lHDKu3si=;4=(3(?Xw4ilm zU+4*ynfSrj_>u2a^E2{Q42#1T{De;7(6Aq$+~QuTk&w8fhi^$Q$o?Yr&g@7mW)Br3 zdCrFhwu`jBxj`qQ0^2#nMD8eC@|_J5`$)W&Go)lG5B#NULB0Vmi1U(LC_|SJsus+$2iv&Zq z!)yX}ND(m{Y)-N#N9v-;{AVLhO#vrnz&6@+Jq+W;E>q;ltg^C;=dq6J`5{u!wh?&Kf%{`X~!czQlPfbGs`V-wT zoV+EVY~&f~$8{&%Qp9SJt%EUiGhc&L(JJ9=mSG7P-45Vj=cw)Q#z#`ejG$51gtga|zPz!?$P)eI>gMw-V z-)a@ZPrx!@9A#gOYf)~oJ^2ez8nj2Txn?6(RMEe)d{> zCA>MuguxeQOq-5t*_dvSIn8K|IlHq+=ZdDFZfxAA?!Yn3TKs?{_a4)VVSfUcB#=@M#fu!UYR!C4#A>K=X^-1xAKge-f z&p)SzXOJ4c-J?1i<2cjQaDPnb!!lwRV!qbAaARnlv=*)ti%Vkb1QoizPT-zH>!dM( z=|Jnmu9Wn*7fvGjEm|j=QO5_Xfw-K}?+`In$F}T0e_M;mC)<>31o%Y$ocEqN-uuqR zGh$H%i796q+rASgX%+puMwcs$Qvz;)iDjesi}*laxJWu+j2m)9y%%9+px(D|&VLvy zm!#f?l_#Oz5W_ZjnEtK|R~4+n!|b~xl%v_V#9Swjn}vj% zA&!62)s_P;lo_^>Ajr0}J5w1Qmr|1l`tcECKwq=ZucF4ir=}~jv0CZMi7Tz=RA(hI!>O4{b*{Im4R_PfrHc%y&QXEu4AB;` zSMX&j^oHnbq&Gxg)sq2RMTh1$hK;CTsQF)b#p1NOO=}T zT&2$6+rYVNsP)rRsFC!SP^e=}?B(vW%*2YtiXwbKc3TwTe@LXj75na24L714`(sm^ z?=ZDl`u>mtZRN0thG-1Of?b6zo(bxos1#_iU70yz1O}{%rU~*XRooTDzN}_an6u)^ zdfGN!ncEY1Z#Ld2ImYDA2O z5pmy70TI6e&D6H|uDUIHN3ccjlxx`b<4Y04geXtXJNXVMeI+?1_O zdTN)Mvg7Q-ocMgH1yEuebKw6#k(!Znq9T+|B*)g7wbOr$msbfWpqLE29ROA&!q`kh z;nqSWY$#lXr=etSkmUAZy|%lo?KQp)dL3-AWByvZf_+#-r~)V{565Xm>2Wp4sX`tH zZi*FukvF7F*yl0`?PSYM$#&K%!ptlH`jRkDh%kG8Bh3D`+k&CDWg~)W+XVO}WF6*n zU6fs&F27e}VuHoCh}(OE4lhGnTWPg8I*J~BCV@gPNoSK; z+6N`rr{IZJaBOZaneD8x_Z*oInQyH!{QO~qQe<(T`0d+qJS9HnW5h$_WuX4R9pivp zGj2Y84~-9v_RzR%Ne_(^?xFFCpOyE;%hLinJ>-4yN_pCj@V?lV*1a!2#;;TMzIX*Y z^FJ-`i@%oIWZoAwzl)C{zEA!C*y}M%yApscC-ql2Z1Ny?&*m>LT?0n=E8rBkl)nP6LNmyo zZgio}d>g|P$EvuT31oUOY-?%dA9YTrLSSAc{Yl*YiFqpwMs4e7k+;I((cTJ2g15r6 zDhh3`{iamOxFRlJDKg zg9zHdw{8ymFSHi=FB~S^0Gv;}2d7p!gYp#|802CF8yn%kz#Fq{aBF&Lu))G1s{zQX zx}uN)d8?M;)EyXpzEW-X?@X`MWp~maJ1eY}xJTpHG>y-NzO`Tz04S=Tr7r zoU&ziG9TrX`F`KAy38pPp7sikN=iErOp(|k_;t5^9!4bFCs}i^%bKGtDmTYeBkRk+ zHS=!r}<5IrgTNKKJ9n<F=l~w#U z7e-Z0T^I!#r7-%)_WKxEquTEiY`yiGReS)A(IV;5fsw}g9}G3eg4J=^{k|ZQ`hFiG zY1r>GN%Ic#;PCyvn#{Rizwbm^iM(OIFUXwC^%>mn)4tVUzfb#Ch;N9sKe7G3d8T3_ z2&=Z?cfy3#3}Lkt5q;B-Zv8PEbDR*9Z4FgSf;51vw*7ny@qfOpzq@R}%kTaDoLKzy ziAA}E_LCqMBL9$jkh|Q8!W*3Q(USa&8ZNmLwcpAA$#l1AbtWS=L{A+ZWs`W9v6BWq6s;QHIF}_E&6UD$z zvJ*AvQf(({0HV=6;dq@VsFS`EHJ@rDC$2VBma;4@y`fUGVYt-^rlBQZ_av02rqS$w z=?#^`BTY?@bi(VVrc>EaS!`x{Sn5!dDs)wH$nhF;7!N&%6&&Pehc|d8n5gkLUd4L-%oY51LlouTR~um6oz!VI?)7D>fR^*3yxk;J zC;Ukzp2R|Zx5&LI&7V(AJv|8LHFRsCZ?X>M!ye0_j77PnJ5zz3!nkMvVK*aX9}4h1 z6a^}}`AJVpb&bY>i1=5R7e9VN0W<+_eu(RN8ti@I17#vs@eGlkXKX1ZfsW;;17FY* zd&U-pph)sBDmtz)9fP@EV5d^%1yl>@e93caZHl-lgJ=jJTzY}o_7$;h79ENlR2*5c zsQzi;5izje>dckhF+m3lj$JWsKfG4_vOJF>2CO|RN;DK!FDjl`d(525HOZo}P=4?R zs8db{FWK--wie&jMxUC(^Gt1=gD}ORQdK)2U$$1WW>1NG^3QZ&tgu7x3& zM#ed@2?VtRuBl<4np4&yL~|U=mbeQW;|VG6Q-4gLZP$9GGoBtAflVDeIW=ZQ+;!V0 z@g}MX7|Uo7(`o3vYVrY)stq73Hs#Ayh23~V6fc(p%dUre0&oAR!S-fbRIfoy0;247 z#|R3eL!_^!Vid+-1V zt6hc6Vdar8_hVtXp8}Qg#qrppQl|j%#oc~vK>T=0$bCbXLmbbK;75@-!vPRXh6mxx z-OqH!a9Cb6BCxxJ+}D~rN0S4EZD<4ptD~*HF1~c@`GP!jJ!kQF!z9-XxFPZj#&Rv= zrV%+dDF*?Qc%`TS|DNw1bVJR8XNn8Z@lt)(Y9dDdcwN3Ejy0ky(vcjBezo1BXm zs@nNYeTa?*M%uDt`1&yMS<(k|#ILG4Br*Y;fU#PyhPWq>?Ml>P?n&-#iQYy|y!@8J>#DB3MNqS@3H1J=ugLHba zi&m9%DNap+4z>|yt%#ULMH6@^MFg-dK1pUeOr{wlBR|CeSSaL!d{2m%L!bj6Z}s5u z;_KnmLY&>yjK`N`xs%#E9b%>m(Zt1GRiGd-i~%zh!8M*SU^RB@m%+IMGX=K9%_ag} z5$lYu1$^QhwWSs_)TOG!$2~CArE+wb`#x)*ITzp5sco^fn;Q8K*`w!|F|jgqmt_Ih z$wAnkU7=r@Eb9n{L1{Ey@^7 zx5mDksB++tzx)CQcueLSsesziRlRmTQQ<7sKvd$oRH9z-DH9d;p~9c++iZ=mZ3 zV~YkS1ZBxM?+~4@`cBZAdf(M!==nhni!nI!U|b&B4%9H_K>)-U_RtzMLg-i*-Aq8k z{g#!WQ9Nke16j*oJO4l^bY+Yj>ys<=@rR&VU?6SrjxlE-^X^bmF_8BJa(l$(%mrGb zF{#bgXzVrYstbQR1?io>!k4iNyv9~5pTROf ziBehMVWlki1eUX`LSl5IYytlA^%6A%A3eXF{*6kEHQX|i|X1|2?h^c zzN|v_9L!^((U3|gt^f_GKj$Fm$+xXbVJ49E3zD|9z)ZVZl7%j#jUTZE#%IvRjXgp~ z!8IOM3(N^(xxiG&NaF}?{1g{hAoQn19012iqv6k*IGhUH7x&$D@}D)_2RiwDx#wkq z7nZkzU6zqLIZm+%Udd95FoH^{lan*(NYYp zN^e}4airdOEKs!hf!;{DN2oWRfUt=zTgL{3ZAfn%$}>uD1RPG^PM{V^nmJ9q@q`E* zV_2j&I)PiDH`2(d>WxO@med=K$kp}6J+{L?AaZ+x-WUwd3-rc4CiL*RNOR=b(yAkb za#(d#J)*@h4zM}4lz+4wpTThLm7(!&DfTpnRmh-e915Do$78?nn?nrTOIz6u5l7>C zEaSM0WgL4fV~ao!mqfVqSjMSh8MpFJvJz0RZ`T(gNmEu`k1lc#0h>;C5)cJh3$zL` zkDQw-2yYRwo0xGefQy<)skRP>;~Psse?cT#5%!TcMD&!Vu$w|xNU#spkDmu|QTyAa zjA2ypo%(EXX5!mdncu8MTy5)Tf1A3+m4lQX*_Un;w^w%5HHhPQD%!bMr4*Pj;f}G1B!vE`L zChVL#01x(;q;NZCeh+5ube2xALe;gF7F^qnG__193fKS{SUEZcj=?R3YV?dl>C~hr z_Dg5WBZ2_a$MWsfV1+~C>V}$d@;%5dMI;=fm7`zS%q|}d+8uGOR^t{3AVa3Ltc(B# zN>4TTMwB(M@)HuIbV;yC8Jpj;$0tdIGaW2r-!v>BWso?yP+7m*dS6gY}vGm_r|&ffMr6Y;G+FPmSlEXy^*y_VDR4j z^QrWvQTAq+$;S2GyfdlwX2N^(>{EnIv*6bCT3;So+?UPOv=oi}xLtUR=utE*lDTNn zp=l^;asQO)YNNO>x_B*LpW=&WTp0{(J~h~YskT+n&pGC7;ZT!VrrsQAw6F`E4NQxD z-~+hdZyWYQ7ZE?c)9A&vqCC2`UmIMO^>|BMdmt}|LHU-IXW2sBpr$%y`yFsVcL4iJ zD9{qhI_}k$gVq+xEA-)V^`4#u9C_=cLlvq9xo24$Ib$kBliQk5!#$-$)pWy#oti6S z#7clW^*^SC>lLPcJ&IR1RyS9-+N)Qu9_Qccsp*{0m1ilOL)U-t#?M`S-zgN}x<=}Kv7c;q zpD|q7;+i-&~;P8<`u1)@3*3L(vzi5%j{5DpQ331UL#j%wtZ59Xj# z5I$Qy()yz&)hf&1h2QFLB3P5QR`<6n%HM%k4mjx+Ff zap-P7DRAA2?{*3Hfvn+ym;1h55NL$KC;bfL2}u(*zNH8 zibo(a2WFSYV{{us5vD^jm&;qLxF19JTn%@kHpgq0rc^{PGk!OKN&XPmvisBF4jZRq z?(3YcQ}Q!~DQ_Wjnu&K9bzBFCz-`7Rr-4==e`*uqR2|I&mqUU>7D2p|01GC;h~!xC zb*X2T%XpFFCU@isiFhMk#PAW!bj?!RC9}q9N!;i}rz>&45;X(-M$Tjr6w&2iTDe~A#0oCy-^36t;FAl7mJ*;EFOATYk7n)PT-SAD2xyHW>^^iQ&f_Zssj96`>)$1D;#f!w2k{;Q zGWhwW4F2%23|>9|)8^^Q;9>Qhmz+N&hL<%WhJz!IPz*1QBc3=}X&1*rI)~#N4Qc5& zM?zX4uM?KGaV7|Zx+WRD*ck}W8qzyLTD5Jjh*Z0nuZYw#wbcdqWe0j%0{pTyovr|1 zRhEu`|LFr+CN1*plPpq#Izky_5_AP(8F48f1-z59;IW{aO ziFLO5C?)&zE6F~vOqc9Ie+kM1$^I2C(t!QTOZMlxWIsCxUu$Hqh@~;lW19CXm=pQy znL~-mP$&eLPYAhacIo_;9K4e9kAx~`m_}V8!CcizXC?Z%m$nR6vW{~?EtRETH&38q zNc>Sx&FYoVvTVO;_JU!Pq5?QiV{Rn?GdJYv$P^cP7Eh9b+BA`PQijE;E$k!6pcZSb zNc{ekVkOgETF}q`&~^7%H^gS=(uf^mLPKGBnZ|3&4BuHS&0V~u6Ys|^_7F>e?9wjb z1Vi1S4H5O00c}&oiX)4r!4u?MJ~$~`!71I0%q)w(-U*-roO}@JUf+D8Uena(5#8*y z>TqPYd?E;^WK|qP#!oGb3c-U)@*lg;5MJH^jP1VenJq7!)6IOSd$tcvfgQe`bUM=} z(BTe}oJ>}8tF zOv-HN_dX#?zmeaT_G90#YS?}iue4vq4pOl(|16uujvjK1C(Zp|9|0j9qf-0ICRE|e zUNPT2kD2YzGlkRir>f&08|T!H%~`+DjjvTSO(6z2D(8Jte)YVpHul&)8u{mN{P6a& zZ>9lZN@ry$=0g#S?_y!(^u`<&b&7>FlgOD8Ag9^kAl?D32$C}Ff)g6v>*9pISTJJO zRxBr8Pi8uO9mTK^li?bxa2v<5ui-#P#FO2>YBr!(>g~IJ)oeiXsL}jlvGMt8`}_eO zxVX2vAF%po*I<@iQ*PFILw#7U3-85k=8AhGj=iX=+A~^yzwH@gHBfj@Sq~zMV7rk) zkiAiCly5pFa@{iQhOPuk;guxeMph5mj#*q1wi<`8{|opaBbfGep|_6Mbe#7ZN}_w; z%o%rMG(Kp8si7t9{Q8-b@+!ui>}>#L`fC#g)FL{>-ARD3Lr#i1=BH;|KjyllO!X3-d-5tawAcpg}M%ahaz9iR{F-YFsscK6&o#dkA@|?d6@>zX& za}Qg15hrtW+#YFW(1bE{GxqRtTi_nrx9Fm2Ugx1gRadaE=JH+5-YR>Hbw&N_oyDre z*rruU2n@9zcUQ@iA?}`KA{9L&db7eaTbKHNZz3jICd_zMm^fvkW8^~z3LT7t1-FR* zNY;+BzZ?v<5%NLag9`m<_CyGeC5b{%g9o>*)3oPxkkm0x7!&YF;~&BzgJS5)3SC@W zf_Pz-oINmiFyAF%P8HS2Ix*Cg4qH}xw=uH;knMI42=RKzvCO5Mr>3jdL5bhQ-6#x4 zOot%vFa=xNUBk?Aev16e7&0@#;#}a*m4J^WaglzlhZZxNe9yZt$?n1wrwY7tl&jH*}+c?2f<0SvgNl}z}uJNN;Q2m`37 z0ccNfU9f-mVxzy7ovTb1w`Y4`T7N~{8;AT^Sd?+R6&H2ALdb-rYKP{Rf`d;H>=ub( z+&V(#QCE|s9&VHOlCTj7vqILu)&{S5#)9K&Uox&?2I~L}g2wh_WY1XAxu0zfCOlD~dHQa^;05=OGM6cF;AuBj(hc zvv(ar4fjFY>11;@keY$=;&SjMbe6`hP$#!$JcS3ZMJZD&@>bAS8|C&c5OZr0HSG!g z%Wq8jI$NhVrsL)BYMvwa9~~uAR|t^ddzvghB${UaZeSugDz+-1;%z%a>GpS;@f8Vi zSx0DmlhZ!?s0MW`}wt{f;+sT<%h!&0(3_<&%c88l{VDj0hu*GdJ` z9+OmguTBY9rQrSOTcVEkN(y))T^lV+ul5RIZO)`iPpcw`=0^6dkXodrS+ERW&B9fD ztb}9ok1^URSt?=q+I_wjg1@{dvlQFCuQI&L6@+pvE=`luo)9PhMA{z{@ibo%)Q7E} zGOv+t@;tm0bpbns2X;DV=U$cSjsccAz8m>x=%p3bRl%uMDs+yaD5glN8+4T~kIZ6M z*K@f&ye9z2s>|Oh0oMB((^nl0O7oqpBL@!H&K>b@0;qYK{1YIc*|I{ z*mYM0Ppad2ayX1|CQ$i(UjElzy+y2XbBNGgx^co%?~_m1@01-n(}7Tyn31g#;nMqF zOm&hku&>axI{7XOIuQG<^?FZAiy_J$OufNl=vmcTIU?f1>!W;|5+!}rV>=u&WflMh zeR?0i!*U_19h#s|-x?>glsekbK1oW-a+Yi6R*JbkZK2SLBT%sGhV|(WYZyVF-sAf8 z9&7xg_Bl^$xcr`yKE2<;KUcget@P>Y8DSNdQ>kw~iAqg9r>#=^I2Zxlmp@{nz~rW5 z%d&%zth?7tf?_S=O*Klp7GOCc2Hed29++Y2SU^-cKSrrZ8EDtXjL9Y0U8k&F*DD{W zMIe@I*S{ypVo19_auV%Y@6n#6UCTqCq_peVxl*~_R4LcpMang%Qd6!u+`N=>{l4W? z+xN@Nz|lXJW2IbI&s@3IvT^0w77+QCQLd}9b>;eopIHx3uFoxr;iFNmZP%wbedXGA zh#>5yy+rwYOu0ry$^Z5=lxsC!D%WAlNy@d^r-o`=q+AnZcM9?k1$4Dq``GYLEv4nv zY6?y+F8J6{sO!qxNfl~8doFboO>_ViN-NfjW(6}56_ee?JiH5z<0(~=yMmU&}^Ooi*gFCSW0a~XbjUr z7(vxx!bO-yuOq0>Mlw!UeSS06EA^qSK0Damy5Q>bxu!m!dnVQA+VG`1+tou$!5~23 z6jkSZq3Vpt=BjfJz?V>+#TqA#K~CA{gngc}>imRCb$)d!Iof32pfrQL*_};4=D)8z zFsQwoJ;;W_ZS75&tT{?AQ+$^py$m^1;-T$Y68t?ah0H~InM!gfA}TnahJ<+%y-Zty z(#zNfe6LQk)buh5;nK^Xs^QgAdfCTQ7@q589N^?o5-WY6mo?DKj5wA07;j5`tQ7QI z$I)4&VFDp`9=T_uwpqyyuSQua#JK2y57v8iM%EGcEZxY9HsFY+PW-Gl~eko|N{ z7F@g4Q3K;KCT2!6j>z_7{4>eULCu&J(dX!iLVj^fiyUpAF6qzOxm7+!Z9Bn0mSy!N z1{;paCBkTq3R~w`^oBZ)9Cb-|AV%*sOeVXe=nx`jpC5I!?ahGWQMMN3FJfV(lteVK z{OwZ0kvOw#EE10AuW7ofci2_E|LmGqQ1vR^(o{T^&fiDBDF}6jxkJ@@4dIixs+7B2f!-0tBe+{C zGbug+(~n#Ol!@vXz)*;8goa2L$Vz9NBw4*XGW>4bv-QRj_B=Uy^gIvwheBC~l%io7 zTJEN?cJaO^0_3kWIQVW6{HU1=6>Mj8oE=QxBOT8_(8RPX;l@w)A4c6WZ$b;XjeVy- z6OdupMfNNPW-S)*Sg^X1p8wa7?K=Ka1Xjd7wU?~x@ zTZWu$lY zI~XB5AP9ZCK$m!yClALVCu4#MLrB;&)m~s%y0}OQyQisdokS7?6YZWV_$s@n79>^R z(c`~dn2#ORdOka?6t+~Md0|UcCDHmg7FtzkwXvm2AlSjPBy6cBY^Xj)yN60Bq0#JL zM+adi&H}j1pFpKOH6~|V`x-DAT`!oV|=bp z5o6lT?(}nI3e~3A^k9Q>TE@$13bB<+|3o}2d!sx3JhJC9pOR;;KMgg(_7O(1f?}G3 z72O$WsSIqcms>5ltgL3(m3g(dg6RomW*LcN|PVPceo z5YStTt?aPDTHerLV43a2(@1X>ZL21ex%2Ky&2rvbVG!~ODZ4addrcI<0Yb!U6qh7b+~WFH4>rmda!NEOzc}4OE7-CS^5dFxq=)R!)3~kOoqgp7g02@T z*#=2%3yibV@)jv_Opp(Xbta>{wlgp6feGAW2=P-%;|P3yz|uF_XJ8ByJl^3vf}NmZ z-jlMSp1?X*u?tc4A%`K6Ms+}h^CjX{`r%UMOUy~0S2!*@^KetWa+bWKt)lhEVjbdF zI3bD9c3>WC_QMuBfq9s|iW`7?_lV`o0O`!5DXV+<5Sv0V=RI6d{Nn?FdP8(m3?ss> zWBsi$5$v8!V97*+h}Aas;rA5y_MKnw1QRhkGSsV?9ShRQo=$1GUMQXHYqPp;5iCjZ zIV_#*lF4;v!+G#7+d-?O6MMH~_}w_!$#!z--6Skk^U!P1s z*`J<7K%o{^qAhnJStX$8`BDPP03OTBC`c(1R)d&gLtLMnutjh@9f&FW)BMAu#1sO4 zRAP#B-Hz$E(}rzPA#g7cQ}%SWfNQ0gvZQqKzEflWn2X2NqF}R}bW-Lkr4z9Tmrj&A ziF8sHMuu^RuOz?WvD&@5bn?1Z6*qa+Lh0men|2dY&RQs>tf~nqt6WIAQ9{aBM+qrt zfi9%9M+hmaOh{=CBoxuX?pdcSqgb@2z@?|5j+!hE2J^K*M)4b_wS8&w%!0h7jMDC& zZQh-A8D(ft#(_&2Wi@`hii=F2QIIPcMZTfI=G&GkZx;;6|4b~y1f1#aRL|XypemKH zLT17usPYwbQ$6g@_;^<6%O#cWjLSTG zsANSDoRY3pJ#A5|GU}v1rT9X1HSwIw^5MWk9$oeZKz)btlvhK5ODyS zb5!~L2r*|#h&hWPW!d|J5OS>4z6%I=$r?ntqU_X<-Dgk7-C&e_cBU!P7Wd)Gy(qReYx^!s~gjxf87?wfwd}$$Mz#vXt4lz#Q zqKJ(iW!^Z&;dCI1Tvz85HCY5sQOP3W6c#ZQCBYS1LEmJNW2VM7Got2fbt_LZzq*;d zBaYnAg-uKgvhsB2973?=GzXsUI-DS(OMi08(`DNqZh>?WeUP}i*L*`l5UNX|2dK+> zY;lMz+EjByv?(|SmLlZIA6rna7vN_QjB*)5Fou~Q*p33?SBKzSS`?N%fj$*wzn~nb zVv>=zzZ)~HejoXvm&mTH&Kd+K1-&<$K%cD>Gf7!x|*OC|@IE7A@56D$XmdA$RY=&8uz$e^+oC%_f+EL>`AHH&`yv0!i z@0EuH0t?JQo8Q>#Tb%xw`RGe-jjxnDoFXvAR|wV$@WBUNf4A^KG4Mi&9`UODzo3aC z%F#xz?G4Dz+;G!ps$w@NH~{ngd;+FXbDH1GF{b>cmh625026BJjvo^o`%GVlpN83K z{-G8x3?r1wE!MS0x@lipm(bUy-TJ3P5#g!{?GTvh6l-_ioV#Ga^73Mwww~w;q=VAJ zW=`jm5<;6uAX@iBnQb{?+ zh-q6^b>g>ai~lkXQfQ~?B7 zOXr`)G}OU`Nd@hpFGB6t@+fRec&C&#Si4YOt$#*_vQ=sv(ECGhpYc19L+C%CJ76>@ zE5V$wGPCSOx;O<5@jJF)1xni{F?3I49;bR^$hILW)Yu>Snh}9_@APh9EoR07|Yf}n3U^RvXt$K}cZVLR#PhtUA z4Id)-^ytN!vqWn$&fm}eLt>;P6EyQXgp>IVN%paEsApFfsNHa{?BmFOyYH1KL*e4O zdlO#lDqmb%z1V&%$v@s?NjXS;p&13$B8zo?4=xfmHH5jWY$mqwGW54{4VaV-tMxufaIpb z(KBM$YO(Vn%NUDpb7&E0kf(UCDzP_|*nHFc{QSP=(*PJZ^Oc3L-*_Ri6(_1fhrJUI zmh-~zVxH|UpS2_Y_UN`!h~e$_>g`c~d&?`rTYeWis<+4d?RDG3TYeWitGCDf?TOcg zxBNCQPH%Vqy9V?fuMcneZ9by@cDujbc6E5m??PL4{&t7IJzl=$ccD!~f4kG)-v5SB zmfyvZ>g}%3?i<5feiuipx4ZrA&2I{C`CS~V-tO_Yhu<9D^1C=*z1?eXnNC(KBYl@; zii`VSWr?J?_SK;n8H-(2u>(WJ?kkHu_?l4cx~oDlG8Vh5VuuIC^1sqLKJwa-k2l4h zD&NtC`A+=zkdHUT-YVa5%U7J(8Q$`{n6GeX-e^$6U*D<{kUDL(! z?Bo|=oXnOcv6JI zE5iG5B;W1?9xY;}EL~!&Mi(h#b_oXb6dut{E_792Qk9LO5egC>rYfi+>aw3`X7Va8 zf+U-b(%D49a(YqNChF@Xv*|UpDrj5gj|9Oc!__)?!A2PUizu0;D^%cn5&}}Fg26AW zA}WhYdO>hUD9j$u$h_CZ_PY!sCM6h9$X3upjZ|V#?1NMfflig3tTa@DQ9~UXW37Q5 zM^3AOGW$sy_@&TAO@<}{+rtpNkw4sPBN4ta7Wy|IU$WLuv>;Io=2EJfK~QqBWzr^# zpB^3_)i2s6N?>WptRtFTkH)!#3GH#kk`9=A6BoW#iVOc%(BUNW0DRgbso;mqVCQTM zGiq>WOib%gIUZHTBD)i=c5HwvcdLdF5S`90h4S7oG#DjKR3p;V(k4Qf)$a3zzZ;BT^!EeAt0m2xV z8t@mUy-1%o-LTr&{Tis;YRW`t7G($Tvq*Pm13$l&ZP^32I2*%o;d>i4d7{T7m%)7-lfM;`orf z2%{m|Tz_n?Hx8A`z0^umRu$y2pQ$_eXKIt1-Kw>{NdUZ(T2SmJi^e5u<;2LoU(z2p z8J{i3TnBx}AU%_X9U2|)PF~9Kw=pj^?poAjcYKcBpt0`wmZmmfIpRn?PWdubFy3XS zOb5S#M5Zmtx&8{p?xyBhpdspqRnTFbQ+!631hPktR^%`;IE{fRQ%TeUwhl-GI@S{! z6XXzFNg2rU2bz6uE!0yEGwUgASm;ovZ;lk2s*qAJ8drSQZhN9jOFhq#VT+d;Cfa{c+ z5K1yNP+Q+{*)Xi^ka{95j|>+~;-aB8JHEr~eT8(xFM0&soN|~>z!S_q-Lz~^ulz<* zPzvlfPd=fP*$6->OgE6H>ysV;(_DDq3TV}xtqSvJmd1R>>X^@Xmco1wQ4UwCFrQQT zvh&GlNm#$a@i(WLT-I(}bJWE=VEqci`W|i!y)km`U}IAjpK$|RpX(>IgWA-xDCW7K zY%Pe#juP-tdO9qPa)>G9JXHz!QAGWVzE$T-FFW62Obn9DN6 zyrD6y2qmdW{hHLrSZ_jT4w+!@!Gazfh|_1#H(ry@Y&B>S1@%IwUg@+ptt&tCZLew#~OfXps*sQ92^P zsJmf-f`?&oLd;qL<}6d2y6%jo(-zWqo7^m$Y?(?sQ9_Tx!UV^gy2Xa|q(vnJ7OKmx zR?kx|UV+)yxUFA2ttg;{JD|#nem269 zzVVY-=Lqxv!6m^LX4z)HMod8stOcR|a0}oIQF#vU7hmB2we%Y!T2+0Ly+H?h4Pl|9 z+6QD{P$Xfi6QN*6^~u2$3BlG7%mmBi;8~y|uwNR!{~lzQwVEajsA|SRBD7~|2)&ae zhS6~&6zF4U1Bn_}C=^F=L+tVFEN3snBhI$9s(l0(UJRfRPb3$!y%D)-%q5?QF7~

ngvH-e-Y$xkbPP(%y&Fo()$MSu`$Yq`*Z|(ERa~&h1Svf*E*+!u#>!;r3

C32niHzf_ZCV+vz`~5I8S90ZUWjoF+nC35r>~;FJPx*)en4_)g|?dUQy=+h->`<;Y$Eiol8UK z9wZtKqX$$rR#pn%8zT`szLFj^hmjN5!QgFuJr>VRHKPQ|2TyDk97Z)QbJO!CJK~Z& z2|&^Y7C+104tKrQbC`PDnebXLy0pi)R3O9eA~`93&o?;r1K^-UeRdx}fe4on9w4U+W!Wqf zo5F;ks3ks8Sio2y_z!X(P$4)#RMk5remhinqD51Xu$U(dHPJji~3#C~KEgL@Q6N4|1@MDoM ziRGb{F~A=7WN{1vG>t79h!0bX+>p5(Bnv@xBIyVdLA91@YKb}coW<0D?`#kK)G9QD zfvwJEct2u+W=S%)6tidb!RkRiaWw>BVP67W)mCA}>ea#dKZHE(al0TGHsJdu zuj{kU;QNp-6IVo3*@7N0>cxCt#+y28KXtwj2ANzSJy`OH$p9TKfQ5CQ8BQc>18col zC_B{U6-%>X2+K)Ci&GXoDn^KgFAk;ocOH0h8u9IhJ6t39E{Pm)Cry`0f&(6Cl*BCT zk_1Z*NC*|B6PXY@qRt}V0LOTq=Hm8J9yC;9m4QzaWZ10b+A01IXMTuI#{95!#C7IJ zW|3T$L$jnX0S$?cB+aW+ys)alcpf!~=c%H=^O{f>8JL@oisu!gE5`Q%i(p{}4hZuL zBQ5)Mh0`Y&2vMv=m53O(uxmyfMRaOZ2_jXpxj>afwj>J#sx)BA41d6sIaxoTN`#*m z!vSn#C1q+3D3f*DC{wkhWqxv*Un+CQguTF%OsO>z!@OT2!_Wl3iuk1L=vc}ve;~us z?8vmHNT}oCbI|gEsZa+w0rv_=AAo99ABr387*VSi?EEm|fSKaLu%XsqvfE-FLu^RB_Av$4GiW3R%M}a=#39&lU_Zvl z>g=adK%*}F%;gnhKW9e}jj;1<_XL>}pWDArl=g4S6n2_rB6m+e&-CLmQ=6JLL>+Uj z*bt3{1EA9Var!f7G>aL?4{hib2cC$ZL6#|b@}|i|$32OwCkjt(7!=(1ucezN8}9qp@|z}cnqk$5za=_0o0|2E--&EV{G_j( z?selQ)!7x2uGD*O?H4ZTHELF-_3bZ|aE*?EAifjTUy#Jx%Iv zA5X<^Cd7uYJhs1@DNk|BRQ{?~agfyQmO4!8U6#6!)b*A+Mrx;}PLTSnrM7=FDgMe* z*O1zAu4>su>TiBQsT)Xr>xoM3CH2D%O6@20;c2A~k@|moO5IKBWh<3pEWYc@Sky6? zl)kcat>ZqFVqy-2Vko@OP_hRB!j2LMSCv56d9(z=v2QK}0`Ck6dzb9`XdDN48Np8E=GVCY0+mnY#?)Bu|BoBDn|hd{-92A}cFdu@a`hUkgbw zNy)1A>)+_vQBrTPXAhEkORi`0-%g5Gu2t$PQa?CHshy;LY^m!=z24sL zA@yZjDz}ijZ=>=ZAoV_bdl#wquhFw3q`ckxNnK;h>^P}6Jzj6OF^(TvPj`^oV`Z-; zb=wNP-A(GRY{A`3>eJQ+@N%32UIl{}PVpt20w@EVvSr2#!>O+;Qwiv6OF$pHzXbH5 zvSbBl-Wj0z4uB?4vD5MTZjyUFd6eYco_vtxgPxrKr=+;*9kvFpB6+PRcaq%W$?Hh& z_v9XuM?858$?fm7Vh2d>_T*h84|?(l$zz_ppXB^5%X^&U4o_~QySqHOgJkH#wIuiW z)7>QZdGcnGhdjBDiV^)p_T`4MFMF%L>?#XZec_$;h40W8@)Wxq95;}>!IRYLy`k2EEQXri z8;UM~4DYQs>%d#y=~?x#=9L^6w|tRmUY#=wT?pLlxl5 zf?UwRk*dI5VCc-Z1vc~34M)Bx~1Y}4^+^% zx)<^}*;;kLI*My_{@+ym^650&K!>#V#3sBkXLGFb!Qs|5hdoEOMJkYgo6U** zSR+eHVEyZs_i18_KWYfN{wTRbmjhtcdmfv7vS1Mywr@kklAz}ou5F?emVp0YD|<=> z9VBiVO~lPpk0gZrAQ{<%j=GGTNimQ#y?MU;Z)-m9-ZS>tex*^AJ=I28#9cP!Vl!Cb zL5<0CGA@pPPf~6_lFU3aX{rfF;TW>%7sdA7A{qR8E=UGsZNfI2vU}PuV99lp z_JGY~gu#A$4#N$RSY)iB4ENv=UWh$T-VrQDC260{$s$t@S=ZzIL+D@(z%{eXH8Xaj zD4^?B_RGY?&a+N{QeUSakkUu=ObeKhC>+(&43)uVwa?2h0s>jJ+3j()Z7L;FU}82b ze3CRWnQ{$A91kmD)U04cD!@n^z6iz(U_>E@QL7H4c7PEeslb4F8@waZ(g+x|7s9}_ zQ`a+nfE>t(4O~!SRLJ~?oL$MDZ>nYjoWq?pD4YVLAAn<^<>9xaesxV+zq*FpQh-wp zQ;XqH;_Yp%!%QszQS?}88CCEpg~s8x2cNR#L~(V1m=JxV6SxNGo+O*LrqcI@ee-}sP^AZ)GJ}ICOC`~)Ud9r;YQh53c}SJlft6*<`|&SRS^ct zm5usIqU`tTlukn~#(h=0IYAIoGlBLo%!>BemrmTQQndEfc_?XRwF9%^7|i@;_5^1rO-tXNbF| zfb9mSs<_=yM5m$i1Cq`3Oc~wbnMcqLef^_~v}ny3>M6#x%o)soLnb4UG~u((_GmO5 zCYfWUd;Dr43W&i}&?nuA6hS56904Q9t;J-Vqn!2Z|H0B&6ApCpZ^GI`6}6ShxVkJz zv`>+B9Uo*#CKXfH5ibhR5jd1qo+w{Seh`Fp3u_O<3%q554A~sU7fK7^vMEg$`QRQz z!p`2Ykg|SPBE^}au6xbqQ=_gQX$?`=9|!6xRasaj0;^|?X(54C7M)JiZDVGzGD2&~ zF)I^jt&0#wYduQZ^0Zd$QVU8|%DGTBu#=Npt2w(Zd11=c?7-lHf>wF4nT~*Rc@OyGBbkf$Pd(hP4c`nFEAe2^ZfP61=*j+PQJMj7vhQoT&xw%p|-;fK4)kK*`_$EE69c%R&QT z77JdP6Ck%B%t)8uCj_!f&$+2WjIGRD%eiJIi<1A3z4wl5;(7kZ4{1R_0g+-27E}-n zML-B#=%DnXVuJtyB9I{6j$JGW_AZJAR1|v)2E~RI#a^+C1+aJdKKGI!FW)cUpYQkg z`#yeu{Vq)QW@mS2cV>2W?)Gx<&@xK)#q-!oa85YIn`TMUo79z^;y5%5I>+(T2d1IEr=pejU#&cJ%_;P#`<-$RZva&1VfX8%f*(y;GmR=OpOkx=PYma5!(jw1|V!nf)Y$*51#vJ({9$-THpbVFy zf^A=A%i$PD&@aw>RU6c2Zj~FPyfy!Km5WxA(tkyC!<}l;NjP6 zh|W7`;s-Bwt@^^HD&c8%(rcK$J`yyHc?#3-O-|*rkKx8l84MFMMPW#Y-iRS#(O}G6 zMdvBWfgzD!GpI3!M4lhO5HNZ?r;9!k$KBj8o?nuUk_q2_w?Vp$Hq?lb$zo{qnmj(P zC@pINkG08VMpg*$Zcz{0pycr=Sp{ZT7z;5bW-O2#1}&ce|4|o)JxDQ4yQyPpLf}Mj zs7-$SgQ)9)8hKC`gHlXPCT>M!fpV=dHD!}l<~s3{KXNw$lcSp&X$#|$wbeYyP4F~Q zi?-yG9Dy5J!dwLxXdA9o^COvVWCZ`$?Uh&=W3gm{$juR4p)*Fej7`dW!Yl{GB#AIx zVeEYw!-Q3l%Mff7A?N>@K`FSAc(%o;H5dPH4;!-tBl-J0g(3W&r*eyzO;<8}x#7!X z!I(ZqFJCQ)REX&}k5F@cD?DqXP={&@_W^r)$lUFLj9@t!i5Byi3$Cg9Gom6<7P%(1 zl}#Tl#q@#4$FyfAe*bQ*Q;F3v<-2L7ny8~!%+$i~LJ)EjAI*~aXkwXYkr)+m42+vb zVa*n{juoicLqJE&zi?x6h%+FwU*>-_{@D?t<8H0lYNR7Lx9x^sLZBnK{e#(w7aB54 z0IJ|Y4m`y`c{9Vq1W;hMngg26_21;v!oG;c|1oDe{k^89rXh&rZa?nvKqjx5s15wd zfAZbgiF~iJAm6`CG;NsBKyeR{gvBOGGWFsChD6+JLWqpFR*>KGUnyIq)QvrJI>rEf>+0h|UrA{ap_Q_g zWfWMnZaX|==fRXMZJ{GQj{?!zc&6|29??B zG8(Itt)VE@0V{OIA z006fi$&E&e3vdRw0B8U?UZXu8QdfW*z#ZTL@C0}Pya7IdNmTbtL28;%EMnVmIBY>$ z>y%VMjF8Dl7Q_lOl2h1mNn(DwlQ<)tohgX1Wv2+U1xZe=g(8Alv&CV8Yz1b^7Q2f< z%Mc0U#Hq>bG=6eQk|5REgPoR=%9P6#3uD>Ie4(g!pYcpXY-e`5AUi!HRnS{jrZ3ZC zAGVpSt%?8J9ZcenMIU=7iDUTbWIWDnP9L_cmo{vEkT}h$^?w$zQWUXf^O+9*XAx^f z5nDE&8J%1bilH|PMmF}ABb14bor1ntS#sF@m~L2(b7IFQMWRDOc|TJySR&fqq?eZ2 zePzYQ_GNP{IekgZK2D5K&Y7$X#j z(%H#^WO3?PDny*cPT;4p)5T(FKs1&eJvLoHP&Pk_5t@KVOI|oF$S;gdMkbC^WDzy7 zV-hk%iH?6zkR=jliT<4!_>V@s1ktG(eDr1@U&N%z!n8D@D4y*%j2$bCAp&8j8A)TQ zu!M}%v{*h)G6YOIL=Y>IorUsYF@zMFAtH&tm`S`+g$#zAp2_`s#`fz;M3Ko)g3$>@ zv4U*M!ko=!bB1zo#u;kP8H#fYPPREGn~kh+5s{t{#m5O^*{R|zDorpZ10qBgLD^!= z70iY#DnOh`x<{pm;v>@p>5*~5B-lAymFiiRN_ql2K9xU~2reZf zoyvfIQc}dJ>EJ_TpCn+D3Tf$lj3bqFmXvbMh|fq%r-;JR5>U8#EGhg{ezG7P9Am^8 zqIAkv&NRi{)sOurQPHDR0VI%0WGxh>V^GblrGi}Xm*r#$Vd(l9D8p`!hKyLnO#f5yTM734jsA!X<&9ue&=t zB~=VN6tH8G_-TYqb2$$|rZ7g}Cln?AYdJW4alDAJ`TuOD*;~jZ23`u`v(v^VM~jol z*kv}~?0V(mBQrxj+DOK6q)|{s3=vBjA7%sJ!WY4uWMYn$`41;HmJEIxh5@(4Xn{17 zC=jIl*;aGcetV`gX0kBe?H^)pk=qUglaMNg)xqVa3sL$HbBIY0#3VB2@MkfZALJ%$gFrcp`4XqchQq#W5j(LUCGTG;Gn)F$Ol7O8EoEkb+cCU&o&Qjy*%!JyV)T$P7njvFZHO^vG0r zlt^JRKOUBz%H%US87Z;+bU`H6YBA%rV#LXaxv&Z%W??e1rcna{EoLwy=Trd}JrR|b z9_#2x97GCPEh%?0O|Xc|#>Y6Z3=y-CQi|2-pL39nwHj`R_>eRp~R1^{4ZFiZQmv~&zSx#f7U6p`7F zMPE*f2~+dWLQG98 zC;!mcf7Hax6UsQpiX&6wqa)MBk<5x7hZQ&$G8Hix6Vo@3ya7Uh~%dtHi{GpvLa<{e+M*(jMCE;!9jC#@>2hZK^TA4T#*S>WLb&< zrp6Faz(>aBswP!hs}g}iWq@0LlNRiVZ4aM z(t_p@{mxOi4_R>Q$QFtaj--k)5lC|}Ox%$^HbnrjwFn^)G0T=9hNN)YjIaJDsd<5J z;s2OA3fVFYp6|F!c{}b=r@T; z;$e>eDACda|3Q#lBs5DSR)9-OG$L{R|yqlLib_Q%MPl6O2M2|{INV4`4b76JftLmq3l6qF!6K^)5zYq|8|dWvL+ zLGn!e=g<9-W*L ziRc4s9xfM~uexK2;}9XpN5SSvE}N|+93a;+OlS}@UPc z0Tn|+*~oY}PoTZs{Q}(wMTU5~`i1%Wd-h>2b5ID^(->OI>lQ~gAQET9C&(;G zmdj`*171-UPBA4F^O8YuZz2^7lU&U(LnhbrUvm{c$=AmtL{=`68bytyMo`255XV0+ z<1Ac;Mhv5R^4UG3**#;~J$)1*U<4Hu80tHe8bS@G!keQma-l(-rffAP809a&*}-s* z7C^ZIHnFp20t$H|GX70aFrgHyIH^hnQ$bW972p~`1^H91{*<44q^qAFHHaEW`Qo-7 zxt^D~XPKKJi%NL^zQq{9N(n z8{mceiypYwD7)w-w~GE;)yQ1=Z>t_dcg3ws8n-i@DK2hsI#L`fYa84CcJ>YfD0j>7 zFfR)S%F5Et(#9UQMEn1T|7JotW+CO{8X_rOi0et>5p8iZ)ymS^(#jflSp%ba4m=)* z!=&DPE1M9WgMU2V%HEpiKnJ;s32tp4EGBeo4v!NU#o=)5$rnk3IE2V~u9HQ2{m~9G<7GkGp*| z(lD-Tm>Y-3OR{sfbpzeUCII<#5XZ_7hI3s0_~6_sG%!BN&(%IT-r6=yG{`cR=~LuzHq2@-+Maj_4MC*=p(TZNJaTmh6lhl_Ts#B>nXp0)}W`^4MY1Uf|}@Vvt~ zJV&0N8!wjQ;>b$~;Q4WQG+!LR<8lJ+`C`%lO&Z{GI1Xqa*pI^*=4xxj=h^v)e7ROa zo|liGzk`)O)Z^#vU`0dpB6m8%o{mB}`v}~oCiTb=qW$fViUZ^P2h)&&n}vg293P`C^`Xa0uN$i0J{-fW0-x11E#&!TrTp3NTi4MJp|&0lwmi8Npa&dI5NXINkRMG_o4}YsK}hX*cFsZm@kv~s ztt|(s506keoG4jp6~tipf)=7kYjj||aI`%qDA3wtBu#UI60AMK{dxAnC~J?fc%FSy zg0*+}Xqpoi$Z@xFu;+vk`7s9-7)NAbB@T?|+6USvi`~4#kS4jhd4_SUZFzh*&scja zTUTLVY?8f|JwMVp%!gxT6YL_d4@(Rt9Y6yy2^=v}o|i3BuB*3)EoT774=EQZ&($7u zunn|Fc}V?t1I)|_;y47x!W`nGxHf~GgE-z%cJ?;DK^U=(ixn6I@$3Slf*3ke-aCj< zA?XFh;SfvYa3F1BUiLhX@X&Z7lh`nkk9|Z!U|g6V7b(v@iDQp^o@)XJMu1b9y?P}{PriUcCx!NaL*^|OZ<@KS3C=Mn$ z8c0A2A=HAQG3;3pOd+!0QtT4L1$F^Fu-u)T3hknJgoN34cCsx_tD(}1PU zVyU!m&r)x%-h;(5WXX>n?bXx`nlX~EK$z5!)gB*K435@f{F^`*b9>i}XxRi%AvYK8r}s*g-*(2}_GDI6yog0YF+94M+sY`U6Ff%>f7@(A&?(M$r{T zu6+E<*s{LlAT0)vqX%{^SxCFf({A$AM4mbzT@Gl4GUPlLBGzu*p|#<9iqe6w=BrcG zj=30vp%S&glA?03J89Dix=K@`sBaYYA_p6z85q|~w1XYb6hn$K9Y;~qkxx;du2U#R zQ8gCin;f5R(X9`q&T@L8Nm2Kmzx3G={%+@!Z*JMz1E!rNMIS!Z@HIIy$?Y}h_Sc73 zIn5baw_?G2?ObK+V@hajy@$!q9XH_t>!D|xxF3nLAK6cMji zxz?h5ajV}!k*k}#ho_ek4jml2I6QEKRs~goX-QR(LkkCKgS6Giw9`nD5BVa8qAgN})Tf%LCX!EZifRHT z!$~>P25Fz0|PE7rSH-?g4I@T}R^(Jwo!9Cq9B@VIYkGrdlk zZjO6quypWsyZxD;+T;aXwA>-8@3MB(eV3z?eko0HJ!Z0=|4_Fe__EcmF>f_;eXIJE z2EXPY40`X4mxMPE%8;yRm1N%9U1>!eU|s>UR&ay8!j7i!~Q_l=e7$1FZJ6g zZs@u$@&PTK+(hwmDs+PKtJzV7wVaf)Mir0gC-lP>U+odQ@riBv-VZFF*=LM~F2C73 zq4Le z)6@PL`#x&;=2jU;thm)jSW-7&?4hsP{_`(%9=Yb8MRMsI=ZWP%Te(d=t{1ZKO1J0@ zkE~O7zf<#?dCFk$((9&io1fWb?*G(!;GDA^hONA9HhSwz$8m?hwF$_(*k#n(`<9{| z^)8c+{!(_IR@p9eQBC)lqQ^FAd)}*i&pK^5WZ8{g@mrqTXC3&gIcV;=j>A{oF;Cp~ z%4z(O?`;DYTct* z;oDYv-K^b0qEn|X+_3xjl}GQC+jX~b4~E`{Xu0Q*vZrID-dq{lNtYupcoWAk= zGs~#AgU`@}?AgnU51zUC;){lHp8>uR!m+t4N)A=ss{7iygPG&NVWY>*S-JJ_+1oF_ zX?8Ss8Zbq8_zFfZ%NfYL+-Yz+R_w^6$&KA!8BazuI=~M+ZiVCofpHQ+nw^Llc=KOF8OUefe$b4+m?kFg}s2 zzTm^?l>VDy>WY@cuC<YX z@7QIdea0Mmf8X`!^odt*cX;*WUUKlhs~=9!sF^l+c~ZNI;>6f-U!#A%t`f`%9HFFt zD@iRT#<}gckJ_yHXV@aAQ944uC$3S~Qpdz^xco$!>wQ&a(9ap#R}%NN-t?__U;m`# zyWOr=9l68%D%t)x>85qYhzFjRw6EWdaK5~4JLi_EBXvJGC-}x01Aeu1--o>>-B0Wp zykg1WOKmrmA6$E|Rd3d8)yUnqv`+P?)7&*{g1DcqU&7FBo%zR{E#mg)yWY)I8*@iV z!oITHOy^od?u=byy6)Srw&{s zVhfZ;#60^DoR}ERPwI4&BbX6DMZbHqL@jCjCZ&$YKCq?^Innmxsas`&pt=KkFApA_ zJ7M;r9}ha;i}tm+-TwWAnt1}htKWz6cl%!q-shN3Ns1nEj$C!!^kCqPB{!XuPh8&k z{loQ|(RD)iAGbudUbEv%s}DxqPP0()c-mRnCep9<)~X5G_qbzJgSNW1>ZPNjd2}XQ ztE%U|gduxoh}jxf;|{HR!oS$&>-|y7t8Vq_w!FG*Z}E-OhR%B;rfBcAbQ)29pfu@l z1$)}TH~aTUS86@lue|cguJi%k*Iw?-y0WId=^d4626xl+G-Do5cZyx?GCEni7en{ za{Lg<=6h=U=s|Y7eQuj;-}LL)dgrHs%63uXR9q_?q8@}lh%au)6IqQtD)gGShkvfa zv^YuO6>(3yM+qTIvb4@Cdutv!WYDTxKU3B4qfUoU_SP)ly>QrGbCuD1Mr>)iaop-s z^}e}lZ}siGsTHFXtCEcdAf(61I(O+ts68WB&k_@sRwJxl`qJ1N5 zno7X&J<0?4rtw=o8$?z6dkcNEwKd(RFWT(! zaQF2)Yd*Y@d~qpkKO}oqs`V>pyP8t9;QjG~z8IUNteent+o{@^{PiQ zw+&{t(iz^bba0fvm0d-vqA=9Mpci zMoMazO6NPfW~fQ7Zp`dn{K((qLT~C#w8&|W`p-2NpB>p;GHuK&s;_-@yswR>%e4$n zM45DAW7n@<%f^katy$Ig&fZ_omUa#2z zJxDiOkeJ!|(*^4vWuL-Vj63qfj+?V8)M5DXOOv8DZQX03rTWewF^XT-Z%VJZK2P49 zdN^p?&zY8U<{O8c-#^J-?fZ@8yo$1)HE|z0Eg89JY^09kbz}39d;0R;CXODzv`wKM zz5bc@&=VQkI`y>4AJ6-G?@EL8*}gezmzsULS?a$?ul5Ny?9Q}^(-Ti0oZ?k@Z;+-& zsy0VtsPW2vZeVp#{fsqVT`M=Q?GZ%XK55`oUU)ZCzwJu@w9!YLUmN^Xo111osN3B! zDV~QOT~`{q@lBkwsPNLl-m8i~_tMcG!#5wTzb&rv$eWQH?@#((OFLA|8uo6!<;T7I zee;)`y8gQ6=dN7iG9%N-xs%<`TR3f)V=&@0Z}`UqwWx*Kt&W^4@W|QzA@73f@H3yH zU4{plKIok2diaLvi}nSb7o?OW>u7x%oF(LTynkvO`%qEc%%5&M%UAXizzn;e3wz^O zt1)WA9g)-irKcA+mKMH^(R`xQlQS)&VWQdX5-)%0Y`ZI!7q$0oR^fHha2r29>GC~# z{<3F7UyR)L*1Kc=(r#S`T{;?(QhaBTvr_sswK!d`!fuV!D$gZnufKMj_hxQn=^Fj+ zuQsQ7nY_AP7hhdI??dL-hv(06X{UL2&7iq117~zzuW@gU`~CEe z?I-qK^?7T&PE{?PZ*ITTVB+G7OV_!#c5-VMa-{IYcjr&>MdkWsFYL^|mF+)cVa!>Z z=UO%)Vu9)74mUO{U6{lkA~G%9cPQC>?)(1RggsVU(6dgI-V4&toNns(Dempl6i!Ha zu)*xYDm*Sjhw;fBfGcpEC1kmdfL&>-hAQSWA+f%>|2oQh!0u~f z(_V(J+UQ<$LA_&Wzv^oz%NEV|4Dskusq%b+`!kOHnVaLpK8~fQE+(~E8<2Nv*yGUL zRx!IqZF~Cs=X-&w*};0Js9Mpj1HLa7=<6mVS3dalE@##xogtQAygp=RZ|v^;ekGoR z%07Djqh;sC8RyS>>{ue{WSNz?uh`_wo8FaOHy8a3|JA+g)FGREP1^R{_UYIj+kGo+ zu19nB5OIbx+UD&fL6+wRntU-tjBZc%fpS8C?R$sQy@fbJ|v?9A%%^*|x?v*n7WI zxz?pcmv;xIuN*MO<@ljRb&2%Jfi}`!Yku}Qcz;vLFb%DKT3f?*)=%u(quSnkqjhb4 zw^;Z68)hy}Z9Dvg*@8purfD>k-O1IC&u?X8ac1h}Z+w+m5d)?R@;>W*yRdViQ3o~s zfJ37eZx^-iy0C};x|H`%j7@_iD^AQxa$ED(_V{GeH6DFtoIG(ZBrouz(e+D)mnQqV zCiSW+I#L(O{j%%9{eDIfv*+<{jUKKU5~dq^W&f#fVYPw{S6l6l8~fmq%U9?A%O)o- zz0{QJIz9b>=G_nBcQaCzCtJLGSo}D4(yJp+R&({D&#oKzsJD-j(4bXB-G^(9;tiR_ z4ZQVa{y*Fw(l9OYs%rGTnJ?9D6l*@`e|s`RGNDauYs-gPJAw`07%6{QaB_y8DDB42 z)?>eRdUa{r`&>N>C&Fq(6qt|no_4`Gvdj$b`_9m{_Z_B3x|dXDh}9* z>j&SsB{{TD#W6H&cY=g#U^wtzq30&)#LB=?=L!lPk4atcWWCvOXltU!&`txk^?vd+ ztt#Ze>TL_GG6xQbSz&48pM7aY*JY(cS4{M)Kew>Qz`e02e>|JJ#UzUFwahxN+nP?| zO7no6^`Fj+=J8g}h)S7%c*>~<;g35;NL!U^2E}dZxoehg)~KiF-|kfzS2R57{@v2~ z33+Y}`&h+ol!tkb)=1wxS8D287hPDyy86y9yRYTq6)Pu<|L*;*pu^kZNt3?MT({2u zYRb?2kd>WGsf_fglcz1QwMhD0w{50DI|%9?yt>>!LhgXLfLO(3x}3cTHNs zswwLF$hy71_Ta8DuMd=1DPK!JP-lDmsoIFRm5t@qXSzPn4*2MDq*I4syR5$-QIFEU zb^F;bhorr_K8q8oO1e3ko@afcu-~C0d;h zesjn4xzyI}O~JLI;gycZW_nh$IfnF34gWGhkmozMqgw9>JaQEmw6(d<6ybjd4=?`6T_)Jc=)=F`Q%bjL? zj}I8VE;(xMq&wEJoz(W`{VaRNU!uQaS^9=^*#?vS7k;klI&o2@)#}uYm^7W@rz_re zIgq()l*Rj?7n3_#_y78-X4*F61GzK445n`w+CB>Yc`Zy?ue@=>lM!B)nl7t~A3m`7 z*5*jBs|~{nW>OA*)XQ7nLR3py<=ykyd)L}bIPB)R2Q2%Y*G#Vm#H0`Cd-Pq+1y&(< z)Ak2vJvz+qX?j}o(&;e~?4t2m$J{RTv}EfPojA7nt@*>H&+s~qz2BpMTI)_56!q)5 zYd}}E&z%}$%~p1pvHHx%Hx37swep_67KO&BEqH2G_o|^Qt969`^MvW=v~#UjJoZ#UOrQA&DULbNjf7!Com$Urc<`BFUZ#&2Qtol@~AOMOjW-e|Mi}! z!}XfY)Ke2z1RJ`9e9k|tkzD!p_&JZ=MfTVWO?YTYKilPb>Ail2TbhWe%r{*``WkP%~+PZ zE5NEv?8H51dhKr?SoCH=r&`lKtF{e0a^yupXKvEjS>k?5CNE}fdpF=jRM=6T)5SN+ zjR~WD=6xHe={@4Yf=;K_p1%=gZ2aWWgJJzVhTc!VuenB=J@0zu%k4{8e&)KN*Rw;G zr!;*Kc#S-;qxQDV$8otSE_d5Fxdm8e=e{WUaV7Pe)cESe(Po2>^m*9GEj>J1TtDXg zi%r_2&OAHyB`|tTbSIO+CsyVDFdTT+e%FP7B=fb}Tjm>k-RU|&Rp-#rDTBJdIi53P zwBa80?P1yL&8xdRWiNWMrs?M5whvZCmJIExVxu|Y(vo>?hCEI4U+w;(>h!HGbF?P2 zkEOh!rXCqIORe_uRZsJ*(0rqhOKNID^@hx@a@BVipNgb^KI`;hIDh%hW7c-G&$E<{jQfnK}0xUM5P)H>m6NdU{oCuWkXg6ApGRI?!ch=JeGg z`Ug7R*`;4N``rVzwug!q_xqM$T|CLA_`CC$HWQYF+$+7lV!T<%@rPq|HN1Zf%eZ#m z_-I@kk9qR^XKQkUAMq%h|vkhlMb`q#z>X7etpg3M<(ih?YB7C zI=9_5VLRT^4f{^tyWi{i+V)eTIs|mIiI`Eociw(F_0q%@9|xH#Z)UyOWa3_6uSCHC zOjpvpcKU2-h&XD}w7%PJsuVZ64SD7Cq`J^Mv+?n~>a6%11AFx7^t$M6KapVflQWO( zq#?U9(m&X_u;L6RR#p^zT|Vsi;m{wRopzjk9w|tQy5sW6X8FgUy*0VV7w5ahw$nHM z#T#;E=;^5sZz~-$n=sRJ%(H81hj}6Xr>>;7(N6z3XK?-Isx>|)eEU_6-F`S{ZQin_ z$I~RGq8&PmroFk-UqzU+bBNg>jq0ZCxdxIw76lG34jdofUDuNnIZcqZxaXtKm!!M) zsu{GG~`l%iB@>$=+p04_Bp~oJUZpHbG`XUQEBb>y6l><{hW**6ieMbzyFy1 zc*21XV@7Sb_P`` zP24Hh!rlOWm`Sz4jr6v7UEfDav$0(iHf1PQ5I~30XQfek>ezi^r2se-rBOlYsJF&> z6o3u95Gg621KJlI8IB?0;ZKZsNdFc07d{0r)1&xD2TJeD5#7lD6woTmb; zK|cZh*gaxliw(bur8G7o#ZClkD!>i+6V!(QS=jDlbpXB?{M~VmT`QI&@T=h84(Hf{ zW0?Wpi^3wqBz@MQ$(Lc6lS&*~FQn~)e19t*`U9SH`;IM0r{YZ&D%>@hs{t5NTc(8TM zGHjv$Ea3K_UzF=V9(XU{JCG87vjE<}>rtP`6WhTo%v+7Ma{W&RP6NL$*S{EeKj24^ z5_?(z2n7C1uK&Ny|6^#M=sya;M)~zfDL@W@2mB%EME^qpM!*Z?`p*XL0Q|CC{|Uf* z1K)*|=xa8>2l!jmC;I=}{I8PhKNe+rpnM5ZQhqwX19%%^Z%q=|IsMZ4dpi>Z3UPLa0C7n^@%=)0XhI*BG>;o z;Euqr$@M=PxEb($NQpe>00sj8i26kTf1Cdo%mMM~s76W|5>4eAs9j{J30!#t80)GrT=}!c} z82F+;=6{V`|3c9FfW8MQ>2EH;7x;VBC;I%`{68nxzW`-=qWm_bL|!uhp1@zBKGFY3 zKxg2qCx&D)ZTL3?TR2wiK;1B#e>J$C{ZT_E@>puo%x}*FSq@?^bfIIN# zs894i9MBQ?GP(Z819t*`L$3cs;O4*&Ak_rS1q=fI8TH9{{x<(F$@L$PGQCiKCsM+1 z7Qh>L1L_lbD(3$>x&9UN|AAcpVwCBJ@=~O20Sf?uz_C}Vsze#8Dk-&7)ulSBD(UE| zs#3PP9Qs*w81`l?o>K1WX#FV?|7=QU70#?)6vV4{j3MIDYs1EGp0 zLX@@$VA@fJR7a{So|ZDl!<JJ(+(|> zkG}lVo|1iZsMFM0)K@}4BgrqpoE2$`{DY5W! zEgdBzCAJbriKi6RlD~qdf*0XpfR7f!gTWBB9+%WRw#7Vlq-0)I(_$J!0dSkqg&=T8mv$h$XJw~HDh;pb$ztbE--UyhrlGj3GAWX5FCi}sHj=yspt`-fba z$4#HnzNYL}1N|-UYxkUsb0zmb-RqNB-9YotJmUv^j^dtKm0{$0x`AF%V>A3oQ9gIt z`%`CKjyBNAymA@0ZSL2kq5B%>9}PbjcG#E4{p_7;zHmGEt?rlNeAI=z;c|`j z>!Jo)QD=liE!(Rr>Ysd+boVQA`Rb&qRuxWRdw&MY6-K>IA(^s;@&9Lf0LiQI#!4YafM z{qV-F3nVY+&vW=Xx`CF4wxj3e&gEvD6TccB(?FZP(#>3bYpLYw2$kuz!yD+RevU4m zU$5kDJ(OTIE3AQD<1q8w)aMH%op1f<7UbVR&#&C<;VPcPy*@8`wv$%_JyGRJnd-P4 z?$Wyx3w-GYdU0{_7nAJ=q&{H5X!t4y3F`L}LYPc~|x z_qNtbooYXqtEv2C^9;QPdcnDixeN70+`;`^N_J{B(EGQQ`Dge~^UzaJ?|4fMb-H6sVyTfl8Hh~3TlQBSK3&vVKtnkjj^ZeirfPxW*{(4g~g z1}>DGD{-{n^0uDNvk30^MSX=N?xt$;j@R|{6}!bQFD{Rfd|vm|_RjNqx_!rsdyI`& zNS+qAtF(ArPbd4CZSh$*gWJtk&u{bndU}qq_qZs%MUqZA+f_Vo*VDsu4Sg1D87eWe z{A|+tdOh87rEmPIz7r(Nii2)_yj)M~Za*INCdQp>k;{)_U96`YV%3~9;+ArUP@Uhn zo~@_HDzCr&@Vtmy%{{hn!>M|jqt}+sYg)v;Uvs0;tg@ai+d1yY#r#ZeFEhJqx25%T zR&Cg;^3IF6+V_60*e$_$ipEg3ix)_?^j(v=`%pdYTeRrz`TMgZZgH13+}>YLM>@1E zKXpG_GBt3`VDr88^rsQyUwi4zl(bzq^6bW4sDI<9k!t@%+}pkO*?I4*r&U+Y>33lH zc<#^B%dYB`*3%kcogO`m$>;V7^SP(Kt)6~)$~b7oXc6Tjym()?9k~FcIA0n zucCT-=+MF0_bx7y^z0Ts)nP+D9cw%(XRFQ-Zd!@o)$sN8bnkAXqz!u(NiH}|j$2z; zPftB$JF8T0v_yJaGeZw}eM$1chWHpszYYTK?sfHa@a)5GHEP6U3*W!R+H zuGy0G$k#72fR|02TQRVHrX+pJCZCnS=R6DVVr@KAQWftu_!aP)s~V%utgk9> z`4hf&Pm;6^IdjhAa6P^C>xXXc?h7SB0r%HUEw85s<;C4dIy*yhSp96u+lqR+*Tn+! zA3Miz^Baq%7M!T3kEFGJ*#Am0w|n=;#xZB=>6mWO-BeD_k_euT93OYSp1x-F=<&=> zbGbGa17EMI#(X*=skwZlKr*tY%Wmasm~U3~tF6xGbBFHXv|D?tp58MoO*CCNoh$u0 zHarpYYww!8WfvYym5h5|BTdBon`LuuVOEEE+|rt1E7rZJr@!60JaEDId`aB?`F+&u z>*>Qg?hd|H87}$WKJeg%_w_XI(`M&38}lWO5l`o*euexOl{$R5o*?la_5EFD6YO=) z(8Nde1(Jbk>p5kr4fKV3k*#kurE{+w8L%BwN+MT{w^=r!fv(c_b~BYEH^Tp?cYm~e$9&1#_&f_AJh{eVZ*`Sa=5c!sjjzC=ytNKb0bmCpaAt9Ag@;m9G> z5<+DSm6l(=CS`xFy~*0tshpuk5o#5o4)rw5%Dg5`4%&ZhV{~^Jl}D&`g!;u|R%wT8 z(rfW$YoAPiCSmHb8NRDP&CXg9dGxBZ)}_xPVMi5NU5epLs8OAc&*fj0o}cdL)9+?G z*;s2o62635JaZ;T<*L+CbLyM-Zg*vUt{~JpLiG`b`)#g~MlBAWd1@D1R=1E)b610! zvwY<}?;7dCoRe4mBYMiHIfPn5sO*P_AHBFDy=i`6MVIlWGHMjVmr!TlZ#OLWij*$9 zv|s;h`xex?zfpM%-!-V4ed)VvpDWVL+o8RC3^OQ~NrT}_sLO@NmY=ySRSA2ZAlcbf zMx_|Ogj&39+lctf(#GPcHmACFmGQ0pK*md`K0Ch7RlO{Y8>ag6M6s!?ZUv#{t_3we z?NN`SYH1tg50mN>wPe&nLMb;A5@~WkiEk3M0XxAvy5ksx|8#RaFOQ^h2$wr4R zNoR3aY%?38E$dYj!*?C1QFqUkHeQtW*g13c0aJ4smB;WU)J8LrdasL8ohCXgu%Dr< zS8PJ9BGih&M3WI0q#YB^9w|6%BCAU=d}80&P#2luS*CV+p7gNx9~62+V^C< zgqm-WKJ)lF>4F1ut;zz7WpyhEwTe(HassN}pOwbtU!Y?G4$JJSkWlLgwd_$>N%ynT zm&d&B#?I?0>oY^mUH=zq4#SsFgFdVt7E&dBeD#>ht;=Szx={>YLak;C3MZeDYJ9sh zSz4};6~mWMYjs-XZaXaQ)eH38Chk zOEULAA?0TG=O5EDbY`rbp;rBkT1e{F5o&%H_Kz`@Qpd1f{xh@R%CwNf@ZAV%W7jVs zOO8ufC&n0Z=J$~Cjbiu`YE-{#W(ST*mlo+7ZOpN3L9O~5mB;WU)cooRlWtTzflNTPAp4mG5MgIYEU&c_Y z{zfe%b?XSV(CWHpyQBYn{B>-pQG`pR{{@ckQ= z&G04EoT7R=!7iyr(SpoT6ZGX`Ce%8Hs$0Qny;E9{XE$waghdN#ZV9RTFVtGBm98ZW z)p*Q3w{23tlj<^N`qR+#Ez; z!YOVI*k=BZphfqrhwf6FskL7#l8v%DVjXEQrGf{+EMW}_#{D;-; zqq}q-$yF1|`^+QMIzp{@*}8^0KwH0AQ!>BHYng>n4Bs+Pc@ZN=*&L#8dzU+o(Csc4 z#%sctP@_ucpBa6Gewy&vJSV@Mtj~pnTE*0rC=H!0p=-7eJ9XJh5lInh9ig&YPaAOh zC|&FMY-d7+g{&@*P;+;IT6$VDS%J5~Vy{6_F9;4r>TU^X;Fp>4D z_7&kvsEyqxnQuKt+pci%$lD^9Mj@fr5o*p%E&k=>^!mM1&Lyo;metK6)ZE>m=C?2V zA*iHtQwMb~?srNi4IZJE5NestH0Od7boTzAVPmJsy)B#J%TU)pdD`nFeR`ts=?feA zcxzu0zJ#hX?`Xh~Q*^c^x9{9binxPNbN7Ink}+4W@f7{gWcAbex(fXgY6+nRdCZuf zdzw~tFG$geQ^eqedKOfJ0k3u*JwspaTemgLSzRtjLVQVxpYIMERz-`O3WxT7r!E^U z#cEdf5Vre49qJ$DFs7O=2zX;~XZ06Z!-a%eLa0&vc#9L&blpp? z!CWJGP?bSV&x|=ff6P@n<9fWt z#a{i&WtTDx-$SHj!?m?lSLuy6TX)Q5Tgs>u!@Q&3rEsPa#dB**9cWOSWMk{96{SJ4HSiP%{#@^%oDzOm`W$KdcBC}(rGZUO9QX!pi3DYI z&?eIM*!^LCZHgvzm@@bV?Gh=YhxU+m(Io`tOGA$-gKzv{gOlpep#$Z*uv|&AjRIo| zXi%<|$W+otOGw)rl3eCXL!T*tZ_s{{G6t}(qe_}D_1hB)^QB?H6v8+D{`|EoAw@;X ze*Kw)bL>4*0io$Ok&)I`_W$w5I8WJc!co4*Vid$deqT;HF%@77AeyrS*aI8@0|3~o z{nz&^V{ef;zMu^vifMo^&^QCg!#*@M18@-h&I7QQ$sD|BiozZ(g?&2e2g(y5d9#6I z?~{6gvOfSaHBr<}(B>c?`+`gxq0+{s7tr zfIV$$JAfQHkbf!C9RRsK43NFz4exUFjR^>iw6el`_fjMAx*)u0)i=fy2g;J4^@pME z2|;r`tNzXJhQr$n@!qEYQk@axJk(d%ppBfV?Dd9!uQ?rj&!8STlmMjv%24Vb?TG(( z+R=fo$;Ym`$ zrXvyJOh|FaPje0*nilw7UmN1b3D>f9E)MwyO8b%khw(W zF3H=2^Syuy-~>qCKH&QS325UyfQ7tH01m(d@Bw+XfPBCN01su!(b8urc(n9c3LY(e z7LTbZvkiqmRg`OKqoh4@w6xJP=q~}1r|_c+eL6JHU&!yjO`v}lA>$MLFjmr6au7Q^ zfb<|h&ci|RhFDKh0CrJ^G6&&IeTXx~(Kk-E&X9=ZDBy4Fj1;sAz%c;vXEZ=D4o)QA zPlGA7_DTg&v(F3~MH7Rz}Y$9W~7C65!p|7|ThiTqOl1rIBR2i~KnU;-NRs*@Ic zzTlj!9j5_j02uDSt{qj#Cr?qF11Q!G1)r8gejV({FEJ zXk^@>W2eqty0T5Wb(aSwqAL)m zRv`MVKr~u`^`rs;X9WVyinah90D{5_%-f1~0DVAvfC0b|U<5$?T7kf@q9dRapfjKg zpeq2Z_rQl%f`29WSAu^f_*a5|CHPl@euJTBxsu z`dX;3b%%`SzMcwZA$gC;?;}Vkn~REf$hj8Q;5JaK5KlehWFTIm=N=Xj#Fz`t1H%11 zLww!w<{%OU^`BfPM zBZ6fXKMahC`!O&I17m_I3=9_qvTFdcP-9>ug2$syB>a{|+r%M4uuQND!ID^*iJ>7_ zJUk?ezadyWJVa3tECs>h0V#@N155zj0NnvS06hVwfL?&!fIa{-fH|Nqzye?i=m+2c ztN_*k8-OAhv%|SPfH>oSb1Vwy#RJ_H;0AyY|MjI!zQ`X47zFSG_yYm}fq)=DFdzgF z3J3#)0|osz$CzA$~C_hro~RhzhQs! z|69WU*&C^nAi-pS2p|Te0LB1P0cn7AKn5TakOjyFj0KDX{LK>hphW{>0I>i8APx`@ zNC3byG`|t+{|*0tv4q0cN}5)`FJJl5F?egM?3GQ~L(MHxf`q>RtF^O%lcKES`0R2J zvVP2r`q=wbSXNX!vpc)9YQ-ARVSrcAyS2jI;azduB`2Us9dIBor-1~~t)#p_AkHGd)?4B+c$2jku0w=ToYWhb)TsmhzUDS%f!G9$9)-~bj zqSAjI@9aAsOB{)h@3ySRaP$w*U(P?_UvM1$4UfYU@E=e)(QR4(l?3TO2~WZQKp)e1 z!J1#{mvB+0uB)^3>X7{0*%}4U0R5C*rx=}Xbed@a6`d|-fld!P4F&DzQE!J}RyK#~ znxQJvDW6rVu`25)Nu(rBgS0`XmHFe zbw(?@%x!V!@P6&CNwn*B`Y@Ngg!qcRwgAJcIY)4qt9&L$4U zrqXL-s>i2ddMWZ{@NyUj=fNxBl~5Ve#Q9Z0`Qy-vO_lICgne>5;*Z1m*p$y#A$4YX z4UC7^!t3DmQ0;T#Rh1*5u^$-1XP5Dr#HM`ONS#emkOmhr!2j{A_SqJlXCpRMYUO#* z`1G(TpE=|Oa3Nd-Z-6(#o1iMsw&*BQxy^Hf_2m4jR;~C5!825R7xLZk9(XUj4=#iE!v~-Mm%}Wm%-DbW7@2X6=aQw|LKznits>uVvcOeY zMq5mKIHMC}bmxkA;{MnPlhJItDWfK2Gqk`QxB^%eDYxLb z(HuT*_Y$Xne2^-HVhxzO+FMOMoaO#yR({LMc;fC@e^2qaeTZ(#axStR=0OK^!iV8X zm=Bd%7LQd_mZy5Glx68yttTE8T$N?fXxhVBZ11u12Uo=tn-l%ZxdEcfRiG>uAQ!?S zxEij3kHEE{N66A&O#P$qG3bURuoRYo$q1P zias4z@@nVc#D(rAbaf0pq{;{g?i<$9rqS4?eWQW0V+H!ezZ^6UE0EX0N>~M}VGZ`)U1(g@z9gwa>b6EfK-Xfb({8?TxVX#qg-O#0Lpb^ zWxT_jgm!Rnuro;k5u1xo#dyrb82)RV%Dy1BebjFvo=qmUPe#RdI#UN1^4}|8lv@5< zR~BdWX5;@;$WOy(;Ir^K*aA1hR`@)aV{Iqfc}x4%<`Oz}c2Zw9mhT%p`}kwhfG@=~ z9$6XF<+LeAl>rk|AHEK-{RQL~;Y+X$Zh>3jHrNigL%H9?qvqWNR!8w$qo27GG_8<3R|ZX?2dHz~rIy~Q#7iHUG8@~4pzp3bQy z_!}&XaBvJAd@I7k5fM)9wepW|iYIoC-fJTKnThb{$X~!OOHq35tQ*Ny&i@_5;2(Y} zXe~dt++w`0M^=tYKW)LeW!&|}k@=PJ`)lMr_)V1GVorWGXVR~h-5KoA!xTN!ZH8G8 zJRF%uy#u25&7?he2s590WnX<0&|=!vU-c+G*=YsY(u18Soylfj8?w@m;#bUF5ZH*) z335cu|28AYOWWaGv>lE;*dN5G?QlHW4#%MFOF%IxZ~0YSxdr2@{u+ZG7^b&o8N3nhXA#g_ESK`?|5~_(FASJh3~*Y7;h#T&0rfq|2f~S=MdJ@l}Xz zJ9f%W+pe8qEgsL#IZ4NM94FCZZ4C|*cm62%A_-HCX>l#yi6{eWc?#2o64rM zZZ?z6X1#3AOM15FcquRKxn9Q0dY+fd5n>MaIZWs1mZOR9bNk|n)uYCcpk{ropMY9> zHeWbhx4KP>7R{R7w!pSC8l$%Mf*x!7EB^YUq^Bs}jXas$z-X4~XX&feyUROBzZLz< zph~|}pN6XSH%036k-oFTU&SxnL-u#0zYA1)k-z6i{{j981MnxfAN~w~0hLbrN$;-^ z*83aVe~0~07Oy_G%x{ZI(SNekfIazE*=uY+P+|K)whzF;D%)IZ7qmwjSAKmV+ZU}b zUhN*j#vxE?Hf;~Heb}^(Gi^uMJ_<9sa;0^b)d`zp(V^X6#dfZiOr*%)c-qx}MwgR} zT;kT~HK3z-RMsQwkdNT&nD5WF{nfS$#bvl6??axWFVR(GV`U%z@NH1f u_IRRB{jL0Ns`9x{awn#dXUXSXuxXpoznz_|`m!E5QvJqYoO--r + + + + + + Emscripten-Generated Code + + + + + + + + + +