@webreflection/fs
Version:
Emscripten FS, PATH and PATH_FS utilities as a module
1 lines • 43.3 kB
JavaScript
var e=(()=>{var e=import.meta.url;return async function(r={}){var t=r;var n,o;t["ready"]=new Promise(((e,r)=>{n=e;o=r}));var a=Object.assign({},t);var i=[];var s="./this.program";var u=(e,r)=>{throw r};var l=typeof window=="object";var f=typeof importScripts=="function";var d=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var c="";function m(e){if(t["locateFile"]){return t["locateFile"](e,c)}return c+e}var p,h,v;if(d){const{createRequire:e}=await import("module");var w=e(import.meta.url);var y=w("fs");var E=w("path");if(f){c=E.dirname(c)+"/"}else{c=w("url").fileURLToPath(new URL("./",import.meta.url))}p=(e,r)=>{e=re(e)?new URL(e):E.normalize(e);return y.readFileSync(e,r?undefined:"utf8")};v=e=>{var r=p(e,true);if(!r.buffer){r=new Uint8Array(r)}return r};h=(e,r,t,n=true)=>{e=re(e)?new URL(e):E.normalize(e);y.readFile(e,n?undefined:"utf8",((e,o)=>{if(e)t(e);else r(n?o.buffer:o)}))};if(!t["thisProgram"]&&process.argv.length>1){s=process.argv[1].replace(/\\/g,"/")}i=process.argv.slice(2);u=(e,r)=>{process.exitCode=e;throw r};t["inspect"]=()=>"[Emscripten Module object]"}else if(l||f){if(f){c=self.location.href}else if(typeof document!="undefined"&&document.currentScript){c=document.currentScript.src}if(e){c=e}if(c.indexOf("blob:")!==0){c=c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{c=""}{p=e=>{var r=new XMLHttpRequest;r.open("GET",e,false);r.send(null);return r.responseText};if(f){v=e=>{var r=new XMLHttpRequest;r.open("GET",e,false);r.responseType="arraybuffer";r.send(null);return new Uint8Array(r.response)}}h=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,true);n.responseType="arraybuffer";n.onload=()=>{if(n.status==200||n.status==0&&n.response){r(n.response);return}t()};n.onerror=t;n.send(null)}}}else{}var g=t["print"]||console.log.bind(console);var k=t["printErr"]||console.error.bind(console);Object.assign(t,a);a=null;if(t["arguments"])i=t["arguments"];if(t["thisProgram"])s=t["thisProgram"];if(t["quit"])u=t["quit"];var b;if(t["wasmBinary"])b=t["wasmBinary"];if(typeof WebAssembly!="object"){J("no native wasm support detected")}var _;var D=false;var A;function S(e,r){if(!e){J(r)}}var F,P,R,B,x,j,T,N;function L(){var e=_.buffer;t["HEAP8"]=F=new Int8Array(e);t["HEAP16"]=R=new Int16Array(e);t["HEAPU8"]=P=new Uint8Array(e);t["HEAPU16"]=B=new Uint16Array(e);t["HEAP32"]=x=new Int32Array(e);t["HEAPU32"]=j=new Uint32Array(e);t["HEAPF32"]=T=new Float32Array(e);t["HEAPF64"]=N=new Float64Array(e)}var z=[];var M=[];var C=[];var O=false;function I(){if(t["preRun"]){if(typeof t["preRun"]=="function")t["preRun"]=[t["preRun"]];while(t["preRun"].length){q(t["preRun"].shift())}}ue(z)}function U(){O=true;if(!t["noFSInit"]&&!je.init.initialized)je.init();je.ignorePermissions=false;ke.init();ue(M)}function H(){if(t["postRun"]){if(typeof t["postRun"]=="function")t["postRun"]=[t["postRun"]];while(t["postRun"].length){W(t["postRun"].shift())}}ue(C)}function q(e){z.unshift(e)}function $(e){M.unshift(e)}function W(e){C.unshift(e)}var X=0;var G=null;var K=null;function V(e){return e}function Q(e){X++;t["monitorRunDependencies"]?.(X)}function Y(e){X--;t["monitorRunDependencies"]?.(X);if(X==0){if(G!==null){clearInterval(G);G=null}if(K){var r=K;K=null;r()}}}function J(e){t["onAbort"]?.(e);e="Aborted("+e+")";k(e);D=true;A=1;e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);o(r);throw r}var Z="data:application/octet-stream;base64,";var ee=e=>e.startsWith(Z);var re=e=>e.startsWith("file://");var te;if(t["locateFile"]){te="fs.wasm";if(!ee(te)){te=m(te)}}else{te=new URL("fs.wasm",import.meta.url).href}function ne(e){if(e==te&&b){return new Uint8Array(b)}if(v){return v(e)}throw"both async and sync fetching of the wasm failed"}function oe(e){if(!b&&(l||f)){if(typeof fetch=="function"&&!re(e)){return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r["ok"]){throw"failed to load wasm binary file at '"+e+"'"}return r["arrayBuffer"]()})).catch((()=>ne(e)))}else if(h){return new Promise(((r,t)=>{h(e,(e=>r(new Uint8Array(e))),t)}))}}return Promise.resolve().then((()=>ne(e)))}function ae(e,r,t){return oe(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{k(`failed to asynchronously prepare wasm: ${e}`);J(e)}))}function ie(e,r,t,n){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!ee(r)&&!re(r)&&!d&&typeof fetch=="function"){return fetch(r,{credentials:"same-origin"}).then((e=>{var o=WebAssembly.instantiateStreaming(e,t);return o.then(n,(function(e){k(`wasm streaming compile failed: ${e}`);k("falling back to ArrayBuffer instantiation");return ae(r,t,n)}))}))}return ae(r,t,n)}function se(){var e={a:ze};function r(e,r){Me=e.exports;_=Me["a"];L();$(Me["b"]);Y("wasm-instantiate");return Me}Q("wasm-instantiate");function n(e){r(e["instance"])}if(t["instantiateWasm"]){try{return t["instantiateWasm"](e,r)}catch(e){k(`Module.instantiateWasm callback failed with error: ${e}`);o(e)}}ie(b,te,e,n).catch(o);return{}}var ue=e=>{while(e.length>0){e.shift()(t)}};var le=t["noExitRuntime"]||true;var fe=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return e=>crypto.getRandomValues(e)}else if(d){try{var e=w("crypto");var r=e["randomFillSync"];if(r){return r=>e["randomFillSync"](r)}var t=e["randomBytes"];return e=>(e.set(t(e.byteLength)),e)}catch(e){}}J("initRandomDevice")};var de=e=>(de=fe())(e);var ce={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{var t=0;for(var n=e.length-1;n>=0;n--){var o=e[n];if(o==="."){e.splice(n,1)}else if(o===".."){e.splice(n,1);t++}else if(t){e.splice(n,1);t--}}if(r){for(;t;t--){e.unshift("..")}}return e},normalize:e=>{var r=ce.isAbs(e),t=e.substr(-1)==="/";e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/");if(!e&&!r){e="."}if(e&&t){e+="/"}return(r?"/":"")+e},dirname:e=>{var r=ce.splitPath(e),t=r[0],n=r[1];if(!t&&!n){return"."}if(n){n=n.substr(0,n.length-1)}return t+n},basename:e=>{if(e==="/")return"/";e=ce.normalize(e);e=e.replace(/\/$/,"");var r=e.lastIndexOf("/");if(r===-1)return e;return e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,r)=>ce.normalize(e+"/"+r)};var me={resolve:function(){var e="",r=false;for(var t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:je.cwd();if(typeof n!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!n){return""}e=n+"/"+e;r=ce.isAbs(n)}e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/");return(r?"/":"")+e||"."},relative:(e,r)=>{e=me.resolve(e).substr(1);r=me.resolve(r).substr(1);function t(e){var r=0;for(;r<e.length;r++){if(e[r]!=="")break}var t=e.length-1;for(;t>=0;t--){if(e[t]!=="")break}if(r>t)return[];return e.slice(r,t-r+1)}var n=t(e.split("/"));var o=t(r.split("/"));var a=Math.min(n.length,o.length);var i=a;for(var s=0;s<a;s++){if(n[s]!==o[s]){i=s;break}}var u=[];for(var s=i;s<n.length;s++){u.push("..")}u=u.concat(o.slice(i));return u.join("/")}};var pe=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var he=(e,r,t)=>{var n=r+t;var o=r;while(e[o]&&!(o>=n))++o;if(o-r>16&&e.buffer&&pe){return pe.decode(e.subarray(r,o))}var a="";while(r<o){var i=e[r++];if(!(i&128)){a+=String.fromCharCode(i);continue}var s=e[r++]&63;if((i&224)==192){a+=String.fromCharCode((i&31)<<6|s);continue}var u=e[r++]&63;if((i&240)==224){i=(i&15)<<12|s<<6|u}else{i=(i&7)<<18|s<<12|u<<6|e[r++]&63}if(i<65536){a+=String.fromCharCode(i)}else{var l=i-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return a};var ve=[];var we=e=>{var r=0;for(var t=0;t<e.length;++t){var n=e.charCodeAt(t);if(n<=127){r++}else if(n<=2047){r+=2}else if(n>=55296&&n<=57343){r+=4;++t}else{r+=3}}return r};var ye=(e,r,t,n)=>{if(!(n>0))return 0;var o=t;var a=t+n-1;for(var i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343){var u=e.charCodeAt(++i);s=65536+((s&1023)<<10)|u&1023}if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6;r[t++]=128|s&63}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12;r[t++]=128|s>>6&63;r[t++]=128|s&63}else{if(t+3>=a)break;r[t++]=240|s>>18;r[t++]=128|s>>12&63;r[t++]=128|s>>6&63;r[t++]=128|s&63}}r[t]=0;return t-o};function Ee(e,r,t){var n=t>0?t:we(e)+1;var o=new Array(n);var a=ye(e,o,0,o.length);if(r)o.length=a;return o}var ge=()=>{if(!ve.length){var e=null;if(d){var r=256;var t=Buffer.alloc(r);var n=0;var o=process.stdin.fd;try{n=y.readSync(o,t)}catch(e){if(e.toString().includes("EOF"))n=0;else throw e}if(n>0){e=t.slice(0,n).toString("utf-8")}else{e=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){e=window.prompt("Input: ");if(e!==null){e+="\n"}}else if(typeof readline=="function"){e=readline();if(e!==null){e+="\n"}}if(!e){return null}ve=Ee(e,true)}return ve.shift()};var ke={ttys:[],init(){},shutdown(){},register(e,r){ke.ttys[e]={input:[],output:[],ops:r};je.registerDevice(e,ke.stream_ops)},stream_ops:{open(e){var r=ke.ttys[e.node.rdev];if(!r){throw new je.ErrnoError(43)}e.tty=r;e.seekable=false},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 je.ErrnoError(60)}var a=0;for(var i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new je.ErrnoError(29)}if(s===undefined&&a===0){throw new je.ErrnoError(6)}if(s===null||s===undefined)break;a++;r[t+i]=s}if(a){e.node.timestamp=Date.now()}return a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char){throw new je.ErrnoError(60)}try{for(var a=0;a<n;a++){e.tty.ops.put_char(e.tty,r[t+a])}}catch(e){throw new je.ErrnoError(29)}if(n){e.node.timestamp=Date.now()}return a}},default_tty_ops:{get_char(e){return ge()},put_char(e,r){if(r===null||r===10){g(he(e.output,0));e.output=[]}else{if(r!=0)e.output.push(r)}},fsync(e){if(e.output&&e.output.length>0){g(he(e.output,0));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){if(r===null||r===10){k(he(e.output,0));e.output=[]}else{if(r!=0)e.output.push(r)}},fsync(e){if(e.output&&e.output.length>0){k(he(e.output,0));e.output=[]}}}};var be=e=>{J()};var _e={ops_table:null,mount(e){return _e.createNode(null,"/",16384|511,0)},createNode(e,r,t,n){if(je.isBlkdev(t)||je.isFIFO(t)){throw new je.ErrnoError(63)}_e.ops_table||={dir:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr,lookup:_e.node_ops.lookup,mknod:_e.node_ops.mknod,rename:_e.node_ops.rename,unlink:_e.node_ops.unlink,rmdir:_e.node_ops.rmdir,readdir:_e.node_ops.readdir,symlink:_e.node_ops.symlink},stream:{llseek:_e.stream_ops.llseek}},file:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr},stream:{llseek:_e.stream_ops.llseek,read:_e.stream_ops.read,write:_e.stream_ops.write,allocate:_e.stream_ops.allocate,mmap:_e.stream_ops.mmap,msync:_e.stream_ops.msync}},link:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr,readlink:_e.node_ops.readlink},stream:{}},chrdev:{node:{getattr:_e.node_ops.getattr,setattr:_e.node_ops.setattr},stream:je.chrdev_stream_ops}};var o=je.createNode(e,r,t,n);if(je.isDir(o.mode)){o.node_ops=_e.ops_table.dir.node;o.stream_ops=_e.ops_table.dir.stream;o.contents={}}else if(je.isFile(o.mode)){o.node_ops=_e.ops_table.file.node;o.stream_ops=_e.ops_table.file.stream;o.usedBytes=0;o.contents=null}else if(je.isLink(o.mode)){o.node_ops=_e.ops_table.link.node;o.stream_ops=_e.ops_table.link.stream}else if(je.isChrdev(o.mode)){o.node_ops=_e.ops_table.chrdev.node;o.stream_ops=_e.ops_table.chrdev.stream}o.timestamp=Date.now();if(e){e.contents[r]=o;e.timestamp=o.timestamp}return o},getFileDataAsTypedArray(e){if(!e.contents)return new Uint8Array(0);if(e.contents.subarray)return e.contents.subarray(0,e.usedBytes);return new Uint8Array(e.contents)},expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(t>=r)return;var n=1024*1024;r=Math.max(r,t*(t<n?2:1.125)>>>0);if(t!=0)r=Math.max(r,256);var o=e.contents;e.contents=new Uint8Array(r);if(e.usedBytes>0)e.contents.set(o.subarray(0,e.usedBytes),0)},resizeFileStorage(e,r){if(e.usedBytes==r)return;if(r==0){e.contents=null;e.usedBytes=0}else{var t=e.contents;e.contents=new Uint8Array(r);if(t){e.contents.set(t.subarray(0,Math.min(r,e.usedBytes)))}e.usedBytes=r}},node_ops:{getattr(e){var r={};r.dev=je.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;if(je.isDir(e.mode)){r.size=4096}else if(je.isFile(e.mode)){r.size=e.usedBytes}else if(je.isLink(e.mode)){r.size=e.link.length}else{r.size=0}r.atime=new Date(e.timestamp);r.mtime=new Date(e.timestamp);r.ctime=new Date(e.timestamp);r.blksize=4096;r.blocks=Math.ceil(r.size/r.blksize);return r},setattr(e,r){if(r.mode!==undefined){e.mode=r.mode}if(r.timestamp!==undefined){e.timestamp=r.timestamp}if(r.size!==undefined){_e.resizeFileStorage(e,r.size)}},lookup(e,r){throw je.genericErrors[44]},mknod(e,r,t,n){return _e.createNode(e,r,t,n)},rename(e,r,t){if(je.isDir(e.mode)){var n;try{n=je.lookupNode(r,t)}catch(e){}if(n){for(var o in n.contents){throw new je.ErrnoError(55)}}}delete e.parent.contents[e.name];e.parent.timestamp=Date.now();e.name=t;r.contents[t]=e;r.timestamp=e.parent.timestamp;e.parent=r},unlink(e,r){delete e.contents[r];e.timestamp=Date.now()},rmdir(e,r){var t=je.lookupNode(e,r);for(var n in t.contents){throw new je.ErrnoError(55)}delete e.contents[r];e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents)){r.push(t)}return r},symlink(e,r,t){var n=_e.createNode(e,r,511|40960,0);n.link=t;return n},readlink(e){if(!je.isLink(e.mode)){throw new je.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 i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray){r.set(a.subarray(o,o+i),t)}else{for(var s=0;s<i;s++)r[t+s]=a[o+s]}return i},write(e,r,t,n,o,a){if(!n)return 0;var i=e.node;i.timestamp=Date.now();if(r.subarray&&(!i.contents||i.contents.subarray)){if(a){i.contents=r.subarray(t,t+n);i.usedBytes=n;return n}else if(i.usedBytes===0&&o===0){i.contents=r.slice(t,t+n);i.usedBytes=n;return n}else if(o+n<=i.usedBytes){i.contents.set(r.subarray(t,t+n),o);return n}}_e.expandFileStorage(i,o+n);if(i.contents.subarray&&r.subarray){i.contents.set(r.subarray(t,t+n),o)}else{for(var s=0;s<n;s++){i.contents[o+s]=r[t+s]}}i.usedBytes=Math.max(i.usedBytes,o+n);return n},llseek(e,r,t){var n=r;if(t===1){n+=e.position}else if(t===2){if(je.isFile(e.node.mode)){n+=e.node.usedBytes}}if(n<0){throw new je.ErrnoError(28)}return n},allocate(e,r,t){_e.expandFileStorage(e.node,r+t);e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,o){if(!je.isFile(e.node.mode)){throw new je.ErrnoError(43)}var a;var i;var s=e.node.contents;if(!(o&2)&&s.buffer===F.buffer){i=false;a=s.byteOffset}else{if(t>0||t+r<s.length){if(s.subarray){s=s.subarray(t,t+r)}else{s=Array.prototype.slice.call(s,t,t+r)}}i=true;a=be(r);if(!a){throw new je.ErrnoError(48)}F.set(s,a)}return{ptr:a,allocated:i}},msync(e,r,t,n,o){_e.stream_ops.write(e,r,0,n,t,false);return 0}}};var De=(e,r,t,n)=>{var o=!n?V(`al ${e}`):"";h(e,(t=>{S(t,`Loading data file "${e}" failed (no arrayBuffer).`);r(new Uint8Array(t));if(o)Y(o)}),(r=>{if(t){t()}else{throw`Loading data file "${e}" failed.`}}));if(o)Q(o)};var Ae=(e,r,t,n,o,a)=>{je.createDataFile(e,r,t,n,o,a)};var Se=t["preloadPlugins"]||[];var Fe=(e,r,t,n)=>{if(typeof Browser!="undefined")Browser.init();var o=false;Se.forEach((a=>{if(o)return;if(a["canHandle"](r)){a["handle"](e,r,t,n);o=true}}));return o};var Pe=(e,r,t,n,o,a,i,s,u,l)=>{var f=r?me.resolve(ce.join2(e,r)):e;var d=V(`cp ${f}`);function c(t){function c(t){l?.();if(!s){Ae(e,r,t,n,o,u)}a?.();Y(d)}if(Fe(t,f,c,(()=>{i?.();Y(d)}))){return}c(t)}Q(d);if(typeof t=="string"){De(t,(e=>c(e)),i)}else{c(t)}};var Re=e=>{var r={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var t=r[e];if(typeof t=="undefined"){throw new Error(`Unknown file open mode: ${e}`)}return t};var Be=(e,r)=>{var t=0;if(e)t|=292|73;if(r)t|=146;return t};var xe={dbs:{},indexedDB:()=>{if(typeof indexedDB!="undefined")return indexedDB;var e=null;if(typeof window=="object")e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;S(e,"IDBFS used, but indexedDB not supported");return e},DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function(e){return _e.mount.apply(null,arguments)},syncfs:(e,r,t)=>{xe.getLocalSet(e,((n,o)=>{if(n)return t(n);xe.getRemoteSet(e,((e,n)=>{if(e)return t(e);var a=r?n:o;var i=r?o:n;xe.reconcile(a,i,t)}))}))},quit:()=>{Object.values(xe.dbs).forEach((e=>e.close()));xe.dbs={}},getDB:(e,r)=>{var t=xe.dbs[e];if(t){return r(null,t)}var n;try{n=xe.indexedDB().open(e,xe.DB_VERSION)}catch(e){return r(e)}if(!n){return r("Unable to connect to IndexedDB")}n.onupgradeneeded=e=>{var r=e.target.result;var t=e.target.transaction;var n;if(r.objectStoreNames.contains(xe.DB_STORE_NAME)){n=t.objectStore(xe.DB_STORE_NAME)}else{n=r.createObjectStore(xe.DB_STORE_NAME)}if(!n.indexNames.contains("timestamp")){n.createIndex("timestamp","timestamp",{unique:false})}};n.onsuccess=()=>{t=n.result;xe.dbs[e]=t;r(null,t)};n.onerror=e=>{r(e.target.error);e.preventDefault()}},getLocalSet:(e,r)=>{var t={};function n(e){return e!=="."&&e!==".."}function o(e){return r=>ce.join2(e,r)}var a=je.readdir(e.mountpoint).filter(n).map(o(e.mountpoint));while(a.length){var i=a.pop();var s;try{s=je.stat(i)}catch(e){return r(e)}if(je.isDir(s.mode)){a.push.apply(a,je.readdir(i).filter(n).map(o(i)))}t[i]={timestamp:s.mtime}}return r(null,{type:"local",entries:t})},getRemoteSet:(e,r)=>{var t={};xe.getDB(e.mountpoint,((e,n)=>{if(e)return r(e);try{var o=n.transaction([xe.DB_STORE_NAME],"readonly");o.onerror=e=>{r(e.target.error);e.preventDefault()};var a=o.objectStore(xe.DB_STORE_NAME);var i=a.index("timestamp");i.openKeyCursor().onsuccess=e=>{var o=e.target.result;if(!o){return r(null,{type:"remote",db:n,entries:t})}t[o.primaryKey]={timestamp:o.key};o.continue()}}catch(e){return r(e)}}))},loadLocalEntry:(e,r)=>{var t,n;try{var o=je.lookupPath(e);n=o.node;t=je.stat(e)}catch(e){return r(e)}if(je.isDir(t.mode)){return r(null,{timestamp:t.mtime,mode:t.mode})}else if(je.isFile(t.mode)){n.contents=_e.getFileDataAsTypedArray(n);return r(null,{timestamp:t.mtime,mode:t.mode,contents:n.contents})}else{return r(new Error("node type not supported"))}},storeLocalEntry:(e,r,t)=>{try{if(je.isDir(r["mode"])){je.mkdirTree(e,r["mode"])}else if(je.isFile(r["mode"])){je.writeFile(e,r["contents"],{canOwn:true})}else{return t(new Error("node type not supported"))}je.chmod(e,r["mode"]);je.utime(e,r["timestamp"],r["timestamp"])}catch(e){return t(e)}t(null)},removeLocalEntry:(e,r)=>{try{var t=je.stat(e);if(je.isDir(t.mode)){je.rmdir(e)}else if(je.isFile(t.mode)){je.unlink(e)}}catch(e){return r(e)}r(null)},loadRemoteEntry:(e,r,t)=>{var n=e.get(r);n.onsuccess=e=>t(null,e.target.result);n.onerror=e=>{t(e.target.error);e.preventDefault()}},storeRemoteEntry:(e,r,t,n)=>{try{var o=e.put(t,r)}catch(e){n(e);return}o.onsuccess=e=>n();o.onerror=e=>{n(e.target.error);e.preventDefault()}},removeRemoteEntry:(e,r,t)=>{var n=e.delete(r);n.onsuccess=e=>t();n.onerror=e=>{t(e.target.error);e.preventDefault()}},reconcile:(e,r,t)=>{var n=0;var o=[];Object.keys(e.entries).forEach((function(t){var a=e.entries[t];var i=r.entries[t];if(!i||a["timestamp"].getTime()!=i["timestamp"].getTime()){o.push(t);n++}}));var a=[];Object.keys(r.entries).forEach((function(r){if(!e.entries[r]){a.push(r);n++}}));if(!n){return t(null)}var i=false;var s=e.type==="remote"?e.db:r.db;var u=s.transaction([xe.DB_STORE_NAME],"readwrite");var l=u.objectStore(xe.DB_STORE_NAME);function f(e){if(e&&!i){i=true;return t(e)}}u.onerror=e=>{f(this.error);e.preventDefault()};u.oncomplete=e=>{if(!i){t(null)}};o.sort().forEach((e=>{if(r.type==="local"){xe.loadRemoteEntry(l,e,((r,t)=>{if(r)return f(r);xe.storeLocalEntry(e,t,f)}))}else{xe.loadLocalEntry(e,((r,t)=>{if(r)return f(r);xe.storeRemoteEntry(l,e,t,f)}))}}));a.sort().reverse().forEach((e=>{if(r.type==="local"){xe.removeLocalEntry(e,f)}else{xe.removeRemoteEntry(l,e,f)}}))}};var je={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){e=me.resolve(e);if(!e)return{path:"",node:null};var t={follow_mount:true,recurse_count:0};r=Object.assign(t,r);if(r.recurse_count>8){throw new je.ErrnoError(32)}var n=e.split("/").filter((e=>!!e));var o=je.root;var a="/";for(var i=0;i<n.length;i++){var s=i===n.length-1;if(s&&r.parent){break}o=je.lookupNode(o,n[i]);a=ce.join2(a,n[i]);if(je.isMountpoint(o)){if(!s||s&&r.follow_mount){o=o.mounted.root}}if(!s||r.follow){var u=0;while(je.isLink(o.mode)){var l=je.readlink(a);a=me.resolve(ce.dirname(a),l);var f=je.lookupPath(a,{recurse_count:r.recurse_count+1});o=f.node;if(u++>40){throw new je.ErrnoError(32)}}}}return{path:a,node:o}},getPath(e){var r;while(true){if(je.isRoot(e)){var t=e.mount.mountpoint;if(!r)return t;return t[t.length-1]!=="/"?`${t}/${r}`:t+r}r=r?`${e.name}/${r}`:e.name;e=e.parent}},hashName(e,r){var t=0;for(var n=0;n<r.length;n++){t=(t<<5)-t+r.charCodeAt(n)|0}return(e+t>>>0)%je.nameTable.length},hashAddNode(e){var r=je.hashName(e.parent.id,e.name);e.name_next=je.nameTable[r];je.nameTable[r]=e},hashRemoveNode(e){var r=je.hashName(e.parent.id,e.name);if(je.nameTable[r]===e){je.nameTable[r]=e.name_next}else{var t=je.nameTable[r];while(t){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}}},lookupNode(e,r){var t=je.mayLookup(e);if(t){throw new je.ErrnoError(t,e)}var n=je.hashName(e.id,r);for(var o=je.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r){return o}}return je.lookup(e,r)},createNode(e,r,t,n){var o=new je.FSNode(e,r,t,n);je.hashAddNode(o);return o},destroyNode(e){je.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];if(e&512){r+="w"}return r},nodePermissions(e,r){if(je.ignorePermissions){return 0}if(r.includes("r")&&!(e.mode&292)){return 2}else if(r.includes("w")&&!(e.mode&146)){return 2}else if(r.includes("x")&&!(e.mode&73)){return 2}return 0},mayLookup(e){var r=je.nodePermissions(e,"x");if(r)return r;if(!e.node_ops.lookup)return 2;return 0},mayCreate(e,r){try{var t=je.lookupNode(e,r);return 20}catch(e){}return je.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=je.lookupNode(e,r)}catch(e){return e.errno}var o=je.nodePermissions(e,"wx");if(o){return o}if(t){if(!je.isDir(n.mode)){return 54}if(je.isRoot(n)||je.getPath(n)===je.cwd()){return 10}}else{if(je.isDir(n.mode)){return 31}}return 0},mayOpen(e,r){if(!e){return 44}if(je.isLink(e.mode)){return 32}else if(je.isDir(e.mode)){if(je.flagsToPermissionString(r)!=="r"||r&512){return 31}}return je.nodePermissions(e,je.flagsToPermissionString(r))},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=je.MAX_OPEN_FDS;e++){if(!je.streams[e]){return e}}throw new je.ErrnoError(33)},getStreamChecked(e){var r=je.getStream(e);if(!r){throw new je.ErrnoError(8)}return r},getStream:e=>je.streams[e],createStream(e,r=-1){if(!je.FSStream){je.FSStream=function(){this.shared={}};je.FSStream.prototype={};Object.defineProperties(je.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})}e=Object.assign(new je.FSStream,e);if(r==-1){r=je.nextfd()}e.fd=r;je.streams[r]=e;return e},closeStream(e){je.streams[e]=null},chrdev_stream_ops:{open(e){var r=je.getDevice(e.node.rdev);e.stream_ops=r.stream_ops;e.stream_ops.open?.(e)},llseek(){throw new je.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){je.devices[e]={stream_ops:r}},getDevice:e=>je.devices[e],getMounts(e){var r=[];var t=[e];while(t.length){var n=t.pop();r.push(n);t.push.apply(t,n.mounts)}return r},syncfs(e,r){if(typeof e=="function"){r=e;e=false}je.syncFSRequests++;if(je.syncFSRequests>1){k(`warning: ${je.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var t=je.getMounts(je.root.mount);var n=0;function o(e){je.syncFSRequests--;return r(e)}function a(e){if(e){if(!a.errored){a.errored=true;return o(e)}return}if(++n>=t.length){o(null)}}t.forEach((r=>{if(!r.type.syncfs){return a(null)}r.type.syncfs(r,e,a)}))},mount(e,r,t){var n=t==="/";var o=!t;var a;if(n&&je.root){throw new je.ErrnoError(10)}else if(!n&&!o){var i=je.lookupPath(t,{follow_mount:false});t=i.path;a=i.node;if(je.isMountpoint(a)){throw new je.ErrnoError(10)}if(!je.isDir(a.mode)){throw new je.ErrnoError(54)}}var s={type:e,opts:r,mountpoint:t,mounts:[]};var u=e.mount(s);u.mount=s;s.root=u;if(n){je.root=u}else if(a){a.mounted=s;if(a.mount){a.mount.mounts.push(s)}}return u},unmount(e){var r=je.lookupPath(e,{follow_mount:false});if(!je.isMountpoint(r.node)){throw new je.ErrnoError(28)}var t=r.node;var n=t.mounted;var o=je.getMounts(n);Object.keys(je.nameTable).forEach((e=>{var r=je.nameTable[e];while(r){var t=r.name_next;if(o.includes(r.mount)){je.destroyNode(r)}r=t}}));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=je.lookupPath(e,{parent:true});var o=n.node;var a=ce.basename(e);if(!a||a==="."||a===".."){throw new je.ErrnoError(28)}var i=je.mayCreate(o,a);if(i){throw new je.ErrnoError(i)}if(!o.node_ops.mknod){throw new je.ErrnoError(63)}return o.node_ops.mknod(o,a,r,t)},create(e,r){r=r!==undefined?r:438;r&=4095;r|=32768;return je.mknod(e,r,0)},mkdir(e,r){r=r!==undefined?r:511;r&=511|512;r|=16384;return je.mknod(e,r,0)},mkdirTree(e,r){var t=e.split("/");var n="";for(var o=0;o<t.length;++o){if(!t[o])continue;n+="/"+t[o];try{je.mkdir(n,r)}catch(e){if(e.errno!=20)throw e}}},mkdev(e,r,t){if(typeof t=="undefined"){t=r;r=438}r|=8192;return je.mknod(e,r,t)},symlink(e,r){if(!me.resolve(e)){throw new je.ErrnoError(44)}var t=je.lookupPath(r,{parent:true});var n=t.node;if(!n){throw new je.ErrnoError(44)}var o=ce.basename(r);var a=je.mayCreate(n,o);if(a){throw new je.ErrnoError(a)}if(!n.node_ops.symlink){throw new je.ErrnoError(63)}return n.node_ops.symlink(n,o,e)},rename(e,r){var t=ce.dirname(e);var n=ce.dirname(r);var o=ce.basename(e);var a=ce.basename(r);var i,s,u;i=je.lookupPath(e,{parent:true});s=i.node;i=je.lookupPath(r,{parent:true});u=i.node;if(!s||!u)throw new je.ErrnoError(44);if(s.mount!==u.mount){throw new je.ErrnoError(75)}var l=je.lookupNode(s,o);var f=me.relative(e,n);if(f.charAt(0)!=="."){throw new je.ErrnoError(28)}f=me.relative(r,t);if(f.charAt(0)!=="."){throw new je.ErrnoError(55)}var d;try{d=je.lookupNode(u,a)}catch(e){}if(l===d){return}var c=je.isDir(l.mode);var m=je.mayDelete(s,o,c);if(m){throw new je.ErrnoError(m)}m=d?je.mayDelete(u,a,c):je.mayCreate(u,a);if(m){throw new je.ErrnoError(m)}if(!s.node_ops.rename){throw new je.ErrnoError(63)}if(je.isMountpoint(l)||d&&je.isMountpoint(d)){throw new je.ErrnoError(10)}if(u!==s){m=je.nodePermissions(s,"w");if(m){throw new je.ErrnoError(m)}}je.hashRemoveNode(l);try{s.node_ops.rename(l,u,a)}catch(e){throw e}finally{je.hashAddNode(l)}},rmdir(e){var r=je.lookupPath(e,{parent:true});var t=r.node;var n=ce.basename(e);var o=je.lookupNode(t,n);var a=je.mayDelete(t,n,true);if(a){throw new je.ErrnoError(a)}if(!t.node_ops.rmdir){throw new je.ErrnoError(63)}if(je.isMountpoint(o)){throw new je.ErrnoError(10)}t.node_ops.rmdir(t,n);je.destroyNode(o)},readdir(e){var r=je.lookupPath(e,{follow:true});var t=r.node;if(!t.node_ops.readdir){throw new je.ErrnoError(54)}return t.node_ops.readdir(t)},unlink(e){var r=je.lookupPath(e,{parent:true});var t=r.node;if(!t){throw new je.ErrnoError(44)}var n=ce.basename(e);var o=je.lookupNode(t,n);var a=je.mayDelete(t,n,false);if(a){throw new je.ErrnoError(a)}if(!t.node_ops.unlink){throw new je.ErrnoError(63)}if(je.isMountpoint(o)){throw new je.ErrnoError(10)}t.node_ops.unlink(t,n);je.destroyNode(o)},readlink(e){var r=je.lookupPath(e);var t=r.node;if(!t){throw new je.ErrnoError(44)}if(!t.node_ops.readlink){throw new je.ErrnoError(28)}return me.resolve(je.getPath(t.parent),t.node_ops.readlink(t))},stat(e,r){var t=je.lookupPath(e,{follow:!r});var n=t.node;if(!n){throw new je.ErrnoError(44)}if(!n.node_ops.getattr){throw new je.ErrnoError(63)}return n.node_ops.getattr(n)},lstat(e){return je.stat(e,true)},chmod(e,r,t){var n;if(typeof e=="string"){var o=je.lookupPath(e,{follow:!t});n=o.node}else{n=e}if(!n.node_ops.setattr){throw new je.ErrnoError(63)}n.node_ops.setattr(n,{mode:r&4095|n.mode&~4095,timestamp:Date.now()})},lchmod(e,r){je.chmod(e,r,true)},fchmod(e,r){var t=je.getStreamChecked(e);je.chmod(t.node,r)},chown(e,r,t,n){var o;if(typeof e=="string"){var a=je.lookupPath(e,{follow:!n});o=a.node}else{o=e}if(!o.node_ops.setattr){throw new je.ErrnoError(63)}o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){je.chown(e,r,t,true)},fchown(e,r,t){var n=je.getStreamChecked(e);je.chown(n.node,r,t)},truncate(e,r){if(r<0){throw new je.ErrnoError(28)}var t;if(typeof e=="string"){var n=je.lookupPath(e,{follow:true});t=n.node}else{t=e}if(!t.node_ops.setattr){throw new je.ErrnoError(63)}if(je.isDir(t.mode)){throw new je.ErrnoError(31)}if(!je.isFile(t.mode)){throw new je.ErrnoError(28)}var o=je.nodePermissions(t,"w");if(o){throw new je.ErrnoError(o)}t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=je.getStreamChecked(e);if((t.flags&2097155)===0){throw new je.ErrnoError(28)}je.truncate(t.node,r)},utime(e,r,t){var n=je.lookupPath(e,{follow:true});var o=n.node;o.node_ops.setattr(o,{timestamp:Math.max(r,t)})},open(e,r,n){if(e===""){throw new je.ErrnoError(44)}r=typeof r=="string"?Re(r):r;n=typeof n=="undefined"?438:n;if(r&64){n=n&4095|32768}else{n=0}var o;if(typeof e=="object"){o=e}else{e=ce.normalize(e);try{var a=je.lookupPath(e,{follow:!(r&131072)});o=a.node}catch(e){}}var i=false;if(r&64){if(o){if(r&128){throw new je.ErrnoError(20)}}else{o=je.mknod(e,n,0);i=true}}if(!o){throw new je.ErrnoError(44)}if(je.isChrdev(o.mode)){r&=~512}if(r&65536&&!je.isDir(o.mode)){throw new je.ErrnoError(54)}if(!i){var s=je.mayOpen(o,r);if(s){throw new je.ErrnoError(s)}}if(r&512&&!i){je.truncate(o,0)}r&=~(128|512|131072);var u=je.createStream({node:o,path:je.getPath(o),flags:r,seekable:true,position:0,stream_ops:o.stream_ops,ungotten:[],error:false});if(u.stream_ops.open){u.stream_ops.open(u)}if(t["logReadFiles"]&&!(r&1)){if(!je.readFiles)je.readFiles={};if(!(e in je.readFiles)){je.readFiles[e]=1}}return u},close(e){if(je.isClosed(e)){throw new je.ErrnoError(8)}if(e.getdents)e.getdents=null;try{if(e.stream_ops.close){e.stream_ops.close(e)}}catch(e){throw e}finally{je.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,t){if(je.isClosed(e)){throw new je.ErrnoError(8)}if(!e.seekable||!e.stream_ops.llseek){throw new je.ErrnoError(70)}if(t!=0&&t!=1&&t!=2){throw new je.ErrnoError(28)}e.position=e.stream_ops.llseek(e,r,t);e.ungotten=[];return e.position},read(e,r,t,n,o){if(n<0||o<0){throw new je.ErrnoError(28)}if(je.isClosed(e)){throw new je.ErrnoError(8)}if((e.flags&2097155)===1){throw new je.ErrnoError(8)}if(je.isDir(e.node.mode)){throw new je.ErrnoError(31)}if(!e.stream_ops.read){throw new je.ErrnoError(28)}var a=typeof o!="undefined";if(!a){o=e.position}else if(!e.seekable){throw new je.ErrnoError(70)}var i=e.stream_ops.read(e,r,t,n,o);if(!a)e.position+=i;return i},write(e,r,t,n,o,a){if(n<0||o<0){throw new je.ErrnoError(28)}if(je.isClosed(e)){throw new je.ErrnoError(8)}if((e.flags&2097155)===0){throw new je.ErrnoError(8)}if(je.isDir(e.node.mode)){throw new je.ErrnoError(31)}if(!e.stream_ops.write){throw new je.ErrnoError(28)}if(e.seekable&&e.flags&1024){je.llseek(e,0,2)}var i=typeof o!="undefined";if(!i){o=e.position}else if(!e.seekable){throw new je.ErrnoError(70)}var s=e.stream_ops.write(e,r,t,n,o,a);if(!i)e.position+=s;return s},allocate(e,r,t){if(je.isClosed(e)){throw new je.ErrnoError(8)}if(r<0||t<=0){throw new je.ErrnoError(28)}if((e.flags&2097155)===0){throw new je.ErrnoError(8)}if(!je.isFile(e.node.mode)&&!je.isDir(e.node.mode)){throw new je.ErrnoError(43)}if(!e.stream_ops.allocate){throw new je.ErrnoError(138)}e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if((n&2)!==0&&(o&2)===0&&(e.flags&2097155)!==2){throw new je.ErrnoError(2)}if((e.flags&2097155)===1){throw new je.ErrnoError(2)}if(!e.stream_ops.mmap){throw new je.ErrnoError(43)}return e.stream_ops.mmap(e,r,t,n,o)},msync(e,r,t,n,o){if(!e.stream_ops.msync){return 0}return e.stream_ops.msync(e,r,t,n,o)},munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl){throw new je.ErrnoError(59)}return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){r.flags=r.flags||0;r.encoding=r.encoding||"binary";if(r.encoding!=="utf8"&&r.encoding!=="binary"){throw new Error(`Invalid encoding type "${r.encoding}"`)}var t;var n=je.open(e,r.flags);var o=je.stat(e);var a=o.size;var i=new Uint8Array(a);je.read(n,i,0,a,0);if(r.encoding==="utf8"){t=he(i,0)}else if(r.encoding==="binary"){t=i}je.close(n);return t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=je.open(e,t.flags,t.mode);if(typeof r=="string"){var o=new Uint8Array(we(r)+1);var a=ye(r,o,0,o.length);je.write(n,o,0,a,undefined,t.canOwn)}else if(ArrayBuffer.isView(r)){je.write(n,r,0,r.byteLength,undefined,t.canOwn)}else{throw new Error("Unsupported data type")}je.close(n)},cwd:()=>je.currentPath,chdir(e){var r=je.lookupPath(e,{follow:true});if(r.node===null){throw new je.ErrnoError(44)}if(!je.isDir(r.node.mode)){throw new je.ErrnoError(54)}var t=je.nodePermissions(r.node,"x");if(t){throw new je.ErrnoError(t)}je.currentPath=r.path},createDefaultDirectories(){je.mkdir("/tmp");je.mkdir("/home");je.mkdir("/home/web_user")},createDefaultDevices(){je.mkdir("/dev");je.registerDevice(je.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n});je.mkdev("/dev/null",je.makedev(1,3));ke.register(je.makedev(5,0),ke.default_tty_ops);ke.register(je.makedev(6,0),ke.default_tty1_ops);je.mkdev("/dev/tty",je.makedev(5,0));je.mkdev("/dev/tty1",je.makedev(6,0));var e=new Uint8Array(1024),r=0;var t=()=>{if(r===0){r=de(e).byteLength}return e[--r]};je.createDevice("/dev","random",t);je.createDevice("/dev","urandom",t);je.mkdir("/dev/shm");je.mkdir("/dev/shm/tmp")},createSpecialDirectories(){je.mkdir("/proc");var e=je.mkdir("/proc/self");je.mkdir("/proc/self/fd");je.mount({mount(){var r=je.createNode(e,"fd",16384|511,73);r.node_ops={lookup(e,r){var t=+r;var n=je.getStreamChecked(t);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};o.parent=o;return o}};return r}},{},"/proc/self/fd")},createStandardStreams(){if(t["stdin"]){je.createDevice("/dev","stdin",t["stdin"])}else{je.symlink("/dev/tty","/dev/stdin")}if(t["stdout"]){je.createDevice("/dev","stdout",null,t["stdout"])}else{je.symlink("/dev/tty","/dev/stdout")}if(t["stderr"]){je.createDevice("/dev","stderr",null,t["stderr"])}else{je.symlink("/dev/tty1","/dev/stderr")}var e=je.open("/dev/stdin",0);var r=je.open("/dev/stdout",1);var n=je.open("/dev/stderr",1)},ensureErrnoError(){if(je.ErrnoError)return;je.ErrnoError=function e(r,t){this.name="ErrnoError";this.node=t;this.setErrno=function(e){this.errno=e};this.setErrno(r);this.message="FS error"};je.ErrnoError.prototype=new Error;je.ErrnoError.prototype.constructor=je.ErrnoError;[44].forEach((e=>{je.genericErrors[e]=new je.ErrnoError(e);je.genericErrors[e].stack="<generic error, no stack>"}))},staticInit(){je.ensureErrnoError();je.nameTable=new Array(4096);je.mount(_e,{},"/");je.createDefaultDirectories();je.createDefaultDevices();je.createSpecialDirectories();je.filesystems={MEMFS:_e,IDBFS:xe}},init(e,r,n){je.init.initialized=true;je.ensureErrnoError();t["stdin"]=e||t["stdin"];t["stdout"]=r||t["stdout"];t["stderr"]=n||t["stderr"];je.createStandardStreams()},quit(){je.init.initialized=false;for(var e=0;e<je.streams.length;e++){var r=je.streams[e];if(!r){continue}je.close(r)}},findObject(e,r){var t=je.analyzePath(e,r);if(!t.exists){return null}return t.object},analyzePath(e,r){try{var t=je.lookupPath(e,{follow:!r});e=t.path}catch(e){}var n={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var t=je.lookupPath(e,{parent:true});n.parentExists=true;n.parentPath=t.path;n.parentObject=t.node;n.name=ce.basename(e);t=je.lookupPath(e,{follow:!r});n.exists=true;n.path=t.path;n.object=t.node;n.name=t.node.name;n.isRoot=t.path==="/"}catch(e){n.error=e.errno}return n},createPath(e,r,t,n){e=typeof e=="string"?e:je.getPath(e);var o=r.split("/").reverse();while(o.length){var a=o.pop();if(!a)continue;var i=ce.join2(e,a);try{je.mkdir(i)}catch(e){}e=i}return i},createFile(e,r,t,n,o){var a=ce.join2(typeof e=="string"?e:je.getPath(e),r);var i=Be(n,o);return je.create(a,i)},createDataFile(e,r,t,n,o,a){var i=r;if(e){e=typeof e=="string"?e:je.getPath(e);i=r?ce.join2(e,r):e}var s=Be(n,o);var u=je.create(i,s);if(t){if(typeof t=="string"){var l=new Array(t.length);for(var f=0,d=t.length;f<d;++f)l[f]=t.charCodeAt(f);t=l}je.chmod(u,s|146);var c=je.open(u,577);je.write(c,t,0,t.length,0,a);je.close(c);je.chmod(u,s)}},createDevice(e,r,t,n){var o=ce.join2(typeof e=="string"?e:je.getPath(e),r);var a=Be(!!t,!!n);if(!je.createDevice.major)je.createDevice.major=64;var i=je.makedev(je.createDevice.major++,0);je.registerDevice(i,{open(e){e.seekable=false},close(e){if(n?.buffer?.length){n(10)}},read(e,r,n,o,a){var i=0;for(var s=0;s<o;s++){var u;try{u=t()}catch(e){throw new je.ErrnoError(29)}if(u===undefined&&i===0){throw new je.ErrnoError(6)}if(u===null||u===undefined)break;i++;r[n+s]=u}if(i){e.node.timestamp=Date.now()}return i},write(e,r,t,o,a){for(var i=0;i<o;i++){try{n(r[t+i])}catch(e){throw new je.ErrnoError(29)}}if(o){e.node.timestamp=Date.now()}return i}});return je.mkdev(o,a,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(p){try{e.contents=Ee(p(e.url),true);e.usedBytes=e.contents.length}catch(e){throw new je.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile(e,r,t,n,o){function a(){this.lengthKnown=false;this.chunks=[]}a.prototype.get=function e(r){if(r>this.length-1||r<0){return undefined}var t=r%this.chunkSize;var n=r/this.chunkSize|0;return this.getter(n)[t]};a.prototype.setDataGetter=function e(r){this.getter=r};a.prototype.cacheLength=function e(){var r=new XMLHttpRequest;r.open("HEAD",t,false);r.send(null);if(!(r.status>=200&&r.status<300||r.status===304))throw new Error("Couldn't load "+t+". Status: "+r.status);var n=Number(r.getResponseHeader("Content-length"));var o;var a=(o=r.getResponseHeader("Accept-Ranges"))&&o==="bytes";var i=(o=r.getResponseHeader("Content-Encoding"))&&o==="gzip";var s=1024*1024;if(!a)s=n;var u=(e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;o.open("GET",t,false);if(n!==s)o.setRequestHeader("Range","bytes="+e+"-"+r);o.responseType="arraybuffer";if(o.overrideMimeType){o.overrideMimeType("text/plain; charset=x-user-defined")}o.send(null);if(!(o.status>=200&&o.status<300||o.status===304))throw new Error("Couldn't load "+t+". Status: "+o.status);if(o.response!==undefined){return new Uint8Array(o.response||[])}return Ee(o.responseText||"",true)};var l=this;l.setDataGetter((e=>{var r=e*s;var t=(e+1)*s-1;t=Math.min(t,n-1);if(typeof l.chunks[e]=="undefined"){l.chunks[e]=u(r,t)}if(typeof l.chunks[e]=="undefined")throw new Error("doXHR failed!");return l.chunks[e]}));if(i||!n){s=n=1;n=this.getter(0).length;s=n;g("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=n;this._chunkSize=s;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!f)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var s={isDevice:false,contents:i}}else{var s={isDevice:false,url:t}}var u=je.createFile(e,r,s,n,o);if(s.contents){u.contents=s.contents}else if(s.url){u.contents=null;u.url=s.url}Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};var d=Object.keys(u.stream_ops);d.forEach((e=>{var r=u.stream_ops[e];l[e]=function e(){je.forceLoadFile(u);return r.apply(null,arguments)}}));function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice){for(var s=0;s<i;s++){r[t+s]=a[o+s]}}else{for(var s=0;s<i;s++){r[t+s]=a.get(o+s)}}return i}l.read=(e,r,t,n,o)=>{je.forceLoadFile(u);return c(e,r,t,n,o)};l.mmap=(e,r,t,n,o)=>{je.forceLoadFile(u);var a=be(r);if(!a){throw new je.ErrnoError(48)}c(e,F,a,r,t);return{ptr:a,allocated:true}};u.stream_ops=l;return u}};var Te=function(e,r,t,n){if(!e){e=this}this.parent=e;this.mount=e.mount;this.mounted=null;this.id=je.nextInode++;this.name=r;this.mode=t;this.node_ops={};this.stream_ops={};this.rdev=n};var Ne=292|73;var Le=146;Object.defineProperties(Te.prototype,{read:{get:function(){return(this.mode&Ne)===Ne},set:function(e){e?this.mode|=Ne:this.mode&=~Ne}},write:{get:function(){return(this.mode&Le)===Le},set:function(e){e?this.mode|=Le:this.mode&=~Le}},isFolder:{get:function(){return je.isDir(this.mode)}},isDevice:{get:function(){return je.isChrdev(this.mode)}}});je.FSNode=Te;je.createPreloadedFile=Pe;je.staticInit();var ze={};var Me=se();var Ce=()=>(Ce=Me["b"])();var Oe=()=>(Oe=Me["__errno_location"])();t["PATH"]=ce;t["PATH_FS"]=me;t["FS"]=je;var Ie;K=function e(){if(!Ie)Ue();if(!Ie)K=e};function Ue(){if(X>0){return}I();if(X>0){return}function e(){if(Ie)return;Ie=true;t["calledRun"]=true;if(D)return;U();n(t);if(t["onRuntimeInitialized"])t["onRuntimeInitialized"]();H()}if(t["setStatus"]){t["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){t["setStatus"]("")}),1);e()}),1)}else{e()}}if(t["preInit"]){if(typeof t["preInit"]=="function")t["preInit"]=[t["preInit"]];while(t["preInit"].length>0){t["preInit"].pop()()}}Ue();return r.ready}})();const{FS:r,PATH:t,PATH_FS:n}=await e({locateFile:()=>"data:application/octet-stream;base64,AGFzbQEAAAABBAFgAAADAgEABAUBcAEBAQUGAQGAAoACBw0DAWECAAFiAAABYwEACgQBAgAL"});export{r as FS,t as PATH,n as PATH_FS};