From bf5b85951c2dbe286ef8af997334d9a12c898d92 Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Mon, 22 Aug 2022 20:55:47 -0500 Subject: [PATCH] Directional facing movement Co-authored-by: sigonasr2 --- MeercaChase | Bin 542952 -> 542952 bytes MeercaChase.cpp | 32 +++++++++++++++++++++++++++++++- MeercaChase.js | 2 +- MeercaChase.wasm | Bin 301477 -> 309353 bytes 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/MeercaChase b/MeercaChase index c6a9acaf8fbbe21b5be8364838f43f067352d760..7d1138959d60a0846b76cd809366588050d534b6 100755 GIT binary patch delta 91180 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 z

Ogp-7d^C2-a{h}cwu`B?asX* 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 fWbb=bGGL^=bYy}&%H*!!co7%G2M(+nOZ<9 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 z z{K>i-cJ$5fN4^X-%I%AV(vuRlY8F>*FIvE>F^-(iV2!65nXiva?RksC_mrG zq|KJbHT7%ABbgA@W=eePFeJFu`*qBf~LgT~bvYn+11|o`Jq5NblFcQ+X;` z=k;fie|_0x%#luny*)cE9eP*J!=COW`jkAOGFnM3zy;*;$rtbI5|1!9^cpfAJ!ivS zturR|b@A`(-yzo*D0~j&hpqDpW5}zQh5H2B+ew~zzbQXg3SiSr6Fyf8^eaHu>a{ zu%jERcas;zgKKlp@l8x9C4cM>kg2l3-85jpJ0^UAzwbxybhl5ZflSCXqOgM0gnyB)}P zaiUUFXuiXps|V9QEuC~{sqjk6IWeNn_=IWeQBL$bDsVA=e_^{XNJZ;|@}_x}3bZ^?|WX*vi%f_;jD&DIr7O{7tB0^F;W$#_#D^zu{~)XjT&lzY6UP~_gv ztx9;3)FqDoLD?woJi6|&mHb2bUhZP)?{DXbOIOz-K7^jV4A_S}>K-&A+9)j~m*tP* z#nQ+XB_NzFS;nG2g1sGgKu>ooEG3^$_gWo%PM*1a<_P1KzjB|CFn11G8!&aJ$?bYq TNO}FNM^dNH1G?Q+Q0D&tL?OF@ diff --git a/MeercaChase.cpp b/MeercaChase.cpp index c4d1b78..60effeb 100644 --- a/MeercaChase.cpp +++ b/MeercaChase.cpp @@ -1,5 +1,6 @@ #define OLC_PGE_APPLICATION #include "pixelGameEngine.h" +#include using namespace std; @@ -12,6 +13,7 @@ public: float accumulatedTime = 0.0f; int frameCount=0; int moveSpd=4; + float meercaSpd[2] = {0,0}; float meercaPos[2] = {240,240}; MeercaChase() { @@ -34,13 +36,41 @@ public: accumulatedTime+=fElapsedTime; while (accumulatedTime>=UPDATE_RATE) { accumulatedTime-=UPDATE_RATE; + meercaPos[0]+=meercaSpd[0]; + meercaPos[1]+=meercaSpd[1]; updateGame(); } if (GetKey(olc::F1).bPressed) { ConsoleShow(olc::F1,false); } + if (GetKey(olc::W).bPressed) { + meercaSpd[0]=0; + meercaSpd[1]=-moveSpd; + } + if (GetKey(olc::A).bPressed) { + meercaSpd[0]=-moveSpd; + meercaSpd[1]=0; + } + if (GetKey(olc::D).bPressed) { + meercaSpd[0]=moveSpd; + meercaSpd[1]=0; + } + if (GetKey(olc::S).bPressed) { + meercaSpd[0]=0; + meercaSpd[1]=moveSpd; + } // called once per frame - DrawDecal({meercaPos[0]-16,meercaPos[1]-16},meerca); + if (meercaSpd[0]==moveSpd) { + DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,M_PI_2,{16,16}); + } else + if (meercaSpd[0]==-moveSpd) { + DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,M_PI_2*3,{16,16}); + } else + if (meercaSpd[1]==moveSpd) { + DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,M_PI,{16,16}); + } else { + DrawRotatedDecal({meercaPos[0]-16,meercaPos[1]-16},meerca,0,{16,16}); + } DrawDecal({32,64},negg,{1,1},olc::YELLOW); return true; } diff --git a/MeercaChase.js b/MeercaChase.js index a2fbe5f..2078cab 100644 --- a/MeercaChase.js +++ b/MeercaChase.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="MeercaChase.data";var REMOTE_PACKAGE_BASE="MeercaChase.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{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="MeercaChase.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={38668:()=>{window.onunload=Module._olc_OnPageUnload},38712:($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;i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(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(); +var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="MeercaChase.data";var REMOTE_PACKAGE_BASE="MeercaChase.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","assets",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"]("fp "+that.name);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{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="MeercaChase.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={41516:()=>{window.onunload=Module._olc_OnPageUnload},41560:($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;i>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(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/MeercaChase.wasm b/MeercaChase.wasm index e9f679ec371670c7fbbedf899fa9b993e0cca66a..0863800b0ad1ecec9eeb36dad3fefb229f267e4c 100755 GIT binary patch delta 70424 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 delta 62508 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 L$WyKAtQG$UA|t=d