var snarkjs=function(A){"use strict";const I=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function t(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const i=t;function g(A,I){return BigInt(A)<>BigInt(I)}const Q=g,e=C;var n=Object.freeze({__proto__:null,fromString:t,e:i,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i>=1n}return t},bits:function(A){let I=BigInt(A);const t=[];for(;I;)1n&I?t.push(1):t.push(0),I>>=1n;return t},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const t=[];let i=BigInt(A);for(I=BigInt(I);i;)t.unshift(Number(i%I)),i/=I;return t},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function B(A,I){return A(I={exports:{}},I.exports),I.exports}var r=B((function(A){var I=function(A){var t=1e7,i=9007199254740992,g=E(i),C="function"==typeof BigInt;function Q(A,I,t,i){return void 0===A?Q[0]:void 0!==I&&(10!=+I||t)?Y(A,I,t,i):Z(A)}function e(A,I){this.value=A,this.sign=I,this.isSmall=!1}function n(A){this.value=A,this.sign=A<0,this.isSmall=!0}function B(A){this.value=A}function r(A){return-i0?Math.floor(A):Math.ceil(A)}function f(A,I){var i,g,C=A.length,Q=I.length,e=new Array(C),n=0,B=t;for(g=0;g=B?1:0,e[g]=i-n*B;for(;g0&&e.push(n),e}function w(A,I){return A.length>=I.length?f(A,I):f(I,A)}function D(A,I){var i,g,C=A.length,Q=new Array(C),e=t;for(g=0;g0;)Q[g++]=I%e,I=Math.floor(I/e);return Q}function c(A,I){var t,i,g=A.length,C=I.length,Q=new Array(g),e=0;for(t=0;t0;)Q[g++]=n%e,n=Math.floor(n/e);return Q}function l(A,I){for(var t=[];I-- >0;)t.push(0);return t.concat(A)}function F(A,I,i){return new e(A=0;--t)g=(C=1e7*g+A[t])-(i=a(C/I))*I,e[t]=0|i;return[e,0|g]}function d(A,I){var i,g=Z(I);if(C)return[new B(A.value/g.value),new B(A.value%g.value)];var r,f=A.value,w=g.value;if(0===w)throw new Error("Cannot divide by zero");if(A.isSmall)return g.isSmall?[new n(a(f/w)),new n(f%w)]:[Q[0],A];if(g.isSmall){if(1===w)return[A,Q[0]];if(-1==w)return[A.negate(),Q[0]];var D=Math.abs(w);if(D=0;g--){for(i=o-1,D[g+E]!==f&&(i=Math.floor((D[g+E]*o+D[g+E-1])/f)),C=0,Q=0,n=c.length,e=0;en&&(g=1e7*(g+1)),t=Math.ceil(g/C);do{if(G(Q=p(I,t),r)<=0)break;t--}while(t);B.push(t),r=c(r,Q)}return B.reverse(),[h(B),h(r)]}(f,w))[0];var l=A.sign!==g.sign,F=i[1],M=A.sign;return"number"==typeof r?(l&&(r=-r),r=new n(r)):r=new e(r,l),"number"==typeof F?(M&&(F=-F),F=new n(F)):F=new e(F,M),[r,F]}function G(A,I){if(A.length!==I.length)return A.length>I.length?1:-1;for(var t=A.length-1;t>=0;t--)if(A[t]!==I[t])return A[t]>I[t]?1:-1;return 0}function U(A){var I=A.abs();return!I.isUnit()&&(!!(I.equals(2)||I.equals(3)||I.equals(5))||!(I.isEven()||I.isDivisibleBy(3)||I.isDivisibleBy(5))&&(!!I.lesser(49)||void 0))}function H(A,t){for(var i,g,C,Q=A.prev(),e=Q,n=0;e.isEven();)e=e.divide(2),n++;A:for(g=0;g=0?i=c(A,I):(i=c(I,A),t=!t),"number"==typeof(i=h(i))?(t&&(i=-i),new n(i)):new e(i,t)}(t,i,this.sign)},e.prototype.minus=e.prototype.subtract,n.prototype.subtract=function(A){var I=Z(A),t=this.value;if(t<0!==I.sign)return this.add(I.negate());var i=I.value;return I.isSmall?new n(t-i):u(i,Math.abs(t),t>=0)},n.prototype.minus=n.prototype.subtract,B.prototype.subtract=function(A){return new B(this.value-Z(A).value)},B.prototype.minus=B.prototype.subtract,e.prototype.negate=function(){return new e(this.value,!this.sign)},n.prototype.negate=function(){var A=this.sign,I=new n(-this.value);return I.sign=!A,I},B.prototype.negate=function(){return new B(-this.value)},e.prototype.abs=function(){return new e(this.value,!1)},n.prototype.abs=function(){return new n(Math.abs(this.value))},B.prototype.abs=function(){return new B(this.value>=0?this.value:-this.value)},e.prototype.multiply=function(A){var I,i,g,C=Z(A),n=this.value,B=C.value,r=this.sign!==C.sign;if(C.isSmall){if(0===B)return Q[0];if(1===B)return this;if(-1===B)return this.negate();if((I=Math.abs(B))0?function A(I,t){var i=Math.max(I.length,t.length);if(i<=30)return y(I,t);i=Math.ceil(i/2);var g=I.slice(i),C=I.slice(0,i),Q=t.slice(i),e=t.slice(0,i),n=A(C,e),B=A(g,Q),r=A(w(C,g),w(e,Q)),E=w(w(n,l(c(c(r,n),B),i)),l(B,2*i));return o(E),E}(n,B):y(n,B),r)},e.prototype.times=e.prototype.multiply,n.prototype._multiplyBySmall=function(A){return r(A.value*this.value)?new n(A.value*this.value):F(Math.abs(A.value),E(Math.abs(this.value)),this.sign!==A.sign)},e.prototype._multiplyBySmall=function(A){return 0===A.value?Q[0]:1===A.value?this:-1===A.value?this.negate():F(Math.abs(A.value),this.value,this.sign!==A.sign)},n.prototype.multiply=function(A){return Z(A)._multiplyBySmall(this)},n.prototype.times=n.prototype.multiply,B.prototype.multiply=function(A){return new B(this.value*Z(A).value)},B.prototype.times=B.prototype.multiply,e.prototype.square=function(){return new e(M(this.value),!1)},n.prototype.square=function(){var A=this.value*this.value;return r(A)?new n(A):new e(M(E(Math.abs(this.value))),!1)},B.prototype.square=function(A){return new B(this.value*this.value)},e.prototype.divmod=function(A){var I=d(this,A);return{quotient:I[0],remainder:I[1]}},B.prototype.divmod=n.prototype.divmod=e.prototype.divmod,e.prototype.divide=function(A){return d(this,A)[0]},B.prototype.over=B.prototype.divide=function(A){return new B(this.value/Z(A).value)},n.prototype.over=n.prototype.divide=e.prototype.over=e.prototype.divide,e.prototype.mod=function(A){return d(this,A)[1]},B.prototype.mod=B.prototype.remainder=function(A){return new B(this.value%Z(A).value)},n.prototype.remainder=n.prototype.mod=e.prototype.remainder=e.prototype.mod,e.prototype.pow=function(A){var I,t,i,g=Z(A),C=this.value,e=g.value;if(0===e)return Q[1];if(0===C)return Q[0];if(1===C)return Q[1];if(-1===C)return g.isEven()?Q[1]:Q[-1];if(g.sign)return Q[0];if(!g.isSmall)throw new Error("The exponent "+g.toString()+" is too large.");if(this.isSmall&&r(I=Math.pow(C,e)))return new n(a(I));for(t=this,i=Q[1];!0&e&&(i=i.times(t),--e),0!==e;)e/=2,t=t.square();return i},n.prototype.pow=e.prototype.pow,B.prototype.pow=function(A){var I=Z(A),t=this.value,i=I.value,g=BigInt(0),C=BigInt(1),e=BigInt(2);if(i===g)return Q[1];if(t===g)return Q[0];if(t===C)return Q[1];if(t===BigInt(-1))return I.isEven()?Q[1]:Q[-1];if(I.isNegative())return new B(g);for(var n=this,r=Q[1];(i&C)===C&&(r=r.times(n),--i),i!==g;)i/=e,n=n.square();return r},e.prototype.modPow=function(A,I){if(A=Z(A),(I=Z(I)).isZero())throw new Error("Cannot take modPow with modulus 0");var t=Q[1],i=this.mod(I);for(A.isNegative()&&(A=A.multiply(Q[-1]),i=i.modInv(I));A.isPositive();){if(i.isZero())return Q[0];A.isOdd()&&(t=t.multiply(i).mod(I)),A=A.divide(2),i=i.square().mod(I)}return t},B.prototype.modPow=n.prototype.modPow=e.prototype.modPow,e.prototype.compareAbs=function(A){var I=Z(A),t=this.value,i=I.value;return I.isSmall?1:G(t,i)},n.prototype.compareAbs=function(A){var I=Z(A),t=Math.abs(this.value),i=I.value;return I.isSmall?t===(i=Math.abs(i))?0:t>i?1:-1:-1},B.prototype.compareAbs=function(A){var I=this.value,t=Z(A).value;return(I=I>=0?I:-I)===(t=t>=0?t:-t)?0:I>t?1:-1},e.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=Z(A),t=this.value,i=I.value;return this.sign!==I.sign?I.sign?1:-1:I.isSmall?this.sign?-1:1:G(t,i)*(this.sign?-1:1)},e.prototype.compareTo=e.prototype.compare,n.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=Z(A),t=this.value,i=I.value;return I.isSmall?t==i?0:t>i?1:-1:t<0!==I.sign?t<0?-1:1:t<0?1:-1},n.prototype.compareTo=n.prototype.compare,B.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=this.value,t=Z(A).value;return I===t?0:I>t?1:-1},B.prototype.compareTo=B.prototype.compare,e.prototype.equals=function(A){return 0===this.compare(A)},B.prototype.eq=B.prototype.equals=n.prototype.eq=n.prototype.equals=e.prototype.eq=e.prototype.equals,e.prototype.notEquals=function(A){return 0!==this.compare(A)},B.prototype.neq=B.prototype.notEquals=n.prototype.neq=n.prototype.notEquals=e.prototype.neq=e.prototype.notEquals,e.prototype.greater=function(A){return this.compare(A)>0},B.prototype.gt=B.prototype.greater=n.prototype.gt=n.prototype.greater=e.prototype.gt=e.prototype.greater,e.prototype.lesser=function(A){return this.compare(A)<0},B.prototype.lt=B.prototype.lesser=n.prototype.lt=n.prototype.lesser=e.prototype.lt=e.prototype.lesser,e.prototype.greaterOrEquals=function(A){return this.compare(A)>=0},B.prototype.geq=B.prototype.greaterOrEquals=n.prototype.geq=n.prototype.greaterOrEquals=e.prototype.geq=e.prototype.greaterOrEquals,e.prototype.lesserOrEquals=function(A){return this.compare(A)<=0},B.prototype.leq=B.prototype.lesserOrEquals=n.prototype.leq=n.prototype.lesserOrEquals=e.prototype.leq=e.prototype.lesserOrEquals,e.prototype.isEven=function(){return 0==(1&this.value[0])},n.prototype.isEven=function(){return 0==(1&this.value)},B.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},e.prototype.isOdd=function(){return 1==(1&this.value[0])},n.prototype.isOdd=function(){return 1==(1&this.value)},B.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},e.prototype.isPositive=function(){return!this.sign},n.prototype.isPositive=function(){return this.value>0},B.prototype.isPositive=n.prototype.isPositive,e.prototype.isNegative=function(){return this.sign},n.prototype.isNegative=function(){return this.value<0},B.prototype.isNegative=n.prototype.isNegative,e.prototype.isUnit=function(){return!1},n.prototype.isUnit=function(){return 1===Math.abs(this.value)},B.prototype.isUnit=function(){return this.abs().value===BigInt(1)},e.prototype.isZero=function(){return!1},n.prototype.isZero=function(){return 0===this.value},B.prototype.isZero=function(){return this.value===BigInt(0)},e.prototype.isDivisibleBy=function(A){var I=Z(A);return!I.isZero()&&(!!I.isUnit()||(0===I.compareAbs(2)?this.isEven():this.mod(I).isZero()))},B.prototype.isDivisibleBy=n.prototype.isDivisibleBy=e.prototype.isDivisibleBy,e.prototype.isPrime=function(A){var t=U(this);if(void 0!==t)return t;var i=this.abs(),g=i.bitLength();if(g<=64)return H(i,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var C=Math.log(2)*g.toJSNumber(),Q=Math.ceil(!0===A?2*Math.pow(C,2):C),e=[],n=0;n-i?new n(A-1):new e(g,!0)},B.prototype.prev=function(){return new B(this.value-BigInt(1))};for(var L=[1];2*L[L.length-1]<=t;)L.push(2*L[L.length-1]);var k=L.length,N=L[k-1];function b(A){return Math.abs(A)<=t}function S(A,t,i){t=Z(t);for(var g=A.isNegative(),C=t.isNegative(),Q=g?A.not():A,e=C?t.not():t,n=0,B=0,r=null,E=null,h=[];!Q.isZero()||!e.isZero();)n=(r=d(Q,N))[1].toJSNumber(),g&&(n=N-1-n),B=(E=d(e,N))[1].toJSNumber(),C&&(B=N-1-B),Q=r[0],e=E[0],h.push(i(n,B));for(var o=0!==i(g?1:0,C?1:0)?I(-1):I(0),s=h.length-1;s>=0;s-=1)o=o.multiply(N).add(I(h[s]));return o}e.prototype.shiftLeft=function(A){var I=Z(A).toJSNumber();if(!b(I))throw new Error(String(I)+" is too large for shifting.");if(I<0)return this.shiftRight(-I);var t=this;if(t.isZero())return t;for(;I>=k;)t=t.multiply(N),I-=k-1;return t.multiply(L[I])},B.prototype.shiftLeft=n.prototype.shiftLeft=e.prototype.shiftLeft,e.prototype.shiftRight=function(A){var I,t=Z(A).toJSNumber();if(!b(t))throw new Error(String(t)+" is too large for shifting.");if(t<0)return this.shiftLeft(-t);for(var i=this;t>=k;){if(i.isZero()||i.isNegative()&&i.isUnit())return i;i=(I=d(i,N))[1].isNegative()?I[0].prev():I[0],t-=k-1}return(I=d(i,L[t]))[1].isNegative()?I[0].prev():I[0]},B.prototype.shiftRight=n.prototype.shiftRight=e.prototype.shiftRight,e.prototype.not=function(){return this.negate().prev()},B.prototype.not=n.prototype.not=e.prototype.not,e.prototype.and=function(A){return S(this,A,(function(A,I){return A&I}))},B.prototype.and=n.prototype.and=e.prototype.and,e.prototype.or=function(A){return S(this,A,(function(A,I){return A|I}))},B.prototype.or=n.prototype.or=e.prototype.or,e.prototype.xor=function(A){return S(this,A,(function(A,I){return A^I}))},B.prototype.xor=n.prototype.xor=e.prototype.xor;function R(A){var I=A.value,i="number"==typeof I?I|1<<30:"bigint"==typeof I?I|BigInt(1<<30):I[0]+I[1]*t|1073758208;return i&-i}function J(A,I){return A=Z(A),I=Z(I),A.greater(I)?A:I}function v(A,I){return A=Z(A),I=Z(I),A.lesser(I)?A:I}function q(A,I){if(A=Z(A).abs(),I=Z(I).abs(),A.equals(I))return A;if(A.isZero())return I;if(I.isZero())return A;for(var t,i,g=Q[1];A.isEven()&&I.isEven();)t=v(R(A),R(I)),A=A.divide(t),I=I.divide(t),g=g.multiply(t);for(;A.isEven();)A=A.divide(R(A));do{for(;I.isEven();)I=I.divide(R(I));A.greater(I)&&(i=I,I=A,A=i),I=I.subtract(A)}while(!I.isZero());return g.isUnit()?A:A.multiply(g)}e.prototype.bitLength=function(){var A=this;return A.compareTo(I(0))<0&&(A=A.negate().subtract(I(1))),0===A.compareTo(I(0))?I(0):I(function A(t,i){if(i.compareTo(t)<=0){var g=A(t,i.square(i)),C=g.p,Q=g.e,e=C.multiply(i);return e.compareTo(t)<=0?{p:e,e:2*Q+1}:{p:C,e:2*Q}}return{p:I(1),e:0}}(A,I(2)).e).add(I(1))},B.prototype.bitLength=n.prototype.bitLength=e.prototype.bitLength;var Y=function(A,I,t,i){t=t||"0123456789abcdefghijklmnopqrstuvwxyz",A=String(A),i||(A=A.toLowerCase(),t=t.toLowerCase());var g,C=A.length,Q=Math.abs(I),e={};for(g=0;g=Q)){if("1"===r&&1===Q)continue;throw new Error(r+" is not a valid digit in base "+I+".")}}I=Z(I);var n=[],B="-"===A[0];for(g=B?1:0;g"!==A[g]&&g=0;i--)g=g.add(A[i].times(C)),C=C.times(I);return t?g.negate():g}function x(A,t){if((t=I(t)).isZero()){if(A.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(t.equals(-1)){if(A.isZero())return{value:[0],isNegative:!1};if(A.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-A.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var i=Array.apply(null,Array(A.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return i.unshift([1]),{value:[].concat.apply([],i),isNegative:!1}}var g=!1;if(A.isNegative()&&t.isPositive()&&(g=!0,A=A.abs()),t.isUnit())return A.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(A.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:g};for(var C,Q=[],e=A;e.isNegative()||e.compareAbs(t)>=0;){C=e.divmod(t),e=C.quotient;var n=C.remainder;n.isNegative()&&(n=t.minus(n).abs(),e=e.next()),Q.push(n.toJSNumber())}return Q.push(e.toJSNumber()),{value:Q.reverse(),isNegative:g}}function O(A,I,t){var i=x(A,I);return(i.isNegative?"-":"")+i.value.map((function(A){return function(A,I){return A<(I=I||"0123456789abcdefghijklmnopqrstuvwxyz").length?I[A]:"<"+A+">"}(A,t)})).join("")}function X(A){if(r(+A)){var I=+A;if(I===a(I))return C?new B(BigInt(I)):new n(I);throw new Error("Invalid integer: "+A)}var t="-"===A[0];t&&(A=A.slice(1));var i=A.split(/e/i);if(i.length>2)throw new Error("Invalid integer: "+i.join("e"));if(2===i.length){var g=i[1];if("+"===g[0]&&(g=g.slice(1)),(g=+g)!==a(g)||!r(g))throw new Error("Invalid integer: "+g+" is not a valid exponent.");var Q=i[0],E=Q.indexOf(".");if(E>=0&&(g-=Q.length-E-1,Q=Q.slice(0,E)+Q.slice(E+1)),g<0)throw new Error("Cannot include negative exponent part for integers");A=Q+=new Array(g+1).join("0")}if(!/^([0-9][0-9]*)$/.test(A))throw new Error("Invalid integer: "+A);if(C)return new B(BigInt(t?"-"+A:A));for(var h=[],s=A.length,f=s-7;s>0;)h.push(+A.slice(f,s)),(f-=7)<0&&(f=0),s-=7;return o(h),new e(h,t)}function Z(A){return"number"==typeof A?function(A){if(C)return new B(BigInt(A));if(r(A)){if(A!==a(A))throw new Error(A+" is not an integer.");return new n(A)}return X(A.toString())}(A):"string"==typeof A?X(A):"bigint"==typeof A?new B(A):A}e.prototype.toArray=function(A){return x(this,A)},n.prototype.toArray=function(A){return x(this,A)},B.prototype.toArray=function(A){return x(this,A)},e.prototype.toString=function(A,I){if(void 0===A&&(A=10),10!==A)return O(this,A,I);for(var t,i=this.value,g=i.length,C=String(i[--g]);--g>=0;)t=String(i[g]),C+="0000000".slice(t.length)+t;return(this.sign?"-":"")+C},n.prototype.toString=function(A,I){return void 0===A&&(A=10),10!=A?O(this,A,I):String(this.value)},B.prototype.toString=n.prototype.toString,B.prototype.toJSON=e.prototype.toJSON=n.prototype.toJSON=function(){return this.toString()},e.prototype.valueOf=function(){return parseInt(this.toString(),10)},e.prototype.toJSNumber=e.prototype.valueOf,n.prototype.valueOf=function(){return this.value},n.prototype.toJSNumber=n.prototype.valueOf,B.prototype.valueOf=B.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var j=0;j<1e3;j++)Q[j]=Z(j),j>0&&(Q[-j]=Z(-j));return Q.one=Q[1],Q.zero=Q[0],Q.minusOne=Q[-1],Q.max=J,Q.min=v,Q.gcd=q,Q.lcm=function(A,I){return A=Z(A).abs(),I=Z(I).abs(),A.divide(q(A,I)).multiply(I)},Q.isInstance=function(A){return A instanceof e||A instanceof n||A instanceof B},Q.randBetween=function(A,I,i){A=Z(A),I=Z(I);var g=i||Math.random,C=v(A,I),e=J(A,I).subtract(C).add(1);if(e.isSmall)return C.add(Math.floor(g()*e));for(var n=x(e,t).value,B=[],r=!0,E=0;E>5);for(let A=0;A>5);for(let A=0;Ag[g.length-I-1]=A.toString(16).padStart(8,"0")),c.fromString(g.join(""),16)},c.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A>=1;return t}function sA(A,I,t){if(N(t))return A.one;const i=Y(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function aA(A){if(A.m%2==1)if($(_(A.p,4),1))if($(_(A.p,8),1))if($(_(A.p,16),1))!function(A){A.sqrt_q=V(A.p,A.m),A.sqrt_s=0,A.sqrt_t=X(A.sqrt_q,1);for(;!v(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=T(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<16|A[g]>>>16&65535)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<12|A[t]>>>20&4095)>>>0,A[I]=A[I]+A[t]>>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<8|A[g]>>>24&255)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<7|A[t]>>>25&127)>>>0}class wA{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return O(j(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)fA(A=this.buff,0,4,8,12),fA(A,1,5,9,13),fA(A,2,6,10,14),fA(A,3,7,11,15),fA(A,0,5,10,15),fA(A,1,6,11,12),fA(A,2,7,8,13),fA(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}var DA={};function cA(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let t=0;t>>0;else DA.randomFillSync(I);return I}let uA=null;function yA(){return uA||(uA=new wA(function(){const A=cA(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}()),uA)}class pA{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=L(this.p),this.mask=(1n<>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),aA(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return sA(this,A,I)}exp(A,I){return sA(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)=this.p?t-this.p:t}{const t=this.p-I;return Number(t)>t:0n}}shr(A,I){if(Number(I)>I;{const t=this.p-I;if(Number(t)=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let Q=t;for(let A=0;Athis.p>>1n&&(g=this.neg(g)),g}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let t=0;tthis.half){t="-"+(this.p-A).toString(I)}else t=A.toString(I);return t}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let t=0;t=this.p);return I=I*this.Ri%this.p,I}}class lA{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),aA(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let Q=t;for(let A=0;A{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<=2?(t-=2,I+=BigInt(g.getUint16(t))<0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var UA=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t>=1;return t}HA.bitReverse=function(A,I){return(LA[A>>>24]|LA[A>>>16&255]<<8|LA[A>>>8&255]<<16|LA[255&A]<<24)>>>32-I},HA.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},HA.buffReverseBits=function(A,I){const t=A.byteLength/I,i=HA.log2(t);if(t!=1<t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};let{bitReverse:NA,log2:bA,buffReverseBits:SA,stringifyBigInts:RA,unstringifyBigInts:JA,beBuff2int:vA,beInt2Buff:qA,leBuff2int:YA,leInt2Buff:PA}=HA;var xA=Object.freeze({__proto__:null,bitReverse:NA,log2:bA,buffReverseBits:SA,stringifyBigInts:RA,unstringifyBigInts:JA,beBuff2int:vA,beInt2Buff:qA,leBuff2int:YA,leInt2Buff:PA});function OA(A,I,t,i){return async function(g){const C=Math.floor(g.byteLength/t);if(C*t!==g.byteLength)throw new Error("Invalid buffer size");const Q=Math.floor(C/A.concurrency),e=[];for(let n=0;n=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=OA(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=OA(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=M(U(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let t=U(A,I);k(t)?(t=Z(t),tA(t,this.p)&&(t=_(t,this.p)),t=X(this.p,t)):tA(t,this.p)&&(t=_(t,this.p));const i=PA(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=p(t,0);return F(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=m;for(let t=0;tt.buffer.byteLength;)t.grow(100);return I}function e(A){const I=Q(A.byteLength);return n(I,A),I}function n(A,I){g.set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return C(A[0]);const t={vars:[],out:[]},B=i[0];for(let i=0;i{this.reject=I,this.resolve=A})}}function _A(A){for(var I=window.atob(A),t=I.length,i=new Uint8Array(t),g=0;g0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const t=new TA;if(this.singleThread){const I=this.taskManager(A);t.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:t}),this.processWorks();return t.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;AsetTimeout(I,A)))}}function AI(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,C,Q,e,n){let B,r,E,h,o;if(e=e||"affine",n=n||"affine","G1"==I)"jacobian"==e?(E=3*t.F.n8,B="g1m_batchApplyKey"):(E=2*t.F.n8,B="g1m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g1m_batchToAffine",o=2*t.F.n8);else if("G2"==I)"jacobian"==e?(E=3*t.F.n8,B="g2m_batchApplyKey"):(E=2*t.F.n8,B="g2m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g2m_batchToAffine",o=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",E=t.n8,h=t.n8,o=t.n8}const s=Math.floor(A.byteLength/E),a=Math.floor(s/g.concurrency),f=[];Q=i.e(Q);let w=i.e(C);for(let I=0;I=0;A--){if(!t.isZero(o))for(let A=0;A(B&&B.debug(`fft: ${A}/${t}`),I)))}A=await Promise.all(e);for(let I=0;I0;g--)l.set(A[g],i),i+=I*h,delete A[g];l.set(A[0].slice(0,(I-1)*h),i),delete A[0]}else for(let i=0;i=0;A--)o.set(h[A][0],s),s+=h[A][0].byteLength;return o}}async function gI(A){const I=await async function(A,I){const t=new $A;t.memory=new WebAssembly.Memory({initial:4096}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(_A(A.code));if(t.instance=await WebAssembly.instantiate(i,{env:{memory:t.memory}}),t.singleThread=I,t.initalPFree=t.u32[0],t.pq=A.pq,t.pr=A.pr,t.pG1gen=A.pG1gen,t.pG1zero=A.pG1zero,t.pG2gen=A.pG2gen,t.pG2zero=A.pG2zero,t.pOneT=A.pOneT,I)t.code=_A(A.code),t.taskManager=VA(),await t.taskManager([{cmd:"INIT",init:4096,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:DA.cpus().length,t.concurrency=I;for(let A=0;A{I.pendingLoads.push({page:A,resolve:t,reject:i}),setImmediate(I._triggerLoad.bind(I))})}_triggerLoad(){const A=this;if(function(){const I=[];for(let t=0;t=A.maxPagesLoaded){const I=function(){for(let I in A.pages){const t=A.pages[I];if(0==t.dirty&&0==t.pendingOps)return I}return-1}();if(I<0)return;delete A.pages[I]}const I=A.pendingLoads.shift();if(I.page>=A.totalPages)return A.pages[I.page]={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0},I.resolve(),void setImmediate(A._triggerLoad.bind(A));if(A.reading)return void A.pendingLoads.unshift(I);A.reading=!0;const t={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0};A.fd.read(t.buff,0,A.pageSize,I.page*A.pageSize).then(i=>{t.size=i.bytesRead,A.pages[I.page]=t,A.reading=!1,I.resolve(),setImmediate(A._triggerLoad.bind(A))},A=>{I.reject(A)})}_triggerWrite(){const A=this;if(A.writing)return;const I=A._getDirtyPage();I<0?A.pendingClose&&A.pendingClose():(A.writing=!0,A.pages[I].dirty=!1,A.fd.write(A.pages[I].buff,0,A.pages[I].size,I*A.pageSize).then(()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),setImmediate(A._triggerLoad.bind(A))},I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const t=this;if(void 0===I&&(I=t.pos),t.pos=I+A.byteLength,t.totalSize0;){await t._loadPage(g);const I=C+Q>t.pageSize?t.pageSize-C:Q,i=new Uint8Array(A.buffer,A.byteLength-Q,I);new Uint8Array(t.pages[g].buff.buffer,C,I).set(i),t.pages[g].dirty=!0,t.pages[g].pendingOps--,t.pages[g].size=Math.max(C+I,t.pages[g].size),g>=t.totalPages&&(t.totalPages=g+1),Q-=I,g++,C=0,setImmediate(t._triggerWrite.bind(t))}}async read(A,I){if(0==A)return new Uint8Array(0);const t=this;if(A>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A,t.pendingClose)throw new Error("Reading a closing file");const i=Math.floor(I/t.pageSize),g=Math.floor((I+A-1)/t.pageSize);for(let A=i;A<=g;A++)await t._loadPage(A);let C=new Uint8Array(A),Q=new Uint8Array(C),e=i,n=I%t.pageSize,B=I+A>t.totalSize?A-(I+A-t.totalSize):A;for(;B>0;){const A=n+B>t.pageSize?t.pageSize-n:B,I=new Uint8Array(t.pages[e].buff.buffer,n,A);C.set(I,Q.byteLength-B),t.pages[e].pendingOps--,B-=A,e++,n=0}return setImmediate(t._triggerLoad.bind(t)),C}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise((I,t)=>{A.pendingClose=I,A.pendingCloseReject=t,A._tryClose()}).then(()=>{A.fd.close()},I=>{throw A.fd.close(),I})}async discard(){await this.close(),await DA.promises.unlink(this.fileName)}async writeULE32(A,I){oI.setUint32(0,A,!0),await this.write(hI,I)}async writeUBE32(A,I){oI.setUint32(0,A,!1),await this.write(hI,I)}async writeULE64(A,I){aI.setUint32(0,4294967295&A,!0),aI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(sI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}const wI=new Uint8Array(4),DI=new DataView(wI.buffer),cI=new Uint8Array(8),uI=new DataView(cI.buffer);class yI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),t=new Uint8Array(I);t.set(this.o.data),this.o.data=t,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A,I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async read(A,I){if(void 0===I&&(I=this.pos),this.readOnly&&I+A>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(I+A);const t=this.o.data.slice(I,I+A);return this.pos=I+A,t}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){DI.setUint32(0,A,!0),await this.write(wI,I)}async writeUBE32(A,I){DI.setUint32(0,A,!1),await this.write(wI,I)}async writeULE64(A,I){uI.setUint32(0,4294967295&A,!0),uI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(cI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}async function pI(A,I){if("string"==typeof A&&(A={type:"file",fileName:A,cacheSize:I}),"file"==A.type)return await EI(A.fileName,"w+",A.cacheSize);if("mem"==A.type)return function(A){const I=A.initialSize||1<<20,t=new yI;return t.o=A,t.o.data=new Uint8Array(I),t.allocSize=I,t.totalSize=0,t.readOnly=!1,t.pos=0,t}(A);throw new Error("Invalid FastFile type: "+A.type)}async function lI(A,I){if(A instanceof Uint8Array&&(A={type:"mem",data:A}),"string"==typeof A){A={type:"mem",data:await fetch(A).then((function(A){return A.arrayBuffer()})).then((function(A){return new Uint8Array(A)}))}}if("file"==A.type)return await EI(A.fileName,"r",A.cacheSize);if("mem"==A.type)return await function(A){const I=new yI;return I.o=A,I.allocSize=A.data.byteLength,I.totalSize=A.data.byteLength,I.readOnly=!0,I.pos=0,I}(A);throw new Error("Invalid FastFile type: "+A.type)}async function FI(A,I,t){const i=await lI(A),g=await i.read(4);let C="";for(let A=0;A<4;A++)C+=String.fromCharCode(g[A]);if(C!=I)throw new Error(A+": Invalid File format");if(await i.readULE32()>t)throw new Error("Version not supported");const Q=await i.readULE32();let e=[];for(let A=0;A1)throw new Error(A.fileName+": Section Duplicated "+t);A.pos=I[t][0].p,A.readingSection=I[t][0]}async function UI(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size reading");delete A.readingSection}async function HI(A,I,t,i){const g=new Uint8Array(t);BI.toRprLE(g,0,I,t),await A.write(g,i)}async function LI(A,I,t){const i=await A.read(I,t);return BI.fromRprLE(i,0,I)}async function kI(A,I,t,i){const g=A.pageSize;await GI(A,I,i),await mI(t,i);for(let C=0;C=g,"digestLength must be at least "+g+", was given "+A),vI(A<=C,"digestLength must be at most "+C+", was given "+A),null!=E&&(vI(E instanceof Uint8Array,"key must be Uint8Array or Buffer"),vI(E.length>=Q,"key must be at least "+Q+", was given "+E.length),vI(E.length<=e,"key must be at least "+e+", was given "+E.length)),null!=h&&(vI(h instanceof Uint8Array,"salt must be Uint8Array or Buffer"),vI(h.length===n,"salt must be exactly "+n+", was given "+h.length)),null!=o&&(vI(o instanceof Uint8Array,"personal must be Uint8Array or Buffer"),vI(o.length===B,"personal must be exactly "+B+", was given "+o.length))),i.length||(i.push(t),t+=216),this.digestLength=A,this.finalized=!1,this.pointer=i.pop(),I.memory.fill(0,0,64),I.memory[0]=this.digestLength,I.memory[1]=E?E.length:0,I.memory[2]=1,I.memory[3]=1,h&&I.memory.set(h,32),o&&I.memory.set(o,48),this.pointer+216>I.memory.length&&I.realloc(this.pointer+216),I.exports.blake2b_init(this.pointer,this.digestLength),E&&(this.update(E),I.memory.fill(0,t,t+E.length),I.memory[this.pointer+200]=128)}function E(){}function h(A){return A<16?"0"+A.toString(16):A.toString(16)}r.prototype.update=function(A){return vI(!1===this.finalized,"Hash instance finalized"),vI(A instanceof Uint8Array,"input must be Uint8Array or Buffer"),t+A.length>I.memory.length&&I.realloc(t+A.length),I.memory.set(A,t),I.exports.blake2b_update(this.pointer,t,t+A.length),this},r.prototype.getPartialHash=function(){return I.memory.slice(this.pointer,this.pointer+216)},r.prototype.setPartialHash=function(A){I.memory.set(A,this.pointer)},r.prototype.digest=function(A){if(vI(!1===this.finalized,"Hash instance finalized"),this.finalized=!0,i.push(this.pointer),I.exports.blake2b_final(this.pointer),!A||"binary"===A)return I.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if("hex"===A)return function(A,I,t){for(var i="",g=0;g=this.digestLength,"input must be Uint8Array or Buffer");for(var t=0;t>=1;return t}function jI(A,I){return(XI[A>>>24]|XI[A>>>16&255]<<8|XI[A>>>8&255]<<16|XI[255&A]<<24)>>>32-I}function KI(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)}function VI(A,I){const t=new DataView(A.buffer,A.byteOffset,A.byteLength);let i="";for(let A=0;A<4;A++){A>0&&(i+="\n"),i+="\t\t";for(let I=0;I<4;I++)I>0&&(i+=" "),i+=t.getUint32(16*A+4*I).toString(16).padStart(8,"0")}return I&&(i=I+"\n"+i),i}function zI(A,I){if(A.byteLength!=I.byteLength)return!1;for(var t=new Int8Array(A),i=new Int8Array(I),g=0;g!=A.byteLength;g++)if(t[g]!=i[g])return!1;return!0}function WI(A){const I=A.getPartialHash(),t=OI(64);return t.setPartialHash(I),t}async function TI(A,I,t,i,g){if(A.G1.isZero(I))return!1;if(A.G1.isZero(t))return!1;if(A.G2.isZero(i))return!1;if(A.G2.isZero(g))return!1;return await A.pairingEq(I,g,A.G1.neg(t),i)}async function _I(A){for(;!A;)A=await window.prompt("Enter a random text. (Entropy): ","");const I=OI(64);I.update(DA.randomBytes(64));const t=new TextEncoder;I.update(t.encode(A));const i=Buffer.from(I.digest()),g=[];for(let A=0;A<8;A++)g[A]=i.readUInt32BE(4*A);return new wA(g)}function $I(A,I){let t,i;I<32?(t=1<>>0,i=1):(t=4294967296,i=1<>>0);let g=A;for(let A=0;A0){const I=new Uint8Array(i);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0)}async function Et(A,I,t){await mI(A,10),await A.write(t.csHash),await A.writeULE32(t.contributions.length);for(let i=0;i>1;const g=e.getUint32(4+i*C+4,!0);g>A?t=i-1:g>4&15).toString(16)+(15&A).toString(16);function s(A,I){var t,i,g,C=[0],Q="";for(i=0;i0;)C.push(t%I),t=t/I|0}for(i=C.length-1;i>=0;--i)Q+="0123456789abcdefghijklmnopqrstuvwxyz"[C[i]];return Q}function a(A,I){return{bits:I,value:A,dec:function(){return s(A,10)},hex:function(){return A},str:function(){return s(A,36)}}}function f(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return n[A>>>24]+n[A>>>16&255]+n[A>>>8&255]+n[255&A]},str:function(){return A.toString(36)}}}function w(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return("0000000000000000"+A.toString(16)).substr(-13)},str:function(){return A.toString(36)}}}function D(A,n){var B="object"==typeof A?JSON.stringify(A):A;switch(n||h){case 32:return I(B);case 64:return i(B);case 128:return g(B);case 256:return C(B);case 512:return Q(B);case 1024:return e(B);default:return t(B)}}function c(A){if("1a"===A)r=A,I=E?F:p,t=E?G:m,i=E?k:H,g=E?R:b,C=E?Y:v,Q=E?X:x,e=E?V:j;else{if("1"!==A)throw new Error("Supported FNV versions: 1, 1a");r=A,I=E?M:l,t=E?U:d,i=E?N:L,g=E?J:S,C=E?P:q,Q=E?Z:O,e=E?z:K}}function u(A){A?(E=!0,I="1a"==r?F:M,t="1a"==r?G:U,i="1a"==r?k:N,g="1a"==r?R:J,C="1a"==r?Y:P,Q="1a"==r?X:Z,e="1a"==r?V:z):(E=!1,I="1a"==r?p:l,t="1a"==r?m:d,i="1a"==r?H:L,g="1a"==r?b:S,C="1a"==r?v:q,Q="1a"==r?x:O,e="1a"==r?j:K)}function y(A){var I,t,i=r;for(var g in"chongo /\\../\\"===(A=A||0===A?A:"chongo /\\../\\")&&c("1"),o){for(o[g].offset=[],t=0;t>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g;for(;I>>16)&65535,C=65535&g;return f((e<<16>>>0)+C,32)}function l(A){var I,t=A.length-3,i=o[32].offset,g=0,C=0|i[1],Q=0,e=0|i[0];for(I=0;I>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=A.charCodeAt(I++);for(;I>>16)&65535,C=65535&g,C^=A.charCodeAt(I++);return f((e<<16>>>0)+C,32)}function F(A){var I,t,i=A.length,g=o[32].offset,C=0,Q=0|g[1],e=0,n=0|g[0];for(t=0;t>6|192)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),e+=(Q^=I>>12&63|128)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):(e=403*n,e+=(Q^=I>>12|224)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128),e=403*n,n=(e+=Q<<8)+((C=403*Q)>>>16)&65535,Q=65535&C;return f((n<<16>>>0)+Q,32)}function M(A){var I,t,i=A.length,g=o[32].offset,C=0,Q=0|g[1],e=0,n=0|g[0];for(t=0;t>>16)&65535,Q=65535&C,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=403*n,n=(e+=(Q^=I>>6|192)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),e+=(Q^=I>>12&63|128)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):(e=403*n,e+=(Q^=I>>12|224)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128);return f((n<<16>>>0)+Q,32)}function m(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],n=0,B=0|i[1],r=0,E=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n;for(;I>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n;return w(281474976710656*(15&E)+4294967296*B+65536*e+(C^E>>4),52)}function d(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],n=0,B=0|i[1],r=0,E=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=A.charCodeAt(I++);for(;I>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=A.charCodeAt(I++);return w(281474976710656*(15&E)+4294967296*B+65536*e+(C^E>>4),52)}function G(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,n=0|g[2],B=0,r=0|g[1],E=0,h=0|g[0];for(t=0;t>6|192)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):(e=435*n,B=435*r,E=435*h,B+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128),e=435*n,B=435*r,E=435*h,B+=Q<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B;return w(281474976710656*(15&h)+4294967296*r+65536*n+(Q^h>>4),52)}function U(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,n=0|g[2],B=0,r=0|g[1],E=0,h=0|g[0];for(t=0;t>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=435*n,B=435*r,E=435*h,B+=(Q^=I>>6|192)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):(e=435*n,B=435*r,E=435*h,B+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128);return w(281474976710656*(15&h)+4294967296*r+65536*n+(Q^h>>4),52)}function H(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],B=0,r=0|i[1],E=0,h=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B;for(;I>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B;return a(n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],64)}function L(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],B=0,r=0|i[1],E=0,h=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=A.charCodeAt(I++);for(;I>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=A.charCodeAt(I++);return a(n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],64)}function k(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,B=0|g[2],r=0,E=0|g[1],h=0,s=0|g[0];for(t=0;t>6|192)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):(e=435*B,r=435*E,h=435*s,r+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128),e=435*B,r=435*E,h=435*s,r+=Q<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r;return a(n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],64)}function N(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,B=0|g[2],r=0,E=0|g[1],h=0,s=0|g[0];for(t=0;t>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=435*B,r=435*E,h=435*s,r+=(Q^=I>>6|192)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):(e=435*B,r=435*E,h=435*s,r+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128);return a(n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],64)}function b(A){var I,t=A.length-3,i=o[128].offset,g=0,C=0|i[7],Q=0,e=0|i[6],B=0,r=0|i[5],E=0,h=0|i[4],s=0,f=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],y=0,p=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,y+=r<<8,C=65535&(g=315*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c;for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c;return a(n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],128)}function S(A){var I,t=A.length-3,i=o[128].offset,g=0,C=0|i[7],Q=0,e=0|i[6],B=0,r=0|i[5],E=0,h=0|i[4],s=0,f=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],y=0,p=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,y+=r<<8,C=65535&(g=315*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c,C^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c,C^=A.charCodeAt(I++);return a(n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],128)}function R(A){var I,t,i=A.length,g=o[128].offset,C=0,Q=0|g[7],e=0,B=0|g[6],r=0,E=0|g[5],h=0,s=0|g[4],f=0,w=0|g[3],D=0,c=0|g[2],u=0,y=0|g[1],p=0,l=0|g[0];for(t=0;t>6|192)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>12&63|128)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=I>>12|224)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128),e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=Q<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u;return a(n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],128)}function J(A){var I,t,i=A.length,g=o[128].offset,C=0,Q=0|g[7],e=0,B=0|g[6],r=0,E=0|g[5],h=0,s=0|g[4],f=0,w=0|g[3],D=0,c=0|g[2],u=0,y=0|g[1],p=0,l=0|g[0];for(t=0;t>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=I>>6|192)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>12&63|128)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=I>>12|224)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128);return a(n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],128)}function v(A){var I,t=A.length-3,i=o[256].offset,g=0,C=0|i[15],Q=0,e=0|i[14],B=0,r=0|i[13],E=0,h=0|i[12],s=0,f=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],y=0,p=0|i[8],l=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],U=0,H=0|i[4],L=0,k=0|i[3],N=0,b=0|i[2],S=0,R=0|i[1],J=0,v=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S;for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S;return a(n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],256)}function q(A){var I,t=A.length-3,i=o[256].offset,g=0,C=0|i[15],Q=0,e=0|i[14],B=0,r=0|i[13],E=0,h=0|i[12],s=0,f=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],y=0,p=0|i[8],l=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],U=0,H=0|i[4],L=0,k=0|i[3],N=0,b=0|i[2],S=0,R=0|i[1],J=0,v=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S,C^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S,C^=A.charCodeAt(I++);return a(n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],256)}function Y(A){var I,t,i=A.length,g=o[256].offset,C=0,Q=0|g[15],e=0,B=0|g[14],r=0,E=0|g[13],h=0,s=0|g[12],f=0,w=0|g[11],D=0,c=0|g[10],u=0,y=0|g[9],p=0,l=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,U=0|g[5],H=0,L=0|g[4],k=0,N=0|g[3],b=0,S=0|g[2],R=0,J=0|g[1],v=0,q=0|g[0];for(t=0;t>6|192)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>12&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=I>>12|224)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128),e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=Q<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R;return a(n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],256)}function P(A){var I,t,i=A.length,g=o[256].offset,C=0,Q=0|g[15],e=0,B=0|g[14],r=0,E=0|g[13],h=0,s=0|g[12],f=0,w=0|g[11],D=0,c=0|g[10],u=0,y=0|g[9],p=0,l=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,U=0|g[5],H=0,L=0|g[4],k=0,N=0|g[3],b=0,S=0|g[2],R=0,J=0|g[1],v=0,q=0|g[0];for(t=0;t>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=I>>6|192)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>12&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=I>>12|224)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128);return a(n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],256)}function x(A){var I,t=A.length-3,i=o[512].offset,g=0,C=0|i[31],Q=0,e=0|i[30],B=0,r=0|i[29],E=0,h=0|i[28],s=0,f=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],y=0,p=0|i[24],l=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],U=0,H=0|i[20],L=0,k=0|i[19],N=0,b=0|i[18],S=0,R=0|i[17],J=0,v=0|i[16],q=0,Y=0|i[15],P=0,x=0|i[14],O=0,X=0|i[13],Z=0,j=0|i[12],K=0,V=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],IA=0,tA=0|i[7],iA=0,gA=0|i[6],CA=0,QA=0|i[5],eA=0,nA=0|i[4],BA=0,rA=0|i[3],EA=0,hA=0|i[2],oA=0,sA=0|i[1],aA=0,fA=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,aA+=G<<8,C=65535&(g=343*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA;for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA;return a(n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],512)}function O(A){var I,t=A.length-3,i=o[512].offset,g=0,C=0|i[31],Q=0,e=0|i[30],B=0,r=0|i[29],E=0,h=0|i[28],s=0,f=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],y=0,p=0|i[24],l=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],U=0,H=0|i[20],L=0,k=0|i[19],N=0,b=0|i[18],S=0,R=0|i[17],J=0,v=0|i[16],q=0,Y=0|i[15],P=0,x=0|i[14],O=0,X=0|i[13],Z=0,j=0|i[12],K=0,V=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],IA=0,tA=0|i[7],iA=0,gA=0|i[6],CA=0,QA=0|i[5],eA=0,nA=0|i[4],BA=0,rA=0|i[3],EA=0,hA=0|i[2],oA=0,sA=0|i[1],aA=0,fA=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,aA+=G<<8,C=65535&(g=343*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA,C^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA,C^=A.charCodeAt(I++);return a(n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],512)}function X(A){var I,t,i=A.length,g=o[512].offset,C=0,Q=0|g[31],e=0,B=0|g[30],r=0,E=0|g[29],h=0,s=0|g[28],f=0,w=0|g[27],D=0,c=0|g[26],u=0,y=0|g[25],p=0,l=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,U=0|g[21],H=0,L=0|g[20],k=0,N=0|g[19],b=0,S=0|g[18],R=0,J=0|g[17],v=0,q=0|g[16],Y=0,P=0|g[15],x=0,O=0|g[14],X=0,Z=0|g[13],j=0,K=0|g[12],V=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,IA=0|g[8],tA=0,iA=0|g[7],gA=0,CA=0|g[6],QA=0,eA=0|g[5],nA=0,BA=0|g[4],rA=0,EA=0|g[3],hA=0,oA=0|g[2],sA=0,aA=0|g[1],fA=0,wA=0|g[0];for(t=0;t>6|192)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>12&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=I>>12|224)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128),e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=Q<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA;return a(n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],512)}function Z(A){var I,t,i=A.length,g=o[512].offset,C=0,Q=0|g[31],e=0,B=0|g[30],r=0,E=0|g[29],h=0,s=0|g[28],f=0,w=0|g[27],D=0,c=0|g[26],u=0,y=0|g[25],p=0,l=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,U=0|g[21],H=0,L=0|g[20],k=0,N=0|g[19],b=0,S=0|g[18],R=0,J=0|g[17],v=0,q=0|g[16],Y=0,P=0|g[15],x=0,O=0|g[14],X=0,Z=0|g[13],j=0,K=0|g[12],V=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,IA=0|g[8],tA=0,iA=0|g[7],gA=0,CA=0|g[6],QA=0,eA=0|g[5],nA=0,BA=0|g[4],rA=0,EA=0|g[3],hA=0,oA=0|g[2],sA=0,aA=0|g[1],fA=0,wA=0|g[0];for(t=0;t>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=I>>6|192)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>12&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=I>>12|224)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128);return a(n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],512)}function j(A){var I,t=A.length-3,i=o[1024].offset,g=0,C=0|i[63],Q=0,e=0|i[62],B=0,r=0|i[61],E=0,h=0|i[60],s=0,f=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],y=0,p=0|i[56],l=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],U=0,H=0|i[52],L=0,k=0|i[51],N=0,b=0|i[50],S=0,R=0|i[49],J=0,v=0|i[48],q=0,Y=0|i[47],P=0,x=0|i[46],O=0,X=0|i[45],Z=0,j=0|i[44],K=0,V=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],IA=0,tA=0|i[39],iA=0,gA=0|i[38],CA=0,QA=0|i[37],eA=0,nA=0|i[36],BA=0,rA=0|i[35],EA=0,hA=0|i[34],oA=0,sA=0|i[33],aA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],yA=0,pA=0|i[29],lA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],UA=0,HA=0|i[25],LA=0,kA=0|i[24],NA=0,bA=0|i[23],SA=0,RA=0|i[22],JA=0,vA=0|i[21],qA=0,YA=0|i[20],PA=0,xA=0|i[19],OA=0,XA=0|i[18],ZA=0,jA=0|i[17],KA=0,VA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,AI=0|i[13],II=0,tI=0|i[12],iI=0,gI=0|i[11],CI=0,QI=0|i[10],eI=0,nI=0|i[9],BI=0,rI=0|i[8],EI=0,hI=0|i[7],oI=0,sI=0|i[6],aI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],yI=0,pI=0|i[2],lI=0,FI=0|i[1],MI=0,mI=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI;for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI;return a(n[mI>>8]+n[255&mI]+n[FI>>8]+n[255&FI]+n[pI>>8]+n[255&pI]+n[uI>>8]+n[255&uI]+n[DI>>8]+n[255&DI]+n[fI>>8]+n[255&fI]+n[sI>>8]+n[255&sI]+n[hI>>8]+n[255&hI]+n[rI>>8]+n[255&rI]+n[nI>>8]+n[255&nI]+n[QI>>8]+n[255&QI]+n[gI>>8]+n[255&gI]+n[tI>>8]+n[255&tI]+n[AI>>8]+n[255&AI]+n[_A>>8]+n[255&_A]+n[WA>>8]+n[255&WA]+n[VA>>8]+n[255&VA]+n[jA>>8]+n[255&jA]+n[XA>>8]+n[255&XA]+n[xA>>8]+n[255&xA]+n[YA>>8]+n[255&YA]+n[vA>>8]+n[255&vA]+n[RA>>8]+n[255&RA]+n[bA>>8]+n[255&bA]+n[kA>>8]+n[255&kA]+n[HA>>8]+n[255&HA]+n[GA>>8]+n[255&GA]+n[mA>>8]+n[255&mA]+n[FA>>8]+n[255&FA]+n[pA>>8]+n[255&pA]+n[uA>>8]+n[255&uA]+n[DA>>8]+n[255&DA]+n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],1024)}function K(A){var I,t=A.length-3,i=o[1024].offset,g=0,C=0|i[63],Q=0,e=0|i[62],B=0,r=0|i[61],E=0,h=0|i[60],s=0,f=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],y=0,p=0|i[56],l=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],U=0,H=0|i[52],L=0,k=0|i[51],N=0,b=0|i[50],S=0,R=0|i[49],J=0,v=0|i[48],q=0,Y=0|i[47],P=0,x=0|i[46],O=0,X=0|i[45],Z=0,j=0|i[44],K=0,V=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],IA=0,tA=0|i[39],iA=0,gA=0|i[38],CA=0,QA=0|i[37],eA=0,nA=0|i[36],BA=0,rA=0|i[35],EA=0,hA=0|i[34],oA=0,sA=0|i[33],aA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],yA=0,pA=0|i[29],lA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],UA=0,HA=0|i[25],LA=0,kA=0|i[24],NA=0,bA=0|i[23],SA=0,RA=0|i[22],JA=0,vA=0|i[21],qA=0,YA=0|i[20],PA=0,xA=0|i[19],OA=0,XA=0|i[18],ZA=0,jA=0|i[17],KA=0,VA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,AI=0|i[13],II=0,tI=0|i[12],iI=0,gI=0|i[11],CI=0,QI=0|i[10],eI=0,nI=0|i[9],BI=0,rI=0|i[8],EI=0,hI=0|i[7],oI=0,sI=0|i[6],aI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],yI=0,pI=0|i[2],lI=0,FI=0|i[1],MI=0,mI=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI,C^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI,C^=A.charCodeAt(I++);return a(n[mI>>8]+n[255&mI]+n[FI>>8]+n[255&FI]+n[pI>>8]+n[255&pI]+n[uI>>8]+n[255&uI]+n[DI>>8]+n[255&DI]+n[fI>>8]+n[255&fI]+n[sI>>8]+n[255&sI]+n[hI>>8]+n[255&hI]+n[rI>>8]+n[255&rI]+n[nI>>8]+n[255&nI]+n[QI>>8]+n[255&QI]+n[gI>>8]+n[255&gI]+n[tI>>8]+n[255&tI]+n[AI>>8]+n[255&AI]+n[_A>>8]+n[255&_A]+n[WA>>8]+n[255&WA]+n[VA>>8]+n[255&VA]+n[jA>>8]+n[255&jA]+n[XA>>8]+n[255&XA]+n[xA>>8]+n[255&xA]+n[YA>>8]+n[255&YA]+n[vA>>8]+n[255&vA]+n[RA>>8]+n[255&RA]+n[bA>>8]+n[255&bA]+n[kA>>8]+n[255&kA]+n[HA>>8]+n[255&HA]+n[GA>>8]+n[255&GA]+n[mA>>8]+n[255&mA]+n[FA>>8]+n[255&FA]+n[pA>>8]+n[255&pA]+n[uA>>8]+n[255&uA]+n[DA>>8]+n[255&DA]+n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],1024)}function V(A){var I,t,i=A.length,g=o[1024].offset,C=0,Q=0|g[63],e=0,B=0|g[62],r=0,E=0|g[61],h=0,s=0|g[60],f=0,w=0|g[59],D=0,c=0|g[58],u=0,y=0|g[57],p=0,l=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,U=0|g[53],H=0,L=0|g[52],k=0,N=0|g[51],b=0,S=0|g[50],R=0,J=0|g[49],v=0,q=0|g[48],Y=0,P=0|g[47],x=0,O=0|g[46],X=0,Z=0|g[45],j=0,K=0|g[44],V=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,IA=0|g[40],tA=0,iA=0|g[39],gA=0,CA=0|g[38],QA=0,eA=0|g[37],nA=0,BA=0|g[36],rA=0,EA=0|g[35],hA=0,oA=0|g[34],sA=0,aA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,yA=0|g[30],pA=0,lA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,UA=0|g[26],HA=0,LA=0|g[25],kA=0,NA=0|g[24],bA=0,SA=0|g[23],RA=0,JA=0|g[22],vA=0,qA=0|g[21],YA=0,PA=0|g[20],xA=0,OA=0|g[19],XA=0,ZA=0|g[18],jA=0,KA=0|g[17],VA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],AI=0,II=0|g[13],tI=0,iI=0|g[12],gI=0,CI=0|g[11],QI=0,eI=0|g[10],nI=0,BI=0|g[9],rI=0,EI=0|g[8],hI=0,oI=0|g[7],sI=0,aI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,yI=0|g[3],pI=0,lI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t>6|192)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>12&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=I>>12|224)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128),e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=Q<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI;return a(n[dI>>8]+n[255&dI]+n[MI>>8]+n[255&MI]+n[lI>>8]+n[255&lI]+n[yI>>8]+n[255&yI]+n[cI>>8]+n[255&cI]+n[wI>>8]+n[255&wI]+n[aI>>8]+n[255&aI]+n[oI>>8]+n[255&oI]+n[EI>>8]+n[255&EI]+n[BI>>8]+n[255&BI]+n[eI>>8]+n[255&eI]+n[CI>>8]+n[255&CI]+n[iI>>8]+n[255&iI]+n[II>>8]+n[255&II]+n[$A>>8]+n[255&$A]+n[TA>>8]+n[255&TA]+n[zA>>8]+n[255&zA]+n[KA>>8]+n[255&KA]+n[ZA>>8]+n[255&ZA]+n[OA>>8]+n[255&OA]+n[PA>>8]+n[255&PA]+n[qA>>8]+n[255&qA]+n[JA>>8]+n[255&JA]+n[SA>>8]+n[255&SA]+n[NA>>8]+n[255&NA]+n[LA>>8]+n[255&LA]+n[UA>>8]+n[255&UA]+n[dA>>8]+n[255&dA]+n[MA>>8]+n[255&MA]+n[lA>>8]+n[255&lA]+n[yA>>8]+n[255&yA]+n[cA>>8]+n[255&cA]+n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],1024)}function z(A){var I,t,i=A.length,g=o[1024].offset,C=0,Q=0|g[63],e=0,B=0|g[62],r=0,E=0|g[61],h=0,s=0|g[60],f=0,w=0|g[59],D=0,c=0|g[58],u=0,y=0|g[57],p=0,l=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,U=0|g[53],H=0,L=0|g[52],k=0,N=0|g[51],b=0,S=0|g[50],R=0,J=0|g[49],v=0,q=0|g[48],Y=0,P=0|g[47],x=0,O=0|g[46],X=0,Z=0|g[45],j=0,K=0|g[44],V=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,IA=0|g[40],tA=0,iA=0|g[39],gA=0,CA=0|g[38],QA=0,eA=0|g[37],nA=0,BA=0|g[36],rA=0,EA=0|g[35],hA=0,oA=0|g[34],sA=0,aA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,yA=0|g[30],pA=0,lA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,UA=0|g[26],HA=0,LA=0|g[25],kA=0,NA=0|g[24],bA=0,SA=0|g[23],RA=0,JA=0|g[22],vA=0,qA=0|g[21],YA=0,PA=0|g[20],xA=0,OA=0|g[19],XA=0,ZA=0|g[18],jA=0,KA=0|g[17],VA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],AI=0,II=0|g[13],tI=0,iI=0|g[12],gI=0,CI=0|g[11],QI=0,eI=0|g[10],nI=0,BI=0|g[9],rI=0,EI=0|g[8],hI=0,oI=0|g[7],sI=0,aI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,yI=0|g[3],pI=0,lI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=I>>6|192)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>12&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=I>>12|224)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128);return a(n[dI>>8]+n[255&dI]+n[MI>>8]+n[255&MI]+n[lI>>8]+n[255&lI]+n[yI>>8]+n[255&yI]+n[cI>>8]+n[255&cI]+n[wI>>8]+n[255&wI]+n[aI>>8]+n[255&aI]+n[oI>>8]+n[255&oI]+n[EI>>8]+n[255&EI]+n[BI>>8]+n[255&BI]+n[eI>>8]+n[255&eI]+n[CI>>8]+n[255&CI]+n[iI>>8]+n[255&iI]+n[II>>8]+n[255&II]+n[$A>>8]+n[255&$A]+n[TA>>8]+n[255&TA]+n[zA>>8]+n[255&zA]+n[KA>>8]+n[255&KA]+n[ZA>>8]+n[255&ZA]+n[OA>>8]+n[255&OA]+n[PA>>8]+n[255&PA]+n[qA>>8]+n[255&qA]+n[JA>>8]+n[255&JA]+n[SA>>8]+n[255&SA]+n[NA>>8]+n[255&NA]+n[LA>>8]+n[255&LA]+n[UA>>8]+n[255&UA]+n[dA>>8]+n[255&dA]+n[MA>>8]+n[255&MA]+n[lA>>8]+n[255&lA]+n[yA>>8]+n[255&yA]+n[cA>>8]+n[255&cA]+n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],1024)}return I=p,t=m,i=H,g=b,C=v,Q=x,e=j,c("1a"),u(!1),y(),{hash:D,setKeyspace:function(A){if(52!==A&&!o[A])throw new Error("Supported FNV keyspacs: 32, 52, 64, 128, 256, 512, and 1024 bit");h=A},version:c,useUTF8:u,seed:y,fast1a32:function(A){var I,t=A.length-3,i=0,g=40389,C=0,Q=33052;for(I=0;I>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),Q=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I>>16)&65535,g=65535&i;return(Q<<16>>>0)+g},fast1a32hex:function(A){var I,t=A.length-3,i=0,g=40389,C=0,Q=33052;for(I=0;I>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),Q=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I>>16)&65535,g=65535&i;return n[Q>>>8&255]+n[255&Q]+n[g>>>8&255]+n[255&g]},fast1a52:function(A){var I,t=A.length-3,i=0,g=8997,C=0,Q=33826,e=0,n=40164,B=0,r=52210;for(I=0;I>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(n=65535&e),B=435*r,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(n=65535&e),B=435*r,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(n=65535&e),B=435*r,e+=(g^=A.charCodeAt(I++))<<8,B+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),r=B+((e+=C>>>16)>>>16)&65535,n=65535&e;for(;I>>16),r=B+((e+=C>>>16)>>>16)&65535,n=65535&e;return 281474976710656*(15&r)+4294967296*n+65536*Q+(g^r>>4)},fast1a52hex:function(A){var I,t=A.length-3,i=0,g=8997,C=0,Q=33826,e=0,r=40164,E=0,h=52210;for(I=0;I>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(r=65535&e),E=435*h,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(r=65535&e),E=435*h,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(r=65535&e),E=435*h,e+=(g^=A.charCodeAt(I++))<<8,E+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),h=E+((e+=C>>>16)>>>16)&65535,r=65535&e;for(;I>>16),h=E+((e+=C>>>16)>>>16)&65535,r=65535&e;return B[15&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[g>>8^h>>12]+n[255&(g^h>>4)]},fast1a64:function(A){var I,t=A.length-3,i=0,g=8997,C=0,Q=33826,e=0,B=40164,r=0,E=52210;for(I=0;I>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(B=65535&e),r=435*E,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(B=65535&e),r=435*E,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(B=65535&e),r=435*E,e+=(g^=A.charCodeAt(I++))<<8,r+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),E=r+((e+=C>>>16)>>>16)&65535,B=65535&e;for(;I>>16),E=r+((e+=C>>>16)>>>16)&65535,B=65535&e;return n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q]+n[g>>8]+n[255&g]},fast1a32utf:function(A){var I,t,i=A.length,g=0,C=40389,Q=0,e=33052;for(t=0;t>6|192)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=I>>12&63|128)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):(Q=403*e,Q+=(C^=I>>12|224)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128),Q=403*e,e=(Q+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g;return(e<<16>>>0)+C},fast1a32hexutf:function(A){var I,t,i=A.length,g=0,C=40389,Q=0,e=33052;for(t=0;t>6|192)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=I>>12&63|128)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):(Q=403*e,Q+=(C^=I>>12|224)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128),Q=403*e,e=(Q+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g;return n[e>>>8&255]+n[255&e]+n[C>>>8&255]+n[255&C]},fast1a52utf:function(A){var I,t,i=A.length,g=0,C=8997,Q=0,e=33826,n=0,B=40164,r=0,E=52210;for(t=0;t>6|192)<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=I>>6&63|128)<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=63&I|128):(Q=435*e,n=435*B,r=435*E,n+=(C^=I>>12|224)<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=I>>6&63|128)<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=63&I|128),Q=435*e,n=435*B,r=435*E,n+=C<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n;return 281474976710656*(15&E)+4294967296*B+65536*e+(C^E>>4)},fast1a52hexutf:function(A){var I,t,i=A.length,g=0,C=8997,Q=0,e=33826,r=0,E=40164,h=0,o=52210;for(t=0;t>6|192)<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(g=435*C),o=(h+=e<<8)+((r+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),r=435*(E=65535&r),h=435*o,r+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),o=(h+=e<<8)+((r+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),r=435*(E=65535&r),h=435*o,r+=(C^=I>>6&63|128)<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,C^=63&I|128):(Q=435*e,r=435*E,h=435*o,r+=(C^=I>>12|224)<<8,C=65535&(g=435*C),o=(h+=e<<8)+((r+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),r=435*(E=65535&r),h=435*o,r+=(C^=I>>6&63|128)<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,C^=63&I|128),Q=435*e,r=435*E,h=435*o,r+=C<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r;return B[15&o]+n[E>>8]+n[255&E]+n[e>>8]+n[255&e]+n[C>>8^o>>12]+n[255&(C^o>>4)]},fast1a64utf:function(A){var I,t,i=A.length,g=0,C=8997,Q=0,e=33826,B=0,r=40164,E=0,h=52210;for(t=0;t>6|192)<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=I>>6&63|128)<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):(Q=435*e,B=435*r,E=435*h,B+=(C^=I>>12|224)<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=I>>6&63|128)<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=63&I|128),Q=435*e,B=435*r,E=435*h,B+=C<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B;return n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C]}}}();A.exports=I}));var Dt={fnvHash:function(A){return wt.hash(A,64).hex()},flatArray:function(A){var I=[];return function A(I,t){if(Array.isArray(t))for(let i=0;i>BigInt(I)}const Ft=pt,Mt=lt;var mt=Object.freeze({__proto__:null,fromString:ut,e:yt,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i>=1n}return t},bits:function(A){let I=BigInt(A);const t=[];for(;I;)1n&I?t.push(1):t.push(0),I>>=1n;return t},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const t=[];let i=BigInt(A);for(I=BigInt(I);i;)t.unshift(Number(i%I)),i/=I;return t},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function dt(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const Gt=dt;function Ut(A,I){return r(A).shiftLeft(I)}function Ht(A,I){return r(A).shiftRight(I)}const Lt=Ut,kt=Ht;var Nt=Object.freeze({__proto__:null,fromString:dt,e:Gt,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:Ut,shiftRight:Ht,shl:Lt,shr:kt,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const bt="function"==typeof BigInt;let St={};bt?Object.assign(St,mt):Object.assign(St,Nt),St.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A>5);for(let A=0;Ag[g.length-I-1]=A.toString(16).padStart(8,"0")),St.fromString(g.join(""),16)},St.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A>1,e=Ui(A,I,t-1,i,2*g),n=Ui(A,I,t-1,i+g,2*g),B=new Array(C);for(let I=0;I>1,C=Hi(A,I.slice(0,g),t-1),Q=Hi(A,I.slice(g),t-1),e=new Array(i);for(let I=0;I>=1;return t}function Ni(A,I){return(Li[A>>>24]|Li[A>>>16&255]<<8|Li[A>>>8&255]<<16|Li[255&A]<<24)>>>32-I}function bi(A,I){for(let t=0;tt){const I=A[t];A[t]=A[i],A[i]=I}}}function Si(A,I,t){let i;if(zt(t))return A.zero;const g=Ii(t);if(1==g[g.length-1])i=I;else{if(-1!=g[g.length-1])throw new Error("invlaud NAF");i=A.neg(I)}for(let t=g.length-2;t>=0;t--)i=A.double(i),1==g[t]?i=A.add(i,I):-1==g[t]&&(i=A.sub(i,I));return i}function Ri(A,I,t){if(zt(t))return A.one;const i=ti(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function Ji(A){if(A.m%2==1)if(ai(si(A.p,4),1))if(ai(si(A.p,8),1))if(ai(si(A.p,16),1))!function(A){A.sqrt_q=ri(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Qi(A.sqrt_q,1);for(;!Ai(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=oi(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<16|A[g]>>>16&65535)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<12|A[t]>>>20&4095)>>>0,A[I]=A[I]+A[t]>>>0,A[g]=(A[g]^A[I])>>>0,A[g]=(A[g]<<8|A[g]>>>24&255)>>>0,A[i]=A[i]+A[g]>>>0,A[t]=(A[t]^A[i])>>>0,A[t]=(A[t]<<7|A[t]>>>25&127)>>>0}class qi{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return Ci(ni(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)vi(A=this.buff,0,4,8,12),vi(A,1,5,9,13),vi(A,2,6,10,14),vi(A,3,7,11,15),vi(A,0,5,10,15),vi(A,1,6,11,12),vi(A,2,7,8,13),vi(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}function Yi(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let t=0;t>>0;else DA.randomFillSync(I);return I}let Pi=null;function xi(){return Pi||(Pi=new qi(function(){const A=Yi(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}()),Pi)}class Oi{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=Kt(this.p),this.mask=(1n<>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),Ji(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return Ri(this,A,I)}exp(A,I){return Ri(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)=this.p?t-this.p:t}{const t=this.p-I;return Number(t)>t:0n}}shr(A,I){if(Number(I)>I;{const t=this.p-I;if(Number(t)=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let Q=t;for(let A=0;Athis.p>>1n&&(g=this.neg(g)),g}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let t=0;tthis.half){t="-"+(this.p-A).toString(I)}else t=A.toString(I);return t}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let t=0;t=this.p);return I=I*this.Ri%this.p,I}}class Xi{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),Ji(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let Q=t;for(let A=0;A=0;t--)if(!A.F.isZero(I[t]))return Vi(A.F,I[t]);return 0}{const t=A.neg(I);return Di(I,t)}}var zi=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<=2?(t-=2,I+=BigInt(g.getUint16(t))<0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var Wi=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t>=1;return t}Ti.bitReverse=function(A,I){return(_i[A>>>24]|_i[A>>>16&255]<<8|_i[A>>>8&255]<<16|_i[255&A]<<24)>>>32-I},Ti.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},Ti.buffReverseBits=function(A,I){const t=A.byteLength/I,i=Ti.log2(t);if(t!=1<t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};let{bitReverse:Ag,log2:Ig,buffReverseBits:tg,stringifyBigInts:ig,unstringifyBigInts:gg,beBuff2int:Cg,beInt2Buff:Qg,leBuff2int:eg,leInt2Buff:ng}=Ti;var Bg=Object.freeze({__proto__:null,bitReverse:Ag,log2:Ig,buffReverseBits:tg,stringifyBigInts:ig,unstringifyBigInts:gg,beBuff2int:Cg,beInt2Buff:Qg,leBuff2int:eg,leInt2Buff:ng});function rg(A,I,t,i){return async function(g){const C=Math.floor(g.byteLength/t);if(C*t!==g.byteLength)throw new Error("Invalid buffer size");const Q=Math.floor(C/A.concurrency),e=[];for(let n=0;n=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=rg(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=rg(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=Pt(Zt(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let t=Zt(A,I);Vt(t)?(t=ei(t),Di(t,this.p)&&(t=si(t,this.p)),t=Qi(this.p,t)):Di(t,this.p)&&(t=si(t,this.p));const i=ng(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=vt(t,0);return Yt(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=xt;for(let t=0;tt.buffer.byteLength;)t.grow(100);return I}function e(A){const I=Q(A.byteLength);return n(I,A),I}function n(A,I){g.set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return C(A[0]);const t={vars:[],out:[]},B=i[0];for(let i=0;i{this.reject=I,this.resolve=A})}}function cg(A){for(var I=window.atob(A),t=I.length,i=new Uint8Array(t),g=0;g0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const t=new Dg;if(this.singleThread){const I=this.taskManager(A);t.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:t}),this.processWorks();return t.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;AsetTimeout(I,A)))}}function yg(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,C,Q,e,n){let B,r,E,h,o;if(e=e||"affine",n=n||"affine","G1"==I)"jacobian"==e?(E=3*t.F.n8,B="g1m_batchApplyKey"):(E=2*t.F.n8,B="g1m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g1m_batchToAffine",o=2*t.F.n8);else if("G2"==I)"jacobian"==e?(E=3*t.F.n8,B="g2m_batchApplyKey"):(E=2*t.F.n8,B="g2m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g2m_batchToAffine",o=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",E=t.n8,h=t.n8,o=t.n8}const s=Math.floor(A.byteLength/E),a=Math.floor(s/g.concurrency),f=[];Q=i.e(Q);let w=i.e(C);for(let I=0;I=0;A--){if(!t.isZero(o))for(let A=0;A(B&&B.debug(`fft: ${A}/${e}`),I)))}A=await Promise.all(n);for(let I=0;I0;I--)l.set(A[I],i),i+=t,delete A[I];l.set(A[0].slice(0,(I-1)*h),i),delete A[e-1]}}return c?A.buffer2array(l,h):l}t.fft=async function(A,I,t,i){return await C(A,!1,I,t,i)},t.ifft=async function(A,I,t,i){return await C(A,!0,I,t,i)},t.fftMix=async function(A){const C=3*t.F.n8;let Q,e;if("G1"==I)Q="g1m_fftMix",e="g1m_fftJoin";else if("G2"==I)Q="g2m_fftMix",e="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");Q="frm_fftMix",e="frm_fftJoin"}const n=Math.floor(A.byteLength/C),B=Ig(n);let r=1<=0;A--)o.set(h[A][0],s),s+=h[A][0].byteLength;return o}}async function Mg(A){const I=await async function(A,I){const t=new ug;t.memory=new WebAssembly.Memory({initial:4096}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(cg(A.code));if(t.instance=await WebAssembly.instantiate(i,{env:{memory:t.memory}}),t.singleThread=I,t.initalPFree=t.u32[0],t.pq=A.pq,t.pr=A.pr,t.pG1gen=A.pG1gen,t.pG1zero=A.pG1zero,t.pG2gen=A.pG2gen,t.pG2zero=A.pG2zero,t.pOneT=A.pOneT,I)t.code=cg(A.code),t.taskManager=ag(),await t.taskManager([{cmd:"INIT",init:4096,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:DA.cpus().length,t.concurrency=I;for(let A=0;A=0;)this.w[g]=this.F.square(this.w[g+1]),this.wi[g]=this.F.square(this.wi[g+1]),g--;this.roots=[],this._setRoots(15)}_setRoots(A){for(let I=A;I>=0&&!this.roots[I];I--){let A=this.F.one;const t=1<A.length&&([I,A]=[A,I]),I.length<=2||I.length0){return new Array(I).fill(this.F.zero).concat(A)}return-I>=A.length?[]:A.slice(-I)}eval2(A,I){let t=this.F.zero,i=this.F.one;for(let g=0;g>1),t.mul(i,A(I,e,g+C,C<<1,Q>>1)))}(this.extend(A,i),I,0,1,i)}lagrange(A){let I=[this.F.one];for(let t=0;t>1,Q=this._fft(A,I-1,t,2*i),e=this._fft(A,I-1,t+i,2*i),n=new Array(g);let B=this.F.one;for(let A=0;A0&&this.F.eq(A[I],this.F.zero);)I--;return A.slice(0,I+1)}eq(A,I){const t=this.reduce(A),i=this.reduce(I);if(t.length!=i.length)return!1;for(let A=0;A=0;i--)t[i]=this.F.add(this.F.mul(t[i+1],I),A[i+1]);return t}_next2Power(A){return A--,A|=A>>1,A|=A>>2,A|=A>>4,A|=A>>8,A|=A>>16,++A}toString(A){let I="";for(let t=this.normalize(A).length-1;t>=0;t--)this.F.eq(A[t],this.F.zero)||(""!=I&&(I+=" + "),I+=A[t].toString(10),t>0&&(I+="x",t>1&&(I=I+"^"+t)));return I}normalize(A){const I=new Array(A.length);for(let t=0;t2*Q&&(B=this.sub(this.scaleX([this.F.one],2*Q),this.mul(n,C)));let r,E,h=[],o=g,s=!1;for(;!s;)r=this.mul(o,n),h=this.add(h,this.scaleX(r,-2*Q)),e>2*Q?(E=this.mul(o,B),o=this.scaleX(E,-2*Q),e=o.length-1):s=!0;return h}oneRoot(A,I){let t=Gi(A-1)+1,i=this.F.one,g=I;if(I>=A)throw new Error("Given 'i' should be lower than 'n'");if(1<0;)!0&g&&(i=this.F.mul(i,this.w[t])),g>>=1,t--;return i}computeVanishingPolinomial(A,I){const t=1<=0;g--)if(t.eq(A[I[g]][2],t.zero))i[g]=i[g+1],A[I[g]]=this.zero;else{const C=t.mul(i[g],i[g+1]);i[g]=t.mul(A[I[g]][2],i[g+1]);const Q=t.square(C),e=t.mul(Q,C);A[I[g]][0]=t.mul(A[I[g]][0],Q),A[I[g]][1]=t.mul(A[I[g]][1],e),A[I[g]][2]=t.one}}eq(A,I){const t=this.F;if(this.F.eq(A[2],this.F.zero))return this.F.eq(I[2],this.F.zero);if(this.F.eq(I[2],this.F.zero))return!1;const i=t.square(A[2]),g=t.square(I[2]),C=t.mul(A[0],g),Q=t.mul(I[0],i),e=t.mul(A[2],i),n=t.mul(I[2],g),B=t.mul(A[1],n),r=t.mul(I[1],e);return t.eq(C,Q)&&t.eq(B,r)}isZero(A){return this.F.isZero(A[2])}toString(A){const I=this.affine(A);return`[ ${this.F.toString(I[0])} , ${this.F.toString(I[1])} ]`}fromRng(A){const I=this.F;let t,i=[];do{i[0]=I.fromRng(A),t=A.nextBool();const g=I.add(I.mul(I.square(i[0]),i[0]),this.b);i[1]=I.sqrt(g)}while(null==i[1]||I.isZero[i]);return t^Vi(I,i[1])&&(i[1]=I.neg(i[1])),i[2]=I.one,this.cofactor&&(i=this.mulScalar(i,this.cofactor)),i=this.affine(i),i}toRprLE(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLE(A,I,t[0]),this.F.toRprLE(A,I+this.F.n8,t[1])}toRprBE(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprBE(A,I,t[0]),this.F.toRprBE(A,I+this.F.n8,t[1])}toRprLEM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1])}toRprLEJM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1]),this.F.toRprLEM(A,I+2*this.F.n8,t[2])}toRprBEM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprBEM(A,I,t[0]),this.F.toRprBEM(A,I+this.F.n8,t[1])}fromRprLE(A,I){I=I||0;const t=this.F.fromRprLE(A,I),i=this.F.fromRprLE(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprBE(A,I){I=I||0;const t=this.F.fromRprBE(A,I),i=this.F.fromRprBE(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprLEM(A,I){I=I||0;const t=this.F.fromRprLEM(A,I),i=this.F.fromRprLEM(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprLEJM(A,I){I=I||0;const t=this.F.fromRprLEM(A,I),i=this.F.fromRprLEM(A,I+this.F.n8),g=this.F.fromRprLEM(A,I+2*this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,g]}fromRprBEM(A,I){I=I||0;const t=this.F.fromRprBEM(A,I),i=this.F.fromRprBEM(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprCompressed(A,I){const t=this.F,i=new Uint8Array(A.buffer,I,t.n8);if(64&i[0])return this.zero;const g=new Array(3),C=0!=(128&i[0]);i[0]=127&i[0],g[0]=t.fromRprBE(A,I),C&&(i[0]=128|i[0]);const Q=t.add(t.mul(t.square(g[0]),g[0]),this.b);if(g[1]=t.sqrt(Q),null===g[1])throw new Error("Invalid Point!");return C^Vi(t,g[1])&&(g[1]=t.neg(g[1])),g[2]=t.one,g}toRprCompressed(A,I,t){t=this.affine(t);const i=new Uint8Array(A.buffer,I,this.F.n8);if(this.isZero(t))return i.fill(0),void(i[0]=64);this.F.toRprBE(A,I,t[0]),Vi(this.F,t[1])&&(i[0]=128|i[0])}fromRprUncompressed(A,I){return 64&A[0]?this.zero:this.fromRprBE(A,I)}toRprUncompressed(A,I,t){this.toRprBE(A,I,t),this.isZero(t)&&(A[I]=64|A[I])}},buildBn128:async function(){if(mg)return mg;const A={name:"bn128",wasm:dA.bn128_wasm,q:Zt("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:Zt("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:Zt("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!1};return mg=await Mg(A),mg.terminate=async function(){mg=null,await this.tm.terminate()},mg},buildBls12381:async function(){if(dg)return dg;const A={name:"bls12381",wasm:dA.bls12381_wasm,q:Zt("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),r:Zt("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),n8q:48,n8r:32,cofactorG1:Zt("0x396c8c005555e1568c00aaab0000aaab",16),cofactorG2:Zt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5",16),singleThread:!1};return dg=await Mg(A),dg.terminate=async function(){dg=null,await this.tm.terminate()},dg},ChaCha:qi});const Lg=Hg.Scalar,kg=Hg.F1Field;class Ng{constructor(A,I,t){this.memory=A,this.i32=new Uint32Array(A.buffer),this.instance=I,this.n32=(this.instance.exports.getFrLen()>>2)-2;const i=this.instance.exports.getPRawPrime(),g=new Array(this.n32);for(let A=0;A>2)+A];this.prime=Lg.fromArray(g,4294967296),this.Fr=new kg(this.prime),this.mask32=Lg.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(Lg.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=t}async _doCalculateWitness(A,I){this.instance.exports.init(this.sanityCheck||I?1:0);const t=this.allocInt(),i=this.allocFr();Object.keys(A).forEach(I=>{const g=Dt.fnvHash(I),C=parseInt(g.slice(0,8),16),Q=parseInt(g.slice(8,16),16);try{this.instance.exports.getSignalOffset32(t,0,C,Q)}catch(A){throw new Error(`Signal ${I} is not an input of the circuit.`)}const e=this.getInt(t),n=Dt.flatArray(A[I]);for(let A=0;A>2]}setInt(A,I){this.i32[A>>2]=I}getFr(A){const I=this,t=A>>2;if(2147483648&I.i32[t+1]){const A=new Array(I.n32);for(let i=0;i>2]=g,void(t.i32[1+(A>>2)]=0)}t.i32[A>>2]=0,t.i32[1+(A>>2)]=2147483648;const C=Lg.toArray(I,4294967296);for(let I=0;I>2)+I]=i>=0?C[i]:0}}}var bg={WitnessCalculatorBuilder:async function(A,I){I=I||{};const t=new WebAssembly.Memory({initial:2e4}),i=await WebAssembly.compile(A);let g;const C=await WebAssembly.instantiate(i,{env:{memory:t},runtime:{error:function(A,I,t,i,C,Q){let n;throw n=7==A?e(I)+" "+g.getFr(i).toString()+" != "+g.getFr(C).toString()+" "+e(Q):e(I)+" "+t+" "+i+" "+C+" "+Q,console.log("ERROR: ",A,n),new Error(n)},log:function(A){console.log(g.getFr(A).toString())},logGetSignal:function(A,t){I.logGetSignal&&I.logGetSignal(A,g.getFr(t))},logSetSignal:function(A,t){I.logSetSignal&&I.logSetSignal(A,g.getFr(t))},logStartComponent:function(A){I.logStartComponent&&I.logStartComponent(A)},logFinishComponent:function(A){I.logFinishComponent&&I.logFinishComponent(A)}}}),Q=I&&(I.sanityCheck||I.logGetSignal||I.logSetSignal||I.logStartComponent||I.logFinishComponent);return g=new Ng(t,C,Q),g;function e(A){const I=new Uint8Array(t.buffer),i=[];for(let t=0;I[A+t]>0;t++)i.push(I[A+t]);return String.fromCharCode.apply(null,i)}}};const{WitnessCalculatorBuilder:Sg}=bg;async function Rg(A,I,t,i){const g=await lI(I),C=await g.read(g.totalSize);await g.close();const Q=await Sg(C),e=await Q.calculateBinWitness(A),n=await MI(t,"wtns",2,2);await async function(A,I,t){await mI(A,1);const i=8*(Math.floor((BI.bitLength(t)-1)/64)+1);if(await A.writeULE32(i),await HI(A,t,i),I.byteLength%i!=0)throw new Error("Invalid witness length");await A.writeULE32(I.byteLength/i),await dI(A),await mI(A,2),await A.write(I),await dI(A)}(n,e,Q.prime),await n.close()}const{unstringifyBigInts:Jg}=rI;var vg=Object.freeze({__proto__:null,fullProve:async function(A,I,t,i){const g={type:"mem"};return await Rg(A,I,g),await ft(t,g)},prove:ft,verify:async function(A,I,t,i){A=Jg(A),t=Jg(t),I=Jg(I);const g=await async function(A){let I;const t=A.toUpperCase().match(/[A-Za-z0-9]+/g).join("");if(["BN128","BN254","ALTBN128"].indexOf(t)>=0)I=await eI();else{if(!(["BLS12381"].indexOf(t)>=0))throw new Error("Curve not supported: "+A);I=await nI()}return I}(A.curve),C=g.G1.fromObject(A.IC[0]),Q=new Uint8Array(2*g.G1.F.n8*I.length),e=new Uint8Array(g.Fr.n8*I.length);for(let t=0;t1)throw new Error(A.fileName+": File has more than one header");A.pos=I[1][0].p;const t=await A.readULE32(),i=await A.read(t),g=BI.fromRprLE(i),C=await JI(g);if(8*C.F1.n64!=t)throw new Error(A.fileName+": Invalid size");const Q=await A.readULE32(),e=await A.readULE32();if(A.pos-I[1][0].p!=I[1][0].size)throw new Error("Invalid PTau header size");return{curve:C,power:Q,ceremonyPower:e}}function Zg(A,I,t,i){const g={tau:{},alpha:{},beta:{}};return g.tau.g1_s=C(),g.tau.g1_sx=C(),g.alpha.g1_s=C(),g.alpha.g1_sx=C(),g.beta.g1_s=C(),g.beta.g1_sx=C(),g.tau.g2_spx=Q(),g.alpha.g2_spx=Q(),g.beta.g2_spx=Q(),g;function C(){let g;return g=i?t.G1.fromRprLEM(A,I):t.G1.fromRprUncompressed(A,I),I+=2*t.G1.F.n8,g}function Q(){let g;return g=i?t.G2.fromRprLEM(A,I):t.G2.fromRprUncompressed(A,I),I+=2*t.G2.F.n8,g}}function jg(A,I,t,i,g){async function C(i){g?t.G1.toRprLEM(A,I,i):t.G1.toRprUncompressed(A,I,i),I+=2*t.F1.n8}async function Q(i){g?t.G2.toRprLEM(A,I,i):t.G2.toRprUncompressed(A,I,i),I+=2*t.F2.n8}return C(i.tau.g1_s),C(i.tau.g1_sx),C(i.alpha.g1_s),C(i.alpha.g1_sx),C(i.beta.g1_s),C(i.beta.g1_sx),Q(i.tau.g2_spx),Q(i.alpha.g2_spx),Q(i.beta.g2_spx),A}async function Kg(A,I){const t={};t.tauG1=await n(),t.tauG2=await B(),t.alphaG1=await n(),t.betaG1=await n(),t.betaG2=await B(),t.key=await async function(A,I,t){return Zg(await A.read(2*I.F1.n8*6+2*I.F2.n8*3),0,I,t)}(A,I,!0),t.partialHash=await A.read(216),t.nextChallenge=await A.read(64),t.type=await A.readULE32();const i=new Uint8Array(2*I.G1.F.n8*6+2*I.G2.F.n8*3);jg(i,0,I,t.key,!1);const g=OI(64);g.setPartialHash(t.partialHash),g.update(i),t.responseHash=g.digest();const C=await A.readULE32(),Q=A.pos;let e=0;for(;A.pos-Q1)throw new Error(A.fileName+": File has more than one contributions section");A.pos=t[7][0].p;const i=await A.readULE32(),g=[];for(let t=0;t0){const I=new Uint8Array(C);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0);async function Q(t){I.G1.toRprLEM(i,0,t),await A.write(i)}async function e(t){I.G2.toRprLEM(g,0,t),await A.write(g)}}async function Wg(A,I,t){await A.writeULE32(7);const i=A.pos;await A.writeULE64(0),await A.writeULE32(t.length);for(let i=0;i0?r[r.length-1].nextChallenge:Tg(n,B,C);const D=await MI(t,"ptau",1,7);await Og(D,n,B);const c=await f.read(64);if(!zI(c,w))throw new Error("Wrong contribution. this contribution is not based on the previus hash");const u=new OI(64);u.update(c);const y=[];let p;p=await m(f,D,"G1",2,2*(1<=t&&I1?n[n.length-2]:B;const E=n[n.length-1];if(I&&I.debug("Validating contribution #"+n[n.length-1].id),!await AC(C,E,r,I))return!1;const h=OI(64);h.update(E.responseHash),I&&I.debug("Verifying powers in tau*G1 section");const o=await u(2,"G1","tauG1",2*(1<1)throw A.error("File has no BetaG2 section"),new Error("File has more than one GetaG2 section");i.pos=g[6][0].p;const e=await i.read(t),n=I.fromRprLEM(e);return I.toRprUncompressed(Q,0,n),h.update(Q),n}(I);if(!C.G2.eq(E.betaG2,w))return I&&I.error("betaG2 element in betaG2 section does not match the one in the contribution section"),!1;const D=h.digest();if(!zI(D,E.nextChallenge))return I&&I.error("Hash of the values does not match the next challenge of the last contributor in the contributions section"),!1;I&&I.info(VI(D,"Next challenge hash: ")),c(E,r);for(let A=n.length-2;A>=0;A--){const t=n[A],i=A>0?n[A-1]:B;if(!await AC(C,t,i,I))return!1;c(t,i)}if(I&&I.info("-----------------------------------------------------"),g[12]&&g[13]&&g[14]&&g[15]){let A;if(A=await y("G1",2,12,"tauG1",I),!A)return!1;if(A=await y("G2",3,13,"tauG2",I),!A)return!1;if(A=await y("G1",4,14,"alphaTauG1",I),!A)return!1;if(A=await y("G1",5,15,"betaTauG1",I),!A)return!1}else I&&I.warn('this file does not contain phase2 precalculated values. Please run: \n snarkjs "powersoftau preparephase2" to prepare this file to be used in the phase2 ceremony.');return await i.close(),!0;function c(A,t){if(!I)return;I.info("-----------------------------------------------------"),I.info(`Contribution #${A.id}: ${A.name||""}`),I.info(VI(A.nextChallenge,"Next Challenge: "));const i=new Uint8Array(2*C.G1.F.n8*6+2*C.G2.F.n8*3);jg(i,0,C,A.key,!1);const g=OI(64);g.setPartialHash(A.partialHash),g.update(i);const Q=g.digest();I.info(VI(Q,"Response Hash:")),I.info(VI(t.nextChallenge,"Response Hash:")),1==A.type&&(I.info("Beacon generator: "+It(A.beaconHash)),I.info("Beacon iterations Exp: "+A.numIterationsExp))}async function u(A,I,t,Q,e,n){const B=C[I],r=2*B.F.n8;await GI(i,g,A);const E=[];let o=B.zero,s=B.zero,a=B.zero;for(let A=0;A0){const A=B.fromRprLEM(g,0),I=DA.randomBytes(4).readUInt32BE(0,!0);o=B.add(o,B.timesScalar(a,I)),s=B.add(s,B.timesScalar(A,I))}const w=await B.multiExpAffine(g.slice(0,(I-1)*r),f),D=await B.multiExpAffine(g.slice(r),f);o=B.add(o,w),s=B.add(s,D),a=B.fromRprLEM(g,(I-1)*r);for(let t=0;t=A&&i1;)B/=2,r+=1;if(1<{g.debug(I+".g1_s: "+A.G1.toString(f[I].g1_s,16)),g.debug(I+".g1_sx: "+A.G1.toString(f[I].g1_sx,16)),g.debug(I+".g2_sp: "+A.G2.toString(f[I].g2_sp,16)),g.debug(I+".g2_spx: "+A.G2.toString(f[I].g2_spx,16)),g.debug("")});const w=OI(64);await h.write(a),w.update(a),await tC(C,h,w,A,"G1",2*(1<=256)return C&&C.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return C&&C.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;await OI.ready();const{fd:e,sections:n}=await FI(A,"ptau",1),{curve:B,power:r,ceremonyPower:E}=await Xg(e,n);if(r!=E)return C&&C.error("This file has been reduced. You cannot contribute into a reduced file."),!1;n[12]&&C&&C.warn("Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const h=await Vg(e,B,n),o={name:t,type:1,numIterationsExp:g,beaconHash:Q};let s;s=h.length>0?h[h.length-1].nextChallenge:Tg(B,r,C),o.key=_g(B,s,Q,g);const a=new OI(64);a.update(s);const f=await MI(I,"ptau",1,7);await Og(f,B,r);const w=[];let D;D=await p(2,"G1",2*(1<0?r[r.length-1].nextChallenge:Tg(e,n,g),E.key=xg(e,h,o);const s=new OI(64);s.update(h);const a=await MI(I,"ptau",1,7);await Og(a,e,n);const f=[];let w;w=await y(2,"G1",2*(1<16?16:I,E=1<16?16:A),h=(1<>BigInt(I)}const BC=eC,rC=nC;var EC=Object.freeze({__proto__:null,fromString:CC,e:QC,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i>=1n}return t},bits:function(A){let I=BigInt(A);const t=[];for(;I;)1n&I?t.push(1):t.push(0),I>>=1n;return t},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const t=[];let i=BigInt(A);for(I=BigInt(I);i;)t.unshift(Number(i%I)),i/=I;return t},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function hC(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const oC=hC;function sC(A,I){return r(A).shiftLeft(I)}function aC(A,I){return r(A).shiftRight(I)}const fC=sC,wC=aC;var DC=Object.freeze({__proto__:null,fromString:hC,e:oC,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:sC,shiftRight:aC,shl:fC,shr:wC,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const cC="function"==typeof BigInt;let uC={};cC?Object.assign(uC,EC):Object.assign(uC,DC),uC.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A>5);for(let A=0;Ag[g.length-I-1]=A.toString(16).padStart(8,"0")),uC.fromString(g.join(""),16)},uC.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A>=1;return t}function aQ(A,I,t){if(bC(t))return A.one;const i=PC(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function fQ(A){if(A.m%2==1)if(AQ($C(A.p,4),1))if(AQ($C(A.p,8),1))if(AQ($C(A.p,16),1))!function(A){A.sqrt_q=zC(A.p,A.m),A.sqrt_s=0,A.sqrt_t=ZC(A.sqrt_q,1);for(;!qC(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=_C(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<>>0;else DA.randomFillSync(I);return I}class DQ{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=kC(this.p),this.mask=(1n<>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),fQ(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return aQ(this,A,I)}exp(A,I){return aQ(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)=this.p?t-this.p:t}{const t=this.p-I;return Number(t)>t:0n}}shr(A,I){if(Number(I)>I;{const t=this.p-I;if(Number(t)=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let Q=t;for(let A=0;Athis.p>>1n&&(g=this.neg(g)),g}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let t=0;tthis.half){t="-"+(this.p-A).toString(I)}else t=A.toString(I);return t}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let t=0;t=this.p);return I=I*this.Ri%this.p,I}}class cQ{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),fQ(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let Q=t;for(let A=0;A{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<=2?(t-=2,I+=BigInt(g.getUint16(t))<0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var FQ=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t>=1;return t}MQ.bitReverse=function(A,I){return(mQ[A>>>24]|mQ[A>>>16&255]<<8|mQ[A>>>8&255]<<16|mQ[255&A]<<24)>>>32-I},MQ.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},MQ.buffReverseBits=function(A,I){const t=A.byteLength/I,i=MQ.log2(t);if(t!=1<t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};const GQ=hQ;class UQ{constructor(A,I,t,i){for(this.fileName=i,this.fd=A,this.pos=0,this.pageBits=8,this.pageSize=1<{I.pendingLoads.push({page:A,resolve:t,reject:i}),setImmediate(I._triggerLoad.bind(I))})}_triggerLoad(){const A=this;if(function(){const I=[];for(let t=0;t=A.maxPagesLoaded){const I=function(){for(let I in A.pages){const t=A.pages[I];if(0==t.dirty&&0==t.pendingOps)return I}return-1}();if(I<0)return;delete A.pages[I]}const I=A.pendingLoads.shift();if(I.page>=A.totalPages)return A.pages[I.page]={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0},I.resolve(),void setImmediate(A._triggerLoad.bind(A));if(A.reading)return void A.pendingLoads.unshift(I);A.reading=!0;const t={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0};A.fd.read(t.buff,0,A.pageSize,I.page*A.pageSize).then(i=>{t.size=i.bytesRead,A.pages[I.page]=t,A.reading=!1,I.resolve(),setImmediate(A._triggerLoad.bind(A))},A=>{I.reject(A)})}_triggerWrite(){const A=this;if(A.writing)return;const I=A._getDirtyPage();I<0?A.pendingClose&&A.pendingClose():(A.writing=!0,A.pages[I].dirty=!1,A.fd.write(A.pages[I].buff,0,A.pages[I].size,I*A.pageSize).then(()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),setImmediate(A._triggerLoad.bind(A))},I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const t=this;if(A.byteLength>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A.byteLength);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A.byteLength,t.totalSize0;){const I=Q+e>t.pageSize?t.pageSize-Q:e,i=new Uint8Array(A.buffer,A.byteLength-e,I);new Uint8Array(t.pages[C].buff.buffer,Q,I).set(i),t.pages[C].dirty=!0,t.pages[C].pendingOps--,t.pages[C].size=Math.max(Q+I,t.pages[C].size),C>=t.totalPages&&(t.totalPages=C+1),e-=I,C++,Q=0}setImmediate(t._triggerWrite.bind(t))}async read(A,I){if(0==A)return new Uint8Array(0);const t=this;if(A>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A,t.pendingClose)throw new Error("Reading a closing file");const i=Math.floor(I/t.pageSize),g=Math.floor((I+A-1)/t.pageSize);for(let A=i;A<=g;A++)await t._loadPage(A);let C=new Uint8Array(A),Q=new Uint8Array(C),e=i,n=I%t.pageSize,B=I+A>t.totalSize?A-(I+A-t.totalSize):A;for(;B>0;){const A=n+B>t.pageSize?t.pageSize-n:B,I=new Uint8Array(t.pages[e].buff.buffer,n,A);C.set(I,Q.byteLength-B),t.pages[e].pendingOps--,B-=A,e++,n=0}return setImmediate(t._triggerLoad.bind(t)),C}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise((I,t)=>{A.pendingClose=I,A.pendingCloseReject=t,A._tryClose()}).then(()=>{A.fd.close()},I=>{throw A.fd.close(),I})}async discard(){await this.close(),await DA.promises.unlink(this.fileName)}async writeULE32(A,I){const t=Uint32Array.of(A);await this.write(new Uint8Array(t.buffer),I)}async writeUBE32(A,I){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,A,!1),await this.write(t,I)}async writeULE64(A,I){const t=Uint32Array.of(4294967295&A,Math.floor(A/4294967296));await this.write(new Uint8Array(t.buffer),I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}class HQ{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),t=new Uint8Array(I);t.set(this.o.data),this.o.data=t,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A,I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async read(A,I){if(void 0===I&&(I=this.pos),this.readOnly&&I+A>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(I+A);const t=this.o.data.slice(I,I+A);return this.pos=I+A,t}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){const t=Uint32Array.of(A);await this.write(new Uint8Array(t.buffer),I)}async writeUBE32(A,I){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,A,!1),await this.write(t,I)}async writeULE64(A,I){const t=Uint32Array.of(4294967295&A,Math.floor(A/4294967296));await this.write(new Uint8Array(t.buffer),I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}async function LQ(A,I){if(A instanceof Uint8Array&&(A={type:"mem",data:A}),"string"==typeof A){A={type:"mem",data:await fetch(A).then((function(A){return A.arrayBuffer()})).then((function(A){return new Uint8Array(A)}))}}if("file"==A.type)return await async function(A,I,t){if(t=t||262144,["w+","wx+","r","ax+","a+"].indexOf(I)<0)throw new Error("Invalid open option");const i=await DA.promises.open(A,I),g=await i.stat();return new UQ(i,g,t,A)}(A.fileName,"r",A.cacheSize);if("mem"==A.type)return await function(A){const I=new HQ;return I.o=A,I.allocSize=A.data.byteLength,I.totalSize=A.data.byteLength,I.readOnly=!0,I.pos=0,I}(A);throw new Error("Invalid FastFile type: "+A.type)}async function kQ(A,I,t){if(void 0!==A.readingSection)throw new Error("Already reading a section");if(!I[t])throw new Error(A.fileName+": Missing section "+t);if(I[t].length>1)throw new Error(A.fileName+": Section Duplicated "+t);A.pos=I[t][0].p,A.readingSection=I[t][0]}async function NQ(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size");delete A.readingSection}async function bQ(A,I,t){const i=await A.read(I,t);return GQ.fromRprLE(i,0,I)}async function SQ(A,I){const t={};return await kQ(A,I,1),t.n8=await A.readULE32(),t.prime=await bQ(A,t.n8),t.Fr=new pQ(t.prime),t.nVars=await A.readULE32(),t.nOutputs=await A.readULE32(),t.nPubInputs=await A.readULE32(),t.nPrvInputs=await A.readULE32(),t.nLabels=await A.readULE64(),t.nConstraints=await A.readULE32(),await NQ(A),t}async function RQ(A,I,t){const{fd:i,sections:g}=await async function(A,I,t){const i=await LQ(A),g=await i.read(4);let C="";for(let A=0;A<4;A++)C+=String.fromCharCode(g[A]);if(C!=I)throw new Error(A+": Invalid File format");if(await i.readULE32()>t)throw new Error("Version not supported");const Q=await i.readULE32();let e=[];for(let A=0;A{let i="";return Object.keys(t).forEach(g=>{let C=I.varIdx2Name[g];"one"==C&&(C="");let Q=A.Fr.toString(t[g]);"1"==Q&&(Q=""),"-1"==Q&&(Q="-"),""!=i&&"-"!=Q[0]&&(Q="+"+Q),""!=i&&(Q=" "+Q),i=i+Q+C}),i},C=`[ ${g(i[0])} ] * [ ${g(i[1])} ] - [ ${g(i[2])} ] = 0`;t&&t.info(C)}},info:async function(A,I){const t=await RQ(A);return BI.eq(t.prime,vQ)?I&&I.info("Curve: bn-128"):BI.eq(t.prime,JQ)?I&&I.info("Curve: bls12-381"):I&&I.info("Unknown Curve. Prime: "+BI.toString(t.prime)),I&&I.info("# of Wires: "+t.nVars),I&&I.info("# of Constraints: "+t.nConstraints),I&&I.info("# of Private Inputs: "+t.nPrvInputs),I&&I.info("# of Public Inputs: "+t.nPubInputs),I&&I.info("# of Outputs: "+t.nOutputs),t},exportJson:async function(A,I){return await RQ(A,!0,!0)}});async function YQ(A){const I={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},t=await lI(A),i=await t.read(t.totalSize),g=new TextDecoder("utf-8").decode(i).split("\n");for(let A=0;AE+1)return i&&i.error(`circuit too big for this power of tau ceremony. ${e.nConstraints}*2 > 2**${E}`),-1;if(!B[12])return i&&i.error("Powers of tau is not prepared."),-1;const f=e.nOutputs+e.nPubInputs,w=1<h.contributions.length)return g&&g.error("The impoerted file does not include new contributions"),!1;for(let A=0;A=0;A--){const I=r.contributions[A];i&&i.info("-------------------------"),i&&i.info(VI(I.contributionHash,`contribution #${A+1} ${I.name?I.name:""}:`)),1==I.type&&(i&&i.info("Beacon generator: "+It(I.beaconHash)),i&&i.info("Beacon iterations Exp: "+I.numIterationsExp))}return i&&i.info("-------------------------"),i&&i.info("ZKey Ok!"),!0;async function c(A,I){const t=2*n.G1.F.n8,i=A.byteLength/t,g=n.tm.concurrency,C=Math.floor(i/g),Q=[];for(let t=0;t=256)return C&&C.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return C&&C.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:e,sections:n}=await FI(A,"zkey",2),B=await et(e,n,"groth16"),r=await JI(B.q),E=await Bt(e,r,n),h=await MI(I,"zkey",1,10),o=await $I(Q,g),s=OI(64);s.update(E.csHash);for(let A=0;A",e);const n=`[${i.vk_beta_2[0][1].toString()},`+i.vk_beta_2[0][0].toString()+"], "+`[${i.vk_beta_2[1][1].toString()},`+i.vk_beta_2[1][0].toString()+"]";Q=Q.replace("<%vk_beta2%>",n);const B=`[${i.vk_gamma_2[0][1].toString()},`+i.vk_gamma_2[0][0].toString()+"], "+`[${i.vk_gamma_2[1][1].toString()},`+i.vk_gamma_2[1][0].toString()+"]";Q=Q.replace("<%vk_gamma2%>",B);const r=`[${i.vk_delta_2[0][1].toString()},`+i.vk_delta_2[0][0].toString()+"], "+`[${i.vk_delta_2[1][1].toString()},`+i.vk_delta_2[1][0].toString()+"]";Q=Q.replace("<%vk_delta2%>",r),Q=Q.replace("<%vk_input_length%>",(i.IC.length-1).toString()),Q=Q.replace("<%vk_ic_length%>",i.IC.length.toString());let E="";for(let A=0;A",E),Q}});return A.groth16=vg,A.powersOfTau=iC,A.r1cs=qQ,A.wtns=xQ,A.zKey=KQ,A}({});