Files
2026-04-05 03:08:53 +02:00

5 lines
105 KiB
JavaScript

"use strict";var cr=Object.create;var ne=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var fr=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var Le=e=>{throw TypeError(e)};var _r=(e,r,t)=>r in e?ne(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var pr=(e,r)=>()=>(e&&(r=e(e=0)),r);var Z=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Sr=(e,r)=>{for(var t in r)ne(e,t,{get:r[t],enumerable:!0})},Ce=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of ur(r))!mr.call(e,o)&&o!==t&&ne(e,o,{get:()=>r[o],enumerable:!(n=dr(r,o))||n.enumerable});return e};var fe=(e,r,t)=>(t=e!=null?cr(fr(e)):{},Ce(r||!e||!e.__esModule?ne(t,"default",{value:e,enumerable:!0}):t,e)),gr=e=>Ce(ne({},"__esModule",{value:!0}),e);var U=(e,r,t)=>_r(e,typeof r!="symbol"?r+"":r,t),Ae=(e,r,t)=>r.has(e)||Le("Cannot "+t);var p=(e,r,t)=>(Ae(e,r,"read from private field"),t?t.call(e):r.get(e)),H=(e,r,t)=>r.has(e)?Le("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,t),q=(e,r,t,n)=>(Ae(e,r,"write to private field"),n?n.call(e,t):r.set(e,t),t),h=(e,r,t)=>(Ae(e,r,"access private method"),t);var Te=(e,r,t,n)=>({set _(o){q(e,r,o,t)},get _(){return p(e,r,n)}});var hr,A,E=pr(()=>{"use strict";hr=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,A=hr()});var oe=Z((dt,x)=>{"use strict";E();var Be=9007199254740991,ze=function(e){return e}();function yr(e){return e===ze}function je(e){return typeof e=="string"||Object.prototype.toString.call(e)=="[object String]"}function Er(e){return Object.prototype.toString.call(e)=="[object Date]"}function me(e){return e!==null&&typeof e=="object"}function _e(e){return typeof e=="function"}function vr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Be}function Fr(e){return Object.prototype.toString.call(e)=="[object Array]"}function We(e){return me(e)&&!_e(e)&&vr(e.length)}function Pe(e){return Object.prototype.toString.call(e)=="[object ArrayBuffer]"}function wr(e,r){return Array.prototype.map.call(e,r)}function br(e,r){var t=ze;return _e(r)&&Array.prototype.every.call(e,function(n,o,a){var s=r(n,o,a);return s&&(t=n),!s}),t}function Ar(e){return Object.assign.apply(null,arguments)}function Ye(e){var r,t,n;if(je(e)){for(t=e.length,n=new Uint8Array(t),r=0;r<t;r++)n[r]=e.charCodeAt(r)&255;return n}return Pe(e)?new Uint8Array(e):me(e)&&Pe(e.buffer)?new Uint8Array(e.buffer):We(e)?new Uint8Array(e):me(e)&&_e(e.toString)?Ye(e.toString()):new Uint8Array}x.exports.MAX_SAFE_INTEGER=Be;x.exports.isUndefined=yr;x.exports.isString=je;x.exports.isObject=me;x.exports.isDateTime=Er;x.exports.isFunction=_e;x.exports.isArray=Fr;x.exports.isArrayLike=We;x.exports.isArrayBuffer=Pe;x.exports.map=wr;x.exports.find=br;x.exports.extend=Ar;x.exports.toUint8Array=Ye});var ie=Z((ft,Ge)=>{"use strict";E();var Me="\0";Ge.exports={NULL_CHAR:Me,TMAGIC:"ustar"+Me+"00",OLDGNU_MAGIC:"ustar "+Me,REGTYPE:0,LNKTYPE:1,SYMTYPE:2,CHRTYPE:3,BLKTYPE:4,DIRTYPE:5,FIFOTYPE:6,CONTTYPE:7,TSUID:parseInt("4000",8),TSGID:parseInt("2000",8),TSVTX:parseInt("1000",8),TUREAD:parseInt("0400",8),TUWRITE:parseInt("0200",8),TUEXEC:parseInt("0100",8),TGREAD:parseInt("0040",8),TGWRITE:parseInt("0020",8),TGEXEC:parseInt("0010",8),TOREAD:parseInt("0004",8),TOWRITE:parseInt("0002",8),TOEXEC:parseInt("0001",8),TPERMALL:parseInt("0777",8),TPERMMASK:parseInt("0777",8)}});var Ne=Z((_t,I)=>{"use strict";E();var Xe=oe(),M=ie(),Tr=512,ke=M.TPERMALL,Ve=0,$e=0,Oe=[["name",100,0,function(e,r){return ae(e[r[0]],r[1])},function(e,r,t){return K(e.slice(r,r+t[1]))}],["mode",8,100,function(e,r){var t=e[r[0]]||ke;return t=t&M.TPERMMASK,ee(t,r[1],ke)},function(e,r,t){var n=z(e.slice(r,r+t[1]));return n&=M.TPERMMASK,n}],["uid",8,108,function(e,r){return ee(e[r[0]],r[1],Ve)},function(e,r,t){return z(e.slice(r,r+t[1]))}],["gid",8,116,function(e,r){return ee(e[r[0]],r[1],$e)},function(e,r,t){return z(e.slice(r,r+t[1]))}],["size",12,124,function(e,r){return ee(e.data.length,r[1])},function(e,r,t){return z(e.slice(r,r+t[1]))}],["modifyTime",12,136,function(e,r){return pe(e[r[0]],r[1])},function(e,r,t){return Se(e.slice(r,r+t[1]))}],["checksum",8,148,function(e,r){return" "},function(e,r,t){return z(e.slice(r,r+t[1]))}],["type",1,156,function(e,r){return""+(parseInt(e[r[0]],10)||0)%8},function(e,r,t){return(parseInt(String.fromCharCode(e[r]),10)||0)%8}],["linkName",100,157,function(e,r){return""},function(e,r,t){return K(e.slice(r,r+t[1]))}],["ustar",8,257,function(e,r){return M.TMAGIC},function(e,r,t){return Pr(K(e.slice(r,r+t[1]),!0))},function(e,r){return e[r[0]]==M.TMAGIC||e[r[0]]==M.OLDGNU_MAGIC}],["owner",32,265,function(e,r){return ae(e[r[0]],r[1])},function(e,r,t){return K(e.slice(r,r+t[1]))}],["group",32,297,function(e,r){return ae(e[r[0]],r[1])},function(e,r,t){return K(e.slice(r,r+t[1]))}],["majorNumber",8,329,function(e,r){return""},function(e,r,t){return z(e.slice(r,r+t[1]))}],["minorNumber",8,337,function(e,r){return""},function(e,r,t){return z(e.slice(r,r+t[1]))}],["prefix",131,345,function(e,r){return ae(e[r[0]],r[1])},function(e,r,t){return K(e.slice(r,r+t[1]))}],["accessTime",12,476,function(e,r){return pe(e[r[0]],r[1])},function(e,r,t){return Se(e.slice(r,r+t[1]))}],["createTime",12,488,function(e,r){return pe(e[r[0]],r[1])},function(e,r,t){return Se(e.slice(r,r+t[1]))}]],qe=function(e){var r=e[e.length-1];return r[2]+r[1]}(Oe);function Pr(e){if(e.length==8){var r=e.split("");if(r[5]==M.NULL_CHAR)return(r[6]==" "||r[6]==M.NULL_CHAR)&&(r[6]="0"),(r[7]==" "||r[7]==M.NULL_CHAR)&&(r[7]="0"),r=r.join(""),r==M.TMAGIC?r:e;if(r[7]==M.NULL_CHAR)return r[5]==M.NULL_CHAR&&(r[5]=" "),r[6]==M.NULL_CHAR&&(r[6]=" "),r==M.OLDGNU_MAGIC?r:e}return e}function ae(e,r){return r-=1,Xe.isUndefined(e)&&(e=""),e=(""+e).substr(0,r),e+M.NULL_CHAR}function ee(e,r,t){for(t=parseInt(t)||0,r-=1,e=(parseInt(e)||t).toString(8).substr(-r,r);e.length<r;)e="0"+e;return e+M.NULL_CHAR}function pe(e,r){if(Xe.isDateTime(e))e=Math.floor(1*e/1e3);else if(e=parseInt(e,10),isFinite(e)){if(e<=0)return""}else e=Math.floor(1*new Date/1e3);return ee(e,r,0)}function K(e,r){var t=String.fromCharCode.apply(null,e);if(r)return t;var n=t.indexOf(M.NULL_CHAR);return n>=0?t.substr(0,n):t}function z(e){var r=String.fromCharCode.apply(null,e);return parseInt(r.replace(/^0+$/g,""),8)||0}function Se(e){return e.length==0||e[0]==0?null:new Date(1e3*z(e))}function Mr(e,r,t){var n=parseInt(r,10)||0,o=Math.min(n+qe,e.length),a=0,s=0,l=0;t&&Oe.every(function(f){return f[0]=="checksum"?(s=n+f[2],l=s+f[1],!1):!0});for(var c=32,d=n;d<o;d++){var u=d>=s&&d<l?c:e[d];a=(a+u)%262144}return a}I.exports.recordSize=Tr;I.exports.defaultFileMode=ke;I.exports.defaultUid=Ve;I.exports.defaultGid=$e;I.exports.posixHeader=Oe;I.exports.effectiveHeaderSize=qe;I.exports.calculateChecksum=Mr;I.exports.formatTarString=ae;I.exports.formatTarNumber=ee;I.exports.formatTarDateTime=pe;I.exports.parseTarString=K;I.exports.parseTarNumber=z;I.exports.parseTarDateTime=Se});var Ze=Z((St,Qe)=>{"use strict";E();var kr=ie(),ge=oe(),G=Ne();function Ke(e){return G.recordSize}function Je(e){return Math.ceil(e.data.length/G.recordSize)*G.recordSize}function Or(e){var r=0;return e.forEach(function(t){r+=Ke(t)+Je(t)}),r+=G.recordSize*2,new Uint8Array(r)}function Nr(e,r,t){t=parseInt(t)||0;var n=t;G.posixHeader.forEach(function(c){for(var d=c[3](r,c),u=d.length,f=0;f<u;f+=1)e[n+f]=d.charCodeAt(f)&255;n+=c[1]});var o=ge.find(G.posixHeader,function(c){return c[0]=="checksum"});if(o){var a=G.calculateChecksum(e,t,!0),s=G.formatTarNumber(a,o[1]-2)+kr.NULL_CHAR+" ";n=t+o[2];for(var l=0;l<s.length;l+=1)e[n]=s.charCodeAt(l)&255,n++}return t+Ke(r)}function Dr(e,r,t){return t=parseInt(t,10)||0,e.set(r.data,t),t+Je(r)}function Rr(e){e=ge.map(e,function(n){return ge.extend({},n,{data:ge.toUint8Array(n.data)})});var r=Or(e),t=0;return e.forEach(function(n){t=Nr(r,n,t),t=Dr(r,n,t)}),r}Qe.exports.tar=Rr});var rr=Z((ht,er)=>{"use strict";E();var xr=ie(),Re=oe(),L=Ne(),Ir={extractData:!0,checkHeader:!0,checkChecksum:!0,checkFileSize:!0},Hr={size:!0,checksum:!0,ustar:!0},De={unexpectedEndOfFile:"Unexpected end of file.",fileCorrupted:"File is corrupted.",checksumCheckFailed:"Checksum check failed."};function Ur(e){return L.recordSize}function Lr(e){return Math.ceil(e/L.recordSize)*L.recordSize}function Cr(e,r){for(var t=r,n=Math.min(e.length,r+L.recordSize*2),o=t;o<n;o++)if(e[o]!=0)return!1;return!0}function Br(e,r,t){if(e.length-r<L.recordSize){if(t.checkFileSize)throw new Error(De.unexpectedEndOfFile);return null}r=parseInt(r)||0;var n={},o=r;if(L.posixHeader.forEach(function(l){n[l[0]]=l[4](e,o,l),o+=l[1]}),n.type!=0&&(n.size=0),t.checkHeader&&L.posixHeader.forEach(function(l){if(Re.isFunction(l[5])&&!l[5](n,l)){var c=new Error(De.fileCorrupted);throw c.data={offset:r+l[2],field:l[0]},c}}),t.checkChecksum){var a=L.calculateChecksum(e,r,!0);if(a!=n.checksum){var s=new Error(De.checksumCheckFailed);throw s.data={offset:r,header:n,checksum:a},s}}return n}function zr(e,r,t,n){return n.extractData?t.size<=0?new Uint8Array:e.slice(r,r+t.size):null}function jr(e,r){var t={};return L.posixHeader.forEach(function(n){var o=n[0];Hr[o]||(t[o]=e[o])}),t.isOldGNUFormat=e.ustar==xr.OLDGNU_MAGIC,r&&(t.data=r),t}function Wr(e,r){r=Re.extend({},Ir,r);for(var t=[],n=0,o=e.length;o-n>=L.recordSize;){e=Re.toUint8Array(e);var a=Br(e,n,r);if(!a)break;n+=Ur(a);var s=zr(e,n,a,r);if(t.push(jr(a,s)),n+=Lr(a.size),Cr(e,n))break}return t}er.exports.untar=Wr});var nr=Z((Et,tr)=>{"use strict";E();var Yr=oe(),Gr=ie(),Xr=Ze(),Vr=rr();Yr.extend(tr.exports,Xr,Vr,Gr)});var at={};Sr(at,{OpfsAhpFS:()=>Ie});module.exports=gr(at);E();E();E();var J=fe(nr(),1);async function or(e,r,t="pgdata",n="auto"){let o=qr(e,r),[a,s]=await Kr(o,n),l=t+(s?".tar.gz":".tar"),c=s?"application/x-gzip":"application/x-tar";return typeof File<"u"?new File([a],l,{type:c}):new Blob([a],{type:c})}function $r(e,r){let t=[],n=o=>{e.readdir(o).forEach(s=>{if(s==="."||s==="..")return;let l=o+"/"+s,c=e.stat(l),d=e.isFile(c.mode)?e.readFile(l,{encoding:"binary"}):new Uint8Array(0);t.push({name:l.substring(r.length),mode:c.mode,size:c.size,type:e.isFile(c.mode)?J.REGTYPE:J.DIRTYPE,modifyTime:c.mtime,data:d}),e.isDir(c.mode)&&n(l)})};return n(r),t}function qr(e,r){let t=$r(e,r);return(0,J.tar)(t)}async function Kr(e,r="auto"){if(r==="none")return[e,!1];if(typeof CompressionStream<"u")return[await Jr(e),!0];if(typeof process<"u"&&process.versions&&process.versions.node)return[await Qr(e),!0];if(r==="auto")return[e,!1];throw new Error("Compression not supported in this environment")}async function Jr(e){let r=new CompressionStream("gzip"),t=r.writable.getWriter(),n=r.readable.getReader();t.write(e),t.close();let o=[];for(;;){let{value:l,done:c}=await n.read();if(c)break;l&&o.push(l)}let a=new Uint8Array(o.reduce((l,c)=>l+c.length,0)),s=0;return o.forEach(l=>{a.set(l,s),s+=l.length}),a}async function Qr(e){let{promisify:r}=await import("util"),{gzip:t}=await import("zlib");return await r(t)(e)}E();E();E();var Zr=(()=>{var _scriptName=A;return async function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,r)=>{readyPromiseResolve=e,readyPromiseReject=r}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await import("module"),r=A;r.startsWith("data:")&&(r="/");var require=e(r)}var moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,r)=>{throw r},scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs"),nodePath=require("path");A.startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath(A))+"/"),readBinary=e=>{e=isFileURI(e)?new URL(e):e;var r=fs.readFileSync(e);return r},readAsync=async(e,r=!0)=>{e=isFileURI(e)?new URL(e):e;var t=fs.readFileSync(e,r?void 0:"utf8");return t},!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=(e,r)=>{throw process.exitCode=e,r}}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),readAsync=async e=>{var r=await fetch(e,{credentials:"same-origin"});if(r.ok)return r.arrayBuffer();throw new Error(r.status+" : "+r.url)});var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary;function intArrayFromBase64(e){if(typeof ENVIRONMENT_IS_NODE<"u"&&ENVIRONMENT_IS_NODE){var r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.length)}for(var t=atob(e),n=new Uint8Array(t.length),o=0;o<t.length;++o)n[o]=t.charCodeAt(o);return n}var wasmMemory,ABORT=!1,EXITSTATUS;function assert(e,r){e||abort(r)}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e),Module.HEAP64=HEAP64=new BigInt64Array(e),Module.HEAPU64=HEAPU64=new BigUint64Array(e)}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||33554432;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.initialized&&FS.init(),FS.ignorePermissions=!1,TTY.init(),callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){___funcs_on_exit(),callRuntimeCallbacks(__ATEXIT__),FS.quit(),TTY.shutdown(),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies?.(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var r=dependenciesFulfilled;dependenciesFulfilled=null,r()}}function abort(e){Module.onAbort?.(e),e="Aborted("+e+")",err(e),ABORT=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw readyPromiseReject(r),r}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=e=>e.startsWith(dataURIPrefix),isFileURI=e=>e.startsWith("file://");function findWasmBinary(){if(Module.locateFile){var e="initdb.wasm";return isDataURI(e)?e:locateFile(e)}return new URL("initdb.wasm",A).href}var wasmBinaryFile;function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(e){if(!wasmBinary)try{var r=await readAsync(e);return new Uint8Array(r)}catch{}return getBinarySync(e)}async function instantiateArrayBuffer(e,r){try{var t=await getWasmBinary(e),n=await WebAssembly.instantiate(t,r);return n}catch(o){err(`failed to asynchronously prepare wasm: ${o}`),abort(o)}}async function instantiateAsync(e,r,t){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(r)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function")try{var n=fetch(r,{credentials:"same-origin"}),o=await WebAssembly.instantiateStreaming(n,t);return o}catch(a){err(`wasm streaming compile failed: ${a}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(r,t)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function e(o,a){wasmExports=o.exports,wasmExports=relocateExports(wasmExports,1024);var s=getDylinkMetadata(a);return s.neededDynlibs&&(dynamicLibraries=s.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency("wasm-instantiate"),wasmExports}addRunDependency("wasm-instantiate");function r(o){e(o.instance,o.module)}var t=getWasmImports();if(Module.instantiateWasm)try{return Module.instantiateWasm(t,e)}catch(o){err(`Module.instantiateWasm callback failed with error: ${o}`),readyPromiseReject(o)}wasmBinaryFile??(wasmBinaryFile=findWasmBinary());try{var n=await instantiateAsync(wasmBinary,wasmBinaryFile,t);return r(n),n}catch(o){readyPromiseReject(o);return}}var ASM_CONSTS={};class ExitStatus{constructor(r){U(this,"name","ExitStatus");this.message=`Program terminated with exit(${r})`,this.status=r}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,r){var t=GOT[r];return t||(t=GOT[r]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(r)||(t.required=!0),t}},callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,UTF8ArrayToString=(e,r=0,t=NaN)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(r,o));for(var a="";r<o;){var s=e[r++];if(!(s&128)){a+=String.fromCharCode(s);continue}var l=e[r++]&63;if((s&224)==192){a+=String.fromCharCode((s&31)<<6|l);continue}var c=e[r++]&63;if((s&240)==224?s=(s&15)<<12|l<<6|c:s=(s&7)<<18|l<<12|c<<6|e[r++]&63,s<65536)a+=String.fromCharCode(s);else{var d=s-65536;a+=String.fromCharCode(55296|d>>10,56320|d&1023)}}return a},getDylinkMetadata=e=>{var r=0,t=0;function n(){return e[r++]}function o(){for(var Y=0,ue=1;;){var Ue=e[r++];if(Y+=(Ue&127)*ue,ue*=128,!(Ue&128))break}return Y}function a(){var Y=o();return r+=Y,UTF8ArrayToString(e,r-Y,Y)}function s(Y,ue){if(Y)throw new Error(ue)}var l="dylink.0";if(e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,l);c.length===0&&(l="dylink",c=WebAssembly.Module.customSections(e,l)),s(c.length===0,"need dylink section"),e=new Uint8Array(c[0]),t=e.length}else{var d=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer),u=d[0]==1836278016;s(!u,"need to see wasm magic number"),s(e[8]!==0,"need the dylink section to be first"),r=9;var f=o();t=r+f,l=a()}var _={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(l=="dylink"){_.memorySize=o(),_.memoryAlign=o(),_.tableSize=o(),_.tableAlign=o();for(var m=o(),g=0;g<m;++g){var y=a();_.neededDynlibs.push(y)}}else{s(l!=="dylink.0");for(var w=1,T=2,P=3,O=4,b=256,R=3,W=1;r<t;){var v=n(),lr=o();if(v===w)_.memorySize=o(),_.memoryAlign=o(),_.tableSize=o(),_.tableAlign=o();else if(v===T)for(var m=o(),g=0;g<m;++g)y=a(),_.neededDynlibs.push(y);else if(v===P)for(var Fe=o();Fe--;){var we=a(),be=o();be&b&&_.tlsExports.add(we)}else if(v===O)for(var Fe=o();Fe--;){var st=a(),we=a(),be=o();(be&R)==W&&_.weakImports.add(we)}else r+=lr}}return _},newDSO=(e,r,t)=>{var n={refcount:1/0,name:e,exports:t,global:!0};return LDSO.loadedLibsByName[e]=n,r!=null&&(LDSO.loadedLibsByHandle[r]=n),n},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=137184,alignMemory=(e,r)=>Math.ceil(e/r)*r,getMemory=e=>{if(runtimeInitialized)return _calloc(e,1);var r=___heap_base,t=r+alignMemory(e,16);return ___heap_base=t,GOT.__heap_base.value=t,r},isInternalSym=e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),uleb128Encode=(e,r)=>{e<128?r.push(e):r.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var r={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:e[0]=="v"?[]:[r[e[0]]]},n=1;n<e.length;++n)t.parameters.push(r[e[n]]);return t},generateFuncType=(e,r)=>{var t=e.slice(0,1),n=e.slice(1),o={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),uleb128Encode(n.length,r);for(var a=0;a<n.length;++a)r.push(o[n[a]]);t=="v"?r.push(0):r.push(1,o[t])},convertJsFunctionToWasm=(e,r)=>{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(r),e);var t=[1];generateFuncType(r,t);var n=[0,97,115,109,1,0,0,0,1];uleb128Encode(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var o=new WebAssembly.Module(new Uint8Array(n)),a=new WebAssembly.Instance(o,{e:{f:e}}),s=a.exports.f;return s},wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:21,element:"anyfunc"}),getWasmTableEntry=e=>{var r=wasmTableMirror[e];return r||(e>=wasmTableMirror.length&&(wasmTableMirror.length=e+1),wasmTableMirror[e]=r=wasmTable.get(e)),r},updateTableMap=(e,r)=>{if(functionsInTableMap)for(var t=e;t<e+r;t++){var n=getWasmTableEntry(t);n&&functionsInTableMap.set(n,t)}},functionsInTableMap,getFunctionAddress=e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){throw e instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":e}return wasmTable.length-1},setWasmTableEntry=(e,r)=>{wasmTable.set(e,r),wasmTableMirror[e]=wasmTable.get(e)},addFunction=(e,r)=>{var t=getFunctionAddress(e);if(t)return t;var n=getEmptyTableSlot();try{setWasmTableEntry(n,e)}catch(a){if(!(a instanceof TypeError))throw a;var o=convertJsFunctionToWasm(e,r);setWasmTableEntry(n,o)}return functionsInTableMap.set(e,n),n},updateGOT=(e,r)=>{for(var t in e)if(!isInternalSym(t)){var n=e[t];GOT[t]||(GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),(r||GOT[t].value==0)&&(typeof n=="function"?GOT[t].value=addFunction(n):typeof n=="number"?GOT[t].value=n:err(`unhandled export type for '${t}': ${typeof n}`))}},relocateExports=(e,r,t)=>{var n={};for(var o in e){var a=e[o];typeof a=="object"&&(a=a.value),typeof a=="number"&&(a+=r),n[o]=a}return updateGOT(n,t),n},isSymbolDefined=e=>{var r=wasmImports[e];return!(!r||r.stub)},dynCall=(e,r,t=[])=>{var n=getWasmTableEntry(r)(...t);return n},stackSave=()=>_emscripten_stack_get_current(),stackRestore=e=>__emscripten_stack_restore(e),createInvokeFunction=e=>(r,...t)=>{var n=stackSave();try{return dynCall(e,r,t)}catch(o){if(stackRestore(n),o!==o+0)throw o;if(_setThrew(1,0),e[0]=="j")return 0n}},resolveGlobalSymbol=(e,r=!1)=>{var t;return isSymbolDefined(e)?t=wasmImports[e]:e.startsWith("invoke_")&&(t=wasmImports[e]=createInvokeFunction(e.split("_")[1])),{sym:t,name:e}},UTF8ToString=(e,r)=>e?UTF8ArrayToString(HEAPU8,e,r):"",loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,HEAPU32[handle+12>>2]=memoryBase,HEAP32[handle+16>>2]=metadata.memorySize,HEAPU32[handle+20>>2]=tableBase,HEAP32[handle+24>>2]=metadata.tableSize)}else memoryBase=HEAPU32[handle+12>>2],tableBase=HEAPU32[handle+20>>2];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(e){var r=resolveGlobalSymbol(e).sym;return!r&&localScope&&(r=localScope[e]),r||(r=moduleExports[e]),r}var proxyHandler={get(e,r){switch(r){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(r in wasmImports&&!wasmImports[r].stub)return wasmImports[r];if(!(r in e)){var t;e[r]=(...n)=>(t||(t=resolveSymbol(r)),t(...n))}return e[r]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():__ATINIT__.push(init)),moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},mergeLibSymbols=(e,r)=>{for(var[t,n]of Object.entries(e)){let o=s=>{isSymbolDefined(s)||(wasmImports[s]=n)};o(t);let a="__main_argc_argv";t=="main"&&o(a),t==a&&o("main")}},asyncLoad=async e=>{var r=await readAsync(e);return new Uint8Array(r)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var e={promiseChainEnd:Promise.resolve(),canHandle:r=>!Module.noWasmDecoding&&r.endsWith(".so"),handle:(r,t,n,o)=>{e.promiseChainEnd=e.promiseChainEnd.then(()=>loadWebAssemblyModule(r,{loadAsync:!0,nodelete:!0},t,{})).then(a=>{preloadedWasm[t]=a,n(r)},a=>{err(`failed to instantiate wasm: ${t}: ${a}`),o()})}};preloadPlugins.push(e)},preloadedWasm={};function loadDynamicLibrary(e,r={global:!0,nodelete:!0},t,n){var o=LDSO.loadedLibsByName[e];if(o)return r.global?o.global||(o.global=!0,mergeLibSymbols(o.exports,e)):t&&Object.assign(t,o.exports),r.nodelete&&o.refcount!==1/0&&(o.refcount=1/0),o.refcount++,n&&(LDSO.loadedLibsByHandle[n]=o),r.loadAsync?Promise.resolve(!0):!0;o=newDSO(e,n,"loading"),o.refcount=r.nodelete?1/0:1,o.global=r.global;function a(){if(n){var c=HEAPU32[n+28>>2],d=HEAPU32[n+32>>2];if(c&&d){var u=HEAP8.slice(c,c+d);return r.loadAsync?Promise.resolve(u):u}}var f=locateFile(e);if(r.loadAsync)return asyncLoad(f);if(!readBinary)throw new Error(`${f}: file not found, and synchronous loading of external files is not available`);return readBinary(f)}function s(){var c=preloadedWasm[e];return c?r.loadAsync?Promise.resolve(c):c:r.loadAsync?a().then(d=>loadWebAssemblyModule(d,r,e,t,n)):loadWebAssemblyModule(a(),r,e,t,n)}function l(c){o.global?mergeLibSymbols(c,e):t&&Object.assign(t,c),o.exports=c}return r.loadAsync?s().then(c=>(l(c),!0)):(l(s()),!0)}var reportUndefinedSymbols=()=>{for(var[e,r]of Object.entries(GOT))if(r.value==0){var t=resolveGlobalSymbol(e,!0).sym;if(!t&&!r.required)continue;if(typeof t=="function")r.value=addFunction(t,t.sig);else if(typeof t=="number")r.value=t;else throw new Error(`bad export type for '${e}': ${typeof t}`)}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})},noExitRuntime=Module.noExitRuntime||!1,___call_sighandler=(e,r)=>getWasmTableEntry(e)(r);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},137184),PATH={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.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=PATH.isAbs(e),t=e.substr(-1)==="/";return e=PATH.normalizeArray(e.split("/").filter(n=>!!n),!r).join("/"),!e&&!r&&(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=PATH.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"/";e=PATH.normalize(e),e=e.replace(/\/$/,"");var r=e.lastIndexOf("/");return r===-1?e:e.substr(r+1)},join:(...e)=>PATH.normalize(e.join("/")),join2:(e,r)=>PATH.normalize(e+"/"+r)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return n=>crypto.getRandomValues(n);if(ENVIRONMENT_IS_NODE)try{var e=require("crypto"),r=e.randomFillSync;if(r)return n=>e.randomFillSync(n);var t=e.randomBytes;return n=>(n.set(t(n.byteLength)),n)}catch{}abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var o=n>=0?e[n]:FS.cwd();if(typeof o!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";r=o+"/"+r,t=PATH.isAbs(o)}return r=PATH.normalizeArray(r.split("/").filter(a=>!!a),!t).join("/"),(t?"/":"")+r||"."},relative:(e,r)=>{e=PATH_FS.resolve(e).substr(1),r=PATH_FS.resolve(r).substr(1);function t(d){for(var u=0;u<d.length&&d[u]==="";u++);for(var f=d.length-1;f>=0&&d[f]==="";f--);return u>f?[]:d.slice(u,f-u+1)}for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),s=a,l=0;l<a;l++)if(n[l]!==o[l]){s=l;break}for(var c=[],l=s;l<n.length;l++)c.push("..");return c=c.concat(o.slice(s)),c.join("/")}},FS_stdin_getChar_buffer=[],lengthBytesUTF8=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},stringToUTF8Array=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,s=0;s<e.length;++s){var l=e.charCodeAt(s);if(l>=55296&&l<=57343){var c=e.charCodeAt(++s);l=65536+((l&1023)<<10)|c&1023}if(l<=127){if(t>=a)break;r[t++]=l}else if(l<=2047){if(t+1>=a)break;r[t++]=192|l>>6,r[t++]=128|l&63}else if(l<=65535){if(t+2>=a)break;r[t++]=224|l>>12,r[t++]=128|l>>6&63,r[t++]=128|l&63}else{if(t+3>=a)break;r[t++]=240|l>>18,r[t++]=128|l>>12&63,r[t++]=128|l>>6&63,r[t++]=128|l&63}}return r[t]=0,t-o};function intArrayFromString(e,r,t){var n=t>0?t:lengthBytesUTF8(e)+1,o=new Array(n),a=stringToUTF8Array(e,o,0,o.length);return r&&(o.length=a),o}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if(ENVIRONMENT_IS_NODE){var r=256,t=Buffer.alloc(r),n=0,o=process.stdin.fd;try{n=fs.readSync(o,t,0,r)}catch(a){if(a.toString().includes("EOF"))n=0;else throw a}n>0&&(e=t.slice(0,n).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=`
`));if(!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,r){TTY.ttys[e]={input:[],output:[],ops:r},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var r=TTY.ttys[e.node.rdev];if(!r)throw new FS.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 FS.ErrnoError(60);for(var a=0,s=0;s<n;s++){var l;try{l=e.tty.ops.get_char(e.tty)}catch{throw new FS.ErrnoError(29)}if(l===void 0&&a===0)throw new FS.ErrnoError(6);if(l==null)break;a++,r[t+s]=l}return a&&(e.node.atime=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new FS.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch{throw new FS.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char(e){return FS_stdin_getChar()},put_char(e,r){r===null||r===10?(out(UTF8ArrayToString(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output)),e.output=[])},ioctl_tcgets(e){return{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){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,r){r===null||r===10?(err(UTF8ArrayToString(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output)),e.output=[])}}},zeroMemory=(e,r)=>{HEAPU8.fill(0,e,e+r)},mmapAlloc=e=>{abort()},MEMFS={ops_table:null,mount(e){return MEMFS.createNode(null,"/",16895,0)},createNode(e,r,t,n){if(FS.isBlkdev(t)||FS.isFIFO(t))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var o=FS.createNode(e,r,t,n);return FS.isDir(o.mode)?(o.node_ops=MEMFS.ops_table.dir.node,o.stream_ops=MEMFS.ops_table.dir.stream,o.contents={}):FS.isFile(o.mode)?(o.node_ops=MEMFS.ops_table.file.node,o.stream_ops=MEMFS.ops_table.file.stream,o.usedBytes=0,o.contents=null):FS.isLink(o.mode)?(o.node_ops=MEMFS.ops_table.link.node,o.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(o.mode)&&(o.node_ops=MEMFS.ops_table.chrdev.node,o.stream_ops=MEMFS.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){return 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)){var n=1024*1024;r=Math.max(r,t*(t<n?2:1.125)>>>0),t!=0&&(r=Math.max(r,256));var o=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(r==0)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=FS.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,FS.isDir(e.mode)?r.size=4096:FS.isFile(e.mode)?r.size=e.usedBytes:FS.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(let t of["mode","atime","mtime","ctime"])r[t]&&(e[t]=r[t]);r.size!==void 0&&MEMFS.resizeFileStorage(e,r.size)},lookup(e,r){throw MEMFS.doesNotExistError},mknod(e,r,t,n){return MEMFS.createNode(e,r,t,n)},rename(e,r,t){var n;try{n=FS.lookupNode(r,t)}catch{}if(n){if(FS.isDir(e.mode))for(var o in n.contents)throw new FS.ErrnoError(55);FS.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=FS.lookupNode(e,r);for(var n in t.contents)throw new FS.ErrnoError(55);delete e.contents[r],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,r,t){var n=MEMFS.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!FS.isLink(e.mode))throw new FS.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 l=0;l<s;l++)r[t+l]=a[o+l];return s},write(e,r,t,n,o,a){if(r.buffer===HEAP8.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(s.usedBytes===0&&o===0)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(MEMFS.expandFileStorage(s,o+n),s.contents.subarray&&r.subarray)s.contents.set(r.subarray(t,t+n),o);else for(var l=0;l<n;l++)s.contents[o+l]=r[t+l];return s.usedBytes=Math.max(s.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(t===1?n+=e.position:t===2&&FS.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new FS.ErrnoError(28);return n},allocate(e,r,t){MEMFS.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,o){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(43);var a,s,l=e.node.contents;if(!(o&2)&&l&&l.buffer===HEAP8.buffer)s=!1,a=l.byteOffset;else{if(s=!0,a=mmapAlloc(r),!a)throw new FS.ErrnoError(48);l&&((t>0||t+r<l.length)&&(l.subarray?l=l.subarray(t,t+r):l=Array.prototype.slice.call(l,t,t+r)),HEAP8.set(l,a))}return{ptr:a,allocated:s}},msync(e,r,t,n,o){return MEMFS.stream_ops.write(e,r,0,n,t,!1),0}}},FS_createDataFile=(e,r,t,n,o,a)=>{FS.createDataFile(e,r,t,n,o,a)},FS_handledByPreloadPlugin=(e,r,t,n)=>{typeof Browser<"u"&&Browser.init();var o=!1;return preloadPlugins.forEach(a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)}),o},FS_createPreloadedFile=(e,r,t,n,o,a,s,l,c,d)=>{var u=r?PATH_FS.resolve(PATH.join2(e,r)):e,f=`cp ${u}`;function _(m){function g(y){d?.(),l||FS_createDataFile(e,r,y,n,o,c),a?.(),removeRunDependency(f)}FS_handledByPreloadPlugin(m,u,g,()=>{s?.(),removeRunDependency(f)})||g(m)}addRunDependency(f),typeof t=="string"?asyncLoad(t).then(_,s):_(t)},FS_modeStringToFlags=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},t=r[e];if(typeof t>"u")throw new Error(`Unknown file open mode: ${e}`);return t},FS_getMode=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},PROXYFS={mount(e){return PROXYFS.createNode(null,"/",e.opts.fs.lstat(e.opts.root).mode,0)},createNode(e,r,t,n){if(!FS.isDir(t)&&!FS.isFile(t)&&!FS.isLink(t))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var o=FS.createNode(e,r,t);return o.node_ops=PROXYFS.node_ops,o.stream_ops=PROXYFS.stream_ops,o},realPath(e){for(var r=[];e.parent!==e;)r.push(e.name),e=e.parent;return r.push(e.mount.opts.root),r.reverse(),PATH.join(...r)},node_ops:{getattr(e){var r=PROXYFS.realPath(e),t;try{t=e.mount.opts.fs.lstat(r)}catch(n){throw n.code?new FS.ErrnoError(ERRNO_CODES[n.code]):n}return{dev:t.dev,ino:t.ino,mode:t.mode,nlink:t.nlink,uid:t.uid,gid:t.gid,rdev:t.rdev,size:t.size,atime:t.atime,mtime:t.mtime,ctime:t.ctime,blksize:t.blksize,blocks:t.blocks}},setattr(e,r){var t=PROXYFS.realPath(e);try{if(r.mode!==void 0&&(e.mount.opts.fs.chmod(t,r.mode),e.mode=r.mode),r.atime||r.mtime){var n=new Date(r.atime||r.mtime),o=new Date(r.mtime||r.atime);e.mount.opts.fs.utime(t,n,o)}r.size!==void 0&&e.mount.opts.fs.truncate(t,r.size)}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}},lookup(e,r){try{var t=PATH.join2(PROXYFS.realPath(e),r),n=e.mount.opts.fs.lstat(t).mode,o=PROXYFS.createNode(e,r,n);return o}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}},mknod(e,r,t,n){var o=PROXYFS.createNode(e,r,t,n),a=PROXYFS.realPath(o);try{FS.isDir(o.mode)?o.mount.opts.fs.mkdir(a,o.mode):o.mount.opts.fs.writeFile(a,"",{mode:o.mode})}catch(s){throw s.code?new FS.ErrnoError(ERRNO_CODES[s.code]):s}return o},rename(e,r,t){var n=PROXYFS.realPath(e),o=PATH.join2(PROXYFS.realPath(r),t);try{e.mount.opts.fs.rename(n,o),e.name=t}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}},unlink(e,r){var t=PATH.join2(PROXYFS.realPath(e),r);try{e.mount.opts.fs.unlink(t)}catch(n){throw n.code?new FS.ErrnoError(ERRNO_CODES[n.code]):n}},rmdir(e,r){var t=PATH.join2(PROXYFS.realPath(e),r);try{e.mount.opts.fs.rmdir(t)}catch(n){throw n.code?new FS.ErrnoError(ERRNO_CODES[n.code]):n}},readdir(e){var r=PROXYFS.realPath(e);try{return e.mount.opts.fs.readdir(r)}catch(t){throw t.code?new FS.ErrnoError(ERRNO_CODES[t.code]):t}},symlink(e,r,t){var n=PATH.join2(PROXYFS.realPath(e),r);try{e.mount.opts.fs.symlink(t,n)}catch(o){throw o.code?new FS.ErrnoError(ERRNO_CODES[o.code]):o}},readlink(e){var r=PROXYFS.realPath(e);try{return e.mount.opts.fs.readlink(r)}catch(t){throw t.code?new FS.ErrnoError(ERRNO_CODES[t.code]):t}}},stream_ops:{open(e){var r=PROXYFS.realPath(e.node);try{e.nfd=e.node.mount.opts.fs.open(r,e.flags)}catch(t){throw t.code?new FS.ErrnoError(ERRNO_CODES[t.code]):t}},close(e){try{e.node.mount.opts.fs.close(e.nfd)}catch(r){throw r.code?new FS.ErrnoError(ERRNO_CODES[r.code]):r}},read(e,r,t,n,o){try{return e.node.mount.opts.fs.read(e.nfd,r,t,n,o)}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}},write(e,r,t,n,o){try{return e.node.mount.opts.fs.write(e.nfd,r,t,n,o)}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}},llseek(e,r,t){var n=r;if(t===1)n+=e.position;else if(t===2&&FS.isFile(e.node.mode))try{var o=e.node.node_ops.getattr(e.node);n+=o.size}catch(a){throw new FS.ErrnoError(ERRNO_CODES[a.code])}if(n<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return n}}},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){U(this,"name","ErrnoError");this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){U(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}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){U(this,"node_ops",{});U(this,"stream_ops",{});U(this,"readMode",365);U(this,"writeMode",146);U(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=FS.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 FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(e,r={}){if(!e)return{path:"",node:null};r.follow_mount??(r.follow_mount=!0),PATH.isAbs(e)||(e=FS.cwd()+"/"+e);e:for(var t=0;t<40;t++){for(var n=e.split("/").filter(d=>!!d&&d!=="."),o=FS.root,a="/",s=0;s<n.length;s++){var l=s===n.length-1;if(l&&r.parent)break;if(n[s]===".."){a=PATH.dirname(a),o=o.parent;continue}a=PATH.join2(a,n[s]);try{o=FS.lookupNode(o,n[s])}catch(d){if(d?.errno===44&&l&&r.noent_okay)return{path:a};throw d}if(FS.isMountpoint(o)&&(!l||r.follow_mount)&&(o=o.mounted.root),FS.isLink(o.mode)&&(!l||r.follow)){if(!o.node_ops.readlink)throw new FS.ErrnoError(52);var c=o.node_ops.readlink(o);PATH.isAbs(c)||(c=PATH.dirname(a)+"/"+c),e=c+"/"+n.slice(s+1).join("/");continue e}}return{path:a,node:o}}throw new FS.ErrnoError(32)},getPath(e){for(var r;;){if(FS.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)%FS.nameTable.length},hashAddNode(e){var r=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[r],FS.nameTable[r]=e},hashRemoveNode(e){var r=FS.hashName(e.parent.id,e.name);if(FS.nameTable[r]===e)FS.nameTable[r]=e.name_next;else for(var t=FS.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=FS.mayLookup(e);if(t)throw new FS.ErrnoError(t);for(var n=FS.hashName(e.id,r),o=FS.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return FS.lookup(e,r)},createNode(e,r,t,n){var o=new FS.FSNode(e,r,t,n);return FS.hashAddNode(o),o},destroyNode(e){FS.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions(e,r){return FS.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!FS.isDir(e.mode))return 54;var r=FS.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){if(!FS.isDir(e.mode))return 54;try{var t=FS.lookupNode(e,r);return 20}catch{}return FS.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=FS.lookupNode(e,r)}catch(a){return a.errno}var o=FS.nodePermissions(e,"wx");if(o)return o;if(t){if(!FS.isDir(n.mode))return 54;if(FS.isRoot(n)||FS.getPath(n)===FS.cwd())return 10}else if(FS.isDir(n.mode))return 31;return 0},mayOpen(e,r){return e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&(FS.flagsToPermissionString(r)!=="r"||r&512)?31:FS.nodePermissions(e,FS.flagsToPermissionString(r)):44},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var r=FS.getStream(e);if(!r)throw new FS.ErrnoError(8);return r},getStream:e=>FS.streams[e],createStream(e,r=-1){return e=Object.assign(new FS.FSStream,e),r==-1&&(r=FS.nextfd()),e.fd=r,FS.streams[r]=e,e},closeStream(e){FS.streams[e]=null},dupStream(e,r=-1){var t=FS.createStream(e,r);return t.stream_ops?.dup?.(t),t},chrdev_stream_ops:{open(e){var r=FS.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){FS.devices[e]={stream_ops:r}},getDevice:e=>FS.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){typeof e=="function"&&(r=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=FS.getMounts(FS.root.mount),n=0;function o(s){return FS.syncFSRequests--,r(s)}function a(s){if(s)return a.errored?void 0:(a.errored=!0,o(s));++n>=t.length&&o(null)}t.forEach(s=>{if(!s.type.syncfs)return a(null);s.type.syncfs(s,e,a)})},mount(e,r,t){var n=t==="/",o=!t,a;if(n&&FS.root)throw new FS.ErrnoError(10);if(!n&&!o){var s=FS.lookupPath(t,{follow_mount:!1});if(t=s.path,a=s.node,FS.isMountpoint(a))throw new FS.ErrnoError(10);if(!FS.isDir(a.mode))throw new FS.ErrnoError(54)}var l={type:e,opts:r,mountpoint:t,mounts:[]},c=e.mount(l);return c.mount=l,l.root=c,n?FS.root=c:a&&(a.mounted=l,a.mount&&a.mount.mounts.push(l)),c},unmount(e){var r=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(r.node))throw new FS.ErrnoError(28);var t=r.node,n=t.mounted,o=FS.getMounts(n);Object.keys(FS.nameTable).forEach(s=>{for(var l=FS.nameTable[s];l;){var c=l.name_next;o.includes(l.mount)&&FS.destroyNode(l),l=c}}),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup(e,r){return e.node_ops.lookup(e,r)},mknod(e,r,t){var n=FS.lookupPath(e,{parent:!0}),o=n.node,a=PATH.basename(e);if(!a||a==="."||a==="..")throw new FS.ErrnoError(28);var s=FS.mayCreate(o,a);if(s)throw new FS.ErrnoError(s);if(!o.node_ops.mknod)throw new FS.ErrnoError(63);return o.node_ops.mknod(o,a,r,t)},statfs(e){var r={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255},t=FS.lookupPath(e,{follow:!0}).node;return t?.node_ops.statfs&&Object.assign(r,t.node_ops.statfs(t.mount.opts.root)),r},create(e,r=438){return r&=4095,r|=32768,FS.mknod(e,r,0)},mkdir(e,r=511){return r&=1023,r|=16384,FS.mknod(e,r,0)},mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{FS.mkdir(n,r)}catch(a){if(a.errno!=20)throw a}}},mkdev(e,r,t){return typeof t>"u"&&(t=r,r=438),r|=8192,FS.mknod(e,r,t)},symlink(e,r){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var t=FS.lookupPath(r,{parent:!0}),n=t.node;if(!n)throw new FS.ErrnoError(44);var o=PATH.basename(r),a=FS.mayCreate(n,o);if(a)throw new FS.ErrnoError(a);if(!n.node_ops.symlink)throw new FS.ErrnoError(63);return n.node_ops.symlink(n,o,e)},rename(e,r){var t=PATH.dirname(e),n=PATH.dirname(r),o=PATH.basename(e),a=PATH.basename(r),s,l,c;if(s=FS.lookupPath(e,{parent:!0}),l=s.node,s=FS.lookupPath(r,{parent:!0}),c=s.node,!l||!c)throw new FS.ErrnoError(44);if(l.mount!==c.mount)throw new FS.ErrnoError(75);var d=FS.lookupNode(l,o),u=PATH_FS.relative(e,n);if(u.charAt(0)!==".")throw new FS.ErrnoError(28);if(u=PATH_FS.relative(r,t),u.charAt(0)!==".")throw new FS.ErrnoError(55);var f;try{f=FS.lookupNode(c,a)}catch{}if(d!==f){var _=FS.isDir(d.mode),m=FS.mayDelete(l,o,_);if(m)throw new FS.ErrnoError(m);if(m=f?FS.mayDelete(c,a,_):FS.mayCreate(c,a),m)throw new FS.ErrnoError(m);if(!l.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(d)||f&&FS.isMountpoint(f))throw new FS.ErrnoError(10);if(c!==l&&(m=FS.nodePermissions(l,"w"),m))throw new FS.ErrnoError(m);FS.hashRemoveNode(d);try{l.node_ops.rename(d,c,a),d.parent=c}catch(g){throw g}finally{FS.hashAddNode(d)}}},rmdir(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node,n=PATH.basename(e),o=FS.lookupNode(t,n),a=FS.mayDelete(t,n,!0);if(a)throw new FS.ErrnoError(a);if(!t.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(o))throw new FS.ErrnoError(10);t.node_ops.rmdir(t,n),FS.destroyNode(o)},readdir(e){var r=FS.lookupPath(e,{follow:!0}),t=r.node;if(!t.node_ops.readdir)throw new FS.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node;if(!t)throw new FS.ErrnoError(44);var n=PATH.basename(e),o=FS.lookupNode(t,n),a=FS.mayDelete(t,n,!1);if(a)throw new FS.ErrnoError(a);if(!t.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(o))throw new FS.ErrnoError(10);t.node_ops.unlink(t,n),FS.destroyNode(o)},readlink(e){var r=FS.lookupPath(e),t=r.node;if(!t)throw new FS.ErrnoError(44);if(!t.node_ops.readlink)throw new FS.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,r){var t=FS.lookupPath(e,{follow:!r}),n=t.node;if(!n)throw new FS.ErrnoError(44);if(!n.node_ops.getattr)throw new FS.ErrnoError(63);return n.node_ops.getattr(n)},lstat(e){return FS.stat(e,!0)},chmod(e,r,t){var n;if(typeof e=="string"){var o=FS.lookupPath(e,{follow:!t});n=o.node}else n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{mode:r&4095|n.mode&-4096,ctime:Date.now()})},lchmod(e,r){FS.chmod(e,r,!0)},fchmod(e,r){var t=FS.getStreamChecked(e);FS.chmod(t.node,r)},chown(e,r,t,n){var o;if(typeof e=="string"){var a=FS.lookupPath(e,{follow:!n});o=a.node}else o=e;if(!o.node_ops.setattr)throw new FS.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){FS.chown(e,r,t,!0)},fchown(e,r,t){var n=FS.getStreamChecked(e);FS.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new FS.ErrnoError(28);var t;if(typeof e=="string"){var n=FS.lookupPath(e,{follow:!0});t=n.node}else t=e;if(!t.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(t.mode))throw new FS.ErrnoError(31);if(!FS.isFile(t.mode))throw new FS.ErrnoError(28);var o=FS.nodePermissions(t,"w");if(o)throw new FS.ErrnoError(o);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=FS.getStreamChecked(e);if(!(t.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(t.node,r)},utime(e,r,t){var n=FS.lookupPath(e,{follow:!0}),o=n.node;o.node_ops.setattr(o,{atime:r,mtime:t})},open(e,r,t=438){if(e==="")throw new FS.ErrnoError(44);r=typeof r=="string"?FS_modeStringToFlags(r):r,r&64?t=t&4095|32768:t=0;var n;if(typeof e=="object")n=e;else{var o=FS.lookupPath(e,{follow:!(r&131072),noent_okay:!0});n=o.node,e=o.path}var a=!1;if(r&64)if(n){if(r&128)throw new FS.ErrnoError(20)}else n=FS.mknod(e,t,0),a=!0;if(!n)throw new FS.ErrnoError(44);if(FS.isChrdev(n.mode)&&(r&=-513),r&65536&&!FS.isDir(n.mode))throw new FS.ErrnoError(54);if(!a){var s=FS.mayOpen(n,r);if(s)throw new FS.ErrnoError(s)}r&512&&!a&&FS.truncate(n,0),r&=-131713;var l=FS.createStream({node:n,path:FS.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),Module.logReadFiles&&!(r&1)&&(e in FS.readFiles||(FS.readFiles[e]=1)),l},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{FS.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(t!=0&&t!=1&&t!=2)throw new FS.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 FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if((e.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var a=typeof o<"u";if(!a)o=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);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 FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&e.flags&1024&&FS.llseek(e,0,2);var s=typeof o<"u";if(!s)o=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var l=e.stream_ops.write(e,r,t,n,o,a);return s||(e.position+=l),l},allocate(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(r<0||t<=0)throw new FS.ErrnoError(28);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(n&2&&!(o&2)&&(e.flags&2097155)!==2)throw new FS.ErrnoError(2);if((e.flags&2097155)===1)throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);if(!r)throw new FS.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,o)},msync(e,r,t,n,o){return 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 FS.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=FS.open(e,r.flags),o=FS.stat(e),a=o.size,s=new Uint8Array(a);return FS.read(n,s,0,a,0),r.encoding==="utf8"?t=UTF8ArrayToString(s):r.encoding==="binary"&&(t=s),FS.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=FS.open(e,t.flags,t.mode);if(typeof r=="string"){var o=new Uint8Array(lengthBytesUTF8(r)+1),a=stringToUTF8Array(r,o,0,o.length);FS.write(n,o,0,a,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))FS.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw new Error("Unsupported data type");FS.close(n)},cwd:()=>FS.currentPath,chdir(e){var r=FS.lookupPath(e,{follow:!0});if(r.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(r.node.mode))throw new FS.ErrnoError(54);var t=FS.nodePermissions(r.node,"x");if(t)throw new FS.ErrnoError(t);FS.currentPath=r.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(n,o,a,s,l)=>s,llseek:()=>0}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(r===0&&(r=randomFill(e).byteLength),e[--r]);FS.createDevice("/dev","random",t),FS.createDevice("/dev","urandom",t),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var r=FS.createNode(e,"fd",16895,73);return r.stream_ops={llseek:MEMFS.stream_ops.llseek},r.node_ops={lookup(t,n){var o=+n,a=FS.getStreamChecked(o),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>a.path},id:o+1};return s.parent=s,s},readdir(){return Array.from(FS.streams.entries()).filter(([t,n])=>n).map(([t,n])=>t.toString())}},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?FS.createDevice("/dev","stdin",e):FS.symlink("/dev/tty","/dev/stdin"),r?FS.createDevice("/dev","stdout",null,r):FS.symlink("/dev/tty","/dev/stdout"),t?FS.createDevice("/dev","stderr",null,t):FS.symlink("/dev/tty1","/dev/stderr");var n=FS.open("/dev/stdin",0),o=FS.open("/dev/stdout",1),a=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS,PROXYFS}},init(e,r,t){FS.initialized=!0,e??(e=Module.stdin),r??(r=Module.stdout),t??(t=Module.stderr),FS.createStandardStreams(e,r,t)},quit(){FS.initialized=!1,_fflush(0);for(var e=0;e<FS.streams.length;e++){var r=FS.streams[e];r&&FS.close(r)}},findObject(e,r){var t=FS.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{var t=FS.lookupPath(e,{follow:!r});e=t.path}catch{}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=FS.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=PATH.basename(e),t=FS.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot=t.path==="/"}catch(o){n.error=o.errno}return n},createPath(e,r,t,n){e=typeof e=="string"?e:FS.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var s=PATH.join2(e,a);try{FS.mkdir(s)}catch{}e=s}}return s},createFile(e,r,t,n,o){var a=PATH.join2(typeof e=="string"?e:FS.getPath(e),r),s=FS_getMode(n,o);return FS.create(a,s)},createDataFile(e,r,t,n,o,a){var s=r;e&&(e=typeof e=="string"?e:FS.getPath(e),s=r?PATH.join2(e,r):e);var l=FS_getMode(n,o),c=FS.create(s,l);if(t){if(typeof t=="string"){for(var d=new Array(t.length),u=0,f=t.length;u<f;++u)d[u]=t.charCodeAt(u);t=d}FS.chmod(c,l|146);var _=FS.open(c,577);FS.write(_,t,0,t.length,0,a),FS.close(_),FS.chmod(c,l)}},createDevice(e,r,t,n){var l;var o=PATH.join2(typeof e=="string"?e:FS.getPath(e),r),a=FS_getMode(!!t,!!n);(l=FS.createDevice).major??(l.major=64);var s=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(s,{open(c){c.seekable=!1},close(c){n?.buffer?.length&&n(10)},read(c,d,u,f,_){for(var m=0,g=0;g<f;g++){var y;try{y=t()}catch{throw new FS.ErrnoError(29)}if(y===void 0&&m===0)throw new FS.ErrnoError(6);if(y==null)break;m++,d[u+g]=y}return m&&(c.node.atime=Date.now()),m},write(c,d,u,f,_){for(var m=0;m<f;m++)try{n(d[u+m])}catch{throw new FS.ErrnoError(29)}return f&&(c.node.mtime=c.node.ctime=Date.now()),m}}),FS.mkdev(o,a,s)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")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=readBinary(e.url),e.usedBytes=e.contents.length}catch{throw new FS.ErrnoError(29)}},createLazyFile(e,r,t,n,o){class a{constructor(){U(this,"lengthKnown",!1);U(this,"chunks",[])}get(m){if(!(m>this.length-1||m<0)){var g=m%this.chunkSize,y=m/this.chunkSize|0;return this.getter(y)[g]}}setDataGetter(m){this.getter=m}cacheLength(){var m=new XMLHttpRequest;if(m.open("HEAD",t,!1),m.send(null),!(m.status>=200&&m.status<300||m.status===304))throw new Error("Couldn't load "+t+". Status: "+m.status);var g=Number(m.getResponseHeader("Content-length")),y,w=(y=m.getResponseHeader("Accept-Ranges"))&&y==="bytes",T=(y=m.getResponseHeader("Content-Encoding"))&&y==="gzip",P=1024*1024;w||(P=g);var O=(R,W)=>{if(R>W)throw new Error("invalid range ("+R+", "+W+") or no bytes requested!");if(W>g-1)throw new Error("only "+g+" bytes available! programmer error!");var v=new XMLHttpRequest;if(v.open("GET",t,!1),g!==P&&v.setRequestHeader("Range","bytes="+R+"-"+W),v.responseType="arraybuffer",v.overrideMimeType&&v.overrideMimeType("text/plain; charset=x-user-defined"),v.send(null),!(v.status>=200&&v.status<300||v.status===304))throw new Error("Couldn't load "+t+". Status: "+v.status);return v.response!==void 0?new Uint8Array(v.response||[]):intArrayFromString(v.responseText||"",!0)},b=this;b.setDataGetter(R=>{var W=R*P,v=(R+1)*P-1;if(v=Math.min(v,g-1),typeof b.chunks[R]>"u"&&(b.chunks[R]=O(W,v)),typeof b.chunks[R]>"u")throw new Error("doXHR failed!");return b.chunks[R]}),(T||!g)&&(P=g=1,g=this.getter(0).length,P=g,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=g,this._chunkSize=P,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a,l={isDevice:!1,contents:s}}else var l={isDevice:!1,url:t};var c=FS.createFile(e,r,l,n,o);l.contents?c.contents=l.contents:l.url&&(c.contents=null,c.url=l.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var d={},u=Object.keys(c.stream_ops);u.forEach(_=>{var m=c.stream_ops[_];d[_]=(...g)=>(FS.forceLoadFile(c),m(...g))});function f(_,m,g,y,w){var T=_.node.contents;if(w>=T.length)return 0;var P=Math.min(T.length-w,y);if(T.slice)for(var O=0;O<P;O++)m[g+O]=T[w+O];else for(var O=0;O<P;O++)m[g+O]=T.get(w+O);return P}return d.read=(_,m,g,y,w)=>(FS.forceLoadFile(c),f(_,m,g,y,w)),d.mmap=(_,m,g,y,w)=>{FS.forceLoadFile(c);var T=mmapAlloc(m);if(!T)throw new FS.ErrnoError(48);return f(_,HEAP8,T,m,g),{ptr:T,allocated:!0}},c.stream_ops=d,c}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(PATH.isAbs(r))return r;var n;if(e===-100)n=FS.cwd();else{var o=SYSCALLS.getStreamFromFD(e);n=o.path}if(r.length==0){if(!t)throw new FS.ErrnoError(44);return n}return n+"/"+r},doStat(e,r,t){var n=e(r);HEAP32[t>>2]=n.dev,HEAP32[t+4>>2]=n.mode,HEAPU32[t+8>>2]=n.nlink,HEAP32[t+12>>2]=n.uid,HEAP32[t+16>>2]=n.gid,HEAP32[t+20>>2]=n.rdev,HEAP64[t+24>>3]=BigInt(n.size),HEAP32[t+32>>2]=4096,HEAP32[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),s=n.ctime.getTime();return HEAP64[t+40>>3]=BigInt(Math.floor(o/1e3)),HEAPU32[t+48>>2]=o%1e3*1e3*1e3,HEAP64[t+56>>3]=BigInt(Math.floor(a/1e3)),HEAPU32[t+64>>2]=a%1e3*1e3*1e3,HEAP64[t+72>>3]=BigInt(Math.floor(s/1e3)),HEAPU32[t+80>>2]=s%1e3*1e3*1e3,HEAP64[t+88>>3]=BigInt(n.ino),0},doMsync(e,r,t,n,o){if(!FS.isFile(r.node.mode))throw new FS.ErrnoError(43);if(n&2)return 0;var a=HEAPU8.slice(e,e+t);FS.msync(r,a,o,t,n)},getStreamFromFD(e){var r=FS.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=UTF8ToString(e);return r}};function ___syscall_chmod(e,r){try{return e=SYSCALLS.getStr(e),FS.chmod(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_chmod.sig="ipi";function ___syscall_dup3(e,r,t){try{var n=SYSCALLS.getStreamFromFD(e);if(n.fd===r)return-28;if(r<0||r>=FS.MAX_OPEN_FDS)return-8;var o=FS.getStream(r);return o&&FS.close(o),FS.dupStream(n,r).fd}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(e,r,t,n){try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t&-8)return-28;var o=FS.lookupPath(r,{follow:!0}),a=o.node;if(!a)return-44;var s="";return t&4&&(s+="r"),t&2&&(s+="w"),t&1&&(s+="x"),s&&FS.nodePermissions(a,s)?-2:0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(e,r,t,n)=>0;___syscall_fadvise64.sig="iijji";var syscallGetVarargI=()=>{var e=HEAP32[+SYSCALLS.varargs>>2];return SYSCALLS.varargs+=4,e},syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(e,r,t){SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 0:{var o=syscallGetVarargI();if(o<0)return-28;for(;FS.streams[o];)o++;var a;return a=FS.dupStream(n,o),a.fd}case 1:case 2:return 0;case 3:return n.flags;case 4:{var o=syscallGetVarargI();return n.flags|=o,0}case 12:{var o=syscallGetVarargP(),s=0;return HEAP16[o+s>>1]=2,0}case 13:case 14:return 0}return-28}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fstat64(e,r){try{var t=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,t.path,r)}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fstat64.sig="iip";var stringToUTF8=(e,r,t)=>stringToUTF8Array(e,HEAPU8,r,t);function ___syscall_getcwd(e,r){try{if(r===0)return-28;var t=FS.cwd(),n=lengthBytesUTF8(t)+1;return r<n?-68:(stringToUTF8(t,e,r),n)}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(e,r,t){try{var n=SYSCALLS.getStreamFromFD(e);n.getdents||(n.getdents=FS.readdir(n.path));for(var o=280,a=0,s=FS.llseek(n,0,1),l=Math.floor(s/o),c=Math.min(n.getdents.length,l+Math.floor(t/o)),d=l;d<c;d++){var u,f,_=n.getdents[d];if(_===".")u=n.node.id,f=4;else if(_===".."){var m=FS.lookupPath(n.path,{parent:!0});u=m.node.id,f=4}else{var g;try{g=FS.lookupNode(n.node,_)}catch(y){if(y?.errno===28)continue;throw y}u=g.id,f=FS.isChrdev(g.mode)?2:FS.isDir(g.mode)?4:FS.isLink(g.mode)?10:8}HEAP64[r+a>>3]=BigInt(u),HEAP64[r+a+8>>3]=BigInt((d+1)*o),HEAP16[r+a+16>>1]=280,HEAP8[r+a+18]=f,stringToUTF8(_,r+a+19,256),a+=o}return FS.llseek(n,d*o,0),a}catch(y){if(typeof FS>"u"||y.name!=="ErrnoError")throw y;return-y.errno}}___syscall_getdents64.sig="iipp";function ___syscall_ioctl(e,r,t){SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 21509: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=syscallGetVarargP();HEAP32[a>>2]=o.c_iflag||0,HEAP32[a+4>>2]=o.c_oflag||0,HEAP32[a+8>>2]=o.c_cflag||0,HEAP32[a+12>>2]=o.c_lflag||0;for(var s=0;s<32;s++)HEAP8[a+s+17]=o.c_cc[s]||0;return 0}return 0}case 21510:case 21511:case 21512:return n.tty?0:-59;case 21506:case 21507:case 21508:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){for(var a=syscallGetVarargP(),l=HEAP32[a>>2],c=HEAP32[a+4>>2],d=HEAP32[a+8>>2],u=HEAP32[a+12>>2],f=[],s=0;s<32;s++)f.push(HEAP8[a+s+17]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:l,c_oflag:c,c_cflag:d,c_lflag:u,c_cc:f})}return 0}case 21519:{if(!n.tty)return-59;var a=syscallGetVarargP();return HEAP32[a>>2]=0,0}case 21520:return n.tty?-28:-59;case 21531:{var a=syscallGetVarargP();return FS.ioctl(n,r,a)}case 21523:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var _=n.tty.ops.ioctl_tiocgwinsz(n.tty),a=syscallGetVarargP();HEAP16[a>>1]=_[0],HEAP16[a+2>>1]=_[1]}return 0}case 21524:return n.tty?0:-59;case 21515:return n.tty?0:-59;default:return-28}}catch(m){if(typeof FS>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}___syscall_ioctl.sig="iiip";function ___syscall_lstat64(e,r){try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.lstat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(e,r,t){try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),FS.mkdir(r,t,0),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_newfstatat(e,r,t,n){try{r=SYSCALLS.getStr(r);var o=n&256,a=n&4096;return n=n&-6401,r=SYSCALLS.calculateAt(e,r,a),SYSCALLS.doStat(o?FS.lstat:FS.stat,r,t)}catch(s){if(typeof FS>"u"||s.name!=="ErrnoError")throw s;return-s.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(e,r,t,n){SYSCALLS.varargs=n;try{r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r);var o=n?syscallGetVarargI():0;return FS.open(r,t,o).fd}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_openat.sig="iipip";function ___syscall_readlinkat(e,r,t,n){try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),n<=0)return-28;var o=FS.readlink(r),a=Math.min(n,lengthBytesUTF8(o)),s=HEAP8[t+a];return stringToUTF8(o,t,n+1),HEAP8[t+a]=s,a}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_rmdir(e){try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_rmdir.sig="ip";function ___syscall_stat64(e,r){try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_stat64.sig="ipp";function ___syscall_symlinkat(e,r,t){try{return e=SYSCALLS.getStr(e),t=SYSCALLS.getStr(t),t=SYSCALLS.calculateAt(r,t),FS.symlink(e,t),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_unlinkat(e,r,t){try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t===0?FS.unlink(r):t===512?FS.rmdir(r):abort("Invalid flags passed to unlinkat"),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_unlinkat.sig="iipi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=()=>abort("");__abort_js.sig="v";var runtimeKeepaliveCounter=0,__emscripten_runtime_keepalive_clear=()=>{noExitRuntime=!1,runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";var __emscripten_throw_longjmp=()=>{throw 1/0};__emscripten_throw_longjmp.sig="v";var isLeapYear=e=>e%4===0&&(e%100!==0||e%400===0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>{var r=isLeapYear(e.getFullYear()),t=r?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE,n=t[e.getMonth()]+e.getDate()-1;return n},INT53_MAX=9007199254740992,INT53_MIN=-9007199254740992,bigintToI53Checked=e=>e<INT53_MIN||e>INT53_MAX?NaN:Number(e);function __localtime_js(e,r){e=bigintToI53Checked(e);var t=new Date(e*1e3);HEAP32[r>>2]=t.getSeconds(),HEAP32[r+4>>2]=t.getMinutes(),HEAP32[r+8>>2]=t.getHours(),HEAP32[r+12>>2]=t.getDate(),HEAP32[r+16>>2]=t.getMonth(),HEAP32[r+20>>2]=t.getFullYear()-1900,HEAP32[r+24>>2]=t.getDay();var n=ydayFromDate(t)|0;HEAP32[r+28>>2]=n,HEAP32[r+36>>2]=-(t.getTimezoneOffset()*60);var o=new Date(t.getFullYear(),0,1),a=new Date(t.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),l=(a!=s&&t.getTimezoneOffset()==Math.min(s,a))|0;HEAP32[r+32>>2]=l}__localtime_js.sig="vjp";var __mktime_js=function(e){var r=(()=>{var t=new Date(HEAP32[e+20>>2]+1900,HEAP32[e+16>>2],HEAP32[e+12>>2],HEAP32[e+8>>2],HEAP32[e+4>>2],HEAP32[e>>2],0),n=HEAP32[e+32>>2],o=t.getTimezoneOffset(),a=new Date(t.getFullYear(),0,1),s=new Date(t.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),c=Math.min(l,s);if(n<0)HEAP32[e+32>>2]=+(s!=l&&c==o);else if(n>0!=(c==o)){var d=Math.max(l,s),u=n>0?c:d;t.setTime(t.getTime()+(u-o)*6e4)}HEAP32[e+24>>2]=t.getDay();var f=ydayFromDate(t)|0;HEAP32[e+28>>2]=f,HEAP32[e>>2]=t.getSeconds(),HEAP32[e+4>>2]=t.getMinutes(),HEAP32[e+8>>2]=t.getHours(),HEAP32[e+12>>2]=t.getDate(),HEAP32[e+16>>2]=t.getMonth(),HEAP32[e+20>>2]=t.getYear();var _=t.getTime();return isNaN(_)?-1:_/1e3})();return BigInt(r)};__mktime_js.sig="jp";var timers={},handleException=e=>{if(e instanceof ExitStatus||e=="unwind")return EXITSTATUS;quit_(1,e)},keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0,_proc_exit=e=>{EXITSTATUS=e,keepRuntimeAlive()||(Module.onExit?.(e),ABORT=!0),quit_(e,new ExitStatus(e))};_proc_exit.sig="vi";var exitJS=(e,r)=>{EXITSTATUS=e,keepRuntimeAlive()||exitRuntime(),_proc_exit(e)},_exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!runtimeExited&&!keepRuntimeAlive())try{_exit(EXITSTATUS)}catch(e){handleException(e)}},callUserCallback=e=>{if(!(runtimeExited||ABORT))try{e(),maybeExit()}catch(r){handleException(r)}},_emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(e,r)=>{if(timers[e]&&(clearTimeout(timers[e].id),delete timers[e]),!r)return 0;var t=setTimeout(()=>{delete timers[e],callUserCallback(()=>__emscripten_timeout(e,_emscripten_get_now()))},r);return timers[e]={id:t,timeout_ms:r},0};__setitimer_js.sig="iid";var __tzset_js=(e,r,t,n)=>{var o=new Date().getFullYear(),a=new Date(o,0,1),s=new Date(o,6,1),l=a.getTimezoneOffset(),c=s.getTimezoneOffset(),d=Math.max(l,c);HEAPU32[e>>2]=d*60,HEAP32[r>>2]=+(l!=c);var u=m=>{var g=m>=0?"-":"+",y=Math.abs(m),w=String(Math.floor(y/60)).padStart(2,"0"),T=String(y%60).padStart(2,"0");return`UTC${g}${w}${T}`},f=u(l),_=u(c);c<l?(stringToUTF8(f,t,17),stringToUTF8(_,n,17)):(stringToUTF8(f,n,17),stringToUTF8(_,t,17))};__tzset_js.sig="vpppp";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";var getHeapMax=()=>2147483648,growMemory=e=>{var r=wasmMemory.buffer,t=(e-r.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch{}},_emscripten_resize_heap=e=>{var r=HEAPU8.length;e>>>=0;var t=getHeapMax();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,alignMemory(Math.max(e,o),65536)),s=growMemory(a);if(s)return!0}return!1};_emscripten_resize_heap.sig="ip";var ENV={},getExecutableName=()=>thisProgram||"./this.program",getEnvStrings=()=>{if(!getEnvStrings.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:getExecutableName()};for(var t in ENV)ENV[t]===void 0?delete r[t]:r[t]=ENV[t];var n=[];for(var t in r)n.push(`${t}=${r[t]}`);getEnvStrings.strings=n}return getEnvStrings.strings},stringToAscii=(e,r)=>{for(var t=0;t<e.length;++t)HEAP8[r++]=e.charCodeAt(t);HEAP8[r]=0},_environ_get=(e,r)=>{var t=0;return getEnvStrings().forEach((n,o)=>{var a=r+t;HEAPU32[e+o*4>>2]=a,stringToAscii(n,a),t+=n.length+1}),0};_environ_get.sig="ipp";var _environ_sizes_get=(e,r)=>{var t=getEnvStrings();HEAPU32[e>>2]=t.length;var n=0;return t.forEach(o=>n+=o.length+1),HEAPU32[r>>2]=n,0};_environ_sizes_get.sig="ipp";function _fd_close(e){try{var r=SYSCALLS.getStreamFromFD(e);return FS.close(r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_fd_close.sig="ii";function _fd_fdstat_get(e,r){try{var t=0,n=0,o=0,a=SYSCALLS.getStreamFromFD(e),s=a.tty?2:FS.isDir(a.mode)?3:FS.isLink(a.mode)?7:4;return HEAP8[r]=s,HEAP16[r+2>>1]=o,HEAP64[r+8>>3]=BigInt(t),HEAP64[r+16>>3]=BigInt(n),0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_fdstat_get.sig="iip";var doReadv=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=HEAPU32[r>>2],l=HEAPU32[r+4>>2];r+=8;var c=FS.read(e,HEAP8,s,l,n);if(c<0)return-1;if(o+=c,c<l)break;typeof n<"u"&&(n+=c)}return o};function _fd_read(e,r,t,n){try{var o=SYSCALLS.getStreamFromFD(e),a=doReadv(o,r,t);return HEAPU32[n>>2]=a,0}catch(s){if(typeof FS>"u"||s.name!=="ErrnoError")throw s;return s.errno}}_fd_read.sig="iippp";function _fd_seek(e,r,t,n){r=bigintToI53Checked(r);try{if(isNaN(r))return 61;var o=SYSCALLS.getStreamFromFD(e);return FS.llseek(o,r,t),HEAP64[n>>3]=BigInt(o.position),o.getdents&&r===0&&t===0&&(o.getdents=null),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return a.errno}}_fd_seek.sig="iijip";function _fd_sync(e){try{var r=SYSCALLS.getStreamFromFD(e);return r.stream_ops?.fsync?r.stream_ops.fsync(r):0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_fd_sync.sig="ii";var doWritev=(e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var s=HEAPU32[r>>2],l=HEAPU32[r+4>>2];r+=8;var c=FS.write(e,HEAP8,s,l,n);if(c<0)return-1;if(o+=c,c<l)break;typeof n<"u"&&(n+=c)}return o};function _fd_write(e,r,t,n){try{var o=SYSCALLS.getStreamFromFD(e),a=doWritev(o,r,t);return HEAPU32[n>>2]=a,0}catch(s){if(typeof FS>"u"||s.name!=="ErrnoError")throw s;return s.errno}}_fd_write.sig="iippp";var inetPton4=e=>{for(var r=e.split("."),t=0;t<4;t++){var n=Number(r[t]);if(isNaN(n))return null;r[t]=n}return(r[0]|r[1]<<8|r[2]<<16|r[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var r,t,n,o,a=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i,s=[];if(!a.test(e))return null;if(e==="::")return[0,0,0,0,0,0,0,0];for(e.startsWith("::")?e=e.replace("::","Z:"):e=e.replace("::",":Z:"),e.indexOf(".")>0?(e=e.replace(new RegExp("[.]","g"),":"),r=e.split(":"),r[r.length-4]=jstoi_q(r[r.length-4])+jstoi_q(r[r.length-3])*256,r[r.length-3]=jstoi_q(r[r.length-2])+jstoi_q(r[r.length-1])*256,r=r.slice(0,r.length-2)):r=e.split(":"),n=0,o=0,t=0;t<r.length;t++)if(typeof r[t]=="string")if(r[t]==="Z"){for(o=0;o<8-r.length+1;o++)s[t+o]=0;n=o-1}else s[t+n]=_htons(parseInt(r[t],16));else s[t+n]=r[t];return[s[1]<<16|s[0],s[3]<<16|s[2],s[5]<<16|s[4],s[7]<<16|s[6]]},DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(e){var r=inetPton4(e);if(r!==null||(r=inetPton6(e),r!==null))return e;var t;if(DNS.address_map.addrs[e])t=DNS.address_map.addrs[e];else{var n=DNS.address_map.id++;assert(n<65535,"exceeded max address mappings of 65535"),t="172.29."+(n&255)+"."+(n&65280),DNS.address_map.names[t]=e,DNS.address_map.addrs[e]=t}return t},lookup_addr(e){return DNS.address_map.names[e]?DNS.address_map.names[e]:null}},inetNtop4=e=>(e&255)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var r="",t=0,n=0,o=0,a=0,s=0,l=0,c=[e[0]&65535,e[0]>>16,e[1]&65535,e[1]>>16,e[2]&65535,e[2]>>16,e[3]&65535,e[3]>>16],d=!0,u="";for(l=0;l<5;l++)if(c[l]!==0){d=!1;break}if(d){if(u=inetNtop4(c[6]|c[7]<<16),c[5]===-1)return r="::ffff:",r+=u,r;if(c[5]===0)return r="::",u==="0.0.0.0"&&(u=""),u==="0.0.0.1"&&(u="1"),r+=u,r}for(t=0;t<8;t++)c[t]===0&&(t-o>1&&(s=0),o=t,s++),s>n&&(n=s,a=t-n+1);for(t=0;t<8;t++){if(n>1&&c[t]===0&&t>=a&&t<a+n){t===a&&(r+=":",a===0&&(r+=":"));continue}r+=Number(_ntohs(c[t]&65535)).toString(16),r+=t<7?":":""}return r},writeSockaddr=(e,r,t,n,o)=>{switch(r){case 2:t=inetPton4(t),zeroMemory(e,16),o&&(HEAP32[o>>2]=16),HEAP16[e>>1]=r,HEAP32[e+4>>2]=t,HEAP16[e+2>>1]=_htons(n);break;case 10:t=inetPton6(t),zeroMemory(e,28),o&&(HEAP32[o>>2]=28),HEAP32[e>>2]=r,HEAP32[e+8>>2]=t[0],HEAP32[e+12>>2]=t[1],HEAP32[e+16>>2]=t[2],HEAP32[e+20>>2]=t[3],HEAP16[e+2>>1]=_htons(n);break;default:return 5}return 0},_getaddrinfo=(e,r,t,n)=>{var o=0,a=0,s=0,l=0,c=0,d=0,u;function f(_,m,g,y,w,T){var P,O,b,R;return O=_===10?28:16,w=_===10?inetNtop6(w):inetNtop4(w),P=_malloc(O),R=writeSockaddr(P,_,w,T),assert(!R),b=_malloc(32),HEAP32[b+4>>2]=_,HEAP32[b+8>>2]=m,HEAP32[b+12>>2]=g,HEAPU32[b+24>>2]=y,HEAPU32[b+20>>2]=P,_===10?HEAP32[b+16>>2]=28:HEAP32[b+16>>2]=16,HEAP32[b+28>>2]=0,b}if(t&&(s=HEAP32[t>>2],l=HEAP32[t+4>>2],c=HEAP32[t+8>>2],d=HEAP32[t+12>>2]),c&&!d&&(d=c===2?17:6),!c&&d&&(c=d===17?2:1),d===0&&(d=6),c===0&&(c=1),!e&&!r)return-2;if(s&-1088||t!==0&&HEAP32[t>>2]&2&&!e)return-1;if(s&32)return-2;if(c!==0&&c!==1&&c!==2)return-7;if(l!==0&&l!==2&&l!==10)return-6;if(r&&(r=UTF8ToString(r),a=parseInt(r,10),isNaN(a)))return s&1024?-2:-8;if(!e)return l===0&&(l=2),s&1||(l===2?o=_htonl(2130706433):o=[0,0,0,_htonl(1)]),u=f(l,c,d,null,o,a),HEAPU32[n>>2]=u,0;if(e=UTF8ToString(e),o=inetPton4(e),o!==null)if(l===0||l===2)l=2;else if(l===10&&s&8)o=[0,0,_htonl(65535),o],l=10;else return-2;else if(o=inetPton6(e),o!==null)if(l===0||l===10)l=10;else return-2;return o!=null?(u=f(l,c,d,e,o,a),HEAPU32[n>>2]=u,0):s&4?-2:(e=DNS.lookup_name(e),o=inetPton4(e),l===0?l=2:l===10&&(o=[0,0,_htonl(65535),o]),u=f(l,c,d,null,o,a),HEAPU32[n>>2]=u,0)};_getaddrinfo.sig="ipppp";var stackAlloc=e=>__emscripten_stack_alloc(e),stringToUTF8OnStack=e=>{var r=lengthBytesUTF8(e)+1,t=stackAlloc(r);return stringToUTF8(e,t,r),t},removeFunction=e=>{functionsInTableMap.delete(getWasmTableEntry(e)),setWasmTableEntry(e,null),freeTableIndexes.push(e)},stringToNewUTF8=e=>{var r=lengthBytesUTF8(e)+1,t=_malloc(r);return t&&stringToUTF8(e,t,r),t},FS_createPath=FS.createPath,FS_unlink=e=>FS.unlink(e),FS_createLazyFile=FS.createLazyFile,FS_createDevice=FS.createDevice;registerWasmPlugin(),FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit(),Module.FS_createPath=FS.createPath,Module.FS_createDataFile=FS.createDataFile,Module.FS_createPreloadedFile=FS.createPreloadedFile,Module.FS_unlink=FS.unlink,Module.FS_createLazyFile=FS.createLazyFile,Module.FS_createDevice=FS.createDevice,MEMFS.doesNotExistError=new FS.ErrnoError(44),MEMFS.doesNotExistError.stack="<generic error, no stack>";var wasmImports={__call_sighandler:___call_sighandler,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_pointer:___stack_pointer,__syscall_chmod:___syscall_chmod,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_readlinkat:___syscall_readlinkat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_symlinkat:___syscall_symlinkat,__syscall_unlinkat:___syscall_unlinkat,__table_base:___table_base,_abort_js:__abort_js,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_setitimer_js:__setitimer_js,_tzset_js:__tzset_js,emscripten_date_now:_emscripten_date_now,emscripten_get_now:_emscripten_get_now,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,getaddrinfo:_getaddrinfo,invoke_ii,invoke_iiii,invoke_vii,memory:wasmMemory,proc_exit:_proc_exit},wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports.__wasm_call_ctors)(),_pgl_exit=Module._pgl_exit=e=>(_pgl_exit=Module._pgl_exit=wasmExports.pgl_exit)(e),___errno_location=Module.___errno_location=()=>(___errno_location=Module.___errno_location=wasmExports.__errno_location)(),_fflush=Module._fflush=e=>(_fflush=Module._fflush=wasmExports.fflush)(e),_fopen=Module._fopen=(e,r)=>(_fopen=Module._fopen=wasmExports.fopen)(e,r),_fclose=Module._fclose=e=>(_fclose=Module._fclose=wasmExports.fclose)(e),_pgl_popen=Module._pgl_popen=(e,r)=>(_pgl_popen=Module._pgl_popen=wasmExports.pgl_popen)(e,r),_fputs=Module._fputs=(e,r)=>(_fputs=Module._fputs=wasmExports.fputs)(e,r),_main=Module._main=(e,r)=>(_main=Module._main=wasmExports.__main_argc_argv)(e,r),_pgl_atexit=Module._pgl_atexit=e=>(_pgl_atexit=Module._pgl_atexit=wasmExports.pgl_atexit)(e),_pgl_geteuid=Module._pgl_geteuid=()=>(_pgl_geteuid=Module._pgl_geteuid=wasmExports.pgl_geteuid)(),_pgl_system=Module._pgl_system=e=>(_pgl_system=Module._pgl_system=wasmExports.pgl_system)(e),_malloc=e=>(_malloc=wasmExports.malloc)(e),_calloc=(e,r)=>(_calloc=wasmExports.calloc)(e,r),_pgl_setsockopt=Module._pgl_setsockopt=(e,r,t,n,o)=>(_pgl_setsockopt=Module._pgl_setsockopt=wasmExports.pgl_setsockopt)(e,r,t,n,o),_pgl_connect=Module._pgl_connect=(e,r,t)=>(_pgl_connect=Module._pgl_connect=wasmExports.pgl_connect)(e,r,t),_pgl_send=Module._pgl_send=(e,r,t,n)=>(_pgl_send=Module._pgl_send=wasmExports.pgl_send)(e,r,t,n),_pgl_recv=Module._pgl_recv=(e,r,t,n)=>(_pgl_recv=Module._pgl_recv=wasmExports.pgl_recv)(e,r,t,n),_fgets=Module._fgets=(e,r,t)=>(_fgets=Module._fgets=wasmExports.fgets)(e,r,t),_pgl_getsockopt=Module._pgl_getsockopt=(e,r,t,n,o)=>(_pgl_getsockopt=Module._pgl_getsockopt=wasmExports.pgl_getsockopt)(e,r,t,n,o),_pgl_getsockname=Module._pgl_getsockname=(e,r,t)=>(_pgl_getsockname=Module._pgl_getsockname=wasmExports.pgl_getsockname)(e,r,t),_pgl_poll=Module._pgl_poll=(e,r,t)=>(_pgl_poll=Module._pgl_poll=wasmExports.pgl_poll)(e,r,t),_clear_setitimer=Module._clear_setitimer=()=>(_clear_setitimer=Module._clear_setitimer=wasmExports.clear_setitimer)(),_pgl_longjmp=Module._pgl_longjmp=(e,r)=>(_pgl_longjmp=Module._pgl_longjmp=wasmExports.pgl_longjmp)(e,r),_pgl_siglongjmp=Module._pgl_siglongjmp=(e,r)=>(_pgl_siglongjmp=Module._pgl_siglongjmp=wasmExports.pgl_siglongjmp)(e,r),_pgl_set_system_fn=Module._pgl_set_system_fn=e=>(_pgl_set_system_fn=Module._pgl_set_system_fn=wasmExports.pgl_set_system_fn)(e),_pgl_set_popen_fn=Module._pgl_set_popen_fn=e=>(_pgl_set_popen_fn=Module._pgl_set_popen_fn=wasmExports.pgl_set_popen_fn)(e),_pgl_set_pclose_fn=Module._pgl_set_pclose_fn=e=>(_pgl_set_pclose_fn=Module._pgl_set_pclose_fn=wasmExports.pgl_set_pclose_fn)(e),_pgl_pclose=Module._pgl_pclose=e=>(_pgl_pclose=Module._pgl_pclose=wasmExports.pgl_pclose)(e),_pclose=Module._pclose=e=>(_pclose=Module._pclose=wasmExports.pclose)(e),_pgl_getuid=Module._pgl_getuid=()=>(_pgl_getuid=Module._pgl_getuid=wasmExports.pgl_getuid)(),_pgl_getpwuid=Module._pgl_getpwuid=e=>(_pgl_getpwuid=Module._pgl_getpwuid=wasmExports.pgl_getpwuid)(e),_pgl_run_atexit_funcs=Module._pgl_run_atexit_funcs=()=>(_pgl_run_atexit_funcs=Module._pgl_run_atexit_funcs=wasmExports.pgl_run_atexit_funcs)(),_pgl_freopen=Module._pgl_freopen=(e,r,t)=>(_pgl_freopen=Module._pgl_freopen=wasmExports.pgl_freopen)(e,r,t),_pgl_shmget=Module._pgl_shmget=(e,r,t)=>(_pgl_shmget=Module._pgl_shmget=wasmExports.pgl_shmget)(e,r,t),_pgl_shmat=Module._pgl_shmat=(e,r,t)=>(_pgl_shmat=Module._pgl_shmat=wasmExports.pgl_shmat)(e,r,t),_pgl_shmdt=Module._pgl_shmdt=e=>(_pgl_shmdt=Module._pgl_shmdt=wasmExports.pgl_shmdt)(e),_pgl_shmctl=Module._pgl_shmctl=(e,r,t)=>(_pgl_shmctl=Module._pgl_shmctl=wasmExports.pgl_shmctl)(e,r,t),_pgl_munmap=Module._pgl_munmap=(e,r)=>(_pgl_munmap=Module._pgl_munmap=wasmExports.pgl_munmap)(e,r),_pgl_set_rw_cbs=Module._pgl_set_rw_cbs=(e,r)=>(_pgl_set_rw_cbs=Module._pgl_set_rw_cbs=wasmExports.pgl_set_rw_cbs)(e,r),_pgl_fcntl=Module._pgl_fcntl=(e,r,t)=>(_pgl_fcntl=Module._pgl_fcntl=wasmExports.pgl_fcntl)(e,r,t),_strerror=Module._strerror=e=>(_strerror=Module._strerror=wasmExports.strerror)(e),___funcs_on_exit=()=>(___funcs_on_exit=wasmExports.__funcs_on_exit)(),_htonl=e=>(_htonl=wasmExports.htonl)(e),_htons=e=>(_htons=wasmExports.htons)(e),_ntohs=e=>(_ntohs=wasmExports.ntohs)(e),__emscripten_timeout=(e,r)=>(__emscripten_timeout=wasmExports._emscripten_timeout)(e,r),_setThrew=(e,r)=>(_setThrew=wasmExports.setThrew)(e,r),__emscripten_stack_restore=e=>(__emscripten_stack_restore=wasmExports._emscripten_stack_restore)(e),__emscripten_stack_alloc=e=>(__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc)(e),_emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current)(),___wasm_apply_data_relocs=()=>(___wasm_apply_data_relocs=wasmExports.__wasm_apply_data_relocs)();function invoke_iiii(e,r,t,n){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(a){if(stackRestore(o),a!==a+0)throw a;_setThrew(1,0)}}function invoke_ii(e,r){var t=stackSave();try{return getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_vii(e,r,t){var n=stackSave();try{getWasmTableEntry(e)(r,t)}catch(o){if(stackRestore(n),o!==o+0)throw o;_setThrew(1,0)}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.callMain=callMain,Module.ENV=ENV,Module.addFunction=addFunction,Module.removeFunction=removeFunction,Module.UTF8ToString=UTF8ToString,Module.stringToNewUTF8=stringToNewUTF8,Module.stringToUTF8OnStack=stringToUTF8OnStack,Module.FS_createPreloadedFile=FS_createPreloadedFile,Module.FS_unlink=FS_unlink,Module.FS_createPath=FS_createPath,Module.FS_createDevice=FS_createDevice,Module.FS=FS,Module.FS_createDataFile=FS_createDataFile,Module.FS_createLazyFile=FS_createLazyFile,Module.MEMFS=MEMFS,Module.PROXYFS=PROXYFS;var calledRun;dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)};function callMain(e=[]){var r=resolveGlobalSymbol("main").sym;if(r){e.unshift(thisProgram);var t=e.length,n=stackAlloc((t+1)*4),o=n;e.forEach(s=>{HEAPU32[o>>2]=stringToUTF8OnStack(s),o+=4}),HEAPU32[o>>2]=0;try{var a=r(t,n);return exitJS(a,!0),a}catch(s){return handleException(s)}}}function run(e=arguments_){if(runDependencies>0||(preRun(),runDependencies>0))return;function r(){calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),preMain(),readyPromiseResolve(Module),Module.onRuntimeInitialized?.(),shouldRunNow&&callMain(e),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),r()},1)):r()}if(Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!1;return Module.noInitialRun&&(shouldRunNow=!1),run(),moduleRtn=readyPromise,moduleRtn}})(),et=Zr;E();var rt="(?:"+["\\|\\|","\\&\\&",";;","\\|\\&","\\<\\(","\\<\\<\\<",">>",">\\&","<\\&","[&;()|<>]"].join("|")+")",Rt=new RegExp("^"+rt+"$");var ir="",tt=4294967296;for(let e=0;e<4;e++)ir+=(tt*Math.random()).toString(16);var xt=new RegExp("^"+ir);var he="/pglite",ye=he+"/data",jt=he+"/bin/initdb",Wt=he+"/pgstdout",Yt=he+"/pgstdin";var Ee=class{constructor(r,{debug:t=!1}={}){this.dataDir=r,this.debug=t}async syncToFs(r){}async initialSyncFs(){}async closeFs(){}async dumpTar(r,t){return or(this.pg.Module.FS,ye,r,t)}async init(r,t){return this.pg=r,{emscriptenOpts:{...t,preRun:[...t.preRun||[],o=>{let a=nt(o,this);o.FS.mkdir(ye),o.FS.mount(a,{},ye)}]}}}},ve={EBADF:8,EBADFD:127,EEXIST:20,EINVAL:28,EISDIR:31,ENODEV:43,ENOENT:44,ENOTDIR:54,ENOTEMPTY:55},nt=(e,r)=>{let t=e.FS,n=r.debug?console.log:null,o={tryFSOperation(a){try{return a()}catch(s){throw s.code?s.code==="UNKNOWN"?new t.ErrnoError(ve.EINVAL):new t.ErrnoError(s.code):s}},mount(a){return o.createNode(null,"/",16895,0)},syncfs(a,s,l){},createNode(a,s,l,c){if(!t.isDir(l)&&!t.isFile(l))throw new t.ErrnoError(28);let d=t.createNode(a,s,l);return d.node_ops=o.node_ops,d.stream_ops=o.stream_ops,d},getMode:function(a){return n?.("getMode",a),o.tryFSOperation(()=>r.lstat(a).mode)},realPath:function(a){let s=[];for(;a.parent!==a;)s.push(a.name),a=a.parent;return s.push(a.mount.opts.root),s.reverse(),s.join("/")},node_ops:{getattr(a){n?.("getattr",o.realPath(a));let s=o.realPath(a);return o.tryFSOperation(()=>{let l=r.lstat(s);return{...l,dev:0,ino:a.id,nlink:1,rdev:a.rdev,atime:new Date(l.atime),mtime:new Date(l.mtime),ctime:new Date(l.ctime)}})},setattr(a,s){n?.("setattr",o.realPath(a),s);let l=o.realPath(a);o.tryFSOperation(()=>{s.mode!==void 0&&r.chmod(l,s.mode),s.size!==void 0&&r.truncate(l,s.size),s.timestamp!==void 0&&r.utimes(l,s.timestamp,s.timestamp),s.size!==void 0&&r.truncate(l,s.size)})},lookup(a,s){n?.("lookup",o.realPath(a),s);let l=[o.realPath(a),s].join("/"),c=o.getMode(l);return o.createNode(a,s,c)},mknod(a,s,l,c){n?.("mknod",o.realPath(a),s,l,c);let d=o.createNode(a,s,l,c),u=o.realPath(d);return o.tryFSOperation(()=>(t.isDir(d.mode)?r.mkdir(u,{mode:l}):r.writeFile(u,"",{mode:l}),d))},rename(a,s,l){n?.("rename",o.realPath(a),o.realPath(s),l);let c=o.realPath(a),d=[o.realPath(s),l].join("/");o.tryFSOperation(()=>{r.rename(c,d)}),a.name=l},unlink(a,s){n?.("unlink",o.realPath(a),s);let l=[o.realPath(a),s].join("/");try{r.unlink(l)}catch{}},rmdir(a,s){n?.("rmdir",o.realPath(a),s);let l=[o.realPath(a),s].join("/");return o.tryFSOperation(()=>{r.rmdir(l)})},readdir(a){n?.("readdir",o.realPath(a));let s=o.realPath(a);return o.tryFSOperation(()=>r.readdir(s))},symlink(a,s,l){throw n?.("symlink",o.realPath(a),s,l),new t.ErrnoError(63)},readlink(a){throw n?.("readlink",o.realPath(a)),new t.ErrnoError(63)}},stream_ops:{open(a){n?.("open stream",o.realPath(a.node));let s=o.realPath(a.node);return o.tryFSOperation(()=>{t.isFile(a.node.mode)&&(a.shared.refcount=1,a.nfd=r.open(s))})},close(a){return n?.("close stream",o.realPath(a.node)),o.tryFSOperation(()=>{t.isFile(a.node.mode)&&a.nfd&&--a.shared.refcount===0&&r.close(a.nfd)})},dup(a){n?.("dup stream",o.realPath(a.node)),a.shared.refcount++},read(a,s,l,c,d){return n?.("read stream",o.realPath(a.node),l,c,d),c===0?0:o.tryFSOperation(()=>r.read(a.nfd,s,l,c,d))},write(a,s,l,c,d){return n?.("write stream",o.realPath(a.node),l,c,d),o.tryFSOperation(()=>r.write(a.nfd,s.buffer,l,c,d))},llseek(a,s,l){n?.("llseek stream",o.realPath(a.node),s,l);let c=s;if(l===1?c+=a.position:l===2&&t.isFile(a.node.mode)&&o.tryFSOperation(()=>{let d=r.fstat(a.nfd);c+=d.size}),c<0)throw new t.ErrnoError(28);return c},mmap(a,s,l,c,d){if(n?.("mmap stream",o.realPath(a.node),s,l,c,d),!t.isFile(a.node.mode))throw new t.ErrnoError(ve.ENODEV);let u=e.mmapAlloc(s);return o.stream_ops.read(a,e.HEAP8,u,s,l),{ptr:u,allocated:!0}},msync(a,s,l,c,d){return n?.("msync stream",o.realPath(a.node),l,c,d),o.stream_ops.write(a,s,0,c,l),0}}};return o};var ot="state.txt",it="data",xe={DIR:16384,FILE:32768},le,te,X,ce,k,j,D,de,V,$,B,S,ar,Q,re,C,N,se,sr,He,Ie=class extends Ee{constructor(t,{initialPoolSize:n=1e3,maintainedPoolSize:o=100,debug:a=!1}={}){super(t,{debug:a});H(this,S);H(this,le);H(this,te);H(this,X);H(this,ce);H(this,k);H(this,j,new Map);H(this,D,new Map);H(this,de,0);H(this,V,new Map);H(this,$,new Map);this.lastCheckpoint=0;this.checkpointInterval=1e3*60;this.poolCounter=0;H(this,B,new Set);this.initialPoolSize=n,this.maintainedPoolSize=o}async init(t,n){return await h(this,S,ar).call(this),super.init(t,n)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of p(this,D).values())t.close();p(this,k).flush(),p(this,k).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let n=t-this.state.pool.length,o=[];for(let a=0;a<n;a++)o.push(new Promise(async s=>{++this.poolCounter;let l=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await p(this,X).getFileHandle(l,{create:!0}),d=await c.createSyncAccessHandle();p(this,j).set(l,c),p(this,D).set(l,d),h(this,S,re).call(this,{opp:"createPoolFile",args:[l]}),this.state.pool.push(l),s()}));for(let a=0;a>n;a--)o.push(new Promise(async s=>{let l=this.state.pool.pop();h(this,S,re).call(this,{opp:"deletePoolFile",args:[l]});let c=p(this,j).get(l);p(this,D).get(l)?.close(),await p(this,X).removeEntry(c.name),p(this,j).delete(l),p(this,D).delete(l),s()}));await Promise.all(o)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let n=this.state.pool.indexOf(t);n>-1&&this.state.pool.splice(n,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));p(this,k).truncate(0),p(this,k).write(t,{at:0}),p(this,k).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of p(this,B))try{t.flush()}catch{}p(this,B).clear()}chmod(t,n){h(this,S,Q).call(this,{opp:"chmod",args:[t,n]},()=>{this._chmodState(t,n)})}_chmodState(t,n){let o=h(this,S,N).call(this,t);o.mode=n}close(t){let n=h(this,S,se).call(this,t);p(this,V).delete(t),p(this,$).delete(n)}fstat(t){let n=h(this,S,se).call(this,t);return this.lstat(n)}lstat(t){let n=h(this,S,N).call(this,t),o=n.type==="file"?p(this,D).get(n.backingFilename).getSize():0,a=4096;return{dev:0,ino:0,mode:n.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,blksize:a,blocks:Math.ceil(o/a),atime:n.lastModified,mtime:n.lastModified,ctime:n.lastModified}}mkdir(t,n){h(this,S,Q).call(this,{opp:"mkdir",args:[t,n]},()=>{this._mkdirState(t,n)})}_mkdirState(t,n){let o=h(this,S,C).call(this,t),a=o.pop(),s=[],l=this.state.root;for(let d of o){if(s.push(t),!Object.prototype.hasOwnProperty.call(l.children,d))if(n?.recursive)this.mkdir(s.join("/"));else throw new F("ENOENT","No such file or directory");if(l.children[d].type!=="directory")throw new F("ENOTDIR","Not a directory");l=l.children[d]}if(Object.prototype.hasOwnProperty.call(l.children,a))throw new F("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:n?.mode||xe.DIR,children:{}};l.children[a]=c}open(t,n,o){if(h(this,S,N).call(this,t).type!=="file")throw new F("EISDIR","Is a directory");let s=h(this,S,sr).call(this);return p(this,V).set(s,t),p(this,$).set(t,s),s}readdir(t){let n=h(this,S,N).call(this,t);if(n.type!=="directory")throw new F("ENOTDIR","Not a directory");return Object.keys(n.children)}read(t,n,o,a,s){let l=h(this,S,se).call(this,t),c=h(this,S,N).call(this,l);if(c.type!=="file")throw new F("EISDIR","Is a directory");return p(this,D).get(c.backingFilename).read(new Uint8Array(n.buffer,o,a),{at:s})}rename(t,n){h(this,S,Q).call(this,{opp:"rename",args:[t,n]},()=>{this._renameState(t,n,!0)})}_renameState(t,n,o=!1){let a=h(this,S,C).call(this,t),s=a.pop(),l=h(this,S,N).call(this,a.join("/"));if(!Object.prototype.hasOwnProperty.call(l.children,s))throw new F("ENOENT","No such file or directory");let c=h(this,S,C).call(this,n),d=c.pop(),u=h(this,S,N).call(this,c.join("/"));if(o&&Object.prototype.hasOwnProperty.call(u.children,d)){let f=u.children[d];p(this,D).get(f.backingFilename).truncate(0),this.state.pool.push(f.backingFilename)}u.children[d]=l.children[s],delete l.children[s]}rmdir(t){h(this,S,Q).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let n=h(this,S,C).call(this,t),o=n.pop(),a=h(this,S,N).call(this,n.join("/"));if(!Object.prototype.hasOwnProperty.call(a.children,o))throw new F("ENOENT","No such file or directory");let s=a.children[o];if(s.type!=="directory")throw new F("ENOTDIR","Not a directory");if(Object.keys(s.children).length>0)throw new F("ENOTEMPTY","Directory not empty");delete a.children[o]}truncate(t,n=0){let o=h(this,S,N).call(this,t);if(o.type!=="file")throw new F("EISDIR","Is a directory");let a=p(this,D).get(o.backingFilename);if(!a)throw new F("ENOENT","No such file or directory");a.truncate(n),p(this,B).add(a)}unlink(t){h(this,S,Q).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,n=!1){let o=h(this,S,C).call(this,t),a=o.pop(),s=h(this,S,N).call(this,o.join("/"));if(!Object.prototype.hasOwnProperty.call(s.children,a))throw new F("ENOENT","No such file or directory");let l=s.children[a];if(l.type!=="file")throw new F("EISDIR","Is a directory");if(delete s.children[a],n){let c=p(this,D).get(l.backingFilename);c?.truncate(0),p(this,B).add(c),p(this,$).has(t)&&(p(this,V).delete(p(this,$).get(t)),p(this,$).delete(t))}this.state.pool.push(l.backingFilename)}utimes(t,n,o){h(this,S,Q).call(this,{opp:"utimes",args:[t,n,o]},()=>{this._utimesState(t,n,o)})}_utimesState(t,n,o){let a=h(this,S,N).call(this,t);a.lastModified=o}writeFile(t,n,o){let a=h(this,S,C).call(this,t),s=a.pop(),l=h(this,S,N).call(this,a.join("/"));if(Object.prototype.hasOwnProperty.call(l.children,s)){let u=l.children[s];u.lastModified=Date.now(),h(this,S,re).call(this,{opp:"setLastModified",args:[t,u.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let u={type:"file",lastModified:Date.now(),mode:o?.mode||xe.FILE,backingFilename:this.state.pool.pop()};l.children[s]=u,h(this,S,re).call(this,{opp:"createFileNode",args:[t,u]})}let c=l.children[s],d=p(this,D).get(c.backingFilename);n.length>0&&(d.write(typeof n=="string"?new TextEncoder().encode(n):new Uint8Array(n),{at:0}),t.startsWith("/pg_wal")&&p(this,B).add(d))}_createFileNodeState(t,n){let o=h(this,S,C).call(this,t),a=o.pop(),s=h(this,S,N).call(this,o.join("/"));s.children[a]=n;let l=this.state.pool.indexOf(n.backingFilename);return l>-1&&this.state.pool.splice(l,1),n}_setLastModifiedState(t,n){let o=h(this,S,N).call(this,t);o.lastModified=n}write(t,n,o,a,s){let l=h(this,S,se).call(this,t),c=h(this,S,N).call(this,l);if(c.type!=="file")throw new F("EISDIR","Is a directory");let d=p(this,D).get(c.backingFilename);if(!d)throw new F("EBADF","Bad file descriptor");let u=d.write(new Uint8Array(n,o,a),{at:s});return l.startsWith("/pg_wal")&&p(this,B).add(d),u}};le=new WeakMap,te=new WeakMap,X=new WeakMap,ce=new WeakMap,k=new WeakMap,j=new WeakMap,D=new WeakMap,de=new WeakMap,V=new WeakMap,$=new WeakMap,B=new WeakMap,S=new WeakSet,ar=async function(){q(this,le,await navigator.storage.getDirectory()),q(this,te,await h(this,S,He).call(this,this.dataDir,{create:!0})),q(this,X,await h(this,S,He).call(this,it,{from:p(this,te),create:!0})),q(this,ce,await p(this,te).getFileHandle(ot,{create:!0})),q(this,k,await p(this,ce).createSyncAccessHandle());let t=new ArrayBuffer(p(this,k).getSize());p(this,k).read(t,{at:0});let n,o=new TextDecoder().decode(t).split(`
`),a=!1;try{n=JSON.parse(o[0])}catch{n={root:{type:"directory",lastModified:Date.now(),mode:xe.DIR,children:{}},pool:[]},p(this,k).truncate(0),p(this,k).write(new TextEncoder().encode(JSON.stringify(n)),{at:0}),a=!0}this.state=n;let s=o.slice(1).filter(Boolean).map(u=>JSON.parse(u));for(let u of s){let f=`_${u.opp}State`;if(typeof this[f]=="function")try{this[f].bind(this)(...u.args)}catch(_){console.warn("Error applying OPFS AHP WAL entry",u,_)}}let l=[],c=async u=>{if(u.type==="file")try{let f=await p(this,X).getFileHandle(u.backingFilename),_=await f.createSyncAccessHandle();p(this,j).set(u.backingFilename,f),p(this,D).set(u.backingFilename,_)}catch(f){console.error("Error opening file handle for node",u,f)}else for(let f of Object.values(u.children))l.push(c(f))};await c(this.state.root);let d=[];for(let u of this.state.pool)d.push(new Promise(async f=>{p(this,j).has(u)&&console.warn("File handle already exists for pool file",u);let _=await p(this,X).getFileHandle(u),m=await _.createSyncAccessHandle();p(this,j).set(u,_),p(this,D).set(u,m),f()}));await Promise.all([...l,...d]),await this.maintainPool(a?this.initialPoolSize:this.maintainedPoolSize)},Q=function(t,n){let o=h(this,S,re).call(this,t);try{n()}catch(a){throw p(this,k).truncate(o),a}},re=function(t){let n=JSON.stringify(t),o=new TextEncoder().encode(`
${n}`),a=p(this,k).getSize();return p(this,k).write(o,{at:a}),p(this,B).add(p(this,k)),a},C=function(t){return t.split("/").filter(Boolean)},N=function(t,n){let o=h(this,S,C).call(this,t),a=n||this.state.root;for(let s of o){if(a.type!=="directory")throw new F("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(a.children,s))throw new F("ENOENT","No such file or directory");a=a.children[s]}return a},se=function(t){let n=p(this,V).get(t);if(!n)throw new F("EBADF","Bad file descriptor");return n},sr=function(){let t=++Te(this,de)._;for(;p(this,V).has(t);)Te(this,de)._++;return t},He=async function(t,n){let o=h(this,S,C).call(this,t),a=n?.from||p(this,le);for(let s of o)a=await a.getDirectoryHandle(s,{create:n?.create});return a};var F=class extends Error{constructor(r,t){super(t),typeof r=="number"?this.code=r:typeof r=="string"&&(this.code=ve[r])}};0&&(module.exports={OpfsAhpFS});
//# sourceMappingURL=opfs-ahp.cjs.map