diff --git a/codecs/avif/Makefile b/codecs/avif/Makefile index 936cb5bb..2f4f77b6 100644 --- a/codecs/avif/Makefile +++ b/codecs/avif/Makefile @@ -7,6 +7,8 @@ LIBAOM_DIR := $(addprefix $(CODEC_DIR)/, $(LIBAOM_RELATIVE)) LIBAOM_OUT_RELATIVE = ./libaom.a LIBAOM_OUT := $(addprefix $(LIBAOM_DIR)/, $(LIBAOM_OUT_RELATIVE)) +LIBAOM_VERSION = "v2.0.0" + OUT_JS = enc/avif_enc.js dec/avif_dec.js OUT_WASM = $(OUT_JS:.js=.wasm) @@ -47,7 +49,7 @@ $(LIBAOM_OUT): $(LIBAOM_DIR) $(LIBAOM_DIR): cd $(CODEC_DIR)/ext && \ - git clone -b v1.0.0-errata1-avif --depth 1 https://aomedia.googlesource.com/aom aom + git clone -b $(LIBAOM_VERSION) --depth 1 https://aomedia.googlesource.com/aom aom $(CODEC_OUT): $(LIBAOM_OUT) export CFLAGS="-w $(CFLAGS)" && \ diff --git a/codecs/avif/dec/avif_dec.cpp b/codecs/avif/dec/avif_dec.cpp index 6f24ece2..bc811aa4 100644 --- a/codecs/avif/dec/avif_dec.cpp +++ b/codecs/avif/dec/avif_dec.cpp @@ -1,11 +1,11 @@ -#include "avif/avif.h" #include #include +#include "avif/avif.h" using namespace emscripten; class RawImage { -public: + public: val buffer; uint32_t width; uint32_t height; @@ -16,11 +16,11 @@ public: RawImage decode(std::string avifimage) { // point raw.data and raw.size to the contents of an .avif(s) avifROData raw; - raw.data = (uint8_t *)avifimage.c_str(); + raw.data = (uint8_t*)avifimage.c_str(); raw.size = avifimage.length(); - avifImage *image = avifImageCreateEmpty(); - avifDecoder *decoder = avifDecoderCreate(); + avifImage* image = avifImageCreateEmpty(); + avifDecoder* decoder = avifDecoderCreate(); avifResult decodeResult = avifDecoderRead(decoder, image, &raw); // image is an independent copy of decoded data, decoder may be destroyed here avifDecoderDestroy(decoder); @@ -30,8 +30,8 @@ RawImage decode(std::string avifimage) { // Convert to interleaved RGB(A)/BGR(A) using a libavif-allocated buffer. avifRGBImage rgb; - avifRGBImageSetDefaults(&rgb, image); // Defaults to AVIF_RGB_FORMAT_RGBA which is what we want. - rgb.depth = 8; // Does not need to match image->depth. We always want 8-bit pixels. + avifRGBImageSetDefaults(&rgb, image); // Defaults to AVIF_RGB_FORMAT_RGBA which is what we want. + rgb.depth = 8; // Does not need to match image->depth. We always want 8-bit pixels. avifRGBImageAllocatePixels(&rgb); avifImageYUVToRGB(image, &rgb); diff --git a/codecs/avif/dec/avif_dec.js b/codecs/avif/dec/avif_dec.js new file mode 100644 index 00000000..547dfaf4 --- /dev/null +++ b/codecs/avif/dec/avif_dec.js @@ -0,0 +1,127 @@ + +var avif_dec = (function() { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(avif_dec) { + avif_dec = avif_dec || {}; + + +var e;e||(e=typeof avif_dec !== 'undefined' ? avif_dec : {});var aa,ba;e.ready=new Promise(function(a,b){aa=a;ba=b});var ca={},m;for(m in e)e.hasOwnProperty(m)&&(ca[m]=e[m]);var da=!1,t=!1,ea=!1,fa=!1;da="object"===typeof window;t="function"===typeof importScripts;ea="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;fa=!da&&!ea&&!t;var u="",ha,ia,ja,ka; +if(ea)u=t?require("path").dirname(u)+"/":__dirname+"/",ha=function(a,b){ja||(ja=require("fs"));ka||(ka=require("path"));a=ka.normalize(a);return ja.readFileSync(a,b?null:"utf8")},ia=function(a){a=ha(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1=d);)++c;if(16f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d} +function sa(a,b,c,d){if(!(0=h){var k=a.charCodeAt(++g);h=65536+((h&1023)<<10)|k&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-f} +function ta(a){for(var b=0,c=0;c=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 ua="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function va(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&wa[c];)++c;c<<=1;if(32>1];if(0==f||c==b/2)return d;++c;d+=String.fromCharCode(f)}} +function xa(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 f=0;f>1]=a.charCodeAt(f),b+=2;D[b>>1]=0;return b-d}function ya(a){return 2*a.length}function za(a,b){for(var c=0,d="";!(c>=b/4);){var f=F[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d} +function Ba(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ca(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}var G,H,C,D,wa,F,I,Da,Ea; +function Fa(a){G=a;e.HEAP8=H=new Int8Array(a);e.HEAP16=D=new Int16Array(a);e.HEAP32=F=new Int32Array(a);e.HEAPU8=C=new Uint8Array(a);e.HEAPU16=wa=new Uint16Array(a);e.HEAPU32=I=new Uint32Array(a);e.HEAPF32=Da=new Float32Array(a);e.HEAPF64=Ea=new Float64Array(a)}var Ga=e.INITIAL_MEMORY||16777216;e.wasmMemory?B=e.wasmMemory:B=new WebAssembly.Memory({initial:Ga/65536,maximum:32768});B&&(G=B.buffer);Ga=G.byteLength;Fa(G);F[224100]=6139440; +function Ha(a){for(;0=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ma,a.Ma=new Uint8Array(b),0b)a.Ma.length=b; +else for(;a.Ma.length=a.node.Ra)return 0;a=Math.min(a.node.Ra-f,d);if(8b)throw new M(28);return b},vb:function(a,b,c){N.yb(a.node,b+c);a.node.Ra=Math.max(a.node.Ra,b+c)},Cb:function(a,b,c,d,f,g){assert(0=== +b);if(32768!==(a.node.mode&61440))throw new M(43);a=a.node.Ma;if(g&2||a.buffer!==G){if(0>>0)%vb.length}function pb(a,b){var c;if(c=(c=Bb(a,"x"))?c:a.Na.lookup?0:2)throw new M(c,a);for(c=vb[Ab(a.id,b)];c;c=c.Rb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Na.lookup(a,b)} +function nb(a,b,c,d){a=new Cb(a,b,c,d);b=Ab(a.parent.id,a.name);a.Rb=vb[b];return vb[b]=a}var Db={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 Eb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Bb(a,b){if(wb)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 Fb(a,b){try{return pb(a,b),20}catch(c){}return Bb(a,"wx")}function Gb(a){var b=4096;for(a=a||0;a<=b;a++)if(!tb[a])return a;throw new M(33);}function Hb(a,b){Ib||(Ib=function(){},Ib.prototype={});var c=new Ib,d;for(d in a)c[d]=a[d];a=c;b=Gb(b);a.fd=b;return tb[b]=a}var mb={open:function(a){a.Oa=sb[a.node.rdev].Oa;a.Oa.open&&a.Oa.open(a)},fb:function(){throw new M(70);}};function ib(a,b){sb[a]={Oa:b}} +function Jb(a,b){var c="/"===b,d=!b;if(c&&rb)throw new M(10);if(!c&&!d){var f=O(b,{Ab:!1});b=f.path;f=f.node;if(f.ob)throw new M(10);if(16384!==(f.mode&61440))throw new M(54);}b={type:a,cc:{},Db:b,Qb:[]};a=a.$a(b);a.$a=b;b.root=a;c?rb=a:f&&(f.ob=b,f.$a&&f.$a.Qb.push(b))}function Kb(a,b,c){var d=O(a,{parent:!0}).node;a=eb(a);if(!a||"."===a||".."===a)throw new M(28);var f=Fb(d,a);if(f)throw new M(f);if(!d.Na.nb)throw new M(63);return d.Na.nb(d,a,b,c)}function P(a){Kb(a,16895,0)} +function Lb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Kb(a,b|8192,c)}function Mb(a,b){if(!fb(a))throw new M(44);var c=O(b,{parent:!0}).node;if(!c)throw new M(44);b=eb(b);var d=Fb(c,b);if(d)throw new M(d);if(!c.Na.symlink)throw new M(63);c.Na.symlink(c,b,a)}function yb(a){a=O(a).node;if(!a)throw new M(44);if(!a.Na.readlink)throw new M(28);return fb(zb(a.parent),a.Na.readlink(a))} +function Nb(a,b,c,d){if(""===a)throw new M(44);if("string"===typeof b){var f=Db[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var g=a;else{a=cb(a);try{g=O(a,{zb:!(b&131072)}).node}catch(k){}}f=!1;if(b&64)if(g){if(b&128)throw new M(20);}else g=Kb(a,c,0),f=!0;if(!g)throw new M(44);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&16384!==(g.mode&61440))throw new M(54);if(!f&&(c=g?40960===(g.mode&61440)? +32:16384===(g.mode&61440)&&("r"!==Eb(b)||b&512)?31:Bb(g,Eb(b)):44))throw new M(c);if(b&512){c=g;var h;"string"===typeof c?h=O(c,{zb:!0}).node:h=c;if(!h.Na.Ya)throw new M(63);if(16384===(h.mode&61440))throw new M(31);if(32768!==(h.mode&61440))throw new M(28);if(c=Bb(h,"w"))throw new M(c);h.Na.Ya(h,{size:0,timestamp:Date.now()})}b&=-131713;d=Hb({node:g,path:zb(g),flags:b,seekable:!0,position:0,Oa:g.Oa,Yb:[],error:!1},d);d.Oa.open&&d.Oa.open(d);!e.logReadFiles||b&1||(Ob||(Ob={}),a in Ob||(Ob[a]=1,A("FS.trackingDelegate error on read file: "+ +a)));try{xb.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),xb.onOpenFile(a,g))}catch(k){A("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+k.message)}return d}function Pb(a,b,c){if(null===a.fd)throw new M(8);if(!a.seekable||!a.Oa.fb)throw new M(70);if(0!=c&&1!=c&&2!=c)throw new M(28);a.position=a.Oa.fb(a,b,c);a.Yb=[]} +function Qb(){M||(M=function(a,b){this.node=b;this.Wb=function(c){this.cb=c};this.Wb(a);this.message="FS error"},M.prototype=Error(),M.prototype.constructor=M,[44].forEach(function(a){ob[a]=new M(a);ob[a].stack=""}))}var Rb;function Sb(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c} +function Tb(a,b,c){a=cb("/dev/"+a);var d=Sb(!!b,!!c);Ub||(Ub=64);var f=Ub++<<8|0;ib(f,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,h,k,l){for(var n=0,p=0;p>2]}function Yb(a){a=tb[a];if(!a)throw new M(8);return a}function Zb(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 $b=void 0;function Q(a){for(var b="";C[a];)b+=$b[C[a++]];return b}var ac={},bc={},cc={};function dc(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 ec(a,b){a=dc(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function fc(a){var b=Error,c=ec(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 hc=void 0;function R(a){throw new hc(a);}var ic=void 0;function jc(a){throw new ic(a);}function kc(a,b,c){function d(k){k=c(k);k.length!==a.length&&jc("Mismatched type converter count");for(var l=0;l>2])}function Gc(a,b,c){if(b===c)return a;if(void 0===c.Va)return null;a=Gc(a,b,c.Va);return null===a?null:c.Jb(a)} +var Hc={};function Ic(a,b){for(void 0===b&&R("ptr should not be undefined");a.Va;)b=a.kb(b),a=a.Va;return Hc[b]}function Jc(a,b){b.Sa&&b.Pa||jc("makeClassHandle requires ptr and ptrType");!!b.Ua!==!!b.Ta&&jc("Both smartPtrType and smartPtr must be specified");b.count={value:1};return qc(Object.create(a,{La:{value:b}}))} +function U(a,b,c,d){this.name=a;this.Qa=b;this.rb=c;this.lb=d;this.mb=!1;this.gb=this.Ub=this.Tb=this.Fb=this.Xb=this.Sb=void 0;void 0!==b.Va?this.toWireType=Cc:(this.toWireType=d?Ac:Ec,this.Za=null)}function Kc(a,b,c){e.hasOwnProperty(a)||jc("Replacing nonexistant public symbol");void 0!==e[a].Xa&&void 0!==c?e[a].Xa[c]=b:(e[a]=b,e[a].Gb=c)} +function Lc(a,b){a=Q(a);var c=e["dynCall_"+a];for(var d=[],f=1;f>2])};case 3:return function(c){return this.fromWireType(Ea[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function Vc(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=ec(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} +function Wc(a,b){for(var c=[],d=0;d>2)+d]);return c}function Xc(a,b,c){switch(b){case 0:return c?function(d){return H[d]}:function(d){return C[d]};case 1:return c?function(d){return D[d>>1]}:function(d){return wa[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Yc={},Zc=[];function $c(a){var b=Zc.length;Zc.push(a);return b} +function ad(a,b){var c=bc[a];void 0===c&&R(b+" has unknown type "+Nc(a));return c}function bd(a,b){for(var c=Array(a),d=0;d>2)+d],"parameter "+d);return c}function Cb(a,b,c,d){a||(a=this);this.parent=a;this.$a=a.$a;this.ob=null;this.id=ub++;this.name=b;this.mode=c;this.Na={};this.Oa={};this.rdev=d} +Object.defineProperties(Cb.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}}});Qb();vb=Array(4096);Jb(N,"/");P("/tmp");P("/home");P("/home/web_user"); +(function(){P("/dev");ib(259,{read:function(){return 0},write:function(d,f,g,h){return h}});Lb("/dev/null",259);hb(1280,kb);hb(1536,lb);Lb("/dev/tty",1280);Lb("/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(ea)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){x("random_device")});Tb("random",b);Tb("urandom",b);P("/dev/shm"); +P("/dev/shm/tmp")})();P("/proc");P("/proc/self");P("/proc/self/fd");Jb({$a:function(){var a=nb("/proc/self","fd",16895,73);a.Na={lookup:function(b,c){var d=tb[+c];if(!d)throw new M(8);b={parent:null,$a:{Db:"fake"},Na:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");for(var cd=Array(256),dd=0;256>dd;++dd)cd[dd]=String.fromCharCode(dd);$b=cd;hc=e.BindingError=fc("BindingError");ic=e.InternalError=fc("InternalError"); +T.prototype.isAliasOf=function(a){if(!(this instanceof T&&a instanceof T))return!1;var b=this.La.Sa.Qa,c=this.La.Pa,d=a.La.Sa.Qa;for(a=a.La.Pa;b.Va;)c=b.kb(c),b=b.Va;for(;d.Va;)a=d.kb(a),d=d.Va;return b===d&&c===a};T.prototype.clone=function(){this.La.Pa||mc(this);if(this.La.jb)return this.La.count.value+=1,this;var a=qc(Object.create(Object.getPrototypeOf(this),{La:{value:lc(this.La)}}));a.La.count.value+=1;a.La.hb=!1;return a}; +T.prototype["delete"]=function(){this.La.Pa||mc(this);this.La.hb&&!this.La.jb&&R("Object already scheduled for deletion");oc(this);pc(this.La);this.La.jb||(this.La.Ta=void 0,this.La.Pa=void 0)};T.prototype.isDeleted=function(){return!this.La.Pa};T.prototype.deleteLater=function(){this.La.Pa||mc(this);this.La.hb&&!this.La.jb&&R("Object already scheduled for deletion");sc.push(this);1===sc.length&&rc&&rc(tc);this.La.hb=!0;return this};U.prototype.Mb=function(a){this.Fb&&(a=this.Fb(a));return a}; +U.prototype.xb=function(a){this.gb&&this.gb(a)};U.prototype.argPackAdvance=8;U.prototype.readValueFromPointer=Fc;U.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; +U.prototype.fromWireType=function(a){function b(){return this.mb?Jc(this.Qa.eb,{Sa:this.Sb,Pa:c,Ua:this,Ta:a}):Jc(this.Qa.eb,{Sa:this,Pa:a})}var c=this.Mb(a);if(!c)return this.xb(a),null;var d=Ic(this.Qa,c);if(void 0!==d){if(0===d.La.count.value)return d.La.Pa=c,d.La.Ta=a,d.clone();d=d.clone();this.xb(a);return d}d=this.Qa.Lb(c);d=uc[d];if(!d)return b.call(this);d=this.lb?d.Ib:d.pointerType;var f=Gc(c,this.Qa,d.Qa);return null===f?b.call(this):this.mb?Jc(d.Qa.eb,{Sa:d,Pa:f,Ua:this,Ta:a}):Jc(d.Qa.eb, +{Sa:d,Pa:f})};e.getInheritedInstanceCount=function(){return Object.keys(Hc).length};e.getLiveInheritedInstances=function(){var a=[],b;for(b in Hc)Hc.hasOwnProperty(b)&&a.push(Hc[b]);return a};e.flushPendingDeletes=tc;e.setDelayFunction=function(a){rc=a;sc.length&&rc&&rc(tc)};Mc=e.UnboundTypeError=fc("UnboundTypeError");e.count_emval_handles=function(){for(var a=0,b=5;bf?-28:Nb(d.path,d.flags,0,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=Xb(),d.flags|=f,0;case 12:return f=Xb(),D[f+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return F[ed()>>2]=28,-1;default:return-28}}catch(g){return"undefined"!==typeof Vb&&g instanceof M||x(g),-g.cb}},O:function(a, +b,c){Wb=c;try{var d=Yb(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 f=Xb();return F[f>>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=f=Xb();if(!d.Oa.Ob)throw new M(59);return d.Oa.Ob(d,b,a);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:x("bad ioctl syscall "+b)}}catch(g){return"undefined"!==typeof Vb&&g instanceof M||x(g),-g.cb}},P:function(a,b, +c){Wb=c;try{var d=a?ra(C,a,void 0):"",f=Xb();return Nb(d,b,f).fd}catch(g){return"undefined"!==typeof Vb&&g instanceof M||x(g),-g.cb}},R:function(a,b,c,d,f){var g=Zb(c);b=Q(b);S(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,k){return k?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var k=H;else if(2===c)k=D;else if(4===c)k=F;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[h>>g])},Za:null})},B:function(a,b,c,d,f,g,h,k,l,n,p, +r,v){p=Q(p);g=Lc(f,g);k&&(k=Lc(h,k));n&&(n=Lc(l,n));v=Lc(r,v);var w=dc(p);wc(w,function(){Pc("Cannot construct "+p+" due to unbound types",[d])});kc([a,b,c],d?[d]:[],function(q){q=q[0];if(d){var y=q.Qa;var z=y.eb}else z=T.prototype;q=ec(w,function(){if(Object.getPrototypeOf(this)!==E)throw new hc("Use 'new' to construct "+p);if(void 0===J.bb)throw new hc(p+" has no accessible constructor");var xc=J.bb[arguments.length];if(void 0===xc)throw new hc("Tried to invoke ctor of "+p+" with invalid number of parameters ("+ +arguments.length+") - expected ("+Object.keys(J.bb).toString()+") parameters instead!");return xc.apply(this,arguments)});var E=Object.create(z,{constructor:{value:q}});q.prototype=E;var J=new yc(p,q,E,v,y,g,k,n);y=new U(p,J,!0,!1);z=new U(p+"*",J,!1,!1);var Aa=new U(p+" const*",J,!1,!0);uc[a]={pointerType:z,Ib:Aa};Kc(w,q);return[y,z,Aa]})},n:function(a,b,c,d,f,g,h,k,l,n){b=Q(b);f=Lc(d,f);kc([],[a],function(p){p=p[0];var r=p.name+"."+b,v={get:function(){Pc("Cannot access "+r+" due to unbound types", +[c,h])},enumerable:!0,configurable:!0};l?v.set=function(){Pc("Cannot access "+r+" due to unbound types",[c,h])}:v.set=function(){R(r+" is a read-only property")};Object.defineProperty(p.Qa.eb,b,v);kc([],l?[c,h]:[c],function(w){var q=w[0],y={get:function(){var E=Rc(this,p,r+" getter");return q.fromWireType(f(g,E))},enumerable:!0};if(l){l=Lc(k,l);var z=w[1];y.set=function(E){var J=Rc(this,p,r+" setter"),Aa=[];l(n,J,z.toWireType(Aa,E));Qc(Aa)}}Object.defineProperty(p.Qa.eb,b,y);return[]});return[]})}, +Q:function(a,b){b=Q(b);S(a,{name:b,fromWireType:function(c){var d=W[c].value;Tc(c);return d},toWireType:function(c,d){return Dc(d)},argPackAdvance:8,readValueFromPointer:Fc,Za:null})},u:function(a,b,c){c=Zb(c);b=Q(b);S(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+Bc(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:Uc(b,c),Za:null})},A:function(a,b,c,d,f,g){var h=Wc(b,c); +a=Q(a);f=Lc(d,f);wc(a,function(){Pc("Cannot call "+a+" due to unbound types",h)},b-1);kc([],h,function(k){var l=[k[0],null].concat(k.slice(1)),n=k=a,p=f,r=l.length;2>r&&R("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var v=null!==l[1]&&!1,w=!1,q=1;q>>k}}var l=-1!=b.indexOf("unsigned");S(a,{name:b,fromWireType:g,toWireType:function(n,p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+Bc(p)+'" to '+this.name);if(pf)throw new TypeError('Passing a number "'+Bc(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return l?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:Xc(b,h,0!==d), +Za:null})},f:function(a,b,c){function d(g){g>>=2;var h=I;return new f(G,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=Q(c);S(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{Nb:!0})},v:function(a,b){b=Q(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(d){var f=I[d>>2];if(c)for(var g=d+4,h=0;h<=f;++h){var k=d+4+h;if(h==f||0==C[k]){g=g?ra(C,g,k-g):"";if(void 0===l)var l=g;else l+=String.fromCharCode(0), +l+=g;g=k+1}}else{l=Array(f);for(h=0;h>2]=h;if(c&&g)sa(f,C,k+4,h+1);else if(g)for(g=0;g>2],p=h(),r,v=l+4,w=0;w<=n;++w){var q=l+4+w*b;if(w==n||0==p[q>>k])v=d(v,q-v),void 0=== +r?r=v:(r+=String.fromCharCode(0),r+=v),v=q+b}V(l);return r},toWireType:function(l,n){"string"!==typeof n&&R("Cannot pass non-string to C++ string type "+c);var p=g(n),r=qb(4+p+b);I[r>>2]=p>>k;f(n,r+4,p+b);null!==l&&l.push(V,r);return r},argPackAdvance:8,readValueFromPointer:Fc,Za:function(l){V(l)}})},S:function(a,b){b=Q(b);S(a,{Pb:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},L:function(a,b,c,d,f){a=Zc[a];b||R("Cannot use deleted val. handle = "+b);b=W[b].value;var g= +Yc[c];c=void 0===g?Q(c):g;g=[];F[d>>2]=Dc(g);return a(b,c,g,f)},t:Tc,I:function(a,b){b=bd(a,b);for(var c=b[0],d=c.name+"_$"+b.slice(1).map(function(n){return n.name}).join("_")+"$",f=["retType"],g=[c],h="",k=0;k>>= +0;var b=C.length;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0>>16);Fa(B.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},s:function(a){try{var b=Yb(a);if(null===b.fd)throw new M(8);b.qb&&(b.qb=null);try{b.Oa.close&&b.Oa.close(b)}catch(c){throw c;}finally{tb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof Vb&& +c instanceof M||x(c),c.cb}},N:function(a,b,c,d){try{a:{for(var f=Yb(a),g=a=0;g>2],k=f,l=F[b+8*g>>2],n=h,p=void 0,r=H;if(0>n||0>p)throw new M(28);if(null===k.fd)throw new M(8);if(1===(k.flags&2097155))throw new M(8);if(16384===(k.node.mode&61440))throw new M(31);if(!k.Oa.read)throw new M(28);var v="undefined"!==typeof p;if(!v)p=k.position;else if(!k.seekable)throw new M(70);var w=k.Oa.read(k,r,l,n,p);v||(k.position+=w);var q=w;if(0>q){var y=-1;break a}a+=q;if(q>2]=y;return 0}catch(z){return"undefined"!==typeof Vb&&z instanceof M||x(z),z.cb}},G:function(a,b,c,d,f){try{var g=Yb(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Pb(g,a,d);Za=[g.position>>>0,(Ya=g.position,1<=+Na(Ya)?0>>0:~~+Oa((Ya-+(~~Ya>>>0))/4294967296)>>>0:0)];F[f>>2]=Za[0];F[f+4>>2]=Za[1];g.qb&&0===a&&0===d&&(g.qb=null);return 0}catch(h){return"undefined"!==typeof Vb&&h instanceof M||x(h),h.cb}},r:function(a, +b,c,d){try{a:{for(var f=Yb(a),g=a=0;g>2],l=F[b+(8*g+4)>>2],n=void 0,p=H;if(0>l||0>n)throw new M(28);if(null===h.fd)throw new M(8);if(0===(h.flags&2097155))throw new M(8);if(16384===(h.node.mode&61440))throw new M(31);if(!h.Oa.write)throw new M(28);h.seekable&&h.flags&1024&&Pb(h,0,2);var r="undefined"!==typeof n;if(!r)n=h.position;else if(!h.seekable)throw new M(70);var v=h.Oa.write(h,p,k,l,n,void 0);r||(h.position+=v);try{if(h.path&&xb.onWriteToFile)xb.onWriteToFile(h.path)}catch(y){A("FS.trackingDelegate['onWriteToFile']('"+ +h.path+"') threw an exception: "+y.message)}var w=v;if(0>w){var q=-1;break a}a+=w}q=a}F[d>>2]=q;return 0}catch(y){return"undefined"!==typeof Vb&&y instanceof M||x(y),y.cb}},a:function(){return ma|0},m:fd,e:gd,J:hd,p:id,H:jd,E:kd,D:ld,F:md,K:nd,k:od,l:pd,c:qd,memory:B,g:function(a){a=+a;return 0<=a?+Pa(a+.5):+Oa(a-.5)},h:function(a){a=+a;return 0<=a?+Pa(a+.5):+Oa(a-.5)},b:function(a){ma=a|0},table:oa}; +(function(){function a(f){e.asm=f.exports;K--;e.monitorRunDependencies&&e.monitorRunDependencies(K);0==K&&(null!==Ra&&(clearInterval(Ra),Ra=null),Sa&&(f=Sa,Sa=null,f()))}function b(f){a(f.instance)}function c(f){return Xa().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){A("failed to asynchronously prepare wasm: "+g);x(g)})}var d={a:rd};K++;e.monitorRunDependencies&&e.monitorRunDependencies(K);if(e.instantiateWasm)try{return e.instantiateWasm(d,a)}catch(f){return A("Module.instantiateWasm callback failed with error: "+ +f),!1}(function(){if(na||"function"!==typeof WebAssembly.instantiateStreaming||Ua()||Ta("file://")||"function"!==typeof fetch)return c(b);fetch(L,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){A("wasm streaming compile failed: "+g);A("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})(); +var $a=e.___wasm_call_ctors=function(){return($a=e.___wasm_call_ctors=e.asm.U).apply(null,arguments)},qb=e._malloc=function(){return(qb=e._malloc=e.asm.V).apply(null,arguments)},V=e._free=function(){return(V=e._free=e.asm.W).apply(null,arguments)},Oc=e.___getTypeName=function(){return(Oc=e.___getTypeName=e.asm.X).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.Y).apply(null,arguments)}; +var ed=e.___errno_location=function(){return(ed=e.___errno_location=e.asm.Z).apply(null,arguments)},X=e._setThrew=function(){return(X=e._setThrew=e.asm._).apply(null,arguments)},Y=e.stackSave=function(){return(Y=e.stackSave=e.asm.$).apply(null,arguments)},Z=e.stackRestore=function(){return(Z=e.stackRestore=e.asm.aa).apply(null,arguments)},sd=e.dynCall_v=function(){return(sd=e.dynCall_v=e.asm.ba).apply(null,arguments)},td=e.dynCall_vi=function(){return(td=e.dynCall_vi=e.asm.ca).apply(null,arguments)}, +ud=e.dynCall_vii=function(){return(ud=e.dynCall_vii=e.asm.da).apply(null,arguments)};e.dynCall_viii=function(){return(e.dynCall_viii=e.asm.ea).apply(null,arguments)};var vd=e.dynCall_viiii=function(){return(vd=e.dynCall_viiii=e.asm.fa).apply(null,arguments)},wd=e.dynCall_ii=function(){return(wd=e.dynCall_ii=e.asm.ga).apply(null,arguments)},xd=e.dynCall_iii=function(){return(xd=e.dynCall_iii=e.asm.ha).apply(null,arguments)};e.dynCall_iiii=function(){return(e.dynCall_iiii=e.asm.ia).apply(null,arguments)}; +var yd=e.dynCall_iiiii=function(){return(yd=e.dynCall_iiiii=e.asm.ja).apply(null,arguments)},zd=e.dynCall_iiiiiiiii=function(){return(zd=e.dynCall_iiiiiiiii=e.asm.ka).apply(null,arguments)},Ad=e.dynCall_iiiiiiiiii=function(){return(Ad=e.dynCall_iiiiiiiiii=e.asm.la).apply(null,arguments)},Bd=e.dynCall_iiiijj=function(){return(Bd=e.dynCall_iiiijj=e.asm.ma).apply(null,arguments)},Cd=e.dynCall_ij=function(){return(Cd=e.dynCall_ij=e.asm.na).apply(null,arguments)},Dd=e.dynCall_jjij=function(){return(Dd= +e.dynCall_jjij=e.asm.oa).apply(null,arguments)};e.dynCall_viiiiii=function(){return(e.dynCall_viiiiii=e.asm.pa).apply(null,arguments)};e.dynCall_viiiii=function(){return(e.dynCall_viiiii=e.asm.qa).apply(null,arguments)};e.dynCall_viiiiiiii=function(){return(e.dynCall_viiiiiiii=e.asm.ra).apply(null,arguments)};e.dynCall_viiiiiiiiiii=function(){return(e.dynCall_viiiiiiiiiii=e.asm.sa).apply(null,arguments)};e.dynCall_viiiiiiiiiiii=function(){return(e.dynCall_viiiiiiiiiiii=e.asm.ta).apply(null,arguments)}; +e.dynCall_viiiiiii=function(){return(e.dynCall_viiiiiii=e.asm.ua).apply(null,arguments)};e.dynCall_viiiiiiiii=function(){return(e.dynCall_viiiiiiiii=e.asm.va).apply(null,arguments)};e.dynCall_iiiiii=function(){return(e.dynCall_iiiiii=e.asm.wa).apply(null,arguments)};e.dynCall_jiiiiiiiii=function(){return(e.dynCall_jiiiiiiiii=e.asm.xa).apply(null,arguments)};e.dynCall_iiiiiii=function(){return(e.dynCall_iiiiiii=e.asm.ya).apply(null,arguments)}; +e.dynCall_iiiiiiii=function(){return(e.dynCall_iiiiiiii=e.asm.za).apply(null,arguments)};e.dynCall_iiiiiiiiiiii=function(){return(e.dynCall_iiiiiiiiiiii=e.asm.Aa).apply(null,arguments)};e.dynCall_iidiiii=function(){return(e.dynCall_iidiiii=e.asm.Ba).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.Ca).apply(null,arguments)};e.dynCall_i=function(){return(e.dynCall_i=e.asm.Da).apply(null,arguments)}; +e.dynCall_viiiiiiiiii=function(){return(e.dynCall_viiiiiiiiii=e.asm.Ea).apply(null,arguments)};e.dynCall_viiiiiiiiiiiii=function(){return(e.dynCall_viiiiiiiiiiiii=e.asm.Fa).apply(null,arguments)};e.dynCall_jiiiiiiii=function(){return(e.dynCall_jiiiiiiii=e.asm.Ga).apply(null,arguments)};e.dynCall_ff=function(){return(e.dynCall_ff=e.asm.Ha).apply(null,arguments)};e.dynCall_jiiiiii=function(){return(e.dynCall_jiiiiii=e.asm.Ia).apply(null,arguments)}; +e.dynCall_jiiiii=function(){return(e.dynCall_jiiiii=e.asm.Ja).apply(null,arguments)};e.dynCall_iiijii=function(){return(e.dynCall_iiijii=e.asm.Ka).apply(null,arguments)};function pd(a,b,c){var d=Y();try{ud(a,b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}function qd(a,b,c,d,f){var g=Y();try{vd(a,b,c,d,f)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function gd(a,b,c){var d=Y();try{return xd(a,b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}} +function od(a,b){var c=Y();try{td(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}function nd(a){var b=Y();try{sd(a)}catch(c){Z(b);if(c!==c+0&&"longjmp"!==c)throw c;X(1,0)}}function fd(a,b){var c=Y();try{return wd(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}function hd(a,b,c,d,f){var g=Y();try{return yd(a,b,c,d,f)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}} +function jd(a,b,c,d,f,g,h,k,l,n){var p=Y();try{return Ad(a,b,c,d,f,g,h,k,l,n)}catch(r){Z(p);if(r!==r+0&&"longjmp"!==r)throw r;X(1,0)}}function id(a,b,c,d,f,g,h,k,l){var n=Y();try{return zd(a,b,c,d,f,g,h,k,l)}catch(p){Z(n);if(p!==p+0&&"longjmp"!==p)throw p;X(1,0)}}function md(a,b,c,d,f,g){var h=Y();try{return Dd(a,b,c,d,f,g)}catch(k){Z(h);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}} +function kd(a,b,c,d,f,g,h,k){var l=Y();try{return Bd(a,b,c,d,f,g,h,k)}catch(n){Z(l);if(n!==n+0&&"longjmp"!==n)throw n;X(1,0)}}function ld(a,b,c){var d=Y();try{return Cd(a,b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}var Ed;Sa=function Fd(){Ed||Gd();Ed||(Sa=Fd)}; +function Gd(){function a(){if(!Ed&&(Ed=!0,e.calledRun=!0,!pa)){e.noFSInit||Rb||(Rb=!0,Qb(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Tb("stdin",e.stdin):Mb("/dev/tty","/dev/stdin"),e.stdout?Tb("stdout",null,e.stdout):Mb("/dev/tty","/dev/stdout"),e.stderr?Tb("stderr",null,e.stderr):Mb("/dev/tty1","/dev/stderr"),Nb("/dev/stdin","r"),Nb("/dev/stdout","w"),Nb("/dev/stderr","w"));Ha(Ja);wb=!1;Ha(Ka);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"== +typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();La.unshift(b)}Ha(La)}}if(!(0 #include +#include "avif/avif.h" using namespace emscripten; @@ -29,34 +29,38 @@ val encode(std::string buffer, int width, int height, AvifOptions options) { int depth = 8; avifPixelFormat format; switch (options.subsample) { - case 0: - format = AVIF_PIXEL_FORMAT_YUV420; - break; - case 1: - format = AVIF_PIXEL_FORMAT_YUV422; - break; - case 2: - format = AVIF_PIXEL_FORMAT_YUV444; - break; + case 0: + format = AVIF_PIXEL_FORMAT_YUV420; + break; + case 1: + format = AVIF_PIXEL_FORMAT_YUV422; + break; + case 2: + format = AVIF_PIXEL_FORMAT_YUV444; + break; } - avifImage *image = avifImageCreate(width, height, depth, format); - uint8_t *rgba = (uint8_t *)buffer.c_str(); + avifImage* image = avifImageCreate(width, height, depth, format); - avifImageAllocatePlanes(image, AVIF_PLANES_RGB); - avifImageAllocatePlanes(image, AVIF_PLANES_A); + uint8_t* rgba = (uint8_t*)buffer.c_str(); + + avifRGBImage srcRGB; + avifRGBImageSetDefaults(&srcRGB, image); + avifRGBImageAllocatePixels(&srcRGB); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { int pixelOffset = y * width + x; - image->rgbPlanes[0][pixelOffset] = rgba[pixelOffset * 4 + 0]; - image->rgbPlanes[1][pixelOffset] = rgba[pixelOffset * 4 + 1]; - image->rgbPlanes[2][pixelOffset] = rgba[pixelOffset * 4 + 2]; - image->alphaPlane[pixelOffset] = rgba[pixelOffset * 4 + 3]; + uint8_t* pixel = &srcRGB.pixels[(4 * x) + (srcRGB.rowBytes * y)]; + pixel[0] = rgba[pixelOffset * 4 + 0]; + pixel[1] = rgba[pixelOffset * 4 + 1]; + pixel[2] = rgba[pixelOffset * 4 + 2]; + pixel[3] = rgba[pixelOffset * 4 + 0]; } } + avifImageRGBToYUV(image, &srcRGB); - avifEncoder *encoder = avifEncoderCreate(); + avifEncoder* encoder = avifEncoderCreate(); encoder->maxThreads = 1; encoder->minQuantizer = options.minQuantizer; encoder->maxQuantizer = options.maxQuantizer; @@ -72,7 +76,9 @@ val encode(std::string buffer, int width, int height, AvifOptions options) { return val(typed_memory_view(output.size, output.data)); } -void free_result() { avifRWDataFree(&output); } +void free_result() { + avifRWDataFree(&output); +} EMSCRIPTEN_BINDINGS(my_module) { value_object("AvifOptions") diff --git a/codecs/avif/enc/avif_enc.js b/codecs/avif/enc/avif_enc.js index 0d0d8d14..c010a94f 100644 --- a/codecs/avif/enc/avif_enc.js +++ b/codecs/avif/enc/avif_enc.js @@ -7,95 +7,96 @@ function(avif_enc) { avif_enc = avif_enc || {}; -var f;f||(f=typeof avif_enc !== 'undefined' ? avif_enc : {});var aa,ba;f.ready=new Promise(function(a,b){aa=a;ba=b});var ca={},m;for(m in f)f.hasOwnProperty(m)&&(ca[m]=f[m]);var da=!1,r=!1,ea=!1,fa=!1;da="object"===typeof window;r="function"===typeof importScripts;ea="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;fa=!da&&!ea&&!r;var v="",ha,ia,ja,ka; -if(ea)v=r?require("path").dirname(v)+"/":__dirname+"/",ha=function(a,b){ja||(ja=require("fs"));ka||(ka=require("path"));a=ka.normalize(a);return ja.readFileSync(a,b?null:"utf8")},ia=function(a){a=ha(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1=d);)++c;if(16e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d} -function sa(a,b,c,d){if(!(0=h){var k=a.charCodeAt(++g);h=65536+((h&1023)<<10)|k&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 ta(a){for(var b=0,c=0;c=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 ua="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function va(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&wa[c];)++c;c<<=1;if(32>1];if(0==e||c==b/2)return d;++c;d+=String.fromCharCode(e)}} -function xa(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>1]=a.charCodeAt(e),b+=2;E[b>>1]=0;return b-d}function ya(a){return 2*a.length}function za(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 Aa(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=g){var h=a.charCodeAt(++e);g=65536+((g&1023)<<10)|h&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ba(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}var G,H,D,E,wa,F,I,Ca,Da; -function Ea(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=wa=new Uint16Array(a);f.HEAPU32=I=new Uint32Array(a);f.HEAPF32=Ca=new Float32Array(a);f.HEAPF64=Da=new Float64Array(a)}var Fa=f.INITIAL_MEMORY||16777216;f.wasmMemory?A=f.wasmMemory:A=new WebAssembly.Memory({initial:Fa/65536,maximum:32768});A&&(G=A.buffer);Fa=G.byteLength;Ea(G);F[206060]=6067280; -function Ga(a){for(;0=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Fa,a.Fa=new Uint8Array(b),0b)a.Fa.length=b; -else for(;a.Fa.length=a.node.Ia)return 0;a=Math.min(a.node.Ia-e,d);if(8b)throw new M(28);return b},$a:function(a,b,c){N.bb(a.node,b+c);a.node.Ia=Math.max(a.node.Ia,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.Fa;if(g&2||a.buffer!==G){if(0>>0)%tb.length}function nb(a,b){var c;if(c=(c=zb(a,"x"))?c:a.Ga.lookup?0:2)throw new M(c,a);for(c=tb[yb(a.id,b)];c;c=c.ub){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.Ga.lookup(a,b)} -function lb(a,b,c,d){a=new Ab(a,b,c,d);b=yb(a.parent.id,a.name);a.ub=tb[b];return tb[b]=a}var Bb={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 Cb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function zb(a,b){if(ub)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 Db(a,b){try{return nb(a,b),20}catch(c){}return zb(a,"wx")}function Eb(){var a=4096;for(var b=0;b<=a;b++)if(!rb[b])return b;throw new M(33);}function Fb(a){Gb||(Gb=function(){},Gb.prototype={});var b=new Gb,c;for(c in a)b[c]=a[c];a=b;b=Eb();a.fd=b;return rb[b]=a}var kb={open:function(a){a.Ha=qb[a.node.rdev].Ha;a.Ha.open&&a.Ha.open(a)},Pa:function(){throw new M(70);}};function gb(a,b){qb[a]={Ha:b}} -function Hb(a,b){var c="/"===b,d=!b;if(c&&pb)throw new M(10);if(!c&&!d){var e=O(b,{fb:!1});b=e.path;e=e.node;if(e.Ua)throw new M(10);if(16384!==(e.mode&61440))throw new M(54);}b={type:a,Ib:{},ib:b,tb:[]};a=a.Na(b);a.Na=b;b.root=a;c?pb=a:e&&(e.Ua=b,e.Na&&e.Na.tb.push(b))}function Ib(a,b,c){var d=O(a,{parent:!0}).node;a=cb(a);if(!a||"."===a||".."===a)throw new M(28);var e=Db(d,a);if(e)throw new M(e);if(!d.Ga.Ta)throw new M(63);return d.Ga.Ta(d,a,b,c)}function Q(a){Ib(a,16895,0)} -function Jb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Ib(a,b|8192,c)}function Kb(a,b){if(!db(a))throw new M(44);var c=O(b,{parent:!0}).node;if(!c)throw new M(44);b=cb(b);var d=Db(c,b);if(d)throw new M(d);if(!c.Ga.symlink)throw new M(63);c.Ga.symlink(c,b,a)}function wb(a){a=O(a).node;if(!a)throw new M(44);if(!a.Ga.readlink)throw new M(28);return db(xb(a.parent),a.Ga.readlink(a))} -function Lb(a,b,c){if(""===a)throw new M(44);if("string"===typeof b){var d=Bb[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=ab(a);try{e=O(a,{eb:!(b&131072)}).node}catch(h){}}d=!1;if(b&64)if(e){if(b&128)throw new M(20);}else e=Ib(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"!==Cb(b)||b&512)?31:zb(e,Cb(b)):44))throw new M(c);if(b&512){c=e;var g;"string"===typeof c?g=O(c,{eb:!0}).node:g=c;if(!g.Ga.La)throw new M(63);if(16384===(g.mode&61440))throw new M(31);if(32768!==(g.mode&61440))throw new M(28);if(c=zb(g,"w"))throw new M(c);g.Ga.La(g,{size:0,timestamp:Date.now()})}b&=-131713;e=Fb({node:e,path:xb(e),flags:b,seekable:!0,position:0,Ha:e.Ha,Cb:[],error:!1});e.Ha.open&&e.Ha.open(e);!f.logReadFiles||b&1||(Mb||(Mb={}),a in Mb||(Mb[a]=1,z("FS.trackingDelegate error on read file: "+ -a)));try{vb.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),vb.onOpenFile(a,g))}catch(h){z("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+h.message)}return e}function Nb(a,b,c){if(null===a.fd)throw new M(8);if(!a.seekable||!a.Ha.Pa)throw new M(70);if(0!=c&&1!=c&&2!=c)throw new M(28);a.position=a.Ha.Pa(a,b,c);a.Cb=[]} -function Ob(){M||(M=function(a,b){this.node=b;this.yb=function(c){this.Qa=c};this.yb(a);this.message="FS error"},M.prototype=Error(),M.prototype.constructor=M,[44].forEach(function(a){mb[a]=new M(a);mb[a].stack=""}))}var Pb;function Qb(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c} -function Rb(a,b,c){a=ab("/dev/"+a);var d=Qb(!!b,!!c);Sb||(Sb=64);var e=Sb++<<8|0;gb(e,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,h,k,l){for(var n=0,p=0;p>2]}function Wb(a){a=rb[a];if(!a)throw new M(8);return a}var Xb={};function Yb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Zb(a){return this.fromWireType(I[a>>2])}var $b={},R={},ac={};function bc(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} +var e;e||(e=typeof avif_enc !== 'undefined' ? avif_enc : {});var aa,ba;e.ready=new Promise(function(a,b){aa=a;ba=b});var ca={},m;for(m in e)e.hasOwnProperty(m)&&(ca[m]=e[m]);var da=!1,r=!1,ea=!1,fa=!1;da="object"===typeof window;r="function"===typeof importScripts;ea="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;fa=!da&&!ea&&!r;var u="",ha,ia,ja,ka; +if(ea)u=r?require("path").dirname(u)+"/":__dirname+"/",ha=function(a,b){ja||(ja=require("fs"));ka||(ka=require("path"));a=ka.normalize(a);return ja.readFileSync(a,b?null:"utf8")},ia=function(a){a=ha(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1=d);)++c;if(16f?d+=String.fromCharCode(f):(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else d+=String.fromCharCode(f)}return d} +function sa(a,b,c,d){if(!(0=h){var k=a.charCodeAt(++g);h=65536+((h&1023)<<10)|k&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-f} +function ta(a){for(var b=0,c=0;c=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 ua="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function va(a,b){var c=a>>1;for(var d=c+b/2;!(c>=d)&&wa[c];)++c;c<<=1;if(32>1];if(0==f||c==b/2)return d;++c;d+=String.fromCharCode(f)}} +function xa(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 f=0;f>1]=a.charCodeAt(f),b+=2;E[b>>1]=0;return b-d}function ya(a){return 2*a.length}function za(a,b){for(var c=0,d="";!(c>=b/4);){var f=F[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,d+=String.fromCharCode(55296|f>>10,56320|f&1023)):d+=String.fromCharCode(f)}return d} +function Aa(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=b;c=d+c-4;for(var f=0;f=g){var h=a.charCodeAt(++f);g=65536+((g&1023)<<10)|h&1023}F[b>>2]=g;b+=4;if(b+4>c)break}F[b>>2]=0;return b-d}function Ba(a){for(var b=0,c=0;c=d&&++c;b+=4}return b}var G,H,D,E,wa,F,I,Ca,Da; +function Ea(a){G=a;e.HEAP8=H=new Int8Array(a);e.HEAP16=E=new Int16Array(a);e.HEAP32=F=new Int32Array(a);e.HEAPU8=D=new Uint8Array(a);e.HEAPU16=wa=new Uint16Array(a);e.HEAPU32=I=new Uint32Array(a);e.HEAPF32=Ca=new Float32Array(a);e.HEAPF64=Da=new Float64Array(a)}var Fa=e.INITIAL_MEMORY||16777216;e.wasmMemory?A=e.wasmMemory:A=new WebAssembly.Memory({initial:Fa/65536,maximum:32768});A&&(G=A.buffer);Fa=G.byteLength;Ea(G);F[224104]=6139456; +function Ga(a){for(;0=b||(b=Math.max(b,c*(1048576>c?2:1.125)>>>0),0!=c&&(b=Math.max(b,256)),c=a.Ka,a.Ka=new Uint8Array(b),0b)a.Ka.length=b; +else for(;a.Ka.length=a.node.Na)return 0;a=Math.min(a.node.Na-f,d);if(8b)throw new L(28);return b},fb:function(a,b,c){M.hb(a.node,b+c);a.node.Na=Math.max(a.node.Na,b+c)},mb:function(a,b,c,d,f,g){assert(0=== +b);if(32768!==(a.node.mode&61440))throw new L(43);a=a.node.Ka;if(g&2||a.buffer!==G){if(0>>0)%ub.length}function ob(a,b){var c;if(c=(c=Ab(a,"x"))?c:a.La.lookup?0:2)throw new L(c,a);for(c=ub[zb(a.id,b)];c;c=c.zb){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.La.lookup(a,b)} +function mb(a,b,c,d){a=new Bb(a,b,c,d);b=zb(a.parent.id,a.name);a.zb=ub[b];return ub[b]=a}var Cb={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 Db(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Ab(a,b){if(vb)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 Eb(a,b){try{return ob(a,b),20}catch(c){}return Ab(a,"wx")}function Fb(a){var b=4096;for(a=a||0;a<=b;a++)if(!sb[a])return a;throw new L(33);}function Gb(a,b){Hb||(Hb=function(){},Hb.prototype={});var c=new Hb,d;for(d in a)c[d]=a[d];a=c;b=Fb(b);a.fd=b;return sb[b]=a}var lb={open:function(a){a.Ma=rb[a.node.rdev].Ma;a.Ma.open&&a.Ma.open(a)},Va:function(){throw new L(70);}};function hb(a,b){rb[a]={Ma:b}} +function Ib(a,b){var c="/"===b,d=!b;if(c&&qb)throw new L(10);if(!c&&!d){var f=N(b,{kb:!1});b=f.path;f=f.node;if(f.Za)throw new L(10);if(16384!==(f.mode&61440))throw new L(54);}b={type:a,Nb:{},nb:b,yb:[]};a=a.Sa(b);a.Sa=b;b.root=a;c?qb=a:f&&(f.Za=b,f.Sa&&f.Sa.yb.push(b))}function Jb(a,b,c){var d=N(a,{parent:!0}).node;a=db(a);if(!a||"."===a||".."===a)throw new L(28);var f=Eb(d,a);if(f)throw new L(f);if(!d.La.Ya)throw new L(63);return d.La.Ya(d,a,b,c)}function O(a){Jb(a,16895,0)} +function Kb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Jb(a,b|8192,c)}function Lb(a,b){if(!eb(a))throw new L(44);var c=N(b,{parent:!0}).node;if(!c)throw new L(44);b=db(b);var d=Eb(c,b);if(d)throw new L(d);if(!c.La.symlink)throw new L(63);c.La.symlink(c,b,a)}function xb(a){a=N(a).node;if(!a)throw new L(44);if(!a.La.readlink)throw new L(28);return eb(yb(a.parent),a.La.readlink(a))} +function Mb(a,b,c,d){if(""===a)throw new L(44);if("string"===typeof b){var f=Cb[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;if("object"===typeof a)var g=a;else{a=bb(a);try{g=N(a,{jb:!(b&131072)}).node}catch(k){}}f=!1;if(b&64)if(g){if(b&128)throw new L(20);}else g=Jb(a,c,0),f=!0;if(!g)throw new L(44);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&16384!==(g.mode&61440))throw new L(54);if(!f&&(c=g?40960===(g.mode&61440)? +32:16384===(g.mode&61440)&&("r"!==Db(b)||b&512)?31:Ab(g,Db(b)):44))throw new L(c);if(b&512){c=g;var h;"string"===typeof c?h=N(c,{jb:!0}).node:h=c;if(!h.La.Qa)throw new L(63);if(16384===(h.mode&61440))throw new L(31);if(32768!==(h.mode&61440))throw new L(28);if(c=Ab(h,"w"))throw new L(c);h.La.Qa(h,{size:0,timestamp:Date.now()})}b&=-131713;d=Gb({node:g,path:yb(g),flags:b,seekable:!0,position:0,Ma:g.Ma,Hb:[],error:!1},d);d.Ma.open&&d.Ma.open(d);!e.logReadFiles||b&1||(Nb||(Nb={}),a in Nb||(Nb[a]=1,z("FS.trackingDelegate error on read file: "+ +a)));try{wb.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),wb.onOpenFile(a,g))}catch(k){z("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+k.message)}return d}function Ob(a,b,c){if(null===a.fd)throw new L(8);if(!a.seekable||!a.Ma.Va)throw new L(70);if(0!=c&&1!=c&&2!=c)throw new L(28);a.position=a.Ma.Va(a,b,c);a.Hb=[]} +function Pb(){L||(L=function(a,b){this.node=b;this.Db=function(c){this.Ua=c};this.Db(a);this.message="FS error"},L.prototype=Error(),L.prototype.constructor=L,[44].forEach(function(a){nb[a]=new L(a);nb[a].stack=""}))}var Qb;function Rb(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c} +function Sb(a,b,c){a=bb("/dev/"+a);var d=Rb(!!b,!!c);Tb||(Tb=64);var f=Tb++<<8|0;hb(f,{open:function(g){g.seekable=!1},close:function(){c&&c.buffer&&c.buffer.length&&c(10)},read:function(g,h,k,l){for(var n=0,p=0;p>2]}function Wb(a){a=sb[a];if(!a)throw new L(8);return a}var Xb={};function Yb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Zb(a){return this.fromWireType(I[a>>2])}var $b={},R={},ac={};function bc(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 cc(a,b){a=bc(a);return(new Function("body","return function "+a+'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(b)}function dc(a){var b=Error,c=cc(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 ec=void 0;function fc(a,b,c){function d(k){k=c(k);if(k.length!==a.length)throw new ec("Mismatched type converter count");for(var l=0;l>2])};case 3:return function(c){return this.fromWireType(Da[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}function pc(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=cc(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c} -function qc(a,b){var c=f;if(void 0===c[a].Ka){var d=c[a];c[a]=function(){c[a].Ka.hasOwnProperty(arguments.length)||U("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+c[a].Ka+")!");return c[a].Ka[arguments.length].apply(this,arguments)};c[a].Ka=[];c[a].Ka[d.kb]=d}} -function rc(a,b,c){f.hasOwnProperty(a)?((void 0===c||void 0!==f[a].Ka&&void 0!==f[a].Ka[c])&&U("Cannot register public name '"+a+"' twice"),qc(a,a),f.hasOwnProperty(c)&&U("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),f[a].Ka[c]=b):(f[a]=b,void 0!==c&&(f[a].Hb=c))}function sc(a,b){for(var c=[],d=0;d>2)+d]);return c} -function tc(a,b){a=T(a);var c=f["dynCall_"+a];for(var d=[],e=1;e>1]}:function(d){return wa[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}} -function Ab(a,b,c,d){a||(a=this);this.parent=a;this.Na=a.Na;this.Ua=null;this.id=sb++;this.name=b;this.mode=c;this.Ga={};this.Ha={};this.rdev=d}Object.defineProperties(Ab.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}}});Ob();tb=Array(4096);Hb(N,"/");Q("/tmp");Q("/home");Q("/home/web_user"); -(function(){Q("/dev");gb(259,{read:function(){return 0},write:function(d,e,g,h){return h}});Jb("/dev/null",259);fb(1280,ib);fb(1536,jb);Jb("/dev/tty",1280);Jb("/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(ea)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){y("random_device")});Rb("random",b);Rb("urandom",b);Q("/dev/shm"); -Q("/dev/shm/tmp")})();Q("/proc");Q("/proc/self");Q("/proc/self/fd");Hb({Na:function(){var a=lb("/proc/self","fd",16895,73);a.Ga={lookup:function(b,c){var d=rb[+c];if(!d)throw new M(8);b={parent:null,Na:{ib:"fake"},Ga:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");ec=f.InternalError=dc("InternalError");for(var zc=Array(256),Ac=0;256>Ac;++Ac)zc[Ac]=String.fromCharCode(Ac);ic=zc;jc=f.BindingError=dc("BindingError"); -f.count_emval_handles=function(){for(var a=0,b=5;b>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=e=Vb();if(!d.Ha.sb)throw new M(59);return d.Ha.sb(d,b,a);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:y("bad ioctl syscall "+ -b)}}catch(g){return"undefined"!==typeof Tb&&g instanceof M||y(g),-g.Qa}},L:function(a,b,c){Ub=c;try{var d=a?C(D,a,void 0):"",e=Vb();return Lb(d,b,e).fd}catch(g){return"undefined"!==typeof Tb&&g instanceof M||y(g),-g.Qa}},K:function(a){var b=Xb[a];delete Xb[a];var c=b.vb,d=b.wb,e=b.cb,g=e.map(function(h){return h.qb}).concat(e.map(function(h){return h.Ab}));fc([a],g,function(h){var k={};e.forEach(function(l,n){var p=h[n],t=l.ob,u=l.pb,w=h[n+e.length],q=l.zb,B=l.Bb;k[l.mb]={read:function(x){return p.fromWireType(t(u, -x))},write:function(x,P){var oa=[];q(B,x,w.toWireType(oa,P));Yb(oa)}}});return[{name:b.name,fromWireType:function(l){var n={},p;for(p in k)n[p]=k[p].read(l);d(l);return n},toWireType:function(l,n){for(var p in k)if(!(p in n))throw new TypeError('Missing field: "'+p+'"');var t=c();for(p in k)k[p].write(t,n[p]);null!==l&&l.push(d,t);return t},argPackAdvance:8,readValueFromPointer:Zb,Ma:d}]})},N:function(a,b,c,d,e){var g=hc(c);b=T(b);S(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h, -k){return k?d:e},argPackAdvance:8,readValueFromPointer:function(h){if(1===c)var k=H;else if(2===c)k=E;else if(4===c)k=F;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[h>>g])},Ma:null})},M:function(a,b){b=T(b);S(a,{name:b,fromWireType:function(c){var d=V[c].value;lc(c);return d},toWireType:function(c,d){return mc(d)},argPackAdvance:8,readValueFromPointer:Zb,Ma:null})},s:function(a,b,c){c=hc(c);b=T(b);S(a,{name:b,fromWireType:function(d){return d},toWireType:function(d, -e){if("number"!==typeof e&&"boolean"!==typeof e)throw new TypeError('Cannot convert "'+nc(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:oc(b,c),Ma:null})},p:function(a,b,c,d,e,g){var h=sc(b,c);a=T(a);e=tc(d,e);rc(a,function(){xc("Cannot call "+a+" due to unbound types",h)},b-1);fc([],h,function(k){var l=[k[0],null].concat(k.slice(1)),n=k=a,p=e,t=l.length;2>t&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var u=null!==l[1]&&!1,w=!1, -q=1;q>>k}}var l=-1!=b.indexOf("unsigned");S(a,{name:b,fromWireType:g,toWireType:function(n, -p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+nc(p)+'" to '+this.name);if(pe)throw new TypeError('Passing a number "'+nc(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+e+"]!");return l?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:yc(b,h,0!==d),Ma:null})},f:function(a,b,c){function d(g){g>>=2;var h=I;return new e(G,h[g+1],h[g])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array, -Uint32Array,Float32Array,Float64Array][b];c=T(c);S(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{rb:!0})},t:function(a,b){b=T(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(d){var e=I[d>>2];if(c)for(var g=d+4,h=0;h<=e;++h){var k=d+4+h;if(h==e||0==D[k]){g=g?C(D,g,k-g):"";if(void 0===l)var l=g;else l+=String.fromCharCode(0),l+=g;g=k+1}}else{l=Array(e);for(h=0;h>2]=h;if(c&&g)sa(e,D,k+4,h+1);else if(g)for(g=0;g>2],p=h(),t,u=l+4,w=0;w<=n;++w){var q=l+4+w*b;if(w==n||0==p[q>>k])u=d(u,q-u),void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),u=q+b}W(l);return t},toWireType:function(l,n){"string"!==typeof n&&U("Cannot pass non-string to C++ string type "+ -c);var p=g(n),t=ob(4+p+b);I[t>>2]=p>>k;e(n,t+4,p+b);null!==l&&l.push(W,t);return t},argPackAdvance:8,readValueFromPointer:Zb,Ma:function(l){W(l)}})},O:function(a,b,c,d,e,g){Xb[a]={name:T(b),vb:tc(c,d),wb:tc(e,g),cb:[]}},F:function(a,b,c,d,e,g,h,k,l,n){Xb[a].cb.push({mb:T(b),qb:c,ob:tc(d,e),pb:g,Ab:h,zb:tc(k,l),Bb:n})},u:function(a,b){b=T(b);S(a,{Gb:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},v:lc,y:function(a){4>>=0;var b=D.length;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0>>16);Ea(A.buffer);var e=1;break a}catch(g){}e=void 0}if(e)return!0}return!1}, -r:function(a){try{var b=Wb(a);if(null===b.fd)throw new M(8);b.Wa&&(b.Wa=null);try{b.Ha.close&&b.Ha.close(b)}catch(c){throw c;}finally{rb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof Tb&&c instanceof M||y(c),c.Qa}},I:function(a,b,c,d){try{a:{for(var e=Wb(a),g=a=0;g>2],k=e,l=F[b+8*g>>2],n=h,p=void 0,t=H;if(0>n||0>p)throw new M(28);if(null===k.fd)throw new M(8);if(1===(k.flags&2097155))throw new M(8);if(16384===(k.node.mode&61440))throw new M(31);if(!k.Ha.read)throw new M(28); -var u="undefined"!==typeof p;if(!u)p=k.position;else if(!k.seekable)throw new M(70);var w=k.Ha.read(k,t,l,n,p);u||(k.position+=w);var q=w;if(0>q){var B=-1;break a}a+=q;if(q>2]=B;return 0}catch(x){return"undefined"!==typeof Tb&&x instanceof M||y(x),x.Qa}},C:function(a,b,c,d,e){try{var g=Wb(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Nb(g,a,d);Xa=[g.position>>>0,(L=g.position,1<=+Ma(L)?0>>0:~~+Na((L-+(~~L>>> -0))/4294967296)>>>0:0)];F[e>>2]=Xa[0];F[e+4>>2]=Xa[1];g.Wa&&0===a&&0===d&&(g.Wa=null);return 0}catch(h){return"undefined"!==typeof Tb&&h instanceof M||y(h),h.Qa}},q:function(a,b,c,d){try{a:{for(var e=Wb(a),g=a=0;g>2],l=F[b+(8*g+4)>>2],n=void 0,p=H;if(0>l||0>n)throw new M(28);if(null===h.fd)throw new M(8);if(0===(h.flags&2097155))throw new M(8);if(16384===(h.node.mode&61440))throw new M(31);if(!h.Ha.write)throw new M(28);h.seekable&&h.flags&1024&&Nb(h,0,2);var t="undefined"!== -typeof n;if(!t)n=h.position;else if(!h.seekable)throw new M(70);var u=h.Ha.write(h,p,k,l,n,void 0);t||(h.position+=u);try{if(h.path&&vb.onWriteToFile)vb.onWriteToFile(h.path)}catch(B){z("FS.trackingDelegate['onWriteToFile']('"+h.path+"') threw an exception: "+B.message)}var w=u;if(0>w){var q=-1;break a}a+=w}q=a}F[d>>2]=q;return 0}catch(B){return"undefined"!==typeof Tb&&B instanceof M||y(B),B.Qa}},a:function(){return ma|0},l:Bc,e:Cc,D:Dc,n:Ec,A:Fc,z:Gc,B:Hc,E:Ic,k:Jc,m:Kc,c:Lc,memory:A,g:function(a){a= -+a;return 0<=a?+Oa(a+.5):+Na(a-.5)},h:function(a){a=+a;return 0<=a?+Oa(a+.5):+Na(a-.5)},b:function(a){ma=a|0},table:pa}; -(function(){function a(e){f.asm=e.exports;J--;f.monitorRunDependencies&&f.monitorRunDependencies(J);0==J&&(null!==Qa&&(clearInterval(Qa),Qa=null),Ra&&(e=Ra,Ra=null,e()))}function b(e){a(e.instance)}function c(e){return Wa().then(function(g){return WebAssembly.instantiate(g,d)}).then(e,function(g){z("failed to asynchronously prepare wasm: "+g);y(g)})}var d={a:Mc};J++;f.monitorRunDependencies&&f.monitorRunDependencies(J);if(f.instantiateWasm)try{return f.instantiateWasm(d,a)}catch(e){return z("Module.instantiateWasm callback failed with error: "+ -e),!1}(function(){if(na||"function"!==typeof WebAssembly.instantiateStreaming||Ta()||Sa("file://")||"function"!==typeof fetch)return c(b);fetch(K,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,d).then(b,function(g){z("wasm streaming compile failed: "+g);z("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})(); -var Ya=f.___wasm_call_ctors=function(){return(Ya=f.___wasm_call_ctors=f.asm.Q).apply(null,arguments)},ob=f._malloc=function(){return(ob=f._malloc=f.asm.R).apply(null,arguments)},W=f._free=function(){return(W=f._free=f.asm.S).apply(null,arguments)},wc=f.___getTypeName=function(){return(wc=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.___errno_location=function(){return(f.___errno_location=f.asm.V).apply(null,arguments)}; -var X=f._setThrew=function(){return(X=f._setThrew=f.asm.W).apply(null,arguments)},Y=f.stackSave=function(){return(Y=f.stackSave=f.asm.X).apply(null,arguments)},Z=f.stackRestore=function(){return(Z=f.stackRestore=f.asm.Y).apply(null,arguments)},Nc=f.dynCall_v=function(){return(Nc=f.dynCall_v=f.asm.Z).apply(null,arguments)},Oc=f.dynCall_vi=function(){return(Oc=f.dynCall_vi=f.asm._).apply(null,arguments)},Pc=f.dynCall_vii=function(){return(Pc=f.dynCall_vii=f.asm.$).apply(null,arguments)}; -f.dynCall_viii=function(){return(f.dynCall_viii=f.asm.aa).apply(null,arguments)};var Qc=f.dynCall_viiii=function(){return(Qc=f.dynCall_viiii=f.asm.ba).apply(null,arguments)},Rc=f.dynCall_ii=function(){return(Rc=f.dynCall_ii=f.asm.ca).apply(null,arguments)},Sc=f.dynCall_iii=function(){return(Sc=f.dynCall_iii=f.asm.da).apply(null,arguments)};f.dynCall_iiii=function(){return(f.dynCall_iiii=f.asm.ea).apply(null,arguments)}; -var Tc=f.dynCall_iiiii=function(){return(Tc=f.dynCall_iiiii=f.asm.fa).apply(null,arguments)},Uc=f.dynCall_iiiiiiiii=function(){return(Uc=f.dynCall_iiiiiiiii=f.asm.ga).apply(null,arguments)},Vc=f.dynCall_iiiijj=function(){return(Vc=f.dynCall_iiiijj=f.asm.ha).apply(null,arguments)},Wc=f.dynCall_ij=function(){return(Wc=f.dynCall_ij=f.asm.ia).apply(null,arguments)},Xc=f.dynCall_jjij=function(){return(Xc=f.dynCall_jjij=f.asm.ja).apply(null,arguments)}; -f.dynCall_i=function(){return(f.dynCall_i=f.asm.ka).apply(null,arguments)};f.dynCall_iiiiii=function(){return(f.dynCall_iiiiii=f.asm.la).apply(null,arguments)};f.dynCall_viiiii=function(){return(f.dynCall_viiiii=f.asm.ma).apply(null,arguments)};f.dynCall_viiiiii=function(){return(f.dynCall_viiiiii=f.asm.na).apply(null,arguments)};f.dynCall_viiiiiiii=function(){return(f.dynCall_viiiiiiii=f.asm.oa).apply(null,arguments)}; -f.dynCall_viiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiii=f.asm.pa).apply(null,arguments)};f.dynCall_viiiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiiii=f.asm.qa).apply(null,arguments)};f.dynCall_viiiiiii=function(){return(f.dynCall_viiiiiii=f.asm.ra).apply(null,arguments)};f.dynCall_iiiiiiiiiiiiiiiiiiiiiiii=function(){return(f.dynCall_iiiiiiiiiiiiiiiiiiiiiiii=f.asm.sa).apply(null,arguments)};f.dynCall_iiiiiiiiii=function(){return(f.dynCall_iiiiiiiiii=f.asm.ta).apply(null,arguments)}; -f.dynCall_iiiiiii=function(){return(f.dynCall_iiiiiii=f.asm.ua).apply(null,arguments)};f.dynCall_iiiiiiii=function(){return(f.dynCall_iiiiiiii=f.asm.va).apply(null,arguments)};f.dynCall_iiiiiiiiiiii=function(){return(f.dynCall_iiiiiiiiiiii=f.asm.wa).apply(null,arguments)};f.dynCall_iidiiii=function(){return(f.dynCall_iidiiii=f.asm.xa).apply(null,arguments)};f.dynCall_jiji=function(){return(f.dynCall_jiji=f.asm.ya).apply(null,arguments)}; -f.dynCall_viiiiiiiiii=function(){return(f.dynCall_viiiiiiiiii=f.asm.za).apply(null,arguments)};f.dynCall_viiiiiiiiiiiii=function(){return(f.dynCall_viiiiiiiiiiiii=f.asm.Aa).apply(null,arguments)};f.dynCall_jiiiiiii=function(){return(f.dynCall_jiiiiiii=f.asm.Ba).apply(null,arguments)};f.dynCall_ff=function(){return(f.dynCall_ff=f.asm.Ca).apply(null,arguments)};f.dynCall_jiiiiii=function(){return(f.dynCall_jiiiiii=f.asm.Da).apply(null,arguments)}; -f.dynCall_iiijii=function(){return(f.dynCall_iiijii=f.asm.Ea).apply(null,arguments)};function Kc(a,b,c){var d=Y();try{Pc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}function Lc(a,b,c,d,e){var g=Y();try{Qc(a,b,c,d,e)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function Cc(a,b,c){var d=Y();try{return Sc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}function Jc(a,b){var c=Y();try{Oc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}} -function Ic(a){var b=Y();try{Nc(a)}catch(c){Z(b);if(c!==c+0&&"longjmp"!==c)throw c;X(1,0)}}function Bc(a,b){var c=Y();try{return Rc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}function Dc(a,b,c,d,e){var g=Y();try{return Tc(a,b,c,d,e)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function Ec(a,b,c,d,e,g,h,k,l){var n=Y();try{return Uc(a,b,c,d,e,g,h,k,l)}catch(p){Z(n);if(p!==p+0&&"longjmp"!==p)throw p;X(1,0)}} -function Hc(a,b,c,d,e,g){var h=Y();try{return Xc(a,b,c,d,e,g)}catch(k){Z(h);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}}function Fc(a,b,c,d,e,g,h,k){var l=Y();try{return Vc(a,b,c,d,e,g,h,k)}catch(n){Z(l);if(n!==n+0&&"longjmp"!==n)throw n;X(1,0)}}function Gc(a,b,c){var d=Y();try{return Wc(a,b,c)}catch(e){Z(d);if(e!==e+0&&"longjmp"!==e)throw e;X(1,0)}}var Yc;Ra=function Zc(){Yc||$c();Yc||(Ra=Zc)}; -function $c(){function a(){if(!Yc&&(Yc=!0,f.calledRun=!0,!qa)){f.noFSInit||Pb||(Pb=!0,Ob(),f.stdin=f.stdin,f.stdout=f.stdout,f.stderr=f.stderr,f.stdin?Rb("stdin",f.stdin):Kb("/dev/tty","/dev/stdin"),f.stdout?Rb("stdout",null,f.stdout):Kb("/dev/tty","/dev/stdout"),f.stderr?Rb("stderr",null,f.stderr):Kb("/dev/tty1","/dev/stderr"),Lb("/dev/stdin","r"),Lb("/dev/stdout","w"),Lb("/dev/stderr","w"));Ga(Ia);ub=!1;Ga(Ja);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();Ka.unshift(b)}Ga(Ka)}}if(!(0>2)+d]);return c} +function tc(a,b){a=T(a);var c=e["dynCall_"+a];for(var d=[],f=1;f>1]}:function(d){return wa[d>>1]};case 2:return c?function(d){return F[d>>2]}:function(d){return I[d>>2]};default:throw new TypeError("Unknown integer type: "+a);}} +function Bb(a,b,c,d){a||(a=this);this.parent=a;this.Sa=a.Sa;this.Za=null;this.id=tb++;this.name=b;this.mode=c;this.La={};this.Ma={};this.rdev=d}Object.defineProperties(Bb.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}}});Pb();ub=Array(4096);Ib(M,"/");O("/tmp");O("/home");O("/home/web_user"); +(function(){O("/dev");hb(259,{read:function(){return 0},write:function(d,f,g,h){return h}});Kb("/dev/null",259);gb(1280,jb);gb(1536,kb);Kb("/dev/tty",1280);Kb("/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(ea)try{var c=require("crypto");b=function(){return c.randomBytes(1)[0]}}catch(d){}b||(b=function(){x("random_device")});Sb("random",b);Sb("urandom",b);O("/dev/shm"); +O("/dev/shm/tmp")})();O("/proc");O("/proc/self");O("/proc/self/fd");Ib({Sa:function(){var a=mb("/proc/self","fd",16895,73);a.La={lookup:function(b,c){var d=sb[+c];if(!d)throw new L(8);b={parent:null,Sa:{nb:"fake"},La:{readlink:function(){return d.path}}};return b.parent=b}};return a}},"/proc/self/fd");ec=e.InternalError=dc("InternalError");for(var zc=Array(256),Ac=0;256>Ac;++Ac)zc[Ac]=String.fromCharCode(Ac);ic=zc;jc=e.BindingError=dc("BindingError"); +e.count_emval_handles=function(){for(var a=0,b=5;bf?-28:Mb(d.path,d.flags,0,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=Vb(),d.flags|=f,0;case 12:return f=Vb(),E[f+0>>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return F[Bc()>>2]=28,-1;default:return-28}}catch(g){return"undefined"!==typeof Q&&g instanceof L||x(g),-g.Ua}},K:function(a, +b,c){Ub=c;try{var d=Wb(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 f=Vb();return F[f>>2]=0;case 21520:return d.tty?-28:-59;case 21531:a=f=Vb();if(!d.Ma.xb)throw new L(59);return d.Ma.xb(d,b,a);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:x("bad ioctl syscall "+b)}}catch(g){return"undefined"!==typeof Q&&g instanceof L||x(g),-g.Ua}},L:function(a,b, +c){Ub=c;try{var d=a?B(D,a,void 0):"",f=Vb();return Mb(d,b,f).fd}catch(g){return"undefined"!==typeof Q&&g instanceof L||x(g),-g.Ua}},M:function(a){var b=Xb[a];delete Xb[a];var c=b.Ab,d=b.Bb,f=b.ib,g=f.map(function(h){return h.vb}).concat(f.map(function(h){return h.Fb}));fc([a],g,function(h){var k={};f.forEach(function(l,n){var p=h[n],t=l.tb,v=l.ub,w=h[n+f.length],q=l.Eb,C=l.Gb;k[l.rb]={read:function(y){return p.fromWireType(t(v,y))},write:function(y,P){var ra=[];q(C,y,w.toWireType(ra,P));Yb(ra)}}}); +return[{name:b.name,fromWireType:function(l){var n={},p;for(p in k)n[p]=k[p].read(l);d(l);return n},toWireType:function(l,n){for(var p in k)if(!(p in n))throw new TypeError('Missing field: "'+p+'"');var t=c();for(p in k)k[p].write(t,n[p]);null!==l&&l.push(d,t);return t},argPackAdvance:8,readValueFromPointer:Zb,Ra:d}]})},O:function(a,b,c,d,f){var g=hc(c);b=T(b);S(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,k){return k?d:f},argPackAdvance:8,readValueFromPointer:function(h){if(1=== +c)var k=H;else if(2===c)k=E;else if(4===c)k=F;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(k[h>>g])},Ra:null})},N:function(a,b){b=T(b);S(a,{name:b,fromWireType:function(c){var d=V[c].value;lc(c);return d},toWireType:function(c,d){return mc(d)},argPackAdvance:8,readValueFromPointer:Zb,Ra:null})},u:function(a,b,c){c=hc(c);b=T(b);S(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){if("number"!==typeof f&&"boolean"!==typeof f)throw new TypeError('Cannot convert "'+ +nc(f)+'" to '+this.name);return f},argPackAdvance:8,readValueFromPointer:oc(b,c),Ra:null})},q:function(a,b,c,d,f,g){var h=sc(b,c);a=T(a);f=tc(d,f);rc(a,function(){xc("Cannot call "+a+" due to unbound types",h)},b-1);fc([],h,function(k){var l=[k[0],null].concat(k.slice(1)),n=k=a,p=f,t=l.length;2>t&&U("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var v=null!==l[1]&&!1,w=!1,q=1;q>>k}}var l=-1!=b.indexOf("unsigned");S(a,{name:b,fromWireType:g,toWireType:function(n,p){if("number"!==typeof p&&"boolean"!==typeof p)throw new TypeError('Cannot convert "'+ +nc(p)+'" to '+this.name);if(pf)throw new TypeError('Passing a number "'+nc(p)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+d+", "+f+"]!");return l?p>>>0:p|0},argPackAdvance:8,readValueFromPointer:yc(b,h,0!==d),Ra:null})},f:function(a,b,c){function d(g){g>>=2;var h=I;return new f(G,h[g+1],h[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=T(c);S(a,{name:c,fromWireType:d,argPackAdvance:8, +readValueFromPointer:d},{wb:!0})},v:function(a,b){b=T(b);var c="std::string"===b;S(a,{name:b,fromWireType:function(d){var f=I[d>>2];if(c)for(var g=d+4,h=0;h<=f;++h){var k=d+4+h;if(h==f||0==D[k]){g=g?B(D,g,k-g):"";if(void 0===l)var l=g;else l+=String.fromCharCode(0),l+=g;g=k+1}}else{l=Array(f);for(h=0;h>2]=h;if(c&&g)sa(f,D,k+4,h+1);else if(g)for(g=0;g>2],p=h(),t,v=l+4,w=0;w<=n;++w){var q=l+4+w*b;if(w==n||0==p[q>>k])v=d(v,q-v),void 0===t?t=v:(t+=String.fromCharCode(0),t+=v),v=q+b}W(l);return t},toWireType:function(l,n){"string"!==typeof n&&U("Cannot pass non-string to C++ string type "+c);var p=g(n),t=pb(4+p+b);I[t>>2]=p>>k;f(n,t+4,p+b);null!==l&&l.push(W,t);return t},argPackAdvance:8, +readValueFromPointer:Zb,Ra:function(l){W(l)}})},R:function(a,b,c,d,f,g){Xb[a]={name:T(b),Ab:tc(c,d),Bb:tc(f,g),ib:[]}},H:function(a,b,c,d,f,g,h,k,l,n){Xb[a].ib.push({rb:T(b),vb:c,tb:tc(d,f),ub:g,Fb:h,Eb:tc(k,l),Gb:n})},P:function(a,b){b=T(b);S(a,{Lb:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},w:lc,z:function(a){4>>=0;var b=D.length;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);d=Math.max(16777216,a,d);0>>16);Ea(A.buffer);var f=1;break a}catch(g){}f=void 0}if(f)return!0}return!1},t:function(a){try{var b=Wb(a);if(null===b.fd)throw new L(8);b.ab&&(b.ab=null);try{b.Ma.close&&b.Ma.close(b)}catch(c){throw c; +}finally{sb[b.fd]=null}b.fd=null;return 0}catch(c){return"undefined"!==typeof Q&&c instanceof L||x(c),c.Ua}},J:function(a,b,c,d){try{a:{for(var f=Wb(a),g=a=0;g>2],k=f,l=F[b+8*g>>2],n=h,p=void 0,t=H;if(0>n||0>p)throw new L(28);if(null===k.fd)throw new L(8);if(1===(k.flags&2097155))throw new L(8);if(16384===(k.node.mode&61440))throw new L(31);if(!k.Ma.read)throw new L(28);var v="undefined"!==typeof p;if(!v)p=k.position;else if(!k.seekable)throw new L(70);var w=k.Ma.read(k, +t,l,n,p);v||(k.position+=w);var q=w;if(0>q){var C=-1;break a}a+=q;if(q>2]=C;return 0}catch(y){return"undefined"!==typeof Q&&y instanceof L||x(y),y.Ua}},D:function(a,b,c,d,f){try{var g=Wb(a);a=4294967296*c+(b>>>0);if(-9007199254740992>=a||9007199254740992<=a)return-61;Ob(g,a,d);Ya=[g.position>>>0,(Xa=g.position,1<=+Ma(Xa)?0>>0:~~+Na((Xa-+(~~Xa>>>0))/4294967296)>>>0:0)];F[f>>2]=Ya[0];F[f+4>>2]=Ya[1];g.ab&&0===a&&0===d&&(g.ab=null);return 0}catch(h){return"undefined"!== +typeof Q&&h instanceof L||x(h),h.Ua}},s:function(a,b,c,d){try{a:{for(var f=Wb(a),g=a=0;g>2],l=F[b+(8*g+4)>>2],n=void 0,p=H;if(0>l||0>n)throw new L(28);if(null===h.fd)throw new L(8);if(0===(h.flags&2097155))throw new L(8);if(16384===(h.node.mode&61440))throw new L(31);if(!h.Ma.write)throw new L(28);h.seekable&&h.flags&1024&&Ob(h,0,2);var t="undefined"!==typeof n;if(!t)n=h.position;else if(!h.seekable)throw new L(70);var v=h.Ma.write(h,p,k,l,n,void 0);t||(h.position+=v);try{if(h.path&& +wb.onWriteToFile)wb.onWriteToFile(h.path)}catch(C){z("FS.trackingDelegate['onWriteToFile']('"+h.path+"') threw an exception: "+C.message)}var w=v;if(0>w){var q=-1;break a}a+=w}q=a}F[d>>2]=q;return 0}catch(C){return"undefined"!==typeof Q&&C instanceof L||x(C),C.Ua}},a:function(){return ma|0},m:Cc,e:Dc,F:Ec,p:Fc,E:Gc,B:Hc,A:Ic,C:Jc,G:Kc,k:Lc,l:Mc,c:Nc,memory:A,g:function(a){a=+a;return 0<=a?+Oa(a+.5):+Na(a-.5)},h:function(a){a=+a;return 0<=a?+Oa(a+.5):+Na(a-.5)},b:function(a){ma=a|0},table:oa,Q:function(a){var b= +Date.now()/1E3|0;a&&(F[a>>2]=b);return b}}; +(function(){function a(f){e.asm=f.exports;J--;e.monitorRunDependencies&&e.monitorRunDependencies(J);0==J&&(null!==Qa&&(clearInterval(Qa),Qa=null),Ra&&(f=Ra,Ra=null,f()))}function b(f){a(f.instance)}function c(f){return Wa().then(function(g){return WebAssembly.instantiate(g,d)}).then(f,function(g){z("failed to asynchronously prepare wasm: "+g);x(g)})}var d={a:Oc};J++;e.monitorRunDependencies&&e.monitorRunDependencies(J);if(e.instantiateWasm)try{return e.instantiateWasm(d,a)}catch(f){return z("Module.instantiateWasm callback failed with error: "+ +f),!1}(function(){if(na||"function"!==typeof WebAssembly.instantiateStreaming||Ta()||Sa("file://")||"function"!==typeof fetch)return c(b);fetch(K,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,d).then(b,function(g){z("wasm streaming compile failed: "+g);z("falling back to ArrayBuffer instantiation");return c(b)})})})();return{}})(); +var Za=e.___wasm_call_ctors=function(){return(Za=e.___wasm_call_ctors=e.asm.T).apply(null,arguments)},pb=e._malloc=function(){return(pb=e._malloc=e.asm.U).apply(null,arguments)},W=e._free=function(){return(W=e._free=e.asm.V).apply(null,arguments)},wc=e.___getTypeName=function(){return(wc=e.___getTypeName=e.asm.W).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.X).apply(null,arguments)}; +var Bc=e.___errno_location=function(){return(Bc=e.___errno_location=e.asm.Y).apply(null,arguments)},X=e._setThrew=function(){return(X=e._setThrew=e.asm.Z).apply(null,arguments)},Y=e.stackSave=function(){return(Y=e.stackSave=e.asm._).apply(null,arguments)},Z=e.stackRestore=function(){return(Z=e.stackRestore=e.asm.$).apply(null,arguments)},Pc=e.dynCall_v=function(){return(Pc=e.dynCall_v=e.asm.aa).apply(null,arguments)},Qc=e.dynCall_vi=function(){return(Qc=e.dynCall_vi=e.asm.ba).apply(null,arguments)}, +Rc=e.dynCall_vii=function(){return(Rc=e.dynCall_vii=e.asm.ca).apply(null,arguments)};e.dynCall_viii=function(){return(e.dynCall_viii=e.asm.da).apply(null,arguments)};var Sc=e.dynCall_viiii=function(){return(Sc=e.dynCall_viiii=e.asm.ea).apply(null,arguments)},Tc=e.dynCall_ii=function(){return(Tc=e.dynCall_ii=e.asm.fa).apply(null,arguments)},Uc=e.dynCall_iii=function(){return(Uc=e.dynCall_iii=e.asm.ga).apply(null,arguments)};e.dynCall_iiii=function(){return(e.dynCall_iiii=e.asm.ha).apply(null,arguments)}; +var Vc=e.dynCall_iiiii=function(){return(Vc=e.dynCall_iiiii=e.asm.ia).apply(null,arguments)},Wc=e.dynCall_iiiiiiiii=function(){return(Wc=e.dynCall_iiiiiiiii=e.asm.ja).apply(null,arguments)},Xc=e.dynCall_iiiiiiiiii=function(){return(Xc=e.dynCall_iiiiiiiiii=e.asm.ka).apply(null,arguments)},Yc=e.dynCall_iiiijj=function(){return(Yc=e.dynCall_iiiijj=e.asm.la).apply(null,arguments)},Zc=e.dynCall_ij=function(){return(Zc=e.dynCall_ij=e.asm.ma).apply(null,arguments)},$c=e.dynCall_jjij=function(){return($c= +e.dynCall_jjij=e.asm.na).apply(null,arguments)};e.dynCall_i=function(){return(e.dynCall_i=e.asm.oa).apply(null,arguments)};e.dynCall_iiiiii=function(){return(e.dynCall_iiiiii=e.asm.pa).apply(null,arguments)};e.dynCall_viiiii=function(){return(e.dynCall_viiiii=e.asm.qa).apply(null,arguments)};e.dynCall_viiiiii=function(){return(e.dynCall_viiiiii=e.asm.ra).apply(null,arguments)};e.dynCall_viiiiiiii=function(){return(e.dynCall_viiiiiiii=e.asm.sa).apply(null,arguments)}; +e.dynCall_viiiiiiiiiii=function(){return(e.dynCall_viiiiiiiiiii=e.asm.ta).apply(null,arguments)};e.dynCall_viiiiiiiiiiii=function(){return(e.dynCall_viiiiiiiiiiii=e.asm.ua).apply(null,arguments)};e.dynCall_viiiiiii=function(){return(e.dynCall_viiiiiii=e.asm.va).apply(null,arguments)};e.dynCall_viiiiiiiii=function(){return(e.dynCall_viiiiiiiii=e.asm.wa).apply(null,arguments)};e.dynCall_jiiiiiiiii=function(){return(e.dynCall_jiiiiiiiii=e.asm.xa).apply(null,arguments)}; +e.dynCall_iiiiiii=function(){return(e.dynCall_iiiiiii=e.asm.ya).apply(null,arguments)};e.dynCall_iiiiiiii=function(){return(e.dynCall_iiiiiiii=e.asm.za).apply(null,arguments)};e.dynCall_iiiiiiiiiiii=function(){return(e.dynCall_iiiiiiiiiiii=e.asm.Aa).apply(null,arguments)};e.dynCall_iidiiii=function(){return(e.dynCall_iidiiii=e.asm.Ba).apply(null,arguments)};e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.Ca).apply(null,arguments)}; +e.dynCall_viiiiiiiiii=function(){return(e.dynCall_viiiiiiiiii=e.asm.Da).apply(null,arguments)};e.dynCall_viiiiiiiiiiiii=function(){return(e.dynCall_viiiiiiiiiiiii=e.asm.Ea).apply(null,arguments)};e.dynCall_jiiiiiiii=function(){return(e.dynCall_jiiiiiiii=e.asm.Fa).apply(null,arguments)};e.dynCall_ff=function(){return(e.dynCall_ff=e.asm.Ga).apply(null,arguments)};e.dynCall_jiiiiii=function(){return(e.dynCall_jiiiiii=e.asm.Ha).apply(null,arguments)}; +e.dynCall_jiiiii=function(){return(e.dynCall_jiiiii=e.asm.Ia).apply(null,arguments)};e.dynCall_iiijii=function(){return(e.dynCall_iiijii=e.asm.Ja).apply(null,arguments)};function Mc(a,b,c){var d=Y();try{Rc(a,b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}function Nc(a,b,c,d,f){var g=Y();try{Sc(a,b,c,d,f)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}}function Dc(a,b,c){var d=Y();try{return Uc(a,b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}} +function Lc(a,b){var c=Y();try{Qc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}function Kc(a){var b=Y();try{Pc(a)}catch(c){Z(b);if(c!==c+0&&"longjmp"!==c)throw c;X(1,0)}}function Cc(a,b){var c=Y();try{return Tc(a,b)}catch(d){Z(c);if(d!==d+0&&"longjmp"!==d)throw d;X(1,0)}}function Ec(a,b,c,d,f){var g=Y();try{return Vc(a,b,c,d,f)}catch(h){Z(g);if(h!==h+0&&"longjmp"!==h)throw h;X(1,0)}} +function Gc(a,b,c,d,f,g,h,k,l,n){var p=Y();try{return Xc(a,b,c,d,f,g,h,k,l,n)}catch(t){Z(p);if(t!==t+0&&"longjmp"!==t)throw t;X(1,0)}}function Fc(a,b,c,d,f,g,h,k,l){var n=Y();try{return Wc(a,b,c,d,f,g,h,k,l)}catch(p){Z(n);if(p!==p+0&&"longjmp"!==p)throw p;X(1,0)}}function Jc(a,b,c,d,f,g){var h=Y();try{return $c(a,b,c,d,f,g)}catch(k){Z(h);if(k!==k+0&&"longjmp"!==k)throw k;X(1,0)}} +function Hc(a,b,c,d,f,g,h,k){var l=Y();try{return Yc(a,b,c,d,f,g,h,k)}catch(n){Z(l);if(n!==n+0&&"longjmp"!==n)throw n;X(1,0)}}function Ic(a,b,c){var d=Y();try{return Zc(a,b,c)}catch(f){Z(d);if(f!==f+0&&"longjmp"!==f)throw f;X(1,0)}}var ad;Ra=function bd(){ad||cd();ad||(Ra=bd)}; +function cd(){function a(){if(!ad&&(ad=!0,e.calledRun=!0,!pa)){e.noFSInit||Qb||(Qb=!0,Pb(),e.stdin=e.stdin,e.stdout=e.stdout,e.stderr=e.stderr,e.stdin?Sb("stdin",e.stdin):Lb("/dev/tty","/dev/stdin"),e.stdout?Sb("stdout",null,e.stdout):Lb("/dev/tty","/dev/stdout"),e.stderr?Sb("stderr",null,e.stderr):Lb("/dev/tty1","/dev/stderr"),Mb("/dev/stdin","r"),Mb("/dev/stdout","w"),Mb("/dev/stderr","w"));Ga(Ia);vb=!1;Ga(Ja);aa(e);if(e.onRuntimeInitialized)e.onRuntimeInitialized();if(e.postRun)for("function"== +typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var b=e.postRun.shift();Ka.unshift(b)}Ga(Ka)}}if(!(0