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 C=g,n=e;var Q=Object.freeze({__proto__:null,fromString:t,e:i,fromArray:function(A,I){let t=BigInt(0);I=BigInt(I);for(let i=0;i>=BigInt(1)}return t},bits:function(A){let I=BigInt(A);const t=[];for(;I;)I&BigInt(1)?t.push(1):t.push(0),I>>=BigInt(1);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)}}),B="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(A){var I={exports:{}};return A(I,I.exports),I.exports}var o=r((function(A){var I=function(A){var t=1e7,i=9007199254740992,g=E(i),e="0123456789abcdefghijklmnopqrstuvwxyz",C="function"==typeof BigInt;function n(A,I,t,i){return void 0===A?n[0]:void 0!==I&&(10!=+I||t)?O(A,I,t,i):z(A)}function Q(A,I){this.value=A,this.sign=I,this.isSmall=!1}function B(A){this.value=A,this.sign=A<0,this.isSmall=!0}function r(A){this.value=A}function o(A){return-i0?Math.floor(A):Math.ceil(A)}function w(A,I){var i,g,e=A.length,C=I.length,n=new Array(e),Q=0,B=t;for(g=0;g=B?1:0,n[g]=i-Q*B;for(;g0&&n.push(Q),n}function D(A,I){return A.length>=I.length?w(A,I):w(I,A)}function c(A,I){var i,g,e=A.length,C=new Array(e),n=t;for(g=0;g0;)C[g++]=I%n,I=Math.floor(I/n);return C}function u(A,I){var i,g,e=A.length,C=I.length,n=new Array(e),Q=0,B=t;for(i=0;i0;)C[g++]=Q%n,Q=Math.floor(Q/n);return C}function F(A,I){for(var t=[];I-- >0;)t.push(0);return t.concat(A)}function M(A,I){var t=Math.max(A.length,I.length);if(t<=30)return y(A,I);t=Math.ceil(t/2);var i=A.slice(t),g=A.slice(0,t),e=I.slice(t),C=I.slice(0,t),n=M(g,C),Q=M(i,e),B=M(D(g,i),D(C,e)),r=D(D(n,F(u(u(B,n),Q),t)),F(Q,2*t));return s(r),r}function m(A,I,i){return new Q(A=0;--t)g=(e=1e7*g+A[t])-(i=f(e/I))*I,n[t]=0|i;return[n,0|g]}function H(A,I){var i,g=z(I);if(C)return[new r(A.value/g.value),new r(A.value%g.value)];var e,o=A.value,w=g.value;if(0===w)throw new Error("Cannot divide by zero");if(A.isSmall)return g.isSmall?[new B(f(o/w)),new B(o%w)]:[n[0],A];if(g.isSmall){if(1===w)return[A,n[0]];if(-1==w)return[A.negate(),n[0]];var D=Math.abs(w);if(D=0;g--){for(i=E-1,D[g+o]!==f&&(i=Math.floor((D[g+o]*E+D[g+o-1])/f)),e=0,C=0,Q=c.length,n=0;nB&&(e=(e+1)*E),i=Math.ceil(e/C);do{if(U(n=p(I,i),o)<=0)break;i--}while(i);r.push(i),o=u(o,n)}return r.reverse(),[a(r),a(o)]}(o,w))[0];var y=A.sign!==g.sign,F=i[1],M=A.sign;return"number"==typeof e?(y&&(e=-e),e=new B(e)):e=new Q(e,y),"number"==typeof F?(M&&(F=-F),F=new B(F)):F=new Q(F,M),[e,F]}function U(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 b(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 L(A,t){for(var i,g,e,C=A.prev(),n=C,Q=0;n.isEven();)n=n.divide(2),Q++;A:for(g=0;g=0?i=u(A,I):(i=u(I,A),t=!t),"number"==typeof(i=a(i))?(t&&(i=-i),new B(i)):new Q(i,t)}(t,i,this.sign)},Q.prototype.minus=Q.prototype.subtract,B.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 B(t-i):l(i,Math.abs(t),t>=0)},B.prototype.minus=B.prototype.subtract,r.prototype.subtract=function(A){return new r(this.value-z(A).value)},r.prototype.minus=r.prototype.subtract,Q.prototype.negate=function(){return new Q(this.value,!this.sign)},B.prototype.negate=function(){var A=this.sign,I=new B(-this.value);return I.sign=!A,I},r.prototype.negate=function(){return new r(-this.value)},Q.prototype.abs=function(){return new Q(this.value,!1)},B.prototype.abs=function(){return new B(Math.abs(this.value))},r.prototype.abs=function(){return new r(this.value>=0?this.value:-this.value)},Q.prototype.multiply=function(A){var I,i,g,e=z(A),C=this.value,B=e.value,r=this.sign!==e.sign;if(e.isSmall){if(0===B)return n[0];if(1===B)return this;if(-1===B)return this.negate();if((I=Math.abs(B))0?M(C,B):y(C,B),r)},Q.prototype.times=Q.prototype.multiply,B.prototype._multiplyBySmall=function(A){return o(A.value*this.value)?new B(A.value*this.value):m(Math.abs(A.value),E(Math.abs(this.value)),this.sign!==A.sign)},Q.prototype._multiplyBySmall=function(A){return 0===A.value?n[0]:1===A.value?this:-1===A.value?this.negate():m(Math.abs(A.value),this.value,this.sign!==A.sign)},B.prototype.multiply=function(A){return z(A)._multiplyBySmall(this)},B.prototype.times=B.prototype.multiply,r.prototype.multiply=function(A){return new r(this.value*z(A).value)},r.prototype.times=r.prototype.multiply,Q.prototype.square=function(){return new Q(d(this.value),!1)},B.prototype.square=function(){var A=this.value*this.value;return o(A)?new B(A):new Q(d(E(Math.abs(this.value))),!1)},r.prototype.square=function(A){return new r(this.value*this.value)},Q.prototype.divmod=function(A){var I=H(this,A);return{quotient:I[0],remainder:I[1]}},r.prototype.divmod=B.prototype.divmod=Q.prototype.divmod,Q.prototype.divide=function(A){return H(this,A)[0]},r.prototype.over=r.prototype.divide=function(A){return new r(this.value/z(A).value)},B.prototype.over=B.prototype.divide=Q.prototype.over=Q.prototype.divide,Q.prototype.mod=function(A){return H(this,A)[1]},r.prototype.mod=r.prototype.remainder=function(A){return new r(this.value%z(A).value)},B.prototype.remainder=B.prototype.mod=Q.prototype.remainder=Q.prototype.mod,Q.prototype.pow=function(A){var I,t,i,g=z(A),e=this.value,C=g.value;if(0===C)return n[1];if(0===e)return n[0];if(1===e)return n[1];if(-1===e)return g.isEven()?n[1]:n[-1];if(g.sign)return n[0];if(!g.isSmall)throw new Error("The exponent "+g.toString()+" is too large.");if(this.isSmall&&o(I=Math.pow(e,C)))return new B(f(I));for(t=this,i=n[1];!0&C&&(i=i.times(t),--C),0!==C;)C/=2,t=t.square();return i},B.prototype.pow=Q.prototype.pow,r.prototype.pow=function(A){var I=z(A),t=this.value,i=I.value,g=BigInt(0),e=BigInt(1),C=BigInt(2);if(i===g)return n[1];if(t===g)return n[0];if(t===e)return n[1];if(t===BigInt(-1))return I.isEven()?n[1]:n[-1];if(I.isNegative())return new r(g);for(var Q=this,B=n[1];(i&e)===e&&(B=B.times(Q),--i),i!==g;)i/=C,Q=Q.square();return B},Q.prototype.modPow=function(A,I){if(A=z(A),(I=z(I)).isZero())throw new Error("Cannot take modPow with modulus 0");var t=n[1],i=this.mod(I);for(A.isNegative()&&(A=A.multiply(n[-1]),i=i.modInv(I));A.isPositive();){if(i.isZero())return n[0];A.isOdd()&&(t=t.multiply(i).mod(I)),A=A.divide(2),i=i.square().mod(I)}return t},r.prototype.modPow=B.prototype.modPow=Q.prototype.modPow,Q.prototype.compareAbs=function(A){var I=z(A),t=this.value,i=I.value;return I.isSmall?1:U(t,i)},B.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},r.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},Q.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:U(t,i)*(this.sign?-1:1)},Q.prototype.compareTo=Q.prototype.compare,B.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},B.prototype.compareTo=B.prototype.compare,r.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},r.prototype.compareTo=r.prototype.compare,Q.prototype.equals=function(A){return 0===this.compare(A)},r.prototype.eq=r.prototype.equals=B.prototype.eq=B.prototype.equals=Q.prototype.eq=Q.prototype.equals,Q.prototype.notEquals=function(A){return 0!==this.compare(A)},r.prototype.neq=r.prototype.notEquals=B.prototype.neq=B.prototype.notEquals=Q.prototype.neq=Q.prototype.notEquals,Q.prototype.greater=function(A){return this.compare(A)>0},r.prototype.gt=r.prototype.greater=B.prototype.gt=B.prototype.greater=Q.prototype.gt=Q.prototype.greater,Q.prototype.lesser=function(A){return this.compare(A)<0},r.prototype.lt=r.prototype.lesser=B.prototype.lt=B.prototype.lesser=Q.prototype.lt=Q.prototype.lesser,Q.prototype.greaterOrEquals=function(A){return this.compare(A)>=0},r.prototype.geq=r.prototype.greaterOrEquals=B.prototype.geq=B.prototype.greaterOrEquals=Q.prototype.geq=Q.prototype.greaterOrEquals,Q.prototype.lesserOrEquals=function(A){return this.compare(A)<=0},r.prototype.leq=r.prototype.lesserOrEquals=B.prototype.leq=B.prototype.lesserOrEquals=Q.prototype.leq=Q.prototype.lesserOrEquals,Q.prototype.isEven=function(){return 0==(1&this.value[0])},B.prototype.isEven=function(){return 0==(1&this.value)},r.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},Q.prototype.isOdd=function(){return 1==(1&this.value[0])},B.prototype.isOdd=function(){return 1==(1&this.value)},r.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},Q.prototype.isPositive=function(){return!this.sign},B.prototype.isPositive=function(){return this.value>0},r.prototype.isPositive=B.prototype.isPositive,Q.prototype.isNegative=function(){return this.sign},B.prototype.isNegative=function(){return this.value<0},r.prototype.isNegative=B.prototype.isNegative,Q.prototype.isUnit=function(){return!1},B.prototype.isUnit=function(){return 1===Math.abs(this.value)},r.prototype.isUnit=function(){return this.abs().value===BigInt(1)},Q.prototype.isZero=function(){return!1},B.prototype.isZero=function(){return 0===this.value},r.prototype.isZero=function(){return this.value===BigInt(0)},Q.prototype.isDivisibleBy=function(A){var I=z(A);return!I.isZero()&&(!!I.isUnit()||(0===I.compareAbs(2)?this.isEven():this.mod(I).isZero()))},r.prototype.isDivisibleBy=B.prototype.isDivisibleBy=Q.prototype.isDivisibleBy,Q.prototype.isPrime=function(t){var i=b(this);if(i!==A)return i;var g=this.abs(),e=g.bitLength();if(e<=64)return L(g,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var C=Math.log(2)*e.toJSNumber(),n=Math.ceil(!0===t?2*Math.pow(C,2):C),Q=[],B=0;B-i?new B(A-1):new Q(g,!0)},r.prototype.prev=function(){return new r(this.value-BigInt(1))};for(var k=[1];2*k[k.length-1]<=t;)k.push(2*k[k.length-1]);var N=k.length,J=k[N-1];function S(A){return Math.abs(A)<=t}function v(A,t,i){t=z(t);for(var g=A.isNegative(),e=t.isNegative(),C=g?A.not():A,n=e?t.not():t,Q=0,B=0,r=null,o=null,E=[];!C.isZero()||!n.isZero();)Q=(r=H(C,J))[1].toJSNumber(),g&&(Q=J-1-Q),B=(o=H(n,J))[1].toJSNumber(),e&&(B=J-1-B),C=r[0],n=o[0],E.push(i(Q,B));for(var a=0!==i(g?1:0,e?1:0)?I(-1):I(0),s=E.length-1;s>=0;s-=1)a=a.multiply(J).add(I(E[s]));return a}Q.prototype.shiftLeft=function(A){var I=z(A).toJSNumber();if(!S(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>=N;)t=t.multiply(J),I-=N-1;return t.multiply(k[I])},r.prototype.shiftLeft=B.prototype.shiftLeft=Q.prototype.shiftLeft,Q.prototype.shiftRight=function(A){var I,t=z(A).toJSNumber();if(!S(t))throw new Error(String(t)+" is too large for shifting.");if(t<0)return this.shiftLeft(-t);for(var i=this;t>=N;){if(i.isZero()||i.isNegative()&&i.isUnit())return i;i=(I=H(i,J))[1].isNegative()?I[0].prev():I[0],t-=N-1}return(I=H(i,k[t]))[1].isNegative()?I[0].prev():I[0]},r.prototype.shiftRight=B.prototype.shiftRight=Q.prototype.shiftRight,Q.prototype.not=function(){return this.negate().prev()},r.prototype.not=B.prototype.not=Q.prototype.not,Q.prototype.and=function(A){return v(this,A,(function(A,I){return A&I}))},r.prototype.and=B.prototype.and=Q.prototype.and,Q.prototype.or=function(A){return v(this,A,(function(A,I){return A|I}))},r.prototype.or=B.prototype.or=Q.prototype.or,Q.prototype.xor=function(A){return v(this,A,(function(A,I){return A^I}))},r.prototype.xor=B.prototype.xor=Q.prototype.xor;var R=1<<30;function Y(A){var I=A.value,i="number"==typeof I?I|R:"bigint"==typeof I?I|BigInt(R):I[0]+I[1]*t|1073758208;return i&-i}function q(A,t){if(t.compareTo(A)<=0){var i=q(A,t.square(t)),g=i.p,e=i.e,C=g.multiply(t);return C.compareTo(A)<=0?{p:C,e:2*e+1}:{p:g,e:2*e}}return{p:I(1),e:0}}function x(A,I){return A=z(A),I=z(I),A.greater(I)?A:I}function P(A,I){return A=z(A),I=z(I),A.lesser(I)?A:I}function X(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=n[1];A.isEven()&&I.isEven();)t=P(Y(A),Y(I)),A=A.divide(t),I=I.divide(t),g=g.multiply(t);for(;A.isEven();)A=A.divide(Y(A));do{for(;I.isEven();)I=I.divide(Y(I));A.greater(I)&&(i=I,I=A,A=i),I=I.subtract(A)}while(!I.isZero());return g.isUnit()?A:A.multiply(g)}Q.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(q(A,I(2)).e).add(I(1))},r.prototype.bitLength=B.prototype.bitLength=Q.prototype.bitLength;var O=function(A,I,t,i){t=t||e,A=String(A),i||(A=A.toLowerCase(),t=t.toLowerCase());var g,C=A.length,n=Math.abs(I),Q={};for(g=0;g=n)){if("1"===o&&1===n)continue;throw new Error(o+" is not a valid digit in base "+I+".")}}I=z(I);var B=[],r="-"===A[0];for(g=r?1:0;g"!==A[g]&&g=0;i--)g=g.add(A[i].times(e)),e=e.times(I);return t?g.negate():g}function V(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 e,C=[],n=A;n.isNegative()||n.compareAbs(t)>=0;){e=n.divmod(t),n=e.quotient;var Q=e.remainder;Q.isNegative()&&(Q=t.minus(Q).abs(),n=n.next()),C.push(Q.toJSNumber())}return C.push(n.toJSNumber()),{value:C.reverse(),isNegative:g}}function K(A,I,t){var i=V(A,I);return(i.isNegative?"-":"")+i.value.map((function(A){return function(A,I){return A<(I=I||e).length?I[A]:"<"+A+">"}(A,t)})).join("")}function j(A){if(o(+A)){var I=+A;if(I===f(I))return C?new r(BigInt(I)):new B(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)!==f(g)||!o(g))throw new Error("Invalid integer: "+g+" is not a valid exponent.");var e=i[0],n=e.indexOf(".");if(n>=0&&(g-=e.length-n-1,e=e.slice(0,n)+e.slice(n+1)),g<0)throw new Error("Cannot include negative exponent part for integers");A=e+=new Array(g+1).join("0")}if(!/^([0-9][0-9]*)$/.test(A))throw new Error("Invalid integer: "+A);if(C)return new r(BigInt(t?"-"+A:A));for(var E=[],a=A.length,h=a-7;a>0;)E.push(+A.slice(h,a)),(h-=7)<0&&(h=0),a-=7;return s(E),new Q(E,t)}function z(A){return"number"==typeof A?function(A){if(C)return new r(BigInt(A));if(o(A)){if(A!==f(A))throw new Error(A+" is not an integer.");return new B(A)}return j(A.toString())}(A):"string"==typeof A?j(A):"bigint"==typeof A?new r(A):A}Q.prototype.toArray=function(A){return V(this,A)},B.prototype.toArray=function(A){return V(this,A)},r.prototype.toArray=function(A){return V(this,A)},Q.prototype.toString=function(I,t){if(I===A&&(I=10),10!==I)return K(this,I,t);for(var i,g=this.value,e=g.length,C=String(g[--e]);--e>=0;)i=String(g[e]),C+="0000000".slice(i.length)+i;return(this.sign?"-":"")+C},B.prototype.toString=function(I,t){return I===A&&(I=10),10!=I?K(this,I,t):String(this.value)},r.prototype.toString=B.prototype.toString,r.prototype.toJSON=Q.prototype.toJSON=B.prototype.toJSON=function(){return this.toString()},Q.prototype.valueOf=function(){return parseInt(this.toString(),10)},Q.prototype.toJSNumber=Q.prototype.valueOf,B.prototype.valueOf=function(){return this.value},B.prototype.toJSNumber=B.prototype.valueOf,r.prototype.valueOf=r.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var W=0;W<1e3;W++)n[W]=z(W),W>0&&(n[-W]=z(-W));return n.one=n[1],n.zero=n[0],n.minusOne=n[-1],n.max=x,n.min=P,n.gcd=X,n.lcm=function(A,I){return A=z(A).abs(),I=z(I).abs(),A.divide(X(A,I)).multiply(I)},n.isInstance=function(A){return A instanceof Q||A instanceof B||A instanceof r},n.randBetween=function(A,I,i){A=z(A),I=z(I);var g=i||Math.random,e=P(A,I),C=x(A,I).subtract(e).add(1);if(C.isSmall)return e.add(Math.floor(g()*C));for(var Q=V(C,t).value,B=[],r=!0,o=0;o>5);for(let A=0;A>5);for(let A=0;Ag[g.length-I-1]=A.toString(16).padStart(8,"0"))),u.fromString(g.join(""),16)},u.fromRprBE=function(A,I,t){t=t||A.byteLength,I=I||0;const i=new DataView(A.buffer,A.byteOffset+I,t),g=new Array(t/4);for(let A=0;A>=1;return t}function hA(A,I,t){if(N(t))return A.one;const i=x(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 fA(A){if(A.m%2==1)if(AA($(A.p,4),1))if(AA($(A.p,8),1))if(AA($(A.p,16),1))!function(A){A.sqrt_q=z(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Z(A.sqrt_q,1);for(;!Y(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_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,2**(A.sqrt_s-1))}A.sqrt_tm1d2=_(Z(A.sqrt_t,1),2),A.sqrt=function(A){const I=this;if(I.isZero(A))return I.zero;let t=I.pow(A,I.sqrt_tm1d2);const i=I.pow(I.mul(I.square(t),A),2**(I.sqrt_s-1));if(I.eq(i,I.negone))return null;let g=I.sqrt_s,e=I.mul(A,t),C=I.mul(e,t),n=I.sqrt_z;for(;!I.eq(C,I.one);){let A=I.square(C),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=n;for(let A=0;A>>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 DA{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(K(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++)wA(A=this.buff,0,4,8,12),wA(A,1,5,9,13),wA(A,2,6,10,14),wA(A,3,7,11,15),wA(A,0,5,10,15),wA(A,1,6,11,12),wA(A,2,7,8,13),wA(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 cA={};function uA(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 cA.randomFillSync(I);return I}let lA=null;function yA(){return lA||(lA=new DA(function(){const A=uA(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}()),lA)}class pA{constructor(A){this.type="F1",this.one=BigInt(1),this.zero=BigInt(0),this.p=BigInt(A),this.m=1,this.negone=this.p-this.one,this.two=BigInt(2),this.half=this.p>>this.one,this.bitLength=L(this.p),this.mask=(this.one<>this.one;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+this.one,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;(this.t&this.one)==this.zero;)this.s=this.s+1,this.t=this.t>>this.one;this.nqr_to_t=this.pow(this.nqr,this.t),fA(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=this.zero,t=this.p,i=this.one,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I=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:this.zero}}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?this.one:this.zero}lor(A,I){return A||I?this.one:this.zero}lnot(A){return A?this.zero:this.one}sqrt_old(A){if(A==this.zero)return this.zero;if(this.pow(A,this.negone>>this.one)!=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)>>this.one);for(;i!=this.one;){let A=this.square(i),e=1;for(;A!=this.one;)e++,A=this.square(A);let C=t;for(let A=0;Athis.p>>this.one&&(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=this.zero;for(let t=0;tthis.half){t="-"+(this.p-A).toString(I)}else t=A.toString(I);return t}isZero(A){return A==this.zero}fromRng(A){let I;do{I=this.zero;for(let t=0;t=this.p);return I=I*this.Ri%this.p,I}}class FA{constructor(A){this.type="F1",this.one=o.one,this.zero=o.zero,this.p=o(A),this.m=1,this.negone=this.p.minus(o.one),this.two=o(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=o.one.shiftLeft(this.bitLength).minus(o.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=o.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),fA(this)}e(A,I){const t=o(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(o(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):o.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):o.zero}}land(A,I){return A.isZero()||I.isZero()?o.zero:o.one}lor(A,I){return A.isZero()&&I.isZero()?o.zero:o.one}lnot(A){return A.isZero()?o.one:o.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),e=1;for(;!A.equals(this.one);)e++,A=this.square(A);let C=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=BigInt(0),t=A.length,i=0;const g=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<=2?(t-=2,I+=BigInt(g.getUint16(t))<0;)e-4>=0?(e-=4,g.setUint32(e,Number(t&BigInt(4294967295))),t>>=BigInt(32)):e-2>=0?(e-=2,g.setUint16(e,Number(t&BigInt(65535))),t>>=BigInt(16)):(e-=1,g.setUint8(e,Number(t&BigInt(255))),t>>=BigInt(8));if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=BigInt(0),t=0;const i=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;t>=BigInt(32)):e+2<=I?(g.setUint16(Number(e,t&BigInt(65535)),!0),e+=2,t>>=BigInt(16)):(g.setUint8(Number(e,t&BigInt(255)),!0),e+=1,t>>=BigInt(8));if(t)throw new Error("Number does not fit in this length");return i}});var bA=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 o(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=o.zero;for(let t=0;t=0;){let A=Number(t.and(o("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(o.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=o.zero;for(let t=0;t>=1;return t}LA.bitReverse=function(A,I){return(kA[A>>>24]|kA[A>>>16&255]<<8|kA[A>>>8&255]<<16|kA[255&A]<<24)>>>32-I},LA.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)},LA.buffReverseBits=function(A,I){const t=A.byteLength/I,i=LA.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:JA,log2:SA,buffReverseBits:vA,stringifyBigInts:RA,unstringifyBigInts:YA,beBuff2int:qA,beInt2Buff:xA,leBuff2int:PA,leInt2Buff:XA}=LA;var OA=Object.freeze({__proto__:null,bitReverse:JA,log2:SA,buffReverseBits:vA,stringifyBigInts:RA,unstringifyBigInts:YA,beBuff2int:qA,beInt2Buff:xA,leBuff2int:PA,leInt2Buff:XA});const ZA=1<<30;class VA{constructor(A){this.buffers=[],this.byteLength=A;for(let I=0;I0;){const A=C+n>ZA?ZA-C:n,I=new Uint8Array(this.buffers[e].buffer,this.buffers[e].byteOffset+C,A);if(A==t)return I.slice();g||(g=t<=ZA?new Uint8Array(t):new VA(t)),g.set(I,t-n),n-=A,e++,C=0}return g}set(A,I){void 0===I&&(I=0);const t=A.byteLength;if(0==t)return;const i=Math.floor(I/ZA);if(i==Math.floor((I+t-1)/ZA))return A instanceof VA&&1==A.buffers.length?this.buffers[i].set(A.buffers[0],I%ZA):this.buffers[i].set(A,I%ZA);let g=i,e=I%ZA,C=t;for(;C>0;){const I=e+C>ZA?ZA-e:C,i=A.slice(t-C,t-C+I);new Uint8Array(this.buffers[g].buffer,this.buffers[g].byteOffset+e,I).set(i),C-=I,g++,e=0}}}function KA(A,I,t,i){return async function(g){const e=Math.floor(g.byteLength/t);if(e*t!==g.byteLength)throw new Error("Invalid buffer size");const C=Math.floor(e/A.concurrency),n=[];for(let Q=0;Q=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=KA(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=KA(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=V(t),iA(t,this.p)&&(t=$(t,this.p)),t=Z(this.p,t)):iA(t,this.p)&&(t=$(t,this.p));const i=XA(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=p(t,0);return M(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=d;for(let t=0;ti.buffer.byteLength){const g=i.buffer.byteLength/65536;let e=Math.floor((t[0]+A)/65536)+1;e>I&&(e=I),i.grow(e-g)}return g}function C(A){const I=e(A.byteLength);return Q(I,A),I}function n(A,I){const t=new Uint8Array(i.buffer);return new Uint8Array(t.buffer,t.byteOffset+A,I)}function Q(A,I){new Uint8Array(i.buffer).set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return g(A[0]);const I={vars:[],out:[]},B=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i{this.reject=I,this.resolve=A}))}}function tI(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 II;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 CI(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,e,C,n,Q){let B,r,o,E,a;if(n=n||"affine",Q=Q||"affine","G1"==I)"jacobian"==n?(o=3*t.F.n8,B="g1m_batchApplyKey"):(o=2*t.F.n8,B="g1m_batchApplyKeyMixed"),E=3*t.F.n8,"jacobian"==Q?a=3*t.F.n8:(r="g1m_batchToAffine",a=2*t.F.n8);else if("G2"==I)"jacobian"==n?(o=3*t.F.n8,B="g2m_batchApplyKey"):(o=2*t.F.n8,B="g2m_batchApplyKeyMixed"),E=3*t.F.n8,"jacobian"==Q?a=3*t.F.n8:(r="g2m_batchToAffine",a=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",o=t.n8,E=t.n8,a=t.n8}const s=Math.floor(A.byteLength/o),h=Math.floor(s/g.concurrency),f=[];C=i.e(C);let w=i.e(e);for(let I=0;I=0;A--){if(!t.isZero(h))for(let A=0;AB&&(h=B),h<1024&&(h=1024);const f=[];for(let I=0;I(n&&n.debug(`Multiexp end: ${Q}: ${I}/${o}`),A))))}const w=await Promise.all(f);let D=t.zero;for(let A=w.length-1;A>=0;A--)D=t.add(D,w[A]);return D}t.multiExp=async function(A,I,t,i){return await e(A,I,"jacobian",t,i)},t.multiExpAffine=async function(A,I,t,i){return await e(A,I,"affine",t,i)}}function BI(A,I){const t=A[I],i=A.Fr,g=t.tm;async function e(n,Q,B,r,o,E){B=B||"affine",r=r||"affine";let a,s,h,f,w,D,c,u;"G1"==I?("affine"==B?(a=2*t.F.n8,f="g1m_batchToJacobian"):a=3*t.F.n8,s=3*t.F.n8,Q&&(u="g1m_fftFinal"),c="g1m_fftJoin",D="g1m_fftMix","affine"==r?(h=2*t.F.n8,w="g1m_batchToAffine"):h=3*t.F.n8):"G2"==I?("affine"==B?(a=2*t.F.n8,f="g2m_batchToJacobian"):a=3*t.F.n8,s=3*t.F.n8,Q&&(u="g2m_fftFinal"),c="g2m_fftJoin",D="g2m_fftMix","affine"==r?(h=2*t.F.n8,w="g2m_batchToAffine"):h=3*t.F.n8):"Fr"==I&&(a=t.n8,s=t.n8,h=t.n8,Q&&(u="frm_fftFinal"),D="frm_fftMix",c="frm_fftJoin");let l=!1;Array.isArray(n)?(n=A.array2buffer(n,a),l=!0):n=n.slice(0,n.byteLength);const y=n.byteLength/a,p=SA(y);if(1<1<<28?new VA(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(n,B,r,o,E):await async function(A,I,t,g,n){let Q,B;Q=A.slice(0,A.byteLength/2),B=A.slice(A.byteLength/2,A.byteLength);const r=[];[Q,B]=await C(Q,B,"fftJoinExt",i.one,i.shift,I,"jacobian",g,n),r.push(e(Q,!1,"jacobian",t,g,n)),r.push(e(B,!1,"jacobian",t,g,n));const o=await Promise.all(r);let E;E=o[0].byteLength>1<<28?new VA(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(n,B,r,o,E),l?A.buffer2array(I,h):I}let F,M,m;Q&&(F=i.inv(i.e(y))),vA(n,a);let d=Math.min(16384,y),G=y/d;for(;G=16;)G*=2,d/=2;const H=SA(d),U=[];for(let A=0;A(o&&o.debug(`${E}: fft ${p} mix end: ${A}/${G}`),I))))}m=await Promise.all(U);for(let A=0;A(o&&o.debug(`${E}: fft ${p} join ${A}/${p} ${C+1}/${I} ${n}/${t/2}`),i))))}const C=await Promise.all(e);for(let A=0;A0;I--)M.set(m[I],A),A+=d*h,delete m[I];M.set(m[0].slice(0,(d-1)*h),A),delete m[0]}else for(let A=0;A65536&&(u=65536);const l=[];for(let I=0;I(o&&o.debug(`${E}: fftJoinExt End: ${I}/${c}`),A))))}const y=await Promise.all(l);let p,F;c*f>1<<28?(p=new VA(c*f),F=new VA(c*f)):(p=new Uint8Array(c*f),F=new Uint8Array(c*f));let M=0;for(let A=0;Ai.s+1)throw Q&&Q.error("lagrangeEvaluations input too big"),new Error("lagrangeEvaluations input too big");let a=A.slice(0,A.byteLength/2),s=A.slice(A.byteLength/2,A.byteLength);const h=i.exp(i.shift,o/2),f=i.inv(i.sub(i.one,h));[a,s]=await C(a,s,"prepareLagrangeEvaluation",f,i.shiftInv,g,"jacobian",Q,B+" prep");const w=[];let D;return w.push(e(a,!0,"jacobian",n,Q,B+" t0")),w.push(e(s,!0,"jacobian",n,Q,B+" t1")),[a,s]=await Promise.all(w),D=a.byteLength>1<<28?new VA(2*a.byteLength):new Uint8Array(2*a.byteLength),D.set(a),D.set(s,a.byteLength),D},t.fftMix=async function(A){const e=3*t.F.n8;let C,n;if("G1"==I)C="g1m_fftMix",n="g1m_fftJoin";else if("G2"==I)C="g2m_fftMix",n="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");C="frm_fftMix",n="frm_fftJoin"}const Q=Math.floor(A.byteLength/e),B=SA(Q);let r=1<=0;A--)a.set(E[A][0],s),s+=E[A][0].byteLength;return a}}async function rI(A){const I=await async function(A,I){const t=new eI;t.memory=new WebAssembly.Memory({initial:25}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(tI(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=tI(A.code),t.taskManager=_A(),await t.taskManager([{cmd:"INIT",init:25,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:$A.cpus().length,I>64&&(I=64),t.concurrency=I;for(let A=0;A{I.pendingLoads.push({page:A,resolve:t,reject:i})}));return I.__statusPage("After Load request: ",A),t}__statusPage(A,I){const t=[],i=this;if(!i.logHistory)return;t.push("=="+A+" "+I);let g="";for(let A=0;A "+I.history[A][t][i])}_triggerLoad(){const A=this;if(A.reading)return;if(0==A.pendingLoads.length)return;const I=Object.keys(A.pages),t=[];for(let i=0;i0&&(void 0!==A.pages[A.pendingLoads[0].page]||i>0||t.length>0);){const I=A.pendingLoads.shift();if(void 0!==A.pages[I.page]){A.pages[I.page].pendingOps++;const i=t.indexOf(I.page);i>=0&&t.splice(i,1),A.pages[I.page].loading?A.pages[I.page].loading.push(I):I.resolve(),A.__statusPage("After Load (cached): ",I.page)}else{if(i)i--;else{const I=t.shift();A.__statusPage("Before Unload: ",I),A.avBuffs.unshift(A.pages[I]),delete A.pages[I],A.__statusPage("After Unload: ",I)}I.page>=A.totalPages?(A.pages[I.page]=e(),I.resolve(),A.__statusPage("After Load (new): ",I.page)):(A.reading=!0,A.pages[I.page]=e(),A.pages[I.page].loading=[I],g.push(A.fd.read(A.pages[I.page].buff,0,A.pageSize,I.page*A.pageSize).then((t=>{A.pages[I.page].size=t.bytesRead;const i=A.pages[I.page].loading;delete A.pages[I.page].loading;for(let A=0;A{I.reject(A)}))),A.__statusPage("After Load (loading): ",I.page))}}function e(){if(A.avBuffs.length>0){const I=A.avBuffs.shift();return I.dirty=!1,I.pendingOps=1,I.size=0,I}return{dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0}}Promise.all(g).then((()=>{A.reading=!1,A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A)),A._tryClose()}))}_triggerWrite(){const A=this;if(A.writing)return;const I=Object.keys(A.pages),t=[];for(let i=0;i{g.writing=!1}),(I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))))}A.writing&&Promise.all(t).then((()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),A._tryClose(),A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A))}))}_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 e[C-i];const I=n+Q>t.pageSize?t.pageSize-n:Q,g=A.slice(A.byteLength-Q,A.byteLength-Q+I);new Uint8Array(t.pages[C].buff.buffer,n,I).set(g),t.pages[C].dirty=!0,t.pages[C].pendingOps--,t.pages[C].size=Math.max(n+I,t.pages[C].size),C>=t.totalPages&&(t.totalPages=C+1),Q-=I,C++,n=0,t.writing||setImmediate(t._triggerWrite.bind(t))}}async read(A,I){let t=new Uint8Array(A);return await this.readToBuffer(t,0,A,I),t}async readToBuffer(A,I,t,i){if(0==t)return;const g=this;if(t>g.pageSize*g.maxPagesLoaded*.8){const A=Math.floor(1.1*t);this.maxPagesLoaded=Math.floor(A/g.pageSize)+1}if(void 0===i&&(i=g.pos),g.pos=i+t,g.pendingClose)throw new Error("Reading a closing file");const e=Math.floor(i/g.pageSize),C=Math.floor((i+t-1)/g.pageSize),n=[];for(let A=e;A<=C;A++)n.push(g._loadPage(A));g._triggerLoad();let Q=e,B=i%g.pageSize,r=i+t>g.totalSize?t-(i+t-g.totalSize):t;for(;r>0;){await n[Q-e],g.__statusPage("After Await (read): ",Q);const i=B+r>g.pageSize?g.pageSize-B:r,C=new Uint8Array(g.pages[Q].buff.buffer,g.pages[Q].buff.byteOffset+B,i);A.set(C,I+t-r),g.pages[Q].pendingOps--,g.__statusPage("After Op done: ",Q),r-=i,Q++,B=0,g.pendingLoads.length>0&&setImmediate(g._triggerLoad.bind(g))}this.pos=i+t}_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 hI.promises.unlink(this.fileName)}async writeULE32(A,I){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,A,!0),await this.write(t,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=new Uint8Array(8),i=new DataView(t.buffer);i.setUint32(0,4294967295&A,!0),i.setUint32(4,Math.floor(A/4294967296),!0),await this.write(t,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 DI=new Uint8Array(4),cI=new DataView(DI.buffer),uI=new Uint8Array(8),lI=new DataView(uI.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.slice(),I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async readToBuffer(A,I,t,i){if(void 0===i&&(i=this.pos),this.readOnly&&i+t>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(i+t);const g=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+i,t);A.set(g,I),this.pos=i+t}async read(A,I){const t=new Uint8Array(A);return await this.readToBuffer(t,0,A,I),t}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){cI.setUint32(0,A,!0),await this.write(DI,I)}async writeUBE32(A,I){cI.setUint32(0,A,!1),await this.write(DI,I)}async writeULE64(A,I){lI.setUint32(0,4294967295&A,!0),lI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(uI,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 pI=1<<22;const FI=new Uint8Array(4),MI=new DataView(FI.buffer),mI=new Uint8Array(8),dI=new DataView(mI.buffer);class GI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A<=this.totalSize)return;if(this.readOnly)throw new Error("Reading out of file bounds");const I=Math.floor((A-1)/pI)+1;for(let t=Math.max(this.o.data.length-1,0);t0;){const I=g+e>pI?pI-g:e,C=A.slice(A.byteLength-e,A.byteLength-e+I);new Uint8Array(t.o.data[i].buffer,g,I).set(C),e-=I,i++,g=0}this.pos=I+A.byteLength}async readToBuffer(A,I,t,i){const g=this;if(void 0===i&&(i=g.pos),this.readOnly&&i+t>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(i+t);let e=Math.floor(i/pI),C=i%pI,n=t;for(;n>0;){const i=C+n>pI?pI-C:n,Q=new Uint8Array(g.o.data[e].buffer,C,i);A.set(Q,I+t-n),n-=i,e++,C=0}this.pos=i+t}async read(A,I){const t=new Uint8Array(A);return await this.readToBuffer(t,0,A,I),t}close(){}async discard(){}async writeULE32(A,I){MI.setUint32(0,A,!0),await this.write(FI,I)}async writeUBE32(A,I){MI.setUint32(0,A,!1),await this.write(FI,I)}async writeULE64(A,I){dI.setUint32(0,4294967295&A,!0),dI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(mI,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 HI(A,I,t){if("string"==typeof A&&(A={type:"file",fileName:A,cacheSize:I||65536,pageSize:t||8192}),"file"==A.type)return await fI(A.fileName,"w+",A.cacheSize,A.pageSize);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);if("bigMem"==A.type)return function(A){const I=A.initialSize||0,t=new GI;t.o=A;const i=I?Math.floor((I-1)/pI)+1:0;t.o.data=[];for(let A=0;At)throw new Error("Version not supported");const Q=await e.readULE32();let B=[];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 SI(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 vI(A,I,t,i){const g=new Uint8Array(t);aI.toRprLE(g,0,I,t),await A.write(g,i)}async function RI(A,I,t){const i=await A.read(I,t);return aI.fromRprLE(i,0,I)}async function YI(A,I,t,i,g){void 0===g&&(g=I[i][0].size);const e=A.pageSize;await JI(A,I,i),await kI(t,i);for(let I=0;II[t][0].size)throw new Error("Reading out of the range of the section");let e;return e=g<1<<30?new Uint8Array(g):new VA(g),await A.readToBuffer(e,0,g,I[t][0].p+i),e}async function xI(A,I,t,i,g){const e=16*A.pageSize;if(await JI(A,I,g),await JI(t,i,g),I[g][0].size!=i[g][0].size)return!1;const C=I[g][0].size;for(let I=0;I=0)I=await oI();else{if(!(["BLS12381"].indexOf(t)>=0))throw new Error(`Curve not supported: ${A}`);I=await EI()}return I}KI.notEqual=function(A,I,t){KI(A!=I,t)},KI.notOk=function(A,I){KI(!A,I)},KI.equal=function(A,I,t){KI(A==I,t)},KI.ok=KI;var VI=KI;function KI(A,I){if(!A)throw new Error(I||"AssertionError")}var jI=zI;function zI(A){if(!zI.supported)return null;var I,t=A&&A.imports,i=(I="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","function"==typeof atob?new Uint8Array(atob(I).split("").map(WI)):function(A){throw new Error('Could not dynamically require "'+A+'". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.')}("buffer").Buffer.from(I,"base64")),g=null,e={buffer:i,memory:null,exports:null,realloc:function(A){e.exports.memory.grow(Math.max(0,Math.ceil(Math.abs(A-e.memory.length)/65536))),e.memory=new Uint8Array(e.exports.memory.buffer)},onload:C};return C((function(){})),e;function C(I){if(e.exports)return I();if(g)g.then(I.bind(null,null)).catch(I);else{try{if(A&&A.async)throw new Error("async");n({instance:new WebAssembly.Instance(new WebAssembly.Module(i),t)})}catch(A){g=WebAssembly.instantiate(i,t).then(n)}C(I)}}function n(A){e.exports=A.instance.exports,e.memory=e.exports.memory&&e.exports.memory.buffer&&new Uint8Array(e.exports.memory.buffer)}}function WI(A){return A.charCodeAt(0)}zI.supported="undefined"!=typeof WebAssembly;var TI=r((function(A){var I=jI(),t=64,i=[];A.exports=r;var g=A.exports.BYTES_MIN=16,e=A.exports.BYTES_MAX=64,C=(A.exports.BYTES=32,A.exports.KEYBYTES_MIN=16),n=A.exports.KEYBYTES_MAX=64,Q=(A.exports.KEYBYTES=32,A.exports.SALTBYTES=16),B=A.exports.PERSONALBYTES=16;function r(A,o,E,a,s){if(!(this instanceof r))return new r(A,o,E,a,s);if(!I||!I.exports)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");A||(A=32),!0!==s&&(VI(A>=g,"digestLength must be at least "+g+", was given "+A),VI(A<=e,"digestLength must be at most "+e+", was given "+A),null!=o&&(VI(o instanceof Uint8Array,"key must be Uint8Array or Buffer"),VI(o.length>=C,"key must be at least "+C+", was given "+o.length),VI(o.length<=n,"key must be at least "+n+", was given "+o.length)),null!=E&&(VI(E instanceof Uint8Array,"salt must be Uint8Array or Buffer"),VI(E.length===Q,"salt must be exactly "+Q+", was given "+E.length)),null!=a&&(VI(a instanceof Uint8Array,"personal must be Uint8Array or Buffer"),VI(a.length===B,"personal must be exactly "+B+", was given "+a.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]=o?o.length:0,I.memory[2]=1,I.memory[3]=1,E&&I.memory.set(E,32),a&&I.memory.set(a,48),this.pointer+216>I.memory.length&&I.realloc(this.pointer+216),I.exports.blake2b_init(this.pointer,this.digestLength),o&&(this.update(o),I.memory.fill(0,t,t+o.length),I.memory[this.pointer+200]=128)}function o(){}function E(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 At(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 It(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 tt(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 it(A){const I=A.getPartialHash(),t=TI(64);return t.setPartialHash(I),t}async function gt(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 et(A){for(;!A;)A=await window.prompt("Enter a random text. (Entropy): ","");const I=TI(64);I.update(cA.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 DA(g)}function Ct(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 Dt(A,I,t){await kI(A,10),await A.write(t.csHash),await A.writeULE32(t.contributions.length);for(let i=0;i /\\../\\",a=52,s={32:{offset:0},64:{offset:[0,0,0,0]},128:{offset:[0,0,0,0,0,0,0,0]},256:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},512:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},1024:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}};for(A=0;A<256;A++)Q[A]=(A>>4&15).toString(16)+(15&A).toString(16);function h(A,I){var t,i,g,e=[0],C="";for(i=0;i0;)e.push(t%I),t=t/I|0}for(i=e.length-1;i>=0;--i)C+="0123456789abcdefghijklmnopqrstuvwxyz"[e[i]];return C}function f(A,I){return{bits:I,value:A,dec:function(){return h(A,10)},hex:function(){return A},str:function(){return h(A,36)}}}function w(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return Q[A>>>24]+Q[A>>>16&255]+Q[A>>>8&255]+Q[255&A]},str:function(){return A.toString(36)}}}function D(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 c(A,Q){var B="object"==typeof A?JSON.stringify(A):A;switch(Q||a){case 32:return I(B);case 64:return i(B);case 128:return g(B);case 256:return e(B);case 512:return C(B);case 1024:return n(B);default:return t(B)}}function u(A){if("1a"===A)r=A,I=o?M:p,t=o?H:d,i=o?k:b,g=o?v:J,e=o?x:Y,C=o?Z:X,n=o?z:K;else{if("1"!==A)throw new Error("Supported FNV versions: 1, 1a");r=A,I=o?m:F,t=o?U:G,i=o?N:L,g=o?R:S,e=o?P:q,C=o?V:O,n=o?W:j}}function l(A){A?(o=!0,I="1a"==r?M:m,t="1a"==r?H:U,i="1a"==r?k:N,g="1a"==r?v:R,e="1a"==r?x:P,C="1a"==r?Z:V,n="1a"==r?z:W):(o=!1,I="1a"==r?p:F,t="1a"==r?d:G,i="1a"==r?b:L,g="1a"==r?J:S,e="1a"==r?Y:q,C="1a"==r?X:O,n="1a"==r?K:j)}function y(A){var I,t,i=r;for(var g in(A=A||0===A?A:E)===E&&u("1"),s){for(s[g].offset=[],t=0;t>>16)&65535),C+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),C+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),n=(C+=(e^=A.charCodeAt(I++))<<8)+((g=403*e)>>>16)&65535,e=65535&g;for(;I>>16)&65535,e=65535&g;return w((n<<16>>>0)+e,32)}function F(A){var I,t=A.length-3,i=s[32].offset,g=0,e=0|i[1],C=0,n=0|i[0];for(I=0;I>>16)&65535),C+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),C+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),n=(C+=(e^=A.charCodeAt(I++))<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=A.charCodeAt(I++);for(;I>>16)&65535,e=65535&g,e^=A.charCodeAt(I++);return w((n<<16>>>0)+e,32)}function M(A){var I,t,i=A.length,g=s[32].offset,e=0,C=0|g[1],n=0,Q=0|g[0];for(t=0;t>6|192)<<8)+((e=403*C)>>>16)&65535,C=65535&e,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(e=403*C),n=403*(Q=n+(e>>>16)&65535),n+=(C^=I>>12&63|128)<<8,C=65535&(e=403*C),n=403*(Q=n+(e>>>16)&65535),Q=(n+=(C^=I>>6&63|128)<<8)+((e=403*C)>>>16)&65535,C=65535&e,C^=63&I|128):(n=403*Q,n+=(C^=I>>12|224)<<8,C=65535&(e=403*C),n=403*(Q=n+(e>>>16)&65535),Q=(n+=(C^=I>>6&63|128)<<8)+((e=403*C)>>>16)&65535,C=65535&e,C^=63&I|128),n=403*Q,Q=(n+=C<<8)+((e=403*C)>>>16)&65535,C=65535&e;return w((Q<<16>>>0)+C,32)}function m(A){var I,t,i=A.length,g=s[32].offset,e=0,C=0|g[1],n=0,Q=0|g[0];for(t=0;t>>16)&65535,C=65535&e,(I=A.charCodeAt(t))<128?C^=I:I<2048?(n=403*Q,Q=(n+=(C^=I>>6|192)<<8)+((e=403*C)>>>16)&65535,C=65535&e,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(e=403*C),n=403*(Q=n+(e>>>16)&65535),n+=(C^=I>>12&63|128)<<8,C=65535&(e=403*C),n=403*(Q=n+(e>>>16)&65535),Q=(n+=(C^=I>>6&63|128)<<8)+((e=403*C)>>>16)&65535,C=65535&e,C^=63&I|128):(n=403*Q,n+=(C^=I>>12|224)<<8,C=65535&(e=403*C),n=403*(Q=n+(e>>>16)&65535),Q=(n+=(C^=I>>6&63|128)<<8)+((e=403*C)>>>16)&65535,C=65535&e,C^=63&I|128);return w((Q<<16>>>0)+C,32)}function d(A){var I,t=A.length-3,i=s[64].offset,g=0,e=0|i[3],C=0,n=0|i[2],Q=0,B=0|i[1],r=0,o=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),o=(r+=n<<8)+((Q+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),o=(r+=n<<8)+((Q+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(I++))<<8,r+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q;for(;I>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q;return D(281474976710656*(15&o)+4294967296*B+65536*n+(e^o>>4),52)}function G(A){var I,t=A.length-3,i=s[64].offset,g=0,e=0|i[3],C=0,n=0|i[2],Q=0,B=0|i[1],r=0,o=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),o=(r+=n<<8)+((Q+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),o=(r+=n<<8)+((Q+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=A.charCodeAt(I++))<<8,r+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q,e^=A.charCodeAt(I++);for(;I>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q,e^=A.charCodeAt(I++);return D(281474976710656*(15&o)+4294967296*B+65536*n+(e^o>>4),52)}function H(A){var I,t,i=A.length,g=s[64].offset,e=0,C=0|g[3],n=0,Q=0|g[2],B=0,r=0|g[1],o=0,E=0|g[0];for(t=0;t>6|192)<<8,o+=Q<<8,C=65535&(e=435*C),Q=65535&(n+=e>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(e=435*C),E=(o+=Q<<8)+((B+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(Q=65535&n),B=435*(r=65535&B),o=435*E,B+=(C^=I>>12&63|128)<<8,C=65535&(e=435*C),E=(o+=Q<<8)+((B+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(Q=65535&n),B=435*(r=65535&B),o=435*E,B+=(C^=I>>6&63|128)<<8,o+=Q<<8,C=65535&(e=435*C),Q=65535&(n+=e>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):(n=435*Q,B=435*r,o=435*E,B+=(C^=I>>12|224)<<8,C=65535&(e=435*C),E=(o+=Q<<8)+((B+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(Q=65535&n),B=435*(r=65535&B),o=435*E,B+=(C^=I>>6&63|128)<<8,o+=Q<<8,C=65535&(e=435*C),Q=65535&(n+=e>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,C^=63&I|128),n=435*Q,B=435*r,o=435*E,B+=C<<8,o+=Q<<8,C=65535&(e=435*C),Q=65535&(n+=e>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B;return D(281474976710656*(15&E)+4294967296*r+65536*Q+(C^E>>4),52)}function U(A){var I,t,i=A.length,g=s[64].offset,e=0,C=0|g[3],n=0,Q=0|g[2],B=0,r=0|g[1],o=0,E=0|g[0];for(t=0;t>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,(I=A.charCodeAt(t))<128?C^=I:I<2048?(n=435*Q,B=435*r,o=435*E,B+=(C^=I>>6|192)<<8,o+=Q<<8,C=65535&(e=435*C),Q=65535&(n+=e>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(e=435*C),E=(o+=Q<<8)+((B+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(Q=65535&n),B=435*(r=65535&B),o=435*E,B+=(C^=I>>12&63|128)<<8,C=65535&(e=435*C),E=(o+=Q<<8)+((B+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(Q=65535&n),B=435*(r=65535&B),o=435*E,B+=(C^=I>>6&63|128)<<8,o+=Q<<8,C=65535&(e=435*C),Q=65535&(n+=e>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):(n=435*Q,B=435*r,o=435*E,B+=(C^=I>>12|224)<<8,C=65535&(e=435*C),E=(o+=Q<<8)+((B+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(Q=65535&n),B=435*(r=65535&B),o=435*E,B+=(C^=I>>6&63|128)<<8,o+=Q<<8,C=65535&(e=435*C),Q=65535&(n+=e>>>16),E=o+((B+=n>>>16)>>>16)&65535,r=65535&B,C^=63&I|128);return D(281474976710656*(15&E)+4294967296*r+65536*Q+(C^E>>4),52)}function b(A){var I,t=A.length-3,i=s[64].offset,g=0,e=0|i[3],C=0,n=0|i[2],B=0,r=0|i[1],o=0,E=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),E=(o+=n<<8)+((B+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),E=(o+=n<<8)+((B+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(I++))<<8,o+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B;for(;I>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B;return f(Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],64)}function L(A){var I,t=A.length-3,i=s[64].offset,g=0,e=0|i[3],C=0,n=0|i[2],B=0,r=0|i[1],o=0,E=0|i[0];for(I=0;I>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),E=(o+=n<<8)+((B+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(I++))<<8,e=65535&(g=435*e),E=(o+=n<<8)+((B+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=A.charCodeAt(I++))<<8,o+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,e^=A.charCodeAt(I++);for(;I>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,e^=A.charCodeAt(I++);return f(Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],64)}function k(A){var I,t,i=A.length,g=s[64].offset,e=0,C=0|g[3],n=0,B=0|g[2],r=0,o=0|g[1],E=0,a=0|g[0];for(t=0;t>6|192)<<8,E+=B<<8,C=65535&(e=435*C),B=65535&(n+=e>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(e=435*C),a=(E+=B<<8)+((r+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(B=65535&n),r=435*(o=65535&r),E=435*a,r+=(C^=I>>12&63|128)<<8,C=65535&(e=435*C),a=(E+=B<<8)+((r+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(B=65535&n),r=435*(o=65535&r),E=435*a,r+=(C^=I>>6&63|128)<<8,E+=B<<8,C=65535&(e=435*C),B=65535&(n+=e>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,C^=63&I|128):(n=435*B,r=435*o,E=435*a,r+=(C^=I>>12|224)<<8,C=65535&(e=435*C),a=(E+=B<<8)+((r+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(B=65535&n),r=435*(o=65535&r),E=435*a,r+=(C^=I>>6&63|128)<<8,E+=B<<8,C=65535&(e=435*C),B=65535&(n+=e>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,C^=63&I|128),n=435*B,r=435*o,E=435*a,r+=C<<8,E+=B<<8,C=65535&(e=435*C),B=65535&(n+=e>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r;return f(Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],64)}function N(A){var I,t,i=A.length,g=s[64].offset,e=0,C=0|g[3],n=0,B=0|g[2],r=0,o=0|g[1],E=0,a=0|g[0];for(t=0;t>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,(I=A.charCodeAt(t))<128?C^=I:I<2048?(n=435*B,r=435*o,E=435*a,r+=(C^=I>>6|192)<<8,E+=B<<8,C=65535&(e=435*C),B=65535&(n+=e>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,C=65535&(e=435*C),a=(E+=B<<8)+((r+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(B=65535&n),r=435*(o=65535&r),E=435*a,r+=(C^=I>>12&63|128)<<8,C=65535&(e=435*C),a=(E+=B<<8)+((r+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(B=65535&n),r=435*(o=65535&r),E=435*a,r+=(C^=I>>6&63|128)<<8,E+=B<<8,C=65535&(e=435*C),B=65535&(n+=e>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,C^=63&I|128):(n=435*B,r=435*o,E=435*a,r+=(C^=I>>12|224)<<8,C=65535&(e=435*C),a=(E+=B<<8)+((r+=(n+=e>>>16)>>>16)>>>16)&65535,n=435*(B=65535&n),r=435*(o=65535&r),E=435*a,r+=(C^=I>>6&63|128)<<8,E+=B<<8,C=65535&(e=435*C),B=65535&(n+=e>>>16),a=E+((r+=n>>>16)>>>16)&65535,o=65535&r,C^=63&I|128);return f(Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],64)}function J(A){var I,t=A.length-3,i=s[128].offset,g=0,e=0|i[7],C=0,n=0|i[6],B=0,r=0|i[5],o=0,E=0|i[4],a=0,h=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],l=0,y=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(n=65535&C),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(D=65535&w),c=315*(u=65535&c),l=315*y,w+=(e^=A.charCodeAt(I++))<<8,c+=n<<8,e=65535&(g=315*e),y=(l+=r<<8)+((c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(n=65535&C),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(D=65535&w),c=315*(u=65535&c),l=315*y,w+=(e^=A.charCodeAt(I++))<<8,c+=n<<8,e=65535&(g=315*e),y=(l+=r<<8)+((c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(n=65535&C),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(D=65535&w),c=315*(u=65535&c),l=315*y,w+=(e^=A.charCodeAt(I++))<<8,c+=n<<8,l+=r<<8,e=65535&(g=315*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),y=l+((c+=w>>>16)>>>16)&65535,u=65535&c;for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),y=l+((c+=w>>>16)>>>16)&65535,u=65535&c;return f(Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],128)}function S(A){var I,t=A.length-3,i=s[128].offset,g=0,e=0|i[7],C=0,n=0|i[6],B=0,r=0|i[5],o=0,E=0|i[4],a=0,h=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],l=0,y=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(n=65535&C),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(D=65535&w),c=315*(u=65535&c),l=315*y,w+=(e^=A.charCodeAt(I++))<<8,c+=n<<8,e=65535&(g=315*e),y=(l+=r<<8)+((c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(n=65535&C),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(D=65535&w),c=315*(u=65535&c),l=315*y,w+=(e^=A.charCodeAt(I++))<<8,c+=n<<8,e=65535&(g=315*e),y=(l+=r<<8)+((c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=315*(n=65535&C),B=315*(r=65535&B),o=315*(E=65535&o),a=315*(h=65535&a),w=315*(D=65535&w),c=315*(u=65535&c),l=315*y,w+=(e^=A.charCodeAt(I++))<<8,c+=n<<8,l+=r<<8,e=65535&(g=315*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),y=l+((c+=w>>>16)>>>16)&65535,u=65535&c,e^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),y=l+((c+=w>>>16)>>>16)&65535,u=65535&c,e^=A.charCodeAt(I++);return f(Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],128)}function v(A){var I,t,i=A.length,g=s[128].offset,e=0,C=0|g[7],n=0,B=0|g[6],r=0,o=0|g[5],E=0,a=0|g[4],h=0,w=0|g[3],D=0,c=0|g[2],u=0,l=0|g[1],y=0,p=0|g[0];for(t=0;t>6|192)<<8,u+=B<<8,y+=o<<8,C=65535&(e=315*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,u+=B<<8,C=65535&(e=315*C),p=(y+=o<<8)+((u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(B=65535&n),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),D=315*(c=65535&D),u=315*(l=65535&u),y=315*p,D+=(C^=I>>12&63|128)<<8,u+=B<<8,C=65535&(e=315*C),p=(y+=o<<8)+((u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(B=65535&n),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),D=315*(c=65535&D),u=315*(l=65535&u),y=315*p,D+=(C^=I>>6&63|128)<<8,u+=B<<8,y+=o<<8,C=65535&(e=315*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u,C^=63&I|128):(n=315*B,r=315*o,E=315*a,h=315*w,D=315*c,u=315*l,y=315*p,D+=(C^=I>>12|224)<<8,u+=B<<8,C=65535&(e=315*C),p=(y+=o<<8)+((u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(B=65535&n),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),D=315*(c=65535&D),u=315*(l=65535&u),y=315*p,D+=(C^=I>>6&63|128)<<8,u+=B<<8,y+=o<<8,C=65535&(e=315*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u,C^=63&I|128),n=315*B,r=315*o,E=315*a,h=315*w,D=315*c,u=315*l,y=315*p,D+=C<<8,u+=B<<8,y+=o<<8,C=65535&(e=315*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u;return f(Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],128)}function R(A){var I,t,i=A.length,g=s[128].offset,e=0,C=0|g[7],n=0,B=0|g[6],r=0,o=0|g[5],E=0,a=0|g[4],h=0,w=0|g[3],D=0,c=0|g[2],u=0,l=0|g[1],y=0,p=0|g[0];for(t=0;t>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u,(I=A.charCodeAt(t))<128?C^=I:I<2048?(n=315*B,r=315*o,E=315*a,h=315*w,D=315*c,u=315*l,y=315*p,D+=(C^=I>>6|192)<<8,u+=B<<8,y+=o<<8,C=65535&(e=315*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,u+=B<<8,C=65535&(e=315*C),p=(y+=o<<8)+((u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(B=65535&n),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),D=315*(c=65535&D),u=315*(l=65535&u),y=315*p,D+=(C^=I>>12&63|128)<<8,u+=B<<8,C=65535&(e=315*C),p=(y+=o<<8)+((u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(B=65535&n),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),D=315*(c=65535&D),u=315*(l=65535&u),y=315*p,D+=(C^=I>>6&63|128)<<8,u+=B<<8,y+=o<<8,C=65535&(e=315*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u,C^=63&I|128):(n=315*B,r=315*o,E=315*a,h=315*w,D=315*c,u=315*l,y=315*p,D+=(C^=I>>12|224)<<8,u+=B<<8,C=65535&(e=315*C),p=(y+=o<<8)+((u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=315*(B=65535&n),r=315*(o=65535&r),E=315*(a=65535&E),h=315*(w=65535&h),D=315*(c=65535&D),u=315*(l=65535&u),y=315*p,D+=(C^=I>>6&63|128)<<8,u+=B<<8,y+=o<<8,C=65535&(e=315*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),p=y+((u+=D>>>16)>>>16)&65535,l=65535&u,C^=63&I|128);return f(Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],128)}function Y(A){var I,t=A.length-3,i=s[256].offset,g=0,e=0|i[15],C=0,n=0|i[14],B=0,r=0|i[13],o=0,E=0|i[12],a=0,h=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],l=0,y=0|i[8],p=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],H=0,U=0|i[4],b=0,L=0|i[3],k=0,N=0|i[2],J=0,S=0|i[1],v=0,R=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(n=65535&C),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(D=65535&w),c=355*(u=65535&c),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),H=355*(U=65535&H),b=355*(L=65535&b),k=355*(N=65535&k),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(I++))<<8,H+=n<<8,b+=r<<8,k+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=D<<8)+((J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(n=65535&C),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(D=65535&w),c=355*(u=65535&c),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),H=355*(U=65535&H),b=355*(L=65535&b),k=355*(N=65535&k),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(I++))<<8,H+=n<<8,b+=r<<8,k+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=D<<8)+((J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(n=65535&C),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(D=65535&w),c=355*(u=65535&c),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),H=355*(U=65535&H),b=355*(L=65535&b),k=355*(N=65535&k),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(I++))<<8,H+=n<<8,b+=r<<8,k+=E<<8,J+=h<<8,v+=D<<8,e=65535&(g=355*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),R=v+((J+=k>>>16)>>>16)&65535,S=65535&J;for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),R=v+((J+=k>>>16)>>>16)&65535,S=65535&J;return f(Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[N>>8]+Q[255&N]+Q[L>>8]+Q[255&L]+Q[U>>8]+Q[255&U]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],256)}function q(A){var I,t=A.length-3,i=s[256].offset,g=0,e=0|i[15],C=0,n=0|i[14],B=0,r=0|i[13],o=0,E=0|i[12],a=0,h=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],l=0,y=0|i[8],p=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],H=0,U=0|i[4],b=0,L=0|i[3],k=0,N=0|i[2],J=0,S=0|i[1],v=0,R=0|i[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(n=65535&C),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(D=65535&w),c=355*(u=65535&c),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),H=355*(U=65535&H),b=355*(L=65535&b),k=355*(N=65535&k),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(I++))<<8,H+=n<<8,b+=r<<8,k+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=D<<8)+((J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(n=65535&C),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(D=65535&w),c=355*(u=65535&c),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),H=355*(U=65535&H),b=355*(L=65535&b),k=355*(N=65535&k),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(I++))<<8,H+=n<<8,b+=r<<8,k+=E<<8,J+=h<<8,e=65535&(g=355*e),R=(v+=D<<8)+((J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,C=355*(n=65535&C),B=355*(r=65535&B),o=355*(E=65535&o),a=355*(h=65535&a),w=355*(D=65535&w),c=355*(u=65535&c),l=355*(y=65535&l),p=355*(F=65535&p),M=355*(m=65535&M),d=355*(G=65535&d),H=355*(U=65535&H),b=355*(L=65535&b),k=355*(N=65535&k),J=355*(S=65535&J),v=355*R,d+=(e^=A.charCodeAt(I++))<<8,H+=n<<8,b+=r<<8,k+=E<<8,J+=h<<8,v+=D<<8,e=65535&(g=355*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),R=v+((J+=k>>>16)>>>16)&65535,S=65535&J,e^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),R=v+((J+=k>>>16)>>>16)&65535,S=65535&J,e^=A.charCodeAt(I++);return f(Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[N>>8]+Q[255&N]+Q[L>>8]+Q[255&L]+Q[U>>8]+Q[255&U]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],256)}function x(A){var I,t,i=A.length,g=s[256].offset,e=0,C=0|g[15],n=0,B=0|g[14],r=0,o=0|g[13],E=0,a=0|g[12],h=0,w=0|g[11],D=0,c=0|g[10],u=0,l=0|g[9],y=0,p=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,H=0|g[5],U=0,b=0|g[4],L=0,k=0|g[3],N=0,J=0|g[2],S=0,v=0|g[1],R=0,Y=0|g[0];for(t=0;t>6|192)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,R+=c<<8,C=65535&(e=355*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,C=65535&(e=355*C),Y=(R+=c<<8)+((S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(B=65535&n),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),D=355*(c=65535&D),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(H=65535&G),U=355*(b=65535&U),L=355*(k=65535&L),N=355*(J=65535&N),S=355*(v=65535&S),R=355*Y,G+=(C^=I>>12&63|128)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,C=65535&(e=355*C),Y=(R+=c<<8)+((S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(B=65535&n),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),D=355*(c=65535&D),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(H=65535&G),U=355*(b=65535&U),L=355*(k=65535&L),N=355*(J=65535&N),S=355*(v=65535&S),R=355*Y,G+=(C^=I>>6&63|128)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,R+=c<<8,C=65535&(e=355*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S,C^=63&I|128):(n=355*B,r=355*o,E=355*a,h=355*w,D=355*c,u=355*l,y=355*p,F=355*M,m=355*d,G=355*H,U=355*b,L=355*k,N=355*J,S=355*v,R=355*Y,G+=(C^=I>>12|224)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,C=65535&(e=355*C),Y=(R+=c<<8)+((S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(B=65535&n),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),D=355*(c=65535&D),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(H=65535&G),U=355*(b=65535&U),L=355*(k=65535&L),N=355*(J=65535&N),S=355*(v=65535&S),R=355*Y,G+=(C^=I>>6&63|128)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,R+=c<<8,C=65535&(e=355*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S,C^=63&I|128),n=355*B,r=355*o,E=355*a,h=355*w,D=355*c,u=355*l,y=355*p,F=355*M,m=355*d,G=355*H,U=355*b,L=355*k,N=355*J,S=355*v,R=355*Y,G+=C<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,R+=c<<8,C=65535&(e=355*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S;return f(Q[Y>>8]+Q[255&Y]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[k>>8]+Q[255&k]+Q[b>>8]+Q[255&b]+Q[H>>8]+Q[255&H]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],256)}function P(A){var I,t,i=A.length,g=s[256].offset,e=0,C=0|g[15],n=0,B=0|g[14],r=0,o=0|g[13],E=0,a=0|g[12],h=0,w=0|g[11],D=0,c=0|g[10],u=0,l=0|g[9],y=0,p=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,H=0|g[5],U=0,b=0|g[4],L=0,k=0|g[3],N=0,J=0|g[2],S=0,v=0|g[1],R=0,Y=0|g[0];for(t=0;t>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S,(I=A.charCodeAt(t))<128?C^=I:I<2048?(n=355*B,r=355*o,E=355*a,h=355*w,D=355*c,u=355*l,y=355*p,F=355*M,m=355*d,G=355*H,U=355*b,L=355*k,N=355*J,S=355*v,R=355*Y,G+=(C^=I>>6|192)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,R+=c<<8,C=65535&(e=355*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,C=65535&(e=355*C),Y=(R+=c<<8)+((S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(B=65535&n),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),D=355*(c=65535&D),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(H=65535&G),U=355*(b=65535&U),L=355*(k=65535&L),N=355*(J=65535&N),S=355*(v=65535&S),R=355*Y,G+=(C^=I>>12&63|128)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,C=65535&(e=355*C),Y=(R+=c<<8)+((S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(B=65535&n),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),D=355*(c=65535&D),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(H=65535&G),U=355*(b=65535&U),L=355*(k=65535&L),N=355*(J=65535&N),S=355*(v=65535&S),R=355*Y,G+=(C^=I>>6&63|128)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,R+=c<<8,C=65535&(e=355*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S,C^=63&I|128):(n=355*B,r=355*o,E=355*a,h=355*w,D=355*c,u=355*l,y=355*p,F=355*M,m=355*d,G=355*H,U=355*b,L=355*k,N=355*J,S=355*v,R=355*Y,G+=(C^=I>>12|224)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,C=65535&(e=355*C),Y=(R+=c<<8)+((S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,n=355*(B=65535&n),r=355*(o=65535&r),E=355*(a=65535&E),h=355*(w=65535&h),D=355*(c=65535&D),u=355*(l=65535&u),y=355*(p=65535&y),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(H=65535&G),U=355*(b=65535&U),L=355*(k=65535&L),N=355*(J=65535&N),S=355*(v=65535&S),R=355*Y,G+=(C^=I>>6&63|128)<<8,U+=B<<8,L+=o<<8,N+=a<<8,S+=w<<8,R+=c<<8,C=65535&(e=355*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),Y=R+((S+=N>>>16)>>>16)&65535,v=65535&S,C^=63&I|128);return f(Q[Y>>8]+Q[255&Y]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[k>>8]+Q[255&k]+Q[b>>8]+Q[255&b]+Q[H>>8]+Q[255&H]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],256)}function X(A){var I,t=A.length-3,i=s[512].offset,g=0,e=0|i[31],C=0,n=0|i[30],B=0,r=0|i[29],o=0,E=0|i[28],a=0,h=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],l=0,y=0|i[24],p=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],H=0,U=0|i[20],b=0,L=0|i[19],k=0,N=0|i[18],J=0,S=0|i[17],v=0,R=0|i[16],Y=0,q=0|i[15],x=0,P=0|i[14],X=0,O=0|i[13],Z=0,V=0|i[12],K=0,j=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],eA=0,CA=0|i[5],nA=0,QA=0|i[4],BA=0,rA=0|i[3],oA=0,EA=0|i[2],aA=0,sA=0|i[1],hA=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,C=343*(n=65535&C),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(D=65535&w),c=343*(u=65535&c),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),H=343*(U=65535&H),b=343*(L=65535&b),k=343*(N=65535&k),J=343*(S=65535&J),v=343*(R=65535&v),Y=343*(q=65535&Y),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),eA=343*(CA=65535&eA),nA=343*(QA=65535&nA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(I++))<<8,T+=n<<8,$+=r<<8,IA+=E<<8,iA+=h<<8,eA+=D<<8,nA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=343*(n=65535&C),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(D=65535&w),c=343*(u=65535&c),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),H=343*(U=65535&H),b=343*(L=65535&b),k=343*(N=65535&k),J=343*(S=65535&J),v=343*(R=65535&v),Y=343*(q=65535&Y),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),eA=343*(CA=65535&eA),nA=343*(QA=65535&nA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(I++))<<8,T+=n<<8,$+=r<<8,IA+=E<<8,iA+=h<<8,eA+=D<<8,nA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=343*(n=65535&C),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(D=65535&w),c=343*(u=65535&c),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),H=343*(U=65535&H),b=343*(L=65535&b),k=343*(N=65535&k),J=343*(S=65535&J),v=343*(R=65535&v),Y=343*(q=65535&Y),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),eA=343*(CA=65535&eA),nA=343*(QA=65535&nA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(I++))<<8,T+=n<<8,$+=r<<8,IA+=E<<8,iA+=h<<8,eA+=D<<8,nA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,hA+=G<<8,e=65535&(g=343*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA;for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA;return f(Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[CA>>8]+Q[255&CA]+Q[gA>>8]+Q[255&gA]+Q[tA>>8]+Q[255&tA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[q>>8]+Q[255&q]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[N>>8]+Q[255&N]+Q[L>>8]+Q[255&L]+Q[U>>8]+Q[255&U]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],512)}function O(A){var I,t=A.length-3,i=s[512].offset,g=0,e=0|i[31],C=0,n=0|i[30],B=0,r=0|i[29],o=0,E=0|i[28],a=0,h=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],l=0,y=0|i[24],p=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],H=0,U=0|i[20],b=0,L=0|i[19],k=0,N=0|i[18],J=0,S=0|i[17],v=0,R=0|i[16],Y=0,q=0|i[15],x=0,P=0|i[14],X=0,O=0|i[13],Z=0,V=0|i[12],K=0,j=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],eA=0,CA=0|i[5],nA=0,QA=0|i[4],BA=0,rA=0|i[3],oA=0,EA=0|i[2],aA=0,sA=0|i[1],hA=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,C=343*(n=65535&C),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(D=65535&w),c=343*(u=65535&c),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),H=343*(U=65535&H),b=343*(L=65535&b),k=343*(N=65535&k),J=343*(S=65535&J),v=343*(R=65535&v),Y=343*(q=65535&Y),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),eA=343*(CA=65535&eA),nA=343*(QA=65535&nA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(I++))<<8,T+=n<<8,$+=r<<8,IA+=E<<8,iA+=h<<8,eA+=D<<8,nA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=343*(n=65535&C),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(D=65535&w),c=343*(u=65535&c),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),H=343*(U=65535&H),b=343*(L=65535&b),k=343*(N=65535&k),J=343*(S=65535&J),v=343*(R=65535&v),Y=343*(q=65535&Y),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),eA=343*(CA=65535&eA),nA=343*(QA=65535&nA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(I++))<<8,T+=n<<8,$+=r<<8,IA+=E<<8,iA+=h<<8,eA+=D<<8,nA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,e=65535&(g=343*e),fA=(hA+=G<<8)+((aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=343*(n=65535&C),B=343*(r=65535&B),o=343*(E=65535&o),a=343*(h=65535&a),w=343*(D=65535&w),c=343*(u=65535&c),l=343*(y=65535&l),p=343*(F=65535&p),M=343*(m=65535&M),d=343*(G=65535&d),H=343*(U=65535&H),b=343*(L=65535&b),k=343*(N=65535&k),J=343*(S=65535&J),v=343*(R=65535&v),Y=343*(q=65535&Y),x=343*(P=65535&x),X=343*(O=65535&X),Z=343*(V=65535&Z),K=343*(j=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),eA=343*(CA=65535&eA),nA=343*(QA=65535&nA),BA=343*(rA=65535&BA),oA=343*(EA=65535&oA),aA=343*(sA=65535&aA),hA=343*fA,z+=(e^=A.charCodeAt(I++))<<8,T+=n<<8,$+=r<<8,IA+=E<<8,iA+=h<<8,eA+=D<<8,nA+=u<<8,BA+=y<<8,oA+=F<<8,aA+=m<<8,hA+=G<<8,e=65535&(g=343*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA,e^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),fA=hA+((aA+=oA>>>16)>>>16)&65535,sA=65535&aA,e^=A.charCodeAt(I++);return f(Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[CA>>8]+Q[255&CA]+Q[gA>>8]+Q[255&gA]+Q[tA>>8]+Q[255&tA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[q>>8]+Q[255&q]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[N>>8]+Q[255&N]+Q[L>>8]+Q[255&L]+Q[U>>8]+Q[255&U]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],512)}function Z(A){var I,t,i=A.length,g=s[512].offset,e=0,C=0|g[31],n=0,B=0|g[30],r=0,o=0|g[29],E=0,a=0|g[28],h=0,w=0|g[27],D=0,c=0|g[26],u=0,l=0|g[25],y=0,p=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,H=0|g[21],U=0,b=0|g[20],L=0,k=0|g[19],N=0,J=0|g[18],S=0,v=0|g[17],R=0,Y=0|g[16],q=0,x=0|g[15],P=0,X=0|g[14],O=0,Z=0|g[13],V=0,K=0|g[12],j=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,eA=0|g[6],CA=0,nA=0|g[5],QA=0,BA=0|g[4],rA=0,oA=0|g[3],EA=0,aA=0|g[2],sA=0,hA=0|g[1],fA=0,wA=0|g[0];for(t=0;t>6|192)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=H<<8,C=65535&(e=343*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,C=65535&(e=343*C),wA=(fA+=H<<8)+((sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=343*(B=65535&n),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),D=343*(c=65535&D),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(H=65535&G),U=343*(b=65535&U),L=343*(k=65535&L),N=343*(J=65535&N),S=343*(v=65535&S),R=343*(Y=65535&R),q=343*(x=65535&q),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(eA=65535&gA),CA=343*(nA=65535&CA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(C^=I>>12&63|128)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,C=65535&(e=343*C),wA=(fA+=H<<8)+((sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=343*(B=65535&n),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),D=343*(c=65535&D),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(H=65535&G),U=343*(b=65535&U),L=343*(k=65535&L),N=343*(J=65535&N),S=343*(v=65535&S),R=343*(Y=65535&R),q=343*(x=65535&q),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(eA=65535&gA),CA=343*(nA=65535&CA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(C^=I>>6&63|128)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=H<<8,C=65535&(e=343*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,C^=63&I|128):(n=343*B,r=343*o,E=343*a,h=343*w,D=343*c,u=343*l,y=343*p,F=343*M,m=343*d,G=343*H,U=343*b,L=343*k,N=343*J,S=343*v,R=343*Y,q=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*eA,CA=343*nA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(C^=I>>12|224)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,C=65535&(e=343*C),wA=(fA+=H<<8)+((sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=343*(B=65535&n),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),D=343*(c=65535&D),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(H=65535&G),U=343*(b=65535&U),L=343*(k=65535&L),N=343*(J=65535&N),S=343*(v=65535&S),R=343*(Y=65535&R),q=343*(x=65535&q),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(eA=65535&gA),CA=343*(nA=65535&CA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(C^=I>>6&63|128)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=H<<8,C=65535&(e=343*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,C^=63&I|128),n=343*B,r=343*o,E=343*a,h=343*w,D=343*c,u=343*l,y=343*p,F=343*M,m=343*d,G=343*H,U=343*b,L=343*k,N=343*J,S=343*v,R=343*Y,q=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*eA,CA=343*nA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=C<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=H<<8,C=65535&(e=343*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA;return f(Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[nA>>8]+Q[255&nA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[IA>>8]+Q[255&IA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[Y>>8]+Q[255&Y]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[k>>8]+Q[255&k]+Q[b>>8]+Q[255&b]+Q[H>>8]+Q[255&H]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],512)}function V(A){var I,t,i=A.length,g=s[512].offset,e=0,C=0|g[31],n=0,B=0|g[30],r=0,o=0|g[29],E=0,a=0|g[28],h=0,w=0|g[27],D=0,c=0|g[26],u=0,l=0|g[25],y=0,p=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,H=0|g[21],U=0,b=0|g[20],L=0,k=0|g[19],N=0,J=0|g[18],S=0,v=0|g[17],R=0,Y=0|g[16],q=0,x=0|g[15],P=0,X=0|g[14],O=0,Z=0|g[13],V=0,K=0|g[12],j=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,eA=0|g[6],CA=0,nA=0|g[5],QA=0,BA=0|g[4],rA=0,oA=0|g[3],EA=0,aA=0|g[2],sA=0,hA=0|g[1],fA=0,wA=0|g[0];for(t=0;t>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,(I=A.charCodeAt(t))<128?C^=I:I<2048?(n=343*B,r=343*o,E=343*a,h=343*w,D=343*c,u=343*l,y=343*p,F=343*M,m=343*d,G=343*H,U=343*b,L=343*k,N=343*J,S=343*v,R=343*Y,q=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*eA,CA=343*nA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(C^=I>>6|192)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=H<<8,C=65535&(e=343*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,C=65535&(e=343*C),wA=(fA+=H<<8)+((sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=343*(B=65535&n),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),D=343*(c=65535&D),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(H=65535&G),U=343*(b=65535&U),L=343*(k=65535&L),N=343*(J=65535&N),S=343*(v=65535&S),R=343*(Y=65535&R),q=343*(x=65535&q),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(eA=65535&gA),CA=343*(nA=65535&CA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(C^=I>>12&63|128)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,C=65535&(e=343*C),wA=(fA+=H<<8)+((sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=343*(B=65535&n),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),D=343*(c=65535&D),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(H=65535&G),U=343*(b=65535&U),L=343*(k=65535&L),N=343*(J=65535&N),S=343*(v=65535&S),R=343*(Y=65535&R),q=343*(x=65535&q),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(eA=65535&gA),CA=343*(nA=65535&CA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(C^=I>>6&63|128)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=H<<8,C=65535&(e=343*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,C^=63&I|128):(n=343*B,r=343*o,E=343*a,h=343*w,D=343*c,u=343*l,y=343*p,F=343*M,m=343*d,G=343*H,U=343*b,L=343*k,N=343*J,S=343*v,R=343*Y,q=343*x,P=343*X,O=343*Z,V=343*K,j=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*eA,CA=343*nA,QA=343*BA,rA=343*oA,EA=343*aA,sA=343*hA,fA=343*wA,W+=(C^=I>>12|224)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,C=65535&(e=343*C),wA=(fA+=H<<8)+((sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=343*(B=65535&n),r=343*(o=65535&r),E=343*(a=65535&E),h=343*(w=65535&h),D=343*(c=65535&D),u=343*(l=65535&u),y=343*(p=65535&y),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(H=65535&G),U=343*(b=65535&U),L=343*(k=65535&L),N=343*(J=65535&N),S=343*(v=65535&S),R=343*(Y=65535&R),q=343*(x=65535&q),P=343*(X=65535&P),O=343*(Z=65535&O),V=343*(K=65535&V),j=343*(z=65535&j),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(eA=65535&gA),CA=343*(nA=65535&CA),QA=343*(BA=65535&QA),rA=343*(oA=65535&rA),EA=343*(aA=65535&EA),sA=343*(hA=65535&sA),fA=343*wA,W+=(C^=I>>6&63|128)<<8,_+=B<<8,AA+=o<<8,tA+=a<<8,gA+=w<<8,CA+=c<<8,QA+=l<<8,rA+=p<<8,EA+=M<<8,sA+=d<<8,fA+=H<<8,C=65535&(e=343*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),wA=fA+((sA+=EA>>>16)>>>16)&65535,hA=65535&sA,C^=63&I|128);return f(Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[nA>>8]+Q[255&nA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[IA>>8]+Q[255&IA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[Y>>8]+Q[255&Y]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[k>>8]+Q[255&k]+Q[b>>8]+Q[255&b]+Q[H>>8]+Q[255&H]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],512)}function K(A){var I,t=A.length-3,i=s[1024].offset,g=0,e=0|i[63],C=0,n=0|i[62],B=0,r=0|i[61],o=0,E=0|i[60],a=0,h=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],l=0,y=0|i[56],p=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],H=0,U=0|i[52],b=0,L=0|i[51],k=0,N=0|i[50],J=0,S=0|i[49],v=0,R=0|i[48],Y=0,q=0|i[47],x=0,P=0|i[46],X=0,O=0|i[45],Z=0,V=0|i[44],K=0,j=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],eA=0,CA=0|i[37],nA=0,QA=0|i[36],BA=0,rA=0|i[35],oA=0,EA=0|i[34],aA=0,sA=0|i[33],hA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],lA=0,yA=0|i[29],pA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],HA=0,UA=0|i[25],bA=0,LA=0|i[24],kA=0,NA=0|i[23],JA=0,SA=0|i[22],vA=0,RA=0|i[21],YA=0,qA=0|i[20],xA=0,PA=0|i[19],XA=0,OA=0|i[18],ZA=0,VA=0|i[17],KA=0,jA=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],eI=0,CI=0|i[10],nI=0,QI=0|i[9],BI=0,rI=0|i[8],oI=0,EI=0|i[7],aI=0,sI=0|i[6],hI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],lI=0,yI=0|i[2],pI=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,C=397*(n=65535&C),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(D=65535&w),c=397*(u=65535&c),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),H=397*(U=65535&H),b=397*(L=65535&b),k=397*(N=65535&k),J=397*(S=65535&J),v=397*(R=65535&v),Y=397*(q=65535&Y),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),eA=397*(CA=65535&eA),nA=397*(QA=65535&nA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),HA=397*(UA=65535&HA),bA=397*(LA=65535&bA),kA=397*(NA=65535&kA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),YA=397*(qA=65535&YA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=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),eI=397*(CI=65535&eI),nI=397*(QI=65535&nI),BI=397*(rI=65535&BI),oI=397*(EI=65535&oI),aI=397*(sI=65535&aI),hI=397*(fI=65535&hI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),lI=397*(yI=65535&lI),pI=397*(FI=65535&pI),MI=397*mI,vA+=(e^=A.charCodeAt(I++))<<8,YA+=n<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=D<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,eI+=U<<8,nI+=L<<8,BI+=N<<8,oI+=S<<8,aI+=R<<8,hI+=q<<8,wI+=P<<8,cI+=O<<8,lI+=V<<8,pI+=j<<8,e=65535&(g=397*e),mI=(MI+=W<<8)+((pI+=(lI+=(cI+=(wI+=(hI+=(aI+=(oI+=(BI+=(nI+=(eI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(YA+=(vA+=(JA+=(kA+=(bA+=(HA+=(dA+=(MA+=(pA+=(lA+=(cA+=(wA+=(hA+=(aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=397*(n=65535&C),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(D=65535&w),c=397*(u=65535&c),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),H=397*(U=65535&H),b=397*(L=65535&b),k=397*(N=65535&k),J=397*(S=65535&J),v=397*(R=65535&v),Y=397*(q=65535&Y),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),eA=397*(CA=65535&eA),nA=397*(QA=65535&nA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),HA=397*(UA=65535&HA),bA=397*(LA=65535&bA),kA=397*(NA=65535&kA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),YA=397*(qA=65535&YA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=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),eI=397*(CI=65535&eI),nI=397*(QI=65535&nI),BI=397*(rI=65535&BI),oI=397*(EI=65535&oI),aI=397*(sI=65535&aI),hI=397*(fI=65535&hI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),lI=397*(yI=65535&lI),pI=397*(FI=65535&pI),MI=397*mI,vA+=(e^=A.charCodeAt(I++))<<8,YA+=n<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=D<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,eI+=U<<8,nI+=L<<8,BI+=N<<8,oI+=S<<8,aI+=R<<8,hI+=q<<8,wI+=P<<8,cI+=O<<8,lI+=V<<8,pI+=j<<8,e=65535&(g=397*e),mI=(MI+=W<<8)+((pI+=(lI+=(cI+=(wI+=(hI+=(aI+=(oI+=(BI+=(nI+=(eI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(YA+=(vA+=(JA+=(kA+=(bA+=(HA+=(dA+=(MA+=(pA+=(lA+=(cA+=(wA+=(hA+=(aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=397*(n=65535&C),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(D=65535&w),c=397*(u=65535&c),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),H=397*(U=65535&H),b=397*(L=65535&b),k=397*(N=65535&k),J=397*(S=65535&J),v=397*(R=65535&v),Y=397*(q=65535&Y),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),eA=397*(CA=65535&eA),nA=397*(QA=65535&nA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),HA=397*(UA=65535&HA),bA=397*(LA=65535&bA),kA=397*(NA=65535&kA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),YA=397*(qA=65535&YA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=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),eI=397*(CI=65535&eI),nI=397*(QI=65535&nI),BI=397*(rI=65535&BI),oI=397*(EI=65535&oI),aI=397*(sI=65535&aI),hI=397*(fI=65535&hI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),lI=397*(yI=65535&lI),pI=397*(FI=65535&pI),MI=397*mI,vA+=(e^=A.charCodeAt(I++))<<8,YA+=n<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=D<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,eI+=U<<8,nI+=L<<8,BI+=N<<8,oI+=S<<8,aI+=R<<8,hI+=q<<8,wI+=P<<8,cI+=O<<8,lI+=V<<8,pI+=j<<8,MI+=W<<8,e=65535&(g=397*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),DA=65535&(wA+=hA>>>16),uA=65535&(cA+=wA>>>16),yA=65535&(lA+=cA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),UA=65535&(HA+=dA>>>16),LA=65535&(bA+=HA>>>16),NA=65535&(kA+=bA>>>16),SA=65535&(JA+=kA>>>16),RA=65535&(vA+=JA>>>16),qA=65535&(YA+=vA>>>16),PA=65535&(xA+=YA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=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),CI=65535&(eI+=iI>>>16),QI=65535&(nI+=eI>>>16),rI=65535&(BI+=nI>>>16),EI=65535&(oI+=BI>>>16),sI=65535&(aI+=oI>>>16),fI=65535&(hI+=aI>>>16),DI=65535&(wI+=hI>>>16),uI=65535&(cI+=wI>>>16),yI=65535&(lI+=cI>>>16),mI=MI+((pI+=lI>>>16)>>>16)&65535,FI=65535&pI;for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),DA=65535&(wA+=hA>>>16),uA=65535&(cA+=wA>>>16),yA=65535&(lA+=cA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),UA=65535&(HA+=dA>>>16),LA=65535&(bA+=HA>>>16),NA=65535&(kA+=bA>>>16),SA=65535&(JA+=kA>>>16),RA=65535&(vA+=JA>>>16),qA=65535&(YA+=vA>>>16),PA=65535&(xA+=YA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=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),CI=65535&(eI+=iI>>>16),QI=65535&(nI+=eI>>>16),rI=65535&(BI+=nI>>>16),EI=65535&(oI+=BI>>>16),sI=65535&(aI+=oI>>>16),fI=65535&(hI+=aI>>>16),DI=65535&(wI+=hI>>>16),uI=65535&(cI+=wI>>>16),yI=65535&(lI+=cI>>>16),mI=MI+((pI+=lI>>>16)>>>16)&65535,FI=65535&pI;return f(Q[mI>>8]+Q[255&mI]+Q[FI>>8]+Q[255&FI]+Q[yI>>8]+Q[255&yI]+Q[uI>>8]+Q[255&uI]+Q[DI>>8]+Q[255&DI]+Q[fI>>8]+Q[255&fI]+Q[sI>>8]+Q[255&sI]+Q[EI>>8]+Q[255&EI]+Q[rI>>8]+Q[255&rI]+Q[QI>>8]+Q[255&QI]+Q[CI>>8]+Q[255&CI]+Q[gI>>8]+Q[255&gI]+Q[tI>>8]+Q[255&tI]+Q[AI>>8]+Q[255&AI]+Q[_A>>8]+Q[255&_A]+Q[WA>>8]+Q[255&WA]+Q[jA>>8]+Q[255&jA]+Q[VA>>8]+Q[255&VA]+Q[OA>>8]+Q[255&OA]+Q[PA>>8]+Q[255&PA]+Q[qA>>8]+Q[255&qA]+Q[RA>>8]+Q[255&RA]+Q[SA>>8]+Q[255&SA]+Q[NA>>8]+Q[255&NA]+Q[LA>>8]+Q[255&LA]+Q[UA>>8]+Q[255&UA]+Q[GA>>8]+Q[255&GA]+Q[mA>>8]+Q[255&mA]+Q[FA>>8]+Q[255&FA]+Q[yA>>8]+Q[255&yA]+Q[uA>>8]+Q[255&uA]+Q[DA>>8]+Q[255&DA]+Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[CA>>8]+Q[255&CA]+Q[gA>>8]+Q[255&gA]+Q[tA>>8]+Q[255&tA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[q>>8]+Q[255&q]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[N>>8]+Q[255&N]+Q[L>>8]+Q[255&L]+Q[U>>8]+Q[255&U]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],1024)}function j(A){var I,t=A.length-3,i=s[1024].offset,g=0,e=0|i[63],C=0,n=0|i[62],B=0,r=0|i[61],o=0,E=0|i[60],a=0,h=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],l=0,y=0|i[56],p=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],H=0,U=0|i[52],b=0,L=0|i[51],k=0,N=0|i[50],J=0,S=0|i[49],v=0,R=0|i[48],Y=0,q=0|i[47],x=0,P=0|i[46],X=0,O=0|i[45],Z=0,V=0|i[44],K=0,j=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],eA=0,CA=0|i[37],nA=0,QA=0|i[36],BA=0,rA=0|i[35],oA=0,EA=0|i[34],aA=0,sA=0|i[33],hA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],lA=0,yA=0|i[29],pA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],HA=0,UA=0|i[25],bA=0,LA=0|i[24],kA=0,NA=0|i[23],JA=0,SA=0|i[22],vA=0,RA=0|i[21],YA=0,qA=0|i[20],xA=0,PA=0|i[19],XA=0,OA=0|i[18],ZA=0,VA=0|i[17],KA=0,jA=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],eI=0,CI=0|i[10],nI=0,QI=0|i[9],BI=0,rI=0|i[8],oI=0,EI=0|i[7],aI=0,sI=0|i[6],hI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],lI=0,yI=0|i[2],pI=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,C=397*(n=65535&C),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(D=65535&w),c=397*(u=65535&c),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),H=397*(U=65535&H),b=397*(L=65535&b),k=397*(N=65535&k),J=397*(S=65535&J),v=397*(R=65535&v),Y=397*(q=65535&Y),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),eA=397*(CA=65535&eA),nA=397*(QA=65535&nA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),HA=397*(UA=65535&HA),bA=397*(LA=65535&bA),kA=397*(NA=65535&kA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),YA=397*(qA=65535&YA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=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),eI=397*(CI=65535&eI),nI=397*(QI=65535&nI),BI=397*(rI=65535&BI),oI=397*(EI=65535&oI),aI=397*(sI=65535&aI),hI=397*(fI=65535&hI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),lI=397*(yI=65535&lI),pI=397*(FI=65535&pI),MI=397*mI,vA+=(e^=A.charCodeAt(I++))<<8,YA+=n<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=D<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,eI+=U<<8,nI+=L<<8,BI+=N<<8,oI+=S<<8,aI+=R<<8,hI+=q<<8,wI+=P<<8,cI+=O<<8,lI+=V<<8,pI+=j<<8,e=65535&(g=397*e),mI=(MI+=W<<8)+((pI+=(lI+=(cI+=(wI+=(hI+=(aI+=(oI+=(BI+=(nI+=(eI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(YA+=(vA+=(JA+=(kA+=(bA+=(HA+=(dA+=(MA+=(pA+=(lA+=(cA+=(wA+=(hA+=(aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=397*(n=65535&C),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(D=65535&w),c=397*(u=65535&c),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),H=397*(U=65535&H),b=397*(L=65535&b),k=397*(N=65535&k),J=397*(S=65535&J),v=397*(R=65535&v),Y=397*(q=65535&Y),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),eA=397*(CA=65535&eA),nA=397*(QA=65535&nA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),HA=397*(UA=65535&HA),bA=397*(LA=65535&bA),kA=397*(NA=65535&kA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),YA=397*(qA=65535&YA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=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),eI=397*(CI=65535&eI),nI=397*(QI=65535&nI),BI=397*(rI=65535&BI),oI=397*(EI=65535&oI),aI=397*(sI=65535&aI),hI=397*(fI=65535&hI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),lI=397*(yI=65535&lI),pI=397*(FI=65535&pI),MI=397*mI,vA+=(e^=A.charCodeAt(I++))<<8,YA+=n<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=D<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,eI+=U<<8,nI+=L<<8,BI+=N<<8,oI+=S<<8,aI+=R<<8,hI+=q<<8,wI+=P<<8,cI+=O<<8,lI+=V<<8,pI+=j<<8,e=65535&(g=397*e),mI=(MI+=W<<8)+((pI+=(lI+=(cI+=(wI+=(hI+=(aI+=(oI+=(BI+=(nI+=(eI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(XA+=(xA+=(YA+=(vA+=(JA+=(kA+=(bA+=(HA+=(dA+=(MA+=(pA+=(lA+=(cA+=(wA+=(hA+=(aA+=(oA+=(BA+=(nA+=(eA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(X+=(x+=(Y+=(v+=(J+=(k+=(b+=(H+=(d+=(M+=(p+=(l+=(c+=(w+=(a+=(o+=(B+=(C+=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,C=397*(n=65535&C),B=397*(r=65535&B),o=397*(E=65535&o),a=397*(h=65535&a),w=397*(D=65535&w),c=397*(u=65535&c),l=397*(y=65535&l),p=397*(F=65535&p),M=397*(m=65535&M),d=397*(G=65535&d),H=397*(U=65535&H),b=397*(L=65535&b),k=397*(N=65535&k),J=397*(S=65535&J),v=397*(R=65535&v),Y=397*(q=65535&Y),x=397*(P=65535&x),X=397*(O=65535&X),Z=397*(V=65535&Z),K=397*(j=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),eA=397*(CA=65535&eA),nA=397*(QA=65535&nA),BA=397*(rA=65535&BA),oA=397*(EA=65535&oA),aA=397*(sA=65535&aA),hA=397*(fA=65535&hA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),lA=397*(yA=65535&lA),pA=397*(FA=65535&pA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),HA=397*(UA=65535&HA),bA=397*(LA=65535&bA),kA=397*(NA=65535&kA),JA=397*(SA=65535&JA),vA=397*(RA=65535&vA),YA=397*(qA=65535&YA),xA=397*(PA=65535&xA),XA=397*(OA=65535&XA),ZA=397*(VA=65535&ZA),KA=397*(jA=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),eI=397*(CI=65535&eI),nI=397*(QI=65535&nI),BI=397*(rI=65535&BI),oI=397*(EI=65535&oI),aI=397*(sI=65535&aI),hI=397*(fI=65535&hI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),lI=397*(yI=65535&lI),pI=397*(FI=65535&pI),MI=397*mI,vA+=(e^=A.charCodeAt(I++))<<8,YA+=n<<8,xA+=r<<8,XA+=E<<8,ZA+=h<<8,KA+=D<<8,zA+=u<<8,TA+=y<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,eI+=U<<8,nI+=L<<8,BI+=N<<8,oI+=S<<8,aI+=R<<8,hI+=q<<8,wI+=P<<8,cI+=O<<8,lI+=V<<8,pI+=j<<8,MI+=W<<8,e=65535&(g=397*e),n=65535&(C+=g>>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),DA=65535&(wA+=hA>>>16),uA=65535&(cA+=wA>>>16),yA=65535&(lA+=cA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),UA=65535&(HA+=dA>>>16),LA=65535&(bA+=HA>>>16),NA=65535&(kA+=bA>>>16),SA=65535&(JA+=kA>>>16),RA=65535&(vA+=JA>>>16),qA=65535&(YA+=vA>>>16),PA=65535&(xA+=YA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=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),CI=65535&(eI+=iI>>>16),QI=65535&(nI+=eI>>>16),rI=65535&(BI+=nI>>>16),EI=65535&(oI+=BI>>>16),sI=65535&(aI+=oI>>>16),fI=65535&(hI+=aI>>>16),DI=65535&(wI+=hI>>>16),uI=65535&(cI+=wI>>>16),yI=65535&(lI+=cI>>>16),mI=MI+((pI+=lI>>>16)>>>16)&65535,FI=65535&pI,e^=A.charCodeAt(I++);for(;I>>16),r=65535&(B+=C>>>16),E=65535&(o+=B>>>16),h=65535&(a+=o>>>16),D=65535&(w+=a>>>16),u=65535&(c+=w>>>16),y=65535&(l+=c>>>16),F=65535&(p+=l>>>16),m=65535&(M+=p>>>16),G=65535&(d+=M>>>16),U=65535&(H+=d>>>16),L=65535&(b+=H>>>16),N=65535&(k+=b>>>16),S=65535&(J+=k>>>16),R=65535&(v+=J>>>16),q=65535&(Y+=v>>>16),P=65535&(x+=Y>>>16),O=65535&(X+=x>>>16),V=65535&(Z+=X>>>16),j=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),CA=65535&(eA+=iA>>>16),QA=65535&(nA+=eA>>>16),rA=65535&(BA+=nA>>>16),EA=65535&(oA+=BA>>>16),sA=65535&(aA+=oA>>>16),fA=65535&(hA+=aA>>>16),DA=65535&(wA+=hA>>>16),uA=65535&(cA+=wA>>>16),yA=65535&(lA+=cA>>>16),FA=65535&(pA+=lA>>>16),mA=65535&(MA+=pA>>>16),GA=65535&(dA+=MA>>>16),UA=65535&(HA+=dA>>>16),LA=65535&(bA+=HA>>>16),NA=65535&(kA+=bA>>>16),SA=65535&(JA+=kA>>>16),RA=65535&(vA+=JA>>>16),qA=65535&(YA+=vA>>>16),PA=65535&(xA+=YA>>>16),OA=65535&(XA+=xA>>>16),VA=65535&(ZA+=XA>>>16),jA=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),CI=65535&(eI+=iI>>>16),QI=65535&(nI+=eI>>>16),rI=65535&(BI+=nI>>>16),EI=65535&(oI+=BI>>>16),sI=65535&(aI+=oI>>>16),fI=65535&(hI+=aI>>>16),DI=65535&(wI+=hI>>>16),uI=65535&(cI+=wI>>>16),yI=65535&(lI+=cI>>>16),mI=MI+((pI+=lI>>>16)>>>16)&65535,FI=65535&pI,e^=A.charCodeAt(I++);return f(Q[mI>>8]+Q[255&mI]+Q[FI>>8]+Q[255&FI]+Q[yI>>8]+Q[255&yI]+Q[uI>>8]+Q[255&uI]+Q[DI>>8]+Q[255&DI]+Q[fI>>8]+Q[255&fI]+Q[sI>>8]+Q[255&sI]+Q[EI>>8]+Q[255&EI]+Q[rI>>8]+Q[255&rI]+Q[QI>>8]+Q[255&QI]+Q[CI>>8]+Q[255&CI]+Q[gI>>8]+Q[255&gI]+Q[tI>>8]+Q[255&tI]+Q[AI>>8]+Q[255&AI]+Q[_A>>8]+Q[255&_A]+Q[WA>>8]+Q[255&WA]+Q[jA>>8]+Q[255&jA]+Q[VA>>8]+Q[255&VA]+Q[OA>>8]+Q[255&OA]+Q[PA>>8]+Q[255&PA]+Q[qA>>8]+Q[255&qA]+Q[RA>>8]+Q[255&RA]+Q[SA>>8]+Q[255&SA]+Q[NA>>8]+Q[255&NA]+Q[LA>>8]+Q[255&LA]+Q[UA>>8]+Q[255&UA]+Q[GA>>8]+Q[255&GA]+Q[mA>>8]+Q[255&mA]+Q[FA>>8]+Q[255&FA]+Q[yA>>8]+Q[255&yA]+Q[uA>>8]+Q[255&uA]+Q[DA>>8]+Q[255&DA]+Q[fA>>8]+Q[255&fA]+Q[sA>>8]+Q[255&sA]+Q[EA>>8]+Q[255&EA]+Q[rA>>8]+Q[255&rA]+Q[QA>>8]+Q[255&QA]+Q[CA>>8]+Q[255&CA]+Q[gA>>8]+Q[255&gA]+Q[tA>>8]+Q[255&tA]+Q[AA>>8]+Q[255&AA]+Q[_>>8]+Q[255&_]+Q[W>>8]+Q[255&W]+Q[j>>8]+Q[255&j]+Q[V>>8]+Q[255&V]+Q[O>>8]+Q[255&O]+Q[P>>8]+Q[255&P]+Q[q>>8]+Q[255&q]+Q[R>>8]+Q[255&R]+Q[S>>8]+Q[255&S]+Q[N>>8]+Q[255&N]+Q[L>>8]+Q[255&L]+Q[U>>8]+Q[255&U]+Q[G>>8]+Q[255&G]+Q[m>>8]+Q[255&m]+Q[F>>8]+Q[255&F]+Q[y>>8]+Q[255&y]+Q[u>>8]+Q[255&u]+Q[D>>8]+Q[255&D]+Q[h>>8]+Q[255&h]+Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e],1024)}function z(A){var I,t,i=A.length,g=s[1024].offset,e=0,C=0|g[63],n=0,B=0|g[62],r=0,o=0|g[61],E=0,a=0|g[60],h=0,w=0|g[59],D=0,c=0|g[58],u=0,l=0|g[57],y=0,p=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,H=0|g[53],U=0,b=0|g[52],L=0,k=0|g[51],N=0,J=0|g[50],S=0,v=0|g[49],R=0,Y=0|g[48],q=0,x=0|g[47],P=0,X=0|g[46],O=0,Z=0|g[45],V=0,K=0|g[44],j=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,eA=0|g[38],CA=0,nA=0|g[37],QA=0,BA=0|g[36],rA=0,oA=0|g[35],EA=0,aA=0|g[34],sA=0,hA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,lA=0|g[30],yA=0,pA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,HA=0|g[26],UA=0,bA=0|g[25],LA=0,kA=0|g[24],NA=0,JA=0|g[23],SA=0,vA=0|g[22],RA=0,YA=0|g[21],qA=0,xA=0|g[20],PA=0,XA=0|g[19],OA=0,ZA=0|g[18],VA=0,KA=0|g[17],jA=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,eI=0|g[11],CI=0,nI=0|g[10],QI=0,BI=0|g[9],rI=0,oI=0|g[8],EI=0,aI=0|g[7],sI=0,hI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,lI=0|g[3],yI=0,pI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t>6|192)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,mI+=T<<8,C=65535&(e=397*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,C=65535&(e=397*C),dI=(mI+=T<<8)+((FI+=(yI+=(uI+=(DI+=(fI+=(sI+=(EI+=(rI+=(QI+=(CI+=(gI+=(tI+=(AI+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(qA+=(RA+=(SA+=(NA+=(LA+=(UA+=(GA+=(mA+=(FA+=(yA+=(uA+=(DA+=(fA+=(sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=397*(B=65535&n),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),D=397*(c=65535&D),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(H=65535&G),U=397*(b=65535&U),L=397*(k=65535&L),N=397*(J=65535&N),S=397*(v=65535&S),R=397*(Y=65535&R),q=397*(x=65535&q),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(eA=65535&gA),CA=397*(nA=65535&CA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(HA=65535&GA),UA=397*(bA=65535&UA),LA=397*(kA=65535&LA),NA=397*(JA=65535&NA),SA=397*(vA=65535&SA),RA=397*(YA=65535&RA),qA=397*(xA=65535&qA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(eI=65535&gI),CI=397*(nI=65535&CI),QI=397*(BI=65535&QI),rI=397*(oI=65535&rI),EI=397*(aI=65535&EI),sI=397*(hI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(lI=65535&uI),yI=397*(pI=65535&yI),FI=397*(MI=65535&FI),mI=397*dI,RA+=(C^=I>>12&63|128)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,C=65535&(e=397*C),dI=(mI+=T<<8)+((FI+=(yI+=(uI+=(DI+=(fI+=(sI+=(EI+=(rI+=(QI+=(CI+=(gI+=(tI+=(AI+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(qA+=(RA+=(SA+=(NA+=(LA+=(UA+=(GA+=(mA+=(FA+=(yA+=(uA+=(DA+=(fA+=(sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=397*(B=65535&n),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),D=397*(c=65535&D),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(H=65535&G),U=397*(b=65535&U),L=397*(k=65535&L),N=397*(J=65535&N),S=397*(v=65535&S),R=397*(Y=65535&R),q=397*(x=65535&q),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(eA=65535&gA),CA=397*(nA=65535&CA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(HA=65535&GA),UA=397*(bA=65535&UA),LA=397*(kA=65535&LA),NA=397*(JA=65535&NA),SA=397*(vA=65535&SA),RA=397*(YA=65535&RA),qA=397*(xA=65535&qA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(eI=65535&gI),CI=397*(nI=65535&CI),QI=397*(BI=65535&QI),rI=397*(oI=65535&rI),EI=397*(aI=65535&EI),sI=397*(hI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(lI=65535&uI),yI=397*(pI=65535&yI),FI=397*(MI=65535&FI),mI=397*dI,RA+=(C^=I>>6&63|128)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,mI+=T<<8,C=65535&(e=397*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI,C^=63&I|128):(n=397*B,r=397*o,E=397*a,h=397*w,D=397*c,u=397*l,y=397*p,F=397*M,m=397*d,G=397*H,U=397*b,L=397*k,N=397*J,S=397*v,R=397*Y,q=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*eA,CA=397*nA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,DA=397*cA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*HA,UA=397*bA,LA=397*kA,NA=397*JA,SA=397*vA,RA=397*YA,qA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*eI,CI=397*nI,QI=397*BI,rI=397*oI,EI=397*aI,sI=397*hI,fI=397*wI,DI=397*cI,uI=397*lI,yI=397*pI,FI=397*MI,mI=397*dI,RA+=(C^=I>>12|224)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,C=65535&(e=397*C),dI=(mI+=T<<8)+((FI+=(yI+=(uI+=(DI+=(fI+=(sI+=(EI+=(rI+=(QI+=(CI+=(gI+=(tI+=(AI+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(qA+=(RA+=(SA+=(NA+=(LA+=(UA+=(GA+=(mA+=(FA+=(yA+=(uA+=(DA+=(fA+=(sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=397*(B=65535&n),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),D=397*(c=65535&D),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(H=65535&G),U=397*(b=65535&U),L=397*(k=65535&L),N=397*(J=65535&N),S=397*(v=65535&S),R=397*(Y=65535&R),q=397*(x=65535&q),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(eA=65535&gA),CA=397*(nA=65535&CA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(HA=65535&GA),UA=397*(bA=65535&UA),LA=397*(kA=65535&LA),NA=397*(JA=65535&NA),SA=397*(vA=65535&SA),RA=397*(YA=65535&RA),qA=397*(xA=65535&qA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(eI=65535&gI),CI=397*(nI=65535&CI),QI=397*(BI=65535&QI),rI=397*(oI=65535&rI),EI=397*(aI=65535&EI),sI=397*(hI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(lI=65535&uI),yI=397*(pI=65535&yI),FI=397*(MI=65535&FI),mI=397*dI,RA+=(C^=I>>6&63|128)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,mI+=T<<8,C=65535&(e=397*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI,C^=63&I|128),n=397*B,r=397*o,E=397*a,h=397*w,D=397*c,u=397*l,y=397*p,F=397*M,m=397*d,G=397*H,U=397*b,L=397*k,N=397*J,S=397*v,R=397*Y,q=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*eA,CA=397*nA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,DA=397*cA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*HA,UA=397*bA,LA=397*kA,NA=397*JA,SA=397*vA,RA=397*YA,qA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*eI,CI=397*nI,QI=397*BI,rI=397*oI,EI=397*aI,sI=397*hI,fI=397*wI,DI=397*cI,uI=397*lI,yI=397*pI,FI=397*MI,mI=397*dI,RA+=C<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,mI+=T<<8,C=65535&(e=397*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI;return f(Q[dI>>8]+Q[255&dI]+Q[MI>>8]+Q[255&MI]+Q[pI>>8]+Q[255&pI]+Q[lI>>8]+Q[255&lI]+Q[cI>>8]+Q[255&cI]+Q[wI>>8]+Q[255&wI]+Q[hI>>8]+Q[255&hI]+Q[aI>>8]+Q[255&aI]+Q[oI>>8]+Q[255&oI]+Q[BI>>8]+Q[255&BI]+Q[nI>>8]+Q[255&nI]+Q[eI>>8]+Q[255&eI]+Q[iI>>8]+Q[255&iI]+Q[II>>8]+Q[255&II]+Q[$A>>8]+Q[255&$A]+Q[TA>>8]+Q[255&TA]+Q[zA>>8]+Q[255&zA]+Q[KA>>8]+Q[255&KA]+Q[ZA>>8]+Q[255&ZA]+Q[XA>>8]+Q[255&XA]+Q[xA>>8]+Q[255&xA]+Q[YA>>8]+Q[255&YA]+Q[vA>>8]+Q[255&vA]+Q[JA>>8]+Q[255&JA]+Q[kA>>8]+Q[255&kA]+Q[bA>>8]+Q[255&bA]+Q[HA>>8]+Q[255&HA]+Q[dA>>8]+Q[255&dA]+Q[MA>>8]+Q[255&MA]+Q[pA>>8]+Q[255&pA]+Q[lA>>8]+Q[255&lA]+Q[cA>>8]+Q[255&cA]+Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[nA>>8]+Q[255&nA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[IA>>8]+Q[255&IA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[Y>>8]+Q[255&Y]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[k>>8]+Q[255&k]+Q[b>>8]+Q[255&b]+Q[H>>8]+Q[255&H]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],1024)}function W(A){var I,t,i=A.length,g=s[1024].offset,e=0,C=0|g[63],n=0,B=0|g[62],r=0,o=0|g[61],E=0,a=0|g[60],h=0,w=0|g[59],D=0,c=0|g[58],u=0,l=0|g[57],y=0,p=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,H=0|g[53],U=0,b=0|g[52],L=0,k=0|g[51],N=0,J=0|g[50],S=0,v=0|g[49],R=0,Y=0|g[48],q=0,x=0|g[47],P=0,X=0|g[46],O=0,Z=0|g[45],V=0,K=0|g[44],j=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,eA=0|g[38],CA=0,nA=0|g[37],QA=0,BA=0|g[36],rA=0,oA=0|g[35],EA=0,aA=0|g[34],sA=0,hA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,lA=0|g[30],yA=0,pA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,HA=0|g[26],UA=0,bA=0|g[25],LA=0,kA=0|g[24],NA=0,JA=0|g[23],SA=0,vA=0|g[22],RA=0,YA=0|g[21],qA=0,xA=0|g[20],PA=0,XA=0|g[19],OA=0,ZA=0|g[18],VA=0,KA=0|g[17],jA=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,eI=0|g[11],CI=0,nI=0|g[10],QI=0,BI=0|g[9],rI=0,oI=0|g[8],EI=0,aI=0|g[7],sI=0,hI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,lI=0|g[3],yI=0,pI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI,(I=A.charCodeAt(t))<128?C^=I:I<2048?(n=397*B,r=397*o,E=397*a,h=397*w,D=397*c,u=397*l,y=397*p,F=397*M,m=397*d,G=397*H,U=397*b,L=397*k,N=397*J,S=397*v,R=397*Y,q=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*eA,CA=397*nA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,DA=397*cA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*HA,UA=397*bA,LA=397*kA,NA=397*JA,SA=397*vA,RA=397*YA,qA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*eI,CI=397*nI,QI=397*BI,rI=397*oI,EI=397*aI,sI=397*hI,fI=397*wI,DI=397*cI,uI=397*lI,yI=397*pI,FI=397*MI,mI=397*dI,RA+=(C^=I>>6|192)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,mI+=T<<8,C=65535&(e=397*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI,C^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,C=65535&(e=397*C),dI=(mI+=T<<8)+((FI+=(yI+=(uI+=(DI+=(fI+=(sI+=(EI+=(rI+=(QI+=(CI+=(gI+=(tI+=(AI+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(qA+=(RA+=(SA+=(NA+=(LA+=(UA+=(GA+=(mA+=(FA+=(yA+=(uA+=(DA+=(fA+=(sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=397*(B=65535&n),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),D=397*(c=65535&D),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(H=65535&G),U=397*(b=65535&U),L=397*(k=65535&L),N=397*(J=65535&N),S=397*(v=65535&S),R=397*(Y=65535&R),q=397*(x=65535&q),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(eA=65535&gA),CA=397*(nA=65535&CA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(HA=65535&GA),UA=397*(bA=65535&UA),LA=397*(kA=65535&LA),NA=397*(JA=65535&NA),SA=397*(vA=65535&SA),RA=397*(YA=65535&RA),qA=397*(xA=65535&qA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(eI=65535&gI),CI=397*(nI=65535&CI),QI=397*(BI=65535&QI),rI=397*(oI=65535&rI),EI=397*(aI=65535&EI),sI=397*(hI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(lI=65535&uI),yI=397*(pI=65535&yI),FI=397*(MI=65535&FI),mI=397*dI,RA+=(C^=I>>12&63|128)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,C=65535&(e=397*C),dI=(mI+=T<<8)+((FI+=(yI+=(uI+=(DI+=(fI+=(sI+=(EI+=(rI+=(QI+=(CI+=(gI+=(tI+=(AI+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(qA+=(RA+=(SA+=(NA+=(LA+=(UA+=(GA+=(mA+=(FA+=(yA+=(uA+=(DA+=(fA+=(sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=397*(B=65535&n),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),D=397*(c=65535&D),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(H=65535&G),U=397*(b=65535&U),L=397*(k=65535&L),N=397*(J=65535&N),S=397*(v=65535&S),R=397*(Y=65535&R),q=397*(x=65535&q),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(eA=65535&gA),CA=397*(nA=65535&CA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(HA=65535&GA),UA=397*(bA=65535&UA),LA=397*(kA=65535&LA),NA=397*(JA=65535&NA),SA=397*(vA=65535&SA),RA=397*(YA=65535&RA),qA=397*(xA=65535&qA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(eI=65535&gI),CI=397*(nI=65535&CI),QI=397*(BI=65535&QI),rI=397*(oI=65535&rI),EI=397*(aI=65535&EI),sI=397*(hI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(lI=65535&uI),yI=397*(pI=65535&yI),FI=397*(MI=65535&FI),mI=397*dI,RA+=(C^=I>>6&63|128)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,mI+=T<<8,C=65535&(e=397*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI,C^=63&I|128):(n=397*B,r=397*o,E=397*a,h=397*w,D=397*c,u=397*l,y=397*p,F=397*M,m=397*d,G=397*H,U=397*b,L=397*k,N=397*J,S=397*v,R=397*Y,q=397*x,P=397*X,O=397*Z,V=397*K,j=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*eA,CA=397*nA,QA=397*BA,rA=397*oA,EA=397*aA,sA=397*hA,fA=397*wA,DA=397*cA,uA=397*lA,yA=397*pA,FA=397*MA,mA=397*dA,GA=397*HA,UA=397*bA,LA=397*kA,NA=397*JA,SA=397*vA,RA=397*YA,qA=397*xA,PA=397*XA,OA=397*ZA,VA=397*KA,jA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*eI,CI=397*nI,QI=397*BI,rI=397*oI,EI=397*aI,sI=397*hI,fI=397*wI,DI=397*cI,uI=397*lI,yI=397*pI,FI=397*MI,mI=397*dI,RA+=(C^=I>>12|224)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,C=65535&(e=397*C),dI=(mI+=T<<8)+((FI+=(yI+=(uI+=(DI+=(fI+=(sI+=(EI+=(rI+=(QI+=(CI+=(gI+=(tI+=(AI+=(_A+=(WA+=(jA+=(VA+=(OA+=(PA+=(qA+=(RA+=(SA+=(NA+=(LA+=(UA+=(GA+=(mA+=(FA+=(yA+=(uA+=(DA+=(fA+=(sA+=(EA+=(rA+=(QA+=(CA+=(gA+=(tA+=(AA+=(_+=(W+=(j+=(V+=(O+=(P+=(q+=(R+=(S+=(N+=(L+=(U+=(G+=(m+=(F+=(y+=(u+=(D+=(h+=(E+=(r+=(n+=e>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>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,n=397*(B=65535&n),r=397*(o=65535&r),E=397*(a=65535&E),h=397*(w=65535&h),D=397*(c=65535&D),u=397*(l=65535&u),y=397*(p=65535&y),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(H=65535&G),U=397*(b=65535&U),L=397*(k=65535&L),N=397*(J=65535&N),S=397*(v=65535&S),R=397*(Y=65535&R),q=397*(x=65535&q),P=397*(X=65535&P),O=397*(Z=65535&O),V=397*(K=65535&V),j=397*(z=65535&j),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(eA=65535&gA),CA=397*(nA=65535&CA),QA=397*(BA=65535&QA),rA=397*(oA=65535&rA),EA=397*(aA=65535&EA),sA=397*(hA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(lA=65535&uA),yA=397*(pA=65535&yA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(HA=65535&GA),UA=397*(bA=65535&UA),LA=397*(kA=65535&LA),NA=397*(JA=65535&NA),SA=397*(vA=65535&SA),RA=397*(YA=65535&RA),qA=397*(xA=65535&qA),PA=397*(XA=65535&PA),OA=397*(ZA=65535&OA),VA=397*(KA=65535&VA),jA=397*(zA=65535&jA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(eI=65535&gI),CI=397*(nI=65535&CI),QI=397*(BI=65535&QI),rI=397*(oI=65535&rI),EI=397*(aI=65535&EI),sI=397*(hI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(lI=65535&uI),yI=397*(pI=65535&yI),FI=397*(MI=65535&FI),mI=397*dI,RA+=(C^=I>>6&63|128)<<8,qA+=B<<8,PA+=o<<8,OA+=a<<8,VA+=w<<8,jA+=c<<8,WA+=l<<8,_A+=p<<8,AI+=M<<8,tI+=d<<8,gI+=H<<8,CI+=b<<8,QI+=k<<8,rI+=J<<8,EI+=v<<8,sI+=Y<<8,fI+=x<<8,DI+=X<<8,uI+=Z<<8,yI+=K<<8,FI+=z<<8,mI+=T<<8,C=65535&(e=397*C),B=65535&(n+=e>>>16),o=65535&(r+=n>>>16),a=65535&(E+=r>>>16),w=65535&(h+=E>>>16),c=65535&(D+=h>>>16),l=65535&(u+=D>>>16),p=65535&(y+=u>>>16),M=65535&(F+=y>>>16),d=65535&(m+=F>>>16),H=65535&(G+=m>>>16),b=65535&(U+=G>>>16),k=65535&(L+=U>>>16),J=65535&(N+=L>>>16),v=65535&(S+=N>>>16),Y=65535&(R+=S>>>16),x=65535&(q+=R>>>16),X=65535&(P+=q>>>16),Z=65535&(O+=P>>>16),K=65535&(V+=O>>>16),z=65535&(j+=V>>>16),T=65535&(W+=j>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),eA=65535&(gA+=tA>>>16),nA=65535&(CA+=gA>>>16),BA=65535&(QA+=CA>>>16),oA=65535&(rA+=QA>>>16),aA=65535&(EA+=rA>>>16),hA=65535&(sA+=EA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),lA=65535&(uA+=DA>>>16),pA=65535&(yA+=uA>>>16),MA=65535&(FA+=yA>>>16),dA=65535&(mA+=FA>>>16),HA=65535&(GA+=mA>>>16),bA=65535&(UA+=GA>>>16),kA=65535&(LA+=UA>>>16),JA=65535&(NA+=LA>>>16),vA=65535&(SA+=NA>>>16),YA=65535&(RA+=SA>>>16),xA=65535&(qA+=RA>>>16),XA=65535&(PA+=qA>>>16),ZA=65535&(OA+=PA>>>16),KA=65535&(VA+=OA>>>16),zA=65535&(jA+=VA>>>16),TA=65535&(WA+=jA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),eI=65535&(gI+=tI>>>16),nI=65535&(CI+=gI>>>16),BI=65535&(QI+=CI>>>16),oI=65535&(rI+=QI>>>16),aI=65535&(EI+=rI>>>16),hI=65535&(sI+=EI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),lI=65535&(uI+=DI>>>16),pI=65535&(yI+=uI>>>16),dI=mI+((FI+=yI>>>16)>>>16)&65535,MI=65535&FI,C^=63&I|128);return f(Q[dI>>8]+Q[255&dI]+Q[MI>>8]+Q[255&MI]+Q[pI>>8]+Q[255&pI]+Q[lI>>8]+Q[255&lI]+Q[cI>>8]+Q[255&cI]+Q[wI>>8]+Q[255&wI]+Q[hI>>8]+Q[255&hI]+Q[aI>>8]+Q[255&aI]+Q[oI>>8]+Q[255&oI]+Q[BI>>8]+Q[255&BI]+Q[nI>>8]+Q[255&nI]+Q[eI>>8]+Q[255&eI]+Q[iI>>8]+Q[255&iI]+Q[II>>8]+Q[255&II]+Q[$A>>8]+Q[255&$A]+Q[TA>>8]+Q[255&TA]+Q[zA>>8]+Q[255&zA]+Q[KA>>8]+Q[255&KA]+Q[ZA>>8]+Q[255&ZA]+Q[XA>>8]+Q[255&XA]+Q[xA>>8]+Q[255&xA]+Q[YA>>8]+Q[255&YA]+Q[vA>>8]+Q[255&vA]+Q[JA>>8]+Q[255&JA]+Q[kA>>8]+Q[255&kA]+Q[bA>>8]+Q[255&bA]+Q[HA>>8]+Q[255&HA]+Q[dA>>8]+Q[255&dA]+Q[MA>>8]+Q[255&MA]+Q[pA>>8]+Q[255&pA]+Q[lA>>8]+Q[255&lA]+Q[cA>>8]+Q[255&cA]+Q[wA>>8]+Q[255&wA]+Q[hA>>8]+Q[255&hA]+Q[aA>>8]+Q[255&aA]+Q[oA>>8]+Q[255&oA]+Q[BA>>8]+Q[255&BA]+Q[nA>>8]+Q[255&nA]+Q[eA>>8]+Q[255&eA]+Q[iA>>8]+Q[255&iA]+Q[IA>>8]+Q[255&IA]+Q[$>>8]+Q[255&$]+Q[T>>8]+Q[255&T]+Q[z>>8]+Q[255&z]+Q[K>>8]+Q[255&K]+Q[Z>>8]+Q[255&Z]+Q[X>>8]+Q[255&X]+Q[x>>8]+Q[255&x]+Q[Y>>8]+Q[255&Y]+Q[v>>8]+Q[255&v]+Q[J>>8]+Q[255&J]+Q[k>>8]+Q[255&k]+Q[b>>8]+Q[255&b]+Q[H>>8]+Q[255&H]+Q[d>>8]+Q[255&d]+Q[M>>8]+Q[255&M]+Q[p>>8]+Q[255&p]+Q[l>>8]+Q[255&l]+Q[c>>8]+Q[255&c]+Q[w>>8]+Q[255&w]+Q[a>>8]+Q[255&a]+Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C],1024)}return I=p,t=d,i=b,g=J,e=Y,C=X,n=K,u("1a"),l(!1),y(),{hash:c,setKeyspace:function(A){if(52!==A&&!s[A])throw new Error("Supported FNV keyspacs: 32, 52, 64, 128, 256, 512, and 1024 bit");a=A},version:u,useUTF8:l,seed:y,fast1a32:function(A){var I,t=A.length-3,i=0,g=40389,e=0,C=33052;for(I=0;I>>16)&65535),e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),e=403*(C=e+(i>>>16)&65535),e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),e=403*(C=e+(i>>>16)&65535),C=(e+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I>>16)&65535,g=65535&i;return(C<<16>>>0)+g},fast1a32hex:function(A){var I,t=A.length-3,i=0,g=40389,e=0,C=33052;for(I=0;I>>16)&65535),e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),e=403*(C=e+(i>>>16)&65535),e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),e=403*(C=e+(i>>>16)&65535),C=(e+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I>>16)&65535,g=65535&i;return Q[C>>>8&255]+Q[255&C]+Q[g>>>8&255]+Q[255&g]},fast1a52:function(A){var I,t=A.length-3,i=0,g=8997,e=0,C=33826,n=0,Q=40164,B=0,r=52210;for(I=0;I>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(Q=65535&n),B=435*r,n+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=C<<8)+((n+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(Q=65535&n),B=435*r,n+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=C<<8)+((n+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(Q=65535&n),B=435*r,n+=(g^=A.charCodeAt(I++))<<8,B+=C<<8,g=65535&(i=435*g),C=65535&(e+=i>>>16),r=B+((n+=e>>>16)>>>16)&65535,Q=65535&n;for(;I>>16),r=B+((n+=e>>>16)>>>16)&65535,Q=65535&n;return 281474976710656*(15&r)+4294967296*Q+65536*C+(g^r>>4)},fast1a52hex:function(A){var I,t=A.length-3,i=0,g=8997,e=0,C=33826,n=0,r=40164,o=0,E=52210;for(I=0;I>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(r=65535&n),o=435*E,n+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(o+=C<<8)+((n+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(r=65535&n),o=435*E,n+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(o+=C<<8)+((n+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(r=65535&n),o=435*E,n+=(g^=A.charCodeAt(I++))<<8,o+=C<<8,g=65535&(i=435*g),C=65535&(e+=i>>>16),E=o+((n+=e>>>16)>>>16)&65535,r=65535&n;for(;I>>16),E=o+((n+=e>>>16)>>>16)&65535,r=65535&n;return B[15&E]+Q[r>>8]+Q[255&r]+Q[C>>8]+Q[255&C]+Q[g>>8^E>>12]+Q[255&(g^E>>4)]},fast1a64:function(A){var I,t=A.length-3,i=0,g=8997,e=0,C=33826,n=0,B=40164,r=0,o=52210;for(I=0;I>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(B=65535&n),r=435*o,n+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),o=(r+=C<<8)+((n+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(B=65535&n),r=435*o,n+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),o=(r+=C<<8)+((n+=(e+=i>>>16)>>>16)>>>16)&65535,e=435*(C=65535&e),n=435*(B=65535&n),r=435*o,n+=(g^=A.charCodeAt(I++))<<8,r+=C<<8,g=65535&(i=435*g),C=65535&(e+=i>>>16),o=r+((n+=e>>>16)>>>16)&65535,B=65535&n;for(;I>>16),o=r+((n+=e>>>16)>>>16)&65535,B=65535&n;return Q[o>>8]+Q[255&o]+Q[B>>8]+Q[255&B]+Q[C>>8]+Q[255&C]+Q[g>>8]+Q[255&g]},fast1a32utf:function(A){var I,t,i=A.length,g=0,e=40389,C=0,n=33052;for(t=0;t>6|192)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),C+=(e^=I>>12&63|128)<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),n=(C+=(e^=I>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&I|128):(C=403*n,C+=(e^=I>>12|224)<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),n=(C+=(e^=I>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&I|128),C=403*n,n=(C+=e<<8)+((g=403*e)>>>16)&65535,e=65535&g;return(n<<16>>>0)+e},fast1a32hexutf:function(A){var I,t,i=A.length,g=0,e=40389,C=0,n=33052;for(t=0;t>6|192)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),C+=(e^=I>>12&63|128)<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),n=(C+=(e^=I>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&I|128):(C=403*n,C+=(e^=I>>12|224)<<8,e=65535&(g=403*e),C=403*(n=C+(g>>>16)&65535),n=(C+=(e^=I>>6&63|128)<<8)+((g=403*e)>>>16)&65535,e=65535&g,e^=63&I|128),C=403*n,n=(C+=e<<8)+((g=403*e)>>>16)&65535,e=65535&g;return Q[n>>>8&255]+Q[255&n]+Q[e>>>8&255]+Q[255&e]},fast1a52utf:function(A){var I,t,i=A.length,g=0,e=8997,C=0,n=33826,Q=0,B=40164,r=0,o=52210;for(t=0;t>6|192)<<8,r+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q,e^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,e=65535&(g=435*e),o=(r+=n<<8)+((Q+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=I>>12&63|128)<<8,e=65535&(g=435*e),o=(r+=n<<8)+((Q+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=I>>6&63|128)<<8,r+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q,e^=63&I|128):(C=435*n,Q=435*B,r=435*o,Q+=(e^=I>>12|224)<<8,e=65535&(g=435*e),o=(r+=n<<8)+((Q+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),Q=435*(B=65535&Q),r=435*o,Q+=(e^=I>>6&63|128)<<8,r+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q,e^=63&I|128),C=435*n,Q=435*B,r=435*o,Q+=e<<8,r+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),o=r+((Q+=C>>>16)>>>16)&65535,B=65535&Q;return 281474976710656*(15&o)+4294967296*B+65536*n+(e^o>>4)},fast1a52hexutf:function(A){var I,t,i=A.length,g=0,e=8997,C=0,n=33826,r=0,o=40164,E=0,a=52210;for(t=0;t>6|192)<<8,E+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,e^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,e=65535&(g=435*e),a=(E+=n<<8)+((r+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),r=435*(o=65535&r),E=435*a,r+=(e^=I>>12&63|128)<<8,e=65535&(g=435*e),a=(E+=n<<8)+((r+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),r=435*(o=65535&r),E=435*a,r+=(e^=I>>6&63|128)<<8,E+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,e^=63&I|128):(C=435*n,r=435*o,E=435*a,r+=(e^=I>>12|224)<<8,e=65535&(g=435*e),a=(E+=n<<8)+((r+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),r=435*(o=65535&r),E=435*a,r+=(e^=I>>6&63|128)<<8,E+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r,e^=63&I|128),C=435*n,r=435*o,E=435*a,r+=e<<8,E+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),a=E+((r+=C>>>16)>>>16)&65535,o=65535&r;return B[15&a]+Q[o>>8]+Q[255&o]+Q[n>>8]+Q[255&n]+Q[e>>8^a>>12]+Q[255&(e^a>>4)]},fast1a64utf:function(A){var I,t,i=A.length,g=0,e=8997,C=0,n=33826,B=0,r=40164,o=0,E=52210;for(t=0;t>6|192)<<8,o+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,e^=63&I|128):55296==(64512&I)&&t+1>18|240)<<8,e=65535&(g=435*e),E=(o+=n<<8)+((B+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=I>>12&63|128)<<8,e=65535&(g=435*e),E=(o+=n<<8)+((B+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=I>>6&63|128)<<8,o+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,e^=63&I|128):(C=435*n,B=435*r,o=435*E,B+=(e^=I>>12|224)<<8,e=65535&(g=435*e),E=(o+=n<<8)+((B+=(C+=g>>>16)>>>16)>>>16)&65535,C=435*(n=65535&C),B=435*(r=65535&B),o=435*E,B+=(e^=I>>6&63|128)<<8,o+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B,e^=63&I|128),C=435*n,B=435*r,o=435*E,B+=e<<8,o+=n<<8,e=65535&(g=435*e),n=65535&(C+=g>>>16),E=o+((B+=C>>>16)>>>16)&65535,r=65535&B;return Q[E>>8]+Q[255&E]+Q[r>>8]+Q[255&r]+Q[n>>8]+Q[255&n]+Q[e>>8]+Q[255&e]}}}();A.exports=I}));const Mt=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function mt(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const dt=mt;function Gt(A,I){return BigInt(A)<>BigInt(I)}const Ut=Gt,bt=Ht;var Lt=Object.freeze({__proto__:null,fromString:mt,e:dt,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 kt(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?o(A.slice(2),16):o(A,I)}const Nt=kt;function Jt(A,I){return o(A).shiftLeft(I)}function St(A,I){return o(A).shiftRight(I)}const vt=Jt,Rt=St;var Yt=Object.freeze({__proto__:null,fromString:kt,e:Nt,fromArray:function(A,I){return o.fromArray(A,I)},bitLength:function(A){return o(A).bitLength()},isNegative:function(A){return o(A).isNegative()},isZero:function(A){return o(A).isZero()},shiftLeft:Jt,shiftRight:St,shl:vt,shr:Rt,isOdd:function(A){return o(A).isOdd()},naf:function(A){let I=o(A);const t=[];for(;I.gt(o.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=o(A);const t=[];for(;I.gt(o.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(o("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return o(A).toArray(I)},add:function(A,I){return o(A).add(o(I))},sub:function(A,I){return o(A).minus(o(I))},neg:function(A){return o.zero.minus(o(A))},mul:function(A,I){return o(A).times(o(I))},square:function(A){return o(A).square()},pow:function(A,I){return o(A).pow(o(I))},exp:function(A,I){return o(A).pow(o(I))},abs:function(A){return o(A).abs()},div:function(A,I){return o(A).divide(o(I))},mod:function(A,I){return o(A).mod(o(I))},eq:function(A,I){return o(A).eq(o(I))},neq:function(A,I){return o(A).neq(o(I))},lt:function(A,I){return o(A).lt(o(I))},gt:function(A,I){return o(A).gt(o(I))},leq:function(A,I){return o(A).leq(o(I))},geq:function(A,I){return o(A).geq(o(I))},band:function(A,I){return o(A).and(o(I))},bor:function(A,I){return o(A).or(o(I))},bxor:function(A,I){return o(A).xor(o(I))},land:function(A,I){return!o(A).isZero()&&!o(I).isZero()},lor:function(A,I){return!o(A).isZero()||!o(I).isZero()},lnot:function(A){return o(A).isZero()}});const qt="function"==typeof BigInt;let xt={};qt?Object.assign(xt,Lt):Object.assign(xt,Yt),xt.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),e=new Uint32Array(A.buffer,I,i/4),C=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"))),xt.fromString(g.join(""),16)},xt.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,A.byteOffset+I,t),g=new Array(t/4);for(let A=0;A>=1;return t}function Si(A,I,t){if(Ii(t))return A.one;const i=Qi(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 vi(A){if(A.m%2==1)if(li(ui(A.p,4),1))if(li(ui(A.p,8),1))if(li(ui(A.p,16),1))!function(A){A.sqrt_q=fi(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Ei(A.sqrt_q,1);for(;!Ci(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=ci(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,2**(A.sqrt_s-1))}A.sqrt_tm1d2=ci(Ei(A.sqrt_t,1),2),A.sqrt=function(A){const I=this;if(I.isZero(A))return I.zero;let t=I.pow(A,I.sqrt_tm1d2);const i=I.pow(I.mul(I.square(t),A),2**(I.sqrt_s-1));if(I.eq(i,I.negone))return null;let g=I.sqrt_s,e=I.mul(A,t),C=I.mul(e,t),n=I.sqrt_z;for(;!I.eq(C,I.one);){let A=I.square(C),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=n;for(let A=0;A>>0;else cA.randomFillSync(I);return I}class Yi{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=$t(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),vi(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 Si(this,A,I)}exp(A,I){return Si(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),e=1;for(;1n!=A;)e++,A=this.square(A);let C=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 qi{constructor(A){this.type="F1",this.one=o.one,this.zero=o.zero,this.p=o(A),this.m=1,this.negone=this.p.minus(o.one),this.two=o(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=o.one.shiftLeft(this.bitLength).minus(o.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=o.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),vi(this)}e(A,I){const t=o(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(o(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):o.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):o.zero}}land(A,I){return A.isZero()||I.isZero()?o.zero:o.one}lor(A,I){return A.isZero()&&I.isZero()?o.zero:o.one}lnot(A){return A.isZero()?o.one:o.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),e=1;for(;!A.equals(this.one);)e++,A=this.square(A);let C=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,A.byteOffset,A.byteLength);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<=2?(t-=2,I+=BigInt(g.getUint16(t))<0;)e-4>=0?(e-=4,g.setUint32(e,Number(0xFFFFFFFFn&t)),t>>=32n):e-2>=0?(e-=2,g.setUint16(e,Number(0xFFFFn&t)),t>>=16n):(e-=1,g.setUint8(e,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,A.byteOffset,A.byteLength);for(;t>=32n):e+2<=I?(g.setUint16(Number(e,0xFFFFn&t),!0),e+=2,t>>=16n):(g.setUint8(Number(e,0xFFn&t),!0),e+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});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 o(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=o.zero;for(let t=0;t=0;){let A=Number(t.and(o("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(o.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=o.zero;for(let t=0;t>=1;return t}Vi.bitReverse=function(A,I){return(Ki[A>>>24]|Ki[A>>>16&255]<<8|Ki[A>>>8&255]<<16|Ki[255&A]<<24)>>>32-I},Vi.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)},Vi.buffReverseBits=function(A,I){const t=A.byteLength/I,i=Vi.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)}}};!function(A){window.btoa(A)}("("+function(A){const I=32767;let t,i;async function g(A){const g=new Uint8Array(A.code),e=await WebAssembly.compile(g);i=new WebAssembly.Memory({initial:A.init,maximum:I}),t=await WebAssembly.instantiate(e,{env:{memory:i}})}function e(A){const t=new Uint32Array(i.buffer,0,1);for(;3&t[0];)t[0]++;const g=t[0];if(t[0]+=A,t[0]+A>i.buffer.byteLength){const g=i.buffer.byteLength/65536;let e=Math.floor((t[0]+A)/65536)+1;e>I&&(e=I),i.grow(e-g)}return g}function C(A){const I=e(A.byteLength);return Q(I,A),I}function n(A,I){const t=new Uint8Array(i.buffer);return new Uint8Array(t.buffer,t.byteOffset+A,I)}function Q(A,I){new Uint8Array(i.buffer).set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return g(A[0]);const I={vars:[],out:[]},B=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i0;t++)i.push(I[A+t]);return String.fromCharCode.apply(null,i)}}class Ti{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=zi.fromArray(g,4294967296),this.Fr=new Xi(this.prime),this.mask32=zi.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(zi.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=function(A){return Ft.hash(A,64).hex()}(I),e=parseInt(g.slice(0,8),16),C=parseInt(g.slice(8,16),16);try{this.instance.exports.getSignalOffset32(t,0,e,C)}catch(A){throw new Error(`Signal ${I} is not an input of the circuit.`)}const n=this.getInt(t),Q=(B=A[I],function A(I,t){if(Array.isArray(t))for(let i=0;i>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 e=zi.toArray(I,4294967296);for(let I=0;I>2)+I]=i>=0?e[i]:0}}}async function _i(A,I,t,i){const g=await UI(I),e=await g.read(g.totalSize);await g.close();const C=await Wi(e),n=await C.calculateBinWitness(A),Q=await LI(t,"wtns",2,2);await async function(A,I,t){await kI(A,1);const i=8*(Math.floor((aI.bitLength(t)-1)/64)+1);if(await A.writeULE32(i),await vI(A,t,i),I.byteLength%i!=0)throw new Error("Invalid witness length");await A.writeULE32(I.byteLength/i),await NI(A),await kI(A,2),await A.write(I),await NI(A)}(Q,n,C.prime),await Q.close()}const{unstringifyBigInts:$i}=sI;function Ag(A){let I=A.toString(16);for(;I.length<64;)I="0"+I;return I=`"0x${I}"`,I}var Ig=Object.freeze({__proto__:null,fullProve:async function(A,I,t,i){const g={type:"mem"};return await _i(A,I,g),await pt(t,g,i)},prove:pt,verify:async function(A,I,t,i){A=$i(A),t=$i(t),I=$i(I);const g=await ZI(A.curve),e=g.G1.fromObject(A.IC[0]),C=new Uint8Array(2*g.G1.F.n8*I.length),n=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=aI.fromRprLE(i),e=await OI(g);if(8*e.F1.n64!=t)throw new Error(A.fileName+": Invalid size");const C=await A.readULE32(),n=await A.readULE32();if(A.pos-I[1][0].p!=I[1][0].size)throw new Error("Invalid PTau header size");return{curve:e,power:C,ceremonyPower:n}}function Qg(A,I,t,i){const g={tau:{},alpha:{},beta:{}};return g.tau.g1_s=e(),g.tau.g1_sx=e(),g.alpha.g1_s=e(),g.alpha.g1_sx=e(),g.beta.g1_s=e(),g.beta.g1_sx=e(),g.tau.g2_spx=C(),g.alpha.g2_spx=C(),g.beta.g2_spx=C(),g;function e(){let g;return g=i?t.G1.fromRprLEM(A,I):t.G1.fromRprUncompressed(A,I),I+=2*t.G1.F.n8,g}function C(){let g;return g=i?t.G2.fromRprLEM(A,I):t.G2.fromRprUncompressed(A,I),I+=2*t.G2.F.n8,g}}function Bg(A,I,t,i,g){async function e(i){g?t.G1.toRprLEM(A,I,i):t.G1.toRprUncompressed(A,I,i),I+=2*t.F1.n8}async function C(i){g?t.G2.toRprLEM(A,I,i):t.G2.toRprUncompressed(A,I,i),I+=2*t.F2.n8}return e(i.tau.g1_s),e(i.tau.g1_sx),e(i.alpha.g1_s),e(i.alpha.g1_sx),e(i.beta.g1_s),e(i.beta.g1_sx),C(i.tau.g2_spx),C(i.alpha.g2_spx),C(i.beta.g2_spx),A}async function rg(A,I){const t={};t.tauG1=await Q(),t.tauG2=await B(),t.alphaG1=await Q(),t.betaG1=await Q(),t.betaG2=await B(),t.key=await async function(A,I,t){return Qg(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);Bg(i,0,I,t.key,!1);const g=TI(64);g.setPartialHash(t.partialHash),g.update(i),t.responseHash=g.digest();const e=await A.readULE32(),C=A.pos;let n=0;for(;A.pos-C1)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(e);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0);async function C(t){I.G1.toRprLEM(i,0,t),await A.write(i)}async function n(t){I.G2.toRprLEM(g,0,t),await A.write(g)}}async function ag(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?o[o.length-1].nextChallenge:sg(B,r,e);const c=await LI(t,"ptau",1,g?7:2);await Cg(c,B,r);const u=await w.read(64);if(tt(C,D)&&(D=u,o[o.length-1].nextChallenge=D),!tt(u,D))throw new Error("Wrong contribution. this contribution is not based on the previus hash");const l=new TI(64);l.update(u);const y=[];let p;p=await m(w,c,"G1",2,2**r*2-1,[1],"tauG1"),E.tauG1=p[0],p=await m(w,c,"G2",3,2**r,[1],"tauG2"),E.tauG2=p[0],p=await m(w,c,"G1",4,2**r,[0],"alphaG1"),E.alphaG1=p[0],p=await m(w,c,"G1",5,2**r,[0],"betaG1"),E.betaG1=p[0],p=await m(w,c,"G2",6,1,[0],"betaG2"),E.betaG2=p[0],E.partialHash=l.getPartialHash();const F=await w.read(2*B.F1.n8*6+2*B.F2.n8*3);E.key=Qg(F,0,B,!1),l.update(new Uint8Array(F));const M=l.digest();if(e&&e.info(It(M,"Contribution Response Hash imported: ")),g){const A=new TI(64);A.update(M),await d(A,c,"G1",2,2**r*2-1,"tauG1",e),await d(A,c,"G2",3,2**r,"tauG2",e),await d(A,c,"G1",4,2**r,"alphaTauG1",e),await d(A,c,"G1",5,2**r,"betaTauG1",e),await d(A,c,"G2",6,1,"betaG2",e),E.nextChallenge=A.digest(),e&&e.info(It(E.nextChallenge,"Next Challenge Hash: "))}else E.nextChallenge=C;return o.push(E),await ag(c,B,o),await w.close(),await c.close(),await n.close(),E.nextChallenge;async function m(A,I,t,i,C,n,Q){return g?await async function(A,I,t,i,g,C,n){const Q=B[t],r=Q.F.n8,o=2*Q.F.n8,E=[];await kI(I,i);const a=Math.floor((1<<24)/o);y[i]=I.pos;for(let t=0;t=t&&I=I&&g1?Q[Q.length-2]:B;const o=Q[Q.length-1];if(I&&I.debug("Validating contribution #"+Q[Q.length-1].id),!await wg(e,o,r,I))return!1;const E=TI(64);E.update(o.responseHash),I&&I.debug("Verifying powers in tau*G1 section");const a=await u(2,"G1","tauG1",2**C*2-1,[0,1],I);if(t=await fg(e,a.R1,a.R2,e.G2.g,o.tauG2),!0!==t)return I&&I.error("tauG1 section. Powers do not match"),!1;if(!e.G1.eq(e.G1.g,a.singularPoints[0]))return I&&I.error("First element of tau*G1 section must be the generator"),!1;if(!e.G1.eq(o.tauG1,a.singularPoints[1]))return I&&I.error("Second element of tau*G1 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in tau*G2 section");const s=await u(3,"G2","tauG2",2**C,[0,1],I);if(t=await fg(e,e.G1.g,o.tauG1,s.R1,s.R2),!0!==t)return I&&I.error("tauG2 section. Powers do not match"),!1;if(!e.G2.eq(e.G2.g,s.singularPoints[0]))return I&&I.error("First element of tau*G2 section must be the generator"),!1;if(!e.G2.eq(o.tauG2,s.singularPoints[1]))return I&&I.error("Second element of tau*G2 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in alpha*tau*G1 section");const h=await u(4,"G1","alphatauG1",2**C,[0],I);if(t=await fg(e,h.R1,h.R2,e.G2.g,o.tauG2),!0!==t)return I&&I.error("alphaTauG1 section. Powers do not match"),!1;if(!e.G1.eq(o.alphaG1,h.singularPoints[0]))return I&&I.error("First element of alpha*tau*G1 section (alpha*G1) does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in beta*tau*G1 section");const f=await u(5,"G1","betatauG1",2**C,[0],I);if(t=await fg(e,f.R1,f.R2,e.G2.g,o.tauG2),!0!==t)return I&&I.error("betaTauG1 section. Powers do not match"),!1;if(!e.G1.eq(o.betaG1,f.singularPoints[0]))return I&&I.error("First element of beta*tau*G1 section (beta*G1) does not match the one in the contribution section"),!1;const w=await async function(A){const I=e.G2,t=2*I.F.n8,C=new Uint8Array(t);if(!g[6])throw A.error("File has no BetaG2 section"),new Error("File has no BetaG2 section");if(g[6].length>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 n=await i.read(t),Q=I.fromRprLEM(n);return I.toRprUncompressed(C,0,Q),E.update(C),Q}(I);if(!e.G2.eq(o.betaG2,w))return I&&I.error("betaG2 element in betaG2 section does not match the one in the contribution section"),!1;const D=E.digest();if(C==n&&!tt(D,o.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(It(D,"Next challenge hash: ")),c(o,r);for(let A=Q.length-2;A>=0;A--){const t=Q[A],i=A>0?Q[A-1]:B;if(!await wg(e,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 l("G1",2,12,"tauG1",I),!A)return!1;if(A=await l("G2",3,13,"tauG2",I),!A)return!1;if(A=await l("G1",4,14,"alphaTauG1",I),!A)return!1;if(A=await l("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(),I&&I.info("Powers of Tau Ok!"),!0;function c(A,t){if(!I)return;I.info("-----------------------------------------------------"),I.info(`Contribution #${A.id}: ${A.name||""}`),I.info(It(A.nextChallenge,"Next Challenge: "));const i=new Uint8Array(2*e.G1.F.n8*6+2*e.G2.F.n8*3);Bg(i,0,e,A.key,!1);const g=TI(64);g.setPartialHash(A.partialHash),g.update(i);const C=g.digest();I.info(It(C,"Response Hash:")),I.info(It(t.nextChallenge,"Response Hash:")),1==A.type&&(I.info(`Beacon generator: ${Qt(A.beaconHash)}`),I.info(`Beacon iterations Exp: ${A.numIterationsExp}`))}async function u(A,I,t,C,n,Q){const B=e[I],r=2*B.F.n8;await JI(i,g,A);const o=[];let a=B.zero,s=B.zero,h=B.zero;for(let A=0;A0){const A=B.fromRprLEM(g,0),I=cA.randomBytes(4).readUInt32BE(0,!0);a=B.add(a,B.timesScalar(h,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);a=B.add(a,w),s=B.add(s,D),h=B.fromRprLEM(g,(I-1)*r);for(let t=0;t=A&&i1;)B/=2,r+=1;if(2**r!=Q)throw new Error("Invalid file size");g&&g.debug("Power to tau size: "+r);const o=await et(i),E=await HI(t),a=TI(64);for(let A=0;A{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=TI(64);await E.write(h),w.update(h),await cg(e,E,w,A,"G1",2**r*2-1,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG1",g),await cg(e,E,w,A,"G2",2**r,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG2",g),await cg(e,E,w,A,"G1",2**r,f.alpha.prvKey,f.tau.prvKey,"COMPRESSED","alphaTauG1",g),await cg(e,E,w,A,"G1",2**r,f.beta.prvKey,f.tau.prvKey,"COMPRESSED","betaTauG1",g),await cg(e,E,w,A,"G2",1,f.beta.prvKey,f.tau.prvKey,"COMPRESSED","betaTauG2",g);const D=new Uint8Array(2*A.F1.n8*6+2*A.F2.n8*3);Bg(D,0,A,f,!1),await E.write(D),w.update(D);const c=w.digest();g&&g.info(It(c,"Contribution Response Hash: ")),await E.close(),await e.close()},beacon:async function(A,I,t,i,g,e){const C=nt(i);if(0==C.byteLength||2*C.byteLength!=i.length)return e&&e.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(C.length>=256)return e&&e.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return e&&e.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;await TI.ready();const{fd:n,sections:Q}=await bI(A,"ptau",1),{curve:B,power:r,ceremonyPower:o}=await ng(n,Q);if(r!=o)return e&&e.error("This file has been reduced. You cannot contribute into a reduced file."),!1;Q[12]&&e&&e.warn("Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const E=await og(n,B,Q),a={name:t,type:1,numIterationsExp:g,beaconHash:C};let s;s=E.length>0?E[E.length-1].nextChallenge:sg(B,r,e),a.key=hg(B,s,C,g);const h=new TI(64);h.update(s);const f=await LI(I,"ptau",1,7);await Cg(f,B,r);const w=[];let D;D=await y(2,"G1",2**r*2-1,B.Fr.e(1),a.key.tau.prvKey,"tauG1",e),a.tauG1=D[1],D=await y(3,"G2",2**r,B.Fr.e(1),a.key.tau.prvKey,"tauG2",e),a.tauG2=D[1],D=await y(4,"G1",2**r,a.key.alpha.prvKey,a.key.tau.prvKey,"alphaTauG1",e),a.alphaG1=D[0],D=await y(5,"G1",2**r,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG1",e),a.betaG1=D[0],D=await y(6,"G2",1,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG2",e),a.betaG2=D[0],a.partialHash=h.getPartialHash();const c=new Uint8Array(2*B.F1.n8*6+2*B.F2.n8*3);Bg(c,0,B,a.key,!1),h.update(new Uint8Array(c));const u=h.digest();e&&e.info(It(u,"Contribution Response Hash imported: "));const l=new TI(64);return l.update(u),await p(f,"G1",2,2**r*2-1,"tauG1",e),await p(f,"G2",3,2**r,"tauG2",e),await p(f,"G1",4,2**r,"alphaTauG1",e),await p(f,"G1",5,2**r,"betaTauG1",e),await p(f,"G2",6,1,"betaG2",e),a.nextChallenge=l.digest(),e&&e.info(It(a.nextChallenge,"Next Challenge Hash: ")),E.push(a),await ag(f,B,E),await n.close(),await f.close(),u;async function y(A,I,t,i,g,e,C){const r=[];n.pos=Q[A][0].p,await kI(f,A),w[A]=f.pos;const o=B[I],E=2*o.F.n8,a=Math.floor((1<<20)/E);let s=i;for(let A=0;A0?r[r.length-1].nextChallenge:sg(n,Q,g),o.key=eg(n,E,a);const s=new TI(64);s.update(E);const h=await LI(I,"ptau",1,7);await Cg(h,n,Q);const f=[];let w;w=await l(2,"G1",2**Q*2-1,n.Fr.e(1),o.key.tau.prvKey,"tauG1"),o.tauG1=w[1],w=await l(3,"G2",2**Q,n.Fr.e(1),o.key.tau.prvKey,"tauG2"),o.tauG2=w[1],w=await l(4,"G1",2**Q,o.key.alpha.prvKey,o.key.tau.prvKey,"alphaTauG1"),o.alphaG1=w[0],w=await l(5,"G1",2**Q,o.key.beta.prvKey,o.key.tau.prvKey,"betaTauG1"),o.betaG1=w[0],w=await l(6,"G2",1,o.key.beta.prvKey,o.key.tau.prvKey,"betaTauG2"),o.betaG2=w[0],o.partialHash=s.getPartialHash();const D=new Uint8Array(2*n.F1.n8*6+2*n.F2.n8*3);Bg(D,0,n,o.key,!1),s.update(new Uint8Array(D));const c=s.digest();g&&g.info(It(c,"Contribution Response Hash imported: "));const u=new TI(64);return u.update(c),await y(h,"G1",2,2**Q*2-1,"tauG1"),await y(h,"G2",3,2**Q,"tauG2"),await y(h,"G1",4,2**Q,"alphaTauG1"),await y(h,"G1",5,2**Q,"betaTauG1"),await y(h,"G2",6,1,"betaG2"),o.nextChallenge=u.digest(),g&&g.info(It(o.nextChallenge,"Next Challenge Hash: ")),r.push(o),await ag(h,n,r),await e.close(),await h.close(),c;async function l(A,I,t,i,Q,B){const r=[];e.pos=C[A][0].p,await kI(h,A),f[A]=h.pos;const o=n[I],E=2*o.F.n8,a=Math.floor((1<<20)/E);let w=i;for(let A=0;A>BigInt(I)}const mg=Fg,dg=Mg;var Gg=Object.freeze({__proto__:null,fromString:yg,e:pg,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 Hg(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?o(A.slice(2),16):o(A,I)}const Ug=Hg;function bg(A,I){return o(A).shiftLeft(I)}function Lg(A,I){return o(A).shiftRight(I)}const kg=bg,Ng=Lg;var Jg=Object.freeze({__proto__:null,fromString:Hg,e:Ug,fromArray:function(A,I){return o.fromArray(A,I)},bitLength:function(A){return o(A).bitLength()},isNegative:function(A){return o(A).isNegative()},isZero:function(A){return o(A).isZero()},shiftLeft:bg,shiftRight:Lg,shl:kg,shr:Ng,isOdd:function(A){return o(A).isOdd()},naf:function(A){let I=o(A);const t=[];for(;I.gt(o.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=o(A);const t=[];for(;I.gt(o.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(o("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return o(A).toArray(I)},add:function(A,I){return o(A).add(o(I))},sub:function(A,I){return o(A).minus(o(I))},neg:function(A){return o.zero.minus(o(A))},mul:function(A,I){return o(A).times(o(I))},square:function(A){return o(A).square()},pow:function(A,I){return o(A).pow(o(I))},exp:function(A,I){return o(A).pow(o(I))},abs:function(A){return o(A).abs()},div:function(A,I){return o(A).divide(o(I))},mod:function(A,I){return o(A).mod(o(I))},eq:function(A,I){return o(A).eq(o(I))},neq:function(A,I){return o(A).neq(o(I))},lt:function(A,I){return o(A).lt(o(I))},gt:function(A,I){return o(A).gt(o(I))},leq:function(A,I){return o(A).leq(o(I))},geq:function(A,I){return o(A).geq(o(I))},band:function(A,I){return o(A).and(o(I))},bor:function(A,I){return o(A).or(o(I))},bxor:function(A,I){return o(A).xor(o(I))},land:function(A,I){return!o(A).isZero()&&!o(I).isZero()},lor:function(A,I){return!o(A).isZero()||!o(I).isZero()},lnot:function(A){return o(A).isZero()}});const Sg="function"==typeof BigInt;let vg={};Sg?Object.assign(vg,Gg):Object.assign(vg,Jg),vg.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),e=new Uint32Array(A.buffer,I,i/4),C=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"))),vg.fromString(g.join(""),16)},vg.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,A.byteOffset+I,t),g=new Array(t/4);for(let A=0;A>=1;return t}function be(A,I,t,i,g){A[I]=A[I]+A[t]>>>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 Le{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 ne(re(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++)be(A=this.buff,0,4,8,12),be(A,1,5,9,13),be(A,2,6,10,14),be(A,3,7,11,15),be(A,0,5,10,15),be(A,1,6,11,12),be(A,2,7,8,13),be(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 ke(){const A=function(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 cA.randomFillSync(I);return I}(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}let Ne=null;function Je(){return Ne||(Ne=new Le(ke()),Ne)}var Se=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(I instanceof Uint8Array)return qg(I,0);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,A.byteOffset,A.byteLength);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<=2?(t-=2,I+=BigInt(g.getUint16(t))<0;)e-4>=0?(e-=4,g.setUint32(e,Number(0xFFFFFFFFn&t)),t>>=32n):e-2>=0?(e-=2,g.setUint16(e,Number(0xFFFFn&t)),t>>=16n):(e-=1,g.setUint8(e,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,A.byteOffset,A.byteLength);for(;t>=32n):e+2<=I?(g.setUint16(Number(e,0xFFFFn&t),!0),e+=2,t>>=16n):(g.setUint8(Number(e,0xFFn&t),!0),e+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var ve=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 o(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=o.zero;for(let t=0;t=0;){let A=Number(t.and(o("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(o.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=o.zero;for(let t=0;t>=1;return t}Re.bitReverse=function(A,I){return(Ye[A>>>24]|Ye[A>>>16&255]<<8|Ye[A>>>8&255]<<16|Ye[255&A]<<24)>>>32-I},Re.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)},Re.buffReverseBits=function(A,I){const t=A.byteLength/I,i=Re.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:xe,log2:Pe,buffReverseBits:Xe,stringifyBigInts:Oe,unstringifyBigInts:Ze,beBuff2int:Ve,beInt2Buff:Ke,leBuff2int:je,leInt2Buff:ze}=Re;const We=1<<30;class Te{constructor(A){this.buffers=[],this.byteLength=A;for(let I=0;I0;){const A=C+n>We?We-C:n,I=new Uint8Array(this.buffers[e].buffer,this.buffers[e].byteOffset+C,A);if(A==t)return I.slice();g||(g=t<=We?new Uint8Array(t):new Te(t)),g.set(I,t-n),n-=A,e++,C=0}return g}set(A,I){void 0===I&&(I=0);const t=A.byteLength;if(0==t)return;const i=Math.floor(I/We);if(i==Math.floor((I+t-1)/We))return this.buffers[i].set(A,I%We);let g=i,e=I%We,C=t;for(;C>0;){const I=e+C>We?We-e:C,i=A.slice(t-C,t-C+I);new Uint8Array(this.buffers[g].buffer,this.buffers[g].byteOffset+e,I).set(i),C-=I,g++,e=0}}}function _e(A,I,t,i){return async function(g){const e=Math.floor(g.byteLength/t);if(e*t!==g.byteLength)throw new Error("Invalid buffer size");const C=Math.floor(e/A.concurrency),n=[];for(let Q=0;Q=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=_e(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=_e(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=Xg(Kg(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=Kg(A,I);Wg(t)?(t=Be(t),ue(t,this.p)&&(t=fe(t,this.p)),t=Qe(this.p,t)):ue(t,this.p)&&(t=fe(t,this.p));const i=ze(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=qg(t,0);return Pg(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=Og;for(let t=0;ti.buffer.byteLength){const g=i.buffer.byteLength/65536;let e=Math.floor((t[0]+A)/65536)+1;e>I&&(e=I),i.grow(e-g)}return g}function C(A){const I=e(A.byteLength);return Q(I,A),I}function n(A,I){const t=new Uint8Array(i.buffer);return new Uint8Array(t.buffer,t.byteOffset+A,I)}function Q(A,I){new Uint8Array(i.buffer).set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return g(A[0]);const I={vars:[],out:[]},B=new Uint32Array(i.buffer,0,1)[0];for(let i=0;i{this.reject=I,this.resolve=A}))}}function eC(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 gC;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 QC(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,e,C,n,Q){let B,r,o,E,a;if(n=n||"affine",Q=Q||"affine","G1"==I)"jacobian"==n?(o=3*t.F.n8,B="g1m_batchApplyKey"):(o=2*t.F.n8,B="g1m_batchApplyKeyMixed"),E=3*t.F.n8,"jacobian"==Q?a=3*t.F.n8:(r="g1m_batchToAffine",a=2*t.F.n8);else if("G2"==I)"jacobian"==n?(o=3*t.F.n8,B="g2m_batchApplyKey"):(o=2*t.F.n8,B="g2m_batchApplyKeyMixed"),E=3*t.F.n8,"jacobian"==Q?a=3*t.F.n8:(r="g2m_batchToAffine",a=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",o=t.n8,E=t.n8,a=t.n8}const s=Math.floor(A.byteLength/o),h=Math.floor(s/g.concurrency),f=[];C=i.e(C);let w=i.e(e);for(let I=0;I=0;A--){if(!t.isZero(h))for(let A=0;AB&&(h=B),h<1024&&(h=1024);const f=[];for(let I=0;I(n&&n.debug(`Multiexp end: ${Q}: ${I}/${o}`),A))))}const w=await Promise.all(f);let D=t.zero;for(let A=w.length-1;A>=0;A--)D=t.add(D,w[A]);return D}t.multiExp=async function(A,I,t,i){return await e(A,I,"jacobian",t,i)},t.multiExpAffine=async function(A,I,t,i){return await e(A,I,"affine",t,i)}}function oC(A,I){const t=A[I],i=A.Fr,g=t.tm;async function e(n,Q,B,r,o,E){B=B||"affine",r=r||"affine";let a,s,h,f,w,D,c,u;"G1"==I?("affine"==B?(a=2*t.F.n8,f="g1m_batchToJacobian"):a=3*t.F.n8,s=3*t.F.n8,Q&&(u="g1m_fftFinal"),c="g1m_fftJoin",D="g1m_fftMix","affine"==r?(h=2*t.F.n8,w="g1m_batchToAffine"):h=3*t.F.n8):"G2"==I?("affine"==B?(a=2*t.F.n8,f="g2m_batchToJacobian"):a=3*t.F.n8,s=3*t.F.n8,Q&&(u="g2m_fftFinal"),c="g2m_fftJoin",D="g2m_fftMix","affine"==r?(h=2*t.F.n8,w="g2m_batchToAffine"):h=3*t.F.n8):"Fr"==I&&(a=t.n8,s=t.n8,h=t.n8,Q&&(u="frm_fftFinal"),D="frm_fftMix",c="frm_fftJoin");let l=!1;Array.isArray(n)&&(n=A.array2buffer(n,a),l=!0);const y=n.byteLength/a,p=Pe(y);if(1<1<<28?new Te(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(n,B,r,o,E):await async function(A,I,t,g,n){let Q,B;Q=A.slice(0,A.byteLength/2),B=A.slice(A.byteLength/2,A.byteLength);const r=[];[Q,B]=await C(Q,B,"fftJoinExt",i.one,i.shift,I,"jacobian",g,n),r.push(e(Q,!1,"jacobian",t,g,n)),r.push(e(B,!1,"jacobian",t,g,n));const o=await Promise.all(r);let E;E=o[0].byteLength>1<<28?new Te(2*o[0].byteLength):new Uint8Array(2*o[0].byteLength);return E.set(o[0]),E.set(o[1],o[0].byteLength),E}(n,B,r,o,E),l?A.buffer2array(I,h):I}let F,M,m;Q&&(F=i.inv(i.e(y))),Xe(n,a);let d=Math.min(16384,y),G=y/d;for(;G=16;)G*=2,d/=2;const H=Pe(d),U=[];for(let A=0;A(o&&o.debug(`${E}: fft ${p} mix end: ${A}/${G}`),I))))}m=await Promise.all(U);for(let A=0;A(o&&o.debug(`${E}: fft ${p} join ${A}/${p} ${C+1}/${I} ${n}/${t/2}`),i))))}const C=await Promise.all(e);for(let A=0;A0;I--)M.set(m[I],A),A+=d*h,delete m[I];M.set(m[0].slice(0,(d-1)*h),A),delete m[0]}else for(let A=0;A65536&&(u=65536);const l=[];for(let I=0;I(o&&o.debug(`${E}: fftJoinExt End: ${I}/${c}`),A))))}const y=await Promise.all(l);let p,F;c*f>1<<28?(p=new Te(c*f),F=new Te(c*f)):(p=new Uint8Array(c*f),F=new Uint8Array(c*f));let M=0;for(let A=0;Ai.s+1)throw Q&&Q.error("lagrangeEvaluations input too big"),new Error("lagrangeEvaluations input too big");let a=A.slice(0,A.byteLength/2),s=A.slice(A.byteLength/2,A.byteLength);const h=i.exp(i.shift,o/2),f=i.inv(i.sub(i.one,h));[a,s]=await C(a,s,"prepareLagrangeEvaluation",f,i.shiftInv,g,"jacobian",Q,B+" prep");const w=[];let D;return w.push(e(a,!0,"jacobian",n,Q,B+" t0")),w.push(e(s,!0,"jacobian",n,Q,B+" t1")),[a,s]=await Promise.all(w),D=a.byteLength>1<<28?new Te(2*a.byteLength):new Uint8Array(2*a.byteLength),D.set(a),D.set(s,a.byteLength),D},t.fftMix=async function(A){const e=3*t.F.n8;let C,n;if("G1"==I)C="g1m_fftMix",n="g1m_fftJoin";else if("G2"==I)C="g2m_fftMix",n="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");C="frm_fftMix",n="frm_fftJoin"}const Q=Math.floor(A.byteLength/e),B=Pe(Q);let r=1<=0;A--)a.set(E[A][0],s),s+=E[A][0].byteLength;return a}}async function EC(A){const I=await async function(A,I){const t=new nC;t.memory=new WebAssembly.Memory({initial:25}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(eC(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=eC(A.code),t.taskManager=iC(),await t.taskManager([{cmd:"INIT",init:25,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:$A.cpus().length,I>64&&(I=64),t.concurrency=I;for(let A=0;A=this.length&&(this.length=A+1),!0}getKeys(){const A=new cC;for(let I=0;I1<<20?new cC:[];for(let A=0;A1<<20?new cC:[];for(let A=0;A{t[i]=FC(A,I[i])})),t}return"bigint"==typeof I||void 0!==I.eq?I.toString(10):I}var MC=Object.freeze({__proto__:null,print:function(A,I,t){for(let I=0;I{let i="";return Object.keys(t).forEach((g=>{let e=I.varIdx2Name[g];"one"==e&&(e="");let C=A.curve.Fr.toString(t[g]);"1"==C&&(C=""),"-1"==C&&(C="-"),""!=i&&"-"!=C[0]&&(C="+"+C),""!=i&&(C=" "+C),i=i+C+e})),i},e=`[ ${g(i[0])} ] * [ ${g(i[1])} ] - [ ${g(i[2])} ] = 0`;t&&t.info(e)}},info:async function(A,I){const t=await lC(A);return aI.eq(t.prime,pC)?I&&I.info("Curve: bn-128"):aI.eq(t.prime,yC)?I&&I.info("Curve: bls12-381"):I&&I.info(`Unknown Curve. Prime: ${aI.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 Labels: ${t.nLabels}`),I&&I.info(`# of Outputs: ${t.nOutputs}`),t},exportJson:async function(A,I){const t=await lC(A,!0,!0,!0,I),i=t.curve.Fr;return delete t.curve,FC(i,t)}});async function mC(A){const I={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},t=await UI(A),i=await t.read(t.totalSize),g=new TextDecoder("utf-8").decode(i).split("\n");for(let A=0;A=this.length&&(this.length=A+1),!0}getKeys(){const A=new bC;for(let I=0;IQ)return i&&i.error(`circuit too big for this power of tau ceremony. ${o.nConstraints}*2 > 2**${Q}`),-1;if(!C[12])return i&&i.error("Powers of tau is not prepared."),-1;const f=o.nOutputs+o.nPubInputs,w=2**h;await kI(E,1),await E.writeULE32(1),await NI(E),await kI(E,2);const D=n.q,c=8*(Math.floor((aI.bitLength(D)-1)/64)+1),u=n.r,l=8*(Math.floor((aI.bitLength(u)-1)/64)+1),y=aI.mod(aI.shl(1,8*l),u),p=n.Fr.e(aI.mod(aI.mul(y,y),u));let F,M,m;await E.writeULE32(c),await vI(E,D,c),await E.writeULE32(l),await vI(E,u,l),await E.writeULE32(o.nVars),await E.writeULE32(f),await E.writeULE32(w),F=await e.read(a,C[4][0].p),await E.write(F),F=await n.G1.batchLEMtoU(F),g.update(F),M=await e.read(a,C[5][0].p),await E.write(M),M=await n.G1.batchLEMtoU(M),g.update(M),m=await e.read(s,C[6][0].p),await E.write(m),m=await n.G2.batchLEMtoU(m),g.update(m);const d=new Uint8Array(a);n.G1.toRprLEM(d,0,n.G1.g);const G=new Uint8Array(s);n.G2.toRprLEM(G,0,n.G2.g);const H=new Uint8Array(a);n.G1.toRprUncompressed(H,0,n.G1.g);const U=new Uint8Array(s);n.G2.toRprUncompressed(U,0,n.G2.g),await E.write(G),await E.write(d),await E.write(G),g.update(U),g.update(H),g.update(U),await NI(E),i&&i.info("Reading r1cs");let b=await qI(B,r,2);const L=new bC(o.nVars),k=new bC(o.nVars),N=new bC(o.nVars),J=new bC(o.nVars-f-1),S=new Array(f+1);i&&i.info("Reading tauG1");let v=await qI(e,C,12,(w-1)*a,w*a);i&&i.info("Reading tauG2");let R=await qI(e,C,13,(w-1)*s,w*s);i&&i.info("Reading alphatauG1");let Y=await qI(e,C,14,(w-1)*a,w*a);i&&i.info("Reading betatauG1");let q=await qI(e,C,15,(w-1)*a,w*a);await async function(){const A=new Uint8Array(12+n.Fr.n8),I=new DataView(A.buffer),t=new Uint8Array(n.Fr.n8);n.Fr.toRprLE(t,0,n.Fr.e(1));let g=0;function e(){const A=b.slice(g,g+4);g+=4;return new DataView(A.buffer).getUint32(0,!0)}const C=new bC;for(let A=0;A=0?n.Fr.fromRprLE(b.slice(i[3],i[3]+n.Fr.n8),0):n.Fr.fromRprLE(t,0);const e=n.Fr.mul(g,p);n.Fr.toRprLE(A,12,e),Q.set(A,r),r+=A.length}await E.write(Q),await NI(E)}(),await P(3,"G1",S,"IC"),await async function(){await kI(E,9);const A=new VA(w*a);if(h(i&&i.debug(`Writing points end ${e}: ${r}/${t.length}`),A)))),B+=g,A++}const r=await Promise.all(Q);for(let A=0;A32768?(a=new VA(h*e),s=new VA(h*n.Fr.n8)):(a=new Uint8Array(h*e),s=new Uint8Array(h*n.Fr.n8));let f=0,w=0;const D=[v,R,Y,q],c=new Uint8Array(n.Fr.n8);n.Fr.toRprLE(c,0,n.Fr.e(1));let u=0;for(let A=0;A=0?s.set(b.slice(I[A][g][2],I[A][g][2]+n.Fr.n8),u*n.Fr.n8):s.set(c,u*n.Fr.n8),u++;if(I.length>1){const A=[];A.push({cmd:"ALLOCSET",var:0,buff:a}),A.push({cmd:"ALLOCSET",var:1,buff:s}),A.push({cmd:"ALLOC",var:2,len:I.length*C}),f=0,w=0;let t=0;for(let i=0;i=0;A--){const I=r.contributions[A];i&&i.info("-------------------------"),i&&i.info(It(I.contributionHash,`contribution #${A+1} ${I.name?I.name:""}:`)),1==I.type&&(i&&i.info(`Beacon generator: ${Qt(I.beaconHash)}`),i&&i.info(`Beacon iterations Exp: ${I.numIterationsExp}`))}return i&&i.info("-------------------------"),i&&i.info("ZKey Ok!"),!0;async function D(A,I){const t=2*Q.G1.F.n8,i=A.byteLength/t,g=Q.tm.concurrency,e=Math.floor(i/g),C=[];for(let t=0;tE.contributions.length)return g&&g.error("The impoerted file does not include new contributions"),!1;for(let A=0;A=256)return e&&e.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return e&&e.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:n,sections:Q}=await bI(A,"zkey",2),B=await st(n,Q);if("groth16"!=B.protocol)throw new Error("zkey file is not groth16");const r=await OI(B.q),o=await ft(n,r,Q),E=await LI(I,"zkey",1,10),a=await Ct(C,g),s=TI(64);s.update(o.csHash);for(let A=0;A>5,this.byteCount=this.blockCount<<2,this.outputBlocks=t>>5,this.extraBytes=(31&t)>>3;for(var i=0;i<50;++i)this.s[i]=0}function L(A,I,t){b.call(this,A,I,t)}b.prototype.update=function(A){if(this.finalized)throw new Error("finalize already called");var t,i=typeof A;if("string"!==i){if("object"!==i)throw new Error(I);if(null===A)throw new Error(I);if(C&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!(Array.isArray(A)||C&&ArrayBuffer.isView(A)))throw new Error(I);t=!0}for(var g,e,n=this.blocks,Q=this.byteCount,B=A.length,o=this.blockCount,E=0,a=this.s;E>2]|=A[E]<>2]|=e<>2]|=(192|e>>6)<>2]|=(128|63&e)<=57344?(n[g>>2]|=(224|e>>12)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<>2]|=(240|e>>18)<>2]|=(128|e>>12&63)<>2]|=(128|e>>6&63)<>2]|=(128|63&e)<=Q){for(this.start=g-Q,this.block=n[o],g=0;g>=8);t>0;)g.unshift(t),t=255&(A>>=8),++i;return I?g.push(i):g.unshift(i),this.update(g),g.length},b.prototype.encodeString=function(A){var t,i=typeof A;if("string"!==i){if("object"!==i)throw new Error(I);if(null===A)throw new Error(I);if(C&&A.constructor===ArrayBuffer)A=new Uint8Array(A);else if(!(Array.isArray(A)||C&&ArrayBuffer.isView(A)))throw new Error(I);t=!0}var g=0,e=A.length;if(t)g=e;else for(var n=0;n=57344?g+=3:(Q=65536+((1023&Q)<<10|1023&A.charCodeAt(++n)),g+=4)}return g+=this.encode(8*g),this.update(A),g},b.prototype.bytepad=function(A,I){for(var t=this.encode(I),i=0;i>2]|=this.padding[3&I],this.lastByteIndex===this.byteCount)for(A[0]=A[t],I=1;I>4&15]+n[15&A]+n[A>>12&15]+n[A>>8&15]+n[A>>20&15]+n[A>>16&15]+n[A>>28&15]+n[A>>24&15];C%I==0&&(k(t),e=0)}return g&&(A=t[e],Q+=n[A>>4&15]+n[15&A],g>1&&(Q+=n[A>>12&15]+n[A>>8&15]),g>2&&(Q+=n[A>>20&15]+n[A>>16&15])),Q},b.prototype.arrayBuffer=function(){this.finalize();var A,I=this.blockCount,t=this.s,i=this.outputBlocks,g=this.extraBytes,e=0,C=0,n=this.outputBits>>3;A=g?new ArrayBuffer(i+1<<2):new ArrayBuffer(n);for(var Q=new Uint32Array(A);C>8&255,Q[A+2]=I>>16&255,Q[A+3]=I>>24&255;n%t==0&&k(i)}return e&&(A=n<<2,I=i[C],Q[A]=255&I,e>1&&(Q[A+1]=I>>8&255),e>2&&(Q[A+2]=I>>16&255)),Q},L.prototype=new b,L.prototype.finalize=function(){return this.encode(this.outputBits,!0),b.prototype.finalize.call(this)};var k=function(A){var I,t,i,g,e,C,n,Q,B,r,E,a,s,h,f,w,D,c,u,l,y,p,F,M,m,d,G,H,U,b,L,k,N,J,S,v,R,Y,q,x,P,X,O,Z,V,K,j,z,W,T,_,$,AA,IA,tA,iA,gA,eA,CA,nA,QA,BA,rA;for(i=0;i<48;i+=2)g=A[0]^A[10]^A[20]^A[30]^A[40],e=A[1]^A[11]^A[21]^A[31]^A[41],C=A[2]^A[12]^A[22]^A[32]^A[42],n=A[3]^A[13]^A[23]^A[33]^A[43],Q=A[4]^A[14]^A[24]^A[34]^A[44],B=A[5]^A[15]^A[25]^A[35]^A[45],r=A[6]^A[16]^A[26]^A[36]^A[46],E=A[7]^A[17]^A[27]^A[37]^A[47],I=(a=A[8]^A[18]^A[28]^A[38]^A[48])^(C<<1|n>>>31),t=(s=A[9]^A[19]^A[29]^A[39]^A[49])^(n<<1|C>>>31),A[0]^=I,A[1]^=t,A[10]^=I,A[11]^=t,A[20]^=I,A[21]^=t,A[30]^=I,A[31]^=t,A[40]^=I,A[41]^=t,I=g^(Q<<1|B>>>31),t=e^(B<<1|Q>>>31),A[2]^=I,A[3]^=t,A[12]^=I,A[13]^=t,A[22]^=I,A[23]^=t,A[32]^=I,A[33]^=t,A[42]^=I,A[43]^=t,I=C^(r<<1|E>>>31),t=n^(E<<1|r>>>31),A[4]^=I,A[5]^=t,A[14]^=I,A[15]^=t,A[24]^=I,A[25]^=t,A[34]^=I,A[35]^=t,A[44]^=I,A[45]^=t,I=Q^(a<<1|s>>>31),t=B^(s<<1|a>>>31),A[6]^=I,A[7]^=t,A[16]^=I,A[17]^=t,A[26]^=I,A[27]^=t,A[36]^=I,A[37]^=t,A[46]^=I,A[47]^=t,I=r^(g<<1|e>>>31),t=E^(e<<1|g>>>31),A[8]^=I,A[9]^=t,A[18]^=I,A[19]^=t,A[28]^=I,A[29]^=t,A[38]^=I,A[39]^=t,A[48]^=I,A[49]^=t,h=A[0],f=A[1],K=A[11]<<4|A[10]>>>28,j=A[10]<<4|A[11]>>>28,H=A[20]<<3|A[21]>>>29,U=A[21]<<3|A[20]>>>29,nA=A[31]<<9|A[30]>>>23,QA=A[30]<<9|A[31]>>>23,X=A[40]<<18|A[41]>>>14,O=A[41]<<18|A[40]>>>14,J=A[2]<<1|A[3]>>>31,S=A[3]<<1|A[2]>>>31,w=A[13]<<12|A[12]>>>20,D=A[12]<<12|A[13]>>>20,z=A[22]<<10|A[23]>>>22,W=A[23]<<10|A[22]>>>22,b=A[33]<<13|A[32]>>>19,L=A[32]<<13|A[33]>>>19,BA=A[42]<<2|A[43]>>>30,rA=A[43]<<2|A[42]>>>30,IA=A[5]<<30|A[4]>>>2,tA=A[4]<<30|A[5]>>>2,v=A[14]<<6|A[15]>>>26,R=A[15]<<6|A[14]>>>26,c=A[25]<<11|A[24]>>>21,u=A[24]<<11|A[25]>>>21,T=A[34]<<15|A[35]>>>17,_=A[35]<<15|A[34]>>>17,k=A[45]<<29|A[44]>>>3,N=A[44]<<29|A[45]>>>3,M=A[6]<<28|A[7]>>>4,m=A[7]<<28|A[6]>>>4,iA=A[17]<<23|A[16]>>>9,gA=A[16]<<23|A[17]>>>9,Y=A[26]<<25|A[27]>>>7,q=A[27]<<25|A[26]>>>7,l=A[36]<<21|A[37]>>>11,y=A[37]<<21|A[36]>>>11,$=A[47]<<24|A[46]>>>8,AA=A[46]<<24|A[47]>>>8,Z=A[8]<<27|A[9]>>>5,V=A[9]<<27|A[8]>>>5,d=A[18]<<20|A[19]>>>12,G=A[19]<<20|A[18]>>>12,eA=A[29]<<7|A[28]>>>25,CA=A[28]<<7|A[29]>>>25,x=A[38]<<8|A[39]>>>24,P=A[39]<<8|A[38]>>>24,p=A[48]<<14|A[49]>>>18,F=A[49]<<14|A[48]>>>18,A[0]=h^~w&c,A[1]=f^~D&u,A[10]=M^~d&H,A[11]=m^~G&U,A[20]=J^~v&Y,A[21]=S^~R&q,A[30]=Z^~K&z,A[31]=V^~j&W,A[40]=IA^~iA&eA,A[41]=tA^~gA&CA,A[2]=w^~c&l,A[3]=D^~u&y,A[12]=d^~H&b,A[13]=G^~U&L,A[22]=v^~Y&x,A[23]=R^~q&P,A[32]=K^~z&T,A[33]=j^~W&_,A[42]=iA^~eA&nA,A[43]=gA^~CA&QA,A[4]=c^~l&p,A[5]=u^~y&F,A[14]=H^~b&k,A[15]=U^~L&N,A[24]=Y^~x&X,A[25]=q^~P&O,A[34]=z^~T&$,A[35]=W^~_&AA,A[44]=eA^~nA&BA,A[45]=CA^~QA&rA,A[6]=l^~p&h,A[7]=y^~F&f,A[16]=b^~k&M,A[17]=L^~N&m,A[26]=x^~X&J,A[27]=P^~O&S,A[36]=T^~$&Z,A[37]=_^~AA&V,A[46]=nA^~BA&IA,A[47]=QA^~rA&tA,A[8]=p^~h&w,A[9]=F^~f&D,A[18]=k^~M&d,A[19]=N^~m&G,A[28]=X^~J&v,A[29]=O^~S&R,A[38]=$^~Z&K,A[39]=AA^~V&j,A[48]=BA^~IA&iA,A[49]=rA^~tA&gA,A[0]^=o[i],A[1]^=o[i+1]};if(e)A.exports=p;else for(M=0;M3*Q.domainSize-4&&!r.isZero(I))throw new Error("T Polynomial is not divisible")}t&&t.debug("ifft Tz");const m=await r.ifft(p);for(let A=0;A<4*Q.domainSize;A++){const I=m.slice(A*E,(A+1)*E);if(A>3*Q.domainSize+5){if(!r.isZero(I))throw new Error("Tz Polynomial is not well calculated")}else M.set(r.add(M.slice(A*E,(A+1)*E),I),A*E)}function G(A,I,t,i,g){let e,C;const n=r.mul(A,I),Q=r.mul(A,i),B=r.mul(t,I);e=n;let o=r.mul(t,i);return C=r.add(Q,B),g&&(C=r.add(C,r.mul(s[g],o))),[e,C]}function b(A,I,t,i,g,e,C,n,Q){let B,o;const E=r.mul(A,I),a=r.mul(A,e),h=r.mul(g,I),D=r.mul(g,e),c=r.mul(t,i),u=r.mul(t,n),l=r.mul(C,i),y=r.mul(C,n);B=r.mul(E,c);let p=r.mul(h,c);p=r.add(p,r.mul(a,c)),p=r.add(p,r.mul(E,l)),p=r.add(p,r.mul(E,u));let F=r.mul(D,c);F=r.add(F,r.mul(h,l)),F=r.add(F,r.mul(h,u)),F=r.add(F,r.mul(a,l)),F=r.add(F,r.mul(a,u)),F=r.add(F,r.mul(E,y));let M=r.mul(a,y);M=r.add(M,r.mul(h,y)),M=r.add(M,r.mul(D,u)),M=r.add(M,r.mul(D,l));let m=r.mul(D,y);return o=p,Q&&(o=r.add(o,r.mul(s[Q],F)),o=r.add(o,r.mul(f[Q],M)),o=r.add(o,r.mul(w[Q],m))),[B,o]}d=M.slice(0,(3*Q.domainSize+6)*E),H.T1=await P(M.slice(0,Q.domainSize*E),"multiexp T1"),H.T2=await P(M.slice(Q.domainSize*E,2*Q.domainSize*E),"multiexp T2"),H.T3=await P(M.slice(2*Q.domainSize*E,(3*Q.domainSize+6)*E),"multiexp T3")}(),await async function(){const A=new VA(Q.domainSize*E);await C.readToBuffer(A,0,Q.domainSize*E,n[7][0].p);const I=new VA(Q.domainSize*E);await C.readToBuffer(I,0,Q.domainSize*E,n[8][0].p);const i=new VA(Q.domainSize*E);await C.readToBuffer(i,0,Q.domainSize*E,n[9][0].p);const g=new VA(Q.domainSize*E);await C.readToBuffer(g,0,Q.domainSize*E,n[10][0].p);const e=new VA(Q.domainSize*E);await C.readToBuffer(e,0,Q.domainSize*E,n[11][0].p);const B=new VA(Q.domainSize*E);await C.readToBuffer(B,0,Q.domainSize*E,n[12][0].p+10*Q.domainSize*E);const a=new Uint8Array(2*o.F.n8*3);o.toRprUncompressed(a,0,H.T1),o.toRprUncompressed(a,2*o.F.n8,H.T2),o.toRprUncompressed(a,4*o.F.n8,H.T3),J.xi=Y(a),t&&t.debug("xi: "+r.toString(J.xi));H.eval_a=q(p,J.xi),H.eval_b=q(F,J.xi),H.eval_c=q(M,J.xi),H.eval_s1=q(L,J.xi),H.eval_s2=q(k,J.xi),H.eval_t=q(d,J.xi),H.eval_zw=q(m,r.mul(J.xi,r.w[Q.power]));const s=r.mul(H.eval_a,H.eval_b);let h=H.eval_a;const f=r.mul(J.beta,J.xi);h=r.add(h,f),h=r.add(h,J.gamma);let w=H.eval_b;w=r.add(w,r.mul(f,Q.k1)),w=r.add(w,J.gamma);let D=H.eval_c;D=r.add(D,r.mul(f,Q.k2)),D=r.add(D,J.gamma);const c=r.mul(r.mul(r.mul(h,w),D),J.alpha);let u=H.eval_a;u=r.add(u,r.mul(J.beta,H.eval_s1)),u=r.add(u,J.gamma);let l=H.eval_b;l=r.add(l,r.mul(J.beta,H.eval_s2)),l=r.add(l,J.gamma);let y=r.mul(u,l);y=r.mul(y,J.beta),y=r.mul(y,H.eval_zw),y=r.mul(y,J.alpha),J.xim=J.xi;for(let A=0;A=0;g--)i=r.add(r.mul(i,I),A.slice(g*E,(g+1)*E));return i}function x(A,I){const t=A.byteLength/E,i=new VA(t*E);i.set(r.zero,(t-1)*E),i.set(A.slice((t-1)*E,t*E),(t-2)*E);for(let g=t-3;g>=0;g--)i.set(r.add(A.slice((g+1)*E,(g+2)*E),r.mul(I,i.slice((g+1)*E,(g+2)*E))),g*E);if(!r.eq(A.slice(0,E),r.mul(r.neg(I),i.slice(0,E))))throw new Error("Polinomial does not divide");return i}async function P(A,I){const i=A.byteLength/E,g=N.slice(0,i*B.G1.F.n8*2),e=await B.Fr.batchFromMontgomery(A);let C=await B.G1.multiExpAffine(g,e,t,I);return C=B.G1.toAffine(C),C}async function X(A,I){I=I||[];let t=await r.ifft(A);const i=new VA(E*Q.domainSize*4);i.set(t,0);const g=new VA(E*(Q.domainSize+I.length));g.set(t,0);for(let A=0;A>1),t=A.slice(A.length>>1),i=e(I),g=e(t),n=i[0],Q=g[0],B=c++,r=C.Fr.zero,o=s.neg(i[1]),E=s.neg(g[1]),a=C.Fr.one,h=C.Fr.zero;return w.push([n,Q,B,r,o,E,a,h]),D.push([n,Q,i[1],g[1]]),[B,C.Fr.one]}for(let A=1;A<=u;A++){const I=A,t=0,i=0,g=C.Fr.zero,e=C.Fr.one,n=C.Fr.zero,Q=C.Fr.zero,B=C.Fr.zero;w.push([I,t,i,g,e,n,Q,B])}for(let A=0;An)return i&&i.error(`circuit too big for this power of tau ceremony. ${w.length} > 2**${n}`),-1;if(!e[12])return i&&i.error("Powers of tau is not prepared."),-1;const F=new VA(p*o),M=e[12][0].p+(2**y-1)*o;await g.readToBuffer(F,0,p*o,M);const[m,d]=function(){let A=s.two;for(;t(A,[],y);)s.add(A,s.one);let I=s.add(A,s.one);for(;t(I,[A],y);)s.add(I,s.one);return[A,I];function t(A,I,t){const i=2**t;let g=s.one;for(let e=0;e