Expose butteraugli distance

This commit is contained in:
Surma
2020-08-28 12:45:09 +01:00
committed by Ingvar Stepanyan
parent 44a5b4921a
commit 045cb14c54
6 changed files with 98 additions and 81 deletions

View File

@@ -6,7 +6,7 @@
using namespace emscripten;
class RawImage {
public:
public:
val buffer;
int width;
int height;
@@ -24,9 +24,9 @@ uint8_t clamp(float v, float min, float max) {
return v;
}
uint8_t *result;
uint8_t* result;
RawImage decode(std::string data) {
jxl::Span<const uint8_t> compressed((uint8_t *)data.c_str(), data.length());
jxl::Span<const uint8_t> compressed((uint8_t*)data.c_str(), data.length());
jxl::DecompressParams dparams;
// jxl::ThreadPool pool;
jxl::CodecInOut io;
@@ -35,18 +35,18 @@ RawImage decode(std::string data) {
if (!DecodeFile(dparams, compressed, &io, &aux_out, NULL)) {
return RawImage(val::null(), -1, -1);
}
jxl::ImageBundle *main = &io.Main();
jxl::ImageBundle* main = &io.Main();
if (!main->HasColor()) {
return RawImage(val::null(), -1, -1);
}
const jxl::Image3F *buffer = &main->color();
const jxl::Image3F* buffer = &main->color();
int width = buffer->xsize();
int height = buffer->ysize();
result = new uint8_t[width * height * 4];
for (int y = 0; y < height; y++) {
const float *red = buffer->PlaneRow(0, y);
const float *green = buffer->PlaneRow(1, y);
const float *blue = buffer->PlaneRow(2, y);
const float* red = buffer->PlaneRow(0, y);
const float* green = buffer->PlaneRow(1, y);
const float* blue = buffer->PlaneRow(2, y);
for (int x = 0; x < width; x++) {
int pixelOffset = width * y + x;
result[pixelOffset * 4 + 0] = clamp(red[x], 0, 255);
@@ -56,11 +56,12 @@ RawImage decode(std::string data) {
}
}
return RawImage(val(typed_memory_view(width * height * 4, result)), width,
height);
return RawImage(val(typed_memory_view(width * height * 4, result)), width, height);
}
void free_result() { delete result; }
void free_result() {
delete result;
}
EMSCRIPTEN_BINDINGS(my_module) {
class_<RawImage>("RawImage")

View File

@@ -11,6 +11,7 @@ struct JXLOptions {
// 1 = slowest
// 7 = fastest
int speed;
float quality;
};
val encode(std::string image, int width, int height, JXLOptions options) {
@@ -21,7 +22,8 @@ val encode(std::string image, int width, int height, JXLOptions options) {
jxl::ImageBundle* main = &io.Main();
cparams.speed_tier = static_cast<jxl::SpeedTier>(options.speed);
cparams.color_transform = jxl::ColorTransform::kNone;
cparams.butteraugli_distance = options.quality;
// cparams.color_transform = jxl::ColorTransform::kNone;
io.metadata.SetUintSamples(8);
io.metadata.SetAlphaBits(8);
@@ -47,11 +49,12 @@ val encode(std::string image, int width, int height, JXLOptions options) {
return js_result;
}
void free_result() {
}
void free_result() {}
EMSCRIPTEN_BINDINGS(my_module) {
value_object<JXLOptions>("JXLOptions").field("speed", &JXLOptions::speed);
value_object<JXLOptions>("JXLOptions")
.field("speed", &JXLOptions::speed)
.field("quality", &JXLOptions::quality);
function("encode", &encode);
}

View File

@@ -11,99 +11,99 @@ var f;f||(f=typeof jxl_enc !== 'undefined' ? jxl_enc : {});var aa,ba;f.ready=new
if(ha)u=t?require("path").dirname(u)+"/":__dirname+"/",ja=function(a,b){la||(la=require("fs"));ma||(ma=require("path"));a=ma.normalize(a);return la.readFileSync(a,b?null:"utf8")},ka=function(a){a=ja(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof na))throw a;}),process.on("unhandledRejection",z),ea=function(a){process.exit(a)},f.inspect=
function(){return"[Emscripten Module object]"};else if(ia)"undefined"!=typeof read&&(ja=function(a){return read(a)}),ka=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"function"===typeof quit&&(ea=function(a){quit(a)}),"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(fa||t)t?u=self.location.href:
document.currentScript&&(u=document.currentScript.src),_scriptDir&&(u=_scriptDir),0!==u.indexOf("blob:")?u=u.substr(0,u.lastIndexOf("/")+1):u="",ja=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},t&&(ka=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var oa=f.print||console.log.bind(console),A=f.printErr||console.warn.bind(console);
for(m in ca)ca.hasOwnProperty(m)&&(f[m]=ca[m]);ca=null;f.thisProgram&&(da=f.thisProgram);f.quit&&(ea=f.quit);var qa;f.wasmBinary&&(qa=f.wasmBinary);var noExitRuntime;f.noExitRuntime&&(noExitRuntime=f.noExitRuntime);"object"!==typeof WebAssembly&&z("no native wasm support detected");var B,ra=new WebAssembly.Table({initial:1229,maximum:1229,element:"anyfunc"}),sa=!1;function assert(a,b){a||z("Assertion failed: "+b)}var ta="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
for(m in ca)ca.hasOwnProperty(m)&&(f[m]=ca[m]);ca=null;f.thisProgram&&(da=f.thisProgram);f.quit&&(ea=f.quit);var qa;f.wasmBinary&&(qa=f.wasmBinary);var noExitRuntime;f.noExitRuntime&&(noExitRuntime=f.noExitRuntime);"object"!==typeof WebAssembly&&z("no native wasm support detected");var B,ra=new WebAssembly.Table({initial:1231,maximum:1231,element:"anyfunc"}),sa=!1;function assert(a,b){a||z("Assertion failed: "+b)}var ta="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function ua(a,b,c){var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16<c-b&&a.subarray&&ta)return ta.decode(a.subarray(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var g=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|g);else{var k=a[b++]&63;e=224==(e&240)?(e&15)<<12|g<<6|k:(e&7)<<18|g<<12|k<<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 C(a,b){return a?ua(D,a,b):""}
function va(a,b,c,d){if(!(0<d))return 0;var e=c;d=c+d-1;for(var g=0;g<a.length;++g){var k=a.charCodeAt(g);if(55296<=k&&57343>=k){var l=a.charCodeAt(++g);k=65536+((k&1023)<<10)|l&1023}if(127>=k){if(c>=d)break;b[c++]=k}else{if(2047>=k){if(c+1>=d)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=d)break;b[c++]=224|k>>12}else{if(c+3>=d)break;b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-e}
function wa(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 xa="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function ya(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&za[c];)++c;c<<=1;if(32<c-a&&xa)return xa.decode(D.subarray(a,c));c=0;for(d="";;){var e=E[a+2*c>>1];if(0==e||c==b/2)return d;++c;d+=String.fromCharCode(e)}}
function Aa(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)E[b>>1]=a.charCodeAt(e),b+=2;E[b>>1]=0;return b-d}function Ba(a){return 2*a.length}function Ca(a,b){for(var c=0,d="";!(c>=b/4);){var e=F[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 Da(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 g=a.charCodeAt(e);if(55296<=g&&57343>=g){var k=a.charCodeAt(++e);g=65536+((g&1023)<<10)|k&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ea(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}var G,H,D,E,za,F,J,Fa,Ga;
function Ha(a){G=a;f.HEAP8=H=new Int8Array(a);f.HEAP16=E=new Int16Array(a);f.HEAP32=F=new Int32Array(a);f.HEAPU8=D=new Uint8Array(a);f.HEAPU16=za=new Uint16Array(a);f.HEAPU32=J=new Uint32Array(a);f.HEAPF32=Fa=new Float32Array(a);f.HEAPF64=Ga=new Float64Array(a)}var Ia=f.INITIAL_MEMORY||16777216;f.wasmMemory?B=f.wasmMemory:B=new WebAssembly.Memory({initial:Ia/65536,maximum:32768});B&&(G=B.buffer);Ia=G.byteLength;Ha(G);F[141452]=5808848;
function Ja(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(f);else{var c=b.lb;"number"===typeof c?void 0===b.Ta?f.dynCall_v(c):f.dynCall_vi(c,b.Ta):c(void 0===b.Ta?null:b.Ta)}}}var Ka=[],La=[],Ma=[],Na=[];function Oa(){var a=f.preRun.shift();Ka.unshift(a)}var Pa=Math.abs,Qa=Math.ceil,Ra=Math.floor,Sa=Math.min,K=0,Ta=null,Ua=null;f.preloadedImages={};f.preloadedAudios={};
function Ha(a){G=a;f.HEAP8=H=new Int8Array(a);f.HEAP16=E=new Int16Array(a);f.HEAP32=F=new Int32Array(a);f.HEAPU8=D=new Uint8Array(a);f.HEAPU16=za=new Uint16Array(a);f.HEAPU32=J=new Uint32Array(a);f.HEAPF32=Fa=new Float32Array(a);f.HEAPF64=Ga=new Float64Array(a)}var Ia=f.INITIAL_MEMORY||16777216;f.wasmMemory?B=f.wasmMemory:B=new WebAssembly.Memory({initial:Ia/65536,maximum:32768});B&&(G=B.buffer);Ia=G.byteLength;Ha(G);F[141460]=5808880;
function Ja(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(f);else{var c=b.nb;"number"===typeof c?void 0===b.Va?f.dynCall_v(c):f.dynCall_vi(c,b.Va):c(void 0===b.Va?null:b.Va)}}}var Ka=[],La=[],Ma=[],Na=[];function Oa(){var a=f.preRun.shift();Ka.unshift(a)}var Pa=Math.abs,Qa=Math.ceil,Ra=Math.floor,Sa=Math.min,K=0,Ta=null,Ua=null;f.preloadedImages={};f.preloadedAudios={};
function z(a){if(f.onAbort)f.onAbort(a);A(a);sa=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ba(a);throw a;}function Va(a){var b=L;return String.prototype.startsWith?b.startsWith(a):0===b.indexOf(a)}function Wa(){return Va("data:application/octet-stream;base64,")}var L="jxl_enc.wasm";if(!Wa()){var Xa=L;L=f.locateFile?f.locateFile(Xa,u):u+Xa}
function Ya(){try{if(qa)return new Uint8Array(qa);if(ka)return ka(L);throw"both async and sync fetching of the wasm failed";}catch(a){z(a)}}function Za(){return qa||!fa&&!t||"function"!==typeof fetch||Va("file://")?new Promise(function(a){a(Ya())}):fetch(L,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+L+"'";return a.arrayBuffer()}).catch(function(){return Ya()})}var $a,ab;La.push({lb:function(){bb()}});function cb(){return 0<cb.Sa}
function Ya(){try{if(qa)return new Uint8Array(qa);if(ka)return ka(L);throw"both async and sync fetching of the wasm failed";}catch(a){z(a)}}function Za(){return qa||!fa&&!t||"function"!==typeof fetch||Va("file://")?new Promise(function(a){a(Ya())}):fetch(L,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+L+"'";return a.arrayBuffer()}).catch(function(){return Ya()})}var $a,ab;La.push({nb:function(){bb()}});function cb(){return 0<cb.Ua}
function db(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 eb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=db(a.split("/").filter(function(d){return!!d}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function fb(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 gb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}
function hb(){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=db(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."}var ib=[];function jb(a,b){ib[a]={input:[],output:[],Ka:b};kb(a,lb)}
var lb={open:function(a){var b=ib[a.node.rdev];if(!b)throw new M(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.Ka.flush(a.tty)},flush:function(a){a.tty.Ka.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.Ka.eb)throw new M(60);for(var e=0,g=0;g<d;g++){try{var k=a.tty.Ka.eb(a.tty)}catch(l){throw new M(29);}if(void 0===k&&0===e)throw new M(6);if(null===k||void 0===k)break;e++;b[c+g]=k}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.tty||!a.tty.Ka.Va)throw new M(60);
try{for(var e=0;e<d;e++)a.tty.Ka.Va(a.tty,b[c+e])}catch(g){throw new M(29);}d&&(a.node.timestamp=Date.now());return e}},nb={eb:function(a){if(!a.input.length){var b=null;if(ha){var c=Buffer.Sa?Buffer.Sa(256):new Buffer(256),d=0;try{d=la.readSync(process.stdin.fd,c,0,256,null)}catch(e){if(-1!=e.toString().indexOf("EOF"))d=0;else throw e;}0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"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=mb(b,!0)}return a.input.shift()},Va:function(a,b){null===b||10===b?(oa(ua(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(oa(ua(a.output,0)),a.output=[])}},ob={Va:function(a,b){null===b||10===b?(A(ua(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(A(ua(a.output,0)),a.output=[])}},N={Ba:null,Fa:function(){return N.createNode(null,
"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new M(63);N.Ba||(N.Ba={dir:{node:{Ga:N.va.Ga,Da:N.va.Da,lookup:N.va.lookup,Na:N.va.Na,rename:N.va.rename,unlink:N.va.unlink,rmdir:N.va.rmdir,readdir:N.va.readdir,symlink:N.va.symlink},stream:{Ha:N.wa.Ha}},file:{node:{Ga:N.va.Ga,Da:N.va.Da},stream:{Ha:N.wa.Ha,read:N.wa.read,write:N.wa.write,Ya:N.wa.Ya,fb:N.wa.fb,Oa:N.wa.Oa}},link:{node:{Ga:N.va.Ga,Da:N.va.Da,readlink:N.va.readlink},stream:{}},Za:{node:{Ga:N.va.Ga,
Da:N.va.Da},stream:pb}});c=qb(a,b,c,d);16384===(c.mode&61440)?(c.va=N.Ba.dir.node,c.wa=N.Ba.dir.stream,c.ua={}):32768===(c.mode&61440)?(c.va=N.Ba.file.node,c.wa=N.Ba.file.stream,c.ya=0,c.ua=null):40960===(c.mode&61440)?(c.va=N.Ba.link.node,c.wa=N.Ba.link.stream):8192===(c.mode&61440)&&(c.va=N.Ba.Za.node,c.wa=N.Ba.Za.stream);c.timestamp=Date.now();a&&(a.ua[b]=c);return c},Eb:function(a){if(a.ua&&a.ua.subarray){for(var b=[],c=0;c<a.ya;++c)b.push(a.ua[c]);return b}return a.ua},Fb:function(a){return a.ua?
a.ua.subarray?a.ua.subarray(0,a.ya):new Uint8Array(a.ua):new Uint8Array(0)},$a:function(a,b){var c=a.ua?a.ua.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.ua,a.ua=new Uint8Array(b),0<a.ya&&a.ua.set(c.subarray(0,a.ya),0))},ub:function(a,b){if(a.ya!=b)if(0==b)a.ua=null,a.ya=0;else{if(!a.ua||a.ua.subarray){var c=a.ua;a.ua=new Uint8Array(b);c&&a.ua.set(c.subarray(0,Math.min(b,a.ya)))}else if(a.ua||(a.ua=[]),a.ua.length>b)a.ua.length=b;else for(;a.ua.length<b;)a.ua.push(0);
a.ya=b}},va:{Ga:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.ya:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.jb=4096;b.blocks=Math.ceil(b.size/b.jb);return b},Da:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==
b.size&&N.ub(a,b.size)},lookup:function(){throw rb[44];},Na:function(a,b,c,d){return N.createNode(a,b,c,d)},rename:function(a,b,c){if(16384===(a.mode&61440)){try{var d=O(b,c)}catch(g){}if(d)for(var e in d.ua)throw new M(55);}delete a.parent.ua[a.name];a.name=c;b.ua[c]=a;a.parent=b},unlink:function(a,b){delete a.ua[b]},rmdir:function(a,b){var c=O(a,b),d;for(d in c.ua)throw new M(55);delete a.ua[b]},readdir:function(a){var b=[".",".."],c;for(c in a.ua)a.ua.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,
b,c){a=N.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new M(28);return a.link}},wa:{read:function(a,b,c,d,e){var g=a.node.ua;if(e>=a.node.ya)return 0;a=Math.min(a.node.ya-e,d);if(8<a&&g.subarray)b.set(g.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=g[e+d];return a},write:function(a,b,c,d,e,g){b.buffer===H.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.ua||a.ua.subarray)){if(g)return a.ua=b.subarray(c,c+d),a.ya=d;
if(0===a.ya&&0===e)return a.ua=b.slice(c,c+d),a.ya=d;if(e+d<=a.ya)return a.ua.set(b.subarray(c,c+d),e),d}N.$a(a,e+d);if(a.ua.subarray&&b.subarray)a.ua.set(b.subarray(c,c+d),e);else for(g=0;g<d;g++)a.ua[e+g]=b[c+g];a.ya=Math.max(a.ya,e+d);return d},Ha:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.ya);if(0>b)throw new M(28);return b},Ya:function(a,b,c){N.$a(a.node,b+c);a.node.ya=Math.max(a.node.ya,b+c)},fb:function(a,b,c,d,e,g){assert(0===b);if(32768!==(a.node.mode&
61440))throw new M(43);a=a.node.ua;if(g&2||a.buffer!==G){if(0<d||d+c<a.length)a.subarray?a=a.subarray(d,d+c):a=Array.prototype.slice.call(a,d,d+c);d=!0;g=16384*Math.ceil(c/16384);for(b=sb(g);c<g;)H[b+c++]=0;c=b;if(!c)throw new M(48);H.set(a,c)}else d=!1,c=a.byteOffset;return{Mb:c,hb:d}},Oa:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new M(43);if(e&2)return 0;N.wa.write(a,b,0,d,c,!1);return 0}}},tb=null,ub={},vb=[],wb=1,P=null,xb=!0,Q={},M=null,rb={};
function R(a,b){a=hb("/",a);b=b||{};if(!a)return{path:"",node:null};var c={cb:!0,Wa:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.Wa)throw new M(32);a=db(a.split("/").filter(function(k){return!!k}),!1);var e=tb;c="/";for(d=0;d<a.length;d++){var g=d===a.length-1;if(g&&b.parent)break;e=O(e,a[d]);c=eb(c+"/"+a[d]);e.Ia&&(!g||g&&b.cb)&&(e=e.Ia.root);if(!g||b.bb)for(g=0;40960===(e.mode&61440);)if(e=yb(c),c=hb(fb(c),e),e=R(c,{Wa:b.Wa}).node,40<g++)throw new M(32);}return{path:c,node:e}}
function zb(a){for(var b;;){if(a===a.parent)return a=a.Fa.gb,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function Ab(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%P.length}function Bb(a){var b=Ab(a.parent.id,a.name);if(P[b]===a)P[b]=a.Ja;else for(b=P[b];b;){if(b.Ja===a){b.Ja=a.Ja;break}b=b.Ja}}
function O(a,b){var c;if(c=(c=Cb(a,"x"))?c:a.va.lookup?0:2)throw new M(c,a);for(c=P[Ab(a.id,b)];c;c=c.Ja){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.va.lookup(a,b)}function qb(a,b,c,d){a=new Db(a,b,c,d);b=Ab(a.parent.id,a.name);a.Ja=P[b];return P[b]=a}var Eb={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Fb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}
function Cb(a,b){if(xb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return 2}else return 2;return 0}function Gb(a,b){try{return O(a,b),20}catch(c){}return Cb(a,"wx")}function Hb(a,b,c){try{var d=O(a,b)}catch(e){return e.Aa}if(a=Cb(a,"wx"))return a;if(c){if(16384!==(d.mode&61440))return 54;if(d===d.parent||"/"===zb(d))return 10}else if(16384===(d.mode&61440))return 31;return 0}
function Ib(){var a=4096;for(var b=0;b<=a;b++)if(!vb[b])return b;throw new M(33);}function Jb(a){Kb||(Kb=function(){},Kb.prototype={});var b=new Kb,c;for(c in a)b[c]=a[c];a=b;b=Ib();a.fd=b;return vb[b]=a}var pb={open:function(a){a.wa=ub[a.node.rdev].wa;a.wa.open&&a.wa.open(a)},Ha:function(){throw new M(70);}};function kb(a,b){ub[a]={wa:b}}
function Lb(a,b){var c="/"===b,d=!b;if(c&&tb)throw new M(10);if(!c&&!d){var e=R(b,{cb:!1});b=e.path;e=e.node;if(e.Ia)throw new M(10);if(16384!==(e.mode&61440))throw new M(54);}b={type:a,Kb:{},gb:b,rb:[]};a=a.Fa(b);a.Fa=b;b.root=a;c?tb=a:e&&(e.Ia=b,e.Fa&&e.Fa.rb.push(b))}function Mb(a,b,c){var d=R(a,{parent:!0}).node;a=gb(a);if(!a||"."===a||".."===a)throw new M(28);var e=Gb(d,a);if(e)throw new M(e);if(!d.va.Na)throw new M(63);return d.va.Na(d,a,b,c)}function S(a){Mb(a,16895,0)}
function Nb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Mb(a,b|8192,c)}function Ob(a,b){if(!hb(a))throw new M(44);var c=R(b,{parent:!0}).node;if(!c)throw new M(44);b=gb(b);var d=Gb(c,b);if(d)throw new M(d);if(!c.va.symlink)throw new M(63);c.va.symlink(c,b,a)}function yb(a){a=R(a).node;if(!a)throw new M(44);if(!a.va.readlink)throw new M(28);return hb(zb(a.parent),a.va.readlink(a))}
function Pb(a,b,c){if(""===a)throw new M(44);if("string"===typeof b){var d=Eb[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=eb(a);try{e=R(a,{bb:!(b&131072)}).node}catch(k){}}d=!1;if(b&64)if(e){if(b&128)throw new M(20);}else e=Mb(a,c,0),d=!0;if(!e)throw new M(44);8192===(e.mode&61440)&&(b&=-513);if(b&65536&&16384!==(e.mode&61440))throw new M(54);if(!d&&(c=e?40960===(e.mode&61440)?32:
16384===(e.mode&61440)&&("r"!==Fb(b)||b&512)?31:Cb(e,Fb(b)):44))throw new M(c);if(b&512){c=e;var g;"string"===typeof c?g=R(c,{bb:!0}).node:g=c;if(!g.va.Da)throw new M(63);if(16384===(g.mode&61440))throw new M(31);if(32768!==(g.mode&61440))throw new M(28);if(c=Cb(g,"w"))throw new M(c);g.va.Da(g,{size:0,timestamp:Date.now()})}b&=-131713;e=Jb({node:e,path:zb(e),flags:b,seekable:!0,position:0,wa:e.wa,Db:[],error:!1});e.wa.open&&e.wa.open(e);!f.logReadFiles||b&1||(Qb||(Qb={}),a in Qb||(Qb[a]=1,A("FS.trackingDelegate error on read file: "+
a)));try{Q.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),Q.onOpenFile(a,g))}catch(k){A("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+k.message)}return e}function Rb(a,b,c){if(null===a.fd)throw new M(8);if(!a.seekable||!a.wa.Ha)throw new M(70);if(0!=c&&1!=c&&2!=c)throw new M(28);a.position=a.wa.Ha(a,b,c);a.Db=[]}
function Sb(){M||(M=function(a,b){this.node=b;this.vb=function(c){this.Aa=c};this.vb(a);this.message="FS error"},M.prototype=Error(),M.prototype.constructor=M,[44].forEach(function(a){rb[a]=new M(a);rb[a].stack="<generic error, no stack>"}))}var Tb;function Ub(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
function hb(){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=db(a.split("/").filter(function(d){return!!d}),!b).join("/");return(b?"/":"")+a||"."}var ib=[];function jb(a,b){ib[a]={input:[],output:[],Ma:b};kb(a,lb)}
var lb={open:function(a){var b=ib[a.node.rdev];if(!b)throw new M(43);a.tty=b;a.seekable=!1},close:function(a){a.tty.Ma.flush(a.tty)},flush:function(a){a.tty.Ma.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.Ma.gb)throw new M(60);for(var e=0,g=0;g<d;g++){try{var k=a.tty.Ma.gb(a.tty)}catch(l){throw new M(29);}if(void 0===k&&0===e)throw new M(6);if(null===k||void 0===k)break;e++;b[c+g]=k}e&&(a.node.timestamp=Date.now());return e},write:function(a,b,c,d){if(!a.tty||!a.tty.Ma.Xa)throw new M(60);
try{for(var e=0;e<d;e++)a.tty.Ma.Xa(a.tty,b[c+e])}catch(g){throw new M(29);}d&&(a.node.timestamp=Date.now());return e}},nb={gb:function(a){if(!a.input.length){var b=null;if(ha){var c=Buffer.Ua?Buffer.Ua(256):new Buffer(256),d=0;try{d=la.readSync(process.stdin.fd,c,0,256,null)}catch(e){if(-1!=e.toString().indexOf("EOF"))d=0;else throw e;}0<d?b=c.slice(0,d).toString("utf-8"):b=null}else"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=mb(b,!0)}return a.input.shift()},Xa:function(a,b){null===b||10===b?(oa(ua(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(oa(ua(a.output,0)),a.output=[])}},ob={Xa:function(a,b){null===b||10===b?(A(ua(a.output,0)),a.output=[]):0!=b&&a.output.push(b)},flush:function(a){a.output&&0<a.output.length&&(A(ua(a.output,0)),a.output=[])}},N={Da:null,Ha:function(){return N.createNode(null,
"/",16895,0)},createNode:function(a,b,c,d){if(24576===(c&61440)||4096===(c&61440))throw new M(63);N.Da||(N.Da={dir:{node:{Ia:N.ya.Ia,Fa:N.ya.Fa,lookup:N.ya.lookup,Pa:N.ya.Pa,rename:N.ya.rename,unlink:N.ya.unlink,rmdir:N.ya.rmdir,readdir:N.ya.readdir,symlink:N.ya.symlink},stream:{Ja:N.za.Ja}},file:{node:{Ia:N.ya.Ia,Fa:N.ya.Fa},stream:{Ja:N.za.Ja,read:N.za.read,write:N.za.write,$a:N.za.$a,hb:N.za.hb,Qa:N.za.Qa}},link:{node:{Ia:N.ya.Ia,Fa:N.ya.Fa,readlink:N.ya.readlink},stream:{}},ab:{node:{Ia:N.ya.Ia,
Fa:N.ya.Fa},stream:pb}});c=qb(a,b,c,d);16384===(c.mode&61440)?(c.ya=N.Da.dir.node,c.za=N.Da.dir.stream,c.wa={}):32768===(c.mode&61440)?(c.ya=N.Da.file.node,c.za=N.Da.file.stream,c.Aa=0,c.wa=null):40960===(c.mode&61440)?(c.ya=N.Da.link.node,c.za=N.Da.link.stream):8192===(c.mode&61440)&&(c.ya=N.Da.ab.node,c.za=N.Da.ab.stream);c.timestamp=Date.now();a&&(a.wa[b]=c);return c},Gb:function(a){if(a.wa&&a.wa.subarray){for(var b=[],c=0;c<a.Aa;++c)b.push(a.wa[c]);return b}return a.wa},Hb:function(a){return a.wa?
a.wa.subarray?a.wa.subarray(0,a.Aa):new Uint8Array(a.wa):new Uint8Array(0)},bb:function(a,b){var c=a.wa?a.wa.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.wa,a.wa=new Uint8Array(b),0<a.Aa&&a.wa.set(c.subarray(0,a.Aa),0))},wb:function(a,b){if(a.Aa!=b)if(0==b)a.wa=null,a.Aa=0;else{if(!a.wa||a.wa.subarray){var c=a.wa;a.wa=new Uint8Array(b);c&&a.wa.set(c.subarray(0,Math.min(b,a.Aa)))}else if(a.wa||(a.wa=[]),a.wa.length>b)a.wa.length=b;else for(;a.wa.length<b;)a.wa.push(0);
a.Aa=b}},ya:{Ia:function(a){var b={};b.dev=8192===(a.mode&61440)?a.id:1;b.ino=a.id;b.mode=a.mode;b.nlink=1;b.uid=0;b.gid=0;b.rdev=a.rdev;16384===(a.mode&61440)?b.size=4096:32768===(a.mode&61440)?b.size=a.Aa:40960===(a.mode&61440)?b.size=a.link.length:b.size=0;b.atime=new Date(a.timestamp);b.mtime=new Date(a.timestamp);b.ctime=new Date(a.timestamp);b.lb=4096;b.blocks=Math.ceil(b.size/b.lb);return b},Fa:function(a,b){void 0!==b.mode&&(a.mode=b.mode);void 0!==b.timestamp&&(a.timestamp=b.timestamp);void 0!==
b.size&&N.wb(a,b.size)},lookup:function(){throw rb[44];},Pa:function(a,b,c,d){return N.createNode(a,b,c,d)},rename:function(a,b,c){if(16384===(a.mode&61440)){try{var d=O(b,c)}catch(g){}if(d)for(var e in d.wa)throw new M(55);}delete a.parent.wa[a.name];a.name=c;b.wa[c]=a;a.parent=b},unlink:function(a,b){delete a.wa[b]},rmdir:function(a,b){var c=O(a,b),d;for(d in c.wa)throw new M(55);delete a.wa[b]},readdir:function(a){var b=[".",".."],c;for(c in a.wa)a.wa.hasOwnProperty(c)&&b.push(c);return b},symlink:function(a,
b,c){a=N.createNode(a,b,41471,0);a.link=c;return a},readlink:function(a){if(40960!==(a.mode&61440))throw new M(28);return a.link}},za:{read:function(a,b,c,d,e){var g=a.node.wa;if(e>=a.node.Aa)return 0;a=Math.min(a.node.Aa-e,d);if(8<a&&g.subarray)b.set(g.subarray(e,e+a),c);else for(d=0;d<a;d++)b[c+d]=g[e+d];return a},write:function(a,b,c,d,e,g){b.buffer===H.buffer&&(g=!1);if(!d)return 0;a=a.node;a.timestamp=Date.now();if(b.subarray&&(!a.wa||a.wa.subarray)){if(g)return a.wa=b.subarray(c,c+d),a.Aa=d;
if(0===a.Aa&&0===e)return a.wa=b.slice(c,c+d),a.Aa=d;if(e+d<=a.Aa)return a.wa.set(b.subarray(c,c+d),e),d}N.bb(a,e+d);if(a.wa.subarray&&b.subarray)a.wa.set(b.subarray(c,c+d),e);else for(g=0;g<d;g++)a.wa[e+g]=b[c+g];a.Aa=Math.max(a.Aa,e+d);return d},Ja:function(a,b,c){1===c?b+=a.position:2===c&&32768===(a.node.mode&61440)&&(b+=a.node.Aa);if(0>b)throw new M(28);return b},$a:function(a,b,c){N.bb(a.node,b+c);a.node.Aa=Math.max(a.node.Aa,b+c)},hb:function(a,b,c,d,e,g){assert(0===b);if(32768!==(a.node.mode&
61440))throw new M(43);a=a.node.wa;if(g&2||a.buffer!==G){if(0<d||d+c<a.length)a.subarray?a=a.subarray(d,d+c):a=Array.prototype.slice.call(a,d,d+c);d=!0;g=16384*Math.ceil(c/16384);for(b=sb(g);c<g;)H[b+c++]=0;c=b;if(!c)throw new M(48);H.set(a,c)}else d=!1,c=a.byteOffset;return{Ob:c,jb:d}},Qa:function(a,b,c,d,e){if(32768!==(a.node.mode&61440))throw new M(43);if(e&2)return 0;N.za.write(a,b,0,d,c,!1);return 0}}},tb=null,ub={},vb=[],wb=1,P=null,xb=!0,Q={},M=null,rb={};
function R(a,b){a=hb("/",a);b=b||{};if(!a)return{path:"",node:null};var c={fb:!0,Ya:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8<b.Ya)throw new M(32);a=db(a.split("/").filter(function(k){return!!k}),!1);var e=tb;c="/";for(d=0;d<a.length;d++){var g=d===a.length-1;if(g&&b.parent)break;e=O(e,a[d]);c=eb(c+"/"+a[d]);e.Ka&&(!g||g&&b.fb)&&(e=e.Ka.root);if(!g||b.eb)for(g=0;40960===(e.mode&61440);)if(e=yb(c),c=hb(fb(c),e),e=R(c,{Ya:b.Ya}).node,40<g++)throw new M(32);}return{path:c,node:e}}
function zb(a){for(var b;;){if(a===a.parent)return a=a.Ha.ib,b?"/"!==a[a.length-1]?a+"/"+b:a+b:a;b=b?a.name+"/"+b:a.name;a=a.parent}}function Ab(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%P.length}function Bb(a){var b=Ab(a.parent.id,a.name);if(P[b]===a)P[b]=a.La;else for(b=P[b];b;){if(b.La===a){b.La=a.La;break}b=b.La}}
function O(a,b){var c;if(c=(c=Cb(a,"x"))?c:a.ya.lookup?0:2)throw new M(c,a);for(c=P[Ab(a.id,b)];c;c=c.La){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.ya.lookup(a,b)}function qb(a,b,c,d){a=new Db(a,b,c,d);b=Ab(a.parent.id,a.name);a.La=P[b];return P[b]=a}var Eb={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Fb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}
function Cb(a,b){if(xb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return 2}else return 2;return 0}function Gb(a,b){try{return O(a,b),20}catch(c){}return Cb(a,"wx")}function Hb(a,b,c){try{var d=O(a,b)}catch(e){return e.Ca}if(a=Cb(a,"wx"))return a;if(c){if(16384!==(d.mode&61440))return 54;if(d===d.parent||"/"===zb(d))return 10}else if(16384===(d.mode&61440))return 31;return 0}
function Ib(){var a=4096;for(var b=0;b<=a;b++)if(!vb[b])return b;throw new M(33);}function Jb(a){Kb||(Kb=function(){},Kb.prototype={});var b=new Kb,c;for(c in a)b[c]=a[c];a=b;b=Ib();a.fd=b;return vb[b]=a}var pb={open:function(a){a.za=ub[a.node.rdev].za;a.za.open&&a.za.open(a)},Ja:function(){throw new M(70);}};function kb(a,b){ub[a]={za:b}}
function Lb(a,b){var c="/"===b,d=!b;if(c&&tb)throw new M(10);if(!c&&!d){var e=R(b,{fb:!1});b=e.path;e=e.node;if(e.Ka)throw new M(10);if(16384!==(e.mode&61440))throw new M(54);}b={type:a,Mb:{},ib:b,tb:[]};a=a.Ha(b);a.Ha=b;b.root=a;c?tb=a:e&&(e.Ka=b,e.Ha&&e.Ha.tb.push(b))}function Mb(a,b,c){var d=R(a,{parent:!0}).node;a=gb(a);if(!a||"."===a||".."===a)throw new M(28);var e=Gb(d,a);if(e)throw new M(e);if(!d.ya.Pa)throw new M(63);return d.ya.Pa(d,a,b,c)}function S(a){Mb(a,16895,0)}
function Nb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Mb(a,b|8192,c)}function Ob(a,b){if(!hb(a))throw new M(44);var c=R(b,{parent:!0}).node;if(!c)throw new M(44);b=gb(b);var d=Gb(c,b);if(d)throw new M(d);if(!c.ya.symlink)throw new M(63);c.ya.symlink(c,b,a)}function yb(a){a=R(a).node;if(!a)throw new M(44);if(!a.ya.readlink)throw new M(28);return hb(zb(a.parent),a.ya.readlink(a))}
function Pb(a,b,c){if(""===a)throw new M(44);if("string"===typeof b){var d=Eb[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=eb(a);try{e=R(a,{eb:!(b&131072)}).node}catch(k){}}d=!1;if(b&64)if(e){if(b&128)throw new M(20);}else e=Mb(a,c,0),d=!0;if(!e)throw new M(44);8192===(e.mode&61440)&&(b&=-513);if(b&65536&&16384!==(e.mode&61440))throw new M(54);if(!d&&(c=e?40960===(e.mode&61440)?32:
16384===(e.mode&61440)&&("r"!==Fb(b)||b&512)?31:Cb(e,Fb(b)):44))throw new M(c);if(b&512){c=e;var g;"string"===typeof c?g=R(c,{eb:!0}).node:g=c;if(!g.ya.Fa)throw new M(63);if(16384===(g.mode&61440))throw new M(31);if(32768!==(g.mode&61440))throw new M(28);if(c=Cb(g,"w"))throw new M(c);g.ya.Fa(g,{size:0,timestamp:Date.now()})}b&=-131713;e=Jb({node:e,path:zb(e),flags:b,seekable:!0,position:0,za:e.za,Fb:[],error:!1});e.za.open&&e.za.open(e);!f.logReadFiles||b&1||(Qb||(Qb={}),a in Qb||(Qb[a]=1,A("FS.trackingDelegate error on read file: "+
a)));try{Q.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),Q.onOpenFile(a,g))}catch(k){A("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+k.message)}return e}function Rb(a,b,c){if(null===a.fd)throw new M(8);if(!a.seekable||!a.za.Ja)throw new M(70);if(0!=c&&1!=c&&2!=c)throw new M(28);a.position=a.za.Ja(a,b,c);a.Fb=[]}
function Sb(){M||(M=function(a,b){this.node=b;this.xb=function(c){this.Ca=c};this.xb(a);this.message="FS error"},M.prototype=Error(),M.prototype.constructor=M,[44].forEach(function(a){rb[a]=new M(a);rb[a].stack="<generic error, no stack>"}))}var Tb;function Ub(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
function Vb(a,b,c){a=eb("/dev/"+a);var d=Ub(!!b,!!c);Wb||(Wb=64);var e=Wb++<<8|0;kb(e,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,k,l,n){for(var q=0,r=0;r<n;r++){try{var v=b()}catch(y){throw new M(29);}if(void 0===v&&0===q)throw new M(6);if(null===v||void 0===v)break;q++;k[l+r]=v}q&&(g.node.timestamp=Date.now());return q},write:function(g,k,l,n){for(var q=0;q<n;q++)try{c(k[l+q])}catch(r){throw new M(29);}n&&(g.node.timestamp=Date.now());return q}});
Nb(a,d,e)}var Wb,T={},Kb,Qb,Xb={},Yb=void 0;function Zb(){Yb+=4;return F[Yb-4>>2]}function $b(a){a=vb[a];if(!a)throw new M(8);return a}var ac={};function bc(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function cc(a){return this.fromWireType(J[a>>2])}var dc={},U={},ec={};function fc(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 hc(a,b){a=fc(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function ic(a){var b=Error,c=hc(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 jc=void 0;function kc(a,b,c){function d(l){l=c(l);if(l.length!==a.length)throw new jc("Mismatched type converter count");for(var n=0;n<a.length;++n)V(a[n],l[n])}a.forEach(function(l){ec[l]=b});var e=Array(b.length),g=[],k=0;b.forEach(function(l,n){U.hasOwnProperty(l)?e[n]=U[l]:(g.push(l),dc.hasOwnProperty(l)||(dc[l]=[]),dc[l].push(function(){e[n]=U[l];++k;k===g.length&&d(e)}))});0===g.length&&d(e)}
function lc(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 mc=void 0;function W(a){for(var b="";D[a];)b+=mc[D[a++]];return b}var nc=void 0;function X(a){throw new nc(a);}
function V(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(U.hasOwnProperty(a)){if(c.pb)return;X("Cannot register type '"+d+"' twice")}U[a]=b;delete ec[a];dc.hasOwnProperty(a)&&(b=dc[a],delete dc[a],b.forEach(function(e){e()}))}var oc=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function pc(a){4<a&&0===--Y[a].Xa&&(Y[a]=void 0,oc.push(a))}function qc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=oc.length?oc.pop():Y.length;Y[b]={Xa:1,value:a};return b}}function rc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function V(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(U.hasOwnProperty(a)){if(c.rb)return;X("Cannot register type '"+d+"' twice")}U[a]=b;delete ec[a];dc.hasOwnProperty(a)&&(b=dc[a],delete dc[a],b.forEach(function(e){e()}))}var oc=[],Y=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function pc(a){4<a&&0===--Y[a].Za&&(Y[a]=void 0,oc.push(a))}function qc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=oc.length?oc.pop():Y.length;Y[b]={Za:1,value:a};return b}}function rc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function sc(a,b){switch(b){case 2:return function(c){return this.fromWireType(Fa[c>>2])};case 3:return function(c){return this.fromWireType(Ga[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function tc(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=hc(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function uc(a,b){var c=f;if(void 0===c[a].Ca){var d=c[a];c[a]=function(){c[a].Ca.hasOwnProperty(arguments.length)||X("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Ca+")!");return c[a].Ca[arguments.length].apply(this,arguments)};c[a].Ca=[];c[a].Ca[d.ib]=d}}
function vc(a,b,c){f.hasOwnProperty(a)?((void 0===c||void 0!==f[a].Ca&&void 0!==f[a].Ca[c])&&X("Cannot register public name '"+a+"' twice"),uc(a,a),f.hasOwnProperty(c)&&X("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),f[a].Ca[c]=b):(f[a]=b,void 0!==c&&(f[a].Jb=c))}function wc(a,b){for(var c=[],d=0;d<a;d++)c.push(F[(b>>2)+d]);return c}
function uc(a,b){var c=f;if(void 0===c[a].Ea){var d=c[a];c[a]=function(){c[a].Ea.hasOwnProperty(arguments.length)||X("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Ea+")!");return c[a].Ea[arguments.length].apply(this,arguments)};c[a].Ea=[];c[a].Ea[d.kb]=d}}
function vc(a,b,c){f.hasOwnProperty(a)?((void 0===c||void 0!==f[a].Ea&&void 0!==f[a].Ea[c])&&X("Cannot register public name '"+a+"' twice"),uc(a,a),f.hasOwnProperty(c)&&X("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),f[a].Ea[c]=b):(f[a]=b,void 0!==c&&(f[a].Lb=c))}function wc(a,b){for(var c=[],d=0;d<a;d++)c.push(F[(b>>2)+d]);return c}
function xc(a,b){a=W(a);var c=f["dynCall_"+a];for(var d=[],e=1;e<a.length;++e)d.push("a"+e);e="return function dynCall_"+(a+"_"+b)+"("+d.join(", ")+") {\n";e+=" return dynCall(rawFunction"+(d.length?", ":"")+d.join(", ")+");\n";c=(new Function("dynCall","rawFunction",e+"};\n"))(c,b);"function"!==typeof c&&X("unknown function pointer with signature "+a+": "+b);return c}var yc=void 0;function zc(a){a=Ac(a);var b=W(a);Z(a);return b}
function Bc(a,b){function c(g){e[g]||U[g]||(ec[g]?ec[g].forEach(c):(d.push(g),e[g]=!0))}var d=[],e={};b.forEach(c);throw new yc(a+": "+d.map(zc).join([", "]));}function Cc(a,b,c){switch(b){case 0:return c?function(d){return H[d]}:function(d){return D[d]};case 1:return c?function(d){return E[d>>1]}:function(d){return za[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return J[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Dc={};
function Ec(){return"object"===typeof globalThis?globalThis:Function("return this")()}function Fc(a,b){var c=U[a];void 0===c&&X(b+" has unknown type "+zc(a));return c}var Gc={},Hc={};function Ic(){if(!Jc){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",_:da||"./this.program"},b;for(b in Hc)a[b]=Hc[b];var c=[];for(b in a)c.push(b+"="+a[b]);Jc=c}return Jc}var Jc;
va("GMT",D,565872,4);function Kc(a){return 0===a%4&&(0!==a%100||0===a%400)}function Lc(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var Mc=[31,29,31,30,31,30,31,31,30,31,30,31],Nc=[31,28,31,30,31,30,31,31,30,31,30,31];function Oc(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(Kc(a.getFullYear())?Mc:Nc)[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}
va("GMT",D,565904,4);function Kc(a){return 0===a%4&&(0!==a%100||0===a%400)}function Lc(a,b){for(var c=0,d=0;d<=b;c+=a[d++]);return c}var Mc=[31,29,31,30,31,30,31,31,30,31,30,31],Nc=[31,28,31,30,31,30,31,31,30,31,30,31];function Oc(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),d=(Kc(a.getFullYear())?Mc:Nc)[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 Pc(a,b,c,d){function e(h,p,w){for(h="number"===typeof h?h.toString():h||"";h.length<p;)h=w[0]+h;return h}function g(h,p){return e(h,p,"0")}function k(h,p){function w(I){return 0>I?-1:0<I?1:0}var x;0===(x=w(h.getFullYear()-p.getFullYear()))&&0===(x=w(h.getMonth()-p.getMonth()))&&(x=w(h.getDate()-p.getDate()));return x}function l(h){switch(h.getDay()){case 0:return new Date(h.getFullYear()-1,11,29);case 1:return h;case 2:return new Date(h.getFullYear(),0,3);case 3:return new Date(h.getFullYear(),
0,2);case 4:return new Date(h.getFullYear(),0,1);case 5:return new Date(h.getFullYear()-1,11,31);case 6:return new Date(h.getFullYear()-1,11,30)}}function n(h){h=Oc(new Date(h.za+1900,0,1),h.Ra);var p=new Date(h.getFullYear()+1,0,4),w=l(new Date(h.getFullYear(),0,4));p=l(p);return 0>=k(w,h)?0>=k(p,h)?h.getFullYear()+1:h.getFullYear():h.getFullYear()-1}var q=F[d+40>>2];d={Bb:F[d>>2],Ab:F[d+4>>2],Pa:F[d+8>>2],Ma:F[d+12>>2],La:F[d+16>>2],za:F[d+20>>2],Qa:F[d+24>>2],Ra:F[d+28>>2],Nb:F[d+32>>2],zb:F[d+
36>>2],Cb:q?C(q):""};c=C(c);q={"%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 r in q)c=c.replace(new RegExp(r,"g"),q[r]);var v="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
y="January February March April May June July August September October November December".split(" ");q={"%a":function(h){return v[h.Qa].substring(0,3)},"%A":function(h){return v[h.Qa]},"%b":function(h){return y[h.La].substring(0,3)},"%B":function(h){return y[h.La]},"%C":function(h){return g((h.za+1900)/100|0,2)},"%d":function(h){return g(h.Ma,2)},"%e":function(h){return e(h.Ma,2," ")},"%g":function(h){return n(h).toString().substring(2)},"%G":function(h){return n(h)},"%H":function(h){return g(h.Pa,
2)},"%I":function(h){h=h.Pa;0==h?h=12:12<h&&(h-=12);return g(h,2)},"%j":function(h){return g(h.Ma+Lc(Kc(h.za+1900)?Mc:Nc,h.La-1),3)},"%m":function(h){return g(h.La+1,2)},"%M":function(h){return g(h.Ab,2)},"%n":function(){return"\n"},"%p":function(h){return 0<=h.Pa&&12>h.Pa?"AM":"PM"},"%S":function(h){return g(h.Bb,2)},"%t":function(){return"\t"},"%u":function(h){return h.Qa||7},"%U":function(h){var p=new Date(h.za+1900,0,1),w=0===p.getDay()?p:Oc(p,7-p.getDay());h=new Date(h.za+1900,h.La,h.Ma);return 0>
k(w,h)?g(Math.ceil((31-w.getDate()+(Lc(Kc(h.getFullYear())?Mc:Nc,h.getMonth()-1)-31)+h.getDate())/7),2):0===k(w,p)?"01":"00"},"%V":function(h){var p=new Date(h.za+1901,0,4),w=l(new Date(h.za+1900,0,4));p=l(p);var x=Oc(new Date(h.za+1900,0,1),h.Ra);return 0>k(x,w)?"53":0>=k(p,x)?"01":g(Math.ceil((w.getFullYear()<h.za+1900?h.Ra+32-w.getDate():h.Ra+1-w.getDate())/7),2)},"%w":function(h){return h.Qa},"%W":function(h){var p=new Date(h.za,0,1),w=1===p.getDay()?p:Oc(p,0===p.getDay()?1:7-p.getDay()+1);h=
new Date(h.za+1900,h.La,h.Ma);return 0>k(w,h)?g(Math.ceil((31-w.getDate()+(Lc(Kc(h.getFullYear())?Mc:Nc,h.getMonth()-1)-31)+h.getDate())/7),2):0===k(w,p)?"01":"00"},"%y":function(h){return(h.za+1900).toString().substring(2)},"%Y":function(h){return h.za+1900},"%z":function(h){h=h.zb;var p=0<=h;h=Math.abs(h)/60;return(p?"+":"-")+String("0000"+(h/60*100+h%60)).slice(-4)},"%Z":function(h){return h.Cb},"%%":function(){return"%"}};for(r in q)0<=c.indexOf(r)&&(c=c.replace(new RegExp(r,"g"),q[r](d)));r=
mb(c,!1);if(r.length>b)return 0;H.set(r,a);return r.length-1}function Db(a,b,c,d){a||(a=this);this.parent=a;this.Fa=a.Fa;this.Ia=null;this.id=wb++;this.name=b;this.mode=c;this.va={};this.wa={};this.rdev=d}Object.defineProperties(Db.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Sb();P=Array(4096);Lb(N,"/");S("/tmp");S("/home");S("/home/web_user");
0,2);case 4:return new Date(h.getFullYear(),0,1);case 5:return new Date(h.getFullYear()-1,11,31);case 6:return new Date(h.getFullYear()-1,11,30)}}function n(h){h=Oc(new Date(h.Ba+1900,0,1),h.Ta);var p=new Date(h.getFullYear()+1,0,4),w=l(new Date(h.getFullYear(),0,4));p=l(p);return 0>=k(w,h)?0>=k(p,h)?h.getFullYear()+1:h.getFullYear():h.getFullYear()-1}var q=F[d+40>>2];d={Db:F[d>>2],Cb:F[d+4>>2],Ra:F[d+8>>2],Oa:F[d+12>>2],Na:F[d+16>>2],Ba:F[d+20>>2],Sa:F[d+24>>2],Ta:F[d+28>>2],Pb:F[d+32>>2],Bb:F[d+
36>>2],Eb:q?C(q):""};c=C(c);q={"%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 r in q)c=c.replace(new RegExp(r,"g"),q[r]);var v="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
y="January February March April May June July August September October November December".split(" ");q={"%a":function(h){return v[h.Sa].substring(0,3)},"%A":function(h){return v[h.Sa]},"%b":function(h){return y[h.Na].substring(0,3)},"%B":function(h){return y[h.Na]},"%C":function(h){return g((h.Ba+1900)/100|0,2)},"%d":function(h){return g(h.Oa,2)},"%e":function(h){return e(h.Oa,2," ")},"%g":function(h){return n(h).toString().substring(2)},"%G":function(h){return n(h)},"%H":function(h){return g(h.Ra,
2)},"%I":function(h){h=h.Ra;0==h?h=12:12<h&&(h-=12);return g(h,2)},"%j":function(h){return g(h.Oa+Lc(Kc(h.Ba+1900)?Mc:Nc,h.Na-1),3)},"%m":function(h){return g(h.Na+1,2)},"%M":function(h){return g(h.Cb,2)},"%n":function(){return"\n"},"%p":function(h){return 0<=h.Ra&&12>h.Ra?"AM":"PM"},"%S":function(h){return g(h.Db,2)},"%t":function(){return"\t"},"%u":function(h){return h.Sa||7},"%U":function(h){var p=new Date(h.Ba+1900,0,1),w=0===p.getDay()?p:Oc(p,7-p.getDay());h=new Date(h.Ba+1900,h.Na,h.Oa);return 0>
k(w,h)?g(Math.ceil((31-w.getDate()+(Lc(Kc(h.getFullYear())?Mc:Nc,h.getMonth()-1)-31)+h.getDate())/7),2):0===k(w,p)?"01":"00"},"%V":function(h){var p=new Date(h.Ba+1901,0,4),w=l(new Date(h.Ba+1900,0,4));p=l(p);var x=Oc(new Date(h.Ba+1900,0,1),h.Ta);return 0>k(x,w)?"53":0>=k(p,x)?"01":g(Math.ceil((w.getFullYear()<h.Ba+1900?h.Ta+32-w.getDate():h.Ta+1-w.getDate())/7),2)},"%w":function(h){return h.Sa},"%W":function(h){var p=new Date(h.Ba,0,1),w=1===p.getDay()?p:Oc(p,0===p.getDay()?1:7-p.getDay()+1);h=
new Date(h.Ba+1900,h.Na,h.Oa);return 0>k(w,h)?g(Math.ceil((31-w.getDate()+(Lc(Kc(h.getFullYear())?Mc:Nc,h.getMonth()-1)-31)+h.getDate())/7),2):0===k(w,p)?"01":"00"},"%y":function(h){return(h.Ba+1900).toString().substring(2)},"%Y":function(h){return h.Ba+1900},"%z":function(h){h=h.Bb;var p=0<=h;h=Math.abs(h)/60;return(p?"+":"-")+String("0000"+(h/60*100+h%60)).slice(-4)},"%Z":function(h){return h.Eb},"%%":function(){return"%"}};for(r in q)0<=c.indexOf(r)&&(c=c.replace(new RegExp(r,"g"),q[r](d)));r=
mb(c,!1);if(r.length>b)return 0;H.set(r,a);return r.length-1}function Db(a,b,c,d){a||(a=this);this.parent=a;this.Ha=a.Ha;this.Ka=null;this.id=wb++;this.name=b;this.mode=c;this.ya={};this.za={};this.rdev=d}Object.defineProperties(Db.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}}});Sb();P=Array(4096);Lb(N,"/");S("/tmp");S("/home");S("/home/web_user");
(function(){S("/dev");kb(259,{read:function(){return 0},write:function(d,e,g,k){return k}});Nb("/dev/null",259);jb(1280,nb);jb(1536,ob);Nb("/dev/tty",1280);Nb("/dev/tty1",1536);if("object"===typeof crypto&&"function"===typeof crypto.getRandomValues){var a=new Uint8Array(1);var b=function(){crypto.getRandomValues(a);return a[0]}}else if(ha)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){z("random_device")});Vb("random",b);Vb("urandom",b);S("/dev/shm");
S("/dev/shm/tmp")})();S("/proc");S("/proc/self");S("/proc/self/fd");Lb({Fa:function(){var a=qb("/proc/self","fd",16895,73);a.va={lookup:function(b,c){var d=vb[+c];if(!d)throw new M(8);b={parent:null,Fa:{gb:"fake"},va:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");jc=f.InternalError=ic("InternalError");for(var Qc=Array(256),Rc=0;256>Rc;++Rc)Qc[Rc]=String.fromCharCode(Rc);mc=Qc;nc=f.BindingError=ic("BindingError");
S("/dev/shm/tmp")})();S("/proc");S("/proc/self");S("/proc/self/fd");Lb({Ha:function(){var a=qb("/proc/self","fd",16895,73);a.ya={lookup:function(b,c){var d=vb[+c];if(!d)throw new M(8);b={parent:null,Ha:{ib:"fake"},ya:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");jc=f.InternalError=ic("InternalError");for(var Qc=Array(256),Rc=0;256>Rc;++Rc)Qc[Rc]=String.fromCharCode(Rc);mc=Qc;nc=f.BindingError=ic("BindingError");
f.count_emval_handles=function(){for(var a=0,b=5;b<Y.length;++b)void 0!==Y[b]&&++a;return a};f.get_first_emval=function(){for(var a=5;a<Y.length;++a)if(void 0!==Y[a])return Y[a];return null};yc=f.UnboundTypeError=ic("UnboundTypeError");function mb(a,b){var c=Array(wa(a)+1);a=va(a,c,0,c.length);b&&(c.length=a);return c}
var Tc={B:function(a){return sb(a)},O:function(){},s:function(a){"uncaught_exception"in cb?cb.Sa++:cb.Sa=1;throw a;},x:function(){F[Sc()>>2]=63;return-1},C:function(a,b,c){Yb=c;try{var d=$b(a);switch(b){case 21509:case 21505:return d.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.tty?0:-59;case 21519:if(!d.tty)return-59;var e=Zb();return F[e>>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=e=Zb();if(!d.wa.qb)throw new M(59);return d.wa.qb(d,b,a);case 21523:return d.tty?
0:-59;case 21524:return d.tty?0:-59;default:z("bad ioctl syscall "+b)}}catch(g){return"undefined"!==typeof T&&g instanceof M||z(g),-g.Aa}},w:function(a,b){try{if(-1===(a|0)||0===b)var c=-28;else{var d=Xb[a];if(d&&b===d.Hb){var e=vb[d.fd];if(d.Lb&2){var g=d.flags,k=d.offset,l=D.slice(a,a+b);e&&e.wa.Oa&&e.wa.Oa(e,l,k,b,g)}Xb[a]=null;d.hb&&Z(d.Ib)}c=0}return c}catch(n){return"undefined"!==typeof T&&n instanceof M||z(n),-n.Aa}},D:function(a,b,c){Yb=c;try{var d=C(a),e=Zb();return Pb(d,b,e).fd}catch(g){return"undefined"!==
typeof T&&g instanceof M||z(g),-g.Aa}},E:function(a){try{a=C(a);var b=R(a,{parent:!0}).node,c=gb(a),d=O(b,c),e=Hb(b,c,!0);if(e)throw new M(e);if(!b.va.rmdir)throw new M(63);if(d.Ia)throw new M(10);try{Q.willDeletePath&&Q.willDeletePath(a)}catch(g){A("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.va.rmdir(b,c);Bb(d);try{if(Q.onDeletePath)Q.onDeletePath(a)}catch(g){A("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+g.message)}return 0}catch(g){return"undefined"!==
typeof T&&g instanceof M||z(g),-g.Aa}},F:function(a){try{a=C(a);var b=R(a,{parent:!0}).node,c=gb(a),d=O(b,c),e=Hb(b,c,!1);if(e)throw new M(e);if(!b.va.unlink)throw new M(63);if(d.Ia)throw new M(10);try{Q.willDeletePath&&Q.willDeletePath(a)}catch(g){A("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.va.unlink(b,c);Bb(d);try{if(Q.onDeletePath)Q.onDeletePath(a)}catch(g){A("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+g.message)}return 0}catch(g){return"undefined"!==
typeof T&&g instanceof M||z(g),-g.Aa}},o:function(a){var b=ac[a];delete ac[a];var c=b.sb,d=b.tb,e=b.ab,g=e.map(function(k){return k.ob}).concat(e.map(function(k){return k.xb}));kc([a],g,function(k){var l={};e.forEach(function(n,q){var r=k[q],v=n.mb,y=n.nb,h=k[q+e.length],p=n.wb,w=n.yb;l[n.kb]={read:function(x){return r.fromWireType(v(y,x))},write:function(x,I){var pa=[];p(w,x,h.toWireType(pa,I));bc(pa)}}});return[{name:b.name,fromWireType:function(n){var q={},r;for(r in l)q[r]=l[r].read(n);d(n);return q},
toWireType:function(n,q){for(var r in l)if(!(r in q))throw new TypeError('Missing field: "'+r+'"');var v=c();for(r in l)l[r].write(v,q[r]);null!==n&&n.push(d,v);return v},argPackAdvance:8,readValueFromPointer:cc,Ea:d}]})},H:function(a,b,c,d,e){var g=lc(c);b=W(b);V(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,l){return l?d:e},argPackAdvance:8,readValueFromPointer:function(k){if(1===c)var l=H;else if(2===c)l=E;else if(4===c)l=F;else throw new TypeError("Unknown boolean type size: "+
b);return this.fromWireType(l[k>>g])},Ea:null})},G:function(a,b){b=W(b);V(a,{name:b,fromWireType:function(c){var d=Y[c].value;pc(c);return d},toWireType:function(c,d){return qc(d)},argPackAdvance:8,readValueFromPointer:cc,Ea:null})},j:function(a,b,c){c=lc(c);b=W(b);V(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+rc(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:sc(b,c),
Ea:null})},m:function(a,b,c,d,e,g){var k=wc(b,c);a=W(a);e=xc(d,e);vc(a,function(){Bc("Cannot call "+a+" due to unbound types",k)},b-1);kc([],k,function(l){var n=[l[0],null].concat(l.slice(1)),q=l=a,r=e,v=n.length;2>v&&X("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var y=null!==n[1]&&!1,h=!1,p=1;p<n.length;++p)if(null!==n[p]&&void 0===n[p].Ea){h=!0;break}var w="void"!==n[0].name,x="",I="";for(p=0;p<v-2;++p)x+=(0!==p?", ":"")+"arg"+p,I+=(0!==p?", ":"")+"arg"+
var Tc={B:function(a){return sb(a)},O:function(){},s:function(a){"uncaught_exception"in cb?cb.Ua++:cb.Ua=1;throw a;},x:function(){F[Sc()>>2]=63;return-1},C:function(a,b,c){Yb=c;try{var d=$b(a);switch(b){case 21509:case 21505:return d.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return d.tty?0:-59;case 21519:if(!d.tty)return-59;var e=Zb();return F[e>>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=e=Zb();if(!d.za.sb)throw new M(59);return d.za.sb(d,b,a);case 21523:return d.tty?
0:-59;case 21524:return d.tty?0:-59;default:z("bad ioctl syscall "+b)}}catch(g){return"undefined"!==typeof T&&g instanceof M||z(g),-g.Ca}},w:function(a,b){try{if(-1===(a|0)||0===b)var c=-28;else{var d=Xb[a];if(d&&b===d.Jb){var e=vb[d.fd];if(d.Nb&2){var g=d.flags,k=d.offset,l=D.slice(a,a+b);e&&e.za.Qa&&e.za.Qa(e,l,k,b,g)}Xb[a]=null;d.jb&&Z(d.Kb)}c=0}return c}catch(n){return"undefined"!==typeof T&&n instanceof M||z(n),-n.Ca}},D:function(a,b,c){Yb=c;try{var d=C(a),e=Zb();return Pb(d,b,e).fd}catch(g){return"undefined"!==
typeof T&&g instanceof M||z(g),-g.Ca}},E:function(a){try{a=C(a);var b=R(a,{parent:!0}).node,c=gb(a),d=O(b,c),e=Hb(b,c,!0);if(e)throw new M(e);if(!b.ya.rmdir)throw new M(63);if(d.Ka)throw new M(10);try{Q.willDeletePath&&Q.willDeletePath(a)}catch(g){A("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.ya.rmdir(b,c);Bb(d);try{if(Q.onDeletePath)Q.onDeletePath(a)}catch(g){A("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+g.message)}return 0}catch(g){return"undefined"!==
typeof T&&g instanceof M||z(g),-g.Ca}},F:function(a){try{a=C(a);var b=R(a,{parent:!0}).node,c=gb(a),d=O(b,c),e=Hb(b,c,!1);if(e)throw new M(e);if(!b.ya.unlink)throw new M(63);if(d.Ka)throw new M(10);try{Q.willDeletePath&&Q.willDeletePath(a)}catch(g){A("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.ya.unlink(b,c);Bb(d);try{if(Q.onDeletePath)Q.onDeletePath(a)}catch(g){A("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+g.message)}return 0}catch(g){return"undefined"!==
typeof T&&g instanceof M||z(g),-g.Ca}},o:function(a){var b=ac[a];delete ac[a];var c=b.ub,d=b.vb,e=b.cb,g=e.map(function(k){return k.qb}).concat(e.map(function(k){return k.zb}));kc([a],g,function(k){var l={};e.forEach(function(n,q){var r=k[q],v=n.ob,y=n.pb,h=k[q+e.length],p=n.yb,w=n.Ab;l[n.mb]={read:function(x){return r.fromWireType(v(y,x))},write:function(x,I){var pa=[];p(w,x,h.toWireType(pa,I));bc(pa)}}});return[{name:b.name,fromWireType:function(n){var q={},r;for(r in l)q[r]=l[r].read(n);d(n);return q},
toWireType:function(n,q){for(var r in l)if(!(r in q))throw new TypeError('Missing field: "'+r+'"');var v=c();for(r in l)l[r].write(v,q[r]);null!==n&&n.push(d,v);return v},argPackAdvance:8,readValueFromPointer:cc,Ga:d}]})},H:function(a,b,c,d,e){var g=lc(c);b=W(b);V(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,l){return l?d:e},argPackAdvance:8,readValueFromPointer:function(k){if(1===c)var l=H;else if(2===c)l=E;else if(4===c)l=F;else throw new TypeError("Unknown boolean type size: "+
b);return this.fromWireType(l[k>>g])},Ga:null})},G:function(a,b){b=W(b);V(a,{name:b,fromWireType:function(c){var d=Y[c].value;pc(c);return d},toWireType:function(c,d){return qc(d)},argPackAdvance:8,readValueFromPointer:cc,Ga:null})},k:function(a,b,c){c=lc(c);b=W(b);V(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+rc(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:sc(b,c),
Ga:null})},n:function(a,b,c,d,e,g){var k=wc(b,c);a=W(a);e=xc(d,e);vc(a,function(){Bc("Cannot call "+a+" due to unbound types",k)},b-1);kc([],k,function(l){var n=[l[0],null].concat(l.slice(1)),q=l=a,r=e,v=n.length;2>v&&X("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var y=null!==n[1]&&!1,h=!1,p=1;p<n.length;++p)if(null!==n[p]&&void 0===n[p].Ga){h=!0;break}var w="void"!==n[0].name,x="",I="";for(p=0;p<v-2;++p)x+=(0!==p?", ":"")+"arg"+p,I+=(0!==p?", ":"")+"arg"+
p+"Wired";q="return function "+fc(q)+"("+x+") {\nif (arguments.length !== "+(v-2)+") {\nthrowBindingError('function "+q+" called with ' + arguments.length + ' arguments, expected "+(v-2)+" args!');\n}\n";h&&(q+="var destructors = [];\n");var pa=h?"destructors":"null";x="throwBindingError invoker fn runDestructors retType classParam".split(" ");r=[X,r,g,bc,n[0],n[1]];y&&(q+="var thisWired = classParam.toWireType("+pa+", this);\n");for(p=0;p<v-2;++p)q+="var arg"+p+"Wired = argType"+p+".toWireType("+
pa+", arg"+p+"); // "+n[p+2].name+"\n",x.push("argType"+p),r.push(n[p+2]);y&&(I="thisWired"+(0<I.length?", ":"")+I);q+=(w?"var rv = ":"")+"invoker(fn"+(0<I.length?", ":"")+I+");\n";if(h)q+="runDestructors(destructors);\n";else for(p=y?1:2;p<n.length;++p)v=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==n[p].Ea&&(q+=v+"_dtor("+v+"); // "+n[p].name+"\n",x.push(v+"_dtor"),r.push(n[p].Ea));w&&(q+="var ret = retType.fromWireType(rv);\nreturn ret;\n");x.push(q+"}\n");n=tc(x).apply(null,r);p=b-1;if(!f.hasOwnProperty(l))throw new jc("Replacing nonexistant public symbol");
void 0!==f[l].Ca&&void 0!==p?f[l].Ca[p]=n:(f[l]=n,f[l].ib=p);return[]})},c:function(a,b,c,d,e){function g(q){return q}b=W(b);-1===e&&(e=4294967295);var k=lc(c);if(0===d){var l=32-8*c;g=function(q){return q<<l>>>l}}var n=-1!=b.indexOf("unsigned");V(a,{name:b,fromWireType:g,toWireType:function(q,r){if("number"!==typeof r&&"boolean"!==typeof r)throw new TypeError('Cannot convert "'+rc(r)+'" to '+this.name);if(r<d||r>e)throw new TypeError('Passing a number "'+rc(r)+'" from JS side to C/C++ side to an argument of type "'+
b+'", which is outside the valid range ['+d+", "+e+"]!");return n?r>>>0:r|0},argPackAdvance:8,readValueFromPointer:Cc(b,k,0!==d),Ea:null})},b:function(a,b,c){function d(g){g>>=2;var k=J;return new e(G,k[g+1],k[g])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=W(c);V(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{pb:!0})},l:function(a,b){b=W(b);var c="std::string"===b;V(a,{name:b,fromWireType:function(d){var e=J[d>>2];
pa+", arg"+p+"); // "+n[p+2].name+"\n",x.push("argType"+p),r.push(n[p+2]);y&&(I="thisWired"+(0<I.length?", ":"")+I);q+=(w?"var rv = ":"")+"invoker(fn"+(0<I.length?", ":"")+I+");\n";if(h)q+="runDestructors(destructors);\n";else for(p=y?1:2;p<n.length;++p)v=1===p?"thisWired":"arg"+(p-2)+"Wired",null!==n[p].Ga&&(q+=v+"_dtor("+v+"); // "+n[p].name+"\n",x.push(v+"_dtor"),r.push(n[p].Ga));w&&(q+="var ret = retType.fromWireType(rv);\nreturn ret;\n");x.push(q+"}\n");n=tc(x).apply(null,r);p=b-1;if(!f.hasOwnProperty(l))throw new jc("Replacing nonexistant public symbol");
void 0!==f[l].Ea&&void 0!==p?f[l].Ea[p]=n:(f[l]=n,f[l].kb=p);return[]})},c:function(a,b,c,d,e){function g(q){return q}b=W(b);-1===e&&(e=4294967295);var k=lc(c);if(0===d){var l=32-8*c;g=function(q){return q<<l>>>l}}var n=-1!=b.indexOf("unsigned");V(a,{name:b,fromWireType:g,toWireType:function(q,r){if("number"!==typeof r&&"boolean"!==typeof r)throw new TypeError('Cannot convert "'+rc(r)+'" to '+this.name);if(r<d||r>e)throw new TypeError('Passing a number "'+rc(r)+'" from JS side to C/C++ side to an argument of type "'+
b+'", which is outside the valid range ['+d+", "+e+"]!");return n?r>>>0:r|0},argPackAdvance:8,readValueFromPointer:Cc(b,k,0!==d),Ga:null})},b:function(a,b,c){function d(g){g>>=2;var k=J;return new e(G,k[g+1],k[g])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=W(c);V(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{rb:!0})},m:function(a,b){b=W(b);var c="std::string"===b;V(a,{name:b,fromWireType:function(d){var e=J[d>>2];
if(c)for(var g=d+4,k=0;k<=e;++k){var l=d+4+k;if(k==e||0==D[l]){g=C(g,l-g);if(void 0===n)var n=g;else n+=String.fromCharCode(0),n+=g;g=l+1}}else{n=Array(e);for(k=0;k<e;++k)n[k]=String.fromCharCode(D[d+4+k]);n=n.join("")}Z(d);return n},toWireType:function(d,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var g="string"===typeof e;g||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||X("Cannot pass non-string to std::string");var k=(c&&g?function(){return wa(e)}:function(){return e.length})(),
l=sb(4+k+1);J[l>>2]=k;if(c&&g)va(e,D,l+4,k+1);else if(g)for(g=0;g<k;++g){var n=e.charCodeAt(g);255<n&&(Z(l),X("String has UTF-16 code units that do not fit in 8 bits"));D[l+4+g]=n}else for(g=0;g<k;++g)D[l+4+g]=e[g];null!==d&&d.push(Z,l);return l},argPackAdvance:8,readValueFromPointer:cc,Ea:function(d){Z(d)}})},f:function(a,b,c){c=W(c);if(2===b){var d=ya;var e=Aa;var g=Ba;var k=function(){return za};var l=1}else 4===b&&(d=Ca,e=Da,g=Ea,k=function(){return J},l=2);V(a,{name:c,fromWireType:function(n){for(var q=
J[n>>2],r=k(),v,y=n+4,h=0;h<=q;++h){var p=n+4+h*b;if(h==q||0==r[p>>l])y=d(y,p-y),void 0===v?v=y:(v+=String.fromCharCode(0),v+=y),y=p+b}Z(n);return v},toWireType:function(n,q){"string"!==typeof q&&X("Cannot pass non-string to C++ string type "+c);var r=g(q),v=sb(4+r+b);J[v>>2]=r>>l;e(q,v+4,r+b);null!==n&&n.push(Z,v);return v},argPackAdvance:8,readValueFromPointer:cc,Ea:function(n){Z(n)}})},p:function(a,b,c,d,e,g){ac[a]={name:W(b),sb:xc(c,d),tb:xc(e,g),ab:[]}},n:function(a,b,c,d,e,g,k,l,n,q){ac[a].ab.push({kb:W(b),
ob:c,mb:xc(d,e),nb:g,xb:k,wb:xc(l,n),yb:q})},I:function(a,b){b=W(b);V(a,{Gb:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},k:pc,N:function(a){if(0===a)return qc(Ec());var b=Dc[a];a=void 0===b?W(a):b;return qc(Ec()[a])},M:function(a){4<a&&(Y[a].Xa+=1)},q:function(a,b,c,d){a||X("Cannot use deleted val. handle = "+a);a=Y[a].value;var e=Gc[b];if(!e){e="";for(var g=0;g<b;++g)e+=(0!==g?", ":"")+"arg"+g;var k="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";
l=sb(4+k+1);J[l>>2]=k;if(c&&g)va(e,D,l+4,k+1);else if(g)for(g=0;g<k;++g){var n=e.charCodeAt(g);255<n&&(Z(l),X("String has UTF-16 code units that do not fit in 8 bits"));D[l+4+g]=n}else for(g=0;g<k;++g)D[l+4+g]=e[g];null!==d&&d.push(Z,l);return l},argPackAdvance:8,readValueFromPointer:cc,Ga:function(d){Z(d)}})},f:function(a,b,c){c=W(c);if(2===b){var d=ya;var e=Aa;var g=Ba;var k=function(){return za};var l=1}else 4===b&&(d=Ca,e=Da,g=Ea,k=function(){return J},l=2);V(a,{name:c,fromWireType:function(n){for(var q=
J[n>>2],r=k(),v,y=n+4,h=0;h<=q;++h){var p=n+4+h*b;if(h==q||0==r[p>>l])y=d(y,p-y),void 0===v?v=y:(v+=String.fromCharCode(0),v+=y),y=p+b}Z(n);return v},toWireType:function(n,q){"string"!==typeof q&&X("Cannot pass non-string to C++ string type "+c);var r=g(q),v=sb(4+r+b);J[v>>2]=r>>l;e(q,v+4,r+b);null!==n&&n.push(Z,v);return v},argPackAdvance:8,readValueFromPointer:cc,Ga:function(n){Z(n)}})},p:function(a,b,c,d,e,g){ac[a]={name:W(b),ub:xc(c,d),vb:xc(e,g),cb:[]}},h:function(a,b,c,d,e,g,k,l,n,q){ac[a].cb.push({mb:W(b),
qb:c,ob:xc(d,e),pb:g,zb:k,yb:xc(l,n),Ab:q})},I:function(a,b){b=W(b);V(a,{Ib:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},l:pc,N:function(a){if(0===a)return qc(Ec());var b=Dc[a];a=void 0===b?W(a):b;return qc(Ec()[a])},M:function(a){4<a&&(Y[a].Za+=1)},q:function(a,b,c,d){a||X("Cannot use deleted val. handle = "+a);a=Y[a].value;var e=Gc[b];if(!e){e="";for(var g=0;g<b;++g)e+=(0!==g?", ":"")+"arg"+g;var k="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";
for(g=0;g<b;++g)k+="var argType"+g+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+g+'], "parameter '+g+'");\nvar arg'+g+" = argType"+g+".readValueFromPointer(args);\nargs += argType"+g+"['argPackAdvance'];\n";e=(new Function("requireRegisteredType","Module","__emval_register",k+("var obj = new constructor("+e+");\nreturn __emval_register(obj);\n}\n")))(Fc,f,qc);Gc[b]=e}return e(a,c,d)},g:function(){z()},u:function(a,b,c){D.copyWithin(a,b,b+c)},d:function(a){a>>>=0;var b=D.length;
if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0<d%65536&&(d+=65536-d%65536);a:{try{B.grow(Math.min(2147483648,d)-G.byteLength+65535>>>16);Ha(B.buffer);var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1},y:function(a,b){var c=0;Ic().forEach(function(d,e){var g=b+c;e=F[a+4*e>>2]=g;for(g=0;g<d.length;++g)H[e++>>0]=d.charCodeAt(g);H[e>>0]=0;c+=d.length+1});return 0},z:function(a,b){var c=Ic();F[a>>2]=c.length;var d=0;c.forEach(function(e){d+=
e.length+1});F[b>>2]=d;return 0},L:function(a){if(!noExitRuntime&&(sa=!0,f.onExit))f.onExit(a);ea(a,new na(a))},i:function(a){try{var b=$b(a);if(null===b.fd)throw new M(8);b.Ua&&(b.Ua=null);try{b.wa.close&&b.wa.close(b)}catch(c){throw c;}finally{vb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof T&&c instanceof M||z(c),c.Aa}},A:function(a,b,c,d){try{a:{for(var e=$b(a),g=a=0;g<c;g++){var k=F[b+(8*g+4)>>2],l=e,n=F[b+8*g>>2],q=k,r=void 0,v=H;if(0>q||0>r)throw new M(28);if(null===l.fd)throw new M(8);
if(1===(l.flags&2097155))throw new M(8);if(16384===(l.node.mode&61440))throw new M(31);if(!l.wa.read)throw new M(28);var y="undefined"!==typeof r;if(!y)r=l.position;else if(!l.seekable)throw new M(70);var h=l.wa.read(l,v,n,q,r);y||(l.position+=h);var p=h;if(0>p){var w=-1;break a}a+=p;if(p<k)break}w=a}F[d>>2]=w;return 0}catch(x){return"undefined"!==typeof T&&x instanceof M||z(x),x.Aa}},r:function(a,b,c,d,e){try{var g=$b(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;
Rb(g,a,d);ab=[g.position>>>0,($a=g.position,1<=+Pa($a)?0<$a?(Sa(+Ra($a/4294967296),4294967295)|0)>>>0:~~+Qa(($a-+(~~$a>>>0))/4294967296)>>>0:0)];F[e>>2]=ab[0];F[e+4>>2]=ab[1];g.Ua&&0===a&&0===d&&(g.Ua=null);return 0}catch(k){return"undefined"!==typeof T&&k instanceof M||z(k),k.Aa}},h:function(a,b,c,d){try{a:{for(var e=$b(a),g=a=0;g<c;g++){var k=e,l=F[b+8*g>>2],n=F[b+(8*g+4)>>2],q=void 0,r=H;if(0>n||0>q)throw new M(28);if(null===k.fd)throw new M(8);if(0===(k.flags&2097155))throw new M(8);if(16384===
(k.node.mode&61440))throw new M(31);if(!k.wa.write)throw new M(28);k.seekable&&k.flags&1024&&Rb(k,0,2);var v="undefined"!==typeof q;if(!v)q=k.position;else if(!k.seekable)throw new M(70);var y=k.wa.write(k,r,l,n,q,void 0);v||(k.position+=y);try{if(k.path&&Q.onWriteToFile)Q.onWriteToFile(k.path)}catch(w){A("FS.trackingDelegate['onWriteToFile']('"+k.path+"') threw an exception: "+w.message)}var h=y;if(0>h){var p=-1;break a}a+=h}p=a}F[d>>2]=p;return 0}catch(w){return"undefined"!==typeof T&&w instanceof
M||z(w),w.Aa}},J:function(a){a=new Date(1E3*F[a>>2]);F[141456]=a.getUTCSeconds();F[141457]=a.getUTCMinutes();F[141458]=a.getUTCHours();F[141459]=a.getUTCDate();F[141460]=a.getUTCMonth();F[141461]=a.getUTCFullYear()-1900;F[141462]=a.getUTCDay();F[141465]=0;F[141464]=0;F[141463]=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;F[141466]=565872;return 565824},memory:B,e:function(a){a=+a;return 0<=a?+Ra(a+.5):+Qa(a-.5)},a:function(a){a=+a;return 0<=a?+Ra(a+.5):+Qa(a-.5)},t:function(){},
e.length+1});F[b>>2]=d;return 0},L:function(a){if(!noExitRuntime&&(sa=!0,f.onExit))f.onExit(a);ea(a,new na(a))},j:function(a){try{var b=$b(a);if(null===b.fd)throw new M(8);b.Wa&&(b.Wa=null);try{b.za.close&&b.za.close(b)}catch(c){throw c;}finally{vb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof T&&c instanceof M||z(c),c.Ca}},A:function(a,b,c,d){try{a:{for(var e=$b(a),g=a=0;g<c;g++){var k=F[b+(8*g+4)>>2],l=e,n=F[b+8*g>>2],q=k,r=void 0,v=H;if(0>q||0>r)throw new M(28);if(null===l.fd)throw new M(8);
if(1===(l.flags&2097155))throw new M(8);if(16384===(l.node.mode&61440))throw new M(31);if(!l.za.read)throw new M(28);var y="undefined"!==typeof r;if(!y)r=l.position;else if(!l.seekable)throw new M(70);var h=l.za.read(l,v,n,q,r);y||(l.position+=h);var p=h;if(0>p){var w=-1;break a}a+=p;if(p<k)break}w=a}F[d>>2]=w;return 0}catch(x){return"undefined"!==typeof T&&x instanceof M||z(x),x.Ca}},r:function(a,b,c,d,e){try{var g=$b(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;
Rb(g,a,d);ab=[g.position>>>0,($a=g.position,1<=+Pa($a)?0<$a?(Sa(+Ra($a/4294967296),4294967295)|0)>>>0:~~+Qa(($a-+(~~$a>>>0))/4294967296)>>>0:0)];F[e>>2]=ab[0];F[e+4>>2]=ab[1];g.Wa&&0===a&&0===d&&(g.Wa=null);return 0}catch(k){return"undefined"!==typeof T&&k instanceof M||z(k),k.Ca}},i:function(a,b,c,d){try{a:{for(var e=$b(a),g=a=0;g<c;g++){var k=e,l=F[b+8*g>>2],n=F[b+(8*g+4)>>2],q=void 0,r=H;if(0>n||0>q)throw new M(28);if(null===k.fd)throw new M(8);if(0===(k.flags&2097155))throw new M(8);if(16384===
(k.node.mode&61440))throw new M(31);if(!k.za.write)throw new M(28);k.seekable&&k.flags&1024&&Rb(k,0,2);var v="undefined"!==typeof q;if(!v)q=k.position;else if(!k.seekable)throw new M(70);var y=k.za.write(k,r,l,n,q,void 0);v||(k.position+=y);try{if(k.path&&Q.onWriteToFile)Q.onWriteToFile(k.path)}catch(w){A("FS.trackingDelegate['onWriteToFile']('"+k.path+"') threw an exception: "+w.message)}var h=y;if(0>h){var p=-1;break a}a+=h}p=a}F[d>>2]=p;return 0}catch(w){return"undefined"!==typeof T&&w instanceof
M||z(w),w.Ca}},J:function(a){a=new Date(1E3*F[a>>2]);F[141464]=a.getUTCSeconds();F[141465]=a.getUTCMinutes();F[141466]=a.getUTCHours();F[141467]=a.getUTCDate();F[141468]=a.getUTCMonth();F[141469]=a.getUTCFullYear()-1900;F[141470]=a.getUTCDay();F[141473]=0;F[141472]=0;F[141471]=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;F[141474]=565904;return 565856},memory:B,e:function(a){a=+a;return 0<=a?+Ra(a+.5):+Qa(a-.5)},a:function(a){a=+a;return 0<=a?+Ra(a+.5):+Qa(a-.5)},t:function(){},
v:function(a,b,c,d){return Pc(a,b,c,d)},table:ra,K:function(a){var b=Date.now()/1E3|0;a&&(F[a>>2]=b);return b}};
(function(){function a(e){f.asm=e.exports;K--;f.monitorRunDependencies&&f.monitorRunDependencies(K);0==K&&(null!==Ta&&(clearInterval(Ta),Ta=null),Ua&&(e=Ua,Ua=null,e()))}function b(e){a(e.instance)}function c(e){return Za().then(function(g){return WebAssembly.instantiate(g,d)}).then(e,function(g){A("failed to asynchronously prepare wasm: "+g);z(g)})}var d={a:Tc};K++;f.monitorRunDependencies&&f.monitorRunDependencies(K);if(f.instantiateWasm)try{return f.instantiateWasm(d,a)}catch(e){return A("Module.instantiateWasm callback failed with error: "+
e),!1}(function(){if(qa||"function"!==typeof WebAssembly.instantiateStreaming||Wa()||Va("file://")||"function"!==typeof fetch)return c(b);fetch(L,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(g){A("wasm streaming compile failed: "+g);A("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})();
var bb=f.___wasm_call_ctors=function(){return(bb=f.___wasm_call_ctors=f.asm.P).apply(null,arguments)},sb=f._malloc=function(){return(sb=f._malloc=f.asm.Q).apply(null,arguments)},Z=f._free=function(){return(Z=f._free=f.asm.R).apply(null,arguments)},Sc=f.___errno_location=function(){return(Sc=f.___errno_location=f.asm.S).apply(null,arguments)},Ac=f.___getTypeName=function(){return(Ac=f.___getTypeName=f.asm.T).apply(null,arguments)};
f.___embind_register_native_and_builtin_types=function(){return(f.___embind_register_native_and_builtin_types=f.asm.U).apply(null,arguments)};f.dynCall_i=function(){return(f.dynCall_i=f.asm.V).apply(null,arguments)};f.dynCall_vi=function(){return(f.dynCall_vi=f.asm.W).apply(null,arguments)};f.dynCall_iii=function(){return(f.dynCall_iii=f.asm.X).apply(null,arguments)};f.dynCall_viii=function(){return(f.dynCall_viii=f.asm.Y).apply(null,arguments)};
f.dynCall_iiiiii=function(){return(f.dynCall_iiiiii=f.asm.Z).apply(null,arguments)};f.dynCall_viiiii=function(){return(f.dynCall_viiiii=f.asm._).apply(null,arguments)};f.dynCall_ii=function(){return(f.dynCall_ii=f.asm.$).apply(null,arguments)};f.dynCall_iidiiii=function(){return(f.dynCall_iidiiii=f.asm.aa).apply(null,arguments)};f.dynCall_vii=function(){return(f.dynCall_vii=f.asm.ba).apply(null,arguments)};f.dynCall_iiiiiii=function(){return(f.dynCall_iiiiiii=f.asm.ca).apply(null,arguments)};
f.dynCall_iiii=function(){return(f.dynCall_iiii=f.asm.da).apply(null,arguments)};f.dynCall_iiiii=function(){return(f.dynCall_iiiii=f.asm.ea).apply(null,arguments)};f.dynCall_viiiiii=function(){return(f.dynCall_viiiiii=f.asm.fa).apply(null,arguments)};f.dynCall_jiji=function(){return(f.dynCall_jiji=f.asm.ga).apply(null,arguments)};f.dynCall_viiiiiii=function(){return(f.dynCall_viiiiiii=f.asm.ha).apply(null,arguments)};f.dynCall_viijii=function(){return(f.dynCall_viijii=f.asm.ia).apply(null,arguments)};
f.dynCall_viiii=function(){return(f.dynCall_viiii=f.asm.ja).apply(null,arguments)};f.dynCall_fi=function(){return(f.dynCall_fi=f.asm.ka).apply(null,arguments)};f.dynCall_v=function(){return(f.dynCall_v=f.asm.la).apply(null,arguments)};f.dynCall_diid=function(){return(f.dynCall_diid=f.asm.ma).apply(null,arguments)};f.dynCall_iiiiiiii=function(){return(f.dynCall_iiiiiiii=f.asm.na).apply(null,arguments)};f.dynCall_idi=function(){return(f.dynCall_idi=f.asm.oa).apply(null,arguments)};
f.dynCall_iiiiiiiii=function(){return(f.dynCall_iiiiiiiii=f.asm.pa).apply(null,arguments)};f.dynCall_iiiiiijj=function(){return(f.dynCall_iiiiiijj=f.asm.qa).apply(null,arguments)};f.dynCall_iiiiij=function(){return(f.dynCall_iiiiij=f.asm.ra).apply(null,arguments)};f.dynCall_iiiiid=function(){return(f.dynCall_iiiiid=f.asm.sa).apply(null,arguments)};f.dynCall_iiiiijj=function(){return(f.dynCall_iiiiijj=f.asm.ta).apply(null,arguments)};var Uc;
function na(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Ua=function Vc(){Uc||Wc();Uc||(Ua=Vc)};
f.dynCall_fii=function(){return(f.dynCall_fii=f.asm.Z).apply(null,arguments)};f.dynCall_viif=function(){return(f.dynCall_viif=f.asm._).apply(null,arguments)};f.dynCall_iiiiii=function(){return(f.dynCall_iiiiii=f.asm.$).apply(null,arguments)};f.dynCall_viiiii=function(){return(f.dynCall_viiiii=f.asm.aa).apply(null,arguments)};f.dynCall_ii=function(){return(f.dynCall_ii=f.asm.ba).apply(null,arguments)};f.dynCall_iidiiii=function(){return(f.dynCall_iidiiii=f.asm.ca).apply(null,arguments)};
f.dynCall_vii=function(){return(f.dynCall_vii=f.asm.da).apply(null,arguments)};f.dynCall_iiiiiii=function(){return(f.dynCall_iiiiiii=f.asm.ea).apply(null,arguments)};f.dynCall_iiii=function(){return(f.dynCall_iiii=f.asm.fa).apply(null,arguments)};f.dynCall_iiiii=function(){return(f.dynCall_iiiii=f.asm.ga).apply(null,arguments)};f.dynCall_viiiiii=function(){return(f.dynCall_viiiiii=f.asm.ha).apply(null,arguments)};f.dynCall_jiji=function(){return(f.dynCall_jiji=f.asm.ia).apply(null,arguments)};
f.dynCall_viiiiiii=function(){return(f.dynCall_viiiiiii=f.asm.ja).apply(null,arguments)};f.dynCall_viijii=function(){return(f.dynCall_viijii=f.asm.ka).apply(null,arguments)};f.dynCall_viiii=function(){return(f.dynCall_viiii=f.asm.la).apply(null,arguments)};f.dynCall_fi=function(){return(f.dynCall_fi=f.asm.ma).apply(null,arguments)};f.dynCall_v=function(){return(f.dynCall_v=f.asm.na).apply(null,arguments)};f.dynCall_diid=function(){return(f.dynCall_diid=f.asm.oa).apply(null,arguments)};
f.dynCall_iiiiiiii=function(){return(f.dynCall_iiiiiiii=f.asm.pa).apply(null,arguments)};f.dynCall_idi=function(){return(f.dynCall_idi=f.asm.qa).apply(null,arguments)};f.dynCall_iiiiiiiii=function(){return(f.dynCall_iiiiiiiii=f.asm.ra).apply(null,arguments)};f.dynCall_iiiiiijj=function(){return(f.dynCall_iiiiiijj=f.asm.sa).apply(null,arguments)};f.dynCall_iiiiij=function(){return(f.dynCall_iiiiij=f.asm.ta).apply(null,arguments)};
f.dynCall_iiiiid=function(){return(f.dynCall_iiiiid=f.asm.ua).apply(null,arguments)};f.dynCall_iiiiijj=function(){return(f.dynCall_iiiiijj=f.asm.va).apply(null,arguments)};var Uc;function na(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}Ua=function Vc(){Uc||Wc();Uc||(Ua=Vc)};
function Wc(){function a(){if(!Uc&&(Uc=!0,f.calledRun=!0,!sa)){f.noFSInit||Tb||(Tb=!0,Sb(),f.stdin=f.stdin,f.stdout=f.stdout,f.stderr=f.stderr,f.stdin?Vb("stdin",f.stdin):Ob("/dev/tty","/dev/stdin"),f.stdout?Vb("stdout",null,f.stdout):Ob("/dev/tty","/dev/stdout"),f.stderr?Vb("stderr",null,f.stderr):Ob("/dev/tty1","/dev/stderr"),Pb("/dev/stdin","r"),Pb("/dev/stdout","w"),Pb("/dev/stderr","w"));Ja(La);xb=!1;Ja(Ma);aa(f);if(f.onRuntimeInitialized)f.onRuntimeInitialized();if(f.postRun)for("function"==
typeof f.postRun&&(f.postRun=[f.postRun]);f.postRun.length;){var b=f.postRun.shift();Na.unshift(b)}Ja(Na)}}if(!(0<K)){if(f.preRun)for("function"==typeof f.preRun&&(f.preRun=[f.preRun]);f.preRun.length;)Oa();Ja(Ka);0<K||(f.setStatus?(f.setStatus("Running..."),setTimeout(function(){setTimeout(function(){f.setStatus("")},1);a()},1)):a())}}f.run=Wc;if(f.preInit)for("function"==typeof f.preInit&&(f.preInit=[f.preInit]);0<f.preInit.length;)f.preInit.pop()();noExitRuntime=!0;Wc();

Binary file not shown.

View File

@@ -1,14 +1,16 @@
export interface EncodeOptions {
speed: number;
quality: number;
}
export interface EncoderState { type: typeof type; options: EncodeOptions; }
export const type = 'jxl';
export const label = 'JPEG XL';
export const label = 'JPEG XL (beta)';
export const mimeType = 'image/jpegxl';
export const extension = 'jxl';
// These come from struct WebPConfig in encode.h.
export const defaultOptions: EncodeOptions = {
speed: 1,
quality: 0.5,
};

View File

@@ -30,6 +30,7 @@ export default class JXLEncoderOptions extends Component<Props, State> {
// Copy over options the form doesn't care about, eg emulate_jpeg_size
...options,
speed: inputFieldValueAsNumber(form.speed, options.speed),
quality: inputFieldValueAsNumber(form.quality, options.quality),
};
this.props.onChange(newOptions);
}
@@ -47,6 +48,16 @@ export default class JXLEncoderOptions extends Component<Props, State> {
>
Speed:
</Range>
<Range
name="quality"
min="0.5"
max="8"
step="0.1"
value={options.quality}
onInput={this.onChange}
>
Quality:
</Range>
</div>
</form>
);