UNPKG

@electric-sql/pglite

Version:

PGlite is a WASM Postgres build packaged into a TypeScript client library that enables you to run Postgres in the browser, Node.js and Bun, with no need to install any other dependencies. It is only 3.7mb gzipped.

2 lines 111 kB
"use strict";var pr=Object.create;var ie=Object.defineProperty;var Sr=Object.getOwnPropertyDescriptor;var gr=Object.getOwnPropertyNames;var hr=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty;var ze=e=>{throw TypeError(e)};var Er=(e,r,t)=>r in e?ie(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var vr=(e,r)=>()=>(e&&(r=e(e=0)),r);var Z=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Fr=(e,r)=>{for(var t in r)ie(e,t,{get:r[t],enumerable:!0})},We=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of gr(r))!yr.call(e,o)&&o!==t&&ie(e,o,{get:()=>r[o],enumerable:!(n=Sr(r,o))||n.enumerable});return e};var ee=(e,r,t)=>(t=e!=null?pr(hr(e)):{},We(r||!e||!e.__esModule?ie(t,"default",{value:e,enumerable:!0}):t,e)),wr=e=>We(ie({},"__esModule",{value:!0}),e);var U=(e,r,t)=>Er(e,typeof r!="symbol"?r+"":r,t),Me=(e,r,t)=>r.has(e)||ze("Cannot "+t);var p=(e,r,t)=>(Me(e,r,"read from private field"),t?t.call(e):r.get(e)),H=(e,r,t)=>r.has(e)?ze("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,t),q=(e,r,t,n)=>(Me(e,r,"write to private field"),n?n.call(e,t):r.set(e,t),t),h=(e,r,t)=>(Me(e,r,"access private method"),t);var ke=(e,r,t,n)=>({set _(o){q(e,r,o,t)},get _(){return p(e,r,n)}});var br,b,E=vr(()=>{"use strict";br=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,b=br()});var ae=Z((Ft,x)=>{"use strict";E();var Ye=9007199254740991,Ge=function(e){return e}();function Ar(e){return e===Ge}function Ve(e){return typeof e=="string"||Object.prototype.toString.call(e)=="[object String]"}function Tr(e){return Object.prototype.toString.call(e)=="[object Date]"}function pe(e){return e!==null&&typeof e=="object"}function Se(e){return typeof e=="function"}function Pr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ye}function Mr(e){return Object.prototype.toString.call(e)=="[object Array]"}function Xe(e){return pe(e)&&!Se(e)&&Pr(e.length)}function Oe(e){return Object.prototype.toString.call(e)=="[object ArrayBuffer]"}function kr(e,r){return Array.prototype.map.call(e,r)}function Or(e,r){var t=Ge;return Se(r)&&Array.prototype.every.call(e,function(n,o,a){var s=r(n,o,a);return s&&(t=n),!s}),t}function Nr(e){return Object.assign.apply(null,arguments)}function $e(e){var r,t,n;if(Ve(e)){for(t=e.length,n=new Uint8Array(t),r=0;r<t;r++)n[r]=e.charCodeAt(r)&255;return n}return Oe(e)?new Uint8Array(e):pe(e)&&Oe(e.buffer)?new Uint8Array(e.buffer):Xe(e)?new Uint8Array(e):pe(e)&&Se(e.toString)?$e(e.toString()):new Uint8Array}x.exports.MAX_SAFE_INTEGER=Ye;x.exports.isUndefined=Ar;x.exports.isString=Ve;x.exports.isObject=pe;x.exports.isDateTime=Tr;x.exports.isFunction=Se;x.exports.isArray=Mr;x.exports.isArrayLike=Xe;x.exports.isArrayBuffer=Oe;x.exports.map=kr;x.exports.find=Or;x.exports.extend=Nr;x.exports.toUint8Array=$e});var se=Z((bt,qe)=>{"use strict";E();var Ne="\0";qe.exports={NULL_CHAR:Ne,TMAGIC:"ustar"+Ne+"00",OLDGNU_MAGIC:"ustar "+Ne,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 xe=Z((Tt,I)=>{"use strict";E();var Ke=ae(),M=se(),Dr=512,De=M.TPERMALL,Je=0,Qe=0,Re=[["name",100,0,function(e,r){return le(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]]||De;return t=t&M.TPERMMASK,re(t,r[1],De)},function(e,r,t){var n=B(e.slice(r,r+t[1]));return n&=M.TPERMMASK,n}],["uid",8,108,function(e,r){return re(e[r[0]],r[1],Je)},function(e,r,t){return B(e.slice(r,r+t[1]))}],["gid",8,116,function(e,r){return re(e[r[0]],r[1],Qe)},function(e,r,t){return B(e.slice(r,r+t[1]))}],["size",12,124,function(e,r){return re(e.data.length,r[1])},function(e,r,t){return B(e.slice(r,r+t[1]))}],["modifyTime",12,136,function(e,r){return ge(e[r[0]],r[1])},function(e,r,t){return he(e.slice(r,r+t[1]))}],["checksum",8,148,function(e,r){return" "},function(e,r,t){return B(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 Rr(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 le(e[r[0]],r[1])},function(e,r,t){return K(e.slice(r,r+t[1]))}],["group",32,297,function(e,r){return le(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 B(e.slice(r,r+t[1]))}],["minorNumber",8,337,function(e,r){return""},function(e,r,t){return B(e.slice(r,r+t[1]))}],["prefix",131,345,function(e,r){return le(e[r[0]],r[1])},function(e,r,t){return K(e.slice(r,r+t[1]))}],["accessTime",12,476,function(e,r){return ge(e[r[0]],r[1])},function(e,r,t){return he(e.slice(r,r+t[1]))}],["createTime",12,488,function(e,r){return ge(e[r[0]],r[1])},function(e,r,t){return he(e.slice(r,r+t[1]))}]],Ze=function(e){var r=e[e.length-1];return r[2]+r[1]}(Re);function Rr(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 le(e,r){return r-=1,Ke.isUndefined(e)&&(e=""),e=(""+e).substr(0,r),e+M.NULL_CHAR}function re(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 ge(e,r){if(Ke.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 re(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 B(e){var r=String.fromCharCode.apply(null,e);return parseInt(r.replace(/^0+$/g,""),8)||0}function he(e){return e.length==0||e[0]==0?null:new Date(1e3*B(e))}function xr(e,r,t){var n=parseInt(r,10)||0,o=Math.min(n+Ze,e.length),a=0,s=0,l=0;t&&Re.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=Dr;I.exports.defaultFileMode=De;I.exports.defaultUid=Je;I.exports.defaultGid=Qe;I.exports.posixHeader=Re;I.exports.effectiveHeaderSize=Ze;I.exports.calculateChecksum=xr;I.exports.formatTarString=le;I.exports.formatTarNumber=re;I.exports.formatTarDateTime=ge;I.exports.parseTarString=K;I.exports.parseTarNumber=B;I.exports.parseTarDateTime=he});var nr=Z((Mt,tr)=>{"use strict";E();var Ir=se(),ye=ae(),G=xe();function er(e){return G.recordSize}function rr(e){return Math.ceil(e.data.length/G.recordSize)*G.recordSize}function Hr(e){var r=0;return e.forEach(function(t){r+=er(t)+rr(t)}),r+=G.recordSize*2,new Uint8Array(r)}function Ur(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=ye.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)+Ir.NULL_CHAR+" ";n=t+o[2];for(var l=0;l<s.length;l+=1)e[n]=s.charCodeAt(l)&255,n++}return t+er(r)}function Lr(e,r,t){return t=parseInt(t,10)||0,e.set(r.data,t),t+rr(r)}function Cr(e){e=ye.map(e,function(n){return ye.extend({},n,{data:ye.toUint8Array(n.data)})});var r=Hr(e),t=0;return e.forEach(function(n){t=Ur(r,n,t),t=Lr(r,n,t)}),r}tr.exports.tar=Cr});var ir=Z((Ot,or)=>{"use strict";E();var jr=se(),He=ae(),L=xe(),Br={extractData:!0,checkHeader:!0,checkChecksum:!0,checkFileSize:!0},zr={size:!0,checksum:!0,ustar:!0},Ie={unexpectedEndOfFile:"Unexpected end of file.",fileCorrupted:"File is corrupted.",checksumCheckFailed:"Checksum check failed."};function Wr(e){return L.recordSize}function Yr(e){return Math.ceil(e/L.recordSize)*L.recordSize}function Gr(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 Vr(e,r,t){if(e.length-r<L.recordSize){if(t.checkFileSize)throw new Error(Ie.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(He.isFunction(l[5])&&!l[5](n,l)){var c=new Error(Ie.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(Ie.checksumCheckFailed);throw s.data={offset:r,header:n,checksum:a},s}}return n}function Xr(e,r,t,n){return n.extractData?t.size<=0?new Uint8Array:e.slice(r,r+t.size):null}function $r(e,r){var t={};return L.posixHeader.forEach(function(n){var o=n[0];zr[o]||(t[o]=e[o])}),t.isOldGNUFormat=e.ustar==jr.OLDGNU_MAGIC,r&&(t.data=r),t}function qr(e,r){r=He.extend({},Br,r);for(var t=[],n=0,o=e.length;o-n>=L.recordSize;){e=He.toUint8Array(e);var a=Vr(e,n,r);if(!a)break;n+=Wr(a);var s=Xr(e,n,a,r);if(t.push($r(a,s)),n+=Yr(a.size),Gr(e,n))break}return t}or.exports.untar=qr});var sr=Z((Dt,ar)=>{"use strict";E();var Kr=ae(),Jr=se(),Qr=nr(),Zr=ir();Kr.extend(ar.exports,Qr,Zr,Jr)});var ht={};Fr(ht,{OpfsAhpFS:()=>Ce});module.exports=wr(ht);E();E();E();var J=ee(sr(),1);async function lr(e,r,t="pgdata",n="auto"){let o=rt(e,r),[a,s]=await tt(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 et(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 rt(e,r){let t=et(e,r);return(0,J.tar)(t)}async function tt(e,r="auto"){if(r==="none")return[e,!1];if(typeof CompressionStream<"u")return[await nt(e),!0];if(typeof process<"u"&&process.versions&&process.versions.node)return[await ot(e),!0];if(r==="auto")return[e,!1];throw new Error("Compression not supported in this environment")}async function nt(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 ot(e){let{promisify:r}=await import("util"),{gzip:t}=await import("zlib");return await r(t)(e)}E();E();E();var it=(()=>{var _scriptName=b;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=b;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");b.startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath(b))+"/"),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||67108864;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",b).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,_e=1;;){var Be=e[r++];if(Y+=(Be&127)*_e,_e*=128,!(Be&128))break}return Y}function a(){var Y=o();return r+=Y,UTF8ArrayToString(e,r-Y,Y)}function s(Y,_e){if(Y)throw new Error(_e)}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,A=256,R=3,W=1;r<t;){var v=n(),_r=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 Ae=o();Ae--;){var Te=a(),Pe=o();Pe&A&&_.tlsExports.add(Te)}else if(v===O)for(var Ae=o();Ae--;){var yt=a(),Te=a(),Pe=o();(Pe&R)==W&&_.weakImports.add(Te)}else r+=_r}}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=205424,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:144,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},205424),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=>{e=alignMemory(e,65536);var r=_emscripten_builtin_memalign(65536,e);return r&&zeroMemory(r,e),r},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,F