@microblink/photopay-in-browser-sdk
Version:
A simple payment barcode scanning library for WebAssembly-enabled browsers.
129 lines (125 loc) • 74.1 kB
JavaScript
var PhotoPayWasmSDK = (function() {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
return (
function(PhotoPayWasmSDK) {
PhotoPayWasmSDK = PhotoPayWasmSDK || {};
function g(){n.buffer!=r&&aa(n.buffer);return ba}function u(){n.buffer!=r&&aa(n.buffer);return ca}function da(){n.buffer!=r&&aa(n.buffer);return ea}function v(){n.buffer!=r&&aa(n.buffer);return fa}function A(){n.buffer!=r&&aa(n.buffer);return ha}function B(){n.buffer!=r&&aa(n.buffer);return ia}function ja(){n.buffer!=r&&aa(n.buffer);return ka}var C;C||(C=typeof PhotoPayWasmSDK !== 'undefined' ? PhotoPayWasmSDK : {});var la,ma;C.ready=new Promise(function(a,b){la=a;ma=b});
var crypto={getRandomValues:function(a){for(var b=0;b<a.length;b++)a[b]=256*Math.random()|0}},na;na=C.allowedThreads&&0<C.allowedThreads?C.allowedThreads-1:navigator.hardwareConcurrency-1;var oa=0,pa;0<na&&(C.threadWorkersReadyPromise=new Promise(function(a){pa=a}));C.preRun||(C.preRun=[]);C.preRun.push(function(a){function b(){oa++;oa==na&&pa()}var c=a.PThread.sc;a.PThread.sc=function(d){c(d,b)}});var qa={},ra;for(ra in C)C.hasOwnProperty(ra)&&(qa[ra]=C[ra]);var sa="./this.program";
function ta(a,b){throw b;}var ua="object"===typeof window,wa="function"===typeof importScripts,xa="object"===typeof process&&"object"===typeof process.Rd&&"string"===typeof process.Rd.node,D=C.ENVIRONMENT_IS_PTHREAD||!1,ya="";function za(a){return C.locateFile?C.locateFile(a,ya):ya+a}var Aa;
if(ua||wa)wa?ya=self.location.href:"undefined"!==typeof document&&document.currentScript&&(ya=document.currentScript.src),_scriptDir&&(ya=_scriptDir),ya=0!==ya.indexOf("blob:")?ya.substr(0,ya.lastIndexOf("/")+1):"",wa&&(Aa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var Ba=C.print||console.log.bind(console),F=C.printErr||console.warn.bind(console);for(ra in qa)qa.hasOwnProperty(ra)&&(C[ra]=qa[ra]);qa=null;
C.thisProgram&&(sa=C.thisProgram);C.quit&&(ta=C.quit);var Ca,Da;C.wasmBinary&&(Da=C.wasmBinary);var noExitRuntime=C.noExitRuntime||!0;"object"!==typeof WebAssembly&&I("no native wasm support detected");var n,Ea,Fa=!1,Ga;function Ha(a){a||I("Assertion failed: undefined")}function Ia(a){var b=new TextDecoder(a);this.decode=function(c){c.buffer instanceof SharedArrayBuffer&&(c=new Uint8Array(c));return b.decode.call(b,c)}}var Ja="undefined"!==typeof TextDecoder?new Ia("utf8"):void 0;
function Ka(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&Ja)return Ja.decode(a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var h=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|h:(e&7)<<18|f<<12|h<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}function J(a,b){return a?Ka(u(),a,b):""}
function La(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var f=0;f<a.length;++f){var h=a.charCodeAt(f);if(55296<=h&&57343>=h){var l=a.charCodeAt(++f);h=65536+((h&1023)<<10)|l&1023}if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(c+3>=d)break;b[c++]=240|h>>18;b[c++]=128|h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-e}function K(a,b,c){La(a,u(),b,c)}
function Ma(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:b+4}return b}var Na="undefined"!==typeof TextDecoder?new Ia("utf-16le"):void 0;function Oa(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&v()[c];)++c;c<<=1;if(32<c-a&&Na)return Na.decode(u().subarray(a,c));c="";for(d=0;!(d>=b/2);++d){var e=da()[a+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}
function Pa(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var f=a.charCodeAt(e);da()[b>>1]=f;b+=2}da()[b>>1]=0;return b-d}function Qa(a){return 2*a.length}function Ra(a,b){for(var c=0,d="";!(c>=b/4);){var e=A()[a+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}
function Sa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.charCodeAt(e);if(55296<=f&&57343>=f){var h=a.charCodeAt(++e);f=65536+((f&1023)<<10)|h&1023}A()[b>>2]=f;b+=4;if(b+4>c)break}A()[b>>2]=0;return b-d}function Ua(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b}function Va(a){var b=Ma(a)+1,c=N(b);c&&La(a,g(),c,b);return c}function Wa(a,b){g().set(a,b)}var r,ba,ca,ea,fa,ha,ia,Xa,ka;D&&(r=C.buffer);
function aa(a){r=a;C.HEAP8=ba=new Int8Array(a);C.HEAP16=ea=new Int16Array(a);C.HEAP32=ha=new Int32Array(a);C.HEAPU8=ca=new Uint8Array(a);C.HEAPU16=fa=new Uint16Array(a);C.HEAPU32=ia=new Uint32Array(a);C.HEAPF32=Xa=new Float32Array(a);C.HEAPF64=ka=new Float64Array(a)}var Ya=C.INITIAL_MEMORY||209715200;
if(D)n=C.wasmMemory,r=C.buffer;else if(C.wasmMemory)n=C.wasmMemory;else if(n=new WebAssembly.Memory({initial:Ya/65536,maximum:12800,shared:!0}),!(n.buffer instanceof SharedArrayBuffer))throw F("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),xa&&console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)"),
Error("bad memory");n&&(r=n.buffer);Ya=r.byteLength;aa(r);var P,Za=[],$a=[],ab=[],bb=0;function cb(){return noExitRuntime||0<bb}function db(){D||(C.noFSInit||eb||(eb=!0,fb(),C.stdin=C.stdin,C.stdout=C.stdout,C.stderr=C.stderr,C.stdin?gb("stdin",C.stdin):hb("/dev/tty","/dev/stdin"),C.stdout?gb("stdout",null,C.stdout):hb("/dev/tty","/dev/stdout"),C.stderr?gb("stderr",null,C.stderr):hb("/dev/tty1","/dev/stderr"),ib("/dev/stdin",0),ib("/dev/stdout",1),ib("/dev/stderr",1)),jb=!1,kb($a))}
function lb(){var a=C.preRun.shift();Za.unshift(a)}var mb=0,nb=null,ob=null;function pb(){mb++;C.monitorRunDependencies&&C.monitorRunDependencies(mb)}function qb(){mb--;C.monitorRunDependencies&&C.monitorRunDependencies(mb);if(0==mb&&(null!==nb&&(clearInterval(nb),nb=null),ob)){var a=ob;ob=null;a()}}C.preloadedImages={};C.preloadedAudios={};
function I(a){if(C.onAbort)C.onAbort(a);Ha(!D);a+="";F(a);Fa=!0;Ga=1;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ma(a);throw a;}function rb(){return sb.startsWith("data:application/octet-stream;base64,")}var sb;sb="PhotoPayWasmSDK.wasm";rb()||(sb=za(sb));function tb(){var a=sb;try{if(a==sb&&Da)return new Uint8Array(Da);if(Aa)return Aa(a);throw"both async and sync fetching of the wasm failed";}catch(b){I(b)}}
function ub(){return Da||!ua&&!wa||"function"!==typeof fetch?Promise.resolve().then(function(){return tb()}):fetch(sb,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+sb+"'";return a.arrayBuffer()}).catch(function(){return tb()})}
var Q,vb,wb={254004:function(a){a=J(a);throw Error("Failed to reconfigure RecognizerRunner due to following error: "+a);},254140:function(a,b,c,d){a=J(a);b=J(b);c=J(c);d=J(d);throw Error(a+b+c+d);},254356:function(a,b){a=J(a);b=J(b);throw Error(a+b);},254466:function(a,b){a=J(a);b=J(b);console.log(a+b)},254564:function(a){throw Error(J(a));},254607:function(){throw Error("Unable to perform that operation while recognizer is in use!");},254690:function(){throw Error("Unable to perform that operation while recognizer is in use!");
},254773:function(){throw Error("Unable to perform that operation while recognizer is in use!");},254856:function(){throw Error("Unable to perform that operation while recognizer is in use!");},254939:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255022:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255105:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255188:function(){throw Error("Unable to perform that operation while recognizer is in use!");
},255271:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255354:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255437:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255520:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255603:function(){throw Error("Unable to perform that operation while recognizer is in use!");},255686:function(){throw Error("Unable to perform that operation while recognizer is in use!");
}};function kb(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(C);else{var c=b.Vd;"number"===typeof c?void 0===b.Nb?P.get(c)():P.get(c)(b.Nb):c(void 0===b.Nb?null:b.Nb)}}}
function xb(a,b){if(0>=a||a>g().length||a&1||0>b)return-28;if(0==b)return 0;2147483647<=b&&(b=Infinity);var c=Atomics.load(A(),yb>>2),d=0;if(c==a&&Atomics.compareExchange(A(),yb>>2,c,0)==c&&(--b,d=1,0>=b))return 1;a=Atomics.notify(A(),a>>2,b);if(0<=a)return a+d;throw"Atomics.notify returned an unexpected value "+a;}C._emscripten_futex_wake=xb;
function zb(a){if(D)throw"Internal Error! cleanupThread() can only ever be called from main application thread!";if(!a)throw"Internal Error! Null pthread_ptr in cleanupThread!";var b=R.rb[a];b&&(A()[a+8>>2]=0,R.fc(b.worker))}function Ab(a){if(!(a instanceof Bb||"unwind"===a))throw a&&"object"===typeof a&&a.stack&&F("exception thrown: "+[a,a.stack]),a;}
var R={Eb:[],Db:[],yc:[],Yd:function(){},md:function(a){Cb(a,!wa,1)},nd:function(){R.receiveObjectTransfer=R.Ad;R.threadInit=R.Kd;R.setExitStatus=R.Ed},rb:{},xc:[],Pc:function(){for(;0<R.xc.length;)R.xc.pop()();Db()},Ed:function(a){Ga=a},Qc:function(){for(var a in R.rb){var b=R.rb[a];b&&b.worker&&R.fc(b.worker)}R.rb={};for(a=0;a<R.Eb.length;++a){var c=R.Eb[a];c.terminate()}R.Eb=[];for(a=0;a<R.Db.length;++a)c=R.Db[a],b=c.qb,R.oc(b),c.terminate();R.Db=[]},oc:function(a){if(a){if(a.yb){var b=A()[a.yb+
96>>2];A()[a.yb+96>>2]=0;S(b);S(a.yb)}a.yb=0;a.mc&&a.Hb&&S(a.Hb);a.Hb=0;a.worker&&(a.worker.qb=null)}},fc:function(a){R.Cd(function(){delete R.rb[a.qb.yb];R.Eb.push(a);R.Db.splice(R.Db.indexOf(a),1);R.oc(a.qb);a.qb=void 0})},Cd:function(a){A()[Eb>>2]=0;try{a()}finally{A()[Eb>>2]=1}},Ad:function(){},Kd:function(){for(var a in R.yc)R.yc[a]()},sc:function(a,b){a.onmessage=function(c){var d=c.data,e=d.cmd;a.qb&&(R.Yc=a.qb.yb);if(d.targetThread&&d.targetThread!=Fb()){var f=R.rb[d.ee];f?f.worker.postMessage(c.data,
d.transferList):F('Internal error! Worker sent a message "'+e+'" to target pthread '+d.targetThread+", but that thread no longer exists!")}else if("processQueuedMainThreadWork"===e)Gb();else if("spawnThread"===e)Hb(c.data);else if("cleanupThread"===e)zb(d.thread);else if("killThread"===e){c=d.thread;if(D)throw"Internal Error! killThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in killThread!";A()[c+8>>2]=0;d=R.rb[c];delete R.rb[c];d.worker.terminate();
R.oc(d);R.Db.splice(R.Db.indexOf(d.worker),1);d.worker.qb=void 0}else if("cancelThread"===e){c=d.thread;if(D)throw"Internal Error! cancelThread() can only ever be called from main application thread!";if(!c)throw"Internal Error! Null pthread_ptr in cancelThread!";R.rb[c].worker.postMessage({cmd:"cancel"})}else if("loaded"===e)a.loaded=!0,b&&b(a),a.Sb&&(a.Sb(),delete a.Sb);else if("print"===e)Ba("Thread "+d.threadId+": "+d.text);else if("printErr"===e)F("Thread "+d.threadId+": "+d.text);else if("alert"===
e)alert("Thread "+d.threadId+": "+d.text);else if("exit"===e)a.qb&&Atomics.load(B(),a.qb.yb+60>>2)&&R.fc(a);else if("exitProcess"===e)try{Ib(d.returnCode)}catch(h){Ab(h)}else"cancelDone"===e?R.fc(a):"objectTransfer"!==e&&("setimmediate"===c.data.target?a.postMessage(c.data):F("worker sent an unknown command "+e));R.Yc=void 0};a.onerror=function(c){F("pthread sent an error! "+c.filename+":"+c.lineno+": "+c.message);throw c;};a.postMessage({cmd:"load",urlOrBlob:C.mainScriptUrlOrBlob||_scriptDir,wasmMemory:n,
wasmModule:Ea})},Sc:function(){var a=za("PhotoPayWasmSDK.worker.js");R.Eb.push(new Worker(a))},dd:function(){0==R.Eb.length&&(R.Sc(),R.sc(R.Eb[0]));return R.Eb.pop()}};C.establishStackSpace=function(a,b){Jb(a,b);Kb(a)};C.invokeEntryPoint=function(a,b){return P.get(a)(b)};var Lb;Lb=D?function(){return performance.now()-C.__performance_now_clock_drift}:function(){return performance.now()};
function Mb(){function a(h){return(h=h.toTimeString().match(/\(([A-Za-z ]+)\)$/))?h[1]:"GMT"}if(D)return T(2,1);var b=(new Date).getFullYear(),c=new Date(b,0,1),d=new Date(b,6,1);b=c.getTimezoneOffset();var e=d.getTimezoneOffset(),f=Math.max(b,e);A()[Nb()>>2]=60*f;A()[Ob()>>2]=Number(b!=e);c=a(c);d=a(d);c=Va(c);d=Va(d);e<b?(A()[Pb()>>2]=c,A()[Pb()+4>>2]=d):(A()[Pb()>>2]=d,A()[Pb()+4>>2]=c)}var Qb;function Rb(a,b){u().fill(0,a,a+b)}
function Hb(a){if(D)throw"Internal Error! spawnThread() can only ever be called from main application thread!";var b=R.dd();if(!b)return 6;if(void 0!==b.qb)throw"Internal error!";if(!a.ec)throw"Internal error, no pthread ptr!";R.Db.push(b);var c=N(512);Rb(c,512);var d=a.Hb+a.Lb,e=R.rb[a.ec]={worker:b,Hb:a.Hb,Lb:a.Lb,mc:a.mc,yb:a.ec},f=e.yb>>2;Atomics.store(B(),f+15,a.detached);Atomics.store(B(),f+24,c);Atomics.store(B(),f+9,e.yb);Atomics.store(B(),f+19,a.Lb);Atomics.store(B(),f+18,d);Atomics.store(B(),
f+25,a.Lb);Atomics.store(B(),f+27,d);Atomics.store(B(),f+28,a.detached);c=Sb()+40;Atomics.store(B(),f+42,c);b.qb=e;var h={cmd:"run",start_routine:a.Jd,arg:a.Nb,threadInfoStruct:a.ec,stackBase:a.Hb,stackSize:a.Lb};b.Sb=function(){h.time=performance.now();b.postMessage(h,a.Pd)};b.loaded&&(b.Sb(),delete b.Sb);return 0}
function Tb(a,b,c){if(0>=a||a>g().length||a&1)return-28;if(ua){if(Atomics.load(A(),a>>2)!=b)return-6;var d=performance.now();c=d+c;for(Atomics.exchange(A(),yb>>2,a);;){d=performance.now();if(d>c)return Atomics.exchange(A(),yb>>2,0),-73;d=Atomics.exchange(A(),yb>>2,0);if(0==d)break;Gb();if(Atomics.load(A(),a>>2)!=b)return-6;Atomics.exchange(A(),yb>>2,a)}return 0}a=Atomics.wait(A(),a>>2,b,c);if("timed-out"===a)return-73;if("not-equal"===a)return-6;if("ok"===a)return 0;throw"Atomics.wait returned an unexpected value "+
a;}function Ub(){wa||(Ca||(Ca={}),Ca["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]||(Ca["Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread"]=1,F("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")))}
function Vb(a,b){if(!a)return F("pthread_join attempted on a null thread pointer!"),71;if(D&&Fb()==a)return F("PThread "+a+" is attempting to join to itself!"),16;if(!D&&Wb()==a)return F("Main thread "+a+" is attempting to join to itself!"),16;if(A()[a+8>>2]!==a)return F("pthread_join attempted on thread "+a+", which does not point to a valid thread, or does not exist anymore!"),71;if(Atomics.load(B(),a+60>>2))return F("Attempted to join thread "+a+", which was already detached!"),28;for(Ub();;){var c=
Atomics.load(B(),a+0>>2);if(1==c)return b&&(c=Atomics.load(B(),a+88>>2),A()[b>>2]=c),Atomics.store(B(),a+60>>2,1),D?postMessage({cmd:"cleanupThread",thread:a}):zb(a),0;Xb();D||Gb();Tb(a+0,c,D?100:1)}}function Yb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c;c--)a.unshift("..");return a}
function Zb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=Yb(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}function $b(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function ac(a){if("/"===a)return"/";a=Zb(a);a=a.replace(/\/$/,"");var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}
function bc(){if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var a=new Uint8Array(1);return function(){crypto.getRandomValues(a);return a[0]}}return function(){I("randomDevice")}}
function cc(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=Yb(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."}var dc=[];function ec(a,b){dc[a]={input:[],lb:[],Kb:b};fc(a,gc)}
var gc={open:function(a){var b=dc[a.node.Qb];if(!b)throw new U(43);a.pb=b;a.seekable=!1},close:function(a){a.pb.Kb.flush(a.pb)},flush:function(a){a.pb.Kb.flush(a.pb)},read:function(a,b,c,d){if(!a.pb||!a.pb.Kb.Hc)throw new U(60);for(var e=0,f=0;f<d;f++){try{var h=a.pb.Kb.Hc(a.pb)}catch(l){throw new U(29);}if(void 0===h&&0===e)throw new U(6);if(null===h||void 0===h)break;e++;b[c+f]=h}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.pb||!a.pb.Kb.tc)throw new U(60);try{for(var e=
0;e<d;e++)a.pb.Kb.tc(a.pb,b[c+e])}catch(f){throw new U(29);}d&&(a.node.timestamp=Date.now());return e}},ic={Hc:function(a){if(!a.input.length){var b=null;"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),null!==b&&(b+="\n")):"function"==typeof readline&&(b=readline(),null!==b&&(b+="\n"));if(!b)return null;a.input=hc(b,!0)}return a.input.shift()},tc:function(a,b){null===b||10===b?(Ba(Ka(a.lb,0)),a.lb=[]):0!=b&&a.lb.push(b)},flush:function(a){a.lb&&0<a.lb.length&&
(Ba(Ka(a.lb,0)),a.lb=[])}},jc={tc:function(a,b){null===b||10===b?(F(Ka(a.lb,0)),a.lb=[]):0!=b&&a.lb.push(b)},flush:function(a){a.lb&&0<a.lb.length&&(F(Ka(a.lb,0)),a.lb=[])}};function kc(a){a=65536*Math.ceil(a/65536);var b=lc(65536,a);if(!b)return 0;Rb(b,a);return b}
var V={wb:null,Ab:function(){return V.createNode(null,"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new U(63);V.wb||(V.wb={dir:{node:{vb:V.eb.vb,xb:V.eb.xb,Ob:V.eb.Ob,ac:V.eb.ac,Nc:V.eb.Nc,Rc:V.eb.Rc,Oc:V.eb.Oc,Mc:V.eb.Mc,hc:V.eb.hc},stream:{Gb:V.fb.Gb}},file:{node:{vb:V.eb.vb,xb:V.eb.xb},stream:{Gb:V.fb.Gb,read:V.fb.read,write:V.fb.write,zc:V.fb.zc,bc:V.fb.bc,dc:V.fb.dc}},link:{node:{vb:V.eb.vb,xb:V.eb.xb,Rb:V.eb.Rb},stream:{}},Ac:{node:{vb:V.eb.vb,xb:V.eb.xb},
stream:mc}});c=nc(a,b,c,d);16384===(c.mode&61440)?(c.eb=V.wb.dir.node,c.fb=V.wb.dir.stream,c.gb={}):32768===(c.mode&61440)?(c.eb=V.wb.file.node,c.fb=V.wb.file.stream,c.jb=0,c.gb=null):40960===(c.mode&61440)?(c.eb=V.wb.link.node,c.fb=V.wb.link.stream):8192===(c.mode&61440)&&(c.eb=V.wb.Ac.node,c.fb=V.wb.Ac.stream);c.timestamp=Date.now();a&&(a.gb[b]=c,a.timestamp=c.timestamp);return c},Wd:function(a){return a.gb?a.gb.subarray?a.gb.subarray(0,a.jb):new Uint8Array(a.gb):new Uint8Array(0)},Dc:function(a,
b){var c=a.gb?a.gb.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.gb,a.gb=new Uint8Array(b),0<a.jb&&a.gb.set(c.subarray(0,a.jb),0))},Bd:function(a,b){if(a.jb!=b)if(0==b)a.gb=null,a.jb=0;else{var c=a.gb;a.gb=new Uint8Array(b);c&&a.gb.set(c.subarray(0,Math.min(b,a.jb)));a.jb=b}},eb:{vb:function(a){var b={};b.Zc=8192===(a.mode&61440)?a.id:1;b.qc=a.id;b.mode=a.mode;b.vd=1;b.uid=0;b.jd=0;b.Qb=a.Qb;b.size=16384===(a.mode&61440)?4096:32768===(a.mode&61440)?a.jb:40960===
(a.mode&61440)?a.link.length:0;b.Tc=new Date(a.timestamp);b.td=new Date(a.timestamp);b.Xc=new Date(a.timestamp);b.Uc=4096;b.Vc=Math.ceil(b.size/b.Uc);return b},xb:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==b.size&&V.Bd(a,b.size)},Ob:function(){throw oc[44];},ac:function(a,b,c,d){return V.createNode(a,b,c,d)},Nc:function(a,b,c){if(16384===(a.mode&61440)){try{var d=pc(b,c)}catch(f){}if(d)for(var e in d.gb)throw new U(55);}delete a.parent.gb[a.name];
a.parent.timestamp=Date.now();a.name=c;b.gb[c]=a;b.timestamp=a.parent.timestamp;a.parent=b},Rc:function(a,b){delete a.gb[b];a.timestamp=Date.now()},Oc:function(a,b){var c=pc(a,b),d;for(d in c.gb)throw new U(55);delete a.gb[b];a.timestamp=Date.now()},Mc:function(a){var b=[".",".."],c;for(c in a.gb)a.gb.hasOwnProperty(c)&&b.push(c);return b},hc:function(a,b,c){a=V.createNode(a,b,41471,0);a.link=c;return a},Rb:function(a){if(40960!==(a.mode&61440))throw new U(28);return a.link}},fb:{read:function(a,
b,c,d,e){var f=a.node.gb;if(e>=a.node.jb)return 0;a=Math.min(a.node.jb-e,d);if(8<a&&f.subarray)b.set(f.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=f[e+d];return a},write:function(a,b,c,d,e,f){b.buffer===g().buffer&&(f=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.gb||a.gb.subarray)){if(f)return a.gb=b.subarray(c,c+d),a.jb=d;if(0===a.jb&&0===e)return a.gb=b.slice(c,c+d),a.jb=d;if(e+d<=a.jb)return a.gb.set(b.subarray(c,c+d),e),d}V.Dc(a,e+d);if(a.gb.subarray&&b.subarray)a.gb.set(b.subarray(c,
c+d),e);else for(f=0;f<d;f++)a.gb[e+f]=b[c+f];a.jb=Math.max(a.jb,e+d);return d},Gb:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.jb);if(0>b)throw new U(28);return b},zc:function(a,b,c){V.Dc(a.node,b+c);a.node.jb=Math.max(a.node.jb,b+c)},bc:function(a,b,c,d,e,f){if(0!==b)throw new U(28);if(32768!==(a.node.mode&61440))throw new U(43);a=a.node.gb;if(f&2||a.buffer!==r){if(0<d||d+c<a.length)a=a.subarray?a.subarray(d,d+c):Array.prototype.slice.call(a,d,d+c);d=!0;c=kc(c);
if(!c)throw new U(48);g().set(a,c)}else d=!1,c=a.byteOffset;return{ib:c,lc:d}},dc:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new U(43);if(e&2)return 0;V.fb.write(a,b,0,d,c,!1);return 0}}},qc=null,rc={},sc=[],tc=1,uc=null,jb=!0,vc={},U=null,oc={};
function wc(a,b){a=cc("/",a);b=b||{};if(!a)return{path:"",node:null};var c={Fc:!0,vc:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.vc)throw new U(32);a=Yb(a.split("/").filter(function(h){return!!h}),!1);var e=qc;c="/";for(d=0;d<a.length;d++){var f=d===a.length-1;if(f&&b.parent)break;e=pc(e,a[d]);c=Zb(c+"/"+a[d]);e.cc&&(!f||f&&b.Fc)&&(e=e.cc.root);if(!f||b.nc)for(f=0;40960===(e.mode&61440);)if(e=xc(c),c=cc($b(c),e),e=wc(c,{vc:b.vc}).node,40<f++)throw new U(32);}return{path:c,node:e}}
function yc(a){for(var b;;){if(a===a.parent)return a=a.Ab.Ic,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function zc(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%uc.length}function pc(a,b){var c;if(c=(c=Ac(a,"x"))?c:a.eb.Ob?0:2)throw new U(c,a);for(c=uc[zc(a.id,b)];c;c=c.ud){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.eb.Ob(a,b)}
function nc(a,b,c,d){a=new Bc(a,b,c,d);b=zc(a.parent.id,a.name);a.ud=uc[b];return uc[b]=a}var Cc={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090};function Dc(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Ac(a,b){if(jb)return 0;if(!b.includes("r")||a.mode&292){if(b.includes("w")&&!(a.mode&146)||b.includes("x")&&!(a.mode&73))return 2}else return 2;return 0}function Ec(a,b){try{return pc(a,b),20}catch(c){}return Ac(a,"wx")}
function Fc(){var a=4096;for(var b=0;b<=a;b++)if(!sc[b])return b;throw new U(33);}function Gc(a){Hc||(Hc=function(){},Hc.prototype={object:{get:function(){return this.node},set:function(d){this.node=d}}});var b=new Hc,c;for(c in a)b[c]=a[c];a=b;b=Fc();a.zb=b;return sc[b]=a}var mc={open:function(a){a.fb=rc[a.node.Qb].fb;a.fb.open&&a.fb.open(a)},Gb:function(){throw new U(70);}};function fc(a,b){rc[a]={fb:b}}
function Ic(a,b){var c="/"===b,d=!b;if(c&&qc)throw new U(10);if(!c&&!d){var e=wc(b,{Fc:!1});b=e.path;e=e.node;if(e.cc)throw new U(10);if(16384!==(e.mode&61440))throw new U(54);}b={type:a,be:{},Ic:b,sd:[]};a=a.Ab(b);a.Ab=b;b.root=a;c?qc=a:e&&(e.cc=b,e.Ab&&e.Ab.sd.push(b))}function Jc(a,b,c){var d=wc(a,{parent:!0}).node;a=ac(a);if(!a||"."===a||".."===a)throw new U(28);var e=Ec(d,a);if(e)throw new U(e);if(!d.eb.ac)throw new U(63);return d.eb.ac(d,a,b,c)}function Kc(a){return Jc(a,16895,0)}
function Lc(a,b,c){"undefined"===typeof c&&(c=b,b=438);Jc(a,b|8192,c)}function hb(a,b){if(!cc(a))throw new U(44);var c=wc(b,{parent:!0}).node;if(!c)throw new U(44);b=ac(b);var d=Ec(c,b);if(d)throw new U(d);if(!c.eb.hc)throw new U(63);c.eb.hc(c,b,a)}function xc(a){a=wc(a).node;if(!a)throw new U(44);if(!a.eb.Rb)throw new U(28);return cc(yc(a.parent),a.eb.Rb(a))}
function ib(a,b,c){if(""===a)throw new U(44);if("string"===typeof b){var d=Cc[b];if("undefined"===typeof d)throw Error("Unknown file open mode: "+b);b=d}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var e=a;else{a=Zb(a);try{e=wc(a,{nc:!(b&131072)}).node}catch(f){}}d=!1;if(b&64)if(e){if(b&128)throw new U(20);}else e=Jc(a,c,0),d=!0;if(!e)throw new U(44);8192===(e.mode&61440)&&(b&=-513);if(b&65536&&16384!==(e.mode&61440))throw new U(54);if(!d&&(c=e?40960===(e.mode&61440)?
32:16384===(e.mode&61440)&&("r"!==Dc(b)||b&512)?31:Ac(e,Dc(b)):44))throw new U(c);if(b&512){c=e;c="string"===typeof c?wc(c,{nc:!0}).node:c;if(!c.eb.xb)throw new U(63);if(16384===(c.mode&61440))throw new U(31);if(32768!==(c.mode&61440))throw new U(28);if(d=Ac(c,"w"))throw new U(d);c.eb.xb(c,{size:0,timestamp:Date.now()})}b&=-131713;e=Gc({node:e,path:yc(e),flags:b,seekable:!0,position:0,fb:e.fb,Qd:[],error:!1});e.fb.open&&e.fb.open(e);!C.logReadFiles||b&1||(Mc||(Mc={}),a in Mc||(Mc[a]=1,F("FS.trackingDelegate error on read file: "+
a)));try{vc.onOpenFile&&(c=0,1!==(b&2097155)&&(c|=1),0!==(b&2097155)&&(c|=2),vc.onOpenFile(a,c))}catch(f){F("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+f.message)}return e}function Nc(a,b,c){if(null===a.zb)throw new U(8);if(!a.seekable||!a.fb.Gb)throw new U(70);if(0!=c&&1!=c&&2!=c)throw new U(28);a.position=a.fb.Gb(a,b,c);a.Qd=[]}
function fb(){U||(U=function(a,b){this.node=b;this.Dd=function(c){this.Cb=c};this.Dd(a);this.message="FS error"},U.prototype=Error(),U.prototype.constructor=U,[44].forEach(function(a){oc[a]=new U(a);oc[a].stack="<generic error, no stack>"}))}var eb;function Oc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
function gb(a,b,c){a=Zb("/dev/"+a);var d=Oc(!!b,!!c);Pc||(Pc=64);var e=Pc++<<8|0;fc(e,{open:function(f){f.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(f,h,l,m){for(var p=0,q=0;q<m;q++){try{var x=b()}catch(y){throw new U(29);}if(void 0===x&&0===p)throw new U(6);if(null===x||void 0===x)break;p++;h[l+q]=x}p&&(f.node.timestamp=Date.now());return p},write:function(f,h,l,m){for(var p=0;p<m;p++)try{c(h[l+p])}catch(q){throw new U(29);}m&&(f.node.timestamp=Date.now());return p}});
Lc(a,d,e)}var Pc,Qc={},Hc,Mc,Rc={},Sc=void 0;function Tc(a){a=sc[a];if(!a)throw new U(8);return a}
function Uc(a,b,c,d,e,f){if(D)return T(3,1,a,b,c,d,e,f);try{a:{f<<=12;var h=!1;if(0!==(d&16)&&0!==a%65536)var l=-28;else{if(0!==(d&32)){var m=kc(b);if(!m){l=-48;break a}h=!0}else{var p=sc[e];if(!p){l=-8;break a}var q=f;if(0!==(c&2)&&0===(d&2)&&2!==(p.flags&2097155))throw new U(2);if(1===(p.flags&2097155))throw new U(2);if(!p.fb.bc)throw new U(43);var x=p.fb.bc(p,a,b,q,c,d);m=x.ib;h=x.lc}Rc[m]={rd:m,pd:b,lc:h,zb:e,xd:c,flags:d,offset:f};l=m}}return l}catch(y){return"undefined"!==typeof Qc&&y instanceof
U||I(y),-y.Cb}}function Vc(a,b){if(D)return T(4,1,a,b);try{var c=Rc[a];if(0!==b&&c){if(b===c.pd){var d=sc[c.zb];if(d&&c.xd&2){var e=c.flags,f=c.offset,h=u().slice(a,a+b);d&&d.fb.dc&&d.fb.dc(d,h,f,b,e)}Rc[a]=null;c.lc&&S(c.rd)}var l=0}else l=-28;return l}catch(m){return"undefined"!==typeof Qc&&m instanceof U||I(m),-m.Cb}}
function Wc(a,b,c){if(D)return T(5,1,a,b,c);Sc=c;try{var d=J(a);if(c){Sc+=4;var e=A()[Sc-4>>2]}else e=0;return ib(d,b,e).zb}catch(f){return"undefined"!==typeof Qc&&f instanceof U||I(f),-f.Cb}}
function Xc(a,b){if(D)return T(6,1,a,b);try{a=J(a);a:{try{var c=wc(a,{nc:!0}).node;if(!c)throw new U(44);if(!c.eb.vb)throw new U(63);var d=c.eb.vb(c)}catch(f){if(f&&f.node&&Zb(a)!==Zb(yc(f.node))){var e=-54;break a}throw f;}A()[b>>2]=d.Zc;A()[b+4>>2]=0;A()[b+8>>2]=d.qc;A()[b+12>>2]=d.mode;A()[b+16>>2]=d.vd;A()[b+20>>2]=d.uid;A()[b+24>>2]=d.jd;A()[b+28>>2]=d.Qb;A()[b+32>>2]=0;vb=[d.size>>>0,(Q=d.size,1<=+Math.abs(Q)?0<Q?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>
0))/4294967296)>>>0:0)];A()[b+40>>2]=vb[0];A()[b+44>>2]=vb[1];A()[b+48>>2]=4096;A()[b+52>>2]=d.Vc;A()[b+56>>2]=d.Tc.getTime()/1E3|0;A()[b+60>>2]=0;A()[b+64>>2]=d.td.getTime()/1E3|0;A()[b+68>>2]=0;A()[b+72>>2]=d.Xc.getTime()/1E3|0;A()[b+76>>2]=0;vb=[d.qc>>>0,(Q=d.qc,1<=+Math.abs(Q)?0<Q?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)];A()[b+80>>2]=vb[0];A()[b+84>>2]=vb[1];e=0}return e}catch(f){return"undefined"!==typeof Qc&&f instanceof U||I(f),
-f.Cb}}var Yc={};function Zc(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function $c(a){return this.fromWireType(B()[a>>2])}var ad={},bd={},cd={};function dd(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function ed(a,b){a=dd(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}
function fd(a){var b=Error,c=ed(a,function(d){this.name=a;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+"\n"+d.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var gd=void 0;function hd(a){throw new gd(a);}
function jd(a,b,c){function d(l){l=c(l);l.length!==a.length&&hd("Mismatched type converter count");for(var m=0;m<a.length;++m)kd(a[m],l[m])}a.forEach(function(l){cd[l]=b});var e=Array(b.length),f=[],h=0;b.forEach(function(l,m){bd.hasOwnProperty(l)?e[m]=bd[l]:(f.push(l),ad.hasOwnProperty(l)||(ad[l]=[]),ad[l].push(function(){e[m]=bd[l];++h;h===f.length&&d(e)}))});0===f.length&&d(e)}
function ld(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var md=void 0;function W(a){for(var b="";u()[a];)b+=md[u()[a++]];return b}var nd=void 0;function X(a){throw new nd(a);}
function kd(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var d=b.name;a||X('type "'+d+'" must have a positive integer typeid pointer');if(bd.hasOwnProperty(a)){if(c.kd)return;X("Cannot register type '"+d+"' twice")}bd[a]=b;delete cd[a];ad.hasOwnProperty(a)&&(b=ad[a],delete ad[a],b.forEach(function(e){e()}))}function od(a){X(a.cb.kb.hb.name+" instance already deleted")}var pd=!1;function qd(){}
function rd(a){--a.count.value;0===a.count.value&&(a.ob?a.sb.Bb(a.ob):a.kb.hb.Bb(a.ib))}function sd(a){if("undefined"===typeof FinalizationGroup)return sd=function(b){return b},a;pd=new FinalizationGroup(function(b){for(var c=b.next();!c.done;c=b.next())c=c.value,c.ib?rd(c):console.warn("object already deleted: "+c.ib)});sd=function(b){pd.register(b,b.cb,b.cb);return b};qd=function(b){pd.unregister(b.cb)};return sd(a)}var td=void 0,ud=[];
function vd(){for(;ud.length;){var a=ud.pop();a.cb.Ib=!1;a["delete"]()}}function wd(){}var xd={};function yd(a,b,c){if(void 0===a[b].mb){var d=a[b];a[b]=function(){a[b].mb.hasOwnProperty(arguments.length)||X("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].mb+")!");return a[b].mb[arguments.length].apply(this,arguments)};a[b].mb=[];a[b].mb[d.Xb]=d}}
function zd(a,b,c){C.hasOwnProperty(a)?((void 0===c||void 0!==C[a].mb&&void 0!==C[a].mb[c])&&X("Cannot register public name '"+a+"' twice"),yd(C,a,a),C.hasOwnProperty(c)&&X("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),C[a].mb[c]=b):(C[a]=b,void 0!==c&&(C[a].ae=c))}function Ad(a,b,c,d,e,f,h,l){this.name=a;this.constructor=b;this.Jb=c;this.Bb=d;this.tb=e;this.cd=f;this.Ub=h;this.$c=l;this.yd=[]}
function Bd(a,b,c){for(;b!==c;)b.Ub||X("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.Ub(a),b=b.tb;return a}function Cd(a,b){if(null===b)return this.rc&&X("null is not a valid "+this.name),0;b.cb||X('Cannot pass "'+Dd(b)+'" as a '+this.name);b.cb.ib||X("Cannot pass deleted object as a pointer of type "+this.name);return Bd(b.cb.ib,b.cb.kb.hb,this.hb)}
function Ed(a,b){if(null===b){this.rc&&X("null is not a valid "+this.name);if(this.$b){var c=this.uc();null!==a&&a.push(this.Bb,c);return c}return 0}b.cb||X('Cannot pass "'+Dd(b)+'" as a '+this.name);b.cb.ib||X("Cannot pass deleted object as a pointer of type "+this.name);!this.Zb&&b.cb.kb.Zb&&X("Cannot convert argument of type "+(b.cb.sb?b.cb.sb.name:b.cb.kb.name)+" to parameter type "+this.name);c=Bd(b.cb.ib,b.cb.kb.hb,this.hb);if(this.$b)switch(void 0===b.cb.ob&&X("Passing raw pointer to smart pointer is illegal"),
this.Id){case 0:b.cb.sb===this?c=b.cb.ob:X("Cannot convert argument of type "+(b.cb.sb?b.cb.sb.name:b.cb.kb.name)+" to parameter type "+this.name);break;case 1:c=b.cb.ob;break;case 2:if(b.cb.sb===this)c=b.cb.ob;else{var d=b.clone();c=this.zd(c,Fd(function(){d["delete"]()}));null!==a&&a.push(this.Bb,c)}break;default:X("Unsupporting sharing policy")}return c}
function Gd(a,b){if(null===b)return this.rc&&X("null is not a valid "+this.name),0;b.cb||X('Cannot pass "'+Dd(b)+'" as a '+this.name);b.cb.ib||X("Cannot pass deleted object as a pointer of type "+this.name);b.cb.kb.Zb&&X("Cannot convert argument of type "+b.cb.kb.name+" to parameter type "+this.name);return Bd(b.cb.ib,b.cb.kb.hb,this.hb)}function Hd(a,b,c){if(b===c)return a;if(void 0===c.tb)return null;a=Hd(a,b,c.tb);return null===a?null:c.$c(a)}var Id={};
function Jd(a,b){for(void 0===b&&X("ptr should not be undefined");a.tb;)b=a.Ub(b),a=a.tb;return Id[b]}function Kd(a,b){b.kb&&b.ib||hd("makeClassHandle requires ptr and ptrType");!!b.sb!==!!b.ob&&hd("Both smartPtrType and smartPtr must be specified");b.count={value:1};return sd(Object.create(a,{cb:{value:b}}))}
function Ld(a,b,c,d){this.name=a;this.hb=b;this.rc=c;this.Zb=d;this.$b=!1;this.Bb=this.zd=this.uc=this.Lc=this.Id=this.wd=void 0;void 0!==b.tb?this.toWireType=Ed:(this.toWireType=d?Cd:Gd,this.ub=null)}function Md(a,b,c){C.hasOwnProperty(a)||hd("Replacing nonexistant public symbol");void 0!==C[a].mb&&void 0!==c?C[a].mb[c]=b:(C[a]=b,C[a].Xb=c)}
function Nd(a,b){var c=[];return function(){c.length=arguments.length;for(var d=0;d<arguments.length;d++)c[d]=arguments[d];a.includes("j")?(d=C["dynCall_"+a],d=c&&c.length?d.apply(null,[b].concat(c)):d.call(null,b)):d=P.get(b).apply(null,c);return d}}function Od(a,b){a=W(a);var c=a.includes("j")?Nd(a,b):P.get(b);"function"!==typeof c&&X("unknown function pointer with signature "+a+": "+b);return c}var Pd=void 0;function Qd(a){a=Rd(a);var b=W(a);S(a);return b}
function Sd(a,b){function c(f){e[f]||bd[f]||(cd[f]?cd[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new Pd(a+": "+d.map(Qd).join([", "]));}function Td(a,b){for(var c=[],d=0;d<a;d++)c.push(A()[(b>>2)+d]);return c}
function Ud(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=ed(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Vd(a,b,c,d,e){var f=b.length;2>f&&X("argTypes array size mismatch! Must at least get return value and 'this' types!");var h=null!==b[1]&&null!==c,l=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].ub){l=!0;break}var m="void"!==b[0].name,p="",q="";for(c=0;c<f-2;++c)p+=(0!==c?", ":"")+"arg"+c,q+=(0!==c?", ":"")+"arg"+c+"Wired";a="return function "+dd(a)+"("+p+") {\nif (arguments.length !== "+(f-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+
(f-2)+" args!');\n}\n";l&&(a+="var destructors = [];\n");var x=l?"destructors":"null";p="throwBindingError invoker fn runDestructors retType classParam".split(" ");d=[X,d,e,Zc,b[0],b[1]];h&&(a+="var thisWired = classParam.toWireType("+x+", this);\n");for(c=0;c<f-2;++c)a+="var arg"+c+"Wired = argType"+c+".toWireType("+x+", arg"+c+"); // "+b[c+2].name+"\n",p.push("argType"+c),d.push(b[c+2]);h&&(q="thisWired"+(0<q.length?", ":"")+q);a+=(m?"var rv = ":"")+"invoker(fn"+(0<q.length?", ":"")+q+");\n";if(l)a+=
"runDestructors(destructors);\n";else for(c=h?1:2;c<b.length;++c)f=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==b[c].ub&&(a+=f+"_dtor("+f+"); // "+b[c].name+"\n",p.push(f+"_dtor"),d.push(b[c].ub));m&&(a+="var ret = retType.fromWireType(rv);\nreturn ret;\n");p.push(a+"}\n");return Ud(p).apply(null,d)}var Wd=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Xd(a){4<a&&0===--Y[a].wc&&(Y[a]=void 0,Wd.push(a))}
function Fd(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Wd.length?Wd.pop():Y.length;Y[b]={wc:1,value:a};return b}}function Dd(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function Yd(a,b){switch(b){case 2:return function(c){var d=this.fromWireType;n.buffer!=r&&aa(n.buffer);return d.call(this,Xa[c>>2])};case 3:return function(c){return this.fromWireType(ja()[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function Zd(a,b,c){switch(b){case 0:return c?function(d){return g()[d]}:function(d){return u()[d]};case 1:return c?function(d){return da()[d>>1]}:function(d){return v()[d>>1]};case 2:return c?function(d){return A()[d>>2]}:function(d){return B()[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}function $d(a){a||X("Cannot use deleted val. handle = "+a);return Y[a].value}function ae(a,b){var c=bd[a];void 0===c&&X(b+" has unknown type "+Qd(a));return c}var be={};
function ce(a){var b=be[a];return void 0===b?W(a):b}var de=[];function ee(){return"object"===typeof globalThis?globalThis:Function("return this")()}function fe(a){var b=de.length;de.push(a);return b}function ge(a,b){for(var c=Array(a),d=0;d<a;++d)c[d]=ae(A()[(b>>2)+d],"parameter "+d);return c}var he={};function ie(){if(D)return T(7,1);I()}var je=[];function T(a,b){for(var c=arguments.length-2,d=ke(),e=le(8*c),f=e>>3,h=0;h<c;h++){var l=arguments[2+h];ja()[f+h]=l}c=me(a,c,e,b);Kb(d);return c}
var ne=[],oe=[0,"undefined"!==typeof document?document:0,"undefined"!==typeof window?window:0];function pe(a){a=2<a?J(a):a;return oe[a]||("undefined"!==typeof document?document.querySelector(a):void 0)}
function qe(a,b,c){var d=pe(a);if(!d)return-4;d.Yb&&(A()[d.Yb>>2]=b,A()[d.Yb+4>>2]=c);if(d.Jc||!d.Td)d.Jc&&(d=d.Jc),a=!1,d.Wb&&d.Wb.Vb&&(a=d.Wb.Vb.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===d.width&&a[3]===d.height),d.width=b,d.height=c,a&&d.Wb.Vb.viewport(0,0,b,c);else{if(d.Yb){d=A()[d.Yb+8>>2];a=a?J(a):"";var e=ke(),f=le(12),h=0;if(a){h=Ma(a)+1;var l=N(h);K(a,l,h);h=l}A()[f>>2]=h;A()[f+4>>2]=b;A()[f+8>>2]=c;re(0,d,657457152,0,h,f);Kb(e);return 1}return-4}return 0}
function se(a,b,c){return D?T(8,1,a,b,c):qe(a,b,c)}function te(a,b){if(!Fa)if(b)a();else try{if(a(),D&&!cb())try{D?ue(Ga):Ib(Ga)}catch(c){Ab(c)}}catch(c){Ab(c)}}var ve=[];function Z(a,b){B()[a>>2]=b;B()[a+4>>2]=b/4294967296|0}
function we(a,b){try{var c=indexedDB.open("emscripten_filesystem",1)}catch(d){b(d);return}c.onupgradeneeded=function(d){d=d.target.result;d.objectStoreNames.contains("FILES")&&d.deleteObjectStore("FILES");d.createObjectStore("FILES")};c.onsuccess=function(d){a(d.target.result)};c.onerror=function(d){b(d)}}var xe;
function ye(a,b,c,d,e){function f(L){var M=0,G=0;L&&(G=w.response?w.response.byteLength:0,M=N(G),u().set(new Uint8Array(w.response),M));B()[a+12>>2]=M;Z(a+16,G)}var h=B()[a+8>>2];if(h){var l=J(h),m=a+112,p=J(m);p||(p="GET");B();var q=B()[m+52>>2],x=B()[m+56>>2],y=!!B()[m+60>>2];B();var k=B()[m+68>>2],t=B()[m+72>>2],z=B()[m+76>>2],E=B()[m+80>>2];h=B()[m+84>>2];m=B()[m+88>>2];var H=!!(q&1),O=!!(q&2);q=!!(q&64);k=k?J(k):void 0;t=t?J(t):void 0;var va=E?J(E):void 0,w=new XMLHttpRequest;w.withCredentials=
y;w.open(p,l,!q,k,t);q||(w.timeout=x);w.ge=l;w.responseType="arraybuffer";E&&w.overrideMimeType(va);if(z)for(;;){p=B()[z>>2];if(!p)break;l=B()[z+4>>2];if(!l)break;z+=8;p=J(p);l=J(l);w.setRequestHeader(p,l)}ve.push(w);z=ve.length;B()[a+0>>2]=z;h=h&&m?u().slice(h,h+m):null;w.onload=function(L){f(H&&!O);var M=w.response?w.response.byteLength:0;Z(a+24,0);M&&Z(a+32,M);v()[a+40>>1]=w.readyState;v()[a+42>>1]=w.status;w.statusText&&K(w.statusText,a+44,64);200<=w.status&&300>w.status?b&&b(a,w,L):c&&c(a,w,
L)};w.onerror=function(L){f(H);var M=w.status;Z(a+24,0);Z(a+32,w.response?w.response.byteLength:0);v()[a+40>>1]=w.readyState;v()[a+42>>1]=M;c&&c(a,w,L)};w.ontimeout=function(L){c&&c(a,w,L)};w.onprogress=function(L){var M=H&&O&&w.response?w.response.byteLength:0,G=0;H&&O&&(G=N(M),u().set(new Uint8Array(w.response),G));B()[a+12>>2]=G;Z(a+16,M);Z(a+24,L.loaded-M);Z(a+32,L.total);v()[a+40>>1]=w.readyState;3<=w.readyState&&0===w.status&&0<L.loaded&&(w.status=200);v()[a+42>>1]=w.status;w.statusText&&K(w.statusText,
a+44,64);d&&d(a,w,L);G&&S(G)};w.onreadystatechange=function(L){v()[a+40>>1]=w.readyState;2<=w.readyState&&(v()[a+42>>1]=w.status);e&&e(a,w,L)};try{w.send(h)}catch(L){c&&c(a,w,L)}}else c(a,0,"no url specified!")}
function ze(a,b,c,d){var e=xe;if(e){var f=a+112;(f=B()[f+64>>2])||(f=B()[a+8>>2]);var h=J(f);try{var l=e.transaction(["FILES"],"readwrite").objectStore("FILES").put(b,h);l.onsuccess=function(){v()[a+40>>1]=4;v()[a+42>>1]=200;K("OK",a+44,64);c(a,0,h)};l.onerror=function(m){v()[a+40>>1]=4;v()[a+42>>1]=413;K("Payload Too Large",a+44,64);d(a,0,m)}}catch(m){d(a,0,m)}}else d(a,0,"IndexedDB not available!")}
function Ae(a,b,c){var d=xe;if(d){var e=a+112;(e=B()[e+64>>2])||(e=B()[a+8>>2]);e=J(e);try{var f=d.transaction(["FILES"],"readonly").objectStore("FILES").get(e);f.onsuccess=function(h){if(h.target.result){h=h.target.result;var l=h.byteLength||h.length,m=N(l);u().set(new Uint8Array(h),m);B()[a+12>>2]=m;Z(a+16,l);Z(a+24,0);Z(a+32,l);v()[a+40>>1]=4;v()[a+42>>1]=200;K("OK",a+44,64);b(a,0,h)}else v()[a+40>>1]=4,v()[a+42>>1]=404,K("Not Found",a+44,64),c(a,0,"no data")};f.onerror=function(h){v()[a+40>>1]=
4;v()[a+42>>1]=404;K("Not Found",a+44,64);c(a,0,h)}}catch(h){c(a,0,h)}}else c(a,0,"IndexedDB not available!")}
function Be(a,b,c){var d=xe;if(d){var e=a+112;(e=B()[e+64>>2])||(e=B()[a+8>>2]);e=J(e);try{var f=d.transaction(["FILES"],"readwrite").objectStore("FILES").delete(e);f.onsuccess=function(h){h=h.target.result;B()[a+12>>2]=0;Z(a+16,0);Z(a+24,0);Z(a+32,0);v()[a+40>>1]=4;v()[a+42>>1]=200;K("OK",a+44,64);b(a,0,h)};f.onerror=function(h){v()[a+40>>1]=4;v()[a+42>>1]=404;K("Not Found",a+44,64);c(a,0,h)}}catch(h){c(a,0,h)}}else c(a,0,"IndexedDB not available!")}
function Ce(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,d){b.vertexAttribDivisorANGLE(c,d)},a.drawArraysInstanced=function(c,d,e,f){b.drawArraysInstancedANGLE(c,d,e,f)},a.drawElementsInstanced=function(c,d,e,f,h){b.drawElementsInstancedANGLE(c,d,e,f,h)})}
function De(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Ee(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,d){b.drawBuffersWEBGL(c,d)})}
function Fe(a,b){a.Gc||(a.Gc=a.getContext,a.getContext=function(d,e){e=a.Gc(d,e);return"webgl"==d==e instanceof WebGLRenderingContext?e:null});var c=a.getContext("webgl",b);return c?Ge(c,b):0}function Ge(a,b){var c=N(8);A()[c+4>>2]=Fb();var d={Xd:c,attributes:b,version:b.qd,Vb:a};a.canvas&&(a.canvas.Wb=d);("undefined"===typeof b.Cc||b.Cc)&&He(d);return c}
function He(a){a||(a=Ie);if(!a.ld){a.ld=!0;var b=a.Vb;Ce(b);De(b);Ee(b);b.Ud=b.getExtension("EXT_disjoint_timer_query");b.$d=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}var Ie,Je=["default","low-power","high-performance"],Ke={};
function Le(){if(!Me){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:sa||"./this.program"},b;for(b in Ke)void 0===Ke[b]?delete a[b]:a[b]=Ke[b];var c=[];for(b in a)c.push(b+"="+a[b]);Me=c}return Me}var Me;
function Ne(a,b){if(D)return T(9,1,a,b);var c=0;Le().forEach(function(d,e){var f=b+c;e=A()[a+4*e>>2]=f;for(f=0;f<d.length;++f)g()[e++>>0]=d.charCodeAt(f);g()[e>>0]=0;c+=d.length+1});return 0}function Oe(a,b){if(D)return T(10,1,a,b);var c=Le();A()[a>>2]=c.length;var d=0;c.forEach(function(e){d+=e.length+1});A()[b>>2]=d;return 0}
function Pe(a){if(D)return T(11,1,a);try{var b=Tc(a);if(null===b.zb)throw new U(8);b.pc&&(b.pc=null);try{b.fb.close&&b.fb.close(b)}catch(c){throw c;}finally{sc[b.zb]=null}b.zb=null;return 0}catch(c){return"undefined"!==typeof Qc&&c instanceof U||I(c),c.Cb}}
function Qe(a,b,c,d){if(D)return T(12,1,a,b,c,d);try{a:{for(var e=Tc(a),f=a=0;f<c;f++){var h=A()[b+8*f>>2],l=A()[b+(8*f+4)>>2],m=e,p=g(),q=h,x=l,y=void 0;if(0>x||0>y)throw new U(28);if(null===m.zb)throw new U(8);if(1===(m.flags&2097155))throw new U(8);if(16384===(m.node.mode&61440))throw new U(31);if(!m.fb.read)throw new U(28);var k="undefined"!==typeof y;if(!k)y=m.position;else if(!m.seekable)throw new U(70);var t=m.fb.read(m,p,q,x,y);k||(m.position+=t);var z=t;if(0>z){var E=-1;break a}a+=z;if(z<
l)break}E=a}A()[d>>2]=E;return 0}catch(H){return"undefined"!==typeof Qc&&H instanceof U||I(H),H.Cb}}
function Re(a,b,c,d,e){if(D)return T(13,1,a,b,c,d,e);try{var f=Tc(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Nc(f,a,d);vb=[f.position>>>0,(Q=f.position,1<=+Math.abs(Q)?0<Q?(Math.min(+Math.floor(Q/4294967296),4294967295)|0)>>>0:~~+Math.ceil((Q-+(~~Q>>>0))/4294967296)>>>0:0)];A()[e>>2]=vb[0];A()[e+4>>2]=vb[1];f.pc&&0===a&&0===d&&(f.pc=null);return 0}catch(h){return"undefined"!==typeof Qc&&h instanceof U||I(h),h.Cb}}
function Se(a,b,c,d){if(D)return T(14,1,a,b,c,d);try{a:{for(var e=Tc(a),f=a=0;f<c;f++){var h=A()[b+8*f>>2],l=A()[b+(8*f+4)>>2],m=e,p=g(),q=h,x=l,y=void 0;if(0>x||0>y)throw new U(28);if(null===m.zb)throw new U(8);if(0===(m.flags&2097155))throw new U(8);if(16384===(m.node.mode&61440))throw new U(31);if(!m.fb.write)throw new U(28);m.seekable&&m.flags&1024&&Nc(m,0,2);var k="undefined"!==typeof y;if(!k)y=m.position;else if(!m.seekable)throw new U(70);var t=m.fb.write(m,p,q,x,y,void 0);k||(m.position+=
t);try{if(m.path&&vc.onWriteToFile)vc.onWriteToFile(m.path)}catch(H){F("FS.trackingDelegate['onWriteToFile']('"+m.path+"') threw an exception: "+H.message)}var z=t;if(0>z){var E=-1;break a}a+=z}E=a}A()[d>>2]=E;return 0}catch(H){return"undefined"!==typeof Qc&&H instanceof U||I(H),H.Cb}}function Te(a,b){Te.Kc||(Te.Kc=bc());for(var c=0;c<b;c++)g()[a+c>>0]=Te.Kc();return 0}function Ue(a){return 0===a%4&&(0!==a%100||0===a%400)}function Ve(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}
var We=[31,29,31,30,31,30,31,31,30,31,30,31],Xe=[31,28,31,30,31,30,31,31,30,31,30,31];function Ye(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(Ue(a.getFullYear())?We:Xe)[c];if(b>d-a.getDate())b-=d-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function Ze(a,b,c,d){function e(k,t,z){for(k="number"===typeof k?k.toString():k||"";k.length<t;)k=z[0]+k;return k}function f(k,t){return e(k,t,"0")}function h(k,t){function z(H){return 0>H?-1:0<H?1:0}var E;0===(E=z(k.getFullYear()-t.getFullYear()))&&0===(E=z(k.getMonth()-t.getMonth()))&&(E=z(k.getDate()-t.getDate()));return E}function l(k){switch(k.getDay()){case 0:return new Date(k.getFullYear()-1,11,29);case 1:return k;case 2:return new Date(k.getFullYear(),0,3);case 3:return new Date(k.getFullYear(),
0,2);case 4:return new Date(k.getFullYear(),0,1);case 5:return new Date(k.getFullYear()-1,11,31);case 6:return new Date(k.getFullYear()-1,11,30)}}function m(k){k=Ye(new Date(k.nb+1900,0,1),k.kc);var t=new Date(k.getFullYear()+1,0,4),z=l(new Date(k.getFullYear(),0,4));t=l(t);return 0>=h(z,k)?0>=h(t,k)?k.getFullYear()+1:k.getFullYear():k.getFullYear()-1}var p=A()[d+40>>2];d={Nd:A()[d>>2],Md:A()[d+4>>2],ic:A()[d+8>>2],Tb:A()[d+12>>2],Mb:A()[d+16>>2],nb:A()[d+20>>2],jc:A()[d+24>>2],kc:A()[d+28>>2],fe:A()[d+
32>>2],Ld:A()[d+36>>2],Od:p?J(p):""};c=J(c);p={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in p)c=c.replace(new RegExp(q,"g"),p[q]);var x="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
y="January February March April May June July August September October November December".split(" ");p={"%a":function(k){return x[k.jc].substring(0,3)},"%A":function(k){return x[k.jc]},"%b":function(k){return y[k.Mb].substring(0,3)},"%B":function(k){return y[k.Mb]},"%C":function(k){return f((k.nb+1900)/100|0,2)},"%d":function(k){return f(k.Tb,2)},"%e":function(k){return e(k.Tb,2," ")},"%g":function(k){return m(k).toString().substring(2)},"%G":function(k){return m(k)},"%H":function(k){return f(k.ic,
2)},"%I":function(k){k=k.ic;0==k?k=12:12<k&&(k-=12);return f(k,2)},"%j":function(k){return f(k.Tb+Ve(Ue(k.nb+1900)?We:Xe,k.Mb-