varModule=typeofModule!=="undefined"?Module:{};varmoduleOverrides={};varkey;for(keyinModule){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}vararguments_=[];varthisProgram="./this.program";varquit_=function(status,toThrow){throwtoThrow};varENVIRONMENT_IS_WEB=typeofwindow==="object";varENVIRONMENT_IS_WORKER=typeofimportScripts==="function";varENVIRONMENT_IS_NODE=typeofprocess==="object"&&typeofprocess.versions==="object"&&typeofprocess.versions.node==="string";varscriptDirectory="";functionlocateFile(path){if(Module["locateFile"]){returnModule["locateFile"](path,scriptDirectory)}returnscriptDirectory+path}varread_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}elseif(typeofdocument!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function(url){try{varxhr=newXMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);returnxhr.responseText}catch(err){vardata=tryParseAsDataURI(url);if(data){returnintArrayToString(data)}throwerr}};if(ENVIRONMENT_IS_WORKER){readBinary=function(url){try{varxhr=newXMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);returnnewUint8Array(xhr.response)}catch(err){vardata=tryParseAsDataURI(url);if(data){returndata}throwerr}}}readAsync=function(url,onload,onerror){varxhr=newXMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}vardata=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}varout=Module["print"]||console.log.bind(console);varerr=Module["printErr"]||console.warn.bind(console);for(keyinmoduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];vartempRet0=0;varsetTempRet0=function(value){tempRet0=value};varwasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];varnoExitRuntime=Module["noExitRuntime"]||true;if(typeofWebAssembly!=="object"){abort("no native wasm support detected")}functionsetValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}functiongetValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":returnHEAP8[ptr>>0];case"i8":returnHEAP8[ptr>>0];case"i16":returnHEAP16[ptr>>1];case"i32":returnHEAP32[ptr>>2];case"i64":returnHEAP32[ptr>>2];case"float":returnHEAPF32[ptr>>2];case"double":returnHEAPF64[ptr>>3];default:abort("invalid type for getValue: "+type)}returnnull}varwasmMemory;varABORT=false;varEXITSTATUS;functionassert(condition,text){if(!condition){abort("Assertion failed: "+text)}}functiongetCFunc(ident){varfunc=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");returnfunc}functionccall(ident,returnType,argTypes,args,opts){vartoC={"string":function(str){varret=0;if(str!==null&&str!==undefined&&str!==0){varlen=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8