| 12 |
- function kt(...l){const n=l.reduce((f,u)=>f+(u.byteLength||u.length),0),i=new Uint8Array(n);let o=0;return l.forEach(f=>{i.set(f instanceof ArrayBuffer?new Uint8Array(f):f,o),o+=f.byteLength||f.length}),i}Uint8Array.prototype.concat=function(...l){return kt(this,...l)};Uint8Array.prototype.toJSON=function(){return[...this]};Promise.prototype.finally=Promise.prototype.finally||function(l){const n=i=>Promise.resolve(l()).then(i);return this.then(i=>n(()=>i),i=>n(()=>Promise.reject(i)))};var er=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ze(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Ge={exports:{}};(function(l){var n=function(i){var o=1e7,f=7,u=9007199254740992,y=nt(u),T="0123456789abcdefghijklmnopqrstuvwxyz",R=typeof BigInt=="function";function A(e,r,a,c){return typeof e>"u"?A[0]:typeof r<"u"?+r==10&&!a?N(e):Te(e,r,a,c):N(e)}function p(e,r){this.value=e,this.sign=r,this.isSmall=!1}p.prototype=Object.create(A.prototype);function b(e){this.value=e,this.sign=e<0,this.isSmall=!0}b.prototype=Object.create(A.prototype);function S(e){this.value=e}S.prototype=Object.create(A.prototype);function O(e){return-u<e&&e<u}function nt(e){return e<1e7?[e]:e<1e14?[e%1e7,Math.floor(e/1e7)]:[e%1e7,Math.floor(e/1e7)%1e7,Math.floor(e/1e14)]}function ut(e){_t(e);var r=e.length;if(r<4&&dt(e,y)<0)switch(r){case 0:return 0;case 1:return e[0];case 2:return e[0]+e[1]*o;default:return e[0]+(e[1]+e[2]*o)*o}return e}function _t(e){for(var r=e.length;e[--r]===0;);e.length=r+1}function yt(e){for(var r=new Array(e),a=-1;++a<e;)r[a]=0;return r}function at(e){return e>0?Math.floor(e):Math.ceil(e)}function Gt(e,r){var a=e.length,c=r.length,v=new Array(a),d=0,k=o,_,x;for(x=0;x<c;x++)_=e[x]+r[x]+d,d=_>=k?1:0,v[x]=_-d*k;for(;x<a;)_=e[x]+d,d=_===k?1:0,v[x++]=_-d*k;return d>0&&v.push(d),v}function Tt(e,r){return e.length>=r.length?Gt(e,r):Gt(r,e)}function ot(e,r){var a=e.length,c=new Array(a),v=o,d,k;for(k=0;k<a;k++)d=e[k]-v+r,r=Math.floor(d/v),c[k]=d-r*v,r+=1;for(;r>0;)c[k++]=r%v,r=Math.floor(r/v);return c}p.prototype.add=function(e){var r=N(e);if(this.sign!==r.sign)return this.subtract(r.negate());var a=this.value,c=r.value;return r.isSmall?new p(ot(a,Math.abs(c)),this.sign):new p(Tt(a,c),this.sign)},p.prototype.plus=p.prototype.add,b.prototype.add=function(e){var r=N(e),a=this.value;if(a<0!==r.sign)return this.subtract(r.negate());var c=r.value;if(r.isSmall){if(O(a+c))return new b(a+c);c=nt(Math.abs(c))}return new p(ot(c,Math.abs(a)),a<0)},b.prototype.plus=b.prototype.add,S.prototype.add=function(e){return new S(this.value+N(e).value)},S.prototype.plus=S.prototype.add;function At(e,r){var a=e.length,c=r.length,v=new Array(a),d=0,k=o,_,x;for(_=0;_<c;_++)x=e[_]-d-r[_],x<0?(x+=k,d=1):d=0,v[_]=x;for(_=c;_<a;_++){if(x=e[_]-d,x<0)x+=k;else{v[_++]=x;break}v[_]=x}for(;_<a;_++)v[_]=e[_];return _t(v),v}function St(e,r,a){var c;return dt(e,r)>=0?c=At(e,r):(c=At(r,e),a=!a),c=ut(c),typeof c=="number"?(a&&(c=-c),new b(c)):new p(c,a)}function Mt(e,r,a){var c=e.length,v=new Array(c),d=-r,k=o,_,x;for(_=0;_<c;_++)x=e[_]+d,d=Math.floor(x/k),x%=k,v[_]=x<0?x+k:x;return v=ut(v),typeof v=="number"?(a&&(v=-v),new b(v)):new p(v,a)}p.prototype.subtract=function(e){var r=N(e);if(this.sign!==r.sign)return this.add(r.negate());var a=this.value,c=r.value;return r.isSmall?Mt(a,Math.abs(c),this.sign):St(a,c,this.sign)},p.prototype.minus=p.prototype.subtract,b.prototype.subtract=function(e){var r=N(e),a=this.value;if(a<0!==r.sign)return this.add(r.negate());var c=r.value;return r.isSmall?new b(a-c):Mt(c,Math.abs(a),a>=0)},b.prototype.minus=b.prototype.subtract,S.prototype.subtract=function(e){return new S(this.value-N(e).value)},S.prototype.minus=S.prototype.subtract,p.prototype.negate=function(){return new p(this.value,!this.sign)},b.prototype.negate=function(){var e=this.sign,r=new b(-this.value);return r.sign=!e,r},S.prototype.negate=function(){return new S(-this.value)},p.prototype.abs=function(){return new p(this.value,!1)},b.prototype.abs=function(){return new b(Math.abs(this.value))},S.prototype.abs=function(){return new S(this.value>=0?this.value:-this.value)};function Ut(e,r){var a=e.length,c=r.length,v=a+c,d=yt(v),k=o,_,x,q,H,F;for(q=0;q<a;++q){H=e[q];for(var V=0;V<c;++V)F=r[V],_=H*F+d[q+V],x=Math.floor(_/k),d[q+V]=_-x*k,d[q+V+1]+=x}return _t(d),d}function wt(e,r){var a=e.length,c=new Array(a),v=o,d=0,k,_;for(_=0;_<a;_++)k=e[_]*r+d,d=Math.floor(k/v),c[_]=k-d*v;for(;d>0;)c[_++]=d%v,d=Math.floor(d/v);return c}function Pt(e,r){for(var a=[];r-- >0;)a.push(0);return a.concat(e)}function st(e,r){var a=Math.max(e.length,r.length);if(a<=30)return Ut(e,r);a=Math.ceil(a/2);var c=e.slice(a),v=e.slice(0,a),d=r.slice(a),k=r.slice(0,a),_=st(v,k),x=st(c,d),q=st(Tt(v,c),Tt(k,d)),H=Tt(Tt(_,Pt(At(At(q,_),x),a)),Pt(x,2*a));return _t(H),H}function Ct(e,r){return-.012*e-.012*r+15e-6*e*r>0}p.prototype.multiply=function(e){var r=N(e),a=this.value,c=r.value,v=this.sign!==r.sign,d;if(r.isSmall){if(c===0)return A[0];if(c===1)return this;if(c===-1)return this.negate();if(d=Math.abs(c),d<o)return new p(wt(a,d),v);c=nt(d)}return Ct(a.length,c.length)?new p(st(a,c),v):new p(Ut(a,c),v)},p.prototype.times=p.prototype.multiply;function Ot(e,r,a){return e<o?new p(wt(r,e),a):new p(Ut(r,nt(e)),a)}b.prototype._multiplyBySmall=function(e){return O(e.value*this.value)?new b(e.value*this.value):Ot(Math.abs(e.value),nt(Math.abs(this.value)),this.sign!==e.sign)},p.prototype._multiplyBySmall=function(e){return e.value===0?A[0]:e.value===1?this:e.value===-1?this.negate():Ot(Math.abs(e.value),this.value,this.sign!==e.sign)},b.prototype.multiply=function(e){return N(e)._multiplyBySmall(this)},b.prototype.times=b.prototype.multiply,S.prototype.multiply=function(e){return new S(this.value*N(e).value)},S.prototype.times=S.prototype.multiply;function xt(e){var r=e.length,a=yt(r+r),c=o,v,d,k,_,x;for(k=0;k<r;k++){_=e[k],d=0-_*_;for(var q=k;q<r;q++)x=e[q],v=2*(_*x)+a[k+q]+d,d=Math.floor(v/c),a[k+q]=v-d*c;a[k+r]=d}return _t(a),a}p.prototype.square=function(){return new p(xt(this.value),!1)},b.prototype.square=function(){var e=this.value*this.value;return O(e)?new b(e):new p(xt(nt(Math.abs(this.value))),!1)},S.prototype.square=function(e){return new S(this.value*this.value)};function Nt(e,r){var a=e.length,c=r.length,v=o,d=yt(r.length),k=r[c-1],_=Math.ceil(v/(2*k)),x=wt(e,_),q=wt(r,_),H,F,V,ht,s,h,t;for(x.length<=a&&x.push(0),q.push(0),k=q[c-1],F=a-c;F>=0;F--){for(H=v-1,x[F+c]!==k&&(H=Math.floor((x[F+c]*v+x[F+c-1])/k)),V=0,ht=0,h=q.length,s=0;s<h;s++)V+=H*q[s],t=Math.floor(V/v),ht+=x[F+s]-(V-t*v),V=t,ht<0?(x[F+s]=ht+v,ht=-1):(x[F+s]=ht,ht=0);for(;ht!==0;){for(H-=1,V=0,s=0;s<h;s++)V+=x[F+s]-v+q[s],V<0?(x[F+s]=V+v,V=0):(x[F+s]=V,V=1);ht+=V}d[F]=H}return x=K(x,_)[0],[ut(d),ut(x)]}function et(e,r){for(var a=e.length,c=r.length,v=[],d=[],k=o,_,x,q,H,F;a;){if(d.unshift(e[--a]),_t(d),dt(d,r)<0){v.push(0);continue}x=d.length,q=d[x-1]*k+d[x-2],H=r[c-1]*k+r[c-2],x>c&&(q=(q+1)*k),_=Math.ceil(q/H);do{if(F=wt(r,_),dt(F,d)<=0)break;_--}while(_);v.push(_),d=At(d,F)}return v.reverse(),[ut(v),ut(d)]}function K(e,r){var a=e.length,c=yt(a),v=o,d,k,_,x;for(_=0,d=a-1;d>=0;--d)x=_*v+e[d],k=at(x/r),_=x-k*r,c[d]=k|0;return[c,_|0]}function tt(e,r){var a,c=N(r);if(R)return[new S(e.value/c.value),new S(e.value%c.value)];var v=e.value,d=c.value,k;if(d===0)throw new Error("Cannot divide by zero");if(e.isSmall)return c.isSmall?[new b(at(v/d)),new b(v%d)]:[A[0],e];if(c.isSmall){if(d===1)return[e,A[0]];if(d==-1)return[e.negate(),A[0]];var _=Math.abs(d);if(_<o){a=K(v,_),k=ut(a[0]);var x=a[1];return e.sign&&(x=-x),typeof k=="number"?(e.sign!==c.sign&&(k=-k),[new b(k),new b(x)]):[new p(k,e.sign!==c.sign),new b(x)]}d=nt(_)}var q=dt(v,d);if(q===-1)return[A[0],e];if(q===0)return[A[e.sign===c.sign?1:-1],A[0]];v.length+d.length<=200?a=Nt(v,d):a=et(v,d),k=a[0];var H=e.sign!==c.sign,F=a[1],V=e.sign;return typeof k=="number"?(H&&(k=-k),k=new b(k)):k=new p(k,H),typeof F=="number"?(V&&(F=-F),F=new b(F)):F=new p(F,V),[k,F]}p.prototype.divmod=function(e){var r=tt(this,e);return{quotient:r[0],remainder:r[1]}},S.prototype.divmod=b.prototype.divmod=p.prototype.divmod,p.prototype.divide=function(e){return tt(this,e)[0]},S.prototype.over=S.prototype.divide=function(e){return new S(this.value/N(e).value)},b.prototype.over=b.prototype.divide=p.prototype.over=p.prototype.divide,p.prototype.mod=function(e){return tt(this,e)[1]},S.prototype.mod=S.prototype.remainder=function(e){return new S(this.value%N(e).value)},b.prototype.remainder=b.prototype.mod=p.prototype.remainder=p.prototype.mod,p.prototype.pow=function(e){var r=N(e),a=this.value,c=r.value,v,d,k;if(c===0)return A[1];if(a===0)return A[0];if(a===1)return A[1];if(a===-1)return r.isEven()?A[1]:A[-1];if(r.sign)return A[0];if(!r.isSmall)throw new Error("The exponent "+r.toString()+" is too large.");if(this.isSmall&&O(v=Math.pow(a,c)))return new b(at(v));for(d=this,k=A[1];c&!0&&(k=k.times(d),--c),c!==0;)c/=2,d=d.square();return k},b.prototype.pow=p.prototype.pow,S.prototype.pow=function(e){var r=N(e),a=this.value,c=r.value,v=BigInt(0),d=BigInt(1),k=BigInt(2);if(c===v)return A[1];if(a===v)return A[0];if(a===d)return A[1];if(a===BigInt(-1))return r.isEven()?A[1]:A[-1];if(r.isNegative())return new S(v);for(var _=this,x=A[1];(c&d)===d&&(x=x.times(_),--c),c!==v;)c/=k,_=_.square();return x},p.prototype.modPow=function(e,r){if(e=N(e),r=N(r),r.isZero())throw new Error("Cannot take modPow with modulus 0");var a=A[1],c=this.mod(r);for(e.isNegative()&&(e=e.multiply(A[-1]),c=c.modInv(r));e.isPositive();){if(c.isZero())return A[0];e.isOdd()&&(a=a.multiply(c).mod(r)),e=e.divide(2),c=c.square().mod(r)}return a},S.prototype.modPow=b.prototype.modPow=p.prototype.modPow;function dt(e,r){if(e.length!==r.length)return e.length>r.length?1:-1;for(var a=e.length-1;a>=0;a--)if(e[a]!==r[a])return e[a]>r[a]?1:-1;return 0}p.prototype.compareAbs=function(e){var r=N(e),a=this.value,c=r.value;return r.isSmall?1:dt(a,c)},b.prototype.compareAbs=function(e){var r=N(e),a=Math.abs(this.value),c=r.value;return r.isSmall?(c=Math.abs(c),a===c?0:a>c?1:-1):-1},S.prototype.compareAbs=function(e){var r=this.value,a=N(e).value;return r=r>=0?r:-r,a=a>=0?a:-a,r===a?0:r>a?1:-1},p.prototype.compare=function(e){if(e===1/0)return-1;if(e===-1/0)return 1;var r=N(e),a=this.value,c=r.value;return this.sign!==r.sign?r.sign?1:-1:r.isSmall?this.sign?-1:1:dt(a,c)*(this.sign?-1:1)},p.prototype.compareTo=p.prototype.compare,b.prototype.compare=function(e){if(e===1/0)return-1;if(e===-1/0)return 1;var r=N(e),a=this.value,c=r.value;return r.isSmall?a==c?0:a>c?1:-1:a<0!==r.sign?a<0?-1:1:a<0?1:-1},b.prototype.compareTo=b.prototype.compare,S.prototype.compare=function(e){if(e===1/0)return-1;if(e===-1/0)return 1;var r=this.value,a=N(e).value;return r===a?0:r>a?1:-1},S.prototype.compareTo=S.prototype.compare,p.prototype.equals=function(e){return this.compare(e)===0},S.prototype.eq=S.prototype.equals=b.prototype.eq=b.prototype.equals=p.prototype.eq=p.prototype.equals,p.prototype.notEquals=function(e){return this.compare(e)!==0},S.prototype.neq=S.prototype.notEquals=b.prototype.neq=b.prototype.notEquals=p.prototype.neq=p.prototype.notEquals,p.prototype.greater=function(e){return this.compare(e)>0},S.prototype.gt=S.prototype.greater=b.prototype.gt=b.prototype.greater=p.prototype.gt=p.prototype.greater,p.prototype.lesser=function(e){return this.compare(e)<0},S.prototype.lt=S.prototype.lesser=b.prototype.lt=b.prototype.lesser=p.prototype.lt=p.prototype.lesser,p.prototype.greaterOrEquals=function(e){return this.compare(e)>=0},S.prototype.geq=S.prototype.greaterOrEquals=b.prototype.geq=b.prototype.greaterOrEquals=p.prototype.geq=p.prototype.greaterOrEquals,p.prototype.lesserOrEquals=function(e){return this.compare(e)<=0},S.prototype.leq=S.prototype.lesserOrEquals=b.prototype.leq=b.prototype.lesserOrEquals=p.prototype.leq=p.prototype.lesserOrEquals,p.prototype.isEven=function(){return(this.value[0]&1)===0},b.prototype.isEven=function(){return(this.value&1)===0},S.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},p.prototype.isOdd=function(){return(this.value[0]&1)===1},b.prototype.isOdd=function(){return(this.value&1)===1},S.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},p.prototype.isPositive=function(){return!this.sign},b.prototype.isPositive=function(){return this.value>0},S.prototype.isPositive=b.prototype.isPositive,p.prototype.isNegative=function(){return this.sign},b.prototype.isNegative=function(){return this.value<0},S.prototype.isNegative=b.prototype.isNegative,p.prototype.isUnit=function(){return!1},b.prototype.isUnit=function(){return Math.abs(this.value)===1},S.prototype.isUnit=function(){return this.abs().value===BigInt(1)},p.prototype.isZero=function(){return!1},b.prototype.isZero=function(){return this.value===0},S.prototype.isZero=function(){return this.value===BigInt(0)},p.prototype.isDivisibleBy=function(e){var r=N(e);return r.isZero()?!1:r.isUnit()?!0:r.compareAbs(2)===0?this.isEven():this.mod(r).isZero()},S.prototype.isDivisibleBy=b.prototype.isDivisibleBy=p.prototype.isDivisibleBy;function ct(e){var r=e.abs();if(r.isUnit())return!1;if(r.equals(2)||r.equals(3)||r.equals(5))return!0;if(r.isEven()||r.isDivisibleBy(3)||r.isDivisibleBy(5))return!1;if(r.lesser(49))return!0}function Ht(e,r){for(var a=e.prev(),c=a,v=0,d,k,_;c.isEven();)c=c.divide(2),v++;t:for(k=0;k<r.length;k++)if(!e.lesser(r[k])&&(_=n(r[k]).modPow(c,e),!(_.isUnit()||_.equals(a)))){for(d=v-1;d!=0;d--){if(_=_.square().mod(e),_.isUnit())return!1;if(_.equals(a))continue t}return!1}return!0}p.prototype.isPrime=function(e){var r=ct(this);if(r!==i)return r;var a=this.abs(),c=a.bitLength();if(c<=64)return Ht(a,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var v=Math.log(2)*c.toJSNumber(),d=Math.ceil(e===!0?2*Math.pow(v,2):v),k=[],_=0;_<d;_++)k.push(n(_+2));return Ht(a,k)},S.prototype.isPrime=b.prototype.isPrime=p.prototype.isPrime,p.prototype.isProbablePrime=function(e,r){var a=ct(this);if(a!==i)return a;for(var c=this.abs(),v=e===i?5:e,d=[],k=0;k<v;k++)d.push(n.randBetween(2,c.minus(2),r));return Ht(c,d)},S.prototype.isProbablePrime=b.prototype.isProbablePrime=p.prototype.isProbablePrime,p.prototype.modInv=function(e){for(var r=n.zero,a=n.one,c=N(e),v=this.abs(),d,k,_;!v.isZero();)d=c.divide(v),k=r,_=c,r=a,c=v,a=k.subtract(d.multiply(a)),v=_.subtract(d.multiply(v));if(!c.isUnit())throw new Error(this.toString()+" and "+e.toString()+" are not co-prime");return r.compare(0)===-1&&(r=r.add(e)),this.isNegative()?r.negate():r},S.prototype.modInv=b.prototype.modInv=p.prototype.modInv,p.prototype.next=function(){var e=this.value;return this.sign?Mt(e,1,this.sign):new p(ot(e,1),this.sign)},b.prototype.next=function(){var e=this.value;return e+1<u?new b(e+1):new p(y,!1)},S.prototype.next=function(){return new S(this.value+BigInt(1))},p.prototype.prev=function(){var e=this.value;return this.sign?new p(ot(e,1),!0):Mt(e,1,this.sign)},b.prototype.prev=function(){var e=this.value;return e-1>-u?new b(e-1):new p(y,!0)},S.prototype.prev=function(){return new S(this.value-BigInt(1))};for(var mt=[1];2*mt[mt.length-1]<=o;)mt.push(2*mt[mt.length-1]);var Lt=mt.length,Et=mt[Lt-1];function Wt(e){return Math.abs(e)<=o}p.prototype.shiftLeft=function(e){var r=N(e).toJSNumber();if(!Wt(r))throw new Error(String(r)+" is too large for shifting.");if(r<0)return this.shiftRight(-r);var a=this;if(a.isZero())return a;for(;r>=Lt;)a=a.multiply(Et),r-=Lt-1;return a.multiply(mt[r])},S.prototype.shiftLeft=b.prototype.shiftLeft=p.prototype.shiftLeft,p.prototype.shiftRight=function(e){var r,a=N(e).toJSNumber();if(!Wt(a))throw new Error(String(a)+" is too large for shifting.");if(a<0)return this.shiftLeft(-a);for(var c=this;a>=Lt;){if(c.isZero()||c.isNegative()&&c.isUnit())return c;r=tt(c,Et),c=r[1].isNegative()?r[0].prev():r[0],a-=Lt-1}return r=tt(c,mt[a]),r[1].isNegative()?r[0].prev():r[0]},S.prototype.shiftRight=b.prototype.shiftRight=p.prototype.shiftRight;function qt(e,r,a){r=N(r);for(var c=e.isNegative(),v=r.isNegative(),d=c?e.not():e,k=v?r.not():r,_=0,x=0,q=null,H=null,F=[];!d.isZero()||!k.isZero();)q=tt(d,Et),_=q[1].toJSNumber(),c&&(_=Et-1-_),H=tt(k,Et),x=H[1].toJSNumber(),v&&(x=Et-1-x),d=q[0],k=H[0],F.push(a(_,x));for(var V=a(c?1:0,v?1:0)!==0?n(-1):n(0),ht=F.length-1;ht>=0;ht-=1)V=V.multiply(Et).add(n(F[ht]));return V}p.prototype.not=function(){return this.negate().prev()},S.prototype.not=b.prototype.not=p.prototype.not,p.prototype.and=function(e){return qt(this,e,function(r,a){return r&a})},S.prototype.and=b.prototype.and=p.prototype.and,p.prototype.or=function(e){return qt(this,e,function(r,a){return r|a})},S.prototype.or=b.prototype.or=p.prototype.or,p.prototype.xor=function(e){return qt(this,e,function(r,a){return r^a})},S.prototype.xor=b.prototype.xor=p.prototype.xor;var Jt=1<<30,Ee=(o&-o)*(o&-o)|Jt;function Zt(e){var r=e.value,a=typeof r=="number"?r|Jt:typeof r=="bigint"?r|BigInt(Jt):r[0]+r[1]*o|Ee;return a&-a}function bt(e,r){if(r.compareTo(e)<=0){var a=bt(e,r.square(r)),c=a.p,v=a.e,d=c.multiply(r);return d.compareTo(e)<=0?{p:d,e:v*2+1}:{p:c,e:v*2}}return{p:n(1),e:0}}p.prototype.bitLength=function(){var e=this;return e.compareTo(n(0))<0&&(e=e.negate().subtract(n(1))),e.compareTo(n(0))===0?n(0):n(bt(e,n(2)).e).add(n(1))},S.prototype.bitLength=b.prototype.bitLength=p.prototype.bitLength;function fe(e,r){return e=N(e),r=N(r),e.greater(r)?e:r}function Qt(e,r){return e=N(e),r=N(r),e.lesser(r)?e:r}function le(e,r){if(e=N(e).abs(),r=N(r).abs(),e.equals(r))return e;if(e.isZero())return r;if(r.isZero())return e;for(var a=A[1],c,v;e.isEven()&&r.isEven();)c=Qt(Zt(e),Zt(r)),e=e.divide(c),r=r.divide(c),a=a.multiply(c);for(;e.isEven();)e=e.divide(Zt(e));do{for(;r.isEven();)r=r.divide(Zt(r));e.greater(r)&&(v=r,r=e,e=v),r=r.subtract(e)}while(!r.isZero());return a.isUnit()?e:e.multiply(a)}function ue(e,r){return e=N(e).abs(),r=N(r).abs(),e.divide(le(e,r)).multiply(r)}function Dt(e,r,a){e=N(e),r=N(r);var c=a||Math.random,v=Qt(e,r),d=fe(e,r),k=d.subtract(v).add(1);if(k.isSmall)return v.add(Math.floor(c()*k));for(var _=Bt(k,o).value,x=[],q=!0,H=0;H<_.length;H++){var F=q?_[H]+(H+1<_.length?_[H+1]/o:0):o,V=at(c()*F);x.push(V),V<_[H]&&(q=!1)}return v.add(A.fromArray(x,o,!1))}var Te=function(e,r,a,c){a=a||T,e=String(e),c||(e=e.toLowerCase(),a=a.toLowerCase());var v=e.length,d,k=Math.abs(r),_={};for(d=0;d<a.length;d++)_[a[d]]=d;for(d=0;d<v;d++){var x=e[d];if(x!=="-"&&x in _&&_[x]>=k){if(x==="1"&&k===1)continue;throw new Error(x+" is not a valid digit in base "+r+".")}}r=N(r);var q=[],H=e[0]==="-";for(d=H?1:0;d<e.length;d++){var x=e[d];if(x in _)q.push(N(_[x]));else if(x==="<"){var F=d;do d++;while(e[d]!==">"&&d<e.length);q.push(N(e.slice(F+1,d)))}else throw new Error(x+" is not a valid character")}return ce(q,r,H)};function ce(e,r,a){var c=A[0],v=A[1],d;for(d=e.length-1;d>=0;d--)c=c.add(e[d].times(v)),v=v.times(r);return a?c.negate():c}function Pe(e,r){return r=r||T,e<r.length?r[e]:"<"+e+">"}function Bt(e,r){if(r=n(r),r.isZero()){if(e.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(r.equals(-1)){if(e.isZero())return{value:[0],isNegative:!1};if(e.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-e.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var a=Array.apply(null,Array(e.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return a.unshift([1]),{value:[].concat.apply([],a),isNegative:!1}}var c=!1;if(e.isNegative()&&r.isPositive()&&(c=!0,e=e.abs()),r.isUnit())return e.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(e.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:c};for(var v=[],d=e,k;d.isNegative()||d.compareAbs(r)>=0;){k=d.divmod(r),d=k.quotient;var _=k.remainder;_.isNegative()&&(_=r.minus(_).abs(),d=d.next()),v.push(_.toJSNumber())}return v.push(d.toJSNumber()),{value:v.reverse(),isNegative:c}}function he(e,r,a){var c=Bt(e,r);return(c.isNegative?"-":"")+c.value.map(function(v){return Pe(v,a)}).join("")}p.prototype.toArray=function(e){return Bt(this,e)},b.prototype.toArray=function(e){return Bt(this,e)},S.prototype.toArray=function(e){return Bt(this,e)},p.prototype.toString=function(e,r){if(e===i&&(e=10),e!==10||r)return he(this,e,r);for(var a=this.value,c=a.length,v=String(a[--c]),d="0000000",k;--c>=0;)k=String(a[c]),v+=d.slice(k.length)+k;var _=this.sign?"-":"";return _+v},b.prototype.toString=function(e,r){return e===i&&(e=10),e!=10||r?he(this,e,r):String(this.value)},S.prototype.toString=b.prototype.toString,S.prototype.toJSON=p.prototype.toJSON=b.prototype.toJSON=function(){return this.toString()},p.prototype.valueOf=function(){return parseInt(this.toString(),10)},p.prototype.toJSNumber=p.prototype.valueOf,b.prototype.valueOf=function(){return this.value},b.prototype.toJSNumber=b.prototype.valueOf,S.prototype.valueOf=S.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};function pe(e){if(O(+e)){var r=+e;if(r===at(r))return R?new S(BigInt(r)):new b(r);throw new Error("Invalid integer: "+e)}var a=e[0]==="-";a&&(e=e.slice(1));var c=e.split(/e/i);if(c.length>2)throw new Error("Invalid integer: "+c.join("e"));if(c.length===2){var v=c[1];if(v[0]==="+"&&(v=v.slice(1)),v=+v,v!==at(v)||!O(v))throw new Error("Invalid integer: "+v+" is not a valid exponent.");var d=c[0],k=d.indexOf(".");if(k>=0&&(v-=d.length-k-1,d=d.slice(0,k)+d.slice(k+1)),v<0)throw new Error("Cannot include negative exponent part for integers");d+=new Array(v+1).join("0"),e=d}var _=/^([0-9][0-9]*)$/.test(e);if(!_)throw new Error("Invalid integer: "+e);if(R)return new S(BigInt(a?"-"+e:e));for(var x=[],q=e.length,H=f,F=q-H;q>0;)x.push(+e.slice(F,q)),F-=H,F<0&&(F=0),q-=H;return _t(x),new p(x,a)}function de(e){if(R)return new S(BigInt(e));if(O(e)){if(e!==at(e))throw new Error(e+" is not an integer.");return new b(e)}return pe(e.toString())}function N(e){return typeof e=="number"?de(e):typeof e=="string"?pe(e):typeof e=="bigint"?new S(e):e}for(var It=0;It<1e3;It++)A[It]=N(It),It>0&&(A[-It]=N(-It));return A.one=A[1],A.zero=A[0],A.minusOne=A[-1],A.max=fe,A.min=Qt,A.gcd=le,A.lcm=ue,A.isInstance=function(e){return e instanceof p||e instanceof b||e instanceof S},A.randBetween=Dt,A.fromArray=function(e,r,a){return ce(e.map(N),N(r||10),a)},A}();l.hasOwnProperty("exports")&&(l.exports=n)})(Ge);var rr=Ge.exports,Y=ze(rr);Y(Number.MAX_SAFE_INTEGER);const He=Y(Y[2]).pow(64),nr=He.divide(Y[2]);function gt(l,n=256){return Y.fromArray(l instanceof Uint8Array?[...l]:l,n)}function Rt(l){return new Uint8Array(l.toArray(256).value)}function ir(l){return l.greater(nr)?l.minus(He):l}function We(l,n,i){const o=gt(l),f=gt(n),u=gt(i),y=o.modPow(f,u);return Rt(y)}var Ie={exports:{}};/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */(function(l,n){(function(i,o){o(n)})(er,function(i){var o=(s,h,t,E)=>{let P=65535&s|0,m=s>>>16&65535|0,U=0;for(;t!==0;){U=t>2e3?2e3:t,t-=U;do P=P+h[E++]|0,m=m+P|0;while(--U);P%=65521,m%=65521}return P|m<<16|0};const f=new Uint32Array((()=>{let s,h=[];for(var t=0;t<256;t++){s=t;for(var E=0;E<8;E++)s=1&s?3988292384^s>>>1:s>>>1;h[t]=s}return h})());var u=(s,h,t,E)=>{const P=f,m=E+t;s^=-1;for(let U=E;U<m;U++)s=s>>>8^P[255&(s^h[U])];return-1^s};const y=16209;var T=function(s,h){let t,E,P,m,U,B,j,g,w,ft,Z,I,lt,X,C,Q,G,M,J,rt,L,$,z,D;const W=s.state;t=s.next_in,z=s.input,E=t+(s.avail_in-5),P=s.next_out,D=s.output,m=P-(h-s.avail_out),U=P+(s.avail_out-257),B=W.dmax,j=W.wsize,g=W.whave,w=W.wnext,ft=W.window,Z=W.hold,I=W.bits,lt=W.lencode,X=W.distcode,C=(1<<W.lenbits)-1,Q=(1<<W.distbits)-1;t:do{I<15&&(Z+=z[t++]<<I,I+=8,Z+=z[t++]<<I,I+=8),G=lt[Z&C];e:for(;;){if(M=G>>>24,Z>>>=M,I-=M,M=G>>>16&255,M===0)D[P++]=65535&G;else{if(!(16&M)){if(!(64&M)){G=lt[(65535&G)+(Z&(1<<M)-1)];continue e}if(32&M){W.mode=16191;break t}s.msg="invalid literal/length code",W.mode=y;break t}J=65535&G,M&=15,M&&(I<M&&(Z+=z[t++]<<I,I+=8),J+=Z&(1<<M)-1,Z>>>=M,I-=M),I<15&&(Z+=z[t++]<<I,I+=8,Z+=z[t++]<<I,I+=8),G=X[Z&Q];r:for(;;){if(M=G>>>24,Z>>>=M,I-=M,M=G>>>16&255,!(16&M)){if(!(64&M)){G=X[(65535&G)+(Z&(1<<M)-1)];continue r}s.msg="invalid distance code",W.mode=y;break t}if(rt=65535&G,M&=15,I<M&&(Z+=z[t++]<<I,I+=8,I<M&&(Z+=z[t++]<<I,I+=8)),rt+=Z&(1<<M)-1,rt>B){s.msg="invalid distance too far back",W.mode=y;break t}if(Z>>>=M,I-=M,M=P-m,rt>M){if(M=rt-M,M>g&&W.sane){s.msg="invalid distance too far back",W.mode=y;break t}if(L=0,$=ft,w===0){if(L+=j-M,M<J){J-=M;do D[P++]=ft[L++];while(--M);L=P-rt,$=D}}else if(w<M){if(L+=j+w-M,M-=w,M<J){J-=M;do D[P++]=ft[L++];while(--M);if(L=0,w<J){M=w,J-=M;do D[P++]=ft[L++];while(--M);L=P-rt,$=D}}}else if(L+=w-M,M<J){J-=M;do D[P++]=ft[L++];while(--M);L=P-rt,$=D}for(;J>2;)D[P++]=$[L++],D[P++]=$[L++],D[P++]=$[L++],J-=3;J&&(D[P++]=$[L++],J>1&&(D[P++]=$[L++]))}else{L=P-rt;do D[P++]=D[L++],D[P++]=D[L++],D[P++]=D[L++],J-=3;while(J>2);J&&(D[P++]=D[L++],J>1&&(D[P++]=D[L++]))}break}}break}}while(t<E&&P<U);J=I>>3,t-=J,I-=J<<3,Z&=(1<<I)-1,s.next_in=t,s.next_out=P,s.avail_in=t<E?E-t+5:5-(t-E),s.avail_out=P<U?U-P+257:257-(P-U),W.hold=Z,W.bits=I};const R=15,A=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),p=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),b=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),S=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var O=(s,h,t,E,P,m,U,B)=>{const j=B.bits;let g,w,ft,Z,I,lt,X=0,C=0,Q=0,G=0,M=0,J=0,rt=0,L=0,$=0,z=0,D=null;const W=new Uint16Array(16),pt=new Uint16Array(16);let te,ve,ge,ye=null;for(X=0;X<=R;X++)W[X]=0;for(C=0;C<E;C++)W[h[t+C]]++;for(M=j,G=R;G>=1&&W[G]===0;G--);if(M>G&&(M=G),G===0)return P[m++]=20971520,P[m++]=20971520,B.bits=1,0;for(Q=1;Q<G&&W[Q]===0;Q++);for(M<Q&&(M=Q),L=1,X=1;X<=R;X++)if(L<<=1,L-=W[X],L<0)return-1;if(L>0&&(s===0||G!==1))return-1;for(pt[1]=0,X=1;X<R;X++)pt[X+1]=pt[X]+W[X];for(C=0;C<E;C++)h[t+C]!==0&&(U[pt[h[t+C]]++]=C);if(s===0?(D=ye=U,lt=20):s===1?(D=A,ye=p,lt=257):(D=b,ye=S,lt=0),z=0,C=0,X=Q,I=m,J=M,rt=0,ft=-1,$=1<<M,Z=$-1,s===1&&$>852||s===2&&$>592)return 1;for(;;){te=X-rt,U[C]+1<lt?(ve=0,ge=U[C]):U[C]>=lt?(ve=ye[U[C]-lt],ge=D[U[C]-lt]):(ve=96,ge=0),g=1<<X-rt,w=1<<J,Q=w;do w-=g,P[I+(z>>rt)+w]=te<<24|ve<<16|ge|0;while(w!==0);for(g=1<<X-1;z&g;)g>>=1;if(g!==0?(z&=g-1,z+=g):z=0,C++,--W[X]==0){if(X===G)break;X=h[t+U[C]]}if(X>M&&(z&Z)!==ft){for(rt===0&&(rt=M),I+=Q,J=X-rt,L=1<<J;J+rt<G&&(L-=W[J+rt],!(L<=0));)J++,L<<=1;if($+=1<<J,s===1&&$>852||s===2&&$>592)return 1;ft=z&Z,P[ft]=M<<24|J<<16|I-m|0}}return z!==0&&(P[I+z]=X-rt<<24|64<<16|0),B.bits=M,0},nt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{Z_FINISH:ut,Z_BLOCK:_t,Z_TREES:yt,Z_OK:at,Z_STREAM_END:Gt,Z_NEED_DICT:Tt,Z_STREAM_ERROR:ot,Z_DATA_ERROR:At,Z_MEM_ERROR:St,Z_BUF_ERROR:Mt,Z_DEFLATED:Ut}=nt,wt=16180,Pt=16190,st=16191,Ct=16192,Ot=16194,xt=16199,Nt=16200,et=16206,K=16209,tt=s=>(s>>>24&255)+(s>>>8&65280)+((65280&s)<<8)+((255&s)<<24);function dt(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const ct=s=>{if(!s)return 1;const h=s.state;return!h||h.strm!==s||h.mode<wt||h.mode>16211?1:0},Ht=s=>{if(ct(s))return ot;const h=s.state;return s.total_in=s.total_out=h.total=0,s.msg="",h.wrap&&(s.adler=1&h.wrap),h.mode=wt,h.last=0,h.havedict=0,h.flags=-1,h.dmax=32768,h.head=null,h.hold=0,h.bits=0,h.lencode=h.lendyn=new Int32Array(852),h.distcode=h.distdyn=new Int32Array(592),h.sane=1,h.back=-1,at},mt=s=>{if(ct(s))return ot;const h=s.state;return h.wsize=0,h.whave=0,h.wnext=0,Ht(s)},Lt=(s,h)=>{let t;if(ct(s))return ot;const E=s.state;return h<0?(t=0,h=-h):(t=5+(h>>4),h<48&&(h&=15)),h&&(h<8||h>15)?ot:(E.window!==null&&E.wbits!==h&&(E.window=null),E.wrap=t,E.wbits=h,mt(s))},Et=(s,h)=>{if(!s)return ot;const t=new dt;s.state=t,t.strm=s,t.window=null,t.mode=wt;const E=Lt(s,h);return E!==at&&(s.state=null),E};let Wt,qt,Jt=!0;const Ee=s=>{if(Jt){Wt=new Int32Array(512),qt=new Int32Array(32);let h=0;for(;h<144;)s.lens[h++]=8;for(;h<256;)s.lens[h++]=9;for(;h<280;)s.lens[h++]=7;for(;h<288;)s.lens[h++]=8;for(O(1,s.lens,0,288,Wt,0,s.work,{bits:9}),h=0;h<32;)s.lens[h++]=5;O(2,s.lens,0,32,qt,0,s.work,{bits:5}),Jt=!1}s.lencode=Wt,s.lenbits=9,s.distcode=qt,s.distbits=5},Zt=(s,h,t,E)=>{let P;const m=s.state;return m.window===null&&(m.wsize=1<<m.wbits,m.wnext=0,m.whave=0,m.window=new Uint8Array(m.wsize)),E>=m.wsize?(m.window.set(h.subarray(t-m.wsize,t),0),m.wnext=0,m.whave=m.wsize):(P=m.wsize-m.wnext,P>E&&(P=E),m.window.set(h.subarray(t-E,t-E+P),m.wnext),(E-=P)?(m.window.set(h.subarray(t-E,t),0),m.wnext=E,m.whave=m.wsize):(m.wnext+=P,m.wnext===m.wsize&&(m.wnext=0),m.whave<m.wsize&&(m.whave+=P))),0};var bt={inflateReset:mt,inflateReset2:Lt,inflateResetKeep:Ht,inflateInit:s=>Et(s,15),inflateInit2:Et,inflate:(s,h)=>{let t,E,P,m,U,B,j,g,w,ft,Z,I,lt,X,C,Q,G,M,J,rt,L,$,z=0;const D=new Uint8Array(4);let W,pt;const te=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(ct(s)||!s.output||!s.input&&s.avail_in!==0)return ot;t=s.state,t.mode===st&&(t.mode=Ct),U=s.next_out,P=s.output,j=s.avail_out,m=s.next_in,E=s.input,B=s.avail_in,g=t.hold,w=t.bits,ft=B,Z=j,$=at;t:for(;;)switch(t.mode){case wt:if(t.wrap===0){t.mode=Ct;break}for(;w<16;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(2&t.wrap&&g===35615){t.wbits===0&&(t.wbits=15),t.check=0,D[0]=255&g,D[1]=g>>>8&255,t.check=u(t.check,D,2,0),g=0,w=0,t.mode=16181;break}if(t.head&&(t.head.done=!1),!(1&t.wrap)||(((255&g)<<8)+(g>>8))%31){s.msg="incorrect header check",t.mode=K;break}if((15&g)!==Ut){s.msg="unknown compression method",t.mode=K;break}if(g>>>=4,w-=4,L=8+(15&g),t.wbits===0&&(t.wbits=L),L>15||L>t.wbits){s.msg="invalid window size",t.mode=K;break}t.dmax=1<<t.wbits,t.flags=0,s.adler=t.check=1,t.mode=512&g?16189:st,g=0,w=0;break;case 16181:for(;w<16;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(t.flags=g,(255&t.flags)!==Ut){s.msg="unknown compression method",t.mode=K;break}if(57344&t.flags){s.msg="unknown header flags set",t.mode=K;break}t.head&&(t.head.text=g>>8&1),512&t.flags&&4&t.wrap&&(D[0]=255&g,D[1]=g>>>8&255,t.check=u(t.check,D,2,0)),g=0,w=0,t.mode=16182;case 16182:for(;w<32;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}t.head&&(t.head.time=g),512&t.flags&&4&t.wrap&&(D[0]=255&g,D[1]=g>>>8&255,D[2]=g>>>16&255,D[3]=g>>>24&255,t.check=u(t.check,D,4,0)),g=0,w=0,t.mode=16183;case 16183:for(;w<16;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}t.head&&(t.head.xflags=255&g,t.head.os=g>>8),512&t.flags&&4&t.wrap&&(D[0]=255&g,D[1]=g>>>8&255,t.check=u(t.check,D,2,0)),g=0,w=0,t.mode=16184;case 16184:if(1024&t.flags){for(;w<16;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}t.length=g,t.head&&(t.head.extra_len=g),512&t.flags&&4&t.wrap&&(D[0]=255&g,D[1]=g>>>8&255,t.check=u(t.check,D,2,0)),g=0,w=0}else t.head&&(t.head.extra=null);t.mode=16185;case 16185:if(1024&t.flags&&(I=t.length,I>B&&(I=B),I&&(t.head&&(L=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(E.subarray(m,m+I),L)),512&t.flags&&4&t.wrap&&(t.check=u(t.check,E,I,m)),B-=I,m+=I,t.length-=I),t.length))break t;t.length=0,t.mode=16186;case 16186:if(2048&t.flags){if(B===0)break t;I=0;do L=E[m+I++],t.head&&L&&t.length<65536&&(t.head.name+=String.fromCharCode(L));while(L&&I<B);if(512&t.flags&&4&t.wrap&&(t.check=u(t.check,E,I,m)),B-=I,m+=I,L)break t}else t.head&&(t.head.name=null);t.length=0,t.mode=16187;case 16187:if(4096&t.flags){if(B===0)break t;I=0;do L=E[m+I++],t.head&&L&&t.length<65536&&(t.head.comment+=String.fromCharCode(L));while(L&&I<B);if(512&t.flags&&4&t.wrap&&(t.check=u(t.check,E,I,m)),B-=I,m+=I,L)break t}else t.head&&(t.head.comment=null);t.mode=16188;case 16188:if(512&t.flags){for(;w<16;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(4&t.wrap&&g!==(65535&t.check)){s.msg="header crc mismatch",t.mode=K;break}g=0,w=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),s.adler=t.check=0,t.mode=st;break;case 16189:for(;w<32;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}s.adler=t.check=tt(g),g=0,w=0,t.mode=Pt;case Pt:if(t.havedict===0)return s.next_out=U,s.avail_out=j,s.next_in=m,s.avail_in=B,t.hold=g,t.bits=w,Tt;s.adler=t.check=1,t.mode=st;case st:if(h===_t||h===yt)break t;case Ct:if(t.last){g>>>=7&w,w-=7&w,t.mode=et;break}for(;w<3;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}switch(t.last=1&g,g>>>=1,w-=1,3&g){case 0:t.mode=16193;break;case 1:if(Ee(t),t.mode=xt,h===yt){g>>>=2,w-=2;break t}break;case 2:t.mode=16196;break;case 3:s.msg="invalid block type",t.mode=K}g>>>=2,w-=2;break;case 16193:for(g>>>=7&w,w-=7&w;w<32;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if((65535&g)!=(g>>>16^65535)){s.msg="invalid stored block lengths",t.mode=K;break}if(t.length=65535&g,g=0,w=0,t.mode=Ot,h===yt)break t;case Ot:t.mode=16195;case 16195:if(I=t.length,I){if(I>B&&(I=B),I>j&&(I=j),I===0)break t;P.set(E.subarray(m,m+I),U),B-=I,m+=I,j-=I,U+=I,t.length-=I;break}t.mode=st;break;case 16196:for(;w<14;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(t.nlen=257+(31&g),g>>>=5,w-=5,t.ndist=1+(31&g),g>>>=5,w-=5,t.ncode=4+(15&g),g>>>=4,w-=4,t.nlen>286||t.ndist>30){s.msg="too many length or distance symbols",t.mode=K;break}t.have=0,t.mode=16197;case 16197:for(;t.have<t.ncode;){for(;w<3;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}t.lens[te[t.have++]]=7&g,g>>>=3,w-=3}for(;t.have<19;)t.lens[te[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,W={bits:t.lenbits},$=O(0,t.lens,0,19,t.lencode,0,t.work,W),t.lenbits=W.bits,$){s.msg="invalid code lengths set",t.mode=K;break}t.have=0,t.mode=16198;case 16198:for(;t.have<t.nlen+t.ndist;){for(;z=t.lencode[g&(1<<t.lenbits)-1],C=z>>>24,Q=z>>>16&255,G=65535&z,!(C<=w);){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(G<16)g>>>=C,w-=C,t.lens[t.have++]=G;else{if(G===16){for(pt=C+2;w<pt;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(g>>>=C,w-=C,t.have===0){s.msg="invalid bit length repeat",t.mode=K;break}L=t.lens[t.have-1],I=3+(3&g),g>>>=2,w-=2}else if(G===17){for(pt=C+3;w<pt;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}g>>>=C,w-=C,L=0,I=3+(7&g),g>>>=3,w-=3}else{for(pt=C+7;w<pt;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}g>>>=C,w-=C,L=0,I=11+(127&g),g>>>=7,w-=7}if(t.have+I>t.nlen+t.ndist){s.msg="invalid bit length repeat",t.mode=K;break}for(;I--;)t.lens[t.have++]=L}}if(t.mode===K)break;if(t.lens[256]===0){s.msg="invalid code -- missing end-of-block",t.mode=K;break}if(t.lenbits=9,W={bits:t.lenbits},$=O(1,t.lens,0,t.nlen,t.lencode,0,t.work,W),t.lenbits=W.bits,$){s.msg="invalid literal/lengths set",t.mode=K;break}if(t.distbits=6,t.distcode=t.distdyn,W={bits:t.distbits},$=O(2,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,W),t.distbits=W.bits,$){s.msg="invalid distances set",t.mode=K;break}if(t.mode=xt,h===yt)break t;case xt:t.mode=Nt;case Nt:if(B>=6&&j>=258){s.next_out=U,s.avail_out=j,s.next_in=m,s.avail_in=B,t.hold=g,t.bits=w,T(s,Z),U=s.next_out,P=s.output,j=s.avail_out,m=s.next_in,E=s.input,B=s.avail_in,g=t.hold,w=t.bits,t.mode===st&&(t.back=-1);break}for(t.back=0;z=t.lencode[g&(1<<t.lenbits)-1],C=z>>>24,Q=z>>>16&255,G=65535&z,!(C<=w);){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(Q&&!(240&Q)){for(M=C,J=Q,rt=G;z=t.lencode[rt+((g&(1<<M+J)-1)>>M)],C=z>>>24,Q=z>>>16&255,G=65535&z,!(M+C<=w);){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}g>>>=M,w-=M,t.back+=M}if(g>>>=C,w-=C,t.back+=C,t.length=G,Q===0){t.mode=16205;break}if(32&Q){t.back=-1,t.mode=st;break}if(64&Q){s.msg="invalid literal/length code",t.mode=K;break}t.extra=15&Q,t.mode=16201;case 16201:if(t.extra){for(pt=t.extra;w<pt;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}t.length+=g&(1<<t.extra)-1,g>>>=t.extra,w-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=16202;case 16202:for(;z=t.distcode[g&(1<<t.distbits)-1],C=z>>>24,Q=z>>>16&255,G=65535&z,!(C<=w);){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(!(240&Q)){for(M=C,J=Q,rt=G;z=t.distcode[rt+((g&(1<<M+J)-1)>>M)],C=z>>>24,Q=z>>>16&255,G=65535&z,!(M+C<=w);){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}g>>>=M,w-=M,t.back+=M}if(g>>>=C,w-=C,t.back+=C,64&Q){s.msg="invalid distance code",t.mode=K;break}t.offset=G,t.extra=15&Q,t.mode=16203;case 16203:if(t.extra){for(pt=t.extra;w<pt;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}t.offset+=g&(1<<t.extra)-1,g>>>=t.extra,w-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){s.msg="invalid distance too far back",t.mode=K;break}t.mode=16204;case 16204:if(j===0)break t;if(I=Z-j,t.offset>I){if(I=t.offset-I,I>t.whave&&t.sane){s.msg="invalid distance too far back",t.mode=K;break}I>t.wnext?(I-=t.wnext,lt=t.wsize-I):lt=t.wnext-I,I>t.length&&(I=t.length),X=t.window}else X=P,lt=U-t.offset,I=t.length;I>j&&(I=j),j-=I,t.length-=I;do P[U++]=X[lt++];while(--I);t.length===0&&(t.mode=Nt);break;case 16205:if(j===0)break t;P[U++]=t.length,j--,t.mode=Nt;break;case et:if(t.wrap){for(;w<32;){if(B===0)break t;B--,g|=E[m++]<<w,w+=8}if(Z-=j,s.total_out+=Z,t.total+=Z,4&t.wrap&&Z&&(s.adler=t.check=t.flags?u(t.check,P,Z,U-Z):o(t.check,P,Z,U-Z)),Z=j,4&t.wrap&&(t.flags?g:tt(g))!==t.check){s.msg="incorrect data check",t.mode=K;break}g=0,w=0}t.mode=16207;case 16207:if(t.wrap&&t.flags){for(;w<32;){if(B===0)break t;B--,g+=E[m++]<<w,w+=8}if(4&t.wrap&&g!==(4294967295&t.total)){s.msg="incorrect length check",t.mode=K;break}g=0,w=0}t.mode=16208;case 16208:$=Gt;break t;case K:$=At;break t;case 16210:return St;default:return ot}return s.next_out=U,s.avail_out=j,s.next_in=m,s.avail_in=B,t.hold=g,t.bits=w,(t.wsize||Z!==s.avail_out&&t.mode<K&&(t.mode<et||h!==ut))&&Zt(s,s.output,s.next_out,Z-s.avail_out),ft-=s.avail_in,Z-=s.avail_out,s.total_in+=ft,s.total_out+=Z,t.total+=Z,4&t.wrap&&Z&&(s.adler=t.check=t.flags?u(t.check,P,Z,s.next_out-Z):o(t.check,P,Z,s.next_out-Z)),s.data_type=t.bits+(t.last?64:0)+(t.mode===st?128:0)+(t.mode===xt||t.mode===Ot?256:0),(ft===0&&Z===0||h===ut)&&$===at&&($=Mt),$},inflateEnd:s=>{if(ct(s))return ot;let h=s.state;return h.window&&(h.window=null),s.state=null,at},inflateGetHeader:(s,h)=>{if(ct(s))return ot;const t=s.state;return 2&t.wrap?(t.head=h,h.done=!1,at):ot},inflateSetDictionary:(s,h)=>{const t=h.length;let E,P,m;return ct(s)?ot:(E=s.state,E.wrap!==0&&E.mode!==Pt?ot:E.mode===Pt&&(P=1,P=o(P,h,t,0),P!==E.check)?At:(m=Zt(s,h,t,t),m?(E.mode=16210,St):(E.havedict=1,at)))},inflateInfo:"pako inflate (from Nodeca project)"};const fe=(s,h)=>Object.prototype.hasOwnProperty.call(s,h);var Qt=function(s){const h=Array.prototype.slice.call(arguments,1);for(;h.length;){const t=h.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(const E in t)fe(t,E)&&(s[E]=t[E])}}return s},le=s=>{let h=0;for(let E=0,P=s.length;E<P;E++)h+=s[E].length;const t=new Uint8Array(h);for(let E=0,P=0,m=s.length;E<m;E++){let U=s[E];t.set(U,P),P+=U.length}return t};let ue=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{ue=!1}const Dt=new Uint8Array(256);for(let s=0;s<256;s++)Dt[s]=s>=252?6:s>=248?5:s>=240?4:s>=224?3:s>=192?2:1;Dt[254]=Dt[254]=1;var Te=s=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(s);let h,t,E,P,m,U=s.length,B=0;for(P=0;P<U;P++)t=s.charCodeAt(P),(64512&t)==55296&&P+1<U&&(E=s.charCodeAt(P+1),(64512&E)==56320&&(t=65536+(t-55296<<10)+(E-56320),P++)),B+=t<128?1:t<2048?2:t<65536?3:4;for(h=new Uint8Array(B),m=0,P=0;m<B;P++)t=s.charCodeAt(P),(64512&t)==55296&&P+1<U&&(E=s.charCodeAt(P+1),(64512&E)==56320&&(t=65536+(t-55296<<10)+(E-56320),P++)),t<128?h[m++]=t:t<2048?(h[m++]=192|t>>>6,h[m++]=128|63&t):t<65536?(h[m++]=224|t>>>12,h[m++]=128|t>>>6&63,h[m++]=128|63&t):(h[m++]=240|t>>>18,h[m++]=128|t>>>12&63,h[m++]=128|t>>>6&63,h[m++]=128|63&t);return h},ce=(s,h)=>{const t=h||s.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(s.subarray(0,h));let E,P;const m=new Array(2*t);for(P=0,E=0;E<t;){let U=s[E++];if(U<128){m[P++]=U;continue}let B=Dt[U];if(B>4)m[P++]=65533,E+=B-1;else{for(U&=B===2?31:B===3?15:7;B>1&&E<t;)U=U<<6|63&s[E++],B--;B>1?m[P++]=65533:U<65536?m[P++]=U:(U-=65536,m[P++]=55296|U>>10&1023,m[P++]=56320|1023&U)}}return((U,B)=>{if(B<65534&&U.subarray&&ue)return String.fromCharCode.apply(null,U.length===B?U:U.subarray(0,B));let j="";for(let g=0;g<B;g++)j+=String.fromCharCode(U[g]);return j})(m,P)},Pe=(s,h)=>{(h=h||s.length)>s.length&&(h=s.length);let t=h-1;for(;t>=0&&(192&s[t])==128;)t--;return t<0||t===0?h:t+Dt[s[t]]>h?t:h},Bt={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},he=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},pe=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const de=Object.prototype.toString,{Z_NO_FLUSH:N,Z_FINISH:It,Z_OK:e,Z_STREAM_END:r,Z_NEED_DICT:a,Z_STREAM_ERROR:c,Z_DATA_ERROR:v,Z_MEM_ERROR:d}=nt;function k(s){this.options=Qt({chunkSize:65536,windowBits:15,to:""},s||{});const h=this.options;h.raw&&h.windowBits>=0&&h.windowBits<16&&(h.windowBits=-h.windowBits,h.windowBits===0&&(h.windowBits=-15)),!(h.windowBits>=0&&h.windowBits<16)||s&&s.windowBits||(h.windowBits+=32),h.windowBits>15&&h.windowBits<48&&!(15&h.windowBits)&&(h.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new he,this.strm.avail_out=0;let t=bt.inflateInit2(this.strm,h.windowBits);if(t!==e)throw new Error(Bt[t]);if(this.header=new pe,bt.inflateGetHeader(this.strm,this.header),h.dictionary&&(typeof h.dictionary=="string"?h.dictionary=Te(h.dictionary):de.call(h.dictionary)==="[object ArrayBuffer]"&&(h.dictionary=new Uint8Array(h.dictionary)),h.raw&&(t=bt.inflateSetDictionary(this.strm,h.dictionary),t!==e)))throw new Error(Bt[t])}function _(s,h){const t=new k(h);if(t.push(s),t.err)throw t.msg||Bt[t.err];return t.result}k.prototype.push=function(s,h){const t=this.strm,E=this.options.chunkSize,P=this.options.dictionary;let m,U,B;if(this.ended)return!1;for(U=h===~~h?h:h===!0?It:N,de.call(s)==="[object ArrayBuffer]"?t.input=new Uint8Array(s):t.input=s,t.next_in=0,t.avail_in=t.input.length;;){for(t.avail_out===0&&(t.output=new Uint8Array(E),t.next_out=0,t.avail_out=E),m=bt.inflate(t,U),m===a&&P&&(m=bt.inflateSetDictionary(t,P),m===e?m=bt.inflate(t,U):m===v&&(m=a));t.avail_in>0&&m===r&&t.state.wrap>0&&s[t.next_in]!==0;)bt.inflateReset(t),m=bt.inflate(t,U);switch(m){case c:case v:case a:case d:return this.onEnd(m),this.ended=!0,!1}if(B=t.avail_out,t.next_out&&(t.avail_out===0||m===r))if(this.options.to==="string"){let j=Pe(t.output,t.next_out),g=t.next_out-j,w=ce(t.output,j);t.next_out=g,t.avail_out=E-g,g&&t.output.set(t.output.subarray(j,j+g),0),this.onData(w)}else this.onData(t.output.length===t.next_out?t.output:t.output.subarray(0,t.next_out));if(m!==e||B!==0){if(m===r)return m=bt.inflateEnd(this.strm),this.onEnd(m),this.ended=!0,!0;if(t.avail_in===0)break}}return!0},k.prototype.onData=function(s){this.chunks.push(s)},k.prototype.onEnd=function(s){s===e&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=le(this.chunks)),this.chunks=[],this.err=s,this.msg=this.strm.msg};var x=k,q=_,H=function(s,h){return(h=h||{}).raw=!0,_(s,h)},F=_,V=nt,ht={Inflate:x,inflate:q,inflateRaw:H,ungzip:F,constants:V};i.Inflate=x,i.constants=V,i.default=ht,i.inflate=q,i.inflateRaw=H,i.ungzip=F,Object.defineProperty(i,"__esModule",{value:!0})})})(Ie,Ie.exports);var or=Ie.exports,sr=ze(or);function ar(l,n){return sr.inflate(l,n?{to:"string"}:void 0)}const Ft=typeof window<"u"?window:self;function fr(l,n,i){const o=(f,u)=>{l.attachListenPort(f),u&&l.attachSendPort(u),n?.(f)};l.setOnPortDisconnect(i),typeof SharedWorkerGlobalScope<"u"?Ft.addEventListener("connect",f=>o(f.source,f.source)):typeof ServiceWorkerGlobalScope<"u"?o(Ft,null):o(Ft,Ft)}const zt={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,asServiceWorker:!1,transport:"websocket",noSharedWorker:location.search.indexOf("noSharedWorker=1")>0,multipleTransports:!0};(zt.http=location.search.indexOf("http=1")>0)&&(zt.multipleTransports=!1);zt.multipleTransports&&(zt.http=!0);zt.http&&(zt.transport="https");const Ue=zt.debug,lr=typeof window<"u"?window:self,Ce=lr,ur=Date.now()%Math.random()*1e8|0;function we(l,n){const i=l.indexOf(n);return(i===-1?void 0:l.splice(i,1))?.[0]}const ae=typeof ServiceWorkerGlobalScope<"u"&&self instanceof ServiceWorkerGlobalScope,_e=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&!ae,Je=_e||ae,cr=()=>self.clients.matchAll({includeUncontrolled:!1,type:"window"}),Ve=(l,...n)=>{try{l.postMessage(...n)}catch(i){console.error("[worker] postMessage error:",i,n)}},je=(l,...n)=>{cr().then(i=>{i.length&&i.slice(l?0:-1).forEach(o=>{Ve(o,...n)})})},Xe=(...l)=>{Ve(self,...l)},Ye=()=>{};ae&&je.bind(null,!1);ae&&je.bind(null,!0);class hr{constructor(n){this._constructor(n)}_constructor(n){this.reuseResults=n,this.listeners={},this.listenerResults={}}addEventListener(n,i,o){var u;const f={callback:i,options:o};if(((u=this.listeners)[n]??(u[n]=new Set)).add(f),this.listenerResults.hasOwnProperty(n)&&(i(...this.listenerResults[n]),o?.once)){this.listeners[n].delete(f);return}}addMultipleEventsListeners(n){for(const i in n)this.addEventListener(i,n[i])}removeEventListener(n,i,o){if(this.listeners[n]){for(const f of this.listeners[n])if(f.callback===i){this.listeners[n].delete(f);break}}}invokeListenerCallback(n,i,...o){let f,u;try{f=i.callback(...o)}catch(y){u=y}if(i.options?.once&&this.removeEventListener(n,i.callback),u)throw u;return f}_dispatchEvent(n,i,...o){this.reuseResults&&(this.listenerResults[n]=o);const f=i&&[],u=this.listeners[n];if(u)for(const y of u){const T=this.invokeListenerCallback(n,y,...o);f&&f.push(T)}return f}dispatchResultableEvent(n,...i){return this._dispatchEvent(n,!0,...i)}dispatchEvent(n,...i){this._dispatchEvent(n,!1,...i)}cleanup(){this.listeners={},this.listenerResults={}}}function pr(l,n){const i=new Error;return{type:l,stack:i.stack}}const me=navigator?navigator.userAgent:null;navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i);navigator.userAgent.toLowerCase().indexOf("android");(()=>{try{return+navigator.userAgent.match(/Chrom(?:e|ium)\/(.+?)(?:\s|\.)/)[1]}catch{}})();const dr="safari"in Ft||!!(me&&(/\b(iPad|iPhone|iPod)\b/.test(me)||me.match("Safari")&&!me.match("Chrome"))),vr=navigator.userAgent.toLowerCase().indexOf("firefox")>-1;(navigator.maxTouchPoints===void 0||navigator.maxTouchPoints>0)&&navigator.userAgent.search(/iOS|iPhone OS|Android|BlackBerry|BB10|Series ?[64]0|J2ME|MIDP|opera mini|opera mobi|mobi.+Gecko|Windows Phone/i)!=-1;const gr=Date.now();function Ne(){return"["+((Date.now()-gr)/1e3).toFixed(3)+"]"}const yr=[0,1,2,4,8],wr=dr||vr,qe=!wr,xe={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},mr=[["debug",8],["info",4],["warn",2],["error",1],["assert",1],["trace",4],["group",4],["groupCollapsed",4],["groupEnd",4]];function $e(l,n=7,i=!1,o=""){let f;!Ue&&!i&&(n=1),qe?o||(ae?o=xe.fg.yellow:_e&&(o=xe.fg.cyan)):o="";const u=o;o?o=`%s ${o}%s`:o="%s";const y=function(...R){return n&4&&console.log(o,Ne(),l,...R)};mr.forEach(([R,A])=>{y[R]=function(...p){return n&A&&console[R](o,Ne(),l,...p)}}),y.setPrefix=function(R){f=R,l="["+R+"]"},y.setPrefix(l),y.setLevel=function(R){n=yr.slice(0,R+1).reduce((A,p)=>A|p,0)};const T={};return y.bindPrefix=function(R,A=n){return T[R]??(T[R]=$e(`${f}] ${qe&&u?xe.reset:""}[${R}`,A,i,u))},y}const br=!0;class se extends hr{constructor(n){super(!1),this.logSuffix=n,this.onMessage=i=>{const o=i.data,f=i.source||i.currentTarget;this.processTaskMap[o.type](o,f,i)},this.processResultTask=i=>{const{taskId:o,result:f,error:u}=i.payload,y=this.awaiting[o];y&&(this.debug&&this.log.debug("done",y.taskType,f,u),"error"in i.payload?y.reject(u):y.resolve(f),delete this.awaiting[o])},this.processAckTask=i=>{const o=i.payload,f=this.awaiting[o.taskId];if(!f)return;const u=f.resolve,y={cached:o.cached,result:o.cached?"result"in o?Promise.resolve(o.result):Promise.reject(o.error):new Promise((T,R)=>{f.resolve=T,f.reject=R})};u(y),o.cached&&delete this.awaiting[o.taskId]},this.processPingTask=(i,o,f)=>{this.pushTask(this.createTask("pong",void 0),f.source)},this.processPongTask=(i,o,f)=>{const u=this.pingResolves.get(o);u&&(this.pingResolves.delete(o),u())},this.processCloseTask=(i,o,f)=>{this.detachPort(o)},this.processBatchTask=(i,o,f)=>{const u={data:f.data,source:f.source,currentTarget:f.currentTarget};i.payload.forEach(y=>{u.data=y,this.onMessage(u)})},this.processLockTask=(i,o,f)=>{const u=i.payload;this.requestedLocks.has(u)||(this.requestedLocks.set(u,o),navigator.locks.request(u,()=>{this.processCloseTask(void 0,o,void 0),this.requestedLocks.delete(u)}))},this.processInvokeTask=async(i,o,f)=>{const u=i.id,y=i.payload;let T,R,A;y.void||(T={taskId:u},R=this.createTask("result",T)),y.withAck&&(A=this.createTask("ack",{taskId:u,cached:!0}));let p;try{const b=this.listeners[y.type];if(!b?.size)throw new Error("no listener");const S=b.values().next().value;let O=this.invokeListenerCallback(y.type,S,y.payload,o,f);if(y.void)return;if(p=O instanceof Promise,A){const nt=!p;if(A.payload.cached=nt,nt&&(A.payload.result=O),this.pushTask(A,o),nt)return}p&&(O=await O),O instanceof se.TransferableResult&&(R.transfer=O.transferables,O=O.value),T.result=O}catch(b){if(this.log.error("worker task error:",b,i),y.void)return;if(A&&A.payload.cached){A.payload.error=b,this.pushTask(A,o);return}T.error=b}this.pushTask(R,o)},this.listenPorts=[],this.sendPorts=[],this.pingResolves=new Map,this.taskId=Math.random(),this.awaiting={},this.pending=new Map,this.log=$e("MP"+(n?"-"+n:"")),this.debug=Ue,this.heldLocks=new Map,this.requestedLocks=new Map,this.processTaskMap={result:this.processResultTask,ack:this.processAckTask,invoke:this.processInvokeTask,ping:this.processPingTask,pong:this.processPongTask,close:this.processCloseTask,lock:this.processLockTask,batch:this.processBatchTask}}setOnPortDisconnect(n){this.onPortDisconnect=n}attachPort(n){this.attachListenPort(n),this.attachSendPort(n)}attachListenPort(n){this.listenPorts.push(n),n.addEventListener("message",this.onMessage)}attachSendPort(n){if(this.log.warn("attaching send port"),n.start?.(),this.sendPorts.push(n),typeof window<"u"&&br)if("locks"in navigator){const i=["lock",ur,this.logSuffix||"",Math.random()*2147483647|0].join("-");this.log.warn("created lock",i);const o=new Promise(f=>this.heldLocks.set(n,{resolve:f,id:i})).then(()=>this.heldLocks.delete(n));navigator.locks.request(i,()=>(this.resendLockTask(n),o))}else window.addEventListener("beforeunload",()=>{const i=this.createTask("close",void 0);this.postMessage(void 0,i)});this.releasePending()}resendLockTask(n){const i=this.heldLocks.get(n);i&&this.pushTask(this.createTask("lock",i.id),n)}detachPort(n){this.log.warn("disconnecting port"),we(this.listenPorts,n),we(this.sendPorts,n),n.removeEventListener?.("message",this.onMessage),n.close?.(),this.onPortDisconnect?.(n),this.heldLocks.get(n)?.resolve();const o=pr("PORT_DISCONNECTED");for(const f in this.awaiting){const u=this.awaiting[f];u.port===n&&(u.reject(o),delete this.awaiting[f])}}postMessage(n,i){(Array.isArray(n)?n:n?[n]:this.sendPorts).forEach(f=>{f.postMessage(i,i.transfer)})}async releasePending(){this.releasingPending||(this.releasingPending=!0,await Promise.resolve(),this.debug&&this.log.debug("releasing tasks, length:",this.pending.size),this.pending.forEach((n,i)=>{let o=n;{let u;o=[],n.forEach(y=>{y.transfer?(u=void 0,o.push(y)):(u||(u=this.createTask("batch",[]),o.push(u)),u.payload.push(y))})}const f=i?[i]:this.sendPorts;f.length&&(o.forEach(u=>{try{this.postMessage(f,u)}catch(y){this.log.error("postMessage error:",y,u,f)}}),this.pending.delete(i))}),this.debug&&this.log.debug("released tasks"),this.releasingPending=!1)}createTask(n,i,o){return{type:n,payload:i,id:this.taskId++,transfer:o}}createInvokeTask(n,i,o,f,u){return this.createTask("invoke",{type:n,payload:i,withAck:o,void:f},u)}pushTask(n,i){let o=this.pending.get(i);o||this.pending.set(i,o=[]),o.push(n),this.releasePending()}invokeVoid(n,i,o,f){const u=this.createInvokeTask(n,i,void 0,!0,f);this.pushTask(u,o)}invoke(n,i,o,f,u){this.debug&&this.log.debug("start",n,i);let y;const T=new Promise((R,A)=>{y=this.createInvokeTask(n,i,o,void 0,u),this.awaiting[y.id]={resolve:R,reject:A,taskType:n,port:f},this.pushTask(y,f)});if(Je){T.finally(()=>{clearInterval(R)});const R=Ft.setInterval(()=>{this.log.error("task still has no result",y,f)},6e4)}return T}invokeExceptSource(n,i,o){const f=this.sendPorts.slice();we(f,o),f.forEach(u=>{this.invokeVoid(n,i,u)})}async invokeExceptSourceAsync(n,i,o){const f=this.sendPorts.slice();we(f,o),await Promise.all(f.map(u=>this.invoke(n,i,void 0,u)))}}(l=>{class n{constructor(o,f){this.value=o,this.transferables=f}}l.TransferableResult=n})(se||(se={}));var Oe=se;class kr extends Oe{constructor(){super("CRYPTO"),this.lastIndex=-1}invokeCryptoNew({method:n,args:i,transfer:o}){const f={method:n,args:i},u=this.listeners.invoke;if(u?.size){let T=u.values().next().value.callback(f);return!Je&&!(T instanceof Promise)&&(T=Promise.resolve(T)),T}const y=n==="aes-encrypt"||n==="aes-decrypt"?this.lastIndex=(this.lastIndex+1)%this.sendPorts.length:0;return this.invoke("invoke",f,void 0,this.sendPorts[y],o)}invokeCrypto(n,...i){return this.invokeCryptoNew({method:n,args:i})}sendToOnePort(n){this.invokeVoid("port",void 0,this.sendPorts[0],[n])}}const it=new kr;Ce&&(Ce.cryptoMessagePort=it);function _r(l){const n=l.length,i=n*8;let o=Y(l[0]).and(127).shiftLeft(i-8);for(let f=1;f<n;++f){const u=i-(f+1)*8,y=Y(l[f]);o=o.or(u?y.shiftLeft(u):y)}return o}const Ze=["1f609","1f60d","1f61b","1f62d","1f631","1f621","1f60e","1f634","1f635","1f608","1f62c","1f607","1f60f","1f46e","1f477","1f482","1f476","1f468","1f469","1f474","1f475","1f63b","1f63d","1f640","1f47a","1f648","1f649","1f64a","1f480","1f47d","1f4a9","1f525","1f4a5","1f4a4","1f442","1f440","1f443","1f445","1f444","1f44d","1f44e","1f44c","1f44a","270c","270b","1f450","1f446","1f447","1f449","1f448","1f64f","1f44f","1f4aa","1f6b6","1f3c3","1f483","1f46b","1f46a","1f46c","1f46d","1f485","1f3a9","1f451","1f452","1f45f","1f45e","1f460","1f455","1f457","1f456","1f459","1f45c","1f453","1f380","1f484","1f49b","1f499","1f49c","1f49a","1f48d","1f48e","1f436","1f43a","1f431","1f42d","1f439","1f430","1f438","1f42f","1f428","1f43b","1f437","1f42e","1f417","1f434","1f411","1f418","1f43c","1f427","1f425","1f414","1f40d","1f422","1f41b","1f41d","1f41c","1f41e","1f40c","1f419","1f41a","1f41f","1f42c","1f40b","1f410","1f40a","1f42b","1f340","1f339","1f33b","1f341","1f33e","1f344","1f335","1f334","1f333","1f31e","1f31a","1f319","1f30e","1f30b","26a1","2614","2744","26c4","1f300","1f308","1f30a","1f393","1f386","1f383","1f47b","1f385","1f384","1f381","1f388","1f52e","1f3a5","1f4f7","1f4bf","1f4bb","260e","1f4e1","1f4fa","1f4fb","1f509","1f514","23f3","23f0","231a","1f512","1f511","1f50e","1f4a1","1f526","1f50c","1f50b","1f6bf","1f6bd","1f527","1f528","1f6aa","1f6ac","1f4a3","1f52b","1f52a","1f48a","1f489","1f4b0","1f4b5","1f4b3","2709","1f4eb","1f4e6","1f4c5","1f4c1","2702","1f4cc","1f4ce","2712","270f","1f4d0","1f4da","1f52c","1f52d","1f3a8","1f3ac","1f3a4","1f3a7","1f3b5","1f3b9","1f3bb","1f3ba","1f3b8","1f47e","1f3ae","1f0cf","1f3b2","1f3af","1f3c8","1f3c0","26bd","26be","1f3be","1f3b1","1f3c9","1f3b3","1f3c1","1f3c7","1f3c6","1f3ca","1f3c4","2615","1f37c","1f37a","1f377","1f374","1f355","1f354","1f35f","1f357","1f371","1f35a","1f35c","1f361","1f373","1f35e","1f369","1f366","1f382","1f370","1f36a","1f36b","1f36d","1f36f","1f34e","1f34f","1f34a","1f34b","1f352","1f347","1f349","1f353","1f351","1f34c","1f350","1f34d","1f346","1f345","1f33d","1f3e1","1f3e5","1f3e6","26ea","1f3f0","26fa","1f3ed","1f5fb","1f5fd","1f3a0","1f3a1","26f2","1f3a2","1f6a2","1f6a4","2693","1f680","2708","1f681","1f682","1f68b","1f68e","1f68c","1f699","1f697","1f695","1f69b","1f6a8","1f694","1f692","1f691","1f6b2","1f6a0","1f69c","1f6a6","26a0","1f6a7","26fd","1f3b0","1f5ff","1f3aa","1f3ad","1f1ef-1f1f5","1f1f0-1f1f7","1f1e9-1f1ea","1f1e8-1f1f3","1f1fa-1f1f8","1f1eb-1f1f7","1f1ea-1f1f8","1f1ee-1f1f9","1f1f7-1f1fa","1f1ec-1f1e7","0031-20e3","0032-20e3","0033-20e3","0034-20e3","0035-20e3","0036-20e3","0037-20e3","0038-20e3","0039-20e3","0030-20e3","1f51f","2757","2753","2665","2666","1f4af","1f517","1f531","1f534","1f535","1f536","1f537"];async function Ar(l,n){const i=l.concat(n),o=await it.invokeCrypto("sha256",i),f=[],u=Ze.length,y=8;for(let T=0;T!=o.length;T+=y){const R=o.slice(T,T+y),p=_r(R).mod(u).toJSNumber(),b=Ze[p];f.push(b)}return f}async function Sr(l,n,i){const o=await it.invokeCrypto("mod-pow",l,n,i),u=(await it.invokeCrypto("sha1",o)).slice(-8).reverse(),y=ir(gt(u)).toString(10);return{key:o,key_fingerprint:y}}function Qe(l){if(crypto&&"getRandomValues"in crypto)crypto.getRandomValues(l);else throw new Error("NO_SECURE_RANDOM");return l}function Ae(l,n=16,i,o=!1,f=!1){const u=l.byteLength||l.length,y=o?n-u:n-u%n;if(y>0&&y<n){const T=new Uint8Array(y);if(i)for(let R=0;R<y;++R)T[R]=0;else Qe(T);return l instanceof ArrayBuffer?(f?kt(T,l):kt(l,T)).buffer:l instanceof Uint8Array?f?kt(T,l):kt(l,T):f?[...T].concat(l):l.concat([...T])}return l}function Re(l){const n=l.length,i=new Uint8Array(Math.ceil(n/2));let o=0;n%2&&(i[o++]=parseInt(l.charAt(0),16));for(let f=o;f<n;f+=2)i[o++]=parseInt(l.substr(f,2),16);return i}async function Er(l){const{p:n,g:i}=l,f=(A=>{for(;;){const p=Qe(new Uint8Array(A.length)),b=gt(p);if(!b.greater(Y.one))continue;const S=gt(A);if(b.lesser(S.subtract(Y.one)))return p}})(n),u=Re(i.toString(16)),y=Ae(await it.invokeCrypto("mod-pow",u,f,n),256,!0,!0,!0),T=await it.invokeCrypto("sha256",y);return{a:f,g_a:y,g_a_hash:T,p:n}}function Tr(l,n){const i=l.length,o=new Uint8Array(i);for(let f=0;f<i;++f)o[f]=l[f]^n[f];return o}function Se(l){return l instanceof Uint8Array?l:typeof l=="string"?new TextEncoder().encode(l):new Uint8Array(l)}function Pr(l){const n=l.length,i=new Array(n);for(let o=0;o<n;++o)i[o]=(l[o]<16?"0":"")+(l[o]||0).toString(16);return i.join("")}async function xr(l,n,i){let o=await it.invokeCrypto("sha256",kt(n,new TextEncoder().encode(l),n));o=kt(i,o,i),o=await it.invokeCrypto("sha256",o);let f=await it.invokeCrypto("pbkdf2",new Uint8Array(o),n,1e5);return f=kt(i,f,i),o=await it.invokeCrypto("sha256",f),o}async function Br(l,n,i){const o=i?n.new_algo:n.current_algo,f=gt(o.p),u=Y(o.g),y=await xr(l,o.salt1,o.salt2),T=Y(Pr(y),16),R=function(et,K){return et instanceof Uint8Array||(et=Se(et)),Ae(et,K,!0,!0,!0)},A=u.modPow(T,f),p=et=>{const K=new Uint8Array(et.length);for(let tt=0;tt<et.length;tt+=4)K[tt]=et[tt+3],K[tt+1]=et[tt+2],K[tt+2]=et[tt+1],K[tt+3]=et[tt];return K};if(i){const et=Rt(A);return R(et,256)}const b=gt(n.srp_B),S=R(Rt(f),256),O=R(Rt(u),256),nt=R(Rt(b),256),ut=await it.invokeCrypto("sha256",kt(S,O)),yt=gt(ut).multiply(A).mod(f),at=(et,K)=>{const tt=K.subtract(et),dt=1984;return!(tt.isNegative()||tt.bitLength().toJSNumber()<dt||et.bitLength().toJSNumber()<dt||Math.floor((et.bitLength().toJSNumber()+7)/8)>256)},Gt=async()=>{for(;;){const et=gt(p(n.secure_random)),K=u.modPow(et,f);if(at(K,f)){const tt=Rt(K),dt=await it.invokeCrypto("sha256",kt(tt,nt)),ct=gt(dt);if(!ct.isZero()&&!ct.isNegative())return{a:et,a_for_hash:tt,u:ct}}}},{a:Tt,a_for_hash:ot,u:At}=await Gt();let St;b.greater(yt)?St=b:St=b.add(f),St=St.subtract(yt).mod(f);const Mt=At.multiply(T),Ut=Tt.add(Mt),wt=St.modPow(Ut,f),Pt=await it.invokeCrypto("sha256",R(Rt(wt),256));let st=await it.invokeCrypto("sha256",S);const Ct=await it.invokeCrypto("sha256",O);st=Tr(st,Ct);const Ot=kt(st,await it.invokeCrypto("sha256",o.salt1),await it.invokeCrypto("sha256",o.salt2),ot,nt,Pt),xt=await it.invokeCrypto("sha256",Ot);return{_:"inputCheckPasswordSRP",srp_id:n.srp_id,A:new Uint8Array(ot),M1:xt}}var vt=new Uint8Array(256),ee=new Uint8Array(256),re=new Uint32Array(256),ne=new Uint32Array(256),ie=new Uint32Array(256),oe=new Uint32Array(256),Vt=new Uint32Array(256),jt=new Uint32Array(256),Xt=new Uint32Array(256),Yt=new Uint32Array(256);function Ir(){for(var l=new Uint8Array(256),n=new Uint8Array(256),i,o,f,u,y,T,R=0,A=0,p=0;p<256;p++)l[p]=p<<1^(p>>7)*283,n[l[p]^p]=p;for(;!vt[R];R^=i||1)u=A^A<<1^A<<2^A<<3^A<<4,u=u>>8^u&255^99,vt[R]=u,ee[u]=R,f=l[o=l[i=l[R]]],T=f*16843009^o*65537^i*257^R*16843008,y=l[u]*257^u*16843008,re[R]=y=y<<24^y>>>8,ne[R]=y=y<<24^y>>>8,ie[R]=y=y<<24^y>>>8,oe[R]=y=y<<24^y>>>8,Vt[u]=T=T<<24^T>>>8,jt[u]=T=T<<24^T>>>8,Xt[u]=T=T<<24^T>>>8,Yt[u]=T=T<<24^T>>>8,A=n[A]||1}function Rr(l,n){return l.charCodeAt(n)<<24^l.charCodeAt(n+1)<<16^l.charCodeAt(n+2)<<8^l.charCodeAt(n+3)}function Kt(l){if(l instanceof Uint32Array)return l;if(typeof l=="string"){if(l.length%4!==0)for(var n=l.length%4;n<=4;n++)l+="\0x00";for(var i=new Uint32Array(l.length/4),n=0;n<l.length;n+=4)i[n/4]=Rr(l,n);return i}if(l instanceof Uint8Array){for(var i=new Uint32Array(l.length/4),n=0;n<l.length;n+=4)i[n/4]=l[n]<<24^l[n+1]<<16^l[n+2]<<8^l[n+3];return i}throw new Error("Unable to create 32-bit words")}function be(l,n,i){i===void 0&&(i=l);for(var o=0;o<l.length;o++)i[o]=l[o]^n[o]}Ir();var Mr=function(){function l(n){var i=Kt(n);if(i.length!==4&&i.length!==6&&i.length!==8)throw new Error("Invalid key size");this.encKey=new Uint32Array(4*i.length+28),this.decKey=new Uint32Array(4*i.length+28),this.encKey.set(i);for(var o=1,f=i.length,u;f<4*i.length+28;f++)u=this.encKey[f-1],(f%i.length===0||i.length===8&&f%i.length===4)&&(u=vt[u>>>24]<<24^vt[u>>16&255]<<16^vt[u>>8&255]<<8^vt[u&255],f%i.length===0&&(u=u<<8^u>>>24^o<<24,o=o<<1^(o>>7)*283)),this.encKey[f]=this.encKey[f-i.length]^u;for(var y=0;f;y++,f--)u=this.encKey[y&3?f:f-4],f<=4||y<4?this.decKey[y]=u:this.decKey[y]=Vt[vt[u>>>24]]^jt[vt[u>>16&255]]^Xt[vt[u>>8&255]]^Yt[vt[u&255]]}return l.prototype.encrypt=function(n){for(var i=Kt(n),o=new Uint32Array(4),f=i[0]^this.encKey[0],u=i[1]^this.encKey[1],y=i[2]^this.encKey[2],T=i[3]^this.encKey[3],R=this.encKey.length/4-2,A=4,p,b,S,O=0;O<R;O++)p=re[f>>>24]^ne[u>>16&255]^ie[y>>8&255]^oe[T&255]^this.encKey[A],b=re[u>>>24]^ne[y>>16&255]^ie[T>>8&255]^oe[f&255]^this.encKey[A+1],S=re[y>>>24]^ne[T>>16&255]^ie[f>>8&255]^oe[u&255]^this.encKey[A+2],T=re[T>>>24]^ne[f>>16&255]^ie[u>>8&255]^oe[y&255]^this.encKey[A+3],f=p,u=b,y=S,A+=4;for(var O=0;O<4;O++)o[O]=vt[f>>>24]<<24^vt[u>>16&255]<<16^vt[y>>8&255]<<8^vt[T&255]^this.encKey[A++],p=f,f=u,u=y,y=T,T=p;return o},l.prototype.decrypt=function(n){for(var i=Kt(n),o=new Uint32Array(4),f=i[0]^this.decKey[0],u=i[3]^this.decKey[1],y=i[2]^this.decKey[2],T=i[1]^this.decKey[3],R=this.decKey.length/4-2,A,p,b,S=4,O=0;O<R;O++)A=Vt[f>>>24]^jt[u>>16&255]^Xt[y>>8&255]^Yt[T&255]^this.decKey[S],p=Vt[u>>>24]^jt[y>>16&255]^Xt[T>>8&255]^Yt[f&255]^this.decKey[S+1],b=Vt[y>>>24]^jt[T>>16&255]^Xt[f>>8&255]^Yt[u&255]^this.decKey[S+2],T=Vt[T>>>24]^jt[f>>16&255]^Xt[u>>8&255]^Yt[y&255]^this.decKey[S+3],f=A,u=p,y=b,S+=4;for(var O=0;O<4;O++)o[3&-O]=ee[f>>>24]<<24^ee[u>>16&255]<<16^ee[y>>8&255]<<8^ee[T&255]^this.decKey[S++],A=f,f=u,u=y,y=T,T=A;return o},l}(),Ur=function(){function l(n,i,o){o===void 0&&(o=16),this.key=Kt(n),this.iv=Kt(i),this.cipher=new Mr(n),this.blockSize=o/4}return l.prototype.encrypt=function(n,i){for(var o=Kt(n),f=i||new Uint32Array(o.length),u=this.iv.subarray(this.blockSize,this.iv.length),y=this.iv.subarray(0,this.blockSize),T=new Uint32Array(this.blockSize),R=0;R<o.length;R+=this.blockSize){var A=o.subarray(R,R+this.blockSize);be(A,y,T);var p=this.cipher.encrypt(T);be(p,u),u=A,y=p;for(var b=R,S=0;b<o.length&&S<4;b++,S++)f[b]=p[S]}return f},l.prototype.decrypt=function(n,i){for(var o=Kt(n),f=i||new Uint32Array(o.length),u=this.iv.subarray(this.blockSize,this.iv.length),y=this.iv.subarray(0,this.blockSize),T=new Uint32Array(this.blockSize),R=0;R<f.length;R+=this.blockSize){var A=o.subarray(R,R+this.blockSize);be(A,u,T);var p=this.cipher.decrypt(T);be(p,y),y=A,u=p;for(var b=R,S=0;b<f.length&&S<4;b++,S++)f[b]=p[S]}return f},l}();function Or(l){const n=new Uint8Array(l.byteLength);for(let i=0,o=l.length*4;i<o;++i)n[i]=l[i>>>2]>>>24-i%4*8&255;return n}function Be(l){const n=Se(l),i=[];for(let o=0,f=n.length;o<f;++o)i[o>>>2]|=n[o]<<24-o%4*8;return new Uint32Array(i)}function tr(l,n,i,o=!0){const u=new Ur(Be(n),Be(i))[o?"encrypt":"decrypt"](Be(l));return Or(u)}function Lr(l,n,i){return tr(Ae(l),n,i,!0)}function Cr(l,n,i){return tr(l,n,i,!1)}const Nr={8:new Uint8Array(1),16:new Uint16Array(1),32:new Uint32Array(1)};function qr(l){const n=Nr[l];return crypto.getRandomValues(n),n[0]}function De(l,n){return Y.randBetween(l,n,()=>qr(32)/4294967295)}function Fe(l){const n=Y[2];if(l.remainder(n).isZero())return n;const i=Y(1e3);let o,f,u,y,T,R,A;do o=De(Y.one,l.minus(1));while(o.isZero()||o.eq(l.minus(n)));u=De(Y.one,l.minus(1)),T=Y.one,R=Y.one;const b=Y("FFFFFFFFFFFFFFFF",16).minus(l).plus(1),S=O=>(O=O.pow(n).mod(l),O=O.add(o),O.lesser(o)&&(O=O.add(b)),O=O.mod(l),O);do{f=u;for(let nt=0;Y(nt).lesser(T);++nt)u=S(u);let O=Y.zero;do{y=u;const nt=Y.min(i,T.minus(O));for(let ut=0;Y(ut).lesser(nt);++ut)u=S(u),R=R.multiply(f.greater(u)?f.minus(u):u.minus(f)).mod(l);A=Y.gcd(R,l),O=O.add(i)}while(O.lesser(T)&&A.eq(Y.one));T=T.shiftLeft(Y.one)}while(A.eq(Y.one));if(A.eq(l))do y=S(y),A=Y.gcd(f.minus(y).abs(),l);while(A.eq(Y.one));return A}function Zr(l){const n=gt(l),i=[],o=[];let f=Fe(n);i.push(n.divide(f)),i.push(f);do{const u=i.pop();if(!u.eq(Y.one))if(u.isPrime(!0)){o.push(u);for(let y=0;y<i.length;++y){let T=i[y];if(T.mod(u).isZero()){do T=T.divide(u);while(T.mod(u).isZero());i[y]=T}}}else f=Fe(u),i.push(u.divide(f)),i.push(f)}while(i.length);return o}function Dr(l){let n=Zr(l);n.sort((f,u)=>f.compare(u)),n.length>2&&(n=[n.splice(n.length-2,1)[0],n.reduce((f,u)=>f.multiply(u),Y.one)]);const i=n[0],o=n[n.length-1];return(i.lesser(o)?[i,o]:[o,i]).map(f=>Rt(f))}const $t=typeof window<"u"&&"crypto"in window?window.crypto.subtle:self.crypto.subtle;async function Fr(l,n,i){const o=await $t.importKey("raw",l,{name:"PBKDF2"},!1,["deriveBits"]);return $t.deriveBits({name:"PBKDF2",salt:n,iterations:i,hash:{name:"SHA-512"}},o,512).then(u=>new Uint8Array(u))}function Kr(l,n){return We(l,Re(n.exponent),Re(n.modulus))}function zr(l){return $t.digest("SHA-1",Se(l)).then(n=>new Uint8Array(n))}function Gr(l){return $t.digest("SHA-256",Se(l)).then(n=>new Uint8Array(n))}const ke=16;class Ke{constructor(n,i,o){this.mode=n,this.cryptoKey=i,this.queue=[],this.counter=gt(o)}async update(n){return new Promise(i=>{this.queue.push({data:n,resolve:i}),this.release()})}async release(){if(!this.releasing){for(this.releasing=!0;this.queue.length;){const{data:n,resolve:i}=this.queue.shift();i(await this._update(n))}this.releasing=!1}}async perform(n){return await $t[this.mode]({name:"AES-CTR",counter:Ae(Rt(this.counter),ke,!0,!0,!0),length:128},this.cryptoKey,n)}async _update(n){let i=n,o;if(this.leftLength){const A=this.leftLength,p=ke-A,b=new Uint8Array(A).concat(i.slice(0,p)),S=await this.perform(b);o=new Uint8Array(S.slice(A)),i=i.slice(p),this.counter=this.counter.add(1)}const f=new Uint8Array(await this.perform(i)),u=o?o.concat(f):f;let y=i.length;const T=y%ke;y-=T;const R=y/ke;return this.counter=this.counter.add(R),this.leftLength=T||void 0,u}}const Le=new Map;let Hr=-1;async function Wr({encKey:l,encIv:n,decKey:i,decIv:o}){const f=++Hr,y=[["encrypt",l],["decrypt",i]].map(([S,O])=>$t.importKey("raw",O,{name:"AES-CTR"},!1,[S])),[T,R]=await Promise.all(y),A=new Ke("encrypt",T,n.slice()),p=new Ke("decrypt",R,o.slice()),b={enc:A,dec:p};return Le.set(f,b),f}async function Jr({id:l,data:n,operation:i}){const o=Le.get(l);return await(i==="encrypt"?o.enc:o.dec).update(n)}function Vr(l){Le.delete(l)}const Me=12;async function jr({key:l,data:n}){const i=crypto.getRandomValues(new Uint8Array(Me)),o=await crypto.subtle.encrypt({name:"AES-GCM",iv:i},l,n),f=new Uint8Array(i.length+o.byteLength);return f.set(i,0),f.set(new Uint8Array(o),i.length),new Oe.TransferableResult(f,[f.buffer])}async function Xr({key:l,encryptedData:n}){const i=n.slice(0,Me),o=n.slice(Me),f=await crypto.subtle.decrypt({name:"AES-GCM",iv:i},l,o);return new Oe.TransferableResult(f,[f])}console.log("CryptoWorker start");const Yr={sha1:zr,sha256:Gr,pbkdf2:Fr,"aes-encrypt":Lr,"aes-decrypt":Cr,"rsa-encrypt":Kr,factorize:Dr,"mod-pow":We,gzipUncompress:ar,computeSRP:Br,"generate-dh":Er,"compute-dh-key":Sr,"get-emojis-fingerprint":Ar,"aes-ctr-prepare":Wr,"aes-ctr-process":Jr,"aes-ctr-destroy":Vr,"aes-local-encrypt":jr,"aes-local-decrypt":Xr};it.addMultipleEventsListeners({invoke:({method:l,args:n})=>Yr[l](...n),terminate:()=>{Ft.close()},port:(l,n,i)=>{it.attachPort(i.ports[0])}});typeof MessageChannel<"u"&&fr(it,l=>{const n=new MessageChannel;it.attachPort(n.port1),it.invokeVoid("port",void 0,l,[n.port2])});
- //# sourceMappingURL=crypto.worker-Ykv3zCSJ.js.map
|