From aabba201c2ce48d6830b44fd8f823587f27b1fe5 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 6 Jul 2026 10:32:08 +0000
Subject: [PATCH] Update J to 9.8.0-beta5
---
index.html | 2 +-
scripts/generate-og-languages.cjs | 2 +-
scripts/known-versions.json | 2 +-
wasm/j/emj.data | 39 +++++++++---------------------
wasm/j/emj.js | 2 +-
wasm/j/emj.wasm | Bin 3114275 -> 3117836 bytes
6 files changed, 15 insertions(+), 32 deletions(-)
diff --git a/index.html b/index.html
index 4520b74..e590cbf 100644
--- a/index.html
+++ b/index.html
@@ -1256,7 +1256,7 @@

diff --git a/scripts/generate-og-languages.cjs b/scripts/generate-og-languages.cjs
index 1966467..0698113 100644
--- a/scripts/generate-og-languages.cjs
+++ b/scripts/generate-og-languages.cjs
@@ -31,7 +31,7 @@ const LANGS = [
{ name: 'BQN', version: 'CBQN 0.12', file: 'bqn.svg' },
{ name: 'Uiua', version: '0.19.0-dev.4', file: 'uiua.png' },
// Row 2
- { name: 'J', version: 'J9.8.0-beta4', file: 'j_logo.svg' },
+ { name: 'J', version: 'J9.8.0-beta5', file: 'j_logo.svg' },
{ name: 'Kap', version: '2026-07-04', file: 'kap.png' },
{ name: 'TinyAPL', version: '0.13-beta', file: 'tinyapl.svg' },
];
diff --git a/scripts/known-versions.json b/scripts/known-versions.json
index e1ea652..b3106be 100644
--- a/scripts/known-versions.json
+++ b/scripts/known-versions.json
@@ -1,7 +1,7 @@
{
"cbqn": "v0.12.0",
"uiua": "0.19.0-dev.4",
- "j": "9.8.0-beta4",
+ "j": "9.8.0-beta5",
"kap": "20260704-1",
"tinyapl": "0.12.0"
}
diff --git a/wasm/j/emj.data b/wasm/j/emj.data
index a6c9068..20f9214 100644
--- a/wasm/j/emj.data
+++ b/wasm/j/emj.data
@@ -16,10 +16,9 @@ else.
end.
NB. Names of params, and defaults
-long_param_names =. ;: 'keytype keyshape valuetype valueshape keyhash keycompare initcapacity name'
-(long_param_names) =. 4 ; (i. 0) ; 4 ; (i. 0) ; (16!:0`'') ; (16!:0`'') ; 100 ; ''
-short_param_names =. _2 <\ 'ktksvtvs'
-occupancy=. 0.5 NB. hash only
+long_param_names =. ;: 'valuetype valueshape keytype keyshape keyhash keycompare initcapacity name occupancy'
+(long_param_names) =. 4 ; (i. 0) ; 4 ; (i. 0) ; (16!:0`'') ; (16!:0`'') ; 100 ; '' ; 0.5
+short_param_names =. _2 <\ 'vtvsktks'
if. (-: (index_type {.~ -@#)) 'concurrent' do.
singlethreaded =. 0
@@ -29,8 +28,8 @@ else.
end.
if. #creation_parameters do. names =. {."1 creation_parameters [ values =. {:"1 creation_parameters else. names =. values =. 0$a: end. NB. requests
-if. index_type -: 'hash' do. long_param_names =. long_param_names , <'occupancy' end. NB. occupancy supported only for hash type
names =. (((#short_param_names){.long_param_names),names) {~ (short_param_names,names) i. names NB. xlate short names to long equivs
+long_param_names =. 2 }.^:(issym) }:^:(index_type -.@-: 'hash') long_param_names NB. disallow value for symbols, and occupancy for tree
namex =. long_param_names i. names
if. (#long_param_names) e. namex do. 13!:8&3 'incorrect attribute: ' , ;:^:_1 names #~ (#long_param_names) e. namex end.
(,names) =. ,values NB. assign values to local names (, to unbox if singleton)
@@ -85,12 +84,12 @@ else.
('items',name) =: dict {{
(0 0) 16!:_9 m NB. read-lock.
r =. memu (<<<0 (16!:_5) m) { 1 (16!:_8) m
- if. -. y -: 0 do.
+ if. y do.
r =. r ,&< memu (<<<0 (16!:_5) m) { 2 (16!:_8) m
end.
(1 0) 16!:_9 m
r
- }}@valueshape
+ }}@(0~:valueshape) NB. values only if they are not empty
end.
('close',name) =: (4!:55@;:@(,&name&.>&.;: clsnms)) , (dict 16!:_5~ 1:) NB. clear the empty chain in the keys to avoid errors freeing it
dict NB. We never use the dict itself, but in case a user wants to, this is a hook that they can use to get to it
@@ -136,21 +135,6 @@ t =. t , '/integer1/integer2/integer4/floating2/floating4/floating16'
n {~ (<;._1 t) i. < y
}}
-NB. Parse attribute and set its value. no longer used
-parse =: {{)m
-'attribute value' =: y
-if. (# short_param_names) > idx =. search_short_param_names attribute do.
- attribute =. idx {:: long_param_names
-end.
-incorrect =. (# long_param_names) -: search_long_param_names < attribute
-13!:8&3^:incorrect attribute , ' parameter not supported'
-if. ('literal' -: datatype value) *. (attribute -: 'keytype') +. attribute -: 'valuetype' do.
- value =. typeid_from_typename value
-end.
-(attribute) =: value
-EMPTY
-}}"1
-
coclass'jsymbol' NB. The only extra thing about the symbol class is the path
issym=:1 NB. symbols are created through this locale
coinsert'jdict'
@@ -19224,7 +19208,7 @@ sdinit''
cocurrent <'z'
3 : 0 ''
-JLIB=: '9.8.3'
+JLIB=: '9.8.6'
notdef=. 0: ~: 4!:0 @ <
hostpathsep=: ('/\'{~6=9!:12'')&(I. @ (e.&'/\')@] })
@@ -19283,7 +19267,7 @@ if. notdef 'IFRASPI' do.
IFRASPI=: 0
end.
end.
-if. IF64 +. IFIOS do.
+if. IF64 +. IFIOS +. UNAME -: 'Wasm' do.
IFWOW64=: 0
else.
if. IFUNIX do.
@@ -21485,7 +21469,6 @@ for_i. i.#res do.
end.
if. L. y do. res else. >res end.
)
-Loaded=: ''
Public=: i. 0 2
UserFolders=: i. 0 2
getignore=: 3 : 0
@@ -21728,20 +21711,19 @@ load=: 3 : 0
0 load y
:
fls=. getscripts_j_ y
-fn=. ('script',x#'d')~
+fn=. x & {{ 0!:x_: y_: }}
for_fl. fls do.
if. Displayload_j_ do. smoutput > fl end.
if. -. fexist fl do.
smoutput 'not found: ',>fl
end.
fn fl
- Loaded_j_=: ~. Loaded_j_,fl
end.
empty''
)
loadd=: 1&load
require=: 3 : 0
-fls=. Loaded_j_ -.~ getscripts_j_ y
+fls=. (getscripts_j_ y) -. 4!:3''
if. # fls do. load fls else. empty'' end.
)
scripts=: scripts_j_
@@ -22573,6 +22555,7 @@ nc=. '--no-cache'
n=. 2 {. 100 #.inv >{.revinfo_j_''
RELNO=: ,'0,p<.>0' (8!:2) n
VERNO=: 100 #. n
+if. UNAME -: 'Wasm' do. EMPTY return. end.
if. IFUNIX do.
IFWGET=. IFCURL=. 0
if. -. IFIOS +. UNAME-:'Android' do.
diff --git a/wasm/j/emj.js b/wasm/j/emj.js
index 8508541..da9097d 100644
--- a/wasm/j/emj.js
+++ b/wasm/j/emj.js
@@ -1 +1 @@
-var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="/build/wasm-output/emj.data";var REMOTE_PACKAGE_BASE="emj.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","jlibrary",true,true);Module["FS_createPath"]("/jlibrary","addons",true,true);Module["FS_createPath"]("/jlibrary/addons","data",true,true);Module["FS_createPath"]("/jlibrary/addons/data","dict",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jfiles",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jfiles","test",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jmf",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jmf","test",true,true);Module["FS_createPath"]("/jlibrary/addons","dev",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","eformat",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","lu",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","modular",true,true);Module["FS_createPath"]("/jlibrary/addons","math",true,true);Module["FS_createPath"]("/jlibrary/addons/math","lapack",true,true);Module["FS_createPath"]("/jlibrary","bin",true,true);Module["FS_createPath"]("/jlibrary","system",true,true);Module["FS_createPath"]("/jlibrary/system","config",true,true);Module["FS_createPath"]("/jlibrary/system","defs",true,true);Module["FS_createPath"]("/jlibrary/system","main",true,true);Module["FS_createPath"]("/jlibrary/system","util",true,true);Module["FS_createPath"]("/jlibrary","tools",true,true);Module["FS_createPath"]("/jlibrary/tools","ftp",true,true);Module["FS_createPath"]("/jlibrary/tools","regex",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i
{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!="undefined"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="emj.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function execHost(ptr){var cmd=Module.UTF8ToString(ptr);try{var ret=eval(cmd)||" "}catch(e){console.log(e);var ret="error"}const byteCount=Module.lengthBytesUTF8(ret)+1;const retPtr=Module._malloc(byteCount);Module.stringToUTF8(ret,retPtr,byteCount);return retPtr}function execHost1(ptr){var cmd=Module.UTF8ToString(ptr);try{return eval(cmd)||""}catch(e){console.log(e);return"error"}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var ___call_sighandler=(fp,sig)=>(a1=>dynCall_vi.apply(null,[fp,a1]))(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){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(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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 node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},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(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTableMirror=[];var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_memcpy_js:_emscripten_memcpy_js,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,execHost:execHost,execHost1:execHost1,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,invoke_ddi:invoke_ddi,invoke_diid:invoke_diid,invoke_iidiiii:invoke_iidiiii,invoke_iii:invoke_iii,invoke_iiid:invoke_iiid,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_viiii:invoke_viiii,invoke_viiiiii:invoke_viiiiii,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _em_jdo=Module["_em_jdo"]=a0=>(_em_jdo=Module["_em_jdo"]=wasmExports["em_jdo"])(a0);var _em_jsetstr=Module["_em_jsetstr"]=(a0,a1)=>(_em_jsetstr=Module["_em_jsetstr"]=wasmExports["em_jsetstr"])(a0,a1);var _em_jgetstr=Module["_em_jgetstr"]=a0=>(_em_jgetstr=Module["_em_jgetstr"]=wasmExports["em_jgetstr"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["__main_argc_argv"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["setTempRet0"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["setThrew"])(a0,a1);var stackSave=()=>(stackSave=wasmExports["stackSave"])();var stackRestore=a0=>(stackRestore=wasmExports["stackRestore"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["stackAlloc"])(a0);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"])(a0,a1,a2,a3);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"])(a0,a1,a2,a3,a4);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"])(a0,a1,a2,a3);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["dynCall_viiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"])(a0,a1);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"])(a0,a1,a2);var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=wasmExports["dynCall_viiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"])(a0);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"])(a0,a1,a2,a3,a4);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["dynCall_viiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiid=Module["dynCall_iiid"]=(a0,a1,a2,a3)=>(dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"])(a0,a1,a2,a3);var dynCall_diid=Module["dynCall_diid"]=(a0,a1,a2,a3)=>(dynCall_diid=Module["dynCall_diid"]=wasmExports["dynCall_diid"])(a0,a1,a2,a3);var dynCall_ddi=Module["dynCall_ddi"]=(a0,a1,a2)=>(dynCall_ddi=Module["dynCall_ddi"]=wasmExports["dynCall_ddi"])(a0,a1,a2);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"])(a0,a1);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["dynCall_jiji"])(a0,a1,a2,a3,a4);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=169044;var ___start_em_js=Module["___start_em_js"]=294208;var ___stop_em_js=Module["___stop_em_js"]=294648;function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddi(index,a1,a2){var sp=stackSave();try{return dynCall_ddi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iidiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iidiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();
+var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="/build/wasm-output/emj.data";var REMOTE_PACKAGE_BASE="emj.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","jlibrary",true,true);Module["FS_createPath"]("/jlibrary","addons",true,true);Module["FS_createPath"]("/jlibrary/addons","data",true,true);Module["FS_createPath"]("/jlibrary/addons/data","dict",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jfiles",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jfiles","test",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jmf",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jmf","test",true,true);Module["FS_createPath"]("/jlibrary/addons","dev",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","eformat",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","lu",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","modular",true,true);Module["FS_createPath"]("/jlibrary/addons","math",true,true);Module["FS_createPath"]("/jlibrary/addons/math","lapack",true,true);Module["FS_createPath"]("/jlibrary","bin",true,true);Module["FS_createPath"]("/jlibrary","system",true,true);Module["FS_createPath"]("/jlibrary/system","config",true,true);Module["FS_createPath"]("/jlibrary/system","defs",true,true);Module["FS_createPath"]("/jlibrary/system","main",true,true);Module["FS_createPath"]("/jlibrary/system","util",true,true);Module["FS_createPath"]("/jlibrary","tools",true,true);Module["FS_createPath"]("/jlibrary/tools","ftp",true,true);Module["FS_createPath"]("/jlibrary/tools","regex",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!="undefined"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="emj.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function execHost(ptr){var cmd=Module.UTF8ToString(ptr);try{var ret=eval(cmd)||" "}catch(e){console.log(e);var ret="error"}const byteCount=Module.lengthBytesUTF8(ret)+1;const retPtr=Module._malloc(byteCount);Module.stringToUTF8(ret,retPtr,byteCount);return retPtr}function execHost1(ptr){var cmd=Module.UTF8ToString(ptr);try{return eval(cmd)||""}catch(e){console.log(e);return"error"}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var ___call_sighandler=(fp,sig)=>(a1=>dynCall_vi.apply(null,[fp,a1]))(sig);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){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(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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 node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},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(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __emscripten_fs_load_embedded_files=ptr=>{do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTableMirror=[];var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;var wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_memcpy_js:_emscripten_memcpy_js,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,execHost:execHost,execHost1:execHost1,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,invoke_ddi:invoke_ddi,invoke_diid:invoke_diid,invoke_iidiiii:invoke_iidiiii,invoke_iii:invoke_iii,invoke_iiid:invoke_iiid,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_viiii:invoke_viiii,invoke_viiiiii:invoke_viiiiii,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _em_jdo=Module["_em_jdo"]=a0=>(_em_jdo=Module["_em_jdo"]=wasmExports["em_jdo"])(a0);var _em_jsetstr=Module["_em_jsetstr"]=(a0,a1)=>(_em_jsetstr=Module["_em_jsetstr"]=wasmExports["em_jsetstr"])(a0,a1);var _em_jgetstr=Module["_em_jgetstr"]=a0=>(_em_jgetstr=Module["_em_jgetstr"]=wasmExports["em_jgetstr"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["__main_argc_argv"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["setTempRet0"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["setThrew"])(a0,a1);var stackSave=()=>(stackSave=wasmExports["stackSave"])();var stackRestore=a0=>(stackRestore=wasmExports["stackRestore"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["stackAlloc"])(a0);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"])(a0,a1,a2,a3);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"])(a0,a1,a2,a3,a4);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"])(a0,a1,a2,a3);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["dynCall_viiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"])(a0,a1);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"])(a0,a1,a2);var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=wasmExports["dynCall_viiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"])(a0);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"])(a0,a1,a2,a3,a4);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["dynCall_viiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiid=Module["dynCall_iiid"]=(a0,a1,a2,a3)=>(dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"])(a0,a1,a2,a3);var dynCall_diid=Module["dynCall_diid"]=(a0,a1,a2,a3)=>(dynCall_diid=Module["dynCall_diid"]=wasmExports["dynCall_diid"])(a0,a1,a2,a3);var dynCall_ddi=Module["dynCall_ddi"]=(a0,a1,a2)=>(dynCall_ddi=Module["dynCall_ddi"]=wasmExports["dynCall_ddi"])(a0,a1,a2);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"])(a0,a1);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["dynCall_jiji"])(a0,a1,a2,a3,a4);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=169108;var ___start_em_js=Module["___start_em_js"]=294144;var ___stop_em_js=Module["___stop_em_js"]=294584;function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddi(index,a1,a2){var sp=stackSave();try{return dynCall_ddi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iidiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iidiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(args=arguments_){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();
diff --git a/wasm/j/emj.wasm b/wasm/j/emj.wasm
index 477ecd2028e7bdd80c51283971e275fce1df1483..4b47bab9cecf85e031bde5aa6dfebc50f08d3e36 100644
GIT binary patch
delta 259329
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