UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

1 lines 1.44 MB
var A=async function(A={}){var I,g,C=A,B=new Promise(((A,C)=>{I=A,g=C})),Q="undefined"!=typeof WorkerGlobalScope,E="./this.program",D=import.meta.url;if("object"==typeof window||Q)try{new URL(".",D)}catch{}var i,o,w,F,G,N,y,h,R,U,S,K,M,a=console.error.bind(console),s=!1;function k(){var A=o.buffer;F=new Int8Array(A),N=new Int16Array(A),G=new Uint8Array(A),y=new Uint16Array(A),h=new Int32Array(A),R=new Uint32Array(A),U=new Float32Array(A),M=new Float64Array(A),S=new BigInt64Array(A),K=new BigUint64Array(A)}var Y,c=0,J=null;function L(A){throw C.onAbort?.(A),a(A="Aborted("+A+")"),s=!0,A=new WebAssembly.RuntimeError(A+". Build with -sASSERTIONS for more info."),g(A),A}async function H(A){var I=Y;try{var g=await async function(A){if(!ArrayBuffer.isView(A)){if(A!=Y||!i)throw"both async and sync fetching of the wasm failed";A=new Uint8Array(i)}return A}(I);return await WebAssembly.instantiate(g,A)}catch(A){a(`failed to asynchronously prepare wasm: ${A}`),L(A)}}class q{name="ExitStatus";constructor(A){this.message=`Program terminated with exit(${A})`,this.status=A}}var t=A=>{for(;0<A.length;)A.shift()(C)},r=[],d=[],f=()=>{var A=C.preRun.shift();d.push(A)},n=!0;class W{constructor(A){this.X=A-24}}var p,x=A=>{for(var I="";G[A>>>0];)I+=p[G[A++>>>0]];return I},T={},V={},e={},l=class extends Error{constructor(A){super(A),this.name="BindingError"}},Z=A=>{throw new l(A)};function O(A,I,g={}){return function(A,I,g={}){var C=I.name;if(!A)throw new l(`type "${C}" must have a positive integer typeid pointer`);if(V.hasOwnProperty(A)){if(g.va)return;throw new l(`Cannot register type '${C}' twice`)}V[A]=I,delete e[A],T.hasOwnProperty(A)&&(I=T[A],delete T[A],I.forEach((A=>A())))}(A,I,g)}var P=(A,I,g)=>{switch(I){case 1:return g?A=>F[A>>>0]:A=>G[A>>>0];case 2:return g?A=>N[A>>>1>>>0]:A=>y[A>>>1>>>0];case 4:return g?A=>h[A>>>2>>>0]:A=>R[A>>>2>>>0];case 8:return g?A=>S[A>>>3>>>0]:A=>K[A>>>3>>>0];default:throw new TypeError(`invalid integer width (${I}): ${A}`)}},b=A=>{throw new l(A.V.Y.W.name+" instance already deleted")},X=!1,j=()=>{},m=A=>"undefined"==typeof FinalizationRegistry?(m=A=>A,A):(X=new FinalizationRegistry((A=>{--(A=A.V).count.value,0===A.count.value&&(A.$?A.ca.fa(A.$):A.Y.W.fa(A.X))})),j=A=>{X.unregister(A)},(m=A=>{var I=A.V;return I.$&&X.register(A,{V:I},A),A})(A));function z(){}var v=(A,I)=>Object.defineProperty(I,"name",{value:A}),u={},$=(A,I,g)=>{if(void 0===A[I].Z){var C=A[I];A[I]=function(...C){if(!A[I].Z.hasOwnProperty(C.length))throw new l(`Function '${g}' called with an invalid number of arguments (${C.length}) - expects one of (${A[I].Z})!`);return A[I].Z[C.length].apply(this,C)},A[I].Z=[],A[I].Z[C.ga]=C}},_=(A,I,g)=>{if(C.hasOwnProperty(A)){if(void 0===g||void 0!==C[A].Z&&void 0!==C[A].Z[g])throw new l(`Cannot register public name '${A}' twice`);if($(C,A,A),C[A].Z.hasOwnProperty(g))throw new l(`Cannot register multiple overloads of a function with the same number of arguments (${g})!`);C[A].Z[g]=I}else C[A]=I,C[A].ga=g};function AA(A,I,g,C,B,Q,E,D){this.name=A,this.constructor=I,this.ea=g,this.fa=C,this.aa=B,this.ta=Q,this.ka=E,this.sa=D,this.ya=[]}var IA=(A,I,g)=>{for(;I!==g;){if(!I.ka)throw new l(`Expected null or instance of ${g.name}, got an instance of ${I.name}`);A=I.ka(A),I=I.aa}return A},gA=A=>{if(null===A)return"null";var I=typeof A;return"object"===I||"array"===I||"function"===I?A.toString():""+A};function CA(A,I){if(null===I){if(this.oa)throw new l(`null is not a valid ${this.name}`);return 0}if(!I.V)throw new l(`Cannot pass "${gA(I)}" as a ${this.name}`);if(!I.V.X)throw new l(`Cannot pass deleted object as a pointer of type ${this.name}`);return IA(I.V.X,I.V.Y.W,this.W)}function BA(A,I){if(null===I){if(this.oa)throw new l(`null is not a valid ${this.name}`);if(this.na){var g=this.za();return null!==A&&A.push(this.fa,g),g}return 0}if(!I||!I.V)throw new l(`Cannot pass "${gA(I)}" as a ${this.name}`);if(!I.V.X)throw new l(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.ma&&I.V.Y.ma)throw new l(`Cannot convert argument of type ${I.V.ca?I.V.ca.name:I.V.Y.name} to parameter type ${this.name}`);if(g=IA(I.V.X,I.V.Y.W,this.W),this.na){if(void 0===I.V.$)throw new l("Passing raw pointer to smart pointer is illegal");switch(this.Ba){case 0:if(I.V.ca!==this)throw new l(`Cannot convert argument of type ${I.V.ca?I.V.ca.name:I.V.Y.name} to parameter type ${this.name}`);g=I.V.$;break;case 1:g=I.V.$;break;case 2:if(I.V.ca===this)g=I.V.$;else{var C=I.clone();g=this.Aa(g,fA((()=>C.delete()))),null!==A&&A.push(this.fa,g)}break;default:throw new l("Unsupporting sharing policy")}}return g}function QA(A,I){if(null===I){if(this.oa)throw new l(`null is not a valid ${this.name}`);return 0}if(!I.V)throw new l(`Cannot pass "${gA(I)}" as a ${this.name}`);if(!I.V.X)throw new l(`Cannot pass deleted object as a pointer of type ${this.name}`);if(I.V.Y.ma)throw new l(`Cannot convert argument of type ${I.V.Y.name} to parameter type ${this.name}`);return IA(I.V.X,I.V.Y.W,this.W)}function EA(A){return this.fromWireType(R[A>>>2>>>0])}var DA=(A,I,g)=>I===g?A:void 0===g.aa||null===(A=DA(A,I,g.aa))?null:g.sa(A),iA={},oA=class extends Error{constructor(A){super(A),this.name="InternalError"}},wA=(A,I)=>{if(!I.Y||!I.X)throw new oA("makeClassHandle requires ptr and ptrType");if(!!I.ca!=!!I.$)throw new oA("Both smartPtrType and smartPtr must be specified");return I.count={value:1},m(Object.create(A,{V:{value:I,writable:!0}}))};function FA(A,I,g,C,B,Q,E,D,i,o,w){this.name=A,this.W=I,this.oa=g,this.ma=C,this.na=B,this.xa=Q,this.Ba=E,this.qa=D,this.za=i,this.Aa=o,this.fa=w,B||void 0!==I.aa?this.toWireType=BA:(this.toWireType=C?CA:QA,this.ba=null)}var GA,NA=(A,I,g)=>{if(!C.hasOwnProperty(A))throw new oA("Replacing nonexistent public symbol");void 0!==C[A].Z&&void 0!==g?C[A].Z[g]=I:(C[A]=I,C[A].ga=g)},yA=[],hA=A=>{var I=yA[A];return I||(yA[A]=I=GA.get(A)),I},RA=(A,I)=>(...g)=>((A,I,g=[])=>(I=hA(I)(...g),"p"==A[0]?I>>>0:I))(A,I,g),UA=(A,I)=>{var g=(A=x(A)).includes("p")?RA(A,I):hA(I);if("function"!=typeof g)throw new l(`unknown function pointer with signature ${A}: ${I}`);return g};class SA extends Error{}var KA=A=>{A=yI(A);var I=x(A);return UI(A),I},MA=(A,I)=>{var g=[],C={};throw I.forEach((function A(I){C[I]||V[I]||(e[I]?e[I].forEach(A):(g.push(I),C[I]=!0))})),new SA(`${A}: `+g.map(KA).join([", "]))},aA=(A,I,g)=>{function C(I){if((I=g(I)).length!==A.length)throw new oA("Mismatched type converter count");for(var C=0;C<A.length;++C)O(A[C],I[C])}A.forEach((A=>e[A]=I));var B=Array(I.length),Q=[],E=0;I.forEach(((A,I)=>{V.hasOwnProperty(A)?B[I]=V[A]:(Q.push(A),T.hasOwnProperty(A)||(T[A]=[]),T[A].push((()=>{B[I]=V[A],++E===Q.length&&C(B)})))})),0===Q.length&&C(B)},sA=A=>{for(;A.length;){var I=A.pop();A.pop()(I)}};function kA(A){for(var I=1;I<A.length;++I)if(null!==A[I]&&void 0===A[I].ba)return!0;return!1}function YA(A,I,g,C,B,Q){var E=I.length;if(2>E)throw new l("argTypes array size mismatch! Must at least get return value and 'this' types!");var D=null!==I[1]&&null!==g,i=kA(I);for(g="void"!==I[0].name,C=[A,Z,C,B,sA,I[0],I[1]],B=0;B<E-2;++B)C.push(I[B+2]);if(!i)for(B=D?1:2;B<I.length;++B)null!==I[B].ba&&C.push(I[B].ba);i=kA(I),B=I.length-2;var o=[],w=["fn"];for(D&&w.push("thisWired"),E=0;E<B;++E)o.push(`arg${E}`),w.push(`arg${E}Wired`);o=o.join(","),w=w.join(","),o=`return function (${o}) {\n`,i&&(o+="var destructors = [];\n");var F=i?"destructors":"null",G="humanName throwBindingError invoker fn runDestructors retType classParam".split(" ");for(D&&(o+=`var thisWired = classParam['toWireType'](${F}, this);\n`),E=0;E<B;++E)o+=`var arg${E}Wired = argType${E}['toWireType'](${F}, arg${E});\n`,G.push(`argType${E}`);if(o+=(g||Q?"var rv = ":"")+`invoker(${w});\n`,i)o+="runDestructors(destructors);\n";else for(E=D?1:2;E<I.length;++E)Q=1===E?"thisWired":"arg"+(E-2)+"Wired",null!==I[E].ba&&(o+=`${Q}_dtor(${Q});\n`,G.push(`${Q}_dtor`));g&&(o+="var ret = retType['fromWireType'](rv);\nreturn ret;\n");let[N,y]=[G,o+"}\n"];return I=new Function(...N,y)(...C),v(A,I)}var cA=(A,I)=>{for(var g=[],C=0;C<A;C++)g.push(R[I+4*C>>>2>>>0]);return g},JA=A=>{const I=(A=A.trim()).indexOf("(");return-1===I?A:A.slice(0,I)},LA=(A,I,g)=>{if(!(A instanceof Object))throw new l(`${g} with invalid "this": ${A}`);if(!(A instanceof I.W.constructor))throw new l(`${g} incompatible with "this" of type ${A.constructor.name}`);if(!A.V.X)throw new l(`cannot call emscripten binding method ${g} on deleted object`);return IA(A.V.X,A.V.Y.W,I.W)},HA=[],qA=[0,1,,1,null,1,!0,1,!1,1];function tA(A){9<(A>>>=0)&&0==--qA[A+1]&&(qA[A]=void 0,HA.push(A))}for(var rA,dA=A=>{if(!A)throw new l(`Cannot use deleted val. handle = ${A}`);return qA[A]},fA=A=>{switch(A){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:const I=HA.pop()||qA.length;return qA[I]=A,qA[I+1]=1,I}},nA={name:"emscripten::val",fromWireType:A=>{var I=dA(A);return tA(A),I},toWireType:(A,I)=>fA(I),da:8,readValueFromPointer:EA,ba:null},WA=(A,I,g)=>{switch(I){case 1:return g?function(A){return this.fromWireType(F[A>>>0])}:function(A){return this.fromWireType(G[A>>>0])};case 2:return g?function(A){return this.fromWireType(N[A>>>1>>>0])}:function(A){return this.fromWireType(y[A>>>1>>>0])};case 4:return g?function(A){return this.fromWireType(h[A>>>2>>>0])}:function(A){return this.fromWireType(R[A>>>2>>>0])};default:throw new TypeError(`invalid integer width (${I}): ${A}`)}},pA=(A,I)=>{var g=V[A];if(void 0===g)throw A=`${I} has unknown type ${KA(A)}`,new l(A);return g},xA=(A,I)=>{switch(I){case 4:return function(A){return this.fromWireType(U[A>>>2>>>0])};case 8:return function(A){return this.fromWireType(M[A>>>3>>>0])};default:throw new TypeError(`invalid float width (${I}): ${A}`)}},TA=Object.assign({optional:!0},nA),VA=(A,I,g)=>{var C=G;if(!(0<g))return 0;var B=I>>>=0;g=I+g-1;for(var Q=0;Q<A.length;++Q){var E=A.charCodeAt(Q);if(55296<=E&&57343>=E&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),127>=E){if(I>=g)break;C[I++>>>0]=E}else{if(2047>=E){if(I+1>=g)break;C[I++>>>0]=192|E>>6}else{if(65535>=E){if(I+2>=g)break;C[I++>>>0]=224|E>>12}else{if(I+3>=g)break;C[I++>>>0]=240|E>>18,C[I++>>>0]=128|E>>12&63}C[I++>>>0]=128|E>>6&63}C[I++>>>0]=128|63&E}}return C[I>>>0]=0,I-B},eA=A=>{for(var I=0,g=0;g<A.length;++g){var C=A.charCodeAt(g);127>=C?I++:2047>=C?I+=2:55296<=C&&57343>=C?(I+=4,++g):I+=3}return I},lA="undefined"!=typeof TextDecoder?new TextDecoder:void 0,ZA=(A=0,I=NaN)=>{var g=G,C=(A>>>=0)+I;for(I=A;g[I]&&!(I>=C);)++I;if(16<I-A&&g.buffer&&lA)return lA.decode(g.subarray(A,I));for(C="";A<I;){var B=g[A++];if(128&B){var Q=63&g[A++];if(192==(224&B))C+=String.fromCharCode((31&B)<<6|Q);else{var E=63&g[A++];65536>(B=224==(240&B)?(15&B)<<12|Q<<6|E:(7&B)<<18|Q<<12|E<<6|63&g[A++])?C+=String.fromCharCode(B):(B-=65536,C+=String.fromCharCode(55296|B>>10,56320|1023&B))}}else C+=String.fromCharCode(B)}return C},OA="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,PA=(A,I)=>{I=(A>>>=1)+I/2;for(var g=A;!(g>=I)&&y[g>>>0];)++g;if(16<g-A&&OA)return OA.decode(y.subarray(A>>>0,g>>>0));for(g="";!(A>=I);++A){var C=y[A>>>0];if(0==C)break;g+=String.fromCharCode(C)}return g},bA=(A,I,g)=>{if(g??=2147483647,2>g)return 0;var C=I;g=(g-=2)<2*A.length?g/2:A.length;for(var B=0;B<g;++B)N[I>>>1>>>0]=A.charCodeAt(B),I+=2;return N[I>>>1>>>0]=0,I-C},XA=A=>2*A.length,jA=(A,I)=>{for(var g=0,C="";!(g>=I/4);){var B=h[A+4*g>>>2>>>0];if(0==B)break;++g,65536<=B?(B-=65536,C+=String.fromCharCode(55296|B>>10,56320|1023&B)):C+=String.fromCharCode(B)}return C},mA=(A,I,g)=>{if(I>>>=0,g??=2147483647,4>g)return 0;var C=I;g=C+g-4;for(var B=0;B<A.length;++B){var Q=A.charCodeAt(B);if(55296<=Q&&57343>=Q&&(Q=65536+((1023&Q)<<10)|1023&A.charCodeAt(++B)),h[I>>>2>>>0]=Q,(I+=4)+4>g)break}return h[I>>>2>>>0]=0,I-C},zA=A=>{for(var I=0,g=0;g<A.length;++g){var C=A.charCodeAt(g);55296<=C&&57343>=C&&++g,I+=4}return I},vA=0,uA=(A,I,g)=>{var C=[];return A=A.toWireType(C,g),C.length&&(R[I>>>2>>>0]=fA(C)),A},$A={},_A=A=>{var I=$A[A];return void 0===I?x(A):I},AI=[],II={},gI=A=>{if(!(A instanceof q||"unwind"==A))throw A},CI=A=>{throw w=A,n||0<vA||(C.onExit?.(A),s=!0),new q(A)},BI={},QI=()=>{if(!rA){var A,I={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",_:E||"./this.program"};for(A in BI)void 0===BI[A]?delete I[A]:I[A]=BI[A];var g=[];for(A in I)g.push(`${A}=${I[A]}`);rA=g}return rA},EI=A=>{(EI=A=>crypto.getRandomValues(A))(A)},DI=new Uint8Array(123),iI=25;0<=iI;--iI)DI[48+iI]=52+iI,DI[65+iI]=iI,DI[97+iI]=26+iI;DI[43]=62,DI[47]=63;for(var oI=Array(256),wI=0;256>wI;++wI)oI[wI]=String.fromCharCode(wI);p=oI,(()=>{let A=z.prototype;Object.assign(A,{isAliasOf:function(A){if(!(this instanceof z&&A instanceof z))return!1;var I=this.V.Y.W,g=this.V.X;A.V=A.V;var C=A.V.Y.W;for(A=A.V.X;I.aa;)g=I.ka(g),I=I.aa;for(;C.aa;)A=C.ka(A),C=C.aa;return I===C&&g===A},clone:function(){if(this.V.X||b(this),this.V.ja)return this.V.count.value+=1,this;var A=m,I=Object,g=I.create,C=Object.getPrototypeOf(this),B=this.V;return(A=A(g.call(I,C,{V:{value:{count:B.count,ia:B.ia,ja:B.ja,X:B.X,Y:B.Y,$:B.$,ca:B.ca}}}))).V.count.value+=1,A.V.ia=!1,A},delete(){if(this.V.X||b(this),this.V.ia&&!this.V.ja)throw new l("Object already scheduled for deletion");j(this);var A=this.V;--A.count.value,0===A.count.value&&(A.$?A.ca.fa(A.$):A.Y.W.fa(A.X)),this.V.ja||(this.V.$=void 0,this.V.X=void 0)},isDeleted:function(){return!this.V.X},deleteLater:function(){if(this.V.X||b(this),this.V.ia&&!this.V.ja)throw new l("Object already scheduled for deletion");return this.V.ia=!0,this}});const I=Symbol.dispose;I&&(A[I]=A.delete)})(),Object.assign(FA.prototype,{ua(A){return this.qa&&(A=this.qa(A)),A},pa(A){this.fa?.(A)},da:8,readValueFromPointer:EA,fromWireType:function(A){function I(){return this.na?wA(this.W.ea,{Y:this.xa,X:g,ca:this,$:A}):wA(this.W.ea,{Y:this,X:A})}var g=this.ua(A);if(!g)return this.pa(A),null;var C=((A,I)=>{if(void 0===I)throw new l("ptr should not be undefined");for(;A.aa;)I=A.ka(I),A=A.aa;return iA[I]})(this.W,g);if(void 0!==C)return 0===C.V.count.value?(C.V.X=g,C.V.$=A,C.clone()):(C=C.clone(),this.pa(A),C);if(C=this.W.ta(g),!(C=u[C]))return I.call(this);C=this.ma?C.ra:C.pointerType;var B=DA(g,this.W,C.W);return null===B?I.call(this):this.na?wA(C.W.ea,{Y:C,X:B,ca:this,$:A}):wA(C.W.ea,{Y:C,X:B})}}),C.noExitRuntime&&(n=C.noExitRuntime),C.printErr&&(a=C.printErr),C.wasmBinary&&(i=C.wasmBinary),C.thisProgram&&(E=C.thisProgram);var FI={a:function(A,I,g){var C=new W(A>>>=0);throw R[C.X+16>>>2>>>0]=0,R[C.X+4>>>2>>>0]=I>>>0,R[C.X+8>>>2>>>0]=g>>>0,A},M:()=>L(""),x:function(A,I,g,C,B){A>>>=0,g>>>=0,I=x(I>>>0);let Q=A=>A;if(C=0n===C){const A=8*g;Q=I=>BigInt.asUintN(A,I),B=Q(B)}O(A,{name:I,fromWireType:Q,toWireType:(A,I)=>("number"==typeof I&&(I=BigInt(I)),I),da:8,readValueFromPointer:P(I,g,!C),ba:null})},J:function(A,I,g,C){O(A>>>0,{name:I=x(I>>>0),fromWireType:function(A){return!!A},toWireType:function(A,I){return I?g:C},da:8,readValueFromPointer:function(A){return this.fromWireType(G[A>>>0])},ba:null})},e:function(A,I,g,C,B,Q,E,D,i,o,w,F,G){A>>>=0,I>>>=0,g>>>=0,C>>>=0,Q>>>=0,E>>>=0,D>>>=0,i>>>=0,o>>>=0,F>>>=0,G>>>=0,w=x(w>>>=0),Q=UA(B>>>0,Q),D&&=UA(E,D),o&&=UA(i,o),G=UA(F,G);var N=(A=>{var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=I&&57>=I?`_${A}`:A})(w);_(N,(function(){MA(`Cannot construct ${w} due to unbound types`,[C])})),aA([A,I,g],C?[C]:[],(I=>{if(I=I[0],C)var g=I.W,B=g.ea;else B=z.prototype;I=v(w,(function(...A){if(Object.getPrototypeOf(this)!==E)throw new l(`Use 'new' to construct ${w}`);if(void 0===F.ha)throw new l(`${w} has no accessible constructor`);var I=F.ha[A.length];if(void 0===I)throw new l(`Tried to invoke ctor of ${w} with invalid number of parameters (${A.length}) - expected (${Object.keys(F.ha).toString()}) parameters instead!`);return I.apply(this,A)}));var E=Object.create(B,{constructor:{value:I}});I.prototype=E;var i,F=new AA(w,I,E,G,g,Q,D,o);return F.aa&&((i=F.aa).la??(i.la=[]),F.aa.la.push(F)),g=new FA(w,F,!0,!1,!1),i=new FA(w+"*",F,!1,!1,!1),B=new FA(w+" const*",F,!1,!0,!1),u[A]={pointerType:i,ra:B},NA(N,I),[g,i,B]}))},s:function(A,I,g,C,B,Q,E,D){A>>>=0,I>>>=0,B>>>=0,Q>>>=0,E>>>=0;var i=cA(g,C>>>0);I=x(I),I=JA(I),Q=UA(B,Q),aA([],[A],(A=>{function C(){MA(`Cannot call ${B} due to unbound types`,i)}var B=`${(A=A[0]).name}.${I}`;I.startsWith("@@")&&(I=Symbol[I.substring(2)]);var o=A.W.constructor;return void 0===o[I]?(C.ga=g-1,o[I]=C):($(o,I,B),o[I].Z[g-1]=C),aA([],i,(C=>{if(C=YA(B,[C[0],null].concat(C.slice(1)),null,Q,E,D),void 0===o[I].Z?(C.ga=g-1,o[I]=C):o[I].Z[g-1]=C,A.W.la)for(const g of A.W.la)g.constructor.hasOwnProperty(I)||(g.constructor[I]=C);return[]})),[]}))},y:function(A,I,g,C,B,Q,E,D){A>>>=0,g>>>=0,C>>>=0,Q>>>=0,E>>>=0,D>>>=0,I=x(I>>>=0),Q=UA(B>>>0,Q),aA([],[A],(A=>{var B=`${(A=A[0]).name}.${I}`,i={get(){MA(`Cannot access ${B} due to unbound types`,[g])},enumerable:!0,configurable:!0};return i.set=D?()=>{MA(`Cannot access ${B} due to unbound types`,[g])}:()=>{throw new l(`${B} is a read-only property`)},Object.defineProperty(A.W.constructor,I,i),aA([],[g],(g=>{g=g[0];var B={get:()=>g.fromWireType(Q(C)),enumerable:!0};return D&&(D=UA(E,D),B.set=A=>{var I=[];D(C,g.toWireType(I,A)),sA(I)}),Object.defineProperty(A.W.constructor,I,B),[]})),[]}))},f:function(A,I,g,C,B,Q){A>>>=0,C>>>=0,B>>>=0,Q>>>=0;var E=cA(I,g>>>0);B=UA(C,B),aA([],[A],(A=>{var g=`constructor ${(A=A[0]).name}`;if(void 0===A.W.ha&&(A.W.ha=[]),void 0!==A.W.ha[I-1])throw new l(`Cannot register multiple constructors with identical number of parameters (${I-1}) for class '${A.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return A.W.ha[I-1]=()=>{MA(`Cannot construct ${A.name} due to unbound types`,E)},aA([],E,(C=>(C.splice(1,0,null),A.W.ha[I-1]=YA(g,C,null,B,Q),[]))),[]}))},b:function(A,I,g,C,B,Q,E,D,i){A>>>=0,I>>>=0,B>>>=0,Q>>>=0,E>>>=0;var o=cA(g,C>>>0);I=x(I),I=JA(I),Q=UA(B,Q),aA([],[A],(A=>{function C(){MA(`Cannot call ${B} due to unbound types`,o)}var B=`${(A=A[0]).name}.${I}`;I.startsWith("@@")&&(I=Symbol[I.substring(2)]),D&&A.W.ya.push(I);var w=A.W.ea,F=w[I];return void 0===F||void 0===F.Z&&F.className!==A.name&&F.ga===g-2?(C.ga=g-2,C.className=A.name,w[I]=C):($(w,I,B),w[I].Z[g-2]=C),aA([],o,(C=>(C=YA(B,C,A,Q,E,i),void 0===w[I].Z?(C.ga=g-2,w[I]=C):w[I].Z[g-2]=C,[]))),[]}))},t:function(A,I,g,C,B,Q,E,D,i,o){A>>>=0,g>>>=0,B>>>=0,Q>>>=0,E>>>=0,D>>>=0,i>>>=0,o>>>=0,I=x(I>>>=0),B=UA(C>>>0,B),aA([],[A],(A=>{var C=`${(A=A[0]).name}.${I}`,w={get(){MA(`Cannot access ${C} due to unbound types`,[g,E])},enumerable:!0,configurable:!0};return w.set=i?()=>MA(`Cannot access ${C} due to unbound types`,[g,E]):()=>{throw new l(C+" is a read-only property")},Object.defineProperty(A.W.ea,I,w),aA([],i?[g,E]:[g],(g=>{var E=g[0],w={get(){var I=LA(this,A,C+" getter");return E.fromWireType(B(Q,I))},enumerable:!0};if(i){i=UA(D,i);var F=g[1];w.set=function(I){var g=LA(this,A,C+" setter"),B=[];i(o,g,F.toWireType(B,I)),sA(B)}}return Object.defineProperty(A.W.ea,I,w),[]})),[]}))},H:function(A){return O(A>>>0,nA)},v:function(A,I,g,C){function B(){}I=x(I>>>0),B.values={},O(A>>>0,{name:I,constructor:B,fromWireType:function(A){return this.constructor.values[A]},toWireType:(A,I)=>I.value,da:8,readValueFromPointer:WA(I,g>>>0,C),ba:null}),_(I,B)},p:function(A,I,g){I>>>=0;var C=pA(A>>>0,"enum");I=x(I),A=C.constructor,C=Object.create(C.constructor.prototype,{value:{value:g},constructor:{value:v(`${C.name}_${I}`,(function(){}))}}),A.values[g]=C,A[I]=C},w:function(A,I,g){O(A>>>0,{name:I=x(I>>>0),fromWireType:A=>A,toWireType:(A,I)=>I,da:8,readValueFromPointer:xA(I,g>>>0),ba:null})},o:function(A,I,g,C,B,Q,E){A>>>=0,C>>>=0,B>>>=0,Q>>>=0;var D=cA(I,g>>>0);A=x(A),A=JA(A),B=UA(C,B),_(A,(function(){MA(`Cannot call ${A} due to unbound types`,D)}),I-1),aA([],D,(g=>(NA(A,YA(A,[g[0],null].concat(g.slice(1)),null,B,Q,E),I-1),[])))},r:function(A,I,g,C,B){A>>>=0,g>>>=0,I=x(I>>>0);let Q=A=>A;if(0===C){var E=32-8*g;Q=A=>A<<E>>>E,B=Q(B)}O(A,{name:I,fromWireType:Q,toWireType:(A,I)=>I,da:8,readValueFromPointer:P(I,g,0!==C),ba:null})},k:function(A,I,g){function C(A){return new B(F.buffer,R[A+4>>>2>>>0],R[A>>>2>>>0])}var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][I];O(A>>>0,{name:g=x(g>>>0),fromWireType:C,da:8,readValueFromPointer:C},{va:!0})},q:function(A){O(A>>>0,TA)},I:function(A,I){O(A>>>0,{name:I=x(I>>>0),fromWireType:function(A){for(var I,g=R[A>>>2>>>0],C=A+4,B=C,Q=0;Q<=g;++Q){var E=C+Q;if(Q==g||0==G[E>>>0]){var D=B;B=(D>>>=0)?ZA(D,E-B):"",void 0===I?I=B:(I+=String.fromCharCode(0),I+=B),B=E+1}}return UI(A),I},toWireType:function(A,I){I instanceof ArrayBuffer&&(I=new Uint8Array(I));var g="string"==typeof I;if(!(g||ArrayBuffer.isView(I)&&1==I.BYTES_PER_ELEMENT))throw new l("Cannot pass non-string to std::string");var C=g?eA(I):I.length,B=RI(4+C+1),Q=B+4;return R[B>>>2>>>0]=C,g?VA(I,Q,C+1):G.set(I,Q>>>0),null!==A&&A.push(UI,B),B},da:8,readValueFromPointer:EA,ba(A){UI(A)}})},u:function(A,I,g){if(I>>>=0,g=x(g>>>=0),2===I)var C=PA,B=bA,Q=XA,E=A=>y[A>>>1>>>0];else 4===I&&(C=jA,B=mA,Q=zA,E=A=>R[A>>>2>>>0]);O(A>>>0,{name:g,fromWireType:A=>{for(var g,B=R[A>>>2>>>0],Q=A+4,D=0;D<=B;++D){var i=A+4+D*I;D!=B&&0!=E(i)||(Q=C(Q,i-Q),void 0===g?g=Q:(g+=String.fromCharCode(0),g+=Q),Q=i+I)}return UI(A),g},toWireType:(A,C)=>{if("string"!=typeof C)throw new l(`Cannot pass non-string to C++ string type ${g}`);var E=Q(C),D=RI(4+E+I);return R[D>>>2>>>0]=E/I,B(C,D+4,E+I),null!==A&&A.push(UI,D),D},da:8,readValueFromPointer:EA,ba(A){UI(A)}})},K:function(A,I){O(A>>>0,{wa:!0,name:I=x(I>>>0),da:0,fromWireType:()=>{},toWireType:()=>{}})},D:()=>{n=!1,vA=0},h:function(A,I,g){return I>>>=0,g>>>=0,A=dA(A>>>0),I=pA(I,"emval::as"),uA(I,g,A)},m:function(A,I,g,C,B){return g>>>=0,C>>>=0,B>>>=0,(A=AI[A>>>0])(I=dA(I>>>0),I[g=_A(g)],C,B)},c:tA,l:function(A,I,g){I=((A,I)=>{for(var g=Array(A),C=0;C<A;++C)g[C]=pA(R[I+4*C>>>2>>>0],`parameter ${C}`);return g})(A,I>>>0);var C=I.shift();A--;var B="return function (obj, func, destructorsRef, args) {\n",Q=0,E=[];0===g&&E.push("obj");for(var D=["retType"],i=[C],o=0;o<A;++o)E.push(`arg${o}`),D.push(`argType${o}`),i.push(I[o]),B+=` var arg${o} = argType${o}.readValueFromPointer(args${Q?"+"+Q:""});\n`,Q+=I[o].da;return B+=` var rv = ${1===g?"new func":"func.call"}(${E.join(", ")});\n`,C.wa||(D.push("emval_returnValue"),i.push(uA),B+=" return emval_returnValue(retType, destructorsRef, rv);\n"),A=new Function(...D,B+"};\n")(...i),g=`methodCaller<(${I.map((A=>A.name)).join(", ")}) => ${C.name}>`,(A=>{var I=AI.length;return AI.push(A),I})(v(g,A))},i:function(A,I){return I>>>=0,A=dA(A>>>0),I=dA(I),fA(A[I])},n:function(A){9<(A>>>=0)&&(qA[A+1]+=1)},F:function(){return fA([])},j:function(A){return fA(_A(A>>>0))},d:function(A){var I=dA(A>>>=0);sA(I),tA(A)},g:function(A,I){return I>>>=0,A=(A=pA(A>>>0,"_emval_take_value")).readValueFromPointer(I),fA(A)},E:(A,I)=>{if(II[A]&&(clearTimeout(II[A].id),delete II[A]),!I)return 0;var g=setTimeout((()=>{delete II[A],(A=>{if(!s)try{if(A(),!(n||0<vA))try{w=A=w,CI(A)}catch(A){gI(A)}}catch(A){gI(A)}})((()=>hI(A,performance.now())))}),I);return II[A]={id:g,Ca:I},0},A:function(A,I,g,C){g>>>=0,C>>>=0;var B=(new Date).getFullYear(),Q=new Date(B,0,1).getTimezoneOffset();B=new Date(B,6,1).getTimezoneOffset(),R[A>>>0>>>2>>>0]=60*Math.max(Q,B),h[I>>>0>>>2>>>0]=Number(Q!=B),A=(I=A=>{var I=Math.abs(A);return`UTC${0<=A?"-":"+"}${String(Math.floor(I/60)).padStart(2,"0")}${String(I%60).padStart(2,"0")}`})(Q),I=I(B),B<Q?(VA(A,g,17),VA(I,C,17)):(VA(A,C,17),VA(I,g,17))},L:function(A){A>>>=0;var I=G.length;if(4294901760<A)return!1;for(var g=1;4>=g;g*=2){var C=I*(1+.2/g);C=Math.min(C,A+100663296);A:{C=(Math.min(4294901760,65536*Math.ceil(Math.max(A,C)/65536))-o.buffer.byteLength+65535)/65536|0;try{o.grow(C),k();var B=1;break A}catch(A){}B=void 0}if(B)return!0}return!1},B:function(A,I){A>>>=0,I>>>=0;var g,C=0,B=0;for(g of QI()){var Q=I+C;R[A+B>>>2>>>0]=Q,C+=VA(g,Q,1/0)+1,B+=4}return 0},G:function(A,I){A>>>=0,I>>>=0;var g=QI();for(var C of(R[A>>>2>>>0]=g.length,A=0,g))A+=eA(C)+1;return R[I>>>2>>>0]=A,0},C:CI,z:function(A,I){return A>>>=0,EI(G.subarray(A>>>0,A+(I>>>0)>>>0)),0}},GI=await async function(){function A(A){return GI=A.exports,GI=function(){var A=GI;A=Object.assign({},A);var I=A=>I=>A(I)>>>0;return A.Q=I(A.Q),A.S=I(A.S),A._emscripten_stack_alloc=I(A._emscripten_stack_alloc),A.emscripten_stack_get_current=(A=>()=>A()>>>0)(A.emscripten_stack_get_current),A}(),o=GI.N,k(),GA=GI.U,c--,C.monitorRunDependencies?.(c),0==c&&J&&(A=J,J=null,A()),GI}c++,C.monitorRunDependencies?.(c);var I={a:FI};if(C.instantiateWasm)return new Promise((g=>{C.instantiateWasm(I,((I,C)=>{g(A(I))}))}));Y??=(A=>{for(var I,g,C=0,B=0,Q=A.length,E=new Uint8Array((3*Q>>2)-("="==A[Q-2])-("="==A[Q-1]));C<Q;C+=4,B+=3)I=DI[A.charCodeAt(C+1)],g=DI[A.charCodeAt(C+2)],E[B]=DI[A.charCodeAt(C)]<<2|I>>4,E[B+1]=I<<4|g>>2,E[B+2]=g<<6|DI[A.charCodeAt(C+3)];return E})("AGFzbQEAAAABiQVOYAF/AGACf38AYAF/AX9gA39/fwBgAn9/AX9gBH9/f38Bf2ADf39/AX9gBH9/f38AYAV/f39/fwF/YAV/f39/fwBgBn9/f39/fwF/YAN/f34AYAZ/f39/f38AYAh/f39/f39/fwF/YAd/f39/f39/AGAAAGAFf39+f38AYAd/f39/f39/AX9gAAF/YAJ/fgBgBX9+fn5+AGALf39/f39/f39/f38Bf2AKf39/f39/f39/fwBgBX9/f39+AX9gCH9/f39/f39/AGAEf35+fwBgAX8BfmACf38BfmACf38BfGADf39/AXxgBH9/f38BfmACf3wAYAF8AXxgAnx/AXxgDH9/f39/f39/f39/fwF/YAp/f39/f39/f39/AX9gD39/f39/f39/f39/f39/fwBgBH9/f34AYAJ/fgF/YAd/f39/f35+AX9gBn9/f39+fgF/YAV/f39/fAF/YAV/f3x/fwBgDX9/f39/f39/f39/f38AYAV/f39/fwF8YAl/f39/f39/f38AYAV/f39+fgBgAn98AX9gA39+fwBgBX9+f39/AGAFf3x8fHwAYAN+fn8Bf2ADf39/AX5gBH5+fn4Bf2AEf39/fgF+YAJ+fwF/YAJ8fAF8YAN8fH8BfGADf39+AX9gBX9/fn9/AX9gA35+fwF+YAJ+fgF8YAl/f39/f39/f38Bf2AOf39/f39/f39/f39/f38Bf2APf39/f39/f39/f39/f39/AX9gB39/fn9/f38AYAJ+fgF+YAN/f38BfWAEf35+fgBgAn5+AX1gAnx/AX9gA35+fgF/YAR/f39+AX9gBH9+f38AYAZ/f398f38AYAR/f398AX9gBH9/f3wAYAN/f3wAAusBJwFhAWEAAwFhAWIAFgFhAWMAAAFhAWQAAAFhAWUAKwFhAWYADAFhAWcABAFhAWgAHQFhAWkABAFhAWoAAgFhAWsAAwFhAWwABgFhAW0ALAFhAW4AAAFhAW8AGAFhAXAAAwFhAXEAAQFhAXIACQFhAXMALQFhAXQAFgFhAXUAAwFhAXYABwFhAXcAAwFhAXgALgFhAXkAGAFhAXoABAFhAUEABwFhAUIABAFhAUMAAAFhAUQADwFhAUUALwFhAUYAEgFhAUcABAFhAUgAAAFhAUkAAQFhAUoABwFhAUsAAQFhAUwAAgFhAU0ADwOlC6MLAAICAAQEBggPEwYCAAQAAQESDzAHAgQCAgQBAQESAAACAwQUCQIBBgIPAgIGBgEEBgIGAgYxAwQUCAcJDwECGQAJBQIABwEyBwIUBgIEAgQDAQABMwEECgEEAwwKBwQTBgY0CggIBQIOEgABDx8gAgMCDQ0KCgECAwYIAQIHAgIBAAQOBAMDAwkAAAwOAQYBBwAEAwYEAwEEGQANADUIIQABAxUVNjcGAQEaAgMDAQIEBwkDBAQBCAEGCgAHAAABAwQDAgEECQkABgcAAgcHADg5AAQACQoGBAAJAwMDAAgCAg4EBg4RARECAgYCDAQAAgQFEwQBGAUDAAAEBwMHBwcHGgEBGgwMCQkEOgMDAAYMBAIGAgcBDgMJBwgECBs7BwAGCQkHDg4OPAUCAQICAiIJBiIJBgEBAgIAAAQCAQACDgMHBwYEBAQBBAYJAwMJAQQgBwcMBwMEAAQBAQU9AwMSFA4EAQQABAYDDAcGPj8RAwgKAwoDAxEOBAMIBAYJAxpAFQEGBQoKCCMQAAYEB0EHBwcAHkIHAgICBgICAAAAAwESAAYGJBYGJBYFARUEAwEGBBUBAQUFCQkMAwwJDAIMDgcDDgYDAQoGBgcdQx4FCgUeBQYGAAABAgIABAQCAgAABAQJBgIAGUQbAgchAwIIBgQHBCUTCQICGA8DAQEDAAMAAA8DAwMDBwMBAwMBAxsHCQEBAwMDCQEBAwcEAwIBGwImAgYBAgQdHAQBBAEAAw8BBAEBAgMBBAEBRQIEDAcJAAAUFAQDAwJGDwAJCQkJAQkDAgUJRwcAAAACBggICAUHBQoHCAgIEQ0AIwkVFhEGCgoAAwMEAAEPAQIREAQAAQgHDAcZBgMCAkgGSQICBAAECwIDAg0lAggDAggNDQgNDQsCAQACAgICAgICAgICAgICAgIGAAwMAgonCicRERERBhERDQoKCgoKDQoKCgoKCCgpFwgXCAgIKCkXCBcICAoKCgoKCgoCCgoKBQoKCgoGCgoGCgoGAwcIBgcIAAACAgACAAIAAgcHABAEBAIDAAIAAgMAAgEAAgYCAgYHAhAGDAwJBgkGBwcHCQYMBgICAgADAgMGAQACAgQBAgIEAQIGAgQBAgIEAQIGAwIEAQIAAgcDAgQBAgIEAQIAAgIEAQICBAECAgACBwIEAQICBAECAAIDBwACCwEBAQEAAgEEAQEBAwEBAQEGBAMEAAIGAwEHAwcHBQcHAQEGBQQAAiYTAgEBBAAAAhICB0oqAQIAAgcHCAkJAQcCAAIBHAICAgIBAgIAAQcDAwMFCAEGBQQGAgIBHAECAgQBAgICAgECAAEAAQABAwMDAwMEAQEGBQQGAQICAwMDAwMEBAEBAgQSAgMDAgQSAgYDBwMEAQEEAQEEAgQCAAICAgICBAQCBAQCAwMCAggJDAkMCQ4MDAMDCQkHCQcJBwMJCQwHCQkJBwkJBwMCAgIBAQECAQEEAQYDAQMBBAEBBgUCAgEEAQIEAQEEAQIDBAMEAgIBAQMDAQQBBAECAQECBAACAQEBAQMDAgICBBICAwYDBgIDBgMGAgAAHwIEAAACAAACAQIEEgMEAAACAAACAgACBAMBAgMHAgQBAgIEAQICBwQBAgEDAQICCAgIAggICA0NDQ0NDQYNDQ0NDQ0GCAgICAgICAgICAMICAgICAgFBQUFAgUFBQUFBQUFBQUDBQUFBQUFBQUFBQEFBQUFBQUFBQUFAgUFCAgICAgICAgGCAgFBQUFBQUFBQYFBQUFCAUFBQUFAwUFBQUFBQUICAIICAgDAQJLBAQEBgcGEAQCAgYCBxAEBgYEAgYCBxAAAgNMBANNAQICAgMABgICAgMAAgECAgABAgAAAAIGBgAIBgUGBAYEAAgGBQYEBgQFBQUGCAIIAggNDQABAQECAgABAQEPBAcBcAHLCssKBQcBAYACgIAEBggBfwFB0IgJCwclCAFOAgABTwDJCwFQALgFAVEAwAkBUgC/CQFTAD8BVAAnAVUBAAnjEwEAQQELygrZBKYInQi/AYkIvwGACL8B9we/AewHvwHhB78B2Ae/Ac0H3AG7B9wBsgfcAbEH3AGvB9wBrQfcAasHqgepB6gHpwdlkAGjB4EBnge3AZAHdP0G9AbrBp4C4gbhBmWQAeAGgQHeBrcB3QZ03AbVBs4GngLIBqgBZZABwAa9BrgGsQaqBnShBp0GmgaVBpEGqAFlkAHvA+4D6wPqA+cDdOMD6wXZA9MD4gWoAWWQAe8D7gPrA+oD5wN04wPeBdkD0wPXBagBZZABzQXLBcMFwAXBA3S9BaILtAWzBZoLqAFlkAHNBcsFwwXABcEDdL0FkQu0BbMFjAuoAWWQAYsLiguJC4cLwQN0hgv8CvIK7ArrCqgBZZAB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