@shijiu/jsview 2.2.426-test.0 → 2.3.151-test.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dom/bin/DroidNaskh-Regular.ttf +0 -0
- package/dom/bin/DroidSans.ttf +0 -0
- package/dom/bin/jsview-dom-browser-engine-core.min.js +1 -1
- package/dom/bin/jsview-dom-browser-engine-modules.min.js +1 -1
- package/dom/bin/{jsview-dom-browser-forge.1385.f80e.wasm → jsview-dom-browser-forge.1493.9a36.wasm} +0 -0
- package/dom/bin/jsview-dom-browser-forge.min.js +1 -1
- package/dom/bin/jsview-dom-browser-forge.worker.min.js +1 -1
- package/dom/bin/jsview-dom-browser.min.js +1 -1
- package/dom/bin/jsview-dom-native.min.js +1 -1
- package/dom/bin/jsview-engine-js-native.min.js +1 -1
- package/dom/target_core_revision.mjs +3 -6
- package/loader/jsv-core-api/wasm/core-api.js +9 -6
- package/loader/jsv-core-api/wasm/wasm-extension.js +37 -0
- package/loader/jsview-loader.js +1 -0
- package/package.json +1 -1
- package/tools/jsview-common.mjs +1 -0
- package/tools/jsview-post-build.mjs +93 -15
- package/tools/jsview-post-install.mjs +5 -0
- package/tools/jsview-run-tool.mjs +54 -26
- package/shijiu-jsview-0.0.0.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
/* eslint-disable */ var e,r=(e=import.meta.url,async function(r={}){function t(){return A.buffer!=D.buffer&&G(),D}function n(){return A.buffer!=D.buffer&&G(),R}function a(){return A.buffer!=D.buffer&&G(),I}function o(){return A.buffer!=D.buffer&&G(),O}function i(){return A.buffer!=D.buffer&&G(),W}function s(){return A.buffer!=D.buffer&&G(),B}function l(){return A.buffer!=D.buffer&&G(),N}function u(){return A.buffer!=D.buffer&&G(),z}var c,d,f=r,m=new Promise(((e,r)=>{c=e,d=r})),h="object"==typeof window,p="function"==typeof importScripts,v="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type,g=p&&self.name?.startsWith("em-pthread");if(v){const{createRequire:ki}=await import("module");let Ci=import.meta.url;Ci.startsWith("data:")&&(Ci="/");var y=ki(Ci),w=y("worker_threads");global.Worker=w.Worker,p=!w.isMainThread,g=p&&"em-pthread"==w.workerData}var _,b,E=Object.assign({},f),k="./this.program",C=(e,r)=>{throw r},x="";if(v){var S=y("fs"),P=y("path");import.meta.url.startsWith("data:")||(x=P.dirname(y("url").fileURLToPath(import.meta.url))+"/"),b=e=>(e=de(e)?new URL(e):P.normalize(e),S.readFileSync(e)),_=(e,r=!0)=>(e=de(e)?new URL(e):P.normalize(e),new Promise(((t,n)=>{S.readFile(e,r?void 0:"utf8",((e,a)=>{e?n(e):t(r?a.buffer:a)}))}))),!f.thisProgram&&process.argv.length>1&&(k=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),C=(e,r)=>{throw process.exitCode=e,r}}else(h||p)&&(p?x=self.location.href:"undefined"!=typeof document&&document.currentScript&&(x=document.currentScript.src),e&&(x=e),x=x.startsWith("blob:")?"":x.substr(0,x.replace(/[?#].*/,"").lastIndexOf("/")+1),v||(p&&(b=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),_=e=>de(e)?new Promise(((r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t(n.status)},n.onerror=t,n.send(null)})):fetch(e,{credentials:"same-origin"}).then((e=>e.ok?e.arrayBuffer():Promise.reject(new Error(e.status+" : "+e.url))))));var T=console.log.bind(console),$=console.error.bind(console);v&&(T=(...e)=>S.writeSync(1,e.join(" ")+"\n"),$=(...e)=>S.writeSync(2,e.join(" ")+"\n"));var F=f.print||T,j=f.printErr||$;Object.assign(f,E),E=null,f.arguments&&f.arguments,f.thisProgram&&(k=f.thisProgram);var A,M,L,D,R,I,O,W,B,N,z,U=f.wasmBinary,H=!1;function G(){var e=A.buffer;f.HEAP8=D=new Int8Array(e),f.HEAP16=I=new Int16Array(e),f.HEAPU8=R=new Uint8Array(e),f.HEAPU16=O=new Uint16Array(e),f.HEAP32=W=new Int32Array(e),f.HEAPU32=B=new Uint32Array(e),f.HEAPF32=N=new Float32Array(e),f.HEAPF64=z=new Float64Array(e)}if(g){var V;if(v){var q=w.parentPort;q.on("message",(e=>onmessage({data:e}))),Object.assign(globalThis,{self:global,importScripts:()=>{},postMessage:e=>q.postMessage(e)})}var X=!1;function xi(...e){var r=e.join(" ");v?S.writeSync(2,r+"\n"):console.error(r)}function Si(...e){var r=e.join(" ");postMessage({cmd:"alert",text:r,threadId:Xo()})}function Pi(e){try{var r=e.data,t=r.cmd;if("load"===t){let e=[];self.onmessage=r=>e.push(r),self.startWorker=r=>{postMessage({cmd:"loaded"});for(let r of e)Pi(r);self.onmessage=Pi};for(const e of r.handlers)f[e]&&!f[e].proxy||(f[e]=(...r)=>{postMessage({cmd:"callHandler",handler:e,args:r})},"print"==e&&(F=f[e]),"printErr"==e&&(j=f[e]));A=r.wasmMemory,G(),V(r.wasmModule)}else if("run"===t){Le(r.pthread_ptr),Jo(r.pthread_ptr,0,0,1,0,0),Ae.receiveObjectTransfer(r),Ae.threadInitTLS(),qt(r.pthread_ptr),X||(Qo(),X=!0);try{Ie(r.start_routine,r.arg)}catch(e){if("unwind"!=e)throw e}}else"setimmediate"===r.target||("checkMailbox"===t?X&&Xt():t&&(j(`worker: received unknown command ${t}`),j(r)))}catch(e){throw ei(),e}}f.printErr||(j=xi),self.alert=Si,f.instantiateWasm=(e,r)=>new Promise(((e,t)=>{V=t=>{var n=new WebAssembly.Instance(t,pe());r(n),e()}})),self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=Pi}if(!g){if(f.wasmMemory)A=f.wasmMemory;else{var Y=f.INITIAL_MEMORY||16777216;A=new WebAssembly.Memory({initial:Y/65536,maximum:32768,shared:!0})}G()}var K=[],Q=[],Z=[];function J(){g||(f.noFSInit||ur.initialized||ur.init(),ur.ignorePermissions=!1,Me(Q))}function ee(e){K.unshift(e)}function re(e){Z.unshift(e)}var te=0,ne=null;function ae(e){te++,f.monitorRunDependencies?.(te)}function oe(e){if(te--,f.monitorRunDependencies?.(te),0==te&&ne){var r=ne;ne=null,r()}}function ie(e){f.onAbort?.(e),j(e="Aborted("+e+")"),H=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw d(r),r}var se,le,ue,ce=e=>e.startsWith("data:application/octet-stream;base64,"),de=e=>e.startsWith("file://");function fe(){if(f.locateFile){var e="jsview-dom-browser-forge.1385.f80e.wasm";return ce(e)?e:(r=e,f.locateFile?f.locateFile(r,x):x+r)}var r;return new URL("jsview-dom-browser-forge.1385.f80e.wasm",import.meta.url).href}function me(e){if(e==se&&U)return new Uint8Array(U);if(b)return b(e);throw"both async and sync fetching of the wasm failed"}function he(e,r,t){return function(e){return U?Promise.resolve().then((()=>me(e))):_(e).then((e=>new Uint8Array(e)),(()=>me(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then(t,(e=>{j(`failed to asynchronously prepare wasm: ${e}`),ie(e)}))}function pe(){return{env:No={__assert_fail:Ue,__cxa_throw:Ge,__pthread_create_js:qe,__syscall_fcntl64:dr,__syscall_fstat64:fr,__syscall_ioctl:mr,__syscall_lstat64:hr,__syscall_newfstatat:pr,__syscall_openat:vr,__syscall_stat64:gr,_abort_js:br,_embind_register_bigint:Er,_embind_register_bool:jr,_embind_register_class:st,_embind_register_class_class_function:ht,_embind_register_emval:bt,_embind_register_float:Ct,_embind_register_function:xt,_embind_register_integer:Pt,_embind_register_memory_view:Tt,_embind_register_std_string:Ft,_embind_register_std_wstring:Ot,_embind_register_void:Wt,_emscripten_fetch_free:Bt,_emscripten_fetch_get_response_headers:Nt,_emscripten_fetch_get_response_headers_length:zt,_emscripten_get_now_is_monotonic:Ut,_emscripten_init_main_thread_js:Ht,_emscripten_notify_mailbox_postmessage:Yt,_emscripten_receive_on_main_thread_js:Qt,_emscripten_thread_cleanup:Zt,_emscripten_thread_mailbox_await:qt,_emscripten_thread_set_strongref:Jt,_emscripten_throw_longjmp:en,_emval_as:nn,_emval_call:on,_emval_call_method:un,_emval_decref:gt,_emval_get_global:dn,_emval_get_method_caller:fn,_emval_get_property:mn,_emval_incref:hn,_emval_instanceof:pn,_emval_is_number:vn,_emval_is_string:gn,_emval_new_array:yn,_emval_new_cstring:wn,_emval_new_object:_n,_emval_run_destructors:bn,_emval_set_property:En,_emval_take_value:kn,_emval_typeof:Cn,_mmap_js:xn,_munmap_js:Sn,_tzset_js:Pn,emscripten_asm_const_int:Fn,emscripten_async_call:Bn,emscripten_check_blocking_allowed:Nn,emscripten_date_now:zn,emscripten_exit_with_live_runtime:Un,emscripten_get_now:Dn,emscripten_log:Yn,emscripten_resize_heap:Qn,emscripten_set_main_loop:Zn,emscripten_start_fetch:oa,emscripten_webgl_create_context:da,emscripten_webgl_make_context_current:fa,environ_get:pa,environ_sizes_get:va,exit:je,fd_close:ga,fd_pread:wa,fd_read:_a,fd_seek:ba,fd_write:ka,glActiveTexture:Pa,glAttachShader:Ta,glBindBuffer:$a,glBindFramebuffer:Fa,glBindRenderbuffer:ja,glBindTexture:Aa,glBlendFunc:Ma,glBufferData:La,glBufferSubData:Da,glCheckFramebufferStatus:Ra,glClear:Ia,glClearColor:Oa,glClearStencil:Wa,glColorMask:Ba,glCompileShader:Na,glCompressedTexImage2D:za,glCreateProgram:Ua,glCreateShader:Ha,glDeleteBuffers:Ga,glDeleteFramebuffers:Va,glDeleteProgram:qa,glDeleteRenderbuffers:Xa,glDeleteShader:Ya,glDeleteTextures:Ka,glDisable:Qa,glDrawArrays:Za,glEnable:Ja,glEnableVertexAttribArray:eo,glFramebufferRenderbuffer:ro,glFramebufferTexture2D:to,glGenBuffers:no,glGenFramebuffers:ao,glGenRenderbuffers:oo,glGenTextures:io,glGetAttribLocation:so,glGetIntegerv:lo,glGetProgramiv:uo,glGetShaderInfoLog:co,glGetShaderiv:fo,glGetUniformLocation:ho,glLinkProgram:po,glPixelStorei:vo,glRenderbufferStorage:go,glScissor:yo,glShaderSource:wo,glStencilFunc:_o,glStencilMask:bo,glStencilOp:Eo,glTexImage2D:xo,glTexParameteri:So,glUniform1f:To,glUniform1fv:Fo,glUniform1i:jo,glUniform2f:Ao,glUniform3f:Mo,glUniform4f:Lo,glUniformMatrix4fv:Do,glUseProgram:Ro,glVertexAttribPointer:Io,glViewport:Oo,invoke_ii:ui,invoke_iii:ci,invoke_iiii:di,invoke_iiiii:wi,invoke_iiiiii:pi,invoke_iiiiiii:gi,invoke_iiiiiiiiii:_i,invoke_v:bi,invoke_vi:fi,invoke_vii:hi,invoke_viii:mi,invoke_viiii:vi,invoke_viiiii:yi,memory:A},wasi_snapshot_preview1:No}}var ve={1935700:()=>{throw new Error(oss.str())}};function ge(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var ye=e=>{e.terminate(),e.onmessage=e=>{}},we=e=>{var r=Ae.pthreads[e];Ae.returnWorkerToPool(r)},_e=e=>{var r=Ae.getNewWorker();if(!r)return 6;Ae.runningWorkers.push(r),Ae.pthreads[e.pthread_ptr]=r,r.pthread_ptr=e.pthread_ptr;var t={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return v&&r.unref(),r.postMessage(t,e.transferList),0},be=0,Ee=()=>Oe||be>0,ke=()=>li(),Ce=e=>ii(e),xe=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,Se=(e,r,t,...n)=>{for(var a=n.length,o=ke(),i=si(8*a),s=i>>3,l=0;l<n.length;l++){var c=n[l];u()[s+l]=c}var d=ri(e,r,a,i,t);return Ce(o),d};function Pe(e){if(g)return Se(0,0,1,e);L=e,Ee()||(Ae.terminateAllThreads(),f.onExit?.(e),H=!0),C(e,new ge(e))}var Te=e=>{if(e instanceof ge||"unwind"==e)return L;C(1,e)};function $e(e){if(g)return Se(1,0,0,e);je(e)}var Fe,je=(e,r)=>{if(L=e,g)throw $e(e),"unwind";Pe(e)},Ae={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){g||Ae.initMainThread()},initMainThread(){for(var e=8;e--;)Ae.allocateUnusedWorker();ee((()=>{ae(),Ae.loadWasmModuleToAllWorkers((()=>oe()))}))},terminateAllThreads:()=>{for(var e of Ae.runningWorkers)ye(e);for(var e of Ae.unusedWorkers)ye(e);Ae.unusedWorkers=[],Ae.runningWorkers=[],Ae.pthreads=[]},returnWorkerToPool:e=>{var r=e.pthread_ptr;delete Ae.pthreads[r],Ae.unusedWorkers.push(e),Ae.runningWorkers.splice(Ae.runningWorkers.indexOf(e),1),e.pthread_ptr=0,ti(r)},receiveObjectTransfer(e){},threadInitTLS(){Ae.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((r=>{e.onmessage=t=>{var n=t.data,a=n.cmd;if(n.targetThread&&n.targetThread!=Xo()){var o=Ae.pthreads[n.targetThread];o?o.postMessage(n,n.transferList):j(`Internal error! Worker sent a message "${a}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===a?Xt():"spawnThread"===a?_e(n):"cleanupThread"===a?we(n.thread):"loaded"===a?(e.loaded=!0,v&&!e.pthread_ptr&&e.unref(),r(e)):"alert"===a?alert(`Thread ${n.threadId}: ${n.text}`):"setimmediate"===n.target?e.postMessage(n):"callHandler"===a?f[n.handler](...n.args):a&&j(`worker sent an unknown command ${a}`)},e.onerror=e=>{throw j(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e},v&&(e.on("message",(r=>e.onmessage({data:r}))),e.on("error",(r=>e.onerror(r))));var t=[];for(var n of["onExit","onAbort","print","printErr"])f.propertyIsEnumerable(n)&&t.push(n);e.postMessage({cmd:"load",handlers:t,wasmMemory:A,wasmModule:M})})),loadWasmModuleToAllWorkers(e){if(g)return e();Promise.all(Ae.unusedWorkers.map(Ae.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker(){var e;e=new Worker(new URL("",import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"}),Ae.unusedWorkers.push(e)},getNewWorker:()=>(0==Ae.unusedWorkers.length&&(Ae.allocateUnusedWorker(),Ae.loadWasmModuleToWorker(Ae.unusedWorkers[0])),Ae.unusedWorkers.pop())},Me=e=>{e.forEach((e=>e(f)))},Le=e=>{G();var r=s()[e+52>>2],t=s()[e+56>>2];oi(r,r-t),Ce(r)},De=[],Re=e=>{var r=De[e];return r||(e>=De.length&&(De.length=e+1),De[e]=r=Fe.get(e)),r},Ie=(e,r)=>{be=0,Oe=0,function(e){Ee()?L=e:ni(e)}(Re(e)(r))},Oe=f.noExitRuntime||!0,We=e=>Ae.tlsInitFunctions.push(e),Be="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Ne=(e,r=0,t=NaN)=>{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&Be)return Be.decode(e.buffer instanceof SharedArrayBuffer?e.slice(r,a):e.subarray(r,a));for(var o="";r<a;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var l=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|l:(7&i)<<18|s<<12|l<<6|63&e[r++])<65536)o+=String.fromCharCode(i);else{var u=i-65536;o+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},ze=(e,r)=>e?Ne(n(),e,r):"",Ue=(e,r,t,n)=>{ie(`Assertion failed: ${ze(e)}, at: `+[r?ze(r):"unknown filename",t,n?ze(n):"unknown function"])};class He{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){s()[this.ptr+4>>2]=e}get_type(){return s()[this.ptr+4>>2]}set_destructor(e){s()[this.ptr+8>>2]=e}get_destructor(){return s()[this.ptr+8>>2]}set_caught(e){e=e?1:0,t()[this.ptr+12]=e}get_caught(){return 0!=t()[this.ptr+12]}set_rethrown(e){e=e?1:0,t()[this.ptr+13]=e}get_rethrown(){return 0!=t()[this.ptr+13]}init(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r)}set_adjusted_ptr(e){s()[this.ptr+16>>2]=e}get_adjusted_ptr(){return s()[this.ptr+16>>2]}}var Ge=(e,r,t)=>{throw new He(e).init(r,t),e};function Ve(e,r,t,n){return g?Se(2,0,1,e,r,t,n):qe(e,r,t,n)}var qe=(e,r,t,n)=>{if("undefined"==typeof SharedArrayBuffer)return 6;var a=[];if(g&&0===a.length)return Ve(e,r,t,n);var o={startRoutine:t,pthread_ptr:e,arg:n,transferList:a};return g?(o.cmd="spawnThread",postMessage(o,a),0):_e(o)};function Xe(){var e=i()[+cr.varargs>>2];return cr.varargs+=4,e}var Ye=Xe,Ke={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Ke.isAbs(e),t="/"===e.substr(-1);return(e=Ke.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Ke.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Ke.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:(...e)=>Ke.normalize(e.join("/")),join2:(e,r)=>Ke.normalize(e+"/"+r)},Qe=e=>(Qe=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>(e.set(crypto.getRandomValues(new Uint8Array(e.byteLength))),e);if(v)try{var e=y("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}ie("initRandomDevice")})())(e),Ze={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var a=n>=0?e[n]:ur.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";r=a+"/"+r,t=Ke.isAbs(a)}return(t?"/":"")+(r=Ke.normalizeArray(r.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=Ze.resolve(e).substr(1),r=Ze.resolve(r).substr(1);for(var n=t(e.split("/")),a=t(r.split("/")),o=Math.min(n.length,a.length),i=o,s=0;s<o;s++)if(n[s]!==a[s]){i=s;break}var l=[];for(s=i;s<n.length;s++)l.push("..");return(l=l.concat(a.slice(i))).join("/")}},Je=[],er=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},rr=(e,r,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=o)break;r[t++]=s}else if(s<=2047){if(t+1>=o)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=o)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=o)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-a};function tr(e,r,t){var n=t>0?t:er(e)+1,a=new Array(n),o=rr(e,a,0,a.length);return r&&(a.length=o),a}var nr={ttys:[],init(){},shutdown(){},register(e,r){nr.ttys[e]={input:[],output:[],ops:r},ur.registerDevice(e,nr.stream_ops)},stream_ops:{open(e){var r=nr.ttys[e.node.rdev];if(!r)throw new ur.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,a){if(!e.tty||!e.tty.ops.get_char)throw new ur.ErrnoError(60);for(var o=0,i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new ur.ErrnoError(29)}if(void 0===s&&0===o)throw new ur.ErrnoError(6);if(null==s)break;o++,r[t+i]=s}return o&&(e.node.timestamp=Date.now()),o},write(e,r,t,n,a){if(!e.tty||!e.tty.ops.put_char)throw new ur.ErrnoError(60);try{for(var o=0;o<n;o++)e.tty.ops.put_char(e.tty,r[t+o])}catch(e){throw new ur.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char:e=>(()=>{if(!Je.length){var e=null;if(v){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=S.readSync(n,r,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}t>0&&(e=r.slice(0,t).toString("utf-8"))}else"undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;Je=tr(e,!0)}return Je.shift()})(),put_char(e,r){null===r||10===r?(F(Ne(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(F(Ne(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(j(Ne(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(j(Ne(e.output)),e.output=[])}}},ar=(e,r)=>Math.ceil(e/r)*r,or=e=>{e=ar(e,65536);var r=Zo(65536,e);return r&&((e,r)=>{n().fill(0,e,e+r)})(r,e),r},ir={ops_table:null,mount:e=>ir.createNode(null,"/",16895,0),createNode(e,r,t,n){if(ur.isBlkdev(t)||ur.isFIFO(t))throw new ur.ErrnoError(63);ir.ops_table||={dir:{node:{getattr:ir.node_ops.getattr,setattr:ir.node_ops.setattr,lookup:ir.node_ops.lookup,mknod:ir.node_ops.mknod,rename:ir.node_ops.rename,unlink:ir.node_ops.unlink,rmdir:ir.node_ops.rmdir,readdir:ir.node_ops.readdir,symlink:ir.node_ops.symlink},stream:{llseek:ir.stream_ops.llseek}},file:{node:{getattr:ir.node_ops.getattr,setattr:ir.node_ops.setattr},stream:{llseek:ir.stream_ops.llseek,read:ir.stream_ops.read,write:ir.stream_ops.write,allocate:ir.stream_ops.allocate,mmap:ir.stream_ops.mmap,msync:ir.stream_ops.msync}},link:{node:{getattr:ir.node_ops.getattr,setattr:ir.node_ops.setattr,readlink:ir.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ir.node_ops.getattr,setattr:ir.node_ops.setattr},stream:ur.chrdev_stream_ops}};var a=ur.createNode(e,r,t,n);return ur.isDir(a.mode)?(a.node_ops=ir.ops_table.dir.node,a.stream_ops=ir.ops_table.dir.stream,a.contents={}):ur.isFile(a.mode)?(a.node_ops=ir.ops_table.file.node,a.stream_ops=ir.ops_table.file.stream,a.usedBytes=0,a.contents=null):ur.isLink(a.mode)?(a.node_ops=ir.ops_table.link.node,a.stream_ops=ir.ops_table.link.stream):ur.isChrdev(a.mode)&&(a.node_ops=ir.ops_table.chrdev.node,a.stream_ops=ir.ops_table.chrdev.stream),a.timestamp=Date.now(),e&&(e.contents[r]=a,e.timestamp=a.timestamp),a},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=ur.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,ur.isDir(e.mode)?r.size=4096:ur.isFile(e.mode)?r.size=e.usedBytes:ur.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&ir.resizeFileStorage(e,r.size)},lookup(e,r){throw ur.genericErrors[44]},mknod:(e,r,t,n)=>ir.createNode(e,r,t,n),rename(e,r,t){if(ur.isDir(e.mode)){var n;try{n=ur.lookupNode(r,t)}catch(e){}if(n)for(var a in n.contents)throw new ur.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=ur.lookupNode(e,r);for(var n in t.contents)throw new ur.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=ir.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!ur.isLink(e.mode))throw new ur.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,a){var o=e.node.contents;if(a>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-a,n);if(i>8&&o.subarray)r.set(o.subarray(a,a+i),t);else for(var s=0;s<i;s++)r[t+s]=o[a+s];return i},write(e,r,n,a,o,i){if(r.buffer===t().buffer&&(i=!1),!a)return 0;var s=e.node;if(s.timestamp=Date.now(),r.subarray&&(!s.contents||s.contents.subarray)){if(i)return s.contents=r.subarray(n,n+a),s.usedBytes=a,a;if(0===s.usedBytes&&0===o)return s.contents=r.slice(n,n+a),s.usedBytes=a,a;if(o+a<=s.usedBytes)return s.contents.set(r.subarray(n,n+a),o),a}if(ir.expandFileStorage(s,o+a),s.contents.subarray&&r.subarray)s.contents.set(r.subarray(n,n+a),o);else for(var l=0;l<a;l++)s.contents[o+l]=r[n+l];return s.usedBytes=Math.max(s.usedBytes,o+a),a},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&ur.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new ur.ErrnoError(28);return n},allocate(e,r,t){ir.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,n,a,o){if(!ur.isFile(e.node.mode))throw new ur.ErrnoError(43);var i,s,l=e.node.contents;if(2&o||!l||l.buffer!==t().buffer){if(s=!0,!(i=or(r)))throw new ur.ErrnoError(48);l&&((n>0||n+r<l.length)&&(l=l.subarray?l.subarray(n,n+r):Array.prototype.slice.call(l,n,n+r)),t().set(l,i))}else s=!1,i=l.byteOffset;return{ptr:i,allocated:s}},msync:(e,r,t,n,a)=>(ir.stream_ops.write(e,r,0,n,t,!1),0)}},sr=f.preloadPlugins||[],lr=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},ur={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ur.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return ur.isDir(this.mode)}get isDevice(){return ur.isChrdev(this.mode)}},lookupPath(e,r={}){if(!(e=Ze.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new ur.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=ur.root,a="/",o=0;o<t.length;o++){var i=o===t.length-1;if(i&&r.parent)break;if(n=ur.lookupNode(n,t[o]),a=Ke.join2(a,t[o]),ur.isMountpoint(n)&&(!i||i&&r.follow_mount)&&(n=n.mounted.root),!i||r.follow)for(var s=0;ur.isLink(n.mode);){var l=ur.readlink(a);if(a=Ze.resolve(Ke.dirname(a),l),n=ur.lookupPath(a,{recurse_count:r.recurse_count+1}).node,s++>40)throw new ur.ErrnoError(32)}}return{path:a,node:n}},getPath(e){for(var r;;){if(ur.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%ur.nameTable.length},hashAddNode(e){var r=ur.hashName(e.parent.id,e.name);e.name_next=ur.nameTable[r],ur.nameTable[r]=e},hashRemoveNode(e){var r=ur.hashName(e.parent.id,e.name);if(ur.nameTable[r]===e)ur.nameTable[r]=e.name_next;else for(var t=ur.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=ur.mayLookup(e);if(t)throw new ur.ErrnoError(t);for(var n=ur.hashName(e.id,r),a=ur.nameTable[n];a;a=a.name_next){var o=a.name;if(a.parent.id===e.id&&o===r)return a}return ur.lookup(e,r)},createNode(e,r,t,n){var a=new ur.FSNode(e,r,t,n);return ur.hashAddNode(a),a},destroyNode(e){ur.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>ur.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!ur.isDir(e.mode))return 54;var r=ur.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return ur.lookupNode(e,r),20}catch(e){}return ur.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=ur.lookupNode(e,r)}catch(e){return e.errno}var a=ur.nodePermissions(e,"wx");if(a)return a;if(t){if(!ur.isDir(n.mode))return 54;if(ur.isRoot(n)||ur.getPath(n)===ur.cwd())return 10}else if(ur.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?ur.isLink(e.mode)?32:ur.isDir(e.mode)&&("r"!==ur.flagsToPermissionString(r)||512&r)?31:ur.nodePermissions(e,ur.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ur.MAX_OPEN_FDS;e++)if(!ur.streams[e])return e;throw new ur.ErrnoError(33)},getStreamChecked(e){var r=ur.getStream(e);if(!r)throw new ur.ErrnoError(8);return r},getStream:e=>ur.streams[e],createStream:(e,r=-1)=>(e=Object.assign(new ur.FSStream,e),-1==r&&(r=ur.nextfd()),e.fd=r,ur.streams[r]=e,e),closeStream(e){ur.streams[e]=null},dupStream(e,r=-1){var t=ur.createStream(e,r);return t.stream_ops?.dup?.(t),t},chrdev_stream_ops:{open(e){var r=ur.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new ur.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){ur.devices[e]={stream_ops:r}},getDevice:e=>ur.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),ur.syncFSRequests++,ur.syncFSRequests>1&&j(`warning: ${ur.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=ur.getMounts(ur.root.mount),n=0;function a(e){return ur.syncFSRequests--,r(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,a(e));++n>=t.length&&a(null)}t.forEach((r=>{if(!r.type.syncfs)return o(null);r.type.syncfs(r,e,o)}))},mount(e,r,t){var n,a="/"===t,o=!t;if(a&&ur.root)throw new ur.ErrnoError(10);if(!a&&!o){var i=ur.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,ur.isMountpoint(n))throw new ur.ErrnoError(10);if(!ur.isDir(n.mode))throw new ur.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,a?ur.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var r=ur.lookupPath(e,{follow_mount:!1});if(!ur.isMountpoint(r.node))throw new ur.ErrnoError(28);var t=r.node,n=t.mounted,a=ur.getMounts(n);Object.keys(ur.nameTable).forEach((e=>{for(var r=ur.nameTable[e];r;){var t=r.name_next;a.includes(r.mount)&&ur.destroyNode(r),r=t}})),t.mounted=null;var o=t.mount.mounts.indexOf(n);t.mount.mounts.splice(o,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=ur.lookupPath(e,{parent:!0}).node,a=Ke.basename(e);if(!a||"."===a||".."===a)throw new ur.ErrnoError(28);var o=ur.mayCreate(n,a);if(o)throw new ur.ErrnoError(o);if(!n.node_ops.mknod)throw new ur.ErrnoError(63);return n.node_ops.mknod(n,a,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,ur.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,ur.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",a=0;a<t.length;++a)if(t[a]){n+="/"+t[a];try{ur.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,ur.mknod(e,r,t)),symlink(e,r){if(!Ze.resolve(e))throw new ur.ErrnoError(44);var t=ur.lookupPath(r,{parent:!0}).node;if(!t)throw new ur.ErrnoError(44);var n=Ke.basename(r),a=ur.mayCreate(t,n);if(a)throw new ur.ErrnoError(a);if(!t.node_ops.symlink)throw new ur.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,a=Ke.dirname(e),o=Ke.dirname(r),i=Ke.basename(e),s=Ke.basename(r);if(t=ur.lookupPath(e,{parent:!0}).node,n=ur.lookupPath(r,{parent:!0}).node,!t||!n)throw new ur.ErrnoError(44);if(t.mount!==n.mount)throw new ur.ErrnoError(75);var l,u=ur.lookupNode(t,i),c=Ze.relative(e,o);if("."!==c.charAt(0))throw new ur.ErrnoError(28);if("."!==(c=Ze.relative(r,a)).charAt(0))throw new ur.ErrnoError(55);try{l=ur.lookupNode(n,s)}catch(e){}if(u!==l){var d=ur.isDir(u.mode),f=ur.mayDelete(t,i,d);if(f)throw new ur.ErrnoError(f);if(f=l?ur.mayDelete(n,s,d):ur.mayCreate(n,s))throw new ur.ErrnoError(f);if(!t.node_ops.rename)throw new ur.ErrnoError(63);if(ur.isMountpoint(u)||l&&ur.isMountpoint(l))throw new ur.ErrnoError(10);if(n!==t&&(f=ur.nodePermissions(t,"w")))throw new ur.ErrnoError(f);ur.hashRemoveNode(u);try{t.node_ops.rename(u,n,s),u.parent=n}catch(e){throw e}finally{ur.hashAddNode(u)}}},rmdir(e){var r=ur.lookupPath(e,{parent:!0}).node,t=Ke.basename(e),n=ur.lookupNode(r,t),a=ur.mayDelete(r,t,!0);if(a)throw new ur.ErrnoError(a);if(!r.node_ops.rmdir)throw new ur.ErrnoError(63);if(ur.isMountpoint(n))throw new ur.ErrnoError(10);r.node_ops.rmdir(r,t),ur.destroyNode(n)},readdir(e){var r=ur.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new ur.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=ur.lookupPath(e,{parent:!0}).node;if(!r)throw new ur.ErrnoError(44);var t=Ke.basename(e),n=ur.lookupNode(r,t),a=ur.mayDelete(r,t,!1);if(a)throw new ur.ErrnoError(a);if(!r.node_ops.unlink)throw new ur.ErrnoError(63);if(ur.isMountpoint(n))throw new ur.ErrnoError(10);r.node_ops.unlink(r,t),ur.destroyNode(n)},readlink(e){var r=ur.lookupPath(e).node;if(!r)throw new ur.ErrnoError(44);if(!r.node_ops.readlink)throw new ur.ErrnoError(28);return Ze.resolve(ur.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=ur.lookupPath(e,{follow:!r}).node;if(!t)throw new ur.ErrnoError(44);if(!t.node_ops.getattr)throw new ur.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>ur.stat(e,!0),chmod(e,r,t){var n;if(!(n="string"==typeof e?ur.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new ur.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){ur.chmod(e,r,!0)},fchmod(e,r){var t=ur.getStreamChecked(e);ur.chmod(t.node,r)},chown(e,r,t,n){var a;if(!(a="string"==typeof e?ur.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new ur.ErrnoError(63);a.node_ops.setattr(a,{timestamp:Date.now()})},lchown(e,r,t){ur.chown(e,r,t,!0)},fchown(e,r,t){var n=ur.getStreamChecked(e);ur.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new ur.ErrnoError(28);var t;if(!(t="string"==typeof e?ur.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ur.ErrnoError(63);if(ur.isDir(t.mode))throw new ur.ErrnoError(31);if(!ur.isFile(t.mode))throw new ur.ErrnoError(28);var n=ur.nodePermissions(t,"w");if(n)throw new ur.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=ur.getStreamChecked(e);if(!(2097155&t.flags))throw new ur.ErrnoError(28);ur.truncate(t.node,r)},utime(e,r,t){var n=ur.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new ur.ErrnoError(44);var n;if(t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&(t=void 0===t?438:t)|32768:0,"object"==typeof e)n=e;else{e=Ke.normalize(e);try{n=ur.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(n){if(128&r)throw new ur.ErrnoError(20)}else n=ur.mknod(e,t,0),a=!0;if(!n)throw new ur.ErrnoError(44);if(ur.isChrdev(n.mode)&&(r&=-513),65536&r&&!ur.isDir(n.mode))throw new ur.ErrnoError(54);if(!a){var o=ur.mayOpen(n,r);if(o)throw new ur.ErrnoError(o)}512&r&&!a&&ur.truncate(n,0),r&=-131713;var i=ur.createStream({node:n,path:ur.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!f.logReadFiles||1&r||e in ur.readFiles||(ur.readFiles[e]=1),i},close(e){if(ur.isClosed(e))throw new ur.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ur.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(ur.isClosed(e))throw new ur.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ur.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new ur.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,a){if(n<0||a<0)throw new ur.ErrnoError(28);if(ur.isClosed(e))throw new ur.ErrnoError(8);if(1==(2097155&e.flags))throw new ur.ErrnoError(8);if(ur.isDir(e.node.mode))throw new ur.ErrnoError(31);if(!e.stream_ops.read)throw new ur.ErrnoError(28);var o=void 0!==a;if(o){if(!e.seekable)throw new ur.ErrnoError(70)}else a=e.position;var i=e.stream_ops.read(e,r,t,n,a);return o||(e.position+=i),i},write(e,r,t,n,a,o){if(n<0||a<0)throw new ur.ErrnoError(28);if(ur.isClosed(e))throw new ur.ErrnoError(8);if(!(2097155&e.flags))throw new ur.ErrnoError(8);if(ur.isDir(e.node.mode))throw new ur.ErrnoError(31);if(!e.stream_ops.write)throw new ur.ErrnoError(28);e.seekable&&1024&e.flags&&ur.llseek(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new ur.ErrnoError(70)}else a=e.position;var s=e.stream_ops.write(e,r,t,n,a,o);return i||(e.position+=s),s},allocate(e,r,t){if(ur.isClosed(e))throw new ur.ErrnoError(8);if(r<0||t<=0)throw new ur.ErrnoError(28);if(!(2097155&e.flags))throw new ur.ErrnoError(8);if(!ur.isFile(e.node.mode)&&!ur.isDir(e.node.mode))throw new ur.ErrnoError(43);if(!e.stream_ops.allocate)throw new ur.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,a){if(2&n&&!(2&a)&&2!=(2097155&e.flags))throw new ur.ErrnoError(2);if(1==(2097155&e.flags))throw new ur.ErrnoError(2);if(!e.stream_ops.mmap)throw new ur.ErrnoError(43);if(!r)throw new ur.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,a)},msync:(e,r,t,n,a)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,a):0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new ur.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=ur.open(e,r.flags),a=ur.stat(e).size,o=new Uint8Array(a);return ur.read(n,o,0,a,0),"utf8"===r.encoding?t=Ne(o):"binary"===r.encoding&&(t=o),ur.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=ur.open(e,t.flags,t.mode);if("string"==typeof r){var a=new Uint8Array(er(r)+1),o=rr(r,a,0,a.length);ur.write(n,a,0,o,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");ur.write(n,r,0,r.byteLength,void 0,t.canOwn)}ur.close(n)},cwd:()=>ur.currentPath,chdir(e){var r=ur.lookupPath(e,{follow:!0});if(null===r.node)throw new ur.ErrnoError(44);if(!ur.isDir(r.node.mode))throw new ur.ErrnoError(54);var t=ur.nodePermissions(r.node,"x");if(t)throw new ur.ErrnoError(t);ur.currentPath=r.path},createDefaultDirectories(){ur.mkdir("/tmp"),ur.mkdir("/home"),ur.mkdir("/home/web_user")},createDefaultDevices(){ur.mkdir("/dev"),ur.registerDevice(ur.makedev(1,3),{read:()=>0,write:(e,r,t,n,a)=>n}),ur.mkdev("/dev/null",ur.makedev(1,3)),nr.register(ur.makedev(5,0),nr.default_tty_ops),nr.register(ur.makedev(6,0),nr.default_tty1_ops),ur.mkdev("/dev/tty",ur.makedev(5,0)),ur.mkdev("/dev/tty1",ur.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=Qe(e).byteLength),e[--r]);ur.createDevice("/dev","random",t),ur.createDevice("/dev","urandom",t),ur.mkdir("/dev/shm"),ur.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ur.mkdir("/proc");var e=ur.mkdir("/proc/self");ur.mkdir("/proc/self/fd"),ur.mount({mount(){var r=ur.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=ur.getStreamChecked(t),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return a.parent=a,a}},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?ur.createDevice("/dev","stdin",e):ur.symlink("/dev/tty","/dev/stdin"),r?ur.createDevice("/dev","stdout",null,r):ur.symlink("/dev/tty","/dev/stdout"),t?ur.createDevice("/dev","stderr",null,t):ur.symlink("/dev/tty1","/dev/stderr"),ur.open("/dev/stdin",0),ur.open("/dev/stdout",1),ur.open("/dev/stderr",1)},staticInit(){[44].forEach((e=>{ur.genericErrors[e]=new ur.ErrnoError(e),ur.genericErrors[e].stack="<generic error, no stack>"})),ur.nameTable=new Array(4096),ur.mount(ir,{},"/"),ur.createDefaultDirectories(),ur.createDefaultDevices(),ur.createSpecialDirectories(),ur.filesystems={MEMFS:ir}},init(e,r,t){ur.initialized=!0,e??=f.stdin,r??=f.stdout,t??=f.stderr,ur.createStandardStreams(e,r,t)},quit(){ur.initialized=!1;for(var e=0;e<ur.streams.length;e++){var r=ur.streams[e];r&&ur.close(r)}},findObject(e,r){var t=ur.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=ur.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=ur.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Ke.basename(e),n=ur.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:ur.getPath(e);for(var a=r.split("/").reverse();a.length;){var o=a.pop();if(o){var i=Ke.join2(e,o);try{ur.mkdir(i)}catch(e){}e=i}}return i},createFile(e,r,t,n,a){var o=Ke.join2("string"==typeof e?e:ur.getPath(e),r),i=lr(n,a);return ur.create(o,i)},createDataFile(e,r,t,n,a,o){var i=r;e&&(e="string"==typeof e?e:ur.getPath(e),i=r?Ke.join2(e,r):e);var s=lr(n,a),l=ur.create(i,s);if(t){if("string"==typeof t){for(var u=new Array(t.length),c=0,d=t.length;c<d;++c)u[c]=t.charCodeAt(c);t=u}ur.chmod(l,146|s);var f=ur.open(l,577);ur.write(f,t,0,t.length,0,o),ur.close(f),ur.chmod(l,s)}},createDevice(e,r,t,n){var a=Ke.join2("string"==typeof e?e:ur.getPath(e),r),o=lr(!!t,!!n);ur.createDevice.major??=64;var i=ur.makedev(ur.createDevice.major++,0);return ur.registerDevice(i,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,r,n,a,o){for(var i=0,s=0;s<a;s++){var l;try{l=t()}catch(e){throw new ur.ErrnoError(29)}if(void 0===l&&0===i)throw new ur.ErrnoError(6);if(null==l)break;i++,r[n+s]=l}return i&&(e.node.timestamp=Date.now()),i},write(e,r,t,a,o){for(var i=0;i<a;i++)try{n(r[t+i])}catch(e){throw new ur.ErrnoError(29)}return a&&(e.node.timestamp=Date.now()),i}}),ur.mkdev(a,o,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)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.");try{e.contents=b(e.url),e.usedBytes=e.contents.length}catch(e){throw new ur.ErrnoError(29)}},createLazyFile(e,r,n,a,o){class i{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var r,t=Number(e.getResponseHeader("Content-length")),a=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,o=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;a||(i=t);var s=this;s.setDataGetter((e=>{var r=e*i,a=(e+1)*i-1;if(a=Math.min(a,t-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>t-1)throw new Error("only "+t+" bytes available! programmer error!");var a=new XMLHttpRequest;if(a.open("GET",n,!1),t!==i&&a.setRequestHeader("Range","bytes="+e+"-"+r),a.responseType="arraybuffer",a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined"),a.send(null),!(a.status>=200&&a.status<300||304===a.status))throw new Error("Couldn't load "+n+". Status: "+a.status);return void 0!==a.response?new Uint8Array(a.response||[]):tr(a.responseText||"",!0)})(r,a)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!o&&t||(i=t=1,t=this.getter(0).length,i=t,F("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=t,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,contents:new i}}else s={isDevice:!1,url:n};var l=ur.createFile(e,r,s,a,o);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,r,t,n,a){var o=e.node.contents;if(a>=o.length)return 0;var i=Math.min(o.length-a,n);if(o.slice)for(var s=0;s<i;s++)r[t+s]=o[a+s];else for(s=0;s<i;s++)r[t+s]=o.get(a+s);return i}return Object.keys(l.stream_ops).forEach((e=>{var r=l.stream_ops[e];u[e]=(...e)=>(ur.forceLoadFile(l),r(...e))})),u.read=(e,r,t,n,a)=>(ur.forceLoadFile(l),c(e,r,t,n,a)),u.mmap=(e,r,n,a,o)=>{ur.forceLoadFile(l);var i=or(r);if(!i)throw new ur.ErrnoError(48);return c(e,t(),i,r,n),{ptr:i,allocated:!0}},l.stream_ops=u,l}},cr={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Ke.isAbs(r))return r;var n;if(n=-100===e?ur.cwd():cr.getStreamFromFD(e).path,0==r.length){if(!t)throw new ur.ErrnoError(44);return n}return Ke.join2(n,r)},doStat(e,r,t){var n=e(r);i()[t>>2]=n.dev,i()[t+4>>2]=n.mode,s()[t+8>>2]=n.nlink,i()[t+12>>2]=n.uid,i()[t+16>>2]=n.gid,i()[t+20>>2]=n.rdev,ue=[n.size>>>0,(le=n.size,+Math.abs(le)>=1?le>0?+Math.floor(le/4294967296)>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],i()[t+24>>2]=ue[0],i()[t+28>>2]=ue[1],i()[t+32>>2]=4096,i()[t+36>>2]=n.blocks;var a=n.atime.getTime(),o=n.mtime.getTime(),l=n.ctime.getTime();return ue=[Math.floor(a/1e3)>>>0,(le=Math.floor(a/1e3),+Math.abs(le)>=1?le>0?+Math.floor(le/4294967296)>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],i()[t+40>>2]=ue[0],i()[t+44>>2]=ue[1],s()[t+48>>2]=a%1e3*1e3*1e3,ue=[Math.floor(o/1e3)>>>0,(le=Math.floor(o/1e3),+Math.abs(le)>=1?le>0?+Math.floor(le/4294967296)>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],i()[t+56>>2]=ue[0],i()[t+60>>2]=ue[1],s()[t+64>>2]=o%1e3*1e3*1e3,ue=[Math.floor(l/1e3)>>>0,(le=Math.floor(l/1e3),+Math.abs(le)>=1?le>0?+Math.floor(le/4294967296)>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],i()[t+72>>2]=ue[0],i()[t+76>>2]=ue[1],s()[t+80>>2]=l%1e3*1e3*1e3,ue=[n.ino>>>0,(le=n.ino,+Math.abs(le)>=1?le>0?+Math.floor(le/4294967296)>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],i()[t+88>>2]=ue[0],i()[t+92>>2]=ue[1],0},doMsync(e,r,t,a,o){if(!ur.isFile(r.node.mode))throw new ur.ErrnoError(43);if(2&a)return 0;var i=n().slice(e,e+t);ur.msync(r,i,o,t,a)},getStreamFromFD:e=>ur.getStreamChecked(e),varargs:void 0,getStr:e=>ze(e)};function dr(e,r,t){if(g)return Se(3,0,1,e,r,t);cr.varargs=t;try{var n=cr.getStreamFromFD(e);switch(r){case 0:if((o=Xe())<0)return-28;for(;ur.streams[o];)o++;return ur.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Xe();return n.flags|=o,0;case 12:return o=Ye(),a()[o+0>>1]=2,0}return-28}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}function fr(e,r){if(g)return Se(4,0,1,e,r);try{var t=cr.getStreamFromFD(e);return cr.doStat(ur.stat,t.path,r)}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}function mr(e,r,n){if(g)return Se(5,0,1,e,r,n);cr.varargs=n;try{var o=cr.getStreamFromFD(e);switch(r){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return o.tty?0:-59;case 21505:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcgets){var s=o.tty.ops.ioctl_tcgets(o),l=Ye();i()[l>>2]=s.c_iflag||0,i()[l+4>>2]=s.c_oflag||0,i()[l+8>>2]=s.c_cflag||0,i()[l+12>>2]=s.c_lflag||0;for(var u=0;u<32;u++)t()[l+u+17]=s.c_cc[u]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcsets){l=Ye();var c=i()[l>>2],d=i()[l+4>>2],f=i()[l+8>>2],m=i()[l+12>>2],h=[];for(u=0;u<32;u++)h.push(t()[l+u+17]);return o.tty.ops.ioctl_tcsets(o.tty,r,{c_iflag:c,c_oflag:d,c_cflag:f,c_lflag:m,c_cc:h})}return 0;case 21519:return o.tty?(l=Ye(),i()[l>>2]=0,0):-59;case 21520:return o.tty?-28:-59;case 21531:return l=Ye(),ur.ioctl(o,r,l);case 21523:if(!o.tty)return-59;if(o.tty.ops.ioctl_tiocgwinsz){var p=o.tty.ops.ioctl_tiocgwinsz(o.tty);l=Ye(),a()[l>>1]=p[0],a()[l+2>>1]=p[1]}return 0;default:return-28}}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}function hr(e,r){if(g)return Se(6,0,1,e,r);try{return e=cr.getStr(e),cr.doStat(ur.lstat,e,r)}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}function pr(e,r,t,n){if(g)return Se(7,0,1,e,r,t,n);try{r=cr.getStr(r);var a=256&n,o=4096&n;return n&=-6401,r=cr.calculateAt(e,r,o),cr.doStat(a?ur.lstat:ur.stat,r,t)}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}function vr(e,r,t,n){if(g)return Se(8,0,1,e,r,t,n);cr.varargs=n;try{r=cr.getStr(r),r=cr.calculateAt(e,r);var a=n?Xe():0;return ur.open(r,t,a).fd}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}function gr(e,r){if(g)return Se(9,0,1,e,r);try{return e=cr.getStr(e),cr.doStat(ur.stat,e,r)}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}var yr,wr,_r,br=()=>{ie("")},Er=(e,r,t,n,a)=>{},kr=e=>{for(var r="",t=e;n()[t];)r+=yr[n()[t++]];return r},Cr={},xr={},Sr={},Pr=e=>{throw new wr(e)},Tr=e=>{throw new _r(e)},$r=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&Tr("Mismatched type converter count");for(var a=0;a<e.length;++a)Fr(e[a],n[a])}e.forEach((e=>Sr[e]=r));var a=new Array(r.length),o=[],i=0;r.forEach(((e,r)=>{xr.hasOwnProperty(e)?a[r]=xr[e]:(o.push(e),Cr.hasOwnProperty(e)||(Cr[e]=[]),Cr[e].push((()=>{a[r]=xr[e],++i===o.length&&n(a)})))})),0===o.length&&n(a)};function Fr(e,r,t={}){return function(e,r,t={}){var n=r.name;if(e||Pr(`type "${n}" must have a positive integer typeid pointer`),xr.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Pr(`Cannot register type '${n}' twice`)}if(xr[e]=r,delete Sr[e],Cr.hasOwnProperty(e)){var a=Cr[e];delete Cr[e],a.forEach((e=>e()))}}(e,r,t)}var jr=(e,r,t,a)=>{Fr(e,{name:r=kr(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:a},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(n()[e])},destructorFunction:null})},Ar=e=>{Pr(e.$$.ptrType.registeredClass.name+" instance already deleted")},Mr=!1,Lr=e=>{},Dr=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Rr=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=Rr(e,r,t.baseClass);return null===n?null:t.downcast(n)},Ir={},Or={},Wr=(e,r)=>(r=((e,r)=>{for(void 0===r&&Pr("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),Or[r]),Br=(e,r)=>(r.ptrType&&r.ptr||Tr("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&Tr("Both smartPtrType and smartPtr must be specified"),r.count={value:1},zr(Object.create(e,{$$:{value:r,writable:!0}})));function Nr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=Wr(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?Br(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Br(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,i=this.registeredClass.getActualType(r),s=Ir[i];if(!s)return a.call(this);o=this.isConst?s.constPointerType:s.pointerType;var l=Rr(r,this.registeredClass,o.registeredClass);return null===l?a.call(this):this.isSmartPointer?Br(o.registeredClass.instancePrototype,{ptrType:o,ptr:l,smartPtrType:this,smartPtr:e}):Br(o.registeredClass.instancePrototype,{ptrType:o,ptr:l})}var zr=e=>"undefined"==typeof FinalizationRegistry?(zr=e=>e,e):(Mr=new FinalizationRegistry((e=>{Dr(e.$$)})),zr=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};Mr.register(e,t,e)}return e},Lr=e=>Mr.unregister(e),zr(e)),Ur=[];function Hr(){}var Gr=(e,r)=>Object.defineProperty(r,"name",{value:e}),Vr=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(...n){return e[r].overloadTable.hasOwnProperty(n.length)||Pr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[n.length].apply(this,n)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},qr=(e,r,t)=>{f.hasOwnProperty(e)?((void 0===t||void 0!==f[e].overloadTable&&void 0!==f[e].overloadTable[t])&&Pr(`Cannot register public name '${e}' twice`),Vr(f,e,e),f[e].overloadTable.hasOwnProperty(t)&&Pr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),f[e].overloadTable[t]=r):(f[e]=r,f[e].argCount=t)};function Xr(e,r,t,n,a,o,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Yr=(e,r,t)=>{for(;r!==t;)r.upcast||Pr(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function Kr(e,r){if(null===r)return this.isReference&&Pr(`null is not a valid ${this.name}`),0;r.$$||Pr(`Cannot pass "${Et(r)}" as a ${this.name}`),r.$$.ptr||Pr(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Yr(r.$$.ptr,t,this.registeredClass)}function Qr(e,r){var t;if(null===r)return this.isReference&&Pr(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||Pr(`Cannot pass "${Et(r)}" as a ${this.name}`),r.$$.ptr||Pr(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&Pr(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var n=r.$$.ptrType.registeredClass;if(t=Yr(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&Pr("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:Pr(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,wt.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:Pr("Unsupporting sharing policy")}return t}function Zr(e,r){if(null===r)return this.isReference&&Pr(`null is not a valid ${this.name}`),0;r.$$||Pr(`Cannot pass "${Et(r)}" as a ${this.name}`),r.$$.ptr||Pr(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&Pr(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Yr(r.$$.ptr,t,this.registeredClass)}function Jr(e){return this.fromWireType(s()[e>>2])}function et(e,r,t,n,a,o,i,s,l,u,c){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,a||void 0!==r.baseClass?this.toWireType=Qr:n?(this.toWireType=Kr,this.destructorFunction=null):(this.toWireType=Zr,this.destructorFunction=null)}var rt,tt=(e,r,t)=>{f.hasOwnProperty(e)||Tr("Replacing nonexistent public symbol"),void 0!==f[e].overloadTable&&void 0!==t?f[e].overloadTable[t]=r:(f[e]=r,f[e].argCount=t)},nt=(e,r,t=[])=>e.includes("j")?((e,r,t)=>(e=e.replace(/p/g,"i"),(0,f["dynCall_"+e])(r,...t)))(e,r,t):Re(r)(...t),at=(e,r)=>{var t,n,a=(e=kr(e)).includes("j")?(t=e,n=r,(...e)=>nt(t,n,e)):Re(r);return"function"!=typeof a&&Pr(`unknown function pointer with signature ${e}: ${r}`),a},ot=e=>{var r=Ko(e),t=kr(r);return qo(r),t},it=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||xr[r]||(Sr[r]?Sr[r].forEach(e):(t.push(r),n[r]=!0))})),new rt(`${e}: `+t.map(ot).join([", "]))},st=(e,r,t,n,a,o,i,s,l,u,c,d,f)=>{c=kr(c),o=at(a,o),s&&=at(i,s),u&&=at(l,u),f=at(d,f);var m=(e=>{var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?`_${e}`:e})(c);qr(m,(function(){it(`Cannot construct ${c} due to unbound types`,[n])})),$r([e,r,t],n?[n]:[],(r=>{var t,a;r=r[0],a=n?(t=r.registeredClass).instancePrototype:Hr.prototype;var i=Gr(c,(function(...e){if(Object.getPrototypeOf(this)!==l)throw new wr("Use 'new' to construct "+c);if(void 0===d.constructor_body)throw new wr(c+" has no accessible constructor");var r=d.constructor_body[e.length];if(void 0===r)throw new wr(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return r.apply(this,e)})),l=Object.create(a,{constructor:{value:i}});i.prototype=l;var d=new Xr(c,i,l,f,t,o,s,u);d.baseClass&&(d.baseClass.__derivedClasses??=[],d.baseClass.__derivedClasses.push(d));var h=new et(c,d,!0,!1,!1),p=new et(c+"*",d,!1,!1,!1),v=new et(c+" const*",d,!1,!0,!1);return Ir[e]={pointerType:p,constPointerType:v},tt(m,i),[h,p,v]}))},lt=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function ut(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function ct(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var t=Gr(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function dt(e,r,t,n,a,o){var i=r.length;i<2&&Pr("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==r[1]&&null!==t,l=ut(r),u="void"!==r[0].name,c=[e,Pr,n,a,lt,r[0],r[1]],d=0;d<i-2;++d)c.push(r[d+2]);if(!l)for(d=s?1:2;d<r.length;++d)null!==r[d].destructorFunction&&c.push(r[d].destructorFunction);let[f,m]=function(e,r,t,n){var a=ut(e),o=e.length-2,i=[],s=["fn"];r&&s.push("thisWired");for(var l=0;l<o;++l)i.push(`arg${l}`),s.push(`arg${l}Wired`);i=i.join(","),s=s.join(",");var u=`return function (${i}) {\n`;a&&(u+="var destructors = [];\n");var c=a?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+=`var thisWired = classParam['toWireType'](${c}, this);\n`),l=0;l<o;++l)u+=`var arg${l}Wired = argType${l}['toWireType'](${c}, arg${l});\n`,d.push(`argType${l}`);if(u+=(t||n?"var rv = ":"")+`invoker(${s});\n`,a)u+="runDestructors(destructors);\n";else for(l=r?1:2;l<e.length;++l){var f=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(u+=`${f}_dtor(${f});\n`,d.push(`${f}_dtor`))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,u+="}\n"]}(r,s,u,o);f.push(m);var h=ct(Function,f)(...c);return Gr(e,h)}var ft=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(s()[r+4*n>>2]);return t},mt=e=>{const r=(e=e.trim()).indexOf("(");return-1!==r?e.substr(0,r):e},ht=(e,r,t,n,a,o,i,s,l)=>{var u=ft(t,n);r=kr(r),r=mt(r),o=at(a,o),$r([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`;function a(){it(`Cannot call ${n} due to unbound types`,u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var l=e.registeredClass.constructor;return void 0===l[r]?(a.argCount=t-1,l[r]=a):(Vr(l,r,n),l[r].overloadTable[t-1]=a),$r([],u,(a=>{var u=[a[0],null].concat(a.slice(1)),c=dt(n,u,null,o,i,s);if(void 0===l[r].overloadTable?(c.argCount=t-1,l[r]=c):l[r].overloadTable[t-1]=c,e.registeredClass.__derivedClasses)for(const t of e.registeredClass.__derivedClasses)t.constructor.hasOwnProperty(r)||(t.constructor[r]=c);return[]})),[]}))},pt=[],vt=[],gt=e=>{e>9&&0==--vt[e+1]&&(vt[e]=void 0,pt.push(e))},yt=()=>vt.length/2-5-pt.length,wt={toValue:e=>(e||Pr("Cannot use deleted val. handle = "+e),vt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=pt.pop()||vt.length;return vt[r]=e,vt[r+1]=1,r}}}},_t={name:"emscripten::val",fromWireType:e=>{var r=wt.toValue(e);return gt(e),r},toWireType:(e,r)=>wt.toHandle(r),argPackAdvance:8,readValueFromPointer:Jr,destructorFunction:null},bt=e=>Fr(e,_t),Et=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},kt=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(l()[e>>2])};case 8:return function(e){return this.fromWireType(u()[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},Ct=(e,r,t)=>{Fr(e,{name:r=kr(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:8,readValueFromPointer:kt(r,t),destructorFunction:null})},xt=(e,r,t,n,a,o,i,s)=>{var l=ft(r,t);e=kr(e),e=mt(e),a=at(n,a),qr(e,(function(){it(`Cannot call ${e} due to unbound types`,l)}),r-1),$r([],l,(t=>{var n=[t[0],null].concat(t.slice(1));return tt(e,dt(e,n,null,a,o,i),r-1),[]}))},St=(e,r,l)=>{switch(r){case 1:return l?e=>t()[e]:e=>n()[e];case 2:return l?e=>a()[e>>1]:e=>o()[e>>1];case 4:return l?e=>i()[e>>2]:e=>s()[e>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Pt=(e,r,t,n,a)=>{r=kr(r);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<<i>>>i}var s=r.includes("unsigned");Fr(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:8,readValueFromPointer:St(r,t,0!==n),destructorFunction:null})},Tt=(e,r,n)=>{var a=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function o(e){var r=s()[e>>2],n=s()[e+4>>2];return new a(t().buffer,n,r)}Fr(e,{name:n=kr(n),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},$t=(e,r,t)=>rr(e,n(),r,t),Ft=(e,r)=>{var t="std::string"===(r=kr(r));Fr(e,{name:r,fromWireType(e){var r,a=s()[e>>2],o=e+4;if(t)for(var i=o,l=0;l<=a;++l){var u=o+l;if(l==a||0==n()[u]){var c=ze(i,u-i);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),i=u+1}}else{var d=new Array(a);for(l=0;l<a;++l)d[l]=String.fromCharCode(n()[o+l]);r=d.join("")}return qo(e),r},toWireType(e,r){var a;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var o="string"==typeof r;o||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||Pr("Cannot pass non-string to std::string"),a=t&&o?er(r):r.length;var i=Vo(4+a+1),l=i+4;if(s()[i>>2]=a,t&&o)$t(r,l,a+1);else if(o)for(var u=0;u<a;++u){var c=r.charCodeAt(u);c>255&&(qo(l),Pr("String has UTF-16 code units that do not fit in 8 bits")),n()[l+u]=c}else for(u=0;u<a;++u)n()[l+u]=r[u];return null!==e&&e.push(qo,i),i},argPackAdvance:8,readValueFromPointer:Jr,destructorFunction(e){qo(e)}})},jt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,At=(e,r)=>{for(var t=e,i=t>>1,s=i+r/2;!(i>=s)&&o()[i];)++i;if((t=i<<1)-e>32&&jt)return jt.decode(n().slice(e,t));for(var l="",u=0;!(u>=r/2);++u){var c=a()[e+2*u>>1];if(0==c)break;l+=String.fromCharCode(c)}return l},Mt=(e,r,t)=>{if(t??=2147483647,t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);a()[r>>1]=s,r+=2}return a()[r>>1]=0,r-n},Lt=e=>2*e.length,Dt=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=i()[e+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},Rt=(e,r,t)=>{if(t??=2147483647,t<4)return 0;for(var n=r,a=n+t-4,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),i()[r>>2]=s,(r+=4)+4>a)break}return i()[r>>2]=0,r-n},It=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},Ot=(e,r,t)=>{var n,a,i,l;t=kr(t),2===r?(n=At,a=Mt,l=Lt,i=e=>o()[e>>1]):4===r&&(n=Dt,a=Rt,l=It,i=e=>s()[e>>2]),Fr(e,{name:t,fromWireType:e=>{for(var t,a=s()[e>>2],o=e+4,l=0;l<=a;++l){var u=e+4+l*r;if(l==a||0==i(u)){var c=n(o,u-o);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),o=u+r}}return qo(e),t},toWireType:(e,n)=>{"string"!=typeof n&&Pr(`Cannot pass non-string to C++ string type ${t}`);var o=l(n),i=Vo(4+o+r);return s()[i>>2]=o/r,a(n,i+4,o+r),null!==e&&e.push(qo,i),i},argPackAdvance:8,readValueFromPointer:Jr,destructorFunction(e){qo(e)}})},Wt=(e,r)=>{Fr(e,{isVoid:!0,name:r=kr(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})};function Bt(e){if(ea.xhrs.has(e)){var r=ea.xhrs.get(e);ea.xhrs.free(e),r.readyState>0&&r.readyState<4&&r.abort()}}function Nt(e,r,t){var n=ea.xhrs.get(e).getAllResponseHeaders(),a=er(n)+1;return $t(n,r,t),Math.min(a,t)}function zt(e){return er(ea.xhrs.get(e).getAllResponseHeaders())+1}var Ut=()=>1,Ht=e=>{Jo(e,!p,1,!h,65536,!1),Ae.threadInitTLS()},Gt=()=>{if(!Ee())try{g?ni(L):je(L)}catch(e){Te(e)}},Vt=e=>{if(!H)try{e(),Gt()}catch(e){Te(e)}},qt=e=>{if("function"==typeof Atomics.waitAsync){Atomics.waitAsync(i(),e>>2,e).value.then(Xt);var r=e+128;Atomics.store(i(),r>>2,1)}},Xt=()=>{var e=Xo();e&&(qt(e),Vt(ai))},Yt=(e,r)=>{if(e==r)setTimeout(Xt);else if(g)postMessage({targetThread:e,cmd:"checkMailbox"});else{var t=Ae.pthreads[e];if(!t)return;t.postMessage({cmd:"checkMailbox"})}},Kt=[],Qt=(e,r,t,n,a)=>{Kt.length=n;for(var o=a>>3,i=0;i<n;i++)Kt[i]=u()[o+i];var s=r?ve[r]:Ho[e];Ae.currentProxiedOperationCallerThread=t;var l=s(...Kt);return Ae.currentProxiedOperationCallerThread=0,l},Zt=e=>{g?postMessage({cmd:"cleanupThread",thread:e}):we(e)},Jt=e=>{v&&Ae.pthreads[e].ref()},en=()=>{throw 1/0},rn=(e,r)=>{var t=xr[e];return void 0===t&&Pr(`${r} has unknown type ${ot(e)}`),t},tn=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(s()[r>>2]=wt.toHandle(n)),a},nn=(e,r,t)=>(e=wt.toValue(e),r=rn(r,"emval::as"),tn(r,t,e)),an=[],on=(e,r,t,n)=>(e=an[e])(null,r=wt.toValue(r),t,n),sn={},ln=e=>{var r=sn[e];return void 0===r?kr(e):r},un=(e,r,t,n,a)=>(e=an[e])(r=wt.toValue(r),r[t=ln(t)],n,a),cn=()=>"object"==typeof globalThis?globalThis:Function("return this")(),dn=e=>0===e?wt.toHandle(cn()):(e=ln(e),wt.toHandle(cn()[e])),fn=(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=rn(s()[r+4*n>>2],"parameter "+n);return t})(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",i=0,l=[];0===t&&l.push("obj");for(var u=["retType"],c=[a],d=0;d<e;++d)l.push("arg"+d),u.push("argType"+d),c.push(n[d]),o+=` var arg${d} = argType${d}.readValueFromPointer(args${i?"+"+i:""});\n`,i+=n[d].argPackAdvance;o+=` var rv = ${1===t?"new func":"func.call"}(${l.join(", ")});\n`,a.isVoid||(u.push("emval_returnValue"),c.push(tn),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",u.push(o);var f,m,h=ct(Function,u)(...c),p=`methodCaller<(${n.map((e=>e.name)).join(", ")}) => ${a.name}>`;return f=Gr(p,h),m=an.length,an.push(f),m},mn=(e,r)=>(e=wt.toValue(e),r=wt.toValue(r),wt.toHandle(e[r])),hn=e=>{e>9&&(vt[e+1]+=1)},pn=(e,r)=>(e=wt.toValue(e))instanceof(r=wt.toValue(r)),vn=e=>"number"==typeof(e=wt.toValue(e)),gn=e=>"string"==typeof(e=wt.toValue(e)),yn=()=>wt.toHandle([]),wn=e=>wt.toHandle(ln(e)),_n=()=>wt.toHandle({}),bn=e=>{var r=wt.toValue(e);lt(r),gt(e)},En=(e,r,t)=>{e=wt.toValue(e),r=wt.toValue(r),t=wt.toValue(t),e[r]=t},kn=(e,r)=>{var t=(e=rn(e,"_emval_take_value")).readValueFromPointer(r);return wt.toHandle(t)},Cn=e=>(e=wt.toValue(e),wt.toHandle(typeof e));function xn(e,r,t,n,a,o,l,u){if(g)return Se(10,0,1,e,r,t,n,a,o,l,u);var c=xe(a,o);try{if(isNaN(c))return 61;var d=cr.getStreamFromFD(n),f=ur.mmap(d,e,c,r,t),m=f.ptr;return i()[l>>2]=f.allocated,s()[u>>2]=m,0}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}function Sn(e,r,t,n,a,o,i){if(g)return Se(11,0,1,e,r,t,n,a,o,i);var s=xe(o,i);try{var l=cr.getStreamFromFD(a);2&t&&cr.doMsync(e,l,r,n,s)}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return-e.errno}}var Pn=(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),l=new Date(a,6,1),u=o.getTimezoneOffset(),c=l.getTimezoneOffset(),d=Math.max(u,c);s()[e>>2]=60*d,i()[r>>2]=Number(u!=c);var f=e=>{var r=e>=0?"-":"+",t=Math.abs(e);return`UTC${r}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},m=f(u),h=f(c);c<u?($t(m,t,17),$t(h,n,17)):($t(m,n,17),$t(h,t,17))},Tn=[],$n=(e,r,t)=>{var a=((e,r)=>{var t;for(Tn.length=0;t=n()[e++];){var a=105!=t;r+=(a&=112!=t)&&r%8?4:0,Tn.push(112==t?s()[r>>2]:105==t?i()[r>>2]:u()[r>>3]),r+=a?8:4}return Tn})(r,t);return ve[e](...a)},Fn=(e,r,t)=>$n(e,r,t),jn=()=>{be+=1},An=()=>{be-=1},Mn=(e,r)=>(jn(),setTimeout((()=>{An(),Vt(e)}),r)),Ln=(e,r)=>{if(In.timingMode=e,In.timingValue=r,!In.func)return 1;if(In.running||(jn(),In.running=!0),0==e)In.scheduler=function(){var e=0|Math.max(0,In.tickStartTime+r-Dn());setTimeout(In.runner,e)},In.method="timeout";else if(1==e)In.scheduler=function(){In.requestAnimationFrame(In.runner)},In.method="rAF";else if(2==e){if(void 0===In.setImmediate)if("undefined"==typeof setImmediate){var t=[],n="setimmediate";addEventListener("message",(e=>{e.data!==n&&e.data.target!==n||(e.stopPropagation(),t.shift()())}),!0),In.setImmediate=e=>{t.push(e),p?(f.setImmediates??=[],f.setImmediates.push(e),postMessage({target:n})):postMessage(n,"*")}}else In.setImmediate=setImmediate;In.scheduler=function(){In.setImmediate(In.runner)},In.method="immediate"}return 0},Dn=()=>performance.timeOrigin+performance.now(),Rn=(e,r,t,n,a)=>{In.func=e,In.arg=n;var o=In.currentlyRunningMainloop;function i(){return!(o<In.currentlyRunningMainloop&&(An(),Gt(),1))}if(In.running=!1,In.runner=function(){if(!H)if(In.queue.length>0){var r=In.queue.shift();if(r.func(r.arg),In.remainingBlockers){var t=In.remainingBlockers,n=t%1==0?t-1:Math.floor(t);r.counted?In.remainingBlockers=n:(n+=.5,In.remainingBlockers=(8*t+n)/9)}if(In.updateStatus(),!i())return;setTimeout(In.runner,0)}else i()&&(In.currentFrameNumber=In.currentFrameNumber+1|0,1==In.timingMode&&In.timingValue>1&&In.currentFrameNumber%In.timingValue!=0?In.scheduler():(0==In.timingMode&&(In.tickStartTime=Dn()),In.runIter(e),i()&&In.scheduler()))},a||(r&&r>0?Ln(0,1e3/r):Ln(1,1),In.scheduler()),t)throw"unwind"},In={running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){In.scheduler=null,In.currentlyRunningMainloop++},resume(){In.currentlyRunningMainloop++;var e=In.timingMode,r=In.timingValue,t=In.func;In.func=null,Rn(t,0,!1,In.arg,!0),Ln(e,r),In.scheduler()},updateStatus(){if(f.setStatus){var e=f.statusMessage||"Please wait...",r=In.remainingBlockers??0,t=In.expectedBlockers??0;r?r<t?f.setStatus("{message} ({expected - remaining}/{expected})"):f.setStatus(e):f.setStatus("")}},init(){f.preMainLoop&&In.preMainLoop.push(f.preMainLoop),f.postMainLoop&&In.postMainLoop.push(f.postMainLoop)},runIter(e){if(!H){for(var r of In.preMainLoop)if(!1===r())return;for(var t of(Vt(e),In.postMainLoop))t()}},nextRAF:0,fakeRequestAnimationFrame(e){var r=Date.now();if(0===In.nextRAF)In.nextRAF=r+1e3/60;else for(;r+2>=In.nextRAF;)In.nextRAF+=1e3/60;var t=Math.max(In.nextRAF-r,0);setTimeout(e,t)},requestAnimationFrame(e){"function"!=typeof requestAnimationFrame?(0,In.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)}},On=e=>{On.shown||={},On.shown[e]||(On.shown[e]=1,v&&(e="warning: "+e),j(e))},Wn={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init(){if(!Wn.initted){Wn.initted=!0;var e={canHandle:function(e){return!f.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(e)},handle:function(e,r,t,n){var a=new Blob([e],{type:Wn.getMimetype(r)});a.size!==e.length&&(a=new Blob([new Uint8Array(e).buffer],{type:Wn.getMimetype(r)}));var o=URL.createObjectURL(a),i=new Image;i.onload=()=>{var r=document.createElement("canvas");r.width=i.width,r.height=i.height,r.getContext("2d").drawImage(i,0,0),URL.revokeObjectURL(o),t?.(e)},i.onerror=e=>{j(`Image ${o} could not be decoded`),n?.()},i.src=o}};sr.push(e);var r={canHandle:function(e){return!f.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,r,t,n){var a=!1;function o(r){a||(a=!0,t?.(e))}var i=new Blob([e],{type:Wn.getMimetype(r)}),s=URL.createObjectURL(i),l=new Audio;l.addEventListener("canplaythrough",(()=>o()),!1),l.onerror=function(t){a||(j(`warning: browser could not fully decode audio ${r}, trying slower base64 approach`),l.src="data:audio/x-"+r.substr(-3)+";base64,"+function(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="",n=0,a=0,o=0;o<e.length;o++)for(n=n<<8|e[o],a+=8;a>=6;){var i=n>>a-6&63;a-=6,t+=r[i]}return 2==a?(t+=r[(3&n)<<4],t+="=="):4==a&&(t+=r[(15&n)<<2],t+="="),t}(e),o())},l.src=s,Mn((()=>{o()}),1e4)}};sr.push(r);var t=f.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||(()=>{}),t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",n,!1),document.addEventListener("mozpointerlockchange",n,!1),document.addEventListener("webkitpointerlockchange",n,!1),document.addEventListener("mspointerlockchange",n,!1),f.elementPointerLock&&t.addEventListener("click",(e=>{!Wn.pointerLock&&f.canvas.requestPointerLock&&(f.canvas.requestPointerLock(),e.preventDefault())}),!1))}function n(){Wn.pointerLock=document.pointerLockElement===f.canvas||document.mozPointerLockElement===f.canvas||document.webkitPointerLockElement===f.canvas||document.msPointerLockElement===f.canvas}},createContext(e,r,t,n){if(r&&f.ctx&&e==f.canvas)return f.ctx;var a,o;if(r){var i={antialias:!1,alpha:!1,majorVersion:1};if(n)for(var s in n)i[s]=n[s];void 0!==ia&&(o=ia.createContext(e,i))&&(a=ia.getContext(o).GLctx)}else a=e.getContext("2d");return a?(t&&(f.ctx=a,r&&ia.makeContextCurrent(o),Wn.useWebGL=r,Wn.moduleContextCreatedCallbacks.forEach((e=>e())),Wn.init()),a):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,r){Wn.lockPointer=e,Wn.resizeCanvas=r,void 0===Wn.lockPointer&&(Wn.lockPointer=!0),void 0===Wn.resizeCanvas&&(Wn.resizeCanvas=!1);var t=f.canvas;function n(){Wn.isFullscreen=!1;var e=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.exitFullscreen=Wn.exitFullscreen,Wn.lockPointer&&t.requestPointerLock(),Wn.isFullscreen=!0,Wn.resizeCanvas?Wn.setFullscreenCanvasSize():Wn.updateCanvasDimensions(t)):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Wn.resizeCanvas?Wn.setWindowedCanvasSize():Wn.updateCanvasDimensions(t)),f.onFullScreen?.(Wn.isFullscreen),f.onFullscreen?.(Wn.isFullscreen)}Wn.fullscreenHandlersInstalled||(Wn.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var a=document.createElement("div");t.parentNode.insertBefore(a,t),a.appendChild(t),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?()=>a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(a.webkitRequestFullScreen?()=>a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),a.requestFullscreen()},exitFullscreen:()=>!!Wn.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),safeSetTimeout:(e,r)=>Mn(e,r),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]),getUserMedia(e){window.getUserMedia||=navigator.getUserMedia||navigator.mozGetUserMedia,window.getUserMedia(e)},getMovementX:e=>e.movementX||e.mozMovementX||e.webkitMovementX||0,getMovementY:e=>e.movementY||e.mozMovementY||e.webkitMovementY||0,getMouseWheelDelta(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,r){var t=f.canvas.getBoundingClientRect(),n=f.canvas.width,a=f.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,i=void 0!==window.scrollY?window.scrollY:window.pageYOffset,s=e-(o+t.left),l=r-(i+t.top);return{x:s*=n/t.width,y:l*=a/t.height}},setMouseCoords(e,r){const{x:t,y:n}=Wn.calculateMouseCoords(e,r);Wn.mouseMovementX=t-Wn.mouseX,Wn.mouseMovementY=n-Wn.mouseY,Wn.mouseX=t,Wn.mouseY=n},calculateMouseEvent(e){if(Wn.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Wn.mouseMovementX=Wn.mouseMovementY=0:(Wn.mouseMovementX=Wn.getMovementX(e),Wn.mouseMovementY=Wn.getMovementY(e)),Wn.mouseX+=Wn.mouseMovementX,Wn.mouseY+=Wn.mouseMovementY;else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var r=e.touch;if(void 0===r)return;var t=Wn.calculateMouseCoords(r.pageX,r.pageY);if("touchstart"===e.type)Wn.lastTouches[r.identifier]=t,Wn.touches[r.identifier]=t;else if("touchend"===e.type||"touchmove"===e.type){var n=Wn.touches[r.identifier];n||=t,Wn.lastTouches[r.identifier]=n,Wn.touches[r.identifier]=t}return}Wn.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=f.canvas;Wn.resizeListeners.forEach((r=>r(e.width,e.height)))},setCanvasSize(e,r,t){var n=f.canvas;Wn.updateCanvasDimensions(n,e,r),t||Wn.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=s()[SDL.screen>>2];e|=8388608,i()[SDL.screen>>2]=e}Wn.updateCanvasDimensions(f.canvas),Wn.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=s()[SDL.screen>>2];e&=-8388609,i()[SDL.screen>>2]=e}Wn.updateCanvasDimensions(f.canvas),Wn.updateResizeListeners()},updateCanvasDimensions(e,r,t){r&&t?(e.widthNative=r,e.heightNative=t):(r=e.widthNative,t=e.heightNative);var n=r,a=t;if(f.forcedAspectRatio&&f.forcedAspectRatio>0&&(n/a<f.forcedAspectRatio?n=Math.round(a*f.forcedAspectRatio):a=Math.round(n/f.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var o=Math.min(screen.width/n,screen.height/a);n=Math.round(n*o),a=Math.round(a*o)}Wn.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=a&&(e.height=a),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=t&&(e.height=t),void 0!==e.style&&(n!=r||a!=t?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},Bn=(e,r,t)=>{function n(){Re(e)(r)}t>=0||v?Mn(n,t):(e=>{jn(),In.requestAnimationFrame((()=>{An(),Vt(e)}))})(n)},Nn=()=>{},zn=()=>Date.now(),Un=()=>{throw jn(),"unwind"},Hn=(e,r)=>(e>>>0)+4294967296*r,Gn=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);return e>=t&&(r<=32||e>t)&&(e=-2*t+e),e},Vn=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e,qn=e=>{for(var r=e;n()[r];)++r;return r-e};function Xn(e){var r=(new Error).stack.toString(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),a=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(a),8&e&&"undefined"==typeof emscripten_source_map&&(On('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var o=r.split("\n");r="";var i=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),s=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),l=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var u in o){var c=o[u],d="",f="",m=0,h=0,p=l.exec(c);if(p&&5==p.length)d=p[1],f=p[2],m=p[3],h=p[4];else{if(!((p=i.exec(c)||s.exec(c))&&p.length>=4)){r+=c+"\n";continue}d=p[1],f=p[2],m=p[3],h=0|p[4]}var v=!1;if(8&e){var g=emscripten_source_map.originalPositionFor({line:m,column:h});v=g?.source,v&&(64&e&&(g.source=g.source.substring(g.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=` at ${d} (${g.source}:${g.line}:${g.column})\n`)}(16&e||!v)&&(64&e&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(v?` = ${d}`:` at ${d}`)+` (${f}:${m}:${h})\n`)}return r=r.replace(/\s+$/,"")}var Yn=(e,r,a)=>{var o=((e,r)=>{var a=e,o=r;function s(e){var r;return o=function(e,r){return"double"!==r&&"i64"!==r||7&e&&(e+=4),e}(o,e),"double"===e?(r=u()[o>>3],o+=8):"i64"==e?(r=[i()[o>>2],i()[o+4>>2]],o+=8):(e="i32",r=i()[o>>2],o+=4),r}for(var l,c,d,f,m=[];;){var h=a;if(0===(l=t()[a]))break;if(c=t()[a+1],37==l){var p=!1,v=!1,g=!1,y=!1,w=!1;e:for(;;){switch(c){case 43:p=!0;break;case 45:v=!0;break;case 35:g=!0;break;case 48:if(y)break e;y=!0;break;case 32:w=!0;break;default:break e}a++,c=t()[a+1]}var _=0;if(42==c)_=s("i32"),a++,c=t()[a+1];else for(;c>=48&&c<=57;)_=10*_+(c-48),a++,c=t()[a+1];var b,E=!1,k=-1;if(46==c){if(k=0,E=!0,a++,42==(c=t()[a+1]))k=s("i32"),a++;else for(;;){var C=t()[a+1];if(C<48||C>57)break;k=10*k+(C-48),a++}c=t()[a+1]}switch(k<0&&(k=6,E=!1),String.fromCharCode(c)){case"h":104==t()[a+2]?(a++,b=1):b=2;break;case"l":108==t()[a+2]?(a++,b=8):b=4;break;case"L":case"q":case"j":b=8;break;case"z":case"t":case"I":b=4;break;default:b=null}switch(b&&a++,c=t()[a+1],String.fromCharCode(c)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var x=100==c||105==c;if(d=s("i"+8*(b=b||4)),8==b&&(d=117==c?(d[0]>>>0)+4294967296*(d[1]>>>0):Hn(d[0],d[1])),b<=4){var S=Math.pow(256,b)-1;d=(x?Gn:Vn)(d&S,8*b)}var P=Math.abs(d),T="";if(100==c||105==c)j=Gn(d,8*b).toString(10);else if(117==c)j=Vn(d,8*b).toString(10),d=Math.abs(d);else if(111==c)j=(g?"0":"")+P.toString(8);else if(120==c||88==c){if(T=g&&0!=d?"0x":"",d<0){d=-d,j=(P-1).toString(16);for(var $=[],F=0;F<j.length;F++)$.push((15-parseInt(j[F],16)).toString(16));for(j=$.join("");j.length<2*b;)j="f"+j}else j=P.toString(16);88==c&&(T=T.toUpperCase(),j=j.toUpperCase())}else 112==c&&(0===P?j="(nil)":(T="0x",j=P.toString(16)));if(E)for(;j.length<k;)j="0"+j;for(d>=0&&(p?T="+"+T:w&&(T=" "+T)),"-"==j.charAt(0)&&(T="-"+T,j=j.substr(1));T.length+j.length<_;)v?j+=" ":y?j="0"+j:T=" "+T;(j=T+j).split("").forEach((e=>m.push(e.charCodeAt(0))));break;case"f":case"F":case"e":case"E":case"g":case"G":var j;if(d=s("double"),isNaN(d))j="nan",y=!1;else if(isFinite(d)){var A=!1,M=Math.min(k,20);if(103==c||71==c){A=!0,k=k||1;var L=parseInt(d.toExponential(M).split("e")[1],10);k>L&&L>=-4?(c=(103==c?"f":"F").charCodeAt(0),k-=L+1):(c=(103==c?"e":"E").charCodeAt(0),k--),M=Math.min(k,20)}101==c||69==c?(j=d.toExponential(M),/[eE][-+]\d$/.test(j)&&(j=j.slice(0,-1)+"0"+j.slice(-1))):102!=c&&70!=c||(j=d.toFixed(M),0===d&&((f=d)<0||0===f&&1/f==-1/0)&&(j="-"+j));var D=j.split("e");if(A&&!g)for(;D[0].length>1&&D[0].includes(".")&&("0"==D[0].slice(-1)||"."==D[0].slice(-1));)D[0]=D[0].slice(0,-1);else for(g&&-1==j.indexOf(".")&&(D[0]+=".");k>M++;)D[0]+="0";j=D[0]+(D.length>1?"e"+D[1]:""),69==c&&(j=j.toUpperCase()),d>=0&&(p?j="+"+j:w&&(j=" "+j))}else j=(d<0?"-":"")+"inf",y=!1;for(;j.length<_;)v?j+=" ":j=!y||"-"!=j[0]&&"+"!=j[0]?(y?"0":" ")+j:j[0]+"0"+j.slice(1);c<97&&(j=j.toUpperCase()),j.split("").forEach((e=>m.push(e.charCodeAt(0))));break;case"s":var R=s("i8*"),I=R?qn(R):6;if(E&&(I=Math.min(I,k)),!v)for(;I<_--;)m.push(32);if(R)for(F=0;F<I;F++)m.push(n()[R++]);else m=m.concat(tr("(null)".substr(0,I),!0));if(v)for(;I<_--;)m.push(32);break;case"c":for(v&&m.push(s("i8"));--_>0;)m.push(32);v||m.push(s("i8"));break;case"n":var O=s("i32*");i()[O>>2]=m.length;break;case"%":m.push(l);break;default:for(F=h;F<a+2;F++)m.push(t()[F])}a+=2}else m.push(l),a+=1}return m})(r,a);((e,r)=>{24&e&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+Xn(e)),1&e?4&e?console.error(r):2&e?console.warn(r):512&e?console.info(r):256&e?console.debug(r):console.log(r):6&e?j(r):F(r)})(e,Ne(o))},Kn=e=>{var r=(e-A.buffer.byteLength+65535)/65536|0;try{return A.grow(r),G(),1}catch(e){}},Qn=e=>{var r=n().length;if((e>>>=0)<=r)return!1;var t=2147483648;if(e>t)return!1;for(var a=1;a<=4;a*=2){var o=r*(1+.2/a);o=Math.min(o,e+100663296);var i=Math.min(t,ar(Math.max(e,o),65536));if(Kn(i))return!0}return!1},Zn=(e,r,t)=>{var n=Re(e);Rn(n,r,t)};class Jn{constructor(){this.allocated=[void 0],this.freelist=[]}get(e){return this.allocated[e]}has(e){return void 0!==this.allocated[e]}allocate(e){var r=this.freelist.pop()||this.allocated.length;return this.allocated[r]=e,r}free(e){this.allocated[e]=void 0,this.freelist.push(e)}}var ea={openDatabase(e,r,t,n){try{var a=indexedDB.open(e,r)}catch(e){return n(e)}a.onupgradeneeded=e=>{var r=e.target.result;r.objectStoreNames.contains("FILES")&&r.deleteObjectStore("FILES"),r.createObjectStore("FILES")},a.onsuccess=e=>t(e.target.result),a.onerror=n},init(){ea.xhrs=new Jn,g||(ae(),ea.openDatabase("emscripten_filesystem",1,(e=>{ea.dbInstance=e,oe()}),(()=>{ea.dbInstance=!1,oe()})))}};function ra(e,r,t,o,i){var l=s()[e+8>>2];if(l){var u=ze(l),c=e+108,d=ze(c+0);d||="GET";var f=s()[c+56>>2],m=s()[c+68>>2],h=s()[c+72>>2],p=s()[c+76>>2],v=s()[c+80>>2],g=s()[c+84>>2],y=s()[c+88>>2],w=s()[c+52>>2],_=!!(1&w),b=!!(2&w),E=!!(64&w),k=m?ze(m):void 0,C=h?ze(h):void 0,x=new XMLHttpRequest;if(x.withCredentials=!!n()[c+60],x.open(d,u,!E,k,C),E||(x.timeout=f),x.url_=u,x.responseType="arraybuffer",v){var S=ze(v);x.overrideMimeType(S)}if(p)for(;;){var P=s()[p>>2];if(!P)break;var T=s()[p+4>>2];if(!T)break;p+=8;var $=ze(P),F=ze(T);x.setRequestHeader($,F)}var j=ea.xhrs.allocate(x);s()[e>>2]=j;var A=g&&y?n().slice(g,g+y):null;x.onload=n=>{ea.xhrs.has(j)&&(M(),x.status>=200&&x.status<300?r?.(e,x,n):t?.(e,x,n))},x.onerror=r=>{ea.xhrs.has(j)&&(M(),t?.(e,x,r))},x.ontimeout=r=>{ea.xhrs.has(j)&&t?.(e,x,r)},x.onprogress=r=>{if(ea.xhrs.has(j)){var t=_&&b&&x.response?x.response.byteLength:0,i=0;t>0&&_&&b&&(i=Vo(t),n().set(new Uint8Array(x.response),i)),s()[e+12>>2]=i,na(e+16,t),na(e+24,r.loaded-t),na(e+32,r.total),a()[e+40>>1]=x.readyState,x.readyState>=3&&0===x.status&&r.loaded>0&&(x.status=200),a()[e+42>>1]=x.status,x.statusText&&$t(x.statusText,e+44,64),o?.(e,x,r),i&&qo(i)}},x.onreadystatechange=r=>{ea.xhrs.has(j)?(a()[e+40>>1]=x.readyState,x.readyState>=2&&(a()[e+42>>1]=x.status),i?.(e,x,r)):An()};try{x.send(A)}catch(r){t?.(e,x,r)}}else t(e,0,"no url specified!");function M(){var r=0,t=0;x.response&&_&&0===s()[e+12>>2]&&(t=x.response.byteLength),t>0&&(r=Vo(t),n().set(new Uint8Array(x.response),r)),s()[e+12>>2]=r,na(e+16,t),na(e+24,0);var o=x.response?x.response.byteLength:0;o&&na(e+32,o),a()[e+40>>1]=x.readyState,a()[e+42>>1]=x.status,x.statusText&&$t(x.statusText,e+44,64)}}var ta,na=(e,r)=>{s()[e>>2]=r;var t=s()[e>>2];s()[e+4>>2]=(r-t)/4294967296};function aa(e,r,t,n,o){if(e){var i=r+108,l=s()[i+64>>2];l||=s()[r+8>>2];var u=ze(l);try{var c=e.transaction(["FILES"],"readwrite").objectStore("FILES").put(t,u);c.onsuccess=e=>{a()[r+40>>1]=4,a()[r+42>>1]=200,$t("OK",r+44,64),n(r,0,u)},c.onerror=e=>{a()[r+40>>1]=4,a()[r+42>>1]=413,$t("Payload Too Large",r+44,64),o(r,0,e)}}catch(e){o(r,0,e)}}else o(r,0,"IndexedDB not available!")}function oa(e,r,t,o,i){jn();var l=e+108,u=s()[l+36>>2],c=s()[l+40>>2],d=s()[l+44>>2],f=s()[l+48>>2],m=s()[l+52>>2],h=!!(64&m);function p(e){h?e():Vt(e)}var v=(e,t,n)=>{An(),p((()=>{u?Re(u)(e):r?.(e)}))},g=(e,r,t)=>{p((()=>{d?Re(d)(e):o?.(e)}))},y=(e,r,n)=>{An(),p((()=>{c?Re(c)(e):t?.(e)}))},w=(e,r,t)=>{p((()=>{f?Re(f)(e):i?.(e)}))},_=(e,t,n)=>{aa(ea.dbInstance,e,t.response,((e,t,n)=>{An(),p((()=>{u?Re(u)(e):r?.(e)}))}),((e,t,n)=>{An(),p((()=>{u?Re(u)(e):r?.(e)}))}))},b=ze(l+0),E=!!(16&m),k=!!(4&m),C=!!(32&m);if("EM_IDB_STORE"===b){var x=s()[l+84>>2],S=s()[l+88>>2];aa(ea.dbInstance,e,n().slice(x,x+S),v,y)}else if("EM_IDB_DELETE"===b)!function(e,r,t,n){if(e){var o=r+108,i=s()[o+64>>2];i||=s()[r+8>>2];var l=ze(i);try{var u=e.transaction(["FILES"],"readwrite").objectStore("FILES").delete(l);u.onsuccess=e=>{var n=e.target.result;s()[r+12>>2]=0,na(r+16,0),na(r+24,0),na(r+32,0),a()[r+40>>1]=4,a()[r+42>>1]=200,$t("OK",r+44,64),t(r,0,n)},u.onerror=e=>{a()[r+40>>1]=4,a()[r+42>>1]=404,$t("Not Found",r+44,64),n(r,0,e)}}catch(e){n(r,0,e)}}else n(r,0,"IndexedDB not available!")}(ea.dbInstance,e,v,y);else if(E){if(C)return 0;ra(e,k?_:v,y,g,w)}else!function(e,r,t,o){if(e){var i=r+108,l=s()[i+64>>2];l||=s()[r+8>>2];var u=ze(l);try{var c=e.transaction(["FILES"],"readonly").objectStore("FILES").get(u);c.onsuccess=e=>{if(e.target.result){var i=e.target.result,l=i.byteLength||i.length,u=Vo(l);n().set(new Uint8Array(i),u),s()[r+12>>2]=u,na(r+16,l),na(r+24,0),na(r+32,l),a()[r+40>>1]=4,a()[r+42>>1]=200,$t("OK",r+44,64),t(r,0,i)}else a()[r+40>>1]=4,a()[r+42>>1]=404,$t("Not Found",r+44,64),o(r,0,"no data")},c.onerror=e=>{a()[r+40>>1]=4,a()[r+42>>1]=404,$t("Not Found",r+44,64),o(r,0,e)}}catch(e){o(r,0,e)}}else o(r,0,"IndexedDB not available!")}(ea.dbInstance,e,v,C?y:k?(e,r,t)=>{ra(e,_,y,g,w)}:(e,r,t)=>{ra(e,v,y,g,w)});return e}var ia={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{ia.lastError||(ia.lastError=e)},getNewId:e=>{for(var r=ia.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=ta[t](),s=o&&ia.getNewId(n);o?(o.name=s,n[s]=o):ia.recordError(1282),i()[r+4*a>>2]=s}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var i=n?s()[n+4*o>>2]:void 0;a+=ze(s()[t+4*o>>2],i)}return a},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){function n(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=n}var t=e.getContext("webgl",r);return t?ia.registerContext(t,r):0},registerContext:(e,r)=>{var t=Vo(8);s()[t+4>>2]=Xo();var n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),ia.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&ia.initExtensions(n),t},makeContextCurrent:e=>(ia.currentContext=ia.contexts[e],f.ctx=ta=ia.currentContext?.GLctx,!(e&&!ta)),getContext:e=>ia.contexts[e],deleteContext:e=>{ia.currentContext===ia.contexts[e]&&(ia.currentContext=null),"object"==typeof sa&&sa.removeAllHandlersOnTarget(ia.contexts[e].GLctx.canvas),ia.contexts[e]&&ia.contexts[e].GLctx.canvas&&(ia.contexts[e].GLctx.canvas.GLctxObject=void 0),qo(ia.contexts[e].handle),ia.contexts[e]=null},initExtensions:e=>{if(e||=ia.currentContext,!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(r=t).multiDrawWebgl=r.getExtension("WEBGL_multi_draw"),(e=>{e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")})(t),(e=>{e.extClipControl=e.getExtension("EXT_clip_control")})(t),(e=>{e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")})(t),(e=>{var r=e.getExtension("ANGLE_instanced_arrays");r&&(e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,a)=>r.drawArraysInstancedANGLE(e,t,n,a),e.drawElementsInstanced=(e,t,n,a,o)=>r.drawElementsInstancedANGLE(e,t,n,a,o))})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e))})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");r&&(e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t))})(t),t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query"),(e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))})(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},sa={removeAllEventListeners(){for(;sa.eventHandlers.length;)sa._removeHandler(sa.eventHandlers.length-1);sa.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,r,t){function n(e,r){if(e.length!=r.length)return!1;for(var t in e)if(e[t]!=r[t])return!1;return!0}for(var a of sa.deferredCalls)if(a.targetFunction==e&&n(a.argsList,t))return;sa.deferredCalls.push({targetFunction:e,precedence:r,argsList:t}),sa.deferredCalls.sort(((e,r)=>e.precedence<r.precedence))},removeDeferredCalls(e){sa.deferredCalls=sa.deferredCalls.filter((r=>r.targetFunction!=e))},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:sa.inEventHandler&&sa.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if(sa.canPerformEventHandlerRequests()){var e=sa.deferredCalls;for(var r of(sa.deferredCalls=[],e))r.targetFunction(...r.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,r)=>{for(var t=0;t<sa.eventHandlers.length;++t)sa.eventHandlers[t].target!=e||r&&r!=sa.eventHandlers[t].eventTypeString||sa._removeHandler(t--)},_removeHandler(e){var r=sa.eventHandlers[e];r.target.removeEventListener(r.eventTypeString,r.eventListenerFunc,r.useCapture),sa.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(r){++sa.inEventHandler,sa.currentEventHandler=e,sa.runDeferredCalls(),e.handlerFunc(r),sa.runDeferredCalls(),--sa.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),sa.eventHandlers.push(e);else for(var r=0;r<sa.eventHandlers.length;++r)sa.eventHandlers[r].target==e.target&&sa.eventHandlers[r].eventTypeString==e.eventTypeString&&sa._removeHandler(r--);return 0},getTargetThreadForEventCallback(e){switch(e){case 1:return 0;case 2:return Ae.currentProxiedOperationCallerThread;default:return e}},getNodeNameForTarget:e=>e?e==window?"#window":e==screen?"#screen":e?.nodeName||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},la=["default","low-power","high-performance"],ua=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],ca=e=>{var r;return e=(r=e)>2?ze(r):r,ua[e]||("undefined"!=typeof document?document.querySelector(e):void 0)},da=(e,r)=>{var n=r>>2,a=i()[n+2],o={alpha:!!t()[r+0],depth:!!t()[r+1],stencil:!!t()[r+2],antialias:!!t()[r+3],premultipliedAlpha:!!t()[r+4],preserveDrawingBuffer:!!t()[r+5],powerPreference:la[a],failIfMajorPerformanceCaveat:!!t()[r+12],majorVersion:i()[n+4],minorVersion:i()[n+5],enableExtensionsByDefault:t()[r+24],explicitSwapControl:t()[r+25],proxyContextToMainThread:i()[n+7],renderViaOffscreenBackBuffer:t()[r+32]},s=ca(e);return s?o.explicitSwapControl?0:ia.createContext(s,o):0},fa=e=>ia.makeContextCurrent(e)?0:-5,ma={},ha=()=>{if(!ha.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:k||"./this.program"};for(var r in ma)void 0===ma[r]?delete e[r]:e[r]=ma[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);ha.strings=t}return ha.strings},pa=function(e,r){if(g)return Se(12,0,1,e,r);var n=0;return ha().forEach(((a,o)=>{var i=r+n;s()[e+4*o>>2]=i,((e,r)=>{for(var n=0;n<e.length;++n)t()[r++]=e.charCodeAt(n);t()[r]=0})(a,i),n+=a.length+1})),0},va=function(e,r){if(g)return Se(13,0,1,e,r);var t=ha();s()[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),s()[r>>2]=n,0};function ga(e){if(g)return Se(14,0,1,e);try{var r=cr.getStreamFromFD(e);return ur.close(r),0}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return e.errno}}var ya=(e,r,n,a)=>{for(var o=0,i=0;i<n;i++){var l=s()[r>>2],u=s()[r+4>>2];r+=8;var c=ur.read(e,t(),l,u,a);if(c<0)return-1;if(o+=c,c<u)break;void 0!==a&&(a+=c)}return o};function wa(e,r,t,n,a,o){if(g)return Se(15,0,1,e,r,t,n,a,o);var i=xe(n,a);try{if(isNaN(i))return 61;var l=cr.getStreamFromFD(e),u=ya(l,r,t,i);return s()[o>>2]=u,0}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return e.errno}}function _a(e,r,t,n){if(g)return Se(16,0,1,e,r,t,n);try{var a=cr.getStreamFromFD(e),o=ya(a,r,t);return s()[n>>2]=o,0}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return e.errno}}function ba(e,r,t,n,a){if(g)return Se(17,0,1,e,r,t,n,a);var o=xe(r,t);try{if(isNaN(o))return 61;var s=cr.getStreamFromFD(e);return ur.llseek(s,o,n),ue=[s.position>>>0,(le=s.position,+Math.abs(le)>=1?le>0?+Math.floor(le/4294967296)>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],i()[a>>2]=ue[0],i()[a+4>>2]=ue[1],s.getdents&&0===o&&0===n&&(s.getdents=null),0}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return e.errno}}var Ea=(e,r,n,a)=>{for(var o=0,i=0;i<n;i++){var l=s()[r>>2],u=s()[r+4>>2];r+=8;var c=ur.write(e,t(),l,u,a);if(c<0)return-1;if(o+=c,c<u)break;void 0!==a&&(a+=c)}return o};function ka(e,r,t,n){if(g)return Se(18,0,1,e,r,t,n);try{var a=cr.getStreamFromFD(e),o=Ea(a,r,t);return s()[n>>2]=o,0}catch(e){if(void 0===ur||"ErrnoError"!==e.name)throw e;return e.errno}}var Ca,xa,Sa,Pa=e=>ta.activeTexture(e),Ta=(e,r)=>{ta.attachShader(ia.programs[e],ia.shaders[r])},$a=(e,r)=>{ta.bindBuffer(e,ia.buffers[r])},Fa=(e,r)=>{ta.bindFramebuffer(e,ia.framebuffers[r])},ja=(e,r)=>{ta.bindRenderbuffer(e,ia.renderbuffers[r])},Aa=(e,r)=>{ta.bindTexture(e,ia.textures[r])},Ma=(e,r)=>ta.blendFunc(e,r),La=(e,r,t,a)=>{ta.bufferData(e,t?n().subarray(t,t+r):r,a)},Da=(e,r,t,a)=>{ta.bufferSubData(e,r,n().subarray(a,a+t))},Ra=e=>ta.checkFramebufferStatus(e),Ia=e=>ta.clear(e),Oa=(e,r,t,n)=>ta.clearColor(e,r,t,n),Wa=e=>ta.clearStencil(e),Ba=(e,r,t,n)=>{ta.colorMask(!!e,!!r,!!t,!!n)},Na=e=>{ta.compileShader(ia.shaders[e])},za=(e,r,t,a,o,i,s,l)=>{ta.compressedTexImage2D(e,r,t,a,o,i,n().subarray(l,l+s))},Ua=()=>{var e=ia.getNewId(ia.programs),r=ta.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,ia.programs[e]=r,e},Ha=e=>{var r=ia.getNewId(ia.shaders);return ia.shaders[r]=ta.createShader(e),r},Ga=(e,r)=>{for(var t=0;t<e;t++){var n=i()[r+4*t>>2],a=ia.buffers[n];a&&(ta.deleteBuffer(a),a.name=0,ia.buffers[n]=null)}},Va=(e,r)=>{for(var t=0;t<e;++t){var n=i()[r+4*t>>2],a=ia.framebuffers[n];a&&(ta.deleteFramebuffer(a),a.name=0,ia.framebuffers[n]=null)}},qa=e=>{if(e){var r=ia.programs[e];r?(ta.deleteProgram(r),r.name=0,ia.programs[e]=null):ia.recordError(1281)}},Xa=(e,r)=>{for(var t=0;t<e;t++){var n=i()[r+4*t>>2],a=ia.renderbuffers[n];a&&(ta.deleteRenderbuffer(a),a.name=0,ia.renderbuffers[n]=null)}},Ya=e=>{if(e){var r=ia.shaders[e];r?(ta.deleteShader(r),ia.shaders[e]=null):ia.recordError(1281)}},Ka=(e,r)=>{for(var t=0;t<e;t++){var n=i()[r+4*t>>2],a=ia.textures[n];a&&(ta.deleteTexture(a),a.name=0,ia.textures[n]=null)}},Qa=e=>ta.disable(e),Za=(e,r,t)=>{ta.drawArrays(e,r,t)},Ja=e=>ta.enable(e),eo=e=>{ta.enableVertexAttribArray(e)},ro=(e,r,t,n)=>{ta.framebufferRenderbuffer(e,r,t,ia.renderbuffers[n])},to=(e,r,t,n,a)=>{ta.framebufferTexture2D(e,r,t,ia.textures[n],a)},no=(e,r)=>{ia.genObject(e,r,"createBuffer",ia.buffers)},ao=(e,r)=>{ia.genObject(e,r,"createFramebuffer",ia.framebuffers)},oo=(e,r)=>{ia.genObject(e,r,"createRenderbuffer",ia.renderbuffers)},io=(e,r)=>{ia.genObject(e,r,"createTexture",ia.textures)},so=(e,r)=>ta.getAttribLocation(ia.programs[e],ze(r)),lo=(e,r)=>((e,r,n)=>{if(r){var a=void 0;switch(e){case 36346:a=1;break;case 36344:return void(0!=n&&1!=n&&ia.recordError(1280));case 36345:a=0;break;case 34466:var o=ta.getParameter(34467);a=o?o.length:0}if(void 0===a){var s=ta.getParameter(e);switch(typeof s){case"number":a=s;break;case"boolean":a=s?1:0;break;case"string":return void ia.recordError(1280);case"object":if(null===s)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:a=0;break;default:return void ia.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var u=0;u<s.length;++u)switch(n){case 0:i()[r+4*u>>2]=s[u];break;case 2:l()[r+4*u>>2]=s[u];break;case 4:t()[r+u]=s[u]?1:0}return}try{a=0|s.name}catch(r){return ia.recordError(1280),void j(`GL_INVALID_ENUM in glGet${n}v: Unknown object returned from WebGL getParameter(${e})! (error: ${r})`)}}break;default:return ia.recordError(1280),void j(`GL_INVALID_ENUM in glGet${n}v: Native code calling glGet${n}v(${e}) and it returns ${s} of type ${typeof s}!`)}}switch(n){case 1:na(r,a);break;case 0:i()[r>>2]=a;break;case 2:l()[r>>2]=a;break;case 4:t()[r]=a?1:0}}else ia.recordError(1281)})(e,r,0),uo=(e,r,t)=>{if(t)if(e>=ia.counter)ia.recordError(1281);else if(e=ia.programs[e],35716==r){var n=ta.getProgramInfoLog(e);null===n&&(n="(unknown error)"),i()[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=ta.getProgramParameter(e,35718),o=0;o<a;++o)e.maxUniformLength=Math.max(e.maxUniformLength,ta.getActiveUniform(e,o).name.length+1);i()[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength){var s=ta.getProgramParameter(e,35721);for(o=0;o<s;++o)e.maxAttributeLength=Math.max(e.maxAttributeLength,ta.getActiveAttrib(e,o).name.length+1)}i()[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength){var l=ta.getProgramParameter(e,35382);for(o=0;o<l;++o)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,ta.getActiveUniformBlockName(e,o).length+1)}i()[t>>2]=e.maxUniformBlockNameLength}else i()[t>>2]=ta.getProgramParameter(e,r);else ia.recordError(1281)},co=(e,r,t,n)=>{var a=ta.getShaderInfoLog(ia.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?$t(a,n,r):0;t&&(i()[t>>2]=o)},fo=(e,r,t)=>{if(t)if(35716==r){var n=ta.getShaderInfoLog(ia.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;i()[t>>2]=a}else if(35720==r){var o=ta.getShaderSource(ia.shaders[e]),s=o?o.length+1:0;i()[t>>2]=s}else i()[t>>2]=ta.getShaderParameter(ia.shaders[e],r);else ia.recordError(1281)},mo=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),ho=(e,r)=>{if(r=ze(r),e=ia.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var o=ta.getProgramParameter(e,35718);for(r=0;r<o;++r){var i=ta.getActiveUniform(e,r),s=i.name,l=i.size,u=mo(s),c=u>0?s.slice(0,u):s,d=e.uniformIdCounter;for(e.uniformIdCounter+=l,a[c]=[l,d],t=0;t<l;++t)n[d]=t,e.uniformArrayNamesById[d++]=c}}})(e);var t=e.uniformLocsById,n=0,a=r,o=mo(r);o>0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||ta.getUniformLocation(e,r)))return n}else ia.recordError(1281);var s;return-1},po=e=>{e=ia.programs[e],ta.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},vo=(e,r)=>{3317==e?ia.unpackAlignment=r:3314==e&&(ia.unpackRowLength=r),ta.pixelStorei(e,r)},go=(e,r,t,n)=>ta.renderbufferStorage(e,r,t,n),yo=(e,r,t,n)=>ta.scissor(e,r,t,n),wo=(e,r,t,n)=>{var a=ia.getSource(e,r,t,n);ta.shaderSource(ia.shaders[e],a)},_o=(e,r,t)=>ta.stencilFunc(e,r,t),bo=e=>ta.stencilMask(e),Eo=(e,r,t)=>ta.stencilOp(e,r,t),ko=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Co=(e,r,t,a,u,c)=>{var d=(e=>1==(e-=5120)?n():4==e?i():6==e?l():5==e||28922==e?s():o())(e),f=(e=>({5:3,6:4,8:2,29502:3,29504:4}[e-6402]||1))(r)*d.BYTES_PER_ELEMENT,m=((e,r,t)=>{var n,a,o=(ia.unpackRowLength||e)*t;return r*(n=o,a=ia.unpackAlignment,n+a-1&-a)})(t,a,f);return d.subarray(ko(u,d),ko(u+m,d))},xo=(e,r,t,n,a,o,i,s,l)=>{var u=l?Co(s,i,n,a,l):null;ta.texImage2D(e,r,t,n,a,o,i,s,u)},So=(e,r,t)=>ta.texParameteri(e,r,t),Po=e=>{var r=ta.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=ta.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?`[${t}]`:""))),t}ia.recordError(1282)},To=(e,r)=>{ta.uniform1f(Po(e),r)},$o=[],Fo=(e,r,t)=>{if(r<=288)for(var n=$o[r],a=0;a<r;++a)n[a]=l()[t+4*a>>2];else n=l().subarray(t>>2,t+4*r>>2);ta.uniform1fv(Po(e),n)},jo=(e,r)=>{ta.uniform1i(Po(e),r)},Ao=(e,r,t)=>{ta.uniform2f(Po(e),r,t)},Mo=(e,r,t,n)=>{ta.uniform3f(Po(e),r,t,n)},Lo=(e,r,t,n,a)=>{ta.uniform4f(Po(e),r,t,n,a)},Do=(e,r,t,n)=>{if(r<=18){var a=$o[16*r],o=l();n>>=2,r*=16;for(var i=0;i<r;i+=16){var s=n+i;a[i]=o[s],a[i+1]=o[s+1],a[i+2]=o[s+2],a[i+3]=o[s+3],a[i+4]=o[s+4],a[i+5]=o[s+5],a[i+6]=o[s+6],a[i+7]=o[s+7],a[i+8]=o[s+8],a[i+9]=o[s+9],a[i+10]=o[s+10],a[i+11]=o[s+11],a[i+12]=o[s+12],a[i+13]=o[s+13],a[i+14]=o[s+14],a[i+15]=o[s+15]}}else a=l().subarray(n>>2,n+64*r>>2);ta.uniformMatrix4fv(Po(e),!!t,a)},Ro=e=>{e=ia.programs[e],ta.useProgram(e),ta.currentProgram=e},Io=(e,r,t,n,a,o)=>{ta.vertexAttribPointer(e,r,t,!!n,a,o)},Oo=(e,r,t,n)=>ta.viewport(e,r,t,n);Ae.init(),ur.createPreloadedFile=(e,r,t,n,a,o,i,s,l,u)=>{var c=r?Ze.resolve(Ke.join2(e,r)):e;function d(t){function d(t){u?.(),s||((e,r,t,n,a,o)=>{ur.createDataFile(e,r,t,n,a,o)})(e,r,t,n,a,l),o?.(),oe()}((e,r,t,n)=>{void 0!==Wn&&Wn.init();var a=!1;return sr.forEach((o=>{a||o.canHandle(r)&&(o.handle(e,r,t,n),a=!0)})),a})(t,c,d,(()=>{i?.(),oe()}))||d(t)}ae(),"string"==typeof t?((e,r,t,n)=>{var a=n?"":`al ${e}`;_(e).then((e=>{r(new Uint8Array(e)),a&&oe()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),a&&ae()})(t,d,i):d(t)},ur.staticInit(),(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);yr=e})(),wr=f.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},_r=f.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Object.assign(Hr.prototype,{isAliasOf(e){if(!(this instanceof Hr))return!1;if(!(e instanceof Hr))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||Ar(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=zr(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||Ar(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Pr("Object already scheduled for deletion"),Lr(this),Dr(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ar(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Pr("Object already scheduled for deletion"),Ur.push(this),Ur.length,this.$$.deleteScheduled=!0,this}}),Object.assign(et.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},argPackAdvance:8,readValueFromPointer:Jr,fromWireType:Nr}),rt=f.UnboundTypeError=(Ca=Error,(Sa=Gr(xa="UnboundTypeError",(function(e){this.name=xa,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(Ca.prototype),Sa.prototype.constructor=Sa,Sa.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Sa),vt.push(0,1,void 0,1,null,1,!0,1,!1,1),f.count_emval_handles=yt,f.requestAnimationFrame=In.requestAnimationFrame,f.pauseMainLoop=In.pause,f.resumeMainLoop=In.resume,In.init(),f.requestFullscreen=Wn.requestFullscreen,f.setCanvasSize=Wn.setCanvasSize,f.getUserMedia=Wn.getUserMedia,f.createContext=Wn.createContext,ea.init();for(var Wo=new Float32Array(288),Bo=0;Bo<=288;++Bo)$o[Bo]=Wo.subarray(0,Bo);var No,zo,Uo,Ho=[Pe,$e,Ve,dr,fr,mr,hr,pr,vr,gr,xn,Sn,pa,va,ga,wa,_a,ba,ka],Go=function(){var e,r,t,n,a=pe();function o(e,r){var t;return Go=e.exports,We(Go._emscripten_tls_init),Fe=Go.__indirect_function_table,t=Go.__wasm_call_ctors,Q.unshift(t),M=r,oe(),Go}if(ae(),f.instantiateWasm)try{return f.instantiateWasm(a,o)}catch(e){j(`Module.instantiateWasm callback failed with error: ${e}`),d(e)}return se??=fe(),(e=U,r=se,t=a,n=function(e){o(e.instance,e.module)},e||"function"!=typeof WebAssembly.instantiateStreaming||ce(r)||de(r)||v||"function"!=typeof fetch?he(r,t,n):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,t).then(n,(function(e){return j(`wasm streaming compile failed: ${e}`),j("falling back to ArrayBuffer instantiation"),he(r,t,n)}))))).catch(d),{}}(),Vo=e=>(Vo=Go.malloc)(e),qo=e=>(qo=Go.free)(e),Xo=()=>(Xo=Go.pthread_self)(),Yo=(e,r)=>(Yo=Go.setThrew)(e,r),Ko=e=>(Ko=Go.__getTypeName)(e),Qo=()=>(Qo=Go._embind_initialize_bindings)(),Zo=(e,r)=>(Zo=Go.emscripten_builtin_memalign)(e,r),Jo=(e,r,t,n,a,o)=>(Jo=Go._emscripten_thread_init)(e,r,t,n,a,o),ei=()=>(ei=Go._emscripten_thread_crashed)(),ri=(e,r,t,n,a)=>(ri=Go._emscripten_run_on_main_thread_js)(e,r,t,n,a),ti=e=>(ti=Go._emscripten_thread_free_data)(e),ni=e=>(ni=Go._emscripten_thread_exit)(e),ai=()=>(ai=Go._emscripten_check_mailbox)(),oi=(e,r)=>(oi=Go.emscripten_stack_set_limits)(e,r),ii=e=>(ii=Go._emscripten_stack_restore)(e),si=e=>(si=Go._emscripten_stack_alloc)(e),li=()=>(li=Go.emscripten_stack_get_current)();function ui(e,r){var t=ke();try{return Re(e)(r)}catch(e){if(Ce(t),e!==e+0)throw e;Yo(1,0)}}function ci(e,r,t){var n=ke();try{return Re(e)(r,t)}catch(e){if(Ce(n),e!==e+0)throw e;Yo(1,0)}}function di(e,r,t,n){var a=ke();try{return Re(e)(r,t,n)}catch(e){if(Ce(a),e!==e+0)throw e;Yo(1,0)}}function fi(e,r){var t=ke();try{Re(e)(r)}catch(e){if(Ce(t),e!==e+0)throw e;Yo(1,0)}}function mi(e,r,t,n){var a=ke();try{Re(e)(r,t,n)}catch(e){if(Ce(a),e!==e+0)throw e;Yo(1,0)}}function hi(e,r,t){var n=ke();try{Re(e)(r,t)}catch(e){if(Ce(n),e!==e+0)throw e;Yo(1,0)}}function pi(e,r,t,n,a,o){var i=ke();try{return Re(e)(r,t,n,a,o)}catch(e){if(Ce(i),e!==e+0)throw e;Yo(1,0)}}function vi(e,r,t,n,a){var o=ke();try{Re(e)(r,t,n,a)}catch(e){if(Ce(o),e!==e+0)throw e;Yo(1,0)}}function gi(e,r,t,n,a,o,i){var s=ke();try{return Re(e)(r,t,n,a,o,i)}catch(e){if(Ce(s),e!==e+0)throw e;Yo(1,0)}}function yi(e,r,t,n,a,o){var i=ke();try{Re(e)(r,t,n,a,o)}catch(e){if(Ce(i),e!==e+0)throw e;Yo(1,0)}}function wi(e,r,t,n,a){var o=ke();try{return Re(e)(r,t,n,a)}catch(e){if(Ce(o),e!==e+0)throw e;Yo(1,0)}}function _i(e,r,t,n,a,o,i,s,l,u){var c=ke();try{return Re(e)(r,t,n,a,o,i,s,l,u)}catch(e){if(Ce(c),e!==e+0)throw e;Yo(1,0)}}function bi(e){var r=ke();try{Re(e)()}catch(e){if(Ce(r),e!==e+0)throw e;Yo(1,0)}}function Ei(){if(!(te>0)){if(g)return c(f),J(),void startWorker(f);var e;!Uo&&(Uo=1,(e=f.preRun)&&("function"==typeof e&&(e=[e]),e.forEach(ee)),Me(K),te>0)||(f.setStatus?(f.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>f.setStatus("")),1),r()}),1)):r())}function r(){zo||(zo=1,f.calledRun=1,H||(J(),c(f),f.onRuntimeInitialized?.(),function(){if(!g){var e=f.postRun;e&&("function"==typeof e&&(e=[e]),e.forEach(re)),Me(Z)}}()))}}if(f.dynCall_iiiji=(e,r,t,n,a,o)=>(f.dynCall_iiiji=Go.dynCall_iiiji)(e,r,t,n,a,o),f.dynCall_ji=(e,r)=>(f.dynCall_ji=Go.dynCall_ji)(e,r),f.dynCall_iiji=(e,r,t,n,a)=>(f.dynCall_iiji=Go.dynCall_iiji)(e,r,t,n,a),f.dynCall_iijjiii=(e,r,t,n,a,o,i,s,l)=>(f.dynCall_iijjiii=Go.dynCall_iijjiii)(e,r,t,n,a,o,i,s,l),f.dynCall_iij=(e,r,t,n)=>(f.dynCall_iij=Go.dynCall_iij)(e,r,t,n),f.dynCall_vijjjii=(e,r,t,n,a,o,i,s,l,u)=>(f.dynCall_vijjjii=Go.dynCall_vijjjii)(e,r,t,n,a,o,i,s,l,u),f.dynCall_viji=(e,r,t,n,a)=>(f.dynCall_viji=Go.dynCall_viji)(e,r,t,n,a),f.dynCall_vijiii=(e,r,t,n,a,o,i)=>(f.dynCall_vijiii=Go.dynCall_vijiii)(e,r,t,n,a,o,i),f.dynCall_viiiiij=(e,r,t,n,a,o,i,s)=>(f.dynCall_viiiiij=Go.dynCall_viiiiij)(e,r,t,n,a,o,i,s),f.dynCall_jiiiijiiiii=(e,r,t,n,a,o,i,s,l,u,c,d)=>(f.dynCall_jiiiijiiiii=Go.dynCall_jiiiijiiiii)(e,r,t,n,a,o,i,s,l,u,c,d),f.dynCall_viiij=(e,r,t,n,a,o)=>(f.dynCall_viiij=Go.dynCall_viiij)(e,r,t,n,a,o),f.dynCall_jii=(e,r,t)=>(f.dynCall_jii=Go.dynCall_jii)(e,r,t),f.dynCall_vij=(e,r,t,n)=>(f.dynCall_vij=Go.dynCall_vij)(e,r,t,n),f.dynCall_jiiiiii=(e,r,t,n,a,o,i)=>(f.dynCall_jiiiiii=Go.dynCall_jiiiiii)(e,r,t,n,a,o,i),f.dynCall_jiiiiji=(e,r,t,n,a,o,i,s)=>(f.dynCall_jiiiiji=Go.dynCall_jiiiiji)(e,r,t,n,a,o,i,s),f.dynCall_iijj=(e,r,t,n,a,o)=>(f.dynCall_iijj=Go.dynCall_iijj)(e,r,t,n,a,o),f.dynCall_viiiiiij=(e,r,t,n,a,o,i,s,l)=>(f.dynCall_viiiiiij=Go.dynCall_viiiiiij)(e,r,t,n,a,o,i,s,l),f.dynCall_iiij=(e,r,t,n,a)=>(f.dynCall_iiij=Go.dynCall_iiij)(e,r,t,n,a),f.dynCall_vjji=(e,r,t,n,a,o)=>(f.dynCall_vjji=Go.dynCall_vjji)(e,r,t,n,a,o),f.dynCall_jiji=(e,r,t,n,a)=>(f.dynCall_jiji=Go.dynCall_jiji)(e,r,t,n,a),f.dynCall_viijii=(e,r,t,n,a,o,i)=>(f.dynCall_viijii=Go.dynCall_viijii)(e,r,t,n,a,o,i),f.dynCall_iiiiij=(e,r,t,n,a,o,i)=>(f.dynCall_iiiiij=Go.dynCall_iiiiij)(e,r,t,n,a,o,i),f.dynCall_iiiiijj=(e,r,t,n,a,o,i,s,l)=>(f.dynCall_iiiiijj=Go.dynCall_iiiiijj)(e,r,t,n,a,o,i,s,l),f.dynCall_iiiiiijj=(e,r,t,n,a,o,i,s,l,u)=>(f.dynCall_iiiiiijj=Go.dynCall_iiiiiijj)(e,r,t,n,a,o,i,s,l,u),ne=function e(){zo||Ei(),zo||(ne=e)},f.preInit)for("function"==typeof f.preInit&&(f.preInit=[f.preInit]);f.preInit.length>0;)f.preInit.pop()();return Ei(),m}),t=globalThis.self?.name?.startsWith("em-pthread");"string"==typeof globalThis.process?.versions?.node&&(t="em-pthread"===(await import("worker_threads")).workerData),t&&r();export{r as default};
|
|
1
|
+
/* eslint-disable */ var e,r=(e=import.meta.url,async function(r={}){var t,n,o=r,a=new Promise(((e,r)=>{t=e,n=r})),s="object"==typeof window,i="undefined"!=typeof WorkerGlobalScope,l="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type,u=i&&self.name?.startsWith("em-pthread");if(l){const{createRequire:ds}=await import("module");var c=ds(import.meta.url),d=c("worker_threads");global.Worker=d.Worker,i=!d.isMainThread,u=i&&"em-pthread"==d.workerData}var f,m,h="./this.program",p=(e,r)=>{throw r},v="";if(l){var g=c("fs"),w=c("path");import.meta.url.startsWith("data:")||(v=w.dirname(c("url").fileURLToPath(import.meta.url))+"/"),m=e=>(e=O(e)?new URL(e):e,g.readFileSync(e)),f=async(e,r=!0)=>(e=O(e)?new URL(e):e,g.readFileSync(e,r?void 0:"utf8")),process.argv.length>1&&(h=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),p=(e,r)=>{throw process.exitCode=e,r}}else(s||i)&&(i?v=self.location.href:"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src),e&&(v=e),v=v.startsWith("blob:")?"":v.slice(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1),l||(i&&(m=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),f=async e=>{if(O(e))return new Promise(((r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t(n.status)},n.onerror=t,n.send(null)}));var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)}));var _=console.log.bind(console),y=console.error.bind(console);if(l){var b=c("util"),E=e=>"object"==typeof e?b.inspect(e):e;_=(...e)=>g.writeSync(1,e.map(E).join(" ")+"\n"),y=(...e)=>g.writeSync(2,e.map(E).join(" ")+"\n")}var k,x,S,T,$,P,A,C,F,D,L,M,B,I,W=_,R=y,j=!1,O=e=>e.startsWith("file://");function N(){return x.buffer!=$.buffer&&Q(),$}function U(){return x.buffer!=$.buffer&&Q(),P}function G(){return x.buffer!=$.buffer&&Q(),A}function z(){return x.buffer!=$.buffer&&Q(),C}function V(){return x.buffer!=$.buffer&&Q(),F}function H(){return x.buffer!=$.buffer&&Q(),D}function q(){return x.buffer!=$.buffer&&Q(),L}function X(){return x.buffer!=$.buffer&&Q(),I}if(u){var K;if(l){var Y=d.parentPort;Y.on("message",(e=>onmessage({data:e}))),Object.assign(globalThis,{self:global,postMessage:e=>Y.postMessage(e)})}var J=!1;function fs(e){try{var r=e.data,t=r.cmd;if("load"===t){let e=[];self.onmessage=r=>e.push(r),self.startWorker=r=>{postMessage({cmd:"loaded"});for(let r of e)fs(r);self.onmessage=fs};for(const e of r.handlers)o[e]&&!o[e].proxy||(o[e]=(...r)=>{postMessage({cmd:"callHandler",handler:e,args:r})},"print"==e&&(W=o[e]),"printErr"==e&&(R=o[e]));x=r.wasmMemory,Q(),K(r.wasmModule)}else if("run"===t){Ae(r.pthread_ptr),Ua(r.pthread_ptr,0,0,1,0,0),Te.threadInitTLS(),jt(r.pthread_ptr),J||(Oa(),J=!0);try{De(r.start_routine,r.arg)}catch(e){if("unwind"!=e)throw e}}else"setimmediate"===r.target||("checkMailbox"===t?J&&Ot():t&&(R(`worker: received unknown command ${t}`),R(r)))}catch(e){throw Ga(),e}}self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=fs}function Q(){var e=x.buffer;$=new Int8Array(e),A=new Int16Array(e),o.HEAPU8=P=new Uint8Array(e),C=new Uint16Array(e),F=new Int32Array(e),o.HEAPU32=D=new Uint32Array(e),L=new Float32Array(e),I=new Float64Array(e),M=new BigInt64Array(e),B=new BigUint64Array(e)}function Z(){if(u)return startWorker(o);o.noFSInit||tr.initialized||tr.init(),Ma.__wasm_call_ctors(),tr.ignorePermissions=!1}var ee,re=0,te=null;function ne(e){re++,o.monitorRunDependencies?.(re)}function oe(e){if(re--,o.monitorRunDependencies?.(re),0==re&&te){var r=te;te=null,r()}}function ae(e){o.onAbort?.(e),R(e="Aborted("+e+")"),j=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw n(r),r}function se(){return o.locateFile?(e="jsview-dom-browser-forge.1493.9a36.wasm",o.locateFile?o.locateFile(e,v):v+e):new URL("jsview-dom-browser-forge.1493.9a36.wasm",import.meta.url).href;var e}async function ie(e){if(!k)try{var r=await f(e);return new Uint8Array(r)}catch{}return function(e){if(e==ee&&k)return new Uint8Array(k);if(m)return m(e);throw"both async and sync fetching of the wasm failed"}(e)}async function le(e,r,t){if(!e&&"function"==typeof WebAssembly.instantiateStreaming&&!O(r)&&!l)try{var n=fetch(r,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(e){R(`wasm streaming compile failed: ${e}`),R("falling back to ArrayBuffer instantiation")}return async function(e,r){try{var t=await ie(e);return await WebAssembly.instantiate(t,r)}catch(e){R(`failed to asynchronously prepare wasm: ${e}`),ae(e)}}(r,t)}function ue(){return{env:Fa={__cxa_throw:Ie,__pthread_create_js:Re,__syscall_fcntl64:ar,__syscall_fstat64:sr,__syscall_ioctl:ir,__syscall_lstat64:lr,__syscall_newfstatat:ur,__syscall_openat:cr,__syscall_stat64:dr,_abort_js:mr,_embind_register_bigint:kr,_embind_register_bool:Sr,_embind_register_class:nt,_embind_register_class_class_function:ut,_embind_register_emval:vt,_embind_register_float:wt,_embind_register_function:_t,_embind_register_integer:yt,_embind_register_memory_view:bt,_embind_register_std_string:kt,_embind_register_std_wstring:Ft,_embind_register_void:Dt,_emscripten_fetch_get_response_headers:Lt,_emscripten_fetch_get_response_headers_length:Mt,_emscripten_init_main_thread_js:Bt,_emscripten_notify_mailbox_postmessage:Nt,_emscripten_receive_on_main_thread_js:Gt,_emscripten_thread_cleanup:zt,_emscripten_thread_mailbox_await:jt,_emscripten_thread_set_strongref:Vt,_emscripten_throw_longjmp:Ht,_emval_as:Kt,_emval_call:Jt,_emval_call_method:en,_emval_decref:ft,_emval_get_global:tn,_emval_get_method_caller:nn,_emval_get_property:on,_emval_incref:an,_emval_instanceof:sn,_emval_is_number:ln,_emval_is_string:un,_emval_new_array:cn,_emval_new_cstring:dn,_emval_new_object:fn,_emval_run_destructors:mn,_emval_set_property:hn,_emval_take_value:pn,_emval_typeof:vn,_mmap_js:wn,_munmap_js:_n,_tzset_js:yn,clock_time_get:xn,emscripten_asm_const_int:$n,emscripten_async_call:Ln,emscripten_check_blocking_allowed:Mn,emscripten_exit_with_live_runtime:Bn,emscripten_fetch_free:In,emscripten_get_now:bn,emscripten_log:Un,emscripten_resize_heap:zn,emscripten_set_main_loop:Vn,emscripten_start_fetch:Qn,emscripten_webgl_create_context:no,emscripten_webgl_make_context_current:oo,environ_get:io,environ_sizes_get:lo,exit:Se,fd_close:uo,fd_pread:fo,fd_read:mo,fd_seek:ho,fd_write:vo,glActiveTexture:go,glAttachShader:wo,glBindBuffer:_o,glBindFramebuffer:yo,glBindRenderbuffer:bo,glBindTexture:Eo,glBlendFunc:ko,glBufferData:xo,glBufferSubData:So,glCheckFramebufferStatus:To,glClear:$o,glClearColor:Po,glClearStencil:Ao,glColorMask:Co,glCompileShader:Fo,glCompressedTexImage2D:Do,glCreateProgram:Lo,glCreateShader:Mo,glDeleteBuffers:Bo,glDeleteFramebuffers:Io,glDeleteProgram:Wo,glDeleteRenderbuffers:Ro,glDeleteShader:jo,glDeleteTextures:Oo,glDisable:No,glDrawArrays:Uo,glEnable:Go,glEnableVertexAttribArray:zo,glFramebufferRenderbuffer:Vo,glFramebufferTexture2D:Ho,glGenBuffers:qo,glGenFramebuffers:Xo,glGenRenderbuffers:Ko,glGenTextures:Yo,glGetAttribLocation:Jo,glGetIntegerv:Qo,glGetProgramiv:Zo,glGetShaderInfoLog:ea,glGetShaderiv:ra,glGetUniformLocation:na,glLinkProgram:oa,glPixelStorei:aa,glReadPixels:la,glRenderbufferStorage:ua,glScissor:ca,glShaderSource:da,glStencilFunc:fa,glStencilMask:ma,glStencilOp:ha,glTexImage2D:pa,glTexParameteri:va,glUniform1f:wa,glUniform1fv:ya,glUniform1i:ba,glUniform2f:Ea,glUniform3f:ka,glUniform4f:xa,glUniformMatrix4fv:Sa,glUseProgram:Ta,glVertexAttribPointer:$a,glViewport:Pa,invoke_ii:Qa,invoke_iii:Za,invoke_iiii:es,invoke_iiiii:ls,invoke_iiiiii:os,invoke_iiiiiii:ss,invoke_iiiiiiiiii:us,invoke_v:cs,invoke_vi:rs,invoke_vii:ns,invoke_viii:ts,invoke_viiii:as,invoke_viiiii:is,memory:x},wasi_snapshot_preview1:Fa}}class ce{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var de=e=>{e.terminate(),e.onmessage=e=>{}},fe=e=>{var r=Te.pthreads[e];Te.returnWorkerToPool(r)},me=e=>{for(;e.length>0;)e.shift()(o)},he=[],pe=e=>he.push(e),ve=e=>{var r=Te.getNewWorker();if(!r)return 6;Te.runningWorkers.push(r),Te.pthreads[e.pthread_ptr]=r,r.pthread_ptr=e.pthread_ptr;var t={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return l&&r.unref(),r.postMessage(t,e.transferList),0},ge=0,we=()=>Le||ge>0,_e=()=>Ja(),ye=e=>Ka(e),be=(e,r,t,...n)=>{for(var o=2*n.length,a=_e(),s=Ya(8*o),i=s>>3,l=0;l<n.length;l++){var u=n[l];"bigint"==typeof u?(M[i+2*l]=1n,M[i+2*l+1]=u):(M[i+2*l]=0n,X()[i+2*l+1]=u)}var c=za(e,r,o,s,t);return ye(a),c};function Ee(e){if(u)return be(0,0,1,e);T=e,we()||(Te.terminateAllThreads(),o.onExit?.(e),j=!0),p(e,new ce(e))}function ke(e){if(u)return be(1,0,0,e);Se(e)}var xe,Se=(e,r)=>{if(T=e,u)throw ke(e),"unwind";Ee(e)},Te={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){u||Te.initMainThread()},initMainThread(){for(var e=8;e--;)Te.allocateUnusedWorker();pe((()=>{ne(),Te.loadWasmModuleToAllWorkers((()=>oe()))}))},terminateAllThreads:()=>{for(var e of Te.runningWorkers)de(e);for(var e of Te.unusedWorkers)de(e);Te.unusedWorkers=[],Te.runningWorkers=[],Te.pthreads={}},returnWorkerToPool:e=>{var r=e.pthread_ptr;delete Te.pthreads[r],Te.unusedWorkers.push(e),Te.runningWorkers.splice(Te.runningWorkers.indexOf(e),1),e.pthread_ptr=0,Va(r)},threadInitTLS(){Te.tlsInitFunctions.forEach((e=>e()))},loadWasmModuleToWorker:e=>new Promise((r=>{e.onmessage=t=>{var n=t.data,a=n.cmd;if(n.targetThread&&n.targetThread!=Wa()){var s=Te.pthreads[n.targetThread];s?s.postMessage(n,n.transferList):R(`Internal error! Worker sent a message "${a}" to target pthread ${n.targetThread}, but that thread no longer exists!`)}else"checkMailbox"===a?Ot():"spawnThread"===a?ve(n):"cleanupThread"===a?fe(n.thread):"loaded"===a?(e.loaded=!0,l&&!e.pthread_ptr&&e.unref(),r(e)):"setimmediate"===n.target?e.postMessage(n):"callHandler"===a?o[n.handler](...n.args):a&&R(`worker sent an unknown command ${a}`)},e.onerror=e=>{throw R(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e},l&&(e.on("message",(r=>e.onmessage({data:r}))),e.on("error",(r=>e.onerror(r))));var t=[];for(var n of["onExit","onAbort","print","printErr"])o.propertyIsEnumerable(n)&&t.push(n);e.postMessage({cmd:"load",handlers:t,wasmMemory:x,wasmModule:S})})),loadWasmModuleToAllWorkers(e){if(u)return e();Promise.all(Te.unusedWorkers.map(Te.loadWasmModuleToWorker)).then(e)},allocateUnusedWorker(){var e;if(o.mainScriptUrlOrBlob){var r=o.mainScriptUrlOrBlob;"string"!=typeof r&&(r=URL.createObjectURL(r)),e=new Worker(r,{type:"module",workerData:"em-pthread",name:"em-pthread"})}else e=new Worker(new URL("",import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Te.unusedWorkers.push(e)},getNewWorker:()=>(0==Te.unusedWorkers.length&&(Te.allocateUnusedWorker(),Te.loadWasmModuleToWorker(Te.unusedWorkers[0])),Te.unusedWorkers.pop())},$e=[],Pe=e=>$e.push(e),Ae=e=>{Q();var r=H()[e+52>>2],t=H()[e+56>>2];Xa(r,r-t),ye(r)},Ce=[],Fe=e=>{var r=Ce[e];return r||(Ce[e]=r=xe.get(e)),r},De=(e,r)=>{ge=0,Le=0,function(e){we()?T=e:Ha(e)}(Fe(e)(r))},Le=!0,Me=e=>Te.tlsInitFunctions.push(e);class Be{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){H()[this.ptr+4>>2]=e}get_type(){return H()[this.ptr+4>>2]}set_destructor(e){H()[this.ptr+8>>2]=e}get_destructor(){return H()[this.ptr+8>>2]}set_caught(e){e=e?1:0,N()[this.ptr+12]=e}get_caught(){return 0!=N()[this.ptr+12]}set_rethrown(e){e=e?1:0,N()[this.ptr+13]=e}get_rethrown(){return 0!=N()[this.ptr+13]}init(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r)}set_adjusted_ptr(e){H()[this.ptr+16>>2]=e}get_adjusted_ptr(){return H()[this.ptr+16>>2]}}var Ie=(e,r,t)=>{throw new Be(e).init(r,t),e};function We(e,r,t,n){return u?be(2,0,1,e,r,t,n):Re(e,r,t,n)}var Re=(e,r,t,n)=>{if("undefined"==typeof SharedArrayBuffer)return 6;var o=[];if(u&&0===o.length)return We(e,r,t,n);var a={startRoutine:t,pthread_ptr:e,arg:n,transferList:o};return u?(a.cmd="spawnThread",postMessage(a,o),0):ve(a)},je=()=>{var e=V()[+or.varargs>>2];return or.varargs+=4,e},Oe=je,Ne={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Ne.isAbs(e),t="/"===e.slice(-1);return(e=Ne.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Ne.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>Ne.normalize(e.join("/")),join2:(e,r)=>Ne.normalize(e+"/"+r)},Ue=e=>{(Ue=(()=>{if(l){var e=c("crypto");return r=>e.randomFillSync(r)}return e=>e.set(crypto.getRandomValues(new Uint8Array(e.byteLength)))})())(e)},Ge={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var o=n>=0?e[n]:tr.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";r=o+"/"+r,t=Ne.isAbs(o)}return(t?"/":"")+(r=Ne.normalizeArray(r.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=Ge.resolve(e).slice(1),r=Ge.resolve(r).slice(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),s=a,i=0;i<a;i++)if(n[i]!==o[i]){s=i;break}var l=[];for(i=s;i<n.length;i++)l.push("..");return(l=l.concat(o.slice(s))).join("/")}},ze="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Ve=(e,r=0,t=NaN)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&ze)return ze.decode(e.buffer instanceof ArrayBuffer?e.subarray(r,o):e.slice(r,o));for(var a="";r<o;){var s=e[r++];if(128&s){var i=63&e[r++];if(192!=(224&s)){var l=63&e[r++];if((s=224==(240&s)?(15&s)<<12|i<<6|l:(7&s)<<18|i<<12|l<<6|63&e[r++])<65536)a+=String.fromCharCode(s);else{var u=s-65536;a+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},He=[],qe=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},Xe=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,s=0;s<e.length;++s){var i=e.charCodeAt(s);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-o},Ke=(e,r,t)=>{var n=t>0?t:qe(e)+1,o=new Array(n),a=Xe(e,o,0,o.length);return r&&(o.length=a),o},Ye={ttys:[],init(){},shutdown(){},register(e,r){Ye.ttys[e]={input:[],output:[],ops:r},tr.registerDevice(e,Ye.stream_ops)},stream_ops:{open(e){var r=Ye.ttys[e.node.rdev];if(!r)throw new tr.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new tr.ErrnoError(60);for(var a=0,s=0;s<n;s++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new tr.ErrnoError(29)}if(void 0===i&&0===a)throw new tr.ErrnoError(6);if(null==i)break;a++,r[t+s]=i}return a&&(e.node.atime=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new tr.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(e){throw new tr.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!He.length){var e=null;if(l){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=g.readSync(n,r,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}t>0&&(e=r.slice(0,t).toString("utf-8"))}else"undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;He=Ke(e,!0)}return He.shift()})(),put_char(e,r){null===r||10===r?(W(Ve(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(W(Ve(e.output)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(R(Ve(e.output)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output?.length>0&&(R(Ve(e.output)),e.output=[])}}},Je=(e,r)=>Math.ceil(e/r)*r,Qe=e=>{e=Je(e,65536);var r=Na(65536,e);return r&&((e,r)=>{U().fill(0,e,e+r)})(r,e),r},Ze={ops_table:null,mount:e=>Ze.createNode(null,"/",16895,0),createNode(e,r,t,n){if(tr.isBlkdev(t)||tr.isFIFO(t))throw new tr.ErrnoError(63);Ze.ops_table||={dir:{node:{getattr:Ze.node_ops.getattr,setattr:Ze.node_ops.setattr,lookup:Ze.node_ops.lookup,mknod:Ze.node_ops.mknod,rename:Ze.node_ops.rename,unlink:Ze.node_ops.unlink,rmdir:Ze.node_ops.rmdir,readdir:Ze.node_ops.readdir,symlink:Ze.node_ops.symlink},stream:{llseek:Ze.stream_ops.llseek}},file:{node:{getattr:Ze.node_ops.getattr,setattr:Ze.node_ops.setattr},stream:{llseek:Ze.stream_ops.llseek,read:Ze.stream_ops.read,write:Ze.stream_ops.write,mmap:Ze.stream_ops.mmap,msync:Ze.stream_ops.msync}},link:{node:{getattr:Ze.node_ops.getattr,setattr:Ze.node_ops.setattr,readlink:Ze.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ze.node_ops.getattr,setattr:Ze.node_ops.setattr},stream:tr.chrdev_stream_ops}};var o=tr.createNode(e,r,t,n);return tr.isDir(o.mode)?(o.node_ops=Ze.ops_table.dir.node,o.stream_ops=Ze.ops_table.dir.stream,o.contents={}):tr.isFile(o.mode)?(o.node_ops=Ze.ops_table.file.node,o.stream_ops=Ze.ops_table.file.stream,o.usedBytes=0,o.contents=null):tr.isLink(o.mode)?(o.node_ops=Ze.ops_table.link.node,o.stream_ops=Ze.ops_table.link.stream):tr.isChrdev(o.mode)&&(o.node_ops=Ze.ops_table.chrdev.node,o.stream_ops=Ze.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[r]=o,e.atime=e.mtime=e.ctime=o.atime),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=tr.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,tr.isDir(e.mode)?r.size=4096:tr.isFile(e.mode)?r.size=e.usedBytes:tr.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.atime),r.mtime=new Date(e.mtime),r.ctime=new Date(e.ctime),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){for(const t of["mode","atime","mtime","ctime"])null!=r[t]&&(e[t]=r[t]);void 0!==r.size&&Ze.resizeFileStorage(e,r.size)},lookup(e,r){throw Ze.doesNotExistError},mknod:(e,r,t,n)=>Ze.createNode(e,r,t,n),rename(e,r,t){var n;try{n=tr.lookupNode(r,t)}catch(e){}if(n){if(tr.isDir(e.mode))for(var o in n.contents)throw new tr.ErrnoError(55);tr.hashRemoveNode(n)}delete e.parent.contents[e.name],r.contents[t]=e,e.name=t,r.ctime=r.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,r){delete e.contents[r],e.ctime=e.mtime=Date.now()},rmdir(e,r){var t=tr.lookupNode(e,r);for(var n in t.contents)throw new tr.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,r,t){var n=Ze.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!tr.isLink(e.mode))throw new tr.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&a.subarray)r.set(a.subarray(o,o+s),t);else for(var i=0;i<s;i++)r[t+i]=a[o+i];return s},write(e,r,t,n,o,a){if(r.buffer===N().buffer&&(a=!1),!n)return 0;var s=e.node;if(s.mtime=s.ctime=Date.now(),r.subarray&&(!s.contents||s.contents.subarray)){if(a)return s.contents=r.subarray(t,t+n),s.usedBytes=n,n;if(0===s.usedBytes&&0===o)return s.contents=r.slice(t,t+n),s.usedBytes=n,n;if(o+n<=s.usedBytes)return s.contents.set(r.subarray(t,t+n),o),n}if(Ze.expandFileStorage(s,o+n),s.contents.subarray&&r.subarray)s.contents.set(r.subarray(t,t+n),o);else for(var i=0;i<n;i++)s.contents[o+i]=r[t+i];return s.usedBytes=Math.max(s.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&tr.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new tr.ErrnoError(28);return n},mmap(e,r,t,n,o){if(!tr.isFile(e.node.mode))throw new tr.ErrnoError(43);var a,s,i=e.node.contents;if(2&o||!i||i.buffer!==N().buffer){if(s=!0,!(a=Qe(r)))throw new tr.ErrnoError(48);i&&((t>0||t+r<i.length)&&(i=i.subarray?i.subarray(t,t+r):Array.prototype.slice.call(i,t,t+r)),N().set(i,a))}else s=!1,a=i.byteOffset;return{ptr:a,allocated:s}},msync:(e,r,t,n,o)=>(Ze.stream_ops.write(e,r,0,n,t,!1),0)}},er=[],rr=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},tr={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.id=tr.nextInode++,this.name=r,this.mode=t,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return tr.isDir(this.mode)}get isDevice(){return tr.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)throw new tr.ErrnoError(44);r.follow_mount??=!0,Ne.isAbs(e)||(e=tr.cwd()+"/"+e);e:for(var t=0;t<40;t++){for(var n=e.split("/").filter((e=>!!e)),o=tr.root,a="/",s=0;s<n.length;s++){var i=s===n.length-1;if(i&&r.parent)break;if("."!==n[s])if(".."!==n[s]){a=Ne.join2(a,n[s]);try{o=tr.lookupNode(o,n[s])}catch(e){if(44===e?.errno&&i&&r.noent_okay)return{path:a};throw e}if(!tr.isMountpoint(o)||i&&!r.follow_mount||(o=o.mounted.root),tr.isLink(o.mode)&&(!i||r.follow)){if(!o.node_ops.readlink)throw new tr.ErrnoError(52);var l=o.node_ops.readlink(o);Ne.isAbs(l)||(l=Ne.dirname(a)+"/"+l),e=l+"/"+n.slice(s+1).join("/");continue e}}else{if(a=Ne.dirname(a),tr.isRoot(o)){e=a+"/"+n.slice(s+1).join("/");continue e}o=o.parent}}return{path:a,node:o}}throw new tr.ErrnoError(32)},getPath(e){for(var r;;){if(tr.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%tr.nameTable.length},hashAddNode(e){var r=tr.hashName(e.parent.id,e.name);e.name_next=tr.nameTable[r],tr.nameTable[r]=e},hashRemoveNode(e){var r=tr.hashName(e.parent.id,e.name);if(tr.nameTable[r]===e)tr.nameTable[r]=e.name_next;else for(var t=tr.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=tr.mayLookup(e);if(t)throw new tr.ErrnoError(t);for(var n=tr.hashName(e.id,r),o=tr.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return tr.lookup(e,r)},createNode(e,r,t,n){var o=new tr.FSNode(e,r,t,n);return tr.hashAddNode(o),o},destroyNode(e){tr.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>tr.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!tr.isDir(e.mode))return 54;var r=tr.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){if(!tr.isDir(e.mode))return 54;try{return tr.lookupNode(e,r),20}catch(e){}return tr.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=tr.lookupNode(e,r)}catch(e){return e.errno}var o=tr.nodePermissions(e,"wx");if(o)return o;if(t){if(!tr.isDir(n.mode))return 54;if(tr.isRoot(n)||tr.getPath(n)===tr.cwd())return 10}else if(tr.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?tr.isLink(e.mode)?32:tr.isDir(e.mode)&&("r"!==tr.flagsToPermissionString(r)||576&r)?31:tr.nodePermissions(e,tr.flagsToPermissionString(r)):44,checkOpExists(e,r){if(!e)throw new tr.ErrnoError(r);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=tr.MAX_OPEN_FDS;e++)if(!tr.streams[e])return e;throw new tr.ErrnoError(33)},getStreamChecked(e){var r=tr.getStream(e);if(!r)throw new tr.ErrnoError(8);return r},getStream:e=>tr.streams[e],createStream:(e,r=-1)=>(e=Object.assign(new tr.FSStream,e),-1==r&&(r=tr.nextfd()),e.fd=r,tr.streams[r]=e,e),closeStream(e){tr.streams[e]=null},dupStream(e,r=-1){var t=tr.createStream(e,r);return t.stream_ops?.dup?.(t),t},doSetAttr(e,r,t){var n=e?.stream_ops.setattr,o=n?e:r;n??=r.node_ops.setattr,tr.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(e){var r=tr.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new tr.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){tr.devices[e]={stream_ops:r}},getDevice:e=>tr.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),tr.syncFSRequests++,tr.syncFSRequests>1&&R(`warning: ${tr.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=tr.getMounts(tr.root.mount),n=0;function o(e){return tr.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&tr.root)throw new tr.ErrnoError(10);if(!o&&!a){var s=tr.lookupPath(t,{follow_mount:!1});if(t=s.path,n=s.node,tr.isMountpoint(n))throw new tr.ErrnoError(10);if(!tr.isDir(n.mode))throw new tr.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(i);return l.mount=i,i.root=l,o?tr.root=l:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),l},unmount(e){var r=tr.lookupPath(e,{follow_mount:!1});if(!tr.isMountpoint(r.node))throw new tr.ErrnoError(28);var t=r.node,n=t.mounted,o=tr.getMounts(n);Object.keys(tr.nameTable).forEach((e=>{for(var r=tr.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&tr.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=tr.lookupPath(e,{parent:!0}).node,o=Ne.basename(e);if(!o)throw new tr.ErrnoError(28);if("."===o||".."===o)throw new tr.ErrnoError(20);var a=tr.mayCreate(n,o);if(a)throw new tr.ErrnoError(a);if(!n.node_ops.mknod)throw new tr.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},statfs:e=>tr.statfsNode(tr.lookupPath(e,{follow:!0}).node),statfsStream:e=>tr.statfsNode(e.node),statfsNode(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:tr.nextInode,ffree:tr.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(r,e.node_ops.statfs(e.mount.opts.root)),r},create:(e,r=438)=>(r&=4095,r|=32768,tr.mknod(e,r,0)),mkdir:(e,r=511)=>(r&=1023,r|=16384,tr.mknod(e,r,0)),mkdirTree(e,r){var t=e.split("/"),n="";for(var o of t)if(o){(n||Ne.isAbs(e))&&(n+="/"),n+=o;try{tr.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,tr.mknod(e,r,t)),symlink(e,r){if(!Ge.resolve(e))throw new tr.ErrnoError(44);var t=tr.lookupPath(r,{parent:!0}).node;if(!t)throw new tr.ErrnoError(44);var n=Ne.basename(r),o=tr.mayCreate(t,n);if(o)throw new tr.ErrnoError(o);if(!t.node_ops.symlink)throw new tr.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=Ne.dirname(e),a=Ne.dirname(r),s=Ne.basename(e),i=Ne.basename(r);if(t=tr.lookupPath(e,{parent:!0}).node,n=tr.lookupPath(r,{parent:!0}).node,!t||!n)throw new tr.ErrnoError(44);if(t.mount!==n.mount)throw new tr.ErrnoError(75);var l,u=tr.lookupNode(t,s),c=Ge.relative(e,a);if("."!==c.charAt(0))throw new tr.ErrnoError(28);if("."!==(c=Ge.relative(r,o)).charAt(0))throw new tr.ErrnoError(55);try{l=tr.lookupNode(n,i)}catch(e){}if(u!==l){var d=tr.isDir(u.mode),f=tr.mayDelete(t,s,d);if(f)throw new tr.ErrnoError(f);if(f=l?tr.mayDelete(n,i,d):tr.mayCreate(n,i))throw new tr.ErrnoError(f);if(!t.node_ops.rename)throw new tr.ErrnoError(63);if(tr.isMountpoint(u)||l&&tr.isMountpoint(l))throw new tr.ErrnoError(10);if(n!==t&&(f=tr.nodePermissions(t,"w")))throw new tr.ErrnoError(f);tr.hashRemoveNode(u);try{t.node_ops.rename(u,n,i),u.parent=n}catch(e){throw e}finally{tr.hashAddNode(u)}}},rmdir(e){var r=tr.lookupPath(e,{parent:!0}).node,t=Ne.basename(e),n=tr.lookupNode(r,t),o=tr.mayDelete(r,t,!0);if(o)throw new tr.ErrnoError(o);if(!r.node_ops.rmdir)throw new tr.ErrnoError(63);if(tr.isMountpoint(n))throw new tr.ErrnoError(10);r.node_ops.rmdir(r,t),tr.destroyNode(n)},readdir(e){var r=tr.lookupPath(e,{follow:!0}).node;return tr.checkOpExists(r.node_ops.readdir,54)(r)},unlink(e){var r=tr.lookupPath(e,{parent:!0}).node;if(!r)throw new tr.ErrnoError(44);var t=Ne.basename(e),n=tr.lookupNode(r,t),o=tr.mayDelete(r,t,!1);if(o)throw new tr.ErrnoError(o);if(!r.node_ops.unlink)throw new tr.ErrnoError(63);if(tr.isMountpoint(n))throw new tr.ErrnoError(10);r.node_ops.unlink(r,t),tr.destroyNode(n)},readlink(e){var r=tr.lookupPath(e).node;if(!r)throw new tr.ErrnoError(44);if(!r.node_ops.readlink)throw new tr.ErrnoError(28);return r.node_ops.readlink(r)},stat(e,r){var t=tr.lookupPath(e,{follow:!r}).node;return tr.checkOpExists(t.node_ops.getattr,63)(t)},fstat(e){var r=tr.getStreamChecked(e),t=r.node,n=r.stream_ops.getattr,o=n?r:t;return n??=t.node_ops.getattr,tr.checkOpExists(n,63),n(o)},lstat:e=>tr.stat(e,!0),doChmod(e,r,t,n){tr.doSetAttr(e,r,{mode:4095&t|-4096&r.mode,ctime:Date.now(),dontFollow:n})},chmod(e,r,t){var n;n="string"==typeof e?tr.lookupPath(e,{follow:!t}).node:e,tr.doChmod(null,n,r,t)},lchmod(e,r){tr.chmod(e,r,!0)},fchmod(e,r){var t=tr.getStreamChecked(e);tr.doChmod(t,t.node,r,!1)},doChown(e,r,t){tr.doSetAttr(e,r,{timestamp:Date.now(),dontFollow:t})},chown(e,r,t,n){var o;o="string"==typeof e?tr.lookupPath(e,{follow:!n}).node:e,tr.doChown(null,o,n)},lchown(e,r,t){tr.chown(e,r,t,!0)},fchown(e,r,t){var n=tr.getStreamChecked(e);tr.doChown(n,n.node,!1)},doTruncate(e,r,t){if(tr.isDir(r.mode))throw new tr.ErrnoError(31);if(!tr.isFile(r.mode))throw new tr.ErrnoError(28);var n=tr.nodePermissions(r,"w");if(n)throw new tr.ErrnoError(n);tr.doSetAttr(e,r,{size:t,timestamp:Date.now()})},truncate(e,r){if(r<0)throw new tr.ErrnoError(28);var t;t="string"==typeof e?tr.lookupPath(e,{follow:!0}).node:e,tr.doTruncate(null,t,r)},ftruncate(e,r){var t=tr.getStreamChecked(e);if(r<0||!(2097155&t.flags))throw new tr.ErrnoError(28);tr.doTruncate(t,t.node,r)},utime(e,r,t){var n=tr.lookupPath(e,{follow:!0}).node;tr.checkOpExists(n.node_ops.setattr,63)(n,{atime:r,mtime:t})},open(e,r,t=438){if(""===e)throw new tr.ErrnoError(44);var n,a;if(t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)n=e;else{a=e.endsWith("/");var s=tr.lookupPath(e,{follow:!(131072&r),noent_okay:!0});n=s.node,e=s.path}var i=!1;if(64&r)if(n){if(128&r)throw new tr.ErrnoError(20)}else{if(a)throw new tr.ErrnoError(31);n=tr.mknod(e,511|t,0),i=!0}if(!n)throw new tr.ErrnoError(44);if(tr.isChrdev(n.mode)&&(r&=-513),65536&r&&!tr.isDir(n.mode))throw new tr.ErrnoError(54);if(!i){var l=tr.mayOpen(n,r);if(l)throw new tr.ErrnoError(l)}512&r&&!i&&tr.truncate(n,0),r&=-131713;var u=tr.createStream({node:n,path:tr.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),i&&tr.chmod(n,511&t),!o.logReadFiles||1&r||e in tr.readFiles||(tr.readFiles[e]=1),u},close(e){if(tr.isClosed(e))throw new tr.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{tr.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(tr.isClosed(e))throw new tr.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new tr.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new tr.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new tr.ErrnoError(28);if(tr.isClosed(e))throw new tr.ErrnoError(8);if(1==(2097155&e.flags))throw new tr.ErrnoError(8);if(tr.isDir(e.node.mode))throw new tr.ErrnoError(31);if(!e.stream_ops.read)throw new tr.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new tr.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=s),s},write(e,r,t,n,o,a){if(n<0||o<0)throw new tr.ErrnoError(28);if(tr.isClosed(e))throw new tr.ErrnoError(8);if(!(2097155&e.flags))throw new tr.ErrnoError(8);if(tr.isDir(e.node.mode))throw new tr.ErrnoError(31);if(!e.stream_ops.write)throw new tr.ErrnoError(28);e.seekable&&1024&e.flags&&tr.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new tr.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,r,t,n,o,a);return s||(e.position+=i),i},mmap(e,r,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new tr.ErrnoError(2);if(1==(2097155&e.flags))throw new tr.ErrnoError(2);if(!e.stream_ops.mmap)throw new tr.ErrnoError(43);if(!r)throw new tr.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new tr.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=tr.open(e,r.flags),o=tr.stat(e).size,a=new Uint8Array(o);return tr.read(n,a,0,o,0),"utf8"===r.encoding?t=Ve(a):"binary"===r.encoding&&(t=a),tr.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=tr.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(qe(r)+1),a=Xe(r,o,0,o.length);tr.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");tr.write(n,r,0,r.byteLength,void 0,t.canOwn)}tr.close(n)},cwd:()=>tr.currentPath,chdir(e){var r=tr.lookupPath(e,{follow:!0});if(null===r.node)throw new tr.ErrnoError(44);if(!tr.isDir(r.node.mode))throw new tr.ErrnoError(54);var t=tr.nodePermissions(r.node,"x");if(t)throw new tr.ErrnoError(t);tr.currentPath=r.path},createDefaultDirectories(){tr.mkdir("/tmp"),tr.mkdir("/home"),tr.mkdir("/home/web_user")},createDefaultDevices(){tr.mkdir("/dev"),tr.registerDevice(tr.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n,llseek:()=>0}),tr.mkdev("/dev/null",tr.makedev(1,3)),Ye.register(tr.makedev(5,0),Ye.default_tty_ops),Ye.register(tr.makedev(6,0),Ye.default_tty1_ops),tr.mkdev("/dev/tty",tr.makedev(5,0)),tr.mkdev("/dev/tty1",tr.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(Ue(e),r=e.byteLength),e[--r]);tr.createDevice("/dev","random",t),tr.createDevice("/dev","urandom",t),tr.mkdir("/dev/shm"),tr.mkdir("/dev/shm/tmp")},createSpecialDirectories(){tr.mkdir("/proc");var e=tr.mkdir("/proc/self");tr.mkdir("/proc/self/fd"),tr.mount({mount(){var r=tr.createNode(e,"fd",16895,73);return r.stream_ops={llseek:Ze.stream_ops.llseek},r.node_ops={lookup(e,r){var t=+r,n=tr.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(tr.streams.entries()).filter((([e,r])=>r)).map((([e,r])=>e.toString()))},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?tr.createDevice("/dev","stdin",e):tr.symlink("/dev/tty","/dev/stdin"),r?tr.createDevice("/dev","stdout",null,r):tr.symlink("/dev/tty","/dev/stdout"),t?tr.createDevice("/dev","stderr",null,t):tr.symlink("/dev/tty1","/dev/stderr"),tr.open("/dev/stdin",0),tr.open("/dev/stdout",1),tr.open("/dev/stderr",1)},staticInit(){tr.nameTable=new Array(4096),tr.mount(Ze,{},"/"),tr.createDefaultDirectories(),tr.createDefaultDevices(),tr.createSpecialDirectories(),tr.filesystems={MEMFS:Ze}},init(e,r,t){tr.initialized=!0,e??=o.stdin,r??=o.stdout,t??=o.stderr,tr.createStandardStreams(e,r,t)},quit(){for(var e of(tr.initialized=!1,tr.streams))e&&tr.close(e)},findObject(e,r){var t=tr.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=tr.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=tr.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Ne.basename(e),n=tr.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:tr.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var s=Ne.join2(e,a);try{tr.mkdir(s)}catch(e){if(20!=e.errno)throw e}e=s}}return s},createFile(e,r,t,n,o){var a=Ne.join2("string"==typeof e?e:tr.getPath(e),r),s=rr(n,o);return tr.create(a,s)},createDataFile(e,r,t,n,o,a){var s=r;e&&(e="string"==typeof e?e:tr.getPath(e),s=r?Ne.join2(e,r):e);var i=rr(n,o),l=tr.create(s,i);if(t){if("string"==typeof t){for(var u=new Array(t.length),c=0,d=t.length;c<d;++c)u[c]=t.charCodeAt(c);t=u}tr.chmod(l,146|i);var f=tr.open(l,577);tr.write(f,t,0,t.length,0,a),tr.close(f),tr.chmod(l,i)}},createDevice(e,r,t,n){var o=Ne.join2("string"==typeof e?e:tr.getPath(e),r),a=rr(!!t,!!n);tr.createDevice.major??=64;var s=tr.makedev(tr.createDevice.major++,0);return tr.registerDevice(s,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,r,n,o,a){for(var s=0,i=0;i<o;i++){var l;try{l=t()}catch(e){throw new tr.ErrnoError(29)}if(void 0===l&&0===s)throw new tr.ErrnoError(6);if(null==l)break;s++,r[n+i]=l}return s&&(e.node.atime=Date.now()),s},write(e,r,t,o,a){for(var s=0;s<o;s++)try{n(r[t+s])}catch(e){throw new tr.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),s}}),tr.mkdev(o,a,s)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)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.");try{e.contents=m(e.url),e.usedBytes=e.contents.length}catch(e){throw new tr.ErrnoError(29)}},createLazyFile(e,r,t,n,o){class a{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;o||(s=n);var i=this;i.setDataGetter((e=>{var r=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):Ke(o.responseText||"",!0)})(r,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,W("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!i)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,contents:new a}}else s={isDevice:!1,url:t};var l=tr.createFile(e,r,s,n,o);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var s=Math.min(a.length-o,n);if(a.slice)for(var i=0;i<s;i++)r[t+i]=a[o+i];else for(i=0;i<s;i++)r[t+i]=a.get(o+i);return s}return Object.keys(l.stream_ops).forEach((e=>{var r=l.stream_ops[e];u[e]=(...e)=>(tr.forceLoadFile(l),r(...e))})),u.read=(e,r,t,n,o)=>(tr.forceLoadFile(l),c(e,r,t,n,o)),u.mmap=(e,r,t,n,o)=>{tr.forceLoadFile(l);var a=Qe(r);if(!a)throw new tr.ErrnoError(48);return c(e,N(),a,r,t),{ptr:a,allocated:!0}},l.stream_ops=u,l}},nr=(e,r)=>e?Ve(U(),e,r):"",or={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Ne.isAbs(r))return r;var n;if(n=-100===e?tr.cwd():or.getStreamFromFD(e).path,0==r.length){if(!t)throw new tr.ErrnoError(44);return n}return n+"/"+r},writeStat(e,r){V()[e>>2]=r.dev,V()[e+4>>2]=r.mode,H()[e+8>>2]=r.nlink,V()[e+12>>2]=r.uid,V()[e+16>>2]=r.gid,V()[e+20>>2]=r.rdev,M[e+24>>3]=BigInt(r.size),V()[e+32>>2]=4096,V()[e+36>>2]=r.blocks;var t=r.atime.getTime(),n=r.mtime.getTime(),o=r.ctime.getTime();return M[e+40>>3]=BigInt(Math.floor(t/1e3)),H()[e+48>>2]=t%1e3*1e3*1e3,M[e+56>>3]=BigInt(Math.floor(n/1e3)),H()[e+64>>2]=n%1e3*1e3*1e3,M[e+72>>3]=BigInt(Math.floor(o/1e3)),H()[e+80>>2]=o%1e3*1e3*1e3,M[e+88>>3]=BigInt(r.ino),0},writeStatFs(e,r){V()[e+4>>2]=r.bsize,V()[e+40>>2]=r.bsize,V()[e+8>>2]=r.blocks,V()[e+12>>2]=r.bfree,V()[e+16>>2]=r.bavail,V()[e+20>>2]=r.files,V()[e+24>>2]=r.ffree,V()[e+28>>2]=r.fsid,V()[e+44>>2]=r.flags,V()[e+36>>2]=r.namelen},doMsync(e,r,t,n,o){if(!tr.isFile(r.node.mode))throw new tr.ErrnoError(43);if(2&n)return 0;var a=U().slice(e,e+t);tr.msync(r,a,o,t,n)},getStreamFromFD:e=>tr.getStreamChecked(e),varargs:void 0,getStr:e=>nr(e)};function ar(e,r,t){if(u)return be(3,0,1,e,r,t);or.varargs=t;try{var n=or.getStreamFromFD(e);switch(r){case 0:if((o=je())<0)return-28;for(;tr.streams[o];)o++;return tr.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=je();return n.flags|=o,0;case 12:return o=Oe(),G()[o+0>>1]=2,0}return-28}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}function sr(e,r){if(u)return be(4,0,1,e,r);try{return or.writeStat(r,tr.fstat(e))}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}function ir(e,r,t){if(u)return be(5,0,1,e,r,t);or.varargs=t;try{var n=or.getStreamFromFD(e);switch(r){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=Oe();V()[a>>2]=o.c_iflag||0,V()[a+4>>2]=o.c_oflag||0,V()[a+8>>2]=o.c_cflag||0,V()[a+12>>2]=o.c_lflag||0;for(var s=0;s<32;s++)N()[a+s+17]=o.c_cc[s]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=Oe();var i=V()[a>>2],l=V()[a+4>>2],c=V()[a+8>>2],d=V()[a+12>>2],f=[];for(s=0;s<32;s++)f.push(N()[a+s+17]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:i,c_oflag:l,c_cflag:c,c_lflag:d,c_cc:f})}return 0;case 21519:return n.tty?(a=Oe(),V()[a>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21531:return a=Oe(),tr.ioctl(n,r,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var m=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=Oe(),G()[a>>1]=m[0],G()[a+2>>1]=m[1]}return 0;default:return-28}}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}function lr(e,r){if(u)return be(6,0,1,e,r);try{return e=or.getStr(e),or.writeStat(r,tr.lstat(e))}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}function ur(e,r,t,n){if(u)return be(7,0,1,e,r,t,n);try{r=or.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=or.calculateAt(e,r,a),or.writeStat(t,o?tr.lstat(r):tr.stat(r))}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}function cr(e,r,t,n){if(u)return be(8,0,1,e,r,t,n);or.varargs=n;try{r=or.getStr(r),r=or.calculateAt(e,r);var o=n?je():0;return tr.open(r,t,o).fd}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}function dr(e,r){if(u)return be(9,0,1,e,r);try{return e=or.getStr(e),or.writeStat(r,tr.stat(e))}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}var fr,mr=()=>ae(""),hr=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},pr=e=>{for(var r="",t=e;U()[t];)r+=fr[U()[t++]];return r},vr={},gr={},wr={},_r=o.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},yr=e=>{throw new _r(e)};function br(e,r,t={}){return function(e,r,t={}){var n=r.name;if(e||yr(`type "${n}" must have a positive integer typeid pointer`),gr.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;yr(`Cannot register type '${n}' twice`)}if(gr[e]=r,delete wr[e],vr.hasOwnProperty(e)){var o=vr[e];delete vr[e],o.forEach((e=>e()))}}(e,r,t)}var Er=(e,r,t)=>{switch(r){case 1:return t?e=>N()[e]:e=>U()[e];case 2:return t?e=>G()[e>>1]:e=>z()[e>>1];case 4:return t?e=>V()[e>>2]:e=>H()[e>>2];case 8:return t?e=>M[e>>3]:e=>B[e>>3];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},kr=(e,r,t,n,o)=>{var a=-1!=(r=pr(r)).indexOf("u");br(e,{name:r,fromWireType:e=>e,toWireType:function(e,r){if("bigint"!=typeof r&&"number"!=typeof r)throw new TypeError(`Cannot convert "${hr(r)}" to ${this.name}`);return"number"==typeof r&&(r=BigInt(r)),r},argPackAdvance:xr,readValueFromPointer:Er(r,t,!a),destructorFunction:null})},xr=8,Sr=(e,r,t,n)=>{br(e,{name:r=pr(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:xr,readValueFromPointer:function(e){return this.fromWireType(U()[e])},destructorFunction:null})},Tr=e=>{yr(e.$$.ptrType.registeredClass.name+" instance already deleted")},$r=!1,Pr=e=>{},Ar=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Cr=e=>"undefined"==typeof FinalizationRegistry?(Cr=e=>e,e):($r=new FinalizationRegistry((e=>{Ar(e.$$)})),Cr=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};$r.register(e,t,e)}return e},Pr=e=>$r.unregister(e),Cr(e)),Fr=[];function Dr(){}var Lr=(e,r)=>Object.defineProperty(r,"name",{value:e}),Mr={},Br=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(...n){return e[r].overloadTable.hasOwnProperty(n.length)||yr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[n.length].apply(this,n)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Ir=(e,r,t)=>{o.hasOwnProperty(e)?((void 0===t||void 0!==o[e].overloadTable&&void 0!==o[e].overloadTable[t])&&yr(`Cannot register public name '${e}' twice`),Br(o,e,e),o[e].overloadTable.hasOwnProperty(t)&&yr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),o[e].overloadTable[t]=r):(o[e]=r,o[e].argCount=t)};function Wr(e,r,t,n,o,a,s,i){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=s,this.downcast=i,this.pureVirtualFunctions=[]}var Rr=(e,r,t)=>{for(;r!==t;)r.upcast||yr(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function jr(e,r){if(null===r)return this.isReference&&yr(`null is not a valid ${this.name}`),0;r.$$||yr(`Cannot pass "${hr(r)}" as a ${this.name}`),r.$$.ptr||yr(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Rr(r.$$.ptr,t,this.registeredClass)}function Or(e,r){var t;if(null===r)return this.isReference&&yr(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||yr(`Cannot pass "${hr(r)}" as a ${this.name}`),r.$$.ptr||yr(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&yr(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var n=r.$$.ptrType.registeredClass;if(t=Rr(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&yr("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:yr(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var o=r.clone();t=this.rawShare(t,ht.toHandle((()=>o.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:yr("Unsupporting sharing policy")}return t}function Nr(e,r){if(null===r)return this.isReference&&yr(`null is not a valid ${this.name}`),0;r.$$||yr(`Cannot pass "${hr(r)}" as a ${this.name}`),r.$$.ptr||yr(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&yr(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass;return Rr(r.$$.ptr,t,this.registeredClass)}function Ur(e){return this.fromWireType(H()[e>>2])}var Gr=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=Gr(e,r,t.baseClass);return null===n?null:t.downcast(n)},zr={},Vr=(e,r)=>(r=((e,r)=>{for(void 0===r&&yr("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),zr[r]),Hr=o.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},qr=e=>{throw new Hr(e)},Xr=(e,r)=>(r.ptrType&&r.ptr||qr("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&qr("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Cr(Object.create(e,{$$:{value:r,writable:!0}})));function Kr(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=Vr(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Xr(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Xr(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(r),i=Mr[s];if(!i)return o.call(this);a=this.isConst?i.constPointerType:i.pointerType;var l=Gr(r,this.registeredClass,a.registeredClass);return null===l?o.call(this):this.isSmartPointer?Xr(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Xr(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Yr(e,r,t,n,o,a,s,i,l,u,c){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=i,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,o||void 0!==r.baseClass?this.toWireType=Or:n?(this.toWireType=jr,this.destructorFunction=null):(this.toWireType=Nr,this.destructorFunction=null)}var Jr=(e,r,t)=>{o.hasOwnProperty(e)||qr("Replacing nonexistent public symbol"),void 0!==o[e].overloadTable&&void 0!==t?o[e].overloadTable[t]=r:(o[e]=r,o[e].argCount=t)},Qr=(e,r,t=!1)=>{e=pr(e);var n=Fe(r);return"function"!=typeof n&&yr(`unknown function pointer with signature ${e}: ${r}`),n};class Zr extends Error{}var et=e=>{var r=ja(e),t=pr(r);return Ia(r),t},rt=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||gr[r]||(wr[r]?wr[r].forEach(e):(t.push(r),n[r]=!0))})),new Zr(`${e}: `+t.map(et).join([", "]))},tt=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&qr("Mismatched type converter count");for(var o=0;o<e.length;++o)br(e[o],n[o])}e.forEach((e=>wr[e]=r));var o=new Array(r.length),a=[],s=0;r.forEach(((e,r)=>{gr.hasOwnProperty(e)?o[r]=gr[e]:(a.push(e),vr.hasOwnProperty(e)||(vr[e]=[]),vr[e].push((()=>{o[r]=gr[e],++s===a.length&&n(o)})))})),0===a.length&&n(o)},nt=(e,r,t,n,o,a,s,i,l,u,c,d,f)=>{c=pr(c),a=Qr(o,a),i&&=Qr(s,i),u&&=Qr(l,u),f=Qr(d,f);var m=(e=>{var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?`_${e}`:e})(c);Ir(m,(function(){rt(`Cannot construct ${c} due to unbound types`,[n])})),tt([e,r,t],n?[n]:[],(r=>{var t,o;r=r[0],o=n?(t=r.registeredClass).instancePrototype:Dr.prototype;var s=Lr(c,(function(...e){if(Object.getPrototypeOf(this)!==l)throw new _r(`Use 'new' to construct ${c}`);if(void 0===d.constructor_body)throw new _r(`${c} has no accessible constructor`);var r=d.constructor_body[e.length];if(void 0===r)throw new _r(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return r.apply(this,e)})),l=Object.create(o,{constructor:{value:s}});s.prototype=l;var d=new Wr(c,s,l,f,t,a,i,u);d.baseClass&&(d.baseClass.__derivedClasses??=[],d.baseClass.__derivedClasses.push(d));var h=new Yr(c,d,!0,!1,!1),p=new Yr(c+"*",d,!1,!1,!1),v=new Yr(c+" const*",d,!1,!0,!1);return Mr[e]={pointerType:p,constPointerType:v},Jr(m,s),[h,p,v]}))},ot=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function at(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function st(e,r,t,n,o,a){var s=r.length;s<2&&yr("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==r[1]&&null!==t,l=at(r),u="void"!==r[0].name,c=[e,yr,n,o,ot,r[0],r[1]],d=0;d<s-2;++d)c.push(r[d+2]);if(!l)for(d=i?1:2;d<r.length;++d)null!==r[d].destructorFunction&&c.push(r[d].destructorFunction);let[f,m]=function(e,r,t,n){var o=at(e),a=e.length-2,s=[],i=["fn"];r&&i.push("thisWired");for(var l=0;l<a;++l)s.push(`arg${l}`),i.push(`arg${l}Wired`);s=s.join(","),i=i.join(",");var u=`return function (${s}) {\n`;o&&(u+="var destructors = [];\n");var c=o?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+=`var thisWired = classParam['toWireType'](${c}, this);\n`),l=0;l<a;++l)u+=`var arg${l}Wired = argType${l}['toWireType'](${c}, arg${l});\n`,d.push(`argType${l}`);if(u+=(t||n?"var rv = ":"")+`invoker(${i});\n`,o)u+="runDestructors(destructors);\n";else for(l=r?1:2;l<e.length;++l){var f=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(u+=`${f}_dtor(${f});\n`,d.push(`${f}_dtor`))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,u+="}\n"]}(r,i,u,a);var h=new Function(...f,m)(...c);return Lr(e,h)}var it=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(H()[r+4*n>>2]);return t},lt=e=>{const r=(e=e.trim()).indexOf("(");return-1===r?e:e.slice(0,r)},ut=(e,r,t,n,o,a,s,i,l)=>{var u=it(t,n);r=pr(r),r=lt(r),a=Qr(o,a,i),tt([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`;function o(){rt(`Cannot call ${n} due to unbound types`,u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var l=e.registeredClass.constructor;return void 0===l[r]?(o.argCount=t-1,l[r]=o):(Br(l,r,n),l[r].overloadTable[t-1]=o),tt([],u,(o=>{var u=[o[0],null].concat(o.slice(1)),c=st(n,u,null,a,s,i);if(void 0===l[r].overloadTable?(c.argCount=t-1,l[r]=c):l[r].overloadTable[t-1]=c,e.registeredClass.__derivedClasses)for(const t of e.registeredClass.__derivedClasses)t.constructor.hasOwnProperty(r)||(t.constructor[r]=c);return[]})),[]}))},ct=[],dt=[],ft=e=>{e>9&&0==--dt[e+1]&&(dt[e]=void 0,ct.push(e))},mt=()=>dt.length/2-5-ct.length,ht={toValue:e=>(e||yr(`Cannot use deleted val. handle = ${e}`),dt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=ct.pop()||dt.length;return dt[r]=e,dt[r+1]=1,r}}}},pt={name:"emscripten::val",fromWireType:e=>{var r=ht.toValue(e);return ft(e),r},toWireType:(e,r)=>ht.toHandle(r),argPackAdvance:xr,readValueFromPointer:Ur,destructorFunction:null},vt=e=>br(e,pt),gt=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(q()[e>>2])};case 8:return function(e){return this.fromWireType(X()[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},wt=(e,r,t)=>{br(e,{name:r=pr(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:xr,readValueFromPointer:gt(r,t),destructorFunction:null})},_t=(e,r,t,n,o,a,s,i)=>{var l=it(r,t);e=pr(e),e=lt(e),o=Qr(n,o,s),Ir(e,(function(){rt(`Cannot call ${e} due to unbound types`,l)}),r-1),tt([],l,(t=>{var n=[t[0],null].concat(t.slice(1));return Jr(e,st(e,n,null,o,a,s),r-1),[]}))},yt=(e,r,t,n,o)=>{r=pr(r);var a=e=>e;if(0===n){var s=32-8*t;a=e=>e<<s>>>s}var i=r.includes("unsigned");br(e,{name:r,fromWireType:a,toWireType:i?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:xr,readValueFromPointer:Er(r,t,0!==n),destructorFunction:null})},bt=(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function o(e){var r=H()[e>>2],t=H()[e+4>>2];return new n(N().buffer,t,r)}br(e,{name:t=pr(t),fromWireType:o,argPackAdvance:xr,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},Et=(e,r,t)=>Xe(e,U(),r,t),kt=(e,r)=>{br(e,{name:r=pr(r),fromWireType(e){for(var r,t=H()[e>>2],n=e+4,o=n,a=0;a<=t;++a){var s=n+a;if(a==t||0==U()[s]){var i=nr(o,s-o);void 0===r?r=i:(r+=String.fromCharCode(0),r+=i),o=s+1}}return Ia(e),r},toWireType(e,r){var t;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var n="string"==typeof r;n||ArrayBuffer.isView(r)&&1==r.BYTES_PER_ELEMENT||yr("Cannot pass non-string to std::string"),t=n?qe(r):r.length;var o=Ba(4+t+1),a=o+4;return H()[o>>2]=t,n?Et(r,a,t+1):U().set(r,a),null!==e&&e.push(Ia,o),o},argPackAdvance:xr,readValueFromPointer:Ur,destructorFunction(e){Ia(e)}})},xt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,St=(e,r)=>{for(var t=e,n=t>>1,o=n+r/2;!(n>=o)&&z()[n];)++n;if((t=n<<1)-e>32&&xt)return xt.decode(U().slice(e,t));for(var a="",s=0;!(s>=r/2);++s){var i=G()[e+2*s>>1];if(0==i)break;a+=String.fromCharCode(i)}return a},Tt=(e,r,t)=>{if(t??=2147483647,t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,a=0;a<o;++a){var s=e.charCodeAt(a);G()[r>>1]=s,r+=2}return G()[r>>1]=0,r-n},$t=e=>2*e.length,Pt=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var o=V()[e+4*t>>2];if(0==o)break;if(++t,o>=65536){var a=o-65536;n+=String.fromCharCode(55296|a>>10,56320|1023&a)}else n+=String.fromCharCode(o)}return n},At=(e,r,t)=>{if(t??=2147483647,t<4)return 0;for(var n=r,o=n+t-4,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),V()[r>>2]=s,(r+=4)+4>o)break}return V()[r>>2]=0,r-n},Ct=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},Ft=(e,r,t)=>{var n,o,a,s;t=pr(t),2===r?(n=St,o=Tt,s=$t,a=e=>z()[e>>1]):4===r&&(n=Pt,o=At,s=Ct,a=e=>H()[e>>2]),br(e,{name:t,fromWireType:e=>{for(var t,o=H()[e>>2],s=e+4,i=0;i<=o;++i){var l=e+4+i*r;if(i==o||0==a(l)){var u=n(s,l-s);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),s=l+r}}return Ia(e),t},toWireType:(e,n)=>{"string"!=typeof n&&yr(`Cannot pass non-string to C++ string type ${t}`);var a=s(n),i=Ba(4+a+r);return H()[i>>2]=a/r,o(n,i+4,a+r),null!==e&&e.push(Ia,i),i},argPackAdvance:xr,readValueFromPointer:Ur,destructorFunction(e){Ia(e)}})},Dt=(e,r)=>{br(e,{isVoid:!0,name:r=pr(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})};function Lt(e,r,t){var n=qn.xhrs.get(e).getAllResponseHeaders(),o=qe(n)+1;return Et(n,r,t),Math.min(o,t)}function Mt(e){return qe(qn.xhrs.get(e).getAllResponseHeaders())+1}var Bt=e=>{Ua(e,!i,1,!s,65536,!1),Te.threadInitTLS()},It=e=>{if(e instanceof ce||"unwind"==e)return T;p(1,e)},Wt=()=>{if(!we())try{u?Ha(T):Se(T)}catch(e){It(e)}},Rt=e=>{if(!j)try{e(),Wt()}catch(e){It(e)}},jt=e=>{if("function"==typeof Atomics.waitAsync){Atomics.waitAsync(V(),e>>2,e).value.then(Ot);var r=e+128;Atomics.store(V(),r>>2,1)}},Ot=()=>{var e=Wa();e&&(jt(e),Rt(qa))},Nt=(e,r)=>{if(e==r)setTimeout(Ot);else if(u)postMessage({targetThread:e,cmd:"checkMailbox"});else{var t=Te.pthreads[e];if(!t)return;t.postMessage({cmd:"checkMailbox"})}},Ut=[],Gt=(e,r,t,n,o)=>{n/=2,Ut.length=n;for(var a=o>>3,s=0;s<n;s++)M[a+2*s]?Ut[s]=M[a+2*s+1]:Ut[s]=X()[a+2*s+1];var i=r?La[r]:Da[e];Te.currentProxiedOperationCallerThread=t;var l=i(...Ut);return Te.currentProxiedOperationCallerThread=0,l},zt=e=>{u?postMessage({cmd:"cleanupThread",thread:e}):fe(e)},Vt=e=>{l&&Te.pthreads[e].ref()},Ht=()=>{throw 1/0},qt=(e,r)=>{var t=gr[e];return void 0===t&&yr(`${r} has unknown type ${et(e)}`),t},Xt=(e,r,t)=>{var n=[],o=e.toWireType(n,t);return n.length&&(H()[r>>2]=ht.toHandle(n)),o},Kt=(e,r,t)=>(e=ht.toValue(e),r=qt(r,"emval::as"),Xt(r,t,e)),Yt=[],Jt=(e,r,t,n)=>(e=Yt[e])(null,r=ht.toValue(r),t,n),Qt={},Zt=e=>{var r=Qt[e];return void 0===r?pr(e):r},en=(e,r,t,n,o)=>(e=Yt[e])(r=ht.toValue(r),r[t=Zt(t)],n,o),rn=()=>"object"==typeof globalThis?globalThis:Function("return this")(),tn=e=>0===e?ht.toHandle(rn()):(e=Zt(e),ht.toHandle(rn()[e])),nn=(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=qt(H()[r+4*n>>2],`parameter ${n}`);return t})(e,r),o=n.shift();e--;var a="return function (obj, func, destructorsRef, args) {\n",s=0,i=[];0===t&&i.push("obj");for(var l=["retType"],u=[o],c=0;c<e;++c)i.push(`arg${c}`),l.push(`argType${c}`),u.push(n[c]),a+=` var arg${c} = argType${c}.readValueFromPointer(args${s?"+"+s:""});\n`,s+=n[c].argPackAdvance;a+=` var rv = ${1===t?"new func":"func.call"}(${i.join(", ")});\n`,o.isVoid||(l.push("emval_returnValue"),u.push(Xt),a+=" return emval_returnValue(retType, destructorsRef, rv);\n"),a+="};\n";var d,f,m=new Function(...l,a)(...u),h=`methodCaller<(${n.map((e=>e.name)).join(", ")}) => ${o.name}>`;return d=Lr(h,m),f=Yt.length,Yt.push(d),f},on=(e,r)=>(e=ht.toValue(e),r=ht.toValue(r),ht.toHandle(e[r])),an=e=>{e>9&&(dt[e+1]+=1)},sn=(e,r)=>(e=ht.toValue(e))instanceof(r=ht.toValue(r)),ln=e=>"number"==typeof(e=ht.toValue(e)),un=e=>"string"==typeof(e=ht.toValue(e)),cn=()=>ht.toHandle([]),dn=e=>ht.toHandle(Zt(e)),fn=()=>ht.toHandle({}),mn=e=>{var r=ht.toValue(e);ot(r),ft(e)},hn=(e,r,t)=>{e=ht.toValue(e),r=ht.toValue(r),t=ht.toValue(t),e[r]=t},pn=(e,r)=>{var t=(e=qt(e,"_emval_take_value")).readValueFromPointer(r);return ht.toHandle(t)},vn=e=>(e=ht.toValue(e),ht.toHandle(typeof e)),gn=e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e);function wn(e,r,t,n,o,a,s){if(u)return be(10,0,1,e,r,t,n,o,a,s);o=gn(o);try{if(isNaN(o))return 61;var i=or.getStreamFromFD(n),l=tr.mmap(i,e,o,r,t),c=l.ptr;return V()[a>>2]=l.allocated,H()[s>>2]=c,0}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}function _n(e,r,t,n,o,a){if(u)return be(11,0,1,e,r,t,n,o,a);a=gn(a);try{var s=or.getStreamFromFD(o);2&t&&or.doMsync(e,s,r,n,a)}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return-e.errno}}var yn=(e,r,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),s=new Date(o,6,1),i=a.getTimezoneOffset(),l=s.getTimezoneOffset(),u=Math.max(i,l);H()[e>>2]=60*u,V()[r>>2]=Number(i!=l);var c=e=>{var r=e>=0?"-":"+",t=Math.abs(e);return`UTC${r}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},d=c(i),f=c(l);l<i?(Et(d,t,17),Et(f,n,17)):(Et(d,n,17),Et(f,t,17))},bn=()=>performance.timeOrigin+performance.now(),En=()=>Date.now(),kn=e=>e>=0&&e<=3;function xn(e,r,t){if(!kn(e))return 28;var n;n=0===e?En():bn();var o=Math.round(1e3*n*1e3);return M[t>>3]=BigInt(o),0}var Sn=[],Tn=(e,r,t)=>{var n=((e,r)=>{var t;for(Sn.length=0;t=U()[e++];){var n=105!=t;r+=(n&=112!=t)&&r%8?4:0,Sn.push(112==t?H()[r>>2]:106==t?M[r>>3]:105==t?V()[r>>2]:X()[r>>3]),r+=n?8:4}return Sn})(r,t);return La[e](...n)},$n=(e,r,t)=>Tn(e,r,t),Pn=()=>{ge+=1},An=()=>{ge-=1},Cn=(e,r)=>{if(Dn.timingMode=e,Dn.timingValue=r,!Dn.func)return 1;if(Dn.running||(Pn(),Dn.running=!0),0==e)Dn.scheduler=function(){var e=0|Math.max(0,Dn.tickStartTime+r-bn());setTimeout(Dn.runner,e)},Dn.method="timeout";else if(1==e)Dn.scheduler=function(){Dn.requestAnimationFrame(Dn.runner)},Dn.method="rAF";else if(2==e){if(void 0===Dn.setImmediate)if("undefined"==typeof setImmediate){var t=[],n="setimmediate";addEventListener("message",(e=>{e.data!==n&&e.data.target!==n||(e.stopPropagation(),t.shift()())}),!0),Dn.setImmediate=e=>{t.push(e),i?(o.setImmediates??=[],o.setImmediates.push(e),postMessage({target:n})):postMessage(n,"*")}}else Dn.setImmediate=setImmediate;Dn.scheduler=function(){Dn.setImmediate(Dn.runner)},Dn.method="immediate"}return 0},Fn=(e,r,t,n,o)=>{Dn.func=e,Dn.arg=n;var a=Dn.currentlyRunningMainloop;function s(){return!(a<Dn.currentlyRunningMainloop&&(An(),Wt(),1))}if(Dn.running=!1,Dn.runner=function(){if(!j)if(Dn.queue.length>0){var r=Dn.queue.shift();if(r.func(r.arg),Dn.remainingBlockers){var t=Dn.remainingBlockers,n=t%1==0?t-1:Math.floor(t);r.counted?Dn.remainingBlockers=n:(n+=.5,Dn.remainingBlockers=(8*t+n)/9)}if(Dn.updateStatus(),!s())return;setTimeout(Dn.runner,0)}else s()&&(Dn.currentFrameNumber=Dn.currentFrameNumber+1|0,1==Dn.timingMode&&Dn.timingValue>1&&Dn.currentFrameNumber%Dn.timingValue!=0?Dn.scheduler():(0==Dn.timingMode&&(Dn.tickStartTime=bn()),Dn.runIter(e),s()&&Dn.scheduler()))},o||(r>0?Cn(0,1e3/r):Cn(1,1),Dn.scheduler()),t)throw"unwind"},Dn={running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){Dn.scheduler=null,Dn.currentlyRunningMainloop++},resume(){Dn.currentlyRunningMainloop++;var e=Dn.timingMode,r=Dn.timingValue,t=Dn.func;Dn.func=null,Fn(t,0,!1,Dn.arg,!0),Cn(e,r),Dn.scheduler()},updateStatus(){if(o.setStatus){var e=o.statusMessage||"Please wait...",r=Dn.remainingBlockers??0,t=Dn.expectedBlockers??0;r?r<t?o.setStatus("{message} ({expected - remaining}/{expected})"):o.setStatus(e):o.setStatus("")}},init(){o.preMainLoop&&Dn.preMainLoop.push(o.preMainLoop),o.postMainLoop&&Dn.postMainLoop.push(o.postMainLoop)},runIter(e){if(!j){for(var r of Dn.preMainLoop)if(!1===r())return;for(var t of(Rt(e),Dn.postMainLoop))t()}},nextRAF:0,fakeRequestAnimationFrame(e){var r=Date.now();if(0===Dn.nextRAF)Dn.nextRAF=r+1e3/60;else for(;r+2>=Dn.nextRAF;)Dn.nextRAF+=1e3/60;var t=Math.max(Dn.nextRAF-r,0);setTimeout(e,t)},requestAnimationFrame(e){"function"!=typeof requestAnimationFrame?(0,Dn.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)}},Ln=(e,r,t)=>{var n=()=>Fe(e)(r);t>=0||l?((e,r)=>{Pn(),setTimeout((()=>{An(),Rt(e)}),r)})(n,t):(e=>{Pn(),Dn.requestAnimationFrame((()=>{An(),Rt(e)}))})(n)},Mn=()=>{},Bn=()=>{throw Pn(),"unwind"};function In(e){if(qn.xhrs.has(e)){var r=qn.xhrs.get(e);qn.xhrs.free(e),r.readyState>0&&r.readyState<4&&r.abort()}}var Wn=(e,r)=>(e>>>0)+4294967296*r,Rn=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);return e>=t&&(r<=32||e>t)&&(e=-2*t+e),e},jn=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e,On=e=>{for(var r=e;U()[r];)++r;return r-e},Nn=e=>{var r=(new Error).stack.toString(),t=r.split("\n");r="";var n=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),o=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var a of t){var s="",i="",l=0,u=0,c=o.exec(a);if(5==c?.length)s=c[1],i=c[2],l=c[3],u=c[4];else{if(c=n.exec(a),!(c?.length>=4)){r+=a+"\n";continue}s=c[1],i=c[2],l=c[3],u=0|c[4]}"_emscripten_log"!=s&&"_emscripten_get_callstack"!=s?24&e&&(64&e&&(i=i.substring(i.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=` at ${s} (${i}:${l}:${u})\n`):r=""}return r=r.replace(/\s+$/,"")},Un=(e,r,t)=>{var n=((e,r)=>{var t=e,n=r;function o(e){var r;return n=function(e,r){return"double"!==r&&"i64"!==r||7&e&&(e+=4),e}(n,e),"double"===e?(r=X()[n>>3],n+=8):"i64"==e?(r=[V()[n>>2],V()[n+4>>2]],n+=8):(e="i32",r=V()[n>>2],n+=4),r}for(var a,s,i,l,u=[];;){var c=t;if(0===(a=N()[t]))break;if(s=N()[t+1],37==a){var d=!1,f=!1,m=!1,h=!1,p=!1;e:for(;;){switch(s){case 43:d=!0;break;case 45:f=!0;break;case 35:m=!0;break;case 48:if(h)break e;h=!0;break;case 32:p=!0;break;default:break e}t++,s=N()[t+1]}var v=0;if(42==s)v=o("i32"),t++,s=N()[t+1];else for(;s>=48&&s<=57;)v=10*v+(s-48),t++,s=N()[t+1];var g,w=!1,_=-1;if(46==s){if(_=0,w=!0,t++,42==(s=N()[t+1]))_=o("i32"),t++;else for(;;){var y=N()[t+1];if(y<48||y>57)break;_=10*_+(y-48),t++}s=N()[t+1]}switch(_<0&&(_=6,w=!1),String.fromCharCode(s)){case"h":104==N()[t+2]?(t++,g=1):g=2;break;case"l":108==N()[t+2]?(t++,g=8):g=4;break;case"L":case"q":case"j":g=8;break;case"z":case"t":case"I":g=4;break;default:g=null}switch(g&&t++,s=N()[t+1],String.fromCharCode(s)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var b=100==s||105==s;if(i=o("i"+8*(g=g||4)),8==g&&(i=117==s?(i[0]>>>0)+4294967296*(i[1]>>>0):Wn(i[0],i[1])),g<=4){var E=Math.pow(256,g)-1;i=(b?Rn:jn)(i&E,8*g)}var k=Math.abs(i),x="";if(100==s||105==s)$=Rn(i,8*g).toString(10);else if(117==s)$=jn(i,8*g).toString(10),i=Math.abs(i);else if(111==s)$=(m?"0":"")+k.toString(8);else if(120==s||88==s){if(x=m&&0!=i?"0x":"",i<0){i=-i,$=(k-1).toString(16);for(var S=[],T=0;T<$.length;T++)S.push((15-parseInt($[T],16)).toString(16));for($=S.join("");$.length<2*g;)$="f"+$}else $=k.toString(16);88==s&&(x=x.toUpperCase(),$=$.toUpperCase())}else 112==s&&(0===k?$="(nil)":(x="0x",$=k.toString(16)));if(w)for(;$.length<_;)$="0"+$;for(i>=0&&(d?x="+"+x:p&&(x=" "+x)),"-"==$.charAt(0)&&(x="-"+x,$=$.slice(1));x.length+$.length<v;)f?$+=" ":h?$="0"+$:x=" "+x;($=x+$).split("").forEach((e=>u.push(e.charCodeAt(0))));break;case"f":case"F":case"e":case"E":case"g":case"G":var $;if(i=o("double"),isNaN(i))$="nan",h=!1;else if(isFinite(i)){var P=!1,A=Math.min(_,20);if(103==s||71==s){P=!0,_=_||1;var C=parseInt(i.toExponential(A).split("e")[1],10);_>C&&C>=-4?(s=(103==s?"f":"F").charCodeAt(0),_-=C+1):(s=(103==s?"e":"E").charCodeAt(0),_--),A=Math.min(_,20)}101==s||69==s?($=i.toExponential(A),/[eE][-+]\d$/.test($)&&($=$.slice(0,-1)+"0"+$.slice(-1))):102!=s&&70!=s||($=i.toFixed(A),0===i&&((l=i)<0||0===l&&1/l==-1/0)&&($="-"+$));var F=$.split("e");if(P&&!m)for(;F[0].length>1&&F[0].includes(".")&&("0"==F[0].slice(-1)||"."==F[0].slice(-1));)F[0]=F[0].slice(0,-1);else for(m&&-1==$.indexOf(".")&&(F[0]+=".");_>A++;)F[0]+="0";$=F[0]+(F.length>1?"e"+F[1]:""),69==s&&($=$.toUpperCase()),i>=0&&(d?$="+"+$:p&&($=" "+$))}else $=(i<0?"-":"")+"inf",h=!1;for(;$.length<v;)f?$+=" ":$=!h||"-"!=$[0]&&"+"!=$[0]?(h?"0":" ")+$:$[0]+"0"+$.slice(1);s<97&&($=$.toUpperCase()),$.split("").forEach((e=>u.push(e.charCodeAt(0))));break;case"s":var D=o("i8*"),L=D?On(D):6;if(w&&(L=Math.min(L,_)),!f)for(;L<v--;)u.push(32);if(D)for(T=0;T<L;T++)u.push(U()[D++]);else u=u.concat(Ke("(null)".slice(0,L),!0));if(f)for(;L<v--;)u.push(32);break;case"c":for(f&&u.push(o("i8"));--v>0;)u.push(32);f||u.push(o("i8"));break;case"n":var M=o("i32*");V()[M>>2]=u.length;break;case"%":u.push(a);break;default:for(T=c;T<t+2;T++)u.push(N()[T])}t+=2}else u.push(a),t+=1}return u})(r,t);((e,r)=>{24&e&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+Nn(e)),1&e?4&e?console.error(r):2&e?console.warn(r):512&e?console.info(r):256&e?console.debug(r):console.log(r):6&e?R(r):W(r)})(e,Ve(n))},Gn=e=>{var r=(e-x.buffer.byteLength+65535)/65536|0;try{return x.grow(r),Q(),1}catch(e){}},zn=e=>{var r=U().length;if((e>>>=0)<=r)return!1;var t=2147483648;if(e>t)return!1;for(var n=1;n<=4;n*=2){var o=r*(1+.2/n);o=Math.min(o,e+100663296);var a=Math.min(t,Je(Math.max(e,o),65536));if(Gn(a))return!0}return!1},Vn=(e,r,t)=>{var n=Fe(e);Fn(n,r,t)};class Hn{allocated=[void 0];freelist=[];get(e){return this.allocated[e]}has(e){return void 0!==this.allocated[e]}allocate(e){var r=this.freelist.pop()||this.allocated.length;return this.allocated[r]=e,r}free(e){this.allocated[e]=void 0,this.freelist.push(e)}}var qn={openDatabase(e,r,t,n){try{var o=indexedDB.open(e,r)}catch(e){return n(e)}o.onupgradeneeded=e=>{var r=e.target.result;r.objectStoreNames.contains("FILES")&&r.deleteObjectStore("FILES"),r.createObjectStore("FILES")},o.onsuccess=e=>t(e.target.result),o.onerror=n},init(){qn.xhrs=new Hn,u||(ne(),qn.openDatabase("emscripten_filesystem",1,(e=>{qn.dbInstance=e,oe()}),(()=>{qn.dbInstance=!1,oe()})))}};function Xn(e,r,t,n,o){var a=H()[e+8>>2];if(a){var s=nr(a),i=e+108,l=nr(i+0);l||="GET";var u=H()[i+56>>2],c=H()[i+68>>2],d=H()[i+72>>2],f=H()[i+76>>2],m=H()[i+80>>2],h=H()[i+84>>2],p=H()[i+88>>2],v=H()[i+52>>2],g=!!(1&v),w=!!(2&v),_=!!(64&v),y=c?nr(c):void 0,b=d?nr(d):void 0,E=new XMLHttpRequest;if(E.withCredentials=!!U()[i+60],E.open(l,s,!_,y,b),_||(E.timeout=u),E.url_=s,E.responseType="arraybuffer",m){var k=nr(m);E.overrideMimeType(k)}if(f)for(;;){var x=H()[f>>2];if(!x)break;var S=H()[f+4>>2];if(!S)break;f+=8;var T=nr(x),$=nr(S);E.setRequestHeader(T,$)}var P=qn.xhrs.allocate(E);H()[e>>2]=P;var A=h&&p?U().slice(h,h+p):null;E.onload=n=>{qn.xhrs.has(P)&&(C(),E.status>=200&&E.status<300?r?.(e,E,n):t?.(e,E,n))},E.onerror=r=>{qn.xhrs.has(P)&&(C(),t?.(e,E,r))},E.ontimeout=r=>{qn.xhrs.has(P)&&t?.(e,E,r)},E.onprogress=r=>{if(qn.xhrs.has(P)){var t=g&&w&&E.response?E.response.byteLength:0,o=0;t>0&&g&&w&&(o=Ba(t),U().set(new Uint8Array(E.response),o)),H()[e+12>>2]=o,Yn(e+16,t),Yn(e+24,r.loaded-t),Yn(e+32,r.total),G()[e+40>>1]=E.readyState,E.readyState>=3&&0===E.status&&r.loaded>0&&(E.status=200),G()[e+42>>1]=E.status,E.statusText&&Et(E.statusText,e+44,64),n?.(e,E,r),o&&Ia(o)}},E.onreadystatechange=r=>{qn.xhrs.has(P)?(G()[e+40>>1]=E.readyState,E.readyState>=2&&(G()[e+42>>1]=E.status),o?.(e,E,r)):An()};try{E.send(A)}catch(r){t?.(e,E,r)}}else t(e,0,"no url specified!");function C(){var r=0,t=0;E.response&&g&&0===H()[e+12>>2]&&(t=E.response.byteLength),t>0&&(r=Ba(t),U().set(new Uint8Array(E.response),r)),H()[e+12>>2]=r,Yn(e+16,t),Yn(e+24,0);var n=E.response?E.response.byteLength:0;n&&Yn(e+32,n),G()[e+40>>1]=E.readyState,G()[e+42>>1]=E.status,E.statusText&&Et(E.statusText,e+44,64)}}var Kn,Yn=(e,r)=>{H()[e>>2]=r;var t=H()[e>>2];H()[e+4>>2]=(r-t)/4294967296};function Jn(e,r,t,n,o){if(e){var a=r+108,s=H()[a+64>>2];s||=H()[r+8>>2];var i=nr(s);try{var l=e.transaction(["FILES"],"readwrite").objectStore("FILES").put(t,i);l.onsuccess=e=>{G()[r+40>>1]=4,G()[r+42>>1]=200,Et("OK",r+44,64),n(r,0,i)},l.onerror=e=>{G()[r+40>>1]=4,G()[r+42>>1]=413,Et("Payload Too Large",r+44,64),o(r,0,e)}}catch(e){o(r,0,e)}}else o(r,0,"IndexedDB not available!")}function Qn(e,r,t,n,o){Pn();var a=e+108,s=H()[a+36>>2],i=H()[a+40>>2],l=H()[a+44>>2],u=H()[a+48>>2],c=H()[a+52>>2],d=!!(64&c);function f(e){d?e():Rt(e)}var m=(e,t,n)=>{An(),f((()=>{s?Fe(s)(e):r?.(e)}))},h=(e,r,t)=>{f((()=>{l?Fe(l)(e):n?.(e)}))},p=(e,r,n)=>{An(),f((()=>{i?Fe(i)(e):t?.(e)}))},v=(e,r,t)=>{f((()=>{u?Fe(u)(e):o?.(e)}))},g=(e,t,n)=>{Jn(qn.dbInstance,e,t.response,((e,t,n)=>{An(),f((()=>{s?Fe(s)(e):r?.(e)}))}),((e,t,n)=>{An(),f((()=>{s?Fe(s)(e):r?.(e)}))}))},w=nr(a+0),_=!!(16&c),y=!!(4&c),b=!!(32&c);if("EM_IDB_STORE"===w){var E=H()[a+84>>2],k=H()[a+88>>2];Jn(qn.dbInstance,e,U().slice(E,E+k),m,p)}else if("EM_IDB_DELETE"===w)!function(e,r,t,n){if(e){var o=r+108,a=H()[o+64>>2];a||=H()[r+8>>2];var s=nr(a);try{var i=e.transaction(["FILES"],"readwrite").objectStore("FILES").delete(s);i.onsuccess=e=>{var n=e.target.result;H()[r+12>>2]=0,Yn(r+16,0),Yn(r+24,0),Yn(r+32,0),G()[r+40>>1]=4,G()[r+42>>1]=200,Et("OK",r+44,64),t(r,0,n)},i.onerror=e=>{G()[r+40>>1]=4,G()[r+42>>1]=404,Et("Not Found",r+44,64),n(r,0,e)}}catch(e){n(r,0,e)}}else n(r,0,"IndexedDB not available!")}(qn.dbInstance,e,m,p);else if(_){if(b)return 0;Xn(e,y?g:m,p,h,v)}else!function(e,r,t,n){if(e){var o=r+108,a=H()[o+64>>2];a||=H()[r+8>>2];var s=nr(a);try{var i=e.transaction(["FILES"],"readonly").objectStore("FILES").get(s);i.onsuccess=e=>{if(e.target.result){var o=e.target.result,a=o.byteLength||o.length,s=Ba(a);U().set(new Uint8Array(o),s),H()[r+12>>2]=s,Yn(r+16,a),Yn(r+24,0),Yn(r+32,a),G()[r+40>>1]=4,G()[r+42>>1]=200,Et("OK",r+44,64),t(r,0,o)}else G()[r+40>>1]=4,G()[r+42>>1]=404,Et("Not Found",r+44,64),n(r,0,"no data")},i.onerror=e=>{G()[r+40>>1]=4,G()[r+42>>1]=404,Et("Not Found",r+44,64),n(r,0,e)}}catch(e){n(r,0,e)}}else n(r,0,"IndexedDB not available!")}(qn.dbInstance,e,m,b?p:y?(e,r,t)=>{Xn(e,g,p,h,v)}:(e,r,t)=>{Xn(e,m,p,h,v)});return e}var Zn={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{Zn.lastError||(Zn.lastError=e)},getNewId:e=>{for(var r=Zn.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var o=0;o<e;o++){var a=Kn[t](),s=a&&Zn.getNewId(n);a?(a.name=s,n[s]=a):Zn.recordError(1282),V()[r+4*o>>2]=s}},getSource:(e,r,t,n)=>{for(var o="",a=0;a<r;++a){var s=n?H()[n+4*a>>2]:void 0;o+=nr(H()[t+4*a>>2],s)}return o},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){function n(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=n}var t=e.getContext("webgl",r);return t?Zn.registerContext(t,r):0},registerContext:(e,r)=>{var t=Ba(8);H()[t+4>>2]=Wa();var n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Zn.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Zn.initExtensions(n),t},makeContextCurrent:e=>(Zn.currentContext=Zn.contexts[e],o.ctx=Kn=Zn.currentContext?.GLctx,!(e&&!Kn)),getContext:e=>Zn.contexts[e],deleteContext:e=>{Zn.currentContext===Zn.contexts[e]&&(Zn.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Zn.contexts[e].GLctx.canvas),Zn.contexts[e]?.GLctx.canvas&&(Zn.contexts[e].GLctx.canvas.GLctxObject=void 0),Ia(Zn.contexts[e].handle),Zn.contexts[e]=null},initExtensions:e=>{if(e||=Zn.currentContext,!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(r=t).multiDrawWebgl=r.getExtension("WEBGL_multi_draw"),(e=>{e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")})(t),(e=>{e.extClipControl=e.getExtension("EXT_clip_control")})(t),(e=>{e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")})(t),(e=>{var r=e.getExtension("ANGLE_instanced_arrays");r&&(e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,o)=>r.drawArraysInstancedANGLE(e,t,n,o),e.drawElementsInstanced=(e,t,n,o,a)=>r.drawElementsInstancedANGLE(e,t,n,o,a))})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e))})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");r&&(e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t))})(t),t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query"),(e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))})(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},eo=["default","low-power","high-performance"],ro=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],to=e=>{var r;return e=(r=e)>2?nr(r):r,ro[e]||("undefined"!=typeof document?document.querySelector(e):null)},no=(e,r)=>{var t=r>>2,n=V()[t+2],o={alpha:!!N()[r+0],depth:!!N()[r+1],stencil:!!N()[r+2],antialias:!!N()[r+3],premultipliedAlpha:!!N()[r+4],preserveDrawingBuffer:!!N()[r+5],powerPreference:eo[n],failIfMajorPerformanceCaveat:!!N()[r+12],majorVersion:V()[t+4],minorVersion:V()[t+5],enableExtensionsByDefault:N()[r+24],explicitSwapControl:N()[r+25],proxyContextToMainThread:V()[t+7],renderViaOffscreenBackBuffer:N()[r+32]},a=to(e);return a?o.explicitSwapControl?0:Zn.createContext(a,o):0},oo=e=>Zn.makeContextCurrent(e)?0:-5,ao={},so=()=>{if(!so.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"};for(var r in ao)void 0===ao[r]?delete e[r]:e[r]=ao[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);so.strings=t}return so.strings};function io(e,r){if(u)return be(12,0,1,e,r);var t=0,n=0;for(var o of so()){var a=r+t;H()[e+n>>2]=a,t+=Et(o,a,1/0)+1,n+=4}return 0}function lo(e,r){if(u)return be(13,0,1,e,r);var t=so();H()[e>>2]=t.length;var n=0;for(var o of t)n+=qe(o)+1;return H()[r>>2]=n,0}function uo(e){if(u)return be(14,0,1,e);try{var r=or.getStreamFromFD(e);return tr.close(r),0}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return e.errno}}var co=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=H()[r>>2],i=H()[r+4>>2];r+=8;var l=tr.read(e,N(),s,i,n);if(l<0)return-1;if(o+=l,l<i)break;void 0!==n&&(n+=l)}return o};function fo(e,r,t,n,o){if(u)return be(15,0,1,e,r,t,n,o);n=gn(n);try{if(isNaN(n))return 61;var a=or.getStreamFromFD(e),s=co(a,r,t,n);return H()[o>>2]=s,0}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return e.errno}}function mo(e,r,t,n){if(u)return be(16,0,1,e,r,t,n);try{var o=or.getStreamFromFD(e),a=co(o,r,t);return H()[n>>2]=a,0}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return e.errno}}function ho(e,r,t,n){if(u)return be(17,0,1,e,r,t,n);r=gn(r);try{if(isNaN(r))return 61;var o=or.getStreamFromFD(e);return tr.llseek(o,r,t),M[n>>3]=BigInt(o.position),o.getdents&&0===r&&0===t&&(o.getdents=null),0}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return e.errno}}var po=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=H()[r>>2],i=H()[r+4>>2];r+=8;var l=tr.write(e,N(),s,i,n);if(l<0)return-1;if(o+=l,l<i)break;void 0!==n&&(n+=l)}return o};function vo(e,r,t,n){if(u)return be(18,0,1,e,r,t,n);try{var o=or.getStreamFromFD(e),a=po(o,r,t);return H()[n>>2]=a,0}catch(e){if(void 0===tr||"ErrnoError"!==e.name)throw e;return e.errno}}var go=e=>Kn.activeTexture(e),wo=(e,r)=>{Kn.attachShader(Zn.programs[e],Zn.shaders[r])},_o=(e,r)=>{Kn.bindBuffer(e,Zn.buffers[r])},yo=(e,r)=>{Kn.bindFramebuffer(e,Zn.framebuffers[r])},bo=(e,r)=>{Kn.bindRenderbuffer(e,Zn.renderbuffers[r])},Eo=(e,r)=>{Kn.bindTexture(e,Zn.textures[r])},ko=(e,r)=>Kn.blendFunc(e,r),xo=(e,r,t,n)=>{Kn.bufferData(e,t?U().subarray(t,t+r):r,n)},So=(e,r,t,n)=>{Kn.bufferSubData(e,r,U().subarray(n,n+t))},To=e=>Kn.checkFramebufferStatus(e),$o=e=>Kn.clear(e),Po=(e,r,t,n)=>Kn.clearColor(e,r,t,n),Ao=e=>Kn.clearStencil(e),Co=(e,r,t,n)=>{Kn.colorMask(!!e,!!r,!!t,!!n)},Fo=e=>{Kn.compileShader(Zn.shaders[e])},Do=(e,r,t,n,o,a,s,i)=>{Kn.compressedTexImage2D(e,r,t,n,o,a,U().subarray(i,i+s))},Lo=()=>{var e=Zn.getNewId(Zn.programs),r=Kn.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Zn.programs[e]=r,e},Mo=e=>{var r=Zn.getNewId(Zn.shaders);return Zn.shaders[r]=Kn.createShader(e),r},Bo=(e,r)=>{for(var t=0;t<e;t++){var n=V()[r+4*t>>2],o=Zn.buffers[n];o&&(Kn.deleteBuffer(o),o.name=0,Zn.buffers[n]=null)}},Io=(e,r)=>{for(var t=0;t<e;++t){var n=V()[r+4*t>>2],o=Zn.framebuffers[n];o&&(Kn.deleteFramebuffer(o),o.name=0,Zn.framebuffers[n]=null)}},Wo=e=>{if(e){var r=Zn.programs[e];r?(Kn.deleteProgram(r),r.name=0,Zn.programs[e]=null):Zn.recordError(1281)}},Ro=(e,r)=>{for(var t=0;t<e;t++){var n=V()[r+4*t>>2],o=Zn.renderbuffers[n];o&&(Kn.deleteRenderbuffer(o),o.name=0,Zn.renderbuffers[n]=null)}},jo=e=>{if(e){var r=Zn.shaders[e];r?(Kn.deleteShader(r),Zn.shaders[e]=null):Zn.recordError(1281)}},Oo=(e,r)=>{for(var t=0;t<e;t++){var n=V()[r+4*t>>2],o=Zn.textures[n];o&&(Kn.deleteTexture(o),o.name=0,Zn.textures[n]=null)}},No=e=>Kn.disable(e),Uo=(e,r,t)=>{Kn.drawArrays(e,r,t)},Go=e=>Kn.enable(e),zo=e=>{Kn.enableVertexAttribArray(e)},Vo=(e,r,t,n)=>{Kn.framebufferRenderbuffer(e,r,t,Zn.renderbuffers[n])},Ho=(e,r,t,n,o)=>{Kn.framebufferTexture2D(e,r,t,Zn.textures[n],o)},qo=(e,r)=>{Zn.genObject(e,r,"createBuffer",Zn.buffers)},Xo=(e,r)=>{Zn.genObject(e,r,"createFramebuffer",Zn.framebuffers)},Ko=(e,r)=>{Zn.genObject(e,r,"createRenderbuffer",Zn.renderbuffers)},Yo=(e,r)=>{Zn.genObject(e,r,"createTexture",Zn.textures)},Jo=(e,r)=>Kn.getAttribLocation(Zn.programs[e],nr(r)),Qo=(e,r)=>((e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Zn.recordError(1280));case 36345:n=0;break;case 34466:var o=Kn.getParameter(34467);n=o?o.length:0}if(void 0===n){var a=Kn.getParameter(e);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void Zn.recordError(1280);case"object":if(null===a)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:n=0;break;default:return void Zn.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var s=0;s<a.length;++s)switch(t){case 0:V()[r+4*s>>2]=a[s];break;case 2:q()[r+4*s>>2]=a[s];break;case 4:N()[r+s]=a[s]?1:0}return}try{n=0|a.name}catch(r){return Zn.recordError(1280),void R(`GL_INVALID_ENUM in glGet${t}v: Unknown object returned from WebGL getParameter(${e})! (error: ${r})`)}}break;default:return Zn.recordError(1280),void R(`GL_INVALID_ENUM in glGet${t}v: Native code calling glGet${t}v(${e}) and it returns ${a} of type ${typeof a}!`)}}switch(t){case 1:Yn(r,n);break;case 0:V()[r>>2]=n;break;case 2:q()[r>>2]=n;break;case 4:N()[r]=n?1:0}}else Zn.recordError(1281)})(e,r,0),Zo=(e,r,t)=>{if(t)if(e>=Zn.counter)Zn.recordError(1281);else if(e=Zn.programs[e],35716==r){var n=Kn.getProgramInfoLog(e);null===n&&(n="(unknown error)"),V()[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var o=Kn.getProgramParameter(e,35718),a=0;a<o;++a)e.maxUniformLength=Math.max(e.maxUniformLength,Kn.getActiveUniform(e,a).name.length+1);V()[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength){var s=Kn.getProgramParameter(e,35721);for(a=0;a<s;++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,Kn.getActiveAttrib(e,a).name.length+1)}V()[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength){var i=Kn.getProgramParameter(e,35382);for(a=0;a<i;++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,Kn.getActiveUniformBlockName(e,a).length+1)}V()[t>>2]=e.maxUniformBlockNameLength}else V()[t>>2]=Kn.getProgramParameter(e,r);else Zn.recordError(1281)},ea=(e,r,t,n)=>{var o=Kn.getShaderInfoLog(Zn.shaders[e]);null===o&&(o="(unknown error)");var a=r>0&&n?Et(o,n,r):0;t&&(V()[t>>2]=a)},ra=(e,r,t)=>{if(t)if(35716==r){var n=Kn.getShaderInfoLog(Zn.shaders[e]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;V()[t>>2]=o}else if(35720==r){var a=Kn.getShaderSource(Zn.shaders[e]),s=a?a.length+1:0;V()[t>>2]=s}else V()[t>>2]=Kn.getShaderParameter(Zn.shaders[e],r);else Zn.recordError(1281)},ta=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),na=(e,r)=>{if(r=nr(r),e=Zn.programs[e]){(e=>{var r,t,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var a=Kn.getProgramParameter(e,35718);for(r=0;r<a;++r){var s=Kn.getActiveUniform(e,r),i=s.name,l=s.size,u=ta(i),c=u>0?i.slice(0,u):i,d=e.uniformIdCounter;for(e.uniformIdCounter+=l,o[c]=[l,d],t=0;t<l;++t)n[d]=t,e.uniformArrayNamesById[d++]=c}}})(e);var t=e.uniformLocsById,n=0,o=r,a=ta(r);a>0&&(i=r.slice(a+1),n=parseInt(i)>>>0,o=r.slice(0,a));var s=e.uniformSizeAndIdsByName[o];if(s&&n<s[0]&&(t[n+=s[1]]=t[n]||Kn.getUniformLocation(e,r)))return n}else Zn.recordError(1281);var i;return-1},oa=e=>{e=Zn.programs[e],Kn.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},aa=(e,r)=>{3317==e?Zn.unpackAlignment=r:3314==e&&(Zn.unpackRowLength=r),Kn.pixelStorei(e,r)},sa=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),ia=(e,r,t,n,o,a)=>{var s=(e=>1==(e-=5120)?U():4==e?V():6==e?q():5==e||28922==e?H():z())(e),i=(e=>({5:3,6:4,8:2,29502:3,29504:4}[e-6402]||1))(r)*s.BYTES_PER_ELEMENT,l=((e,r,t)=>{var n,o,a=(Zn.unpackRowLength||e)*t;return r*(n=a,o=Zn.unpackAlignment,n+o-1&-o)})(t,n,i);return s.subarray(sa(o,s),sa(o+l,s))},la=(e,r,t,n,o,a,s)=>{var i=ia(a,o,t,n,s);i?Kn.readPixels(e,r,t,n,o,a,i):Zn.recordError(1280)},ua=(e,r,t,n)=>Kn.renderbufferStorage(e,r,t,n),ca=(e,r,t,n)=>Kn.scissor(e,r,t,n),da=(e,r,t,n)=>{var o=Zn.getSource(e,r,t,n);Kn.shaderSource(Zn.shaders[e],o)},fa=(e,r,t)=>Kn.stencilFunc(e,r,t),ma=e=>Kn.stencilMask(e),ha=(e,r,t)=>Kn.stencilOp(e,r,t),pa=(e,r,t,n,o,a,s,i,l)=>{var u=l?ia(i,s,n,o,l):null;Kn.texImage2D(e,r,t,n,o,a,s,i,u)},va=(e,r,t)=>Kn.texParameteri(e,r,t),ga=e=>{var r=Kn.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=Kn.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?`[${t}]`:""))),t}Zn.recordError(1282)},wa=(e,r)=>{Kn.uniform1f(ga(e),r)},_a=[],ya=(e,r,t)=>{if(r<=288)for(var n=_a[r],o=0;o<r;++o)n[o]=q()[t+4*o>>2];else n=q().subarray(t>>2,t+4*r>>2);Kn.uniform1fv(ga(e),n)},ba=(e,r)=>{Kn.uniform1i(ga(e),r)},Ea=(e,r,t)=>{Kn.uniform2f(ga(e),r,t)},ka=(e,r,t,n)=>{Kn.uniform3f(ga(e),r,t,n)},xa=(e,r,t,n,o)=>{Kn.uniform4f(ga(e),r,t,n,o)},Sa=(e,r,t,n)=>{if(r<=18){var o=_a[16*r],a=q();n>>=2,r*=16;for(var s=0;s<r;s+=16){var i=n+s;o[s]=a[i],o[s+1]=a[i+1],o[s+2]=a[i+2],o[s+3]=a[i+3],o[s+4]=a[i+4],o[s+5]=a[i+5],o[s+6]=a[i+6],o[s+7]=a[i+7],o[s+8]=a[i+8],o[s+9]=a[i+9],o[s+10]=a[i+10],o[s+11]=a[i+11],o[s+12]=a[i+12],o[s+13]=a[i+13],o[s+14]=a[i+14],o[s+15]=a[i+15]}}else o=q().subarray(n>>2,n+64*r>>2);Kn.uniformMatrix4fv(ga(e),!!t,o)},Ta=e=>{e=Zn.programs[e],Kn.useProgram(e),Kn.currentProgram=e},$a=(e,r,t,n,o,a)=>{Kn.vertexAttribPointer(e,r,t,!!n,o,a)},Pa=(e,r,t,n)=>Kn.viewport(e,r,t,n);Te.init(),tr.createPreloadedFile=(e,r,t,n,o,a,s,i,l,u)=>{var c=r?Ge.resolve(Ne.join2(e,r)):e;function d(t){function d(t){u?.(),i||((e,r,t,n,o,a)=>{tr.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),a?.(),oe()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return er.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,c,d,(()=>{s?.(),oe()}))||d(t)}ne(),"string"==typeof t?(async e=>{var r=await f(e);return new Uint8Array(r)})(t).then(d,s):d(t)},tr.staticInit(),Ze.doesNotExistError=new tr.ErrnoError(44),Ze.doesNotExistError.stack="<generic error, no stack>",(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);fr=e})(),(()=>{let e=Dr.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof Dr))return!1;if(!(e instanceof Dr))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return r===n&&t===o},clone(){if(this.$$.ptr||Tr(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=Cr(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||Tr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&yr("Object already scheduled for deletion"),Pr(this),Ar(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Tr(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&yr("Object already scheduled for deletion"),Fr.push(this),Fr.length,this.$$.deleteScheduled=!0,this}});const r=Symbol.dispose;r&&(e[r]=e.delete)})(),Object.assign(Yr.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},argPackAdvance:xr,readValueFromPointer:Ur,fromWireType:Kr}),dt.push(0,1,void 0,1,null,1,!0,1,!1,1),o.count_emval_handles=mt,o.requestAnimationFrame=Dn.requestAnimationFrame,o.pauseMainLoop=Dn.pause,o.resumeMainLoop=Dn.resume,Dn.init(),qn.init();for(var Aa=new Float32Array(288),Ca=0;Ca<=288;++Ca)_a[Ca]=Aa.subarray(0,Ca);!function(){if(!u){if(o.wasmMemory)x=o.wasmMemory;else{var e=o.INITIAL_MEMORY||16777216;x=new WebAssembly.Memory({initial:e/65536,maximum:32768,shared:!0})}Q()}}(),o.noExitRuntime&&(Le=o.noExitRuntime),o.preloadPlugins&&(er=o.preloadPlugins),o.print&&(W=o.print),o.printErr&&(R=o.printErr),o.wasmBinary&&(k=o.wasmBinary),o.arguments&&o.arguments,o.thisProgram&&(h=o.thisProgram);var Fa,Da=[Ee,ke,We,ar,sr,ir,lr,ur,cr,dr,wn,_n,io,lo,uo,fo,mo,ho,vo],La={1998332:()=>{throw new Error(oss.str())}},Ma=await async function(){function e(e,r){return Ma=e.exports,Me(Ma._emscripten_tls_init),xe=Ma.__indirect_function_table,S=r,oe(),Ma}ne();var r=ue();if(o.instantiateWasm)return new Promise(((t,n)=>{o.instantiateWasm(r,((r,n)=>{t(e(r,n))}))}));if(u)return new Promise((r=>{K=t=>{var n=new WebAssembly.Instance(t,ue());r(e(n,t))}}));ee??=se();try{var t=function(r){return e(r.instance,r.module)}(await le(k,ee,r));return t}catch(e){return n(e),Promise.reject(e)}}(),Ba=e=>(Ba=Ma.malloc)(e),Ia=e=>(Ia=Ma.free)(e),Wa=()=>(Wa=Ma.pthread_self)(),Ra=(e,r)=>(Ra=Ma.setThrew)(e,r),ja=e=>(ja=Ma.__getTypeName)(e),Oa=()=>(Oa=Ma._embind_initialize_bindings)(),Na=(e,r)=>(Na=Ma.emscripten_builtin_memalign)(e,r),Ua=(e,r,t,n,o,a)=>(Ua=Ma._emscripten_thread_init)(e,r,t,n,o,a),Ga=()=>(Ga=Ma._emscripten_thread_crashed)(),za=(e,r,t,n,o)=>(za=Ma._emscripten_run_on_main_thread_js)(e,r,t,n,o),Va=e=>(Va=Ma._emscripten_thread_free_data)(e),Ha=e=>(Ha=Ma._emscripten_thread_exit)(e),qa=()=>(qa=Ma._emscripten_check_mailbox)(),Xa=(e,r)=>(Xa=Ma.emscripten_stack_set_limits)(e,r),Ka=e=>(Ka=Ma._emscripten_stack_restore)(e),Ya=e=>(Ya=Ma._emscripten_stack_alloc)(e),Ja=()=>(Ja=Ma.emscripten_stack_get_current)();function Qa(e,r){var t=_e();try{return Fe(e)(r)}catch(e){if(ye(t),e!==e+0)throw e;Ra(1,0)}}function Za(e,r,t){var n=_e();try{return Fe(e)(r,t)}catch(e){if(ye(n),e!==e+0)throw e;Ra(1,0)}}function es(e,r,t,n){var o=_e();try{return Fe(e)(r,t,n)}catch(e){if(ye(o),e!==e+0)throw e;Ra(1,0)}}function rs(e,r){var t=_e();try{Fe(e)(r)}catch(e){if(ye(t),e!==e+0)throw e;Ra(1,0)}}function ts(e,r,t,n){var o=_e();try{Fe(e)(r,t,n)}catch(e){if(ye(o),e!==e+0)throw e;Ra(1,0)}}function ns(e,r,t){var n=_e();try{Fe(e)(r,t)}catch(e){if(ye(n),e!==e+0)throw e;Ra(1,0)}}function os(e,r,t,n,o,a){var s=_e();try{return Fe(e)(r,t,n,o,a)}catch(e){if(ye(s),e!==e+0)throw e;Ra(1,0)}}function as(e,r,t,n,o){var a=_e();try{Fe(e)(r,t,n,o)}catch(e){if(ye(a),e!==e+0)throw e;Ra(1,0)}}function ss(e,r,t,n,o,a,s){var i=_e();try{return Fe(e)(r,t,n,o,a,s)}catch(e){if(ye(i),e!==e+0)throw e;Ra(1,0)}}function is(e,r,t,n,o,a){var s=_e();try{Fe(e)(r,t,n,o,a)}catch(e){if(ye(s),e!==e+0)throw e;Ra(1,0)}}function ls(e,r,t,n,o){var a=_e();try{return Fe(e)(r,t,n,o)}catch(e){if(ye(a),e!==e+0)throw e;Ra(1,0)}}function us(e,r,t,n,o,a,s,i,l,u){var c=_e();try{return Fe(e)(r,t,n,o,a,s,i,l,u)}catch(e){if(ye(c),e!==e+0)throw e;Ra(1,0)}}function cs(e){var r=_e();try{Fe(e)()}catch(e){if(ye(r),e!==e+0)throw e;Ra(1,0)}}return function(){if(o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.shift()()}(),function e(){if(re>0)te=e;else{if(u)return t(o),void Z();!function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)pe(o.preRun.shift());me(he)}(),re>0?te=e:o.setStatus?(o.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>o.setStatus("")),1),r()}),1)):r()}function r(){o.calledRun=!0,j||(Z(),t(o),o.onRuntimeInitialized?.(),function(){if(!u){if(o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)Pe(o.postRun.shift());me($e)}}())}}(),a}),t=globalThis.self?.name?.startsWith("em-pthread");"string"==typeof globalThis.process?.versions?.node&&(t="em-pthread"===(await import("worker_threads")).workerData),t&&r();export{r as default};
|