snarkjs/build/snarkjs.min.js
2020-08-12 01:33:08 +02:00

2 lines
643 KiB
JavaScript

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)}function C(A,I){return BigInt(A)>>BigInt(I)}const Q=g,e=C;var n=Object.freeze({__proto__:null,fromString:t,e:i,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i<A.length;i++)t=t*I+BigInt(A[i]);return t},bitLength:function(A){const t=A.toString(16);return 4*(t.length-1)+I[parseInt(t[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:g,shiftRight:C,shl:Q,shr:e,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let I=BigInt(A);const t=[];for(;I;){if(1n&I){const A=2-Number(I%4n);t.push(A),I-=BigInt(A)}else t.push(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)},gt:function(A,I){return BigInt(A)>BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function B(A,I){return A(I={exports:{}},I.exports),I.exports}var r=B((function(A){var I=function(A){var t=1e7,i=9007199254740992,g=E(i),C="function"==typeof BigInt;function Q(A,I,t,i){return void 0===A?Q[0]:void 0!==I&&(10!=+I||t)?Y(A,I,t,i):Z(A)}function e(A,I){this.value=A,this.sign=I,this.isSmall=!1}function n(A){this.value=A,this.sign=A<0,this.isSmall=!0}function B(A){this.value=A}function r(A){return-i<A&&A<i}function E(A){return A<1e7?[A]:A<1e14?[A%1e7,Math.floor(A/1e7)]:[A%1e7,Math.floor(A/1e7)%1e7,Math.floor(A/1e14)]}function h(A){o(A);var I=A.length;if(I<4&&G(A,g)<0)switch(I){case 0:return 0;case 1:return A[0];case 2:return A[0]+A[1]*t;default:return A[0]+(A[1]+A[2]*t)*t}return A}function o(A){for(var I=A.length;0===A[--I];);A.length=I+1}function s(A){for(var I=new Array(A),t=-1;++t<A;)I[t]=0;return I}function a(A){return A>0?Math.floor(A):Math.ceil(A)}function f(A,I){var i,g,C=A.length,Q=I.length,e=new Array(C),n=0,B=t;for(g=0;g<Q;g++)n=(i=A[g]+I[g]+n)>=B?1:0,e[g]=i-n*B;for(;g<C;)n=(i=A[g]+n)===B?1:0,e[g++]=i-n*B;return n>0&&e.push(n),e}function w(A,I){return A.length>=I.length?f(A,I):f(I,A)}function D(A,I){var i,g,C=A.length,Q=new Array(C),e=t;for(g=0;g<C;g++)i=A[g]-e+I,I=Math.floor(i/e),Q[g]=i-I*e,I+=1;for(;I>0;)Q[g++]=I%e,I=Math.floor(I/e);return Q}function c(A,I){var t,i,g=A.length,C=I.length,Q=new Array(g),e=0;for(t=0;t<C;t++)(i=A[t]-e-I[t])<0?(i+=1e7,e=1):e=0,Q[t]=i;for(t=C;t<g;t++){if(!((i=A[t]-e)<0)){Q[t++]=i;break}i+=1e7,Q[t]=i}for(;t<g;t++)Q[t]=A[t];return o(Q),Q}function u(A,I,t){var i,g,C=A.length,Q=new Array(C),B=-I;for(i=0;i<C;i++)g=A[i]+B,B=Math.floor(g/1e7),g%=1e7,Q[i]=g<0?g+1e7:g;return"number"==typeof(Q=h(Q))?(t&&(Q=-Q),new n(Q)):new e(Q,t)}function y(A,I){var t,i,g,C,Q=A.length,e=I.length,n=s(Q+e);for(g=0;g<Q;++g){C=A[g];for(var B=0;B<e;++B)t=C*I[B]+n[g+B],i=Math.floor(t/1e7),n[g+B]=t-1e7*i,n[g+B+1]+=i}return o(n),n}function p(A,I){var i,g,C=A.length,Q=new Array(C),e=t,n=0;for(g=0;g<C;g++)i=A[g]*I+n,n=Math.floor(i/e),Q[g]=i-n*e;for(;n>0;)Q[g++]=n%e,n=Math.floor(n/e);return Q}function l(A,I){for(var t=[];I-- >0;)t.push(0);return t.concat(A)}function F(A,I,i){return new e(A<t?p(I,A):y(I,E(A)),i)}function M(A){var I,t,i,g,C=A.length,Q=s(C+C);for(i=0;i<C;i++){t=0-(g=A[i])*g;for(var e=i;e<C;e++)I=g*A[e]*2+Q[i+e]+t,t=Math.floor(I/1e7),Q[i+e]=I-1e7*t;Q[i+C]=t}return o(Q),Q}function m(A,I){var t,i,g,C,Q=A.length,e=s(Q);for(g=0,t=Q-1;t>=0;--t)g=(C=1e7*g+A[t])-(i=a(C/I))*I,e[t]=0|i;return[e,0|g]}function d(A,I){var i,g=Z(I);if(C)return[new B(A.value/g.value),new B(A.value%g.value)];var r,f=A.value,w=g.value;if(0===w)throw new Error("Cannot divide by zero");if(A.isSmall)return g.isSmall?[new n(a(f/w)),new n(f%w)]:[Q[0],A];if(g.isSmall){if(1===w)return[A,Q[0]];if(-1==w)return[A.negate(),Q[0]];var D=Math.abs(w);if(D<t){r=h((i=m(f,D))[0]);var u=i[1];return A.sign&&(u=-u),"number"==typeof r?(A.sign!==g.sign&&(r=-r),[new n(r),new n(u)]):[new e(r,A.sign!==g.sign),new n(u)]}w=E(D)}var y=G(f,w);if(-1===y)return[Q[0],A];if(0===y)return[Q[A.sign===g.sign?1:-1],Q[0]];r=(i=f.length+w.length<=200?function(A,I){var i,g,C,Q,e,n,B,r=A.length,E=I.length,o=t,a=s(I.length),f=I[E-1],w=Math.ceil(o/(2*f)),D=p(A,w),c=p(I,w);for(D.length<=r&&D.push(0),c.push(0),f=c[E-1],g=r-E;g>=0;g--){for(i=o-1,D[g+E]!==f&&(i=Math.floor((D[g+E]*o+D[g+E-1])/f)),C=0,Q=0,n=c.length,e=0;e<n;e++)C+=i*c[e],B=Math.floor(C/o),Q+=D[g+e]-(C-B*o),C=B,Q<0?(D[g+e]=Q+o,Q=-1):(D[g+e]=Q,Q=0);for(;0!==Q;){for(i-=1,C=0,e=0;e<n;e++)(C+=D[g+e]-o+c[e])<0?(D[g+e]=C+o,C=0):(D[g+e]=C,C=1);Q+=C}a[g]=i}return D=m(D,w)[0],[h(a),h(D)]}(f,w):function(A,I){for(var t,i,g,C,Q,e=A.length,n=I.length,B=[],r=[];e;)if(r.unshift(A[--e]),o(r),G(r,I)<0)B.push(0);else{g=1e7*r[(i=r.length)-1]+r[i-2],C=1e7*I[n-1]+I[n-2],i>n&&(g=1e7*(g+1)),t=Math.ceil(g/C);do{if(G(Q=p(I,t),r)<=0)break;t--}while(t);B.push(t),r=c(r,Q)}return B.reverse(),[h(B),h(r)]}(f,w))[0];var l=A.sign!==g.sign,F=i[1],M=A.sign;return"number"==typeof r?(l&&(r=-r),r=new n(r)):r=new e(r,l),"number"==typeof F?(M&&(F=-F),F=new n(F)):F=new e(F,M),[r,F]}function G(A,I){if(A.length!==I.length)return A.length>I.length?1:-1;for(var t=A.length-1;t>=0;t--)if(A[t]!==I[t])return A[t]>I[t]?1:-1;return 0}function U(A){var I=A.abs();return!I.isUnit()&&(!!(I.equals(2)||I.equals(3)||I.equals(5))||!(I.isEven()||I.isDivisibleBy(3)||I.isDivisibleBy(5))&&(!!I.lesser(49)||void 0))}function H(A,t){for(var i,g,C,Q=A.prev(),e=Q,n=0;e.isEven();)e=e.divide(2),n++;A:for(g=0;g<t.length;g++)if(!A.lesser(t[g])&&!(C=I(t[g]).modPow(e,A)).isUnit()&&!C.equals(Q)){for(i=n-1;0!=i;i--){if((C=C.square().mod(A)).isUnit())return!1;if(C.equals(Q))continue A}return!1}return!0}e.prototype=Object.create(Q.prototype),n.prototype=Object.create(Q.prototype),B.prototype=Object.create(Q.prototype),e.prototype.add=function(A){var I=Z(A);if(this.sign!==I.sign)return this.subtract(I.negate());var t=this.value,i=I.value;return I.isSmall?new e(D(t,Math.abs(i)),this.sign):new e(w(t,i),this.sign)},e.prototype.plus=e.prototype.add,n.prototype.add=function(A){var I=Z(A),t=this.value;if(t<0!==I.sign)return this.subtract(I.negate());var i=I.value;if(I.isSmall){if(r(t+i))return new n(t+i);i=E(Math.abs(i))}return new e(D(i,Math.abs(t)),t<0)},n.prototype.plus=n.prototype.add,B.prototype.add=function(A){return new B(this.value+Z(A).value)},B.prototype.plus=B.prototype.add,e.prototype.subtract=function(A){var I=Z(A);if(this.sign!==I.sign)return this.add(I.negate());var t=this.value,i=I.value;return I.isSmall?u(t,Math.abs(i),this.sign):function(A,I,t){var i;return G(A,I)>=0?i=c(A,I):(i=c(I,A),t=!t),"number"==typeof(i=h(i))?(t&&(i=-i),new n(i)):new e(i,t)}(t,i,this.sign)},e.prototype.minus=e.prototype.subtract,n.prototype.subtract=function(A){var I=Z(A),t=this.value;if(t<0!==I.sign)return this.add(I.negate());var i=I.value;return I.isSmall?new n(t-i):u(i,Math.abs(t),t>=0)},n.prototype.minus=n.prototype.subtract,B.prototype.subtract=function(A){return new B(this.value-Z(A).value)},B.prototype.minus=B.prototype.subtract,e.prototype.negate=function(){return new e(this.value,!this.sign)},n.prototype.negate=function(){var A=this.sign,I=new n(-this.value);return I.sign=!A,I},B.prototype.negate=function(){return new B(-this.value)},e.prototype.abs=function(){return new e(this.value,!1)},n.prototype.abs=function(){return new n(Math.abs(this.value))},B.prototype.abs=function(){return new B(this.value>=0?this.value:-this.value)},e.prototype.multiply=function(A){var I,i,g,C=Z(A),n=this.value,B=C.value,r=this.sign!==C.sign;if(C.isSmall){if(0===B)return Q[0];if(1===B)return this;if(-1===B)return this.negate();if((I=Math.abs(B))<t)return new e(p(n,I),r);B=E(I)}return i=n.length,g=B.length,new e(-.012*i-.012*g+15e-6*i*g>0?function A(I,t){var i=Math.max(I.length,t.length);if(i<=30)return y(I,t);i=Math.ceil(i/2);var g=I.slice(i),C=I.slice(0,i),Q=t.slice(i),e=t.slice(0,i),n=A(C,e),B=A(g,Q),r=A(w(C,g),w(e,Q)),E=w(w(n,l(c(c(r,n),B),i)),l(B,2*i));return o(E),E}(n,B):y(n,B),r)},e.prototype.times=e.prototype.multiply,n.prototype._multiplyBySmall=function(A){return r(A.value*this.value)?new n(A.value*this.value):F(Math.abs(A.value),E(Math.abs(this.value)),this.sign!==A.sign)},e.prototype._multiplyBySmall=function(A){return 0===A.value?Q[0]:1===A.value?this:-1===A.value?this.negate():F(Math.abs(A.value),this.value,this.sign!==A.sign)},n.prototype.multiply=function(A){return Z(A)._multiplyBySmall(this)},n.prototype.times=n.prototype.multiply,B.prototype.multiply=function(A){return new B(this.value*Z(A).value)},B.prototype.times=B.prototype.multiply,e.prototype.square=function(){return new e(M(this.value),!1)},n.prototype.square=function(){var A=this.value*this.value;return r(A)?new n(A):new e(M(E(Math.abs(this.value))),!1)},B.prototype.square=function(A){return new B(this.value*this.value)},e.prototype.divmod=function(A){var I=d(this,A);return{quotient:I[0],remainder:I[1]}},B.prototype.divmod=n.prototype.divmod=e.prototype.divmod,e.prototype.divide=function(A){return d(this,A)[0]},B.prototype.over=B.prototype.divide=function(A){return new B(this.value/Z(A).value)},n.prototype.over=n.prototype.divide=e.prototype.over=e.prototype.divide,e.prototype.mod=function(A){return d(this,A)[1]},B.prototype.mod=B.prototype.remainder=function(A){return new B(this.value%Z(A).value)},n.prototype.remainder=n.prototype.mod=e.prototype.remainder=e.prototype.mod,e.prototype.pow=function(A){var I,t,i,g=Z(A),C=this.value,e=g.value;if(0===e)return Q[1];if(0===C)return Q[0];if(1===C)return Q[1];if(-1===C)return g.isEven()?Q[1]:Q[-1];if(g.sign)return Q[0];if(!g.isSmall)throw new Error("The exponent "+g.toString()+" is too large.");if(this.isSmall&&r(I=Math.pow(C,e)))return new n(a(I));for(t=this,i=Q[1];!0&e&&(i=i.times(t),--e),0!==e;)e/=2,t=t.square();return i},n.prototype.pow=e.prototype.pow,B.prototype.pow=function(A){var I=Z(A),t=this.value,i=I.value,g=BigInt(0),C=BigInt(1),e=BigInt(2);if(i===g)return Q[1];if(t===g)return Q[0];if(t===C)return Q[1];if(t===BigInt(-1))return I.isEven()?Q[1]:Q[-1];if(I.isNegative())return new B(g);for(var n=this,r=Q[1];(i&C)===C&&(r=r.times(n),--i),i!==g;)i/=e,n=n.square();return r},e.prototype.modPow=function(A,I){if(A=Z(A),(I=Z(I)).isZero())throw new Error("Cannot take modPow with modulus 0");var t=Q[1],i=this.mod(I);for(A.isNegative()&&(A=A.multiply(Q[-1]),i=i.modInv(I));A.isPositive();){if(i.isZero())return Q[0];A.isOdd()&&(t=t.multiply(i).mod(I)),A=A.divide(2),i=i.square().mod(I)}return t},B.prototype.modPow=n.prototype.modPow=e.prototype.modPow,e.prototype.compareAbs=function(A){var I=Z(A),t=this.value,i=I.value;return I.isSmall?1:G(t,i)},n.prototype.compareAbs=function(A){var I=Z(A),t=Math.abs(this.value),i=I.value;return I.isSmall?t===(i=Math.abs(i))?0:t>i?1:-1:-1},B.prototype.compareAbs=function(A){var I=this.value,t=Z(A).value;return(I=I>=0?I:-I)===(t=t>=0?t:-t)?0:I>t?1:-1},e.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=Z(A),t=this.value,i=I.value;return this.sign!==I.sign?I.sign?1:-1:I.isSmall?this.sign?-1:1:G(t,i)*(this.sign?-1:1)},e.prototype.compareTo=e.prototype.compare,n.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=Z(A),t=this.value,i=I.value;return I.isSmall?t==i?0:t>i?1:-1:t<0!==I.sign?t<0?-1:1:t<0?1:-1},n.prototype.compareTo=n.prototype.compare,B.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=this.value,t=Z(A).value;return I===t?0:I>t?1:-1},B.prototype.compareTo=B.prototype.compare,e.prototype.equals=function(A){return 0===this.compare(A)},B.prototype.eq=B.prototype.equals=n.prototype.eq=n.prototype.equals=e.prototype.eq=e.prototype.equals,e.prototype.notEquals=function(A){return 0!==this.compare(A)},B.prototype.neq=B.prototype.notEquals=n.prototype.neq=n.prototype.notEquals=e.prototype.neq=e.prototype.notEquals,e.prototype.greater=function(A){return this.compare(A)>0},B.prototype.gt=B.prototype.greater=n.prototype.gt=n.prototype.greater=e.prototype.gt=e.prototype.greater,e.prototype.lesser=function(A){return this.compare(A)<0},B.prototype.lt=B.prototype.lesser=n.prototype.lt=n.prototype.lesser=e.prototype.lt=e.prototype.lesser,e.prototype.greaterOrEquals=function(A){return this.compare(A)>=0},B.prototype.geq=B.prototype.greaterOrEquals=n.prototype.geq=n.prototype.greaterOrEquals=e.prototype.geq=e.prototype.greaterOrEquals,e.prototype.lesserOrEquals=function(A){return this.compare(A)<=0},B.prototype.leq=B.prototype.lesserOrEquals=n.prototype.leq=n.prototype.lesserOrEquals=e.prototype.leq=e.prototype.lesserOrEquals,e.prototype.isEven=function(){return 0==(1&this.value[0])},n.prototype.isEven=function(){return 0==(1&this.value)},B.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},e.prototype.isOdd=function(){return 1==(1&this.value[0])},n.prototype.isOdd=function(){return 1==(1&this.value)},B.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},e.prototype.isPositive=function(){return!this.sign},n.prototype.isPositive=function(){return this.value>0},B.prototype.isPositive=n.prototype.isPositive,e.prototype.isNegative=function(){return this.sign},n.prototype.isNegative=function(){return this.value<0},B.prototype.isNegative=n.prototype.isNegative,e.prototype.isUnit=function(){return!1},n.prototype.isUnit=function(){return 1===Math.abs(this.value)},B.prototype.isUnit=function(){return this.abs().value===BigInt(1)},e.prototype.isZero=function(){return!1},n.prototype.isZero=function(){return 0===this.value},B.prototype.isZero=function(){return this.value===BigInt(0)},e.prototype.isDivisibleBy=function(A){var I=Z(A);return!I.isZero()&&(!!I.isUnit()||(0===I.compareAbs(2)?this.isEven():this.mod(I).isZero()))},B.prototype.isDivisibleBy=n.prototype.isDivisibleBy=e.prototype.isDivisibleBy,e.prototype.isPrime=function(A){var t=U(this);if(void 0!==t)return t;var i=this.abs(),g=i.bitLength();if(g<=64)return H(i,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var C=Math.log(2)*g.toJSNumber(),Q=Math.ceil(!0===A?2*Math.pow(C,2):C),e=[],n=0;n<Q;n++)e.push(I(n+2));return H(i,e)},B.prototype.isPrime=n.prototype.isPrime=e.prototype.isPrime,e.prototype.isProbablePrime=function(A,t){var i=U(this);if(void 0!==i)return i;for(var g=this.abs(),C=void 0===A?5:A,Q=[],e=0;e<C;e++)Q.push(I.randBetween(2,g.minus(2),t));return H(g,Q)},B.prototype.isProbablePrime=n.prototype.isProbablePrime=e.prototype.isProbablePrime,e.prototype.modInv=function(A){for(var t,i,g,C=I.zero,Q=I.one,e=Z(A),n=this.abs();!n.isZero();)t=e.divide(n),i=C,g=e,C=Q,e=n,Q=i.subtract(t.multiply(Q)),n=g.subtract(t.multiply(n));if(!e.isUnit())throw new Error(this.toString()+" and "+A.toString()+" are not co-prime");return-1===C.compare(0)&&(C=C.add(A)),this.isNegative()?C.negate():C},B.prototype.modInv=n.prototype.modInv=e.prototype.modInv,e.prototype.next=function(){var A=this.value;return this.sign?u(A,1,this.sign):new e(D(A,1),this.sign)},n.prototype.next=function(){var A=this.value;return A+1<i?new n(A+1):new e(g,!1)},B.prototype.next=function(){return new B(this.value+BigInt(1))},e.prototype.prev=function(){var A=this.value;return this.sign?new e(D(A,1),!0):u(A,1,this.sign)},n.prototype.prev=function(){var A=this.value;return A-1>-i?new n(A-1):new e(g,!0)},B.prototype.prev=function(){return new B(this.value-BigInt(1))};for(var L=[1];2*L[L.length-1]<=t;)L.push(2*L[L.length-1]);var k=L.length,N=L[k-1];function b(A){return Math.abs(A)<=t}function S(A,t,i){t=Z(t);for(var g=A.isNegative(),C=t.isNegative(),Q=g?A.not():A,e=C?t.not():t,n=0,B=0,r=null,E=null,h=[];!Q.isZero()||!e.isZero();)n=(r=d(Q,N))[1].toJSNumber(),g&&(n=N-1-n),B=(E=d(e,N))[1].toJSNumber(),C&&(B=N-1-B),Q=r[0],e=E[0],h.push(i(n,B));for(var o=0!==i(g?1:0,C?1:0)?I(-1):I(0),s=h.length-1;s>=0;s-=1)o=o.multiply(N).add(I(h[s]));return o}e.prototype.shiftLeft=function(A){var I=Z(A).toJSNumber();if(!b(I))throw new Error(String(I)+" is too large for shifting.");if(I<0)return this.shiftRight(-I);var t=this;if(t.isZero())return t;for(;I>=k;)t=t.multiply(N),I-=k-1;return t.multiply(L[I])},B.prototype.shiftLeft=n.prototype.shiftLeft=e.prototype.shiftLeft,e.prototype.shiftRight=function(A){var I,t=Z(A).toJSNumber();if(!b(t))throw new Error(String(t)+" is too large for shifting.");if(t<0)return this.shiftLeft(-t);for(var i=this;t>=k;){if(i.isZero()||i.isNegative()&&i.isUnit())return i;i=(I=d(i,N))[1].isNegative()?I[0].prev():I[0],t-=k-1}return(I=d(i,L[t]))[1].isNegative()?I[0].prev():I[0]},B.prototype.shiftRight=n.prototype.shiftRight=e.prototype.shiftRight,e.prototype.not=function(){return this.negate().prev()},B.prototype.not=n.prototype.not=e.prototype.not,e.prototype.and=function(A){return S(this,A,(function(A,I){return A&I}))},B.prototype.and=n.prototype.and=e.prototype.and,e.prototype.or=function(A){return S(this,A,(function(A,I){return A|I}))},B.prototype.or=n.prototype.or=e.prototype.or,e.prototype.xor=function(A){return S(this,A,(function(A,I){return A^I}))},B.prototype.xor=n.prototype.xor=e.prototype.xor;function R(A){var I=A.value,i="number"==typeof I?I|1<<30:"bigint"==typeof I?I|BigInt(1<<30):I[0]+I[1]*t|1073758208;return i&-i}function J(A,I){return A=Z(A),I=Z(I),A.greater(I)?A:I}function v(A,I){return A=Z(A),I=Z(I),A.lesser(I)?A:I}function q(A,I){if(A=Z(A).abs(),I=Z(I).abs(),A.equals(I))return A;if(A.isZero())return I;if(I.isZero())return A;for(var t,i,g=Q[1];A.isEven()&&I.isEven();)t=v(R(A),R(I)),A=A.divide(t),I=I.divide(t),g=g.multiply(t);for(;A.isEven();)A=A.divide(R(A));do{for(;I.isEven();)I=I.divide(R(I));A.greater(I)&&(i=I,I=A,A=i),I=I.subtract(A)}while(!I.isZero());return g.isUnit()?A:A.multiply(g)}e.prototype.bitLength=function(){var A=this;return A.compareTo(I(0))<0&&(A=A.negate().subtract(I(1))),0===A.compareTo(I(0))?I(0):I(function A(t,i){if(i.compareTo(t)<=0){var g=A(t,i.square(i)),C=g.p,Q=g.e,e=C.multiply(i);return e.compareTo(t)<=0?{p:e,e:2*Q+1}:{p:C,e:2*Q}}return{p:I(1),e:0}}(A,I(2)).e).add(I(1))},B.prototype.bitLength=n.prototype.bitLength=e.prototype.bitLength;var Y=function(A,I,t,i){t=t||"0123456789abcdefghijklmnopqrstuvwxyz",A=String(A),i||(A=A.toLowerCase(),t=t.toLowerCase());var g,C=A.length,Q=Math.abs(I),e={};for(g=0;g<t.length;g++)e[t[g]]=g;for(g=0;g<C;g++){if("-"!==(r=A[g])&&(r in e&&e[r]>=Q)){if("1"===r&&1===Q)continue;throw new Error(r+" is not a valid digit in base "+I+".")}}I=Z(I);var n=[],B="-"===A[0];for(g=B?1:0;g<A.length;g++){var r;if((r=A[g])in e)n.push(Z(e[r]));else{if("<"!==r)throw new Error(r+" is not a valid character");var E=g;do{g++}while(">"!==A[g]&&g<A.length);n.push(Z(A.slice(E+1,g)))}}return P(n,I,B)};function P(A,I,t){var i,g=Q[0],C=Q[1];for(i=A.length-1;i>=0;i--)g=g.add(A[i].times(C)),C=C.times(I);return t?g.negate():g}function x(A,t){if((t=I(t)).isZero()){if(A.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(t.equals(-1)){if(A.isZero())return{value:[0],isNegative:!1};if(A.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-A.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var i=Array.apply(null,Array(A.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return i.unshift([1]),{value:[].concat.apply([],i),isNegative:!1}}var g=!1;if(A.isNegative()&&t.isPositive()&&(g=!0,A=A.abs()),t.isUnit())return A.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(A.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:g};for(var C,Q=[],e=A;e.isNegative()||e.compareAbs(t)>=0;){C=e.divmod(t),e=C.quotient;var n=C.remainder;n.isNegative()&&(n=t.minus(n).abs(),e=e.next()),Q.push(n.toJSNumber())}return Q.push(e.toJSNumber()),{value:Q.reverse(),isNegative:g}}function O(A,I,t){var i=x(A,I);return(i.isNegative?"-":"")+i.value.map((function(A){return function(A,I){return A<(I=I||"0123456789abcdefghijklmnopqrstuvwxyz").length?I[A]:"<"+A+">"}(A,t)})).join("")}function X(A){if(r(+A)){var I=+A;if(I===a(I))return C?new B(BigInt(I)):new n(I);throw new Error("Invalid integer: "+A)}var t="-"===A[0];t&&(A=A.slice(1));var i=A.split(/e/i);if(i.length>2)throw new Error("Invalid integer: "+i.join("e"));if(2===i.length){var g=i[1];if("+"===g[0]&&(g=g.slice(1)),(g=+g)!==a(g)||!r(g))throw new Error("Invalid integer: "+g+" is not a valid exponent.");var Q=i[0],E=Q.indexOf(".");if(E>=0&&(g-=Q.length-E-1,Q=Q.slice(0,E)+Q.slice(E+1)),g<0)throw new Error("Cannot include negative exponent part for integers");A=Q+=new Array(g+1).join("0")}if(!/^([0-9][0-9]*)$/.test(A))throw new Error("Invalid integer: "+A);if(C)return new B(BigInt(t?"-"+A:A));for(var h=[],s=A.length,f=s-7;s>0;)h.push(+A.slice(f,s)),(f-=7)<0&&(f=0),s-=7;return o(h),new e(h,t)}function Z(A){return"number"==typeof A?function(A){if(C)return new B(BigInt(A));if(r(A)){if(A!==a(A))throw new Error(A+" is not an integer.");return new n(A)}return X(A.toString())}(A):"string"==typeof A?X(A):"bigint"==typeof A?new B(A):A}e.prototype.toArray=function(A){return x(this,A)},n.prototype.toArray=function(A){return x(this,A)},B.prototype.toArray=function(A){return x(this,A)},e.prototype.toString=function(A,I){if(void 0===A&&(A=10),10!==A)return O(this,A,I);for(var t,i=this.value,g=i.length,C=String(i[--g]);--g>=0;)t=String(i[g]),C+="0000000".slice(t.length)+t;return(this.sign?"-":"")+C},n.prototype.toString=function(A,I){return void 0===A&&(A=10),10!=A?O(this,A,I):String(this.value)},B.prototype.toString=n.prototype.toString,B.prototype.toJSON=e.prototype.toJSON=n.prototype.toJSON=function(){return this.toString()},e.prototype.valueOf=function(){return parseInt(this.toString(),10)},e.prototype.toJSNumber=e.prototype.valueOf,n.prototype.valueOf=function(){return this.value},n.prototype.toJSNumber=n.prototype.valueOf,B.prototype.valueOf=B.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var j=0;j<1e3;j++)Q[j]=Z(j),j>0&&(Q[-j]=Z(-j));return Q.one=Q[1],Q.zero=Q[0],Q.minusOne=Q[-1],Q.max=J,Q.min=v,Q.gcd=q,Q.lcm=function(A,I){return A=Z(A).abs(),I=Z(I).abs(),A.divide(q(A,I)).multiply(I)},Q.isInstance=function(A){return A instanceof e||A instanceof n||A instanceof B},Q.randBetween=function(A,I,i){A=Z(A),I=Z(I);var g=i||Math.random,C=v(A,I),e=J(A,I).subtract(C).add(1);if(e.isSmall)return C.add(Math.floor(g()*e));for(var n=x(e,t).value,B=[],r=!0,E=0;E<n.length;E++){var h=r?n[E]:t,o=a(g()*h);B.push(o),o<h&&(r=!1)}return C.add(Q.fromArray(B,t,!1))},Q.fromArray=function(A,I,t){return P(A.map(Z),Z(I||10),t)},Q}();A.hasOwnProperty("exports")&&(A.exports=I)}));function E(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const h=E;function o(A,I){return r(A).shiftLeft(I)}function s(A,I){return r(A).shiftRight(I)}const a=o,f=s;var w=Object.freeze({__proto__:null,fromString:E,e:h,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:o,shiftRight:s,shl:a,shr:f,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const D="function"==typeof BigInt;let c={};D?Object.assign(c,n):Object.assign(c,w),c.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A<Q;A++)C[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=Q;A<C.length;A++)C[A]=0;for(let I=4*C.length;I<i;I++)A[I]=c.toNumber(c.band(c.shiftRight(t,8*I),255))},c.toRprBE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new DataView(A.buffer,I,i),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A<Q;A++)C.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-Q;A++)C[A]=0},c.fromRprLE=function(A,I,t){t=t||A.byteLength;const i=new Uint32Array(A.buffer,I,t/4),g=new Array(t/4);return i.forEach((A,I)=>g[g.length-I-1]=A.toString(16).padStart(8,"0")),c.fromString(g.join(""),16)},c.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A<t/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return c.fromString(g.join(""),16)},c.toString=function(A,I){return A.toString(I)},c.toLEBuff=function(A){const I=new Uint8Array(Math.floor((c.bitLength(A)-1)/8)+1);return c.toRprLE(I,0,A,I.byteLength),I},c.zero=c.e(0),c.one=c.e(1);let{toRprLE:u,toRprBE:y,fromRprLE:p,fromRprBE:l,toString:F,toLEBuff:M,zero:m,one:d,fromString:G,e:U,fromArray:H,bitLength:L,isNegative:k,isZero:N,shiftLeft:b,shiftRight:S,shl:R,shr:J,isOdd:v,naf:q,bits:Y,toNumber:P,toArray:x,add:O,sub:X,neg:Z,mul:j,square:K,pow:V,exp:z,abs:W,div:T,mod:_,eq:$,neq:AA,lt:IA,gt:tA,leq:iA,geq:gA,band:CA,bor:QA,bxor:eA,land:nA,lor:BA,lnot:rA}=c;var EA=Object.freeze({__proto__:null,toRprLE:u,toRprBE:y,fromRprLE:p,fromRprBE:l,toString:F,toLEBuff:M,zero:m,one:d,fromString:G,e:U,fromArray:H,bitLength:L,isNegative:k,isZero:N,shiftLeft:b,shiftRight:S,shl:R,shr:J,isOdd:v,naf:q,bits:Y,toNumber:P,toArray:x,add:O,sub:X,neg:Z,mul:j,square:K,pow:V,exp:z,abs:W,div:T,mod:_,eq:$,neq:AA,lt:IA,gt:tA,leq:iA,geq:gA,band:CA,bor:QA,bxor:eA,land:nA,lor:BA,lnot:rA});const hA=[];for(let A=0;A<256;A++)hA[A]=oA(A,8);function oA(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function sA(A,I,t){if(N(t))return A.one;const i=Y(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function aA(A){if(A.m%2==1)if($(_(A.p,4),1))if($(_(A.p,8),1))if($(_(A.p,16),1))!function(A){A.sqrt_q=V(A.p,A.m),A.sqrt_s=0,A.sqrt_t=X(A.sqrt_q,1);for(;!v(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=T(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<<A.sqrt_s-1)}A.sqrt_tm1d2=T(X(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),1<<I.sqrt_s-1);if(I.eq(i,I.negone))return null;let g=I.sqrt_s,C=I.mul(A,t),Q=I.mul(C,t),e=I.sqrt_z;for(;!I.eq(Q,I.one);){let A=I.square(Q),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=e;for(let A=0;A<g-i-1;A++)t=I.square(t);e=I.square(t),Q=I.mul(Q,e),C=I.mul(C,t),g=i}return I.geq(C,I.zero)?C:I.neg(C)}}(A);else{if(!$(_(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!$(_(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else $(_(A.p,4),3)&&function(A){A.sqrt_q=V(A.p,A.m),A.sqrt_e1=T(X(A.sqrt_q,3),4),A.sqrt=function(I){if(this.isZero(I))return this.zero;const t=this.pow(I,this.sqrt_e1),i=this.mul(this.square(t),I);if(this.eq(i,this.negone))return null;const g=this.mul(t,I);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const I=_(V(A.p,A.m/2),4);1==I?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==I?function(A){A.sqrt_q=V(A.p,A.m/2),A.sqrt_e34=T(X(A.sqrt_q,3),4),A.sqrt_e12=T(X(A.sqrt_q,1),2),A.frobenius=function(I,t){return I%2==1?A.conjugate(t):t},A.sqrt=function(A){const I=this,t=I.pow(A,I.sqrt_e34),i=I.mul(I.square(t),A),g=I.mul(I.frobenius(1,i),i);if(I.eq(g,I.negone))return null;const C=I.mul(t,A);let Q;if(I.eq(i,I.negone))Q=I.mul(C,[I.F.zero,I.F.one]);else{const A=I.pow(I.add(I.one,i),I.sqrt_e12);Q=I.mul(A,C)}return I.geq(Q,I.zero)?Q:I.neg(Q)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function fA(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 wA{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return O(j(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)fA(A=this.buff,0,4,8,12),fA(A,1,5,9,13),fA(A,2,6,10,14),fA(A,3,7,11,15),fA(A,0,5,10,15),fA(A,1,6,11,12),fA(A,2,7,8,13),fA(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}var DA={};function cA(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let t=0;t<A;t++)I[t]=4294967296*Math.random()>>>0;else DA.randomFillSync(I);return I}let uA=null;function yA(){return uA||(uA=new wA(function(){const A=cA(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}()),uA)}class pA{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=L(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const I=this.negone>>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),aA(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return sA(this,A,I)}exp(A,I){return sA(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}{const t=this.p-I;return Number(t)<this.bitLength?A>>t:0n}}shr(A,I){if(Number(I)<this.bitLength)return A>>I;{const t=this.p-I;if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let Q=t;for(let A=0;A<I-C-1;A++)Q=this.square(Q);I=C,t=this.square(Q),i=this.mul(i,t),g=this.mul(g,Q)}return g>this.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;t<A;t++)I=(I<<8n)+BigInt(cA(1)[0]);return I%this.p}toString(A,I){let t;if(A>this.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.n64;t++)I+=A.nextU64()<<BigInt(64*t);I&=this.mask}while(I>=this.p);return I=I*this.Ri%this.p,I}}class lA{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),aA(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let Q=t;for(let A=0;A<I-C-1;A++)Q=this.square(Q);I=C,t=this.square(Q),i=this.mul(i,t),g=this.mul(g,Q)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=r(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=r(0),I=r(this.p.square());for(;!I.isZero();)A=A.shiftLeft(8).add(r(cA(1)[0])),I=I.shiftRight(8);return A.mod(this.p)}toString(A,I){let t;if(A.lesserOrEquals(this.p.shiftRight(r(1))))t=A.toString(I);else{t="-"+this.p.minus(A).toString(I)}return t}isZero(A){return A.isZero()}fromRng(A){let I;do{I=r(0);for(let t=0;t<this.n64;t++)I=I.add(I,A.nextU64().shiftLeft(64*t));I=I.and(this.mask)}while(I.geq(this.p));return I=I.times(this.Ri).mod(this.q),I}}const FA="function"==typeof BigInt;let MA;MA=FA?pA:lA;class mA extends MA{toRprLE(A,I,t){u(A,I,t,8*this.n64)}toRprBE(A,I,t){y(A,I,t,8*this.n64)}toRprBEM(A,I,t){return this.toRprBE(A,I,this.mul(this.R,t))}toRprLEM(A,I,t){return this.toRprLE(A,I,this.mul(this.R,t))}fromRprLE(A,I){return p(A,I,this.n8)}fromRprBE(A,I){return l(A,I,this.n8)}fromRprLEM(A,I){return this.mul(this.fromRprLE(A,I),this.Ri)}fromRprBEM(A,I){return this.mul(this.fromRprBE(A,I),this.Ri)}}var dA={bn128_wasm:{code:"AGFzbQEAAAABiQERYAJ/fwBgAX8AYAF/AX9gAn9/AX9gA39/fwF/YAN/f38AYAN/fn8AYAJ/fgBgBH9/f38AYAV/f39/fwBgBH9/f38Bf2AHf39/f39/fwBgCH9/f39/f39/AGAFf39/f38Bf2AHf39/f39/fwF/YAl/f39/f39/f38Bf2ALf39/f39/f39/f38BfwIQAQNlbnYGbWVtb3J5AgDoBwOrAqkCAAECAQMDBAQFAAAGBwgFAgUFAAAFAAAAAAICAAEFCAkFBQgAAgIFBQAABQAAAAACAgABBQgJBQUIAAIFAAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgDAAgIAgAACQUFAAgMCQICAQEABQUABQUAAAAAAwAIAgIJCAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgFAwAICAIAAAkFBQUDAAgIAgAACQUFBQUJCQkJCQACAgEBAAUABQUAAgAAAwAIAgkIAAICAQEABQUABQUAAAAAAwAIAgIJCAACBQAAAAAICAUAAAAAAAAAAAAAAAAAAAAABA0ODxAFB70imgIIaW50X2NvcHkAAAhpbnRfemVybwABB2ludF9vbmUAAwppbnRfaXNaZXJvAAIGaW50X2VxAAQHaW50X2d0ZQAFB2ludF9hZGQABgdpbnRfc3ViAAcHaW50X211bAAICmludF9zcXVhcmUACQ1pbnRfc3F1YXJlT2xkAAoHaW50X2RpdgANDmludF9pbnZlcnNlTW9kAA4IZjFtX2NvcHkAAAhmMW1femVybwABCmYxbV9pc1plcm8AAgZmMW1fZXEABAdmMW1fYWRkABAHZjFtX3N1YgARB2YxbV9uZWcAEg5mMW1faXNOZWdhdGl2ZQAZCWYxbV9pc09uZQAPCGYxbV9zaWduABoLZjFtX21SZWR1Y3QAEwdmMW1fbXVsABQKZjFtX3NxdWFyZQAVDWYxbV9zcXVhcmVPbGQAFhJmMW1fZnJvbU1vbnRnb21lcnkAGBBmMW1fdG9Nb250Z29tZXJ5ABcLZjFtX2ludmVyc2UAGwdmMW1fb25lABwIZjFtX2xvYWQAHQ9mMW1fdGltZXNTY2FsYXIAHgdmMW1fZXhwACIQZjFtX2JhdGNoSW52ZXJzZQAfCGYxbV9zcXJ0ACMMZjFtX2lzU3F1YXJlACQVZjFtX2JhdGNoVG9Nb250Z29tZXJ5ACAXZjFtX2JhdGNoRnJvbU1vbnRnb21lcnkAIQhmcm1fY29weQAACGZybV96ZXJvAAEKZnJtX2lzWmVybwACBmZybV9lcQAEB2ZybV9hZGQAJgdmcm1fc3ViACcHZnJtX25lZwAoDmZybV9pc05lZ2F0aXZlAC8JZnJtX2lzT25lACUIZnJtX3NpZ24AMAtmcm1fbVJlZHVjdAApB2ZybV9tdWwAKgpmcm1fc3F1YXJlACsNZnJtX3NxdWFyZU9sZAAsEmZybV9mcm9tTW9udGdvbWVyeQAuEGZybV90b01vbnRnb21lcnkALQtmcm1faW52ZXJzZQAxB2ZybV9vbmUAMghmcm1fbG9hZAAzD2ZybV90aW1lc1NjYWxhcgA0B2ZybV9leHAAOBBmcm1fYmF0Y2hJbnZlcnNlADUIZnJtX3NxcnQAOQxmcm1faXNTcXVhcmUAOhVmcm1fYmF0Y2hUb01vbnRnb21lcnkANhdmcm1fYmF0Y2hGcm9tTW9udGdvbWVyeQA3BmZyX2FkZAAmBmZyX3N1YgAnBmZyX25lZwAoBmZyX211bAA7CWZyX3NxdWFyZQA8CmZyX2ludmVyc2UAPQ1mcl9pc05lZ2F0aXZlAD4HZnJfY29weQAAB2ZyX3plcm8AAQZmcl9vbmUAMglmcl9pc1plcm8AAgVmcl9lcQAEDGcxbV9tdWx0aWV4cABnEmcxbV9tdWx0aWV4cF9jaHVuawBmEmcxbV9tdWx0aWV4cEFmZmluZQBrGGcxbV9tdWx0aWV4cEFmZmluZV9jaHVuawBqCmcxbV9pc1plcm8AQBBnMW1faXNaZXJvQWZmaW5lAD8GZzFtX2VxAEgLZzFtX2VxTWl4ZWQARwxnMW1fZXFBZmZpbmUARghnMW1fY29weQBEDmcxbV9jb3B5QWZmaW5lAEMIZzFtX3plcm8AQg5nMW1femVyb0FmZmluZQBBCmcxbV9kb3VibGUAShBnMW1fZG91YmxlQWZmaW5lAEkHZzFtX2FkZABNDGcxbV9hZGRNaXhlZABMDWcxbV9hZGRBZmZpbmUASwdnMW1fbmVnAE8NZzFtX25lZ0FmZmluZQBOB2cxbV9zdWIAUgxnMW1fc3ViTWl4ZWQAUQ1nMW1fc3ViQWZmaW5lAFASZzFtX2Zyb21Nb250Z29tZXJ5AFQYZzFtX2Zyb21Nb250Z29tZXJ5QWZmaW5lAFMQZzFtX3RvTW9udGdvbWVyeQBWFmcxbV90b01vbnRnb21lcnlBZmZpbmUAVQ9nMW1fdGltZXNTY2FsYXIAbBVnMW1fdGltZXNTY2FsYXJBZmZpbmUAbQ1nMW1fbm9ybWFsaXplAFkKZzFtX0xFTXRvVQBbCmcxbV9MRU10b0MAXApnMW1fVXRvTEVNAF0KZzFtX0N0b0xFTQBeD2cxbV9iYXRjaExFTXRvVQBfD2cxbV9iYXRjaExFTXRvQwBgD2cxbV9iYXRjaFV0b0xFTQBhD2cxbV9iYXRjaEN0b0xFTQBiDGcxbV90b0FmZmluZQBXDmcxbV90b0phY29iaWFuAEURZzFtX2JhdGNoVG9BZmZpbmUAWBNnMW1fYmF0Y2hUb0phY29iaWFuAGMHZnJtX2ZmdABzCGZybV9pZmZ0AHQKZnJtX3Jhd2ZmdABxC2ZybV9mZnRKb2luAHUKZnJtX2ZmdE1peAB2DGZybV9mZnRGaW5hbAB3CHBvbF96ZXJvAHgPcG9sX2NvbnN0cnVjdExDAHkMcWFwX2J1aWxkQUJDAHoLcWFwX2pvaW5BQkMAewpmMm1faXNaZXJvAHwJZjJtX2lzT25lAH0IZjJtX3plcm8AfgdmMm1fb25lAH8IZjJtX2NvcHkAgAEHZjJtX211bACBAQhmMm1fbXVsMQCCAQpmMm1fc3F1YXJlAIMBB2YybV9hZGQAhAEHZjJtX3N1YgCFAQdmMm1fbmVnAIYBCGYybV9zaWduAI0BDWYybV9jb25qdWdhdGUAhwESZjJtX2Zyb21Nb250Z29tZXJ5AIkBEGYybV90b01vbnRnb21lcnkAiAEGZjJtX2VxAIoBC2YybV9pbnZlcnNlAIsBB2YybV9leHAAkAEPZjJtX3RpbWVzU2NhbGFyAIwBEGYybV9iYXRjaEludmVyc2UAjwEIZjJtX3NxcnQAkQEMZjJtX2lzU3F1YXJlAJIBDmYybV9pc05lZ2F0aXZlAI4BDGcybV9tdWx0aWV4cAC7ARJnMm1fbXVsdGlleHBfY2h1bmsAugESZzJtX211bHRpZXhwQWZmaW5lAL8BGGcybV9tdWx0aWV4cEFmZmluZV9jaHVuawC+AQpnMm1faXNaZXJvAJQBEGcybV9pc1plcm9BZmZpbmUAkwEGZzJtX2VxAJwBC2cybV9lcU1peGVkAJsBDGcybV9lcUFmZmluZQCaAQhnMm1fY29weQCYAQ5nMm1fY29weUFmZmluZQCXAQhnMm1femVybwCWAQ5nMm1femVyb0FmZmluZQCVAQpnMm1fZG91YmxlAJ4BEGcybV9kb3VibGVBZmZpbmUAnQEHZzJtX2FkZAChAQxnMm1fYWRkTWl4ZWQAoAENZzJtX2FkZEFmZmluZQCfAQdnMm1fbmVnAKMBDWcybV9uZWdBZmZpbmUAogEHZzJtX3N1YgCmAQxnMm1fc3ViTWl4ZWQApQENZzJtX3N1YkFmZmluZQCkARJnMm1fZnJvbU1vbnRnb21lcnkAqAEYZzJtX2Zyb21Nb250Z29tZXJ5QWZmaW5lAKcBEGcybV90b01vbnRnb21lcnkAqgEWZzJtX3RvTW9udGdvbWVyeUFmZmluZQCpAQ9nMm1fdGltZXNTY2FsYXIAwAEVZzJtX3RpbWVzU2NhbGFyQWZmaW5lAMEBDWcybV9ub3JtYWxpemUArQEKZzJtX0xFTXRvVQCvAQpnMm1fTEVNdG9DALABCmcybV9VdG9MRU0AsQEKZzJtX0N0b0xFTQCyAQ9nMm1fYmF0Y2hMRU10b1UAswEPZzJtX2JhdGNoTEVNdG9DALQBD2cybV9iYXRjaFV0b0xFTQC1AQ9nMm1fYmF0Y2hDdG9MRU0AtgEMZzJtX3RvQWZmaW5lAKsBDmcybV90b0phY29iaWFuAJkBEWcybV9iYXRjaFRvQWZmaW5lAKwBE2cybV9iYXRjaFRvSmFjb2JpYW4AtwELZzFtX3RpbWVzRnIAwgEHZzFtX2ZmdADIAQhnMW1faWZmdADJAQpnMW1fcmF3ZmZ0AMYBC2cxbV9mZnRKb2luAMoBCmcxbV9mZnRNaXgAywEMZzFtX2ZmdEZpbmFsAMwBC2cybV90aW1lc0ZyAM0BB2cybV9mZnQA0wEIZzJtX2lmZnQA1AEKZzJtX3Jhd2ZmdADRAQtnMm1fZmZ0Sm9pbgDVAQpnMm1fZmZ0TWl4ANYBDGcybV9mZnRGaW5hbADXARFnMW1fdGltZXNGckFmZmluZQDYARFnMm1fdGltZXNGckFmZmluZQDZARFmcm1fYmF0Y2hBcHBseUtleQDaARFnMW1fYmF0Y2hBcHBseUtleQDbARZnMW1fYmF0Y2hBcHBseUtleU1peGVkANwBEWcybV9iYXRjaEFwcGx5S2V5AN0BFmcybV9iYXRjaEFwcGx5S2V5TWl4ZWQA3gEKZjZtX2lzWmVybwDgAQlmNm1faXNPbmUA4QEIZjZtX3plcm8A4gEHZjZtX29uZQDjAQhmNm1fY29weQDkAQdmNm1fbXVsAOUBCmY2bV9zcXVhcmUA5gEHZjZtX2FkZADnAQdmNm1fc3ViAOgBB2Y2bV9uZWcA6QEIZjZtX3NpZ24A6gESZjZtX2Zyb21Nb250Z29tZXJ5AOwBEGY2bV90b01vbnRnb21lcnkA6wEGZjZtX2VxAO0BC2Y2bV9pbnZlcnNlAO4BB2Y2bV9leHAA8gEPZjZtX3RpbWVzU2NhbGFyAO8BEGY2bV9iYXRjaEludmVyc2UA8QEOZjZtX2lzTmVnYXRpdmUA8AEKZnRtX2lzWmVybwD0AQlmdG1faXNPbmUA9QEIZnRtX3plcm8A9gEHZnRtX29uZQD3AQhmdG1fY29weQD4AQdmdG1fbXVsAPkBCGZ0bV9tdWwxAPoBCmZ0bV9zcXVhcmUA+wEHZnRtX2FkZAD8AQdmdG1fc3ViAP0BB2Z0bV9uZWcA/gEIZnRtX3NpZ24AhQINZnRtX2Nvbmp1Z2F0ZQD/ARJmdG1fZnJvbU1vbnRnb21lcnkAgQIQZnRtX3RvTW9udGdvbWVyeQCAAgZmdG1fZXEAggILZnRtX2ludmVyc2UAgwIHZnRtX2V4cACIAg9mdG1fdGltZXNTY2FsYXIAhAIQZnRtX2JhdGNoSW52ZXJzZQCHAghmdG1fc3FydACJAgxmdG1faXNTcXVhcmUAigIOZnRtX2lzTmVnYXRpdmUAhgIUYm4xMjhfX2Zyb2Jlbml1c01hcDAAkwIUYm4xMjhfX2Zyb2Jlbml1c01hcDEAlAIUYm4xMjhfX2Zyb2Jlbml1c01hcDIAlQIUYm4xMjhfX2Zyb2Jlbml1c01hcDMAlgIUYm4xMjhfX2Zyb2Jlbml1c01hcDQAlwIUYm4xMjhfX2Zyb2Jlbml1c01hcDUAmAIUYm4xMjhfX2Zyb2Jlbml1c01hcDYAmQIUYm4xMjhfX2Zyb2Jlbml1c01hcDcAmgIUYm4xMjhfX2Zyb2Jlbml1c01hcDgAmwIUYm4xMjhfX2Zyb2Jlbml1c01hcDkAnAIQYm4xMjhfcGFpcmluZ0VxMQCjAhBibjEyOF9wYWlyaW5nRXEyAKQCEGJuMTI4X3BhaXJpbmdFcTMApQIQYm4xMjhfcGFpcmluZ0VxNACmAhBibjEyOF9wYWlyaW5nRXE1AKcCDWJuMTI4X3BhaXJpbmcAqAIPYm4xMjhfcHJlcGFyZUcxAI0CD2JuMTI4X3ByZXBhcmVHMgCPAhBibjEyOF9taWxsZXJMb29wAJICGWJuMTI4X2ZpbmFsRXhwb25lbnRpYXRpb24AogIcYm4xMjhfZmluYWxFeHBvbmVudGlhdGlvbk9sZACdAg9ibjEyOF9fbXVsQnkwMjQAkAISYm4xMjhfX211bEJ5MDI0T2xkAJECF2JuMTI4X19jeWNsb3RvbWljU3F1YXJlAJ8CF2JuMTI4X19jeWNsb3RvbWljRXhwX3cwAKACCoXOA6kCKgAgASAAKQMANwMAIAEgACkDCDcDCCABIAApAxA3AxAgASAAKQMYNwMYCx4AIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGAszACAAKQMYUARAIAApAxBQBEAgACkDCFAEQCAAKQMAUA8FQQAPCwVBAA8LBUEADwtBAA8LHgAgAEIBNwMAIABCADcDCCAAQgA3AxAgAEIANwMYC0cAIAApAxggASkDGFEEQCAAKQMQIAEpAxBRBEAgACkDCCABKQMIUQRAIAApAwAgASkDAFEPBUEADwsFQQAPCwVBAA8LQQAPC30AIAApAxggASkDGFQEQEEADwUgACkDGCABKQMYVgRAQQEPBSAAKQMQIAEpAxBUBEBBAA8FIAApAxAgASkDEFYEQEEBDwUgACkDCCABKQMIVARAQQAPBSAAKQMIIAEpAwhWBEBBAQ8FIAApAwAgASkDAFoPCwsLCwsLQQAPC9QBAQF+IAA1AgAgATUCAHwhAyACIAM+AgAgADUCBCABNQIEfCADQiCIfCEDIAIgAz4CBCAANQIIIAE1Agh8IANCIIh8IQMgAiADPgIIIAA1AgwgATUCDHwgA0IgiHwhAyACIAM+AgwgADUCECABNQIQfCADQiCIfCEDIAIgAz4CECAANQIUIAE1AhR8IANCIIh8IQMgAiADPgIUIAA1AhggATUCGHwgA0IgiHwhAyACIAM+AhggADUCHCABNQIcfCADQiCIfCEDIAIgAz4CHCADQiCIpwuMAgEBfiAANQIAIAE1AgB9IQMgAiADQv////8Pgz4CACAANQIEIAE1AgR9IANCIId8IQMgAiADQv////8Pgz4CBCAANQIIIAE1Agh9IANCIId8IQMgAiADQv////8Pgz4CCCAANQIMIAE1Agx9IANCIId8IQMgAiADQv////8Pgz4CDCAANQIQIAE1AhB9IANCIId8IQMgAiADQv////8Pgz4CECAANQIUIAE1AhR9IANCIId8IQMgAiADQv////8Pgz4CFCAANQIYIAE1Ahh9IANCIId8IQMgAiADQv////8Pgz4CGCAANQIcIAE1Ahx9IANCIId8IQMgAiADQv////8Pgz4CHCADQiCHpwuPEBIBfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4gA0L/////D4MgADUCACIFIAE1AgAiBn58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgBSABNQIEIgh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgcgBn58IQQgAyAEQiCIfCEDIAIgBD4CBCADQiCIIQQgA0L/////D4MgBSABNQIIIgp+fCEDIAQgA0IgiHwhBCADQv////8PgyAHIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIIIgkgBn58IQMgBCADQiCIfCEEIAIgAz4CCCAEQiCIIQMgBEL/////D4MgBSABNQIMIgx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAHIAp+fCEEIAMgBEIgiHwhAyAEQv////8PgyAJIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIMIgsgBn58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgBSABNQIQIg5+fCEDIAQgA0IgiHwhBCADQv////8PgyAHIAx+fCEDIAQgA0IgiHwhBCADQv////8PgyAJIAp+fCEDIAQgA0IgiHwhBCADQv////8PgyALIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIg0gBn58IQMgBCADQiCIfCEEIAIgAz4CECAEQiCIIQMgBEL/////D4MgBSABNQIUIhB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAHIA5+fCEEIAMgBEIgiHwhAyAEQv////8PgyAJIAx+fCEEIAMgBEIgiHwhAyAEQv////8PgyALIAp+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIUIg8gBn58IQQgAyAEQiCIfCEDIAIgBD4CFCADQiCIIQQgA0L/////D4MgBSABNQIYIhJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAHIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAJIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyALIAx+fCEDIAQgA0IgiHwhBCADQv////8PgyANIAp+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIYIhEgBn58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgBEL/////D4MgBSABNQIcIhR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAHIBJ+fCEEIAMgBEIgiHwhAyAEQv////8PgyAJIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyALIA5+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIAx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAPIAp+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIhMgBn58IQQgAyAEQiCIfCEDIAIgBD4CHCADQiCIIQQgA0L/////D4MgByAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAIfnwhAyAEIANCIIh8IQQgAiADPgIgIARCIIghAyAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyALIBJ+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAPIA5+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIAp+fCEEIAMgBEIgiHwhAyACIAQ+AiQgA0IgiCEEIANC/////w+DIAsgFH58IQMgBCADQiCIfCEEIANC/////w+DIA0gEn58IQMgBCADQiCIfCEEIANC/////w+DIA8gEH58IQMgBCADQiCIfCEEIANC/////w+DIBEgDn58IQMgBCADQiCIfCEEIANC/////w+DIBMgDH58IQMgBCADQiCIfCEEIAIgAz4CKCAEQiCIIQMgBEL/////D4MgDSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgDyASfnwhBCADIARCIIh8IQMgBEL/////D4MgESAQfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAOfnwhBCADIARCIIh8IQMgAiAEPgIsIANCIIghBCADQv////8PgyAPIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyATIBB+fCEDIAQgA0IgiHwhBCACIAM+AjAgBEIgiCEDIARC/////w+DIBEgFH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgEn58IQQgAyAEQiCIfCEDIAIgBD4CNCADQiCIIQQgA0L/////D4MgEyAUfnwhAyAEIANCIIh8IQQgAiADPgI4IARCIIghAyACIAQ+AjwLjBIMAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+QgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgADUCACIGIAZ+fCECIAMgAkIgiHwhAyABIAI+AgAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCBCIHfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIIIgh+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAHIAd+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIIIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AgwiCX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgCH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCECIKfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAJfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIUIgt+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAp+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIUIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhgiDH58IQIgAyACQiCIfCEDIAJC/////w+DIAcgC358IQIgAyACQiCIfCEDIAJC/////w+DIAggCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAkgCX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCHCINfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCALfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSAKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CHCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSALfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCiAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CICADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCCANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiALfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CJCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAMfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCyALfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CKCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCyAMfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CLCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCyANfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDCAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CMCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDCANfnwh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IQQgAyAEQiCIfCEDIARC/////w+DIAA1AgQiCiAHfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCjAQiDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIQwgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCCCIPfnwhAyAEIANCIIh8IQQgA0L/////D4MgCiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIOIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQKQBCIRIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhECADQv////8PgyAJIBB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIMIhN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIMIhIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gEH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1ApQEIhUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEUIARC/////w+DIAkgFH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AhAiF358IQMgBCADQiCIfCEEIANC/////w+DIAogE358IQMgBCADQiCIfCEEIANC/////w+DIA4gD358IQMgBCADQiCIfCEEIANC/////w+DIBIgC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AhAiFiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCmAQiGSAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRggA0L/////D4MgCSAYfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCFCIbfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgDiATfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgFiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIaIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKcBCIdIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhHCAEQv////8PgyAJIBx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIYIh9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyASIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIYIh4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gHH58IQMgBCADQiCIfCEEIANC/////w+DIBEgGH58IQMgBCADQiCIfCEEIANC/////w+DIBUgFH58IQMgBCADQiCIfCEEIANC/////w+DIBkgEH58IQMgBCADQiCIfCEEIANC/////w+DIB0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AqAEIiEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEgIANC/////w+DIAkgIH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhwiI358IQQgAyAEQiCIfCEDIARC/////w+DIAogH358IQQgAyAEQiCIfCEDIARC/////w+DIA4gG358IQQgAyAEQiCIfCEDIARC/////w+DIBIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBYgE358IQQgAyAEQiCIfCEDIARC/////w+DIBogD358IQQgAyAEQiCIfCEDIARC/////w+DIB4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhwiIiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgESAcfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgISAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCpAQiJSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DISQgBEL/////D4MgCSAkfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAogI358IQMgBCADQiCIfCEEIANC/////w+DIA4gH358IQMgBCADQiCIfCEEIANC/////w+DIBIgG358IQMgBCADQiCIfCEEIANC/////w+DIBYgF358IQMgBCADQiCIfCEEIANC/////w+DIBogE358IQMgBCADQiCIfCEEIANC/////w+DIB4gD358IQMgBCADQiCIfCEEIANC/////w+DICIgC358IQMgBCADQiCIfCEEIANC/////w+DIA0gJH58IQMgBCADQiCIfCEEIANC/////w+DIBEgIH58IQMgBCADQiCIfCEEIANC/////w+DIBUgHH58IQMgBCADQiCIfCEEIANC/////w+DIBkgGH58IQMgBCADQiCIfCEEIANC/////w+DIB0gFH58IQMgBCADQiCIfCEEIANC/////w+DICEgEH58IQMgBCADQiCIfCEEIANC/////w+DICUgDH58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgDiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAffnwhBCADIARCIIh8IQMgBEL/////D4MgFiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgHiATfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgESAkfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgISAUfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAQfnwhBCADIARCIIh8IQMgAiAEPgIEIANCIIghBCADQv////8PgyASICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAVICR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAhIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIBR+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIBYgI358IQQgAyAEQiCIfCEDIARC/////w+DIBogH358IQQgAyAEQiCIfCEDIARC/////w+DIB4gG358IQQgAyAEQiCIfCEDIARC/////w+DICIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBkgJH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gIH58IQQgAyAEQiCIfCEDIARC/////w+DICEgHH58IQQgAyAEQiCIfCEDIARC/////w+DICUgGH58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgGiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgIiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAcfnwhAyAEIANCIIh8IQQgAiADPgIQIARCIIghAyAEQv////8PgyAeICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlICB+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DICIgI358IQMgBCADQiCIfCEEIANC/////w+DICUgJH58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgAiAEPgIcIAOnBEAgAkGIBCACEAcaBSACQYgEEAUEQCACQYgEIAIQBxoLCwu7IR0BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+QonHmaQOIQZCACECQgAhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAANQIAIgcgB358IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEIIAJC/////w+DQQA1AogEIgkgCH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AgQiCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8Pg0EANQKMBCIMIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhCyACQv////8PgyAJIAt+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIIIg1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAKIAp+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCkAQiDyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQ4gAkL/////D4MgCSAOfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCDCIQfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiANfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgDn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1ApQEIhIgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyERIAJC/////w+DIAkgEX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhAiE358IQIgAyACQiCIfCEDIAJC/////w+DIAogEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAPIA5+fCECIAMgAkIgiHwhAyACQv////8PgyASIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKYBCIVIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFCACQv////8PgyAJIBR+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIUIhZ+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBN+fCECIAMgAkIgiHwhAyACQv////8PgyANIBB+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCnAQiGCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRcgAkL/////D4MgCSAXfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCGCIZfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgECAQfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgF358IQIgAyACQiCIfCEDIAJC/////w+DIA8gFH58IQIgAyACQiCIfCEDIAJC/////w+DIBIgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgDn58IQIgAyACQiCIfCEDIAJC/////w+DIBggC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AqAEIhsgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEaIAJC/////w+DIAkgGn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhwiHH58IQIgAyACQiCIfCEDIAJC/////w+DIAogGX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gFn58IQIgAyACQiCIfCEDIAJC/////w+DIBAgE358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBd+fCECIAMgAkIgiHwhAyACQv////8PgyASIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAYIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAbIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKkBCIeIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhHSACQv////8PgyAJIB1+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAWfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgEyATfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgHX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gGn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgF358IQIgAyACQiCIfCEDIAJC/////w+DIBUgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBggEX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgDn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gC358IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDSAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAWfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIA8gHX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgF358IQIgAyACQiCIfCEDIAJC/////w+DIBggFH58IQIgAyACQiCIfCEDIAJC/////w+DIBsgEX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gDn58IQIgAyACQiCIfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgECAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgFiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBIgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBggF358IQIgAyACQiCIfCEDIAJC/////w+DIBsgFH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gEX58IQIgAyACQiCIfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgEyAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBUgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBggGn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgF358IQIgAyACQiCIfCEDIAJC/////w+DIB4gFH58IQIgAyACQiCIfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgFiAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgGSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBggHX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgGn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gF358IQIgAyACQiCIfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgGSAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBsgHX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gGn58IQIgAyACQiCIfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHCAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIB4gHX58IQIgAyACQiCIfCEDIAEgAj4CGCADIQQgBEIgiCEFIAEgBD4CHCAFpwRAIAFBiAQgARAHGgUgAUGI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QcgONQIIIAR+fCEDIAAgAz4CDCAANQIQIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CECAANQIUIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QcgONQIYIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIcIAR+fCEDIAAgAz4CIEGoESADQiCIPgIEQgAhAyAANQIIIAJ+Qv////8PgyEEIAA1AgggA0IgiHxByA41AgAgBH58IQMgACADPgIIIAA1AgwgA0IgiHxByA41AgQgBH58IQMgACADPgIMIAA1AhAgA0IgiHxByA41AgggBH58IQMgACADPgIQIAA1AhQgA0IgiHxByA41AgwgBH58IQMgACADPgIUIAA1AhggA0IgiHxByA41AhAgBH58IQMgACADPgIYIAA1AhwgA0IgiHxByA41AhQgBH58IQMgACADPgIcIAA1AiAgA0IgiHxByA41AhggBH58IQMgACADPgIgIAA1AiQgA0IgiHxByA41AhwgBH58IQMgACADPgIkQagRIANCIIg+AghCACEDIAA1AgwgAn5C/////w+DIQQgADUCDCADQiCIfEHIDjUCACAEfnwhAyAAIAM+AgwgADUCECADQiCIfEHIDjUCBCAEfnwhAyAAIAM+AhAgADUCFCADQiCIfEHIDjUCCCAEfnwhAyAAIAM+AhQgADUCGCADQiCIfEHIDjUCDCAEfnwhAyAAIAM+AhggADUCHCADQiCIfEHIDjUCECAEfnwhAyAAIAM+AhwgADUCICADQiCIfEHIDjUCFCAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEHIDjUCGCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEHIDjUCHCAEfnwhAyAAIAM+AihBqBEgA0IgiD4CDEIAIQMgADUCECACfkL/////D4MhBCAANQIQIANCIIh8QcgONQIAIAR+fCEDIAAgAz4CECAANQIUIANCIIh8QcgONQIEIAR+fCEDIAAgAz4CFCAANQIYIANCIIh8QcgONQIIIAR+fCEDIAAgAz4CGCAANQIcIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CJCAANQIoIANCIIh8QcgONQIYIAR+fCEDIAAgAz4CKCAANQIsIANCIIh8QcgONQIcIAR+fCEDIAAgAz4CLEGoESADQiCIPgIQQgAhAyAANQIUIAJ+Qv////8PgyEEIAA1AhQgA0IgiHxByA41AgAgBH58IQMgACADPgIUIAA1AhggA0IgiHxByA41AgQgBH58IQMgACADPgIYIAA1AhwgA0IgiHxByA41AgggBH58IQMgACADPgIcIAA1AiAgA0IgiHxByA41AgwgBH58IQMgACADPgIgIAA1AiQgA0IgiHxByA41AhAgBH58IQMgACADPgIkIAA1AiggA0IgiHxByA41AhQgBH58IQMgACADPgIoIAA1AiwgA0IgiHxByA41AhggBH58IQMgACADPgIsIAA1AjAgA0IgiHxByA41AhwgBH58IQMgACADPgIwQagRIANCIIg+AhRCACEDIAA1AhggAn5C/////w+DIQQgADUCGCADQiCIfEHIDjUCACAEfnwhAyAAIAM+AhggADUCHCADQiCIfEHIDjUCBCAEfnwhAyAAIAM+AhwgADUCICADQiCIfEHIDjUCCCAEfnwhAyAAIAM+AiAgADUCJCADQiCIfEHIDjUCDCAEfnwhAyAAIAM+AiQgADUCKCADQiCIfEHIDjUCECAEfnwhAyAAIAM+AiggADUCLCADQiCIfEHIDjUCFCAEfnwhAyAAIAM+AiwgADUCMCADQiCIfEHIDjUCGCAEfnwhAyAAIAM+AjAgADUCNCADQiCIfEHIDjUCHCAEfnwhAyAAIAM+AjRBqBEgA0IgiD4CGEIAIQMgADUCHCACfkL/////D4MhBCAANQIcIANCIIh8QcgONQIAIAR+fCEDIAAgAz4CHCAANQIgIANCIIh8QcgONQIEIAR+fCEDIAAgAz4CICAANQIkIANCIIh8QcgONQIIIAR+fCEDIAAgAz4CJCAANQIoIANCIIh8QcgONQIMIAR+fCEDIAAgAz4CKCAANQIsIANCIIh8QcgONQIQIAR+fCEDIAAgAz4CLCAANQIwIANCIIh8QcgONQIUIAR+fCEDIAAgAz4CMCAANQI0IANCIIh8QcgONQIYIAR+fCEDIAAgAz4CNCAANQI4IANCIIh8QcgONQIcIAR+fCEDIAAgAz4COEGoESADQiCIPgIcQagRIABBIGogARAmC74fIwF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5C/////w4hBSADQv////8PgyAANQIAIgYgATUCACIHfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIQggA0L/////D4NBADUCyA4iCSAIfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCBCILfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIKIAd+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLMDiINIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhDCAEQv////8PgyAJIAx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIIIg9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIIIg4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AtAOIhEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEQIANC/////w+DIAkgEH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AgwiE358IQQgAyAEQiCIfCEDIARC/////w+DIAogD358IQQgAyAEQiCIfCEDIARC/////w+DIA4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AgwiEiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUC1A4iFSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRQgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCECIXfnwhAyAEIANCIIh8IQQgA0L/////D4MgCiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECIWIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQLYDiIZIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhGCADQv////8PgyAJIBh+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIUIht+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIUIhogB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gGH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgFH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1AtwOIh0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEcIARC/////w+DIAkgHH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AhgiH358IQMgBCADQiCIfCEEIANC/////w+DIAogG358IQMgBCADQiCIfCEEIANC/////w+DIA4gF358IQMgBCADQiCIfCEEIANC/////w+DIBIgE358IQMgBCADQiCIfCEEIANC/////w+DIBYgD358IQMgBCADQiCIfCEEIANC/////w+DIBogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AhgiHiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUC4A4iISAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DISAgA0L/////D4MgCSAgfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCHCIjfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAffnwhBCADIARCIIh8IQMgBEL/////D4MgDiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgFiATfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgHiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCIiIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLkDiIlIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhJCAEQv////8PgyAJICR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgCiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgEiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAMfnwhAyAEIANCIIh8IQQgAiADPgIAIARCIIghAyAEQv////8PgyAOICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyARICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBB+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIBIgI358IQMgBCADQiCIfCEEIANC/////w+DIBYgH358IQMgBCADQiCIfCEEIANC/////w+DIBogG358IQMgBCADQiCIfCEEIANC/////w+DIB4gF358IQMgBCADQiCIfCEEIANC/////w+DICIgE358IQMgBCADQiCIfCEEIANC/////w+DIBUgJH58IQMgBCADQiCIfCEEIANC/////w+DIBkgIH58IQMgBCADQiCIfCEEIANC/////w+DIB0gHH58IQMgBCADQiCIfCEEIANC/////w+DICEgGH58IQMgBCADQiCIfCEEIANC/////w+DICUgFH58IQMgBCADQiCIfCEEIAIgAz4CCCAEQiCIIQMgBEL/////D4MgFiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAffnwhBCADIARCIIh8IQMgBEL/////D4MgHiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAkfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgISAcfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAYfnwhBCADIARCIIh8IQMgAiAEPgIMIANCIIghBCADQv////8PgyAaICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAdICR+fCEDIAQgA0IgiHwhBCADQv////8PgyAhICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIBx+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIB4gI358IQQgAyAEQiCIfCEDIARC/////w+DICIgH358IQQgAyAEQiCIfCEDIARC/////w+DICEgJH58IQQgAyAEQiCIfCEDIARC/////w+DICUgIH58IQQgAyAEQiCIfCEDIAIgBD4CFCADQiCIIQQgA0L/////D4MgIiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAkfnwhAyAEIANCIIh8IQQgAiADPgIYIARCIIghAyACIAQ+AhwgA6cEQCACQcgOIAIQBxoFIAJByA4QBQRAIAJByA4gAhAHGgsLC7shHQF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5C/////w4hBkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQggAkL/////D4NBADUCyA4iCSAIfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCBCIKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DQQA1AswOIgwgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyELIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AggiDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLQDiIPIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhDiACQv////8PgyAJIA5+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIMIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAKIA1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC1A4iEiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIREgAkL/////D4MgCSARfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCECITfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gDn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AtgOIhUgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEUIAJC/////w+DIAkgFH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhQiFn58IQIgAyACQiCIfCEDIAJC/////w+DIAogE358IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBF+fCECIAMgAkIgiHwhAyACQv////8PgyASIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAVIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLcDiIYIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFyACQv////8PgyAJIBd+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIYIhl+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyANIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAQIBB+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiARfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC4A4iGyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRogAkL/////D4MgCSAafnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCHCIcfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgECATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgGn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gF358IQIgAyACQiCIfCEDIAJC/////w+DIBIgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBUgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBggDn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AuQOIh4gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEdIAJC/////w+DIAkgHX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAKIBx+fCECIAMgAkIgiHwhAyACQv////8PgyANIBl+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBZ+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyATIBN+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAafnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCARfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiALfnwhAiADIAJCIIh8IQMgASACPgIAIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyANIBx+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBl+fCECIAMgAkIgiHwhAyACQv////8PgyATIBZ+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDyAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAafnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAOfnwhAiADIAJCIIh8IQMgASACPgIEIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAQIBx+fCECIAMgAkIgiHwhAyACQv////8PgyATIBl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAWIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgEiAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAafnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiARfnwhAiADIAJCIIh8IQMgASACPgIIIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyATIBx+fCECIAMgAkIgiHwhAyACQv////8PgyAWIBl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgFSAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAafnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAUfnwhAiADIAJCIIh8IQMgASACPgIMIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAWIBx+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAZIBl+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgGCAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyAafnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAXfnwhAiADIAJCIIh8IQMgASACPgIQIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAZIBx+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgGyAdfnwh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NwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWAscACABQcAAahAcIABBIGogAUEgahAAIAAgARAACxgBAX8gACABEAQgAEEgaiABQSBqEARxDwt1AQF/IABBwABqIQIgABBABEAgARA/DwsgARA/BEBBAA8LIAIQDwRAIAAgARBGDwsgAkHIGRAVIAFByBlB6BkQFCACQcgZQYgaEBQgAUEgakGIGkGoGhAUIABB6BkQBARAIABBIGpBqBoQBARAQQEPCwtBAA8LtAECAX8BfyAAQcAAaiECIAFBwABqIQMgABBABEAgARBADwsgARBABEBBAA8LIAIQDwRAIAEgABBHDwsgAxAPBEAgACABEEcPCyACQcgaEBUgA0HoGhAVIABB6BpBiBsQFCABQcgaQagbEBQgAkHIGkHIGxAUIANB6BpB6BsQFCAAQSBqQegbQYgcEBQgAUEgakHIG0GoHBAUQYgbQagbEAQEQEGIHEGoHBAEBEBBAQ8LC0EADwvoAQAgABA/BEAgACABEEUPCyAAQcgcEBUgAEEgakHoHBAVQegcQYgdEBUgAEHoHEGoHRAQQagdQagdEBVBqB1ByBxBqB0QEUGoHUGIHUGoHRARQagdQagdQagdEBBByBxByBxByB0QEEHIHUHIHEHIHRAQIABBIGogAEEgaiABQcAAahAQQcgdIAEQFSABQagdIAEQESABQagdIAEQEUGIHUGIHUHoHRAQQegdQegdQegdEBBB6B1B6B1B6B0QEEGoHSABIAFBIGoQESABQSBqQcgdIAFBIGoQFCABQSBqQegdIAFBIGoQEQuJAgAgABBABEAgACABEEQPCyAAQcAAahAPBEAgACABEEkPDwsgAEGIHhAVIABBIGpBqB4QFUGoHkHIHhAVIABBqB5B6B4QEEHoHkHoHhAVQegeQYgeQegeEBFB6B5ByB5B6B4QEUHoHkHoHkHoHhAQQYgeQYgeQYgfEBBBiB9BiB5BiB8QEEGIH0GoHxAVIABBIGogAEHAAGpByB8QFEHoHkHoHiABEBBBqB8gASABEBFByB5ByB5B6B8QEEHoH0HoH0HoHxAQQegfQegfQegfEBBB6B4gASABQSBqEBEgAUEgakGIHyABQSBqEBQgAUEgakHoHyABQSBqEBFByB9ByB8gAUHAAGoQEAujAgEBfyAAQcAAaiEDIAAQPwRAIAEgAhBDIAJBwABqEBwPCyABED8EQCAAIAIQQyACQcAAahAcDwsgACABEAQEQCAAQSBqIAFBIGoQBARAIAEgAhBJDwsLIAEgAEGIIBARIAFBIGogAEEgakHIIBARQYggQaggEBVBqCBBqCBB6CAQEEHoIEHoIEHoIBAQQYggQeggQYghEBRByCBByCBBqCEQECAAQeggQeghEBRBqCFByCEQFUHoIUHoIUGIIhAQQcghQYghIAIQESACQYgiIAIQESAAQSBqQYghQagiEBRBqCJBqCJBqCIQEEHoISACIAJBIGoQESACQSBqQaghIAJBIGoQFCACQSBqQagiIAJBIGoQEUGIIEGIICACQcAAahAQC4ADAQF/IABBwABqIQMgABBABEAgASACEEMgAkHAAGoQHA8LIAEQPwRAIAAgAhBEDwsgAxAPBEAgACABIAIQSw8LIANByCIQFSABQcgiQegiEBQgA0HIIkGIIxAUIAFBIGpBiCNBqCMQFCAAQegiEAQEQCAAQSBqQagjEAQEQCABIAIQSQ8LC0HoIiAAQcgjEBFBqCMgAEEgakGIJBARQcgjQegjEBVB6CNB6CNBqCQQEEGoJEGoJEGoJBAQQcgjQagkQcgkEBRBiCRBiCRB6CQQECAAQagkQaglEBRB6CRBiCUQFUGoJUGoJUHIJRAQQYglQcgkIAIQESACQcglIAIQESAAQSBqQcgkQeglEBRB6CVB6CVB6CUQEEGoJSACIAJBIGoQESACQSBqQegkIAJBIGoQFCACQSBqQeglIAJBIGoQESADQcgjIAJBwABqEBAgAkHAAGogAkHAAGoQFSACQcAAakHIIiACQcAAahARIAJBwABqQegjIAJBwABqEBELvAMCAX8BfyAAQcAAaiEDIAFBwABqIQQgABBABEAgASACEEQPCyABEEAEQCAAIAIQRA8LIAMQDwRAIAEgACACEEwPCyAEEA8EQCAAIAEgAhBMDwsgA0GIJhAVIARBqCYQFSAAQagmQcgmEBQgAUGIJkHoJhAUIANBiCZBiCcQFCAEQagmQagnEBQgAEEgakGoJ0HIJxAUIAFBIGpBiCdB6CcQFEHIJkHoJhAEBEBByCdB6CcQBARAIAAgAhBKDwsLQegmQcgmQYgoEBFB6CdByCdBqCgQEUGIKEGIKEHIKBAQQcgoQcgoEBVBiChByChB6CgQFEGoKEGoKEGIKRAQQcgmQcgoQcgpEBRBiClBqCkQFUHIKUHIKUHoKRAQQagpQegoIAIQESACQegpIAIQEUHIJ0HoKEGIKhAUQYgqQYgqQYgqEBBByCkgAiACQSBqEBEgAkEgakGIKSACQSBqEBQgAkEgakGIKiACQSBqEBEgAyAEIAJBwABqEBAgAkHAAGogAkHAAGoQFSACQcAAakGIJiACQcAAahARIAJBwABqQagmIAJBwABqEBEgAkHAAGpBiCggAkHAAGoQFAsUACAAIAEQACAAQSBqIAFBIGoQEgsiACAAIAEQACAAQSBqIAFBIGoQEiAAQcAAaiABQcAAahAACxIAIAFBqCoQTiAAQagqIAIQSwsSACABQYgrEE4gAEGIKyACEEwLEgAgAUHoKxBPIABB6CsgAhBNCxQAIAAgARAYIABBIGogAUEgahAYCyIAIAAgARAYIABBIGogAUEgahAYIABBwABqIAFBwABqEBgLFAAgACABEBcgAEEgaiABQSBqEBcLIgAgACABEBcgAEEgaiABQSBqEBcgAEHAAGogAUHAAGoQFwtLACAAEEAEQCABEAEgAUEgahABBSAAQcAAakHILBAbQcgsQegsEBVByCxB6CxBiC0QFCAAQegsIAEQFCAAQSBqQYgtIAFBIGoQFAsLrgEFAX8BfwF/AX8Bf0EAKAIAIQNBACADIAFBIGxqNgIAIABBwABqQeAAIAEgA0EgEB8gACEEIAMhBSACIQZBACEHAkADQCAHIAFGDQEgBRACBEAgBhABIAZBIGoQAQUgBSAEQSBqQagtEBQgBSAFEBUgBSAEIAYQFCAFQagtIAZBIGoQFAsgBEHgAGohBCAGQcAAaiEGIAVBIGohBSAHQQFqIQcMAAsLQQAgAzYCAAtMACAAEEAEQCABEEIFIABBwABqQcgtEBtByC1B6C0QFUHILUHoLUGILhAUIABB6C0gARAUIABBIGpBiC4gAUEgahAUIAFBwABqEBwLCzsCAX8BfyACIAFqQQFrIQMgACEEAkADQCADIAJIDQEgAyAELQAAOgAAIANBAWshAyAEQQFqIQQMAAsLCzIAIAAQPwRAIAEQQSABQcAAOgAADwsgAEGoLhBTQaguQSAgARBaQcguQSAgAUEgahBaC0EAIAAQQARAIAEQASABQcAAOgAADwsgAEHoLhAYQeguQSAgARBaIABBIGoQGkF/RgRAIAEgAS0AAEGAAXI6AAALCy8AIAAtAABBwABxBEAgARBBDwsgAEEgQYgvEFogAEEgakEgQagvEFpBiC8gARBVC7IBAgF/AX8gAC0AACECIAJBwABxBEAgARBBDwsgAkGAAXEhAyAAQegvEABB6C8gAkE/cToAAEHoL0EgQcgvEFpByC8gARAXIAFB6C8QFSABQegvQegvEBRB6C9BqBlB6C8QEEHoL0HoLxAjQegvQcgvEBJB6C8QGkF/RgRAIAMEQEHoLyABQSBqEAAFQegvIAFBIGoQEgsFIAMEQEHoLyABQSBqEBIFQegvIAFBIGoQAAsLC0ADAX8BfwF/IAAhBCACIQVBACEDAkADQCADIAFGDQEgBCAFEFsgBEHAAGohBCAFQcAAaiEFIANBAWohAwwACwsLPwMBfwF/AX8gACEEIAIhBUEAIQMCQANAIAMgAUYNASAEIAUQXCAEQcAAaiEEIAVBIGohBSADQQFqIQMMAAsLC0ADAX8BfwF/IAAhBCACIQVBACEDAkADQCADIAFGDQEgBCAFEF0gBEHAAGohBCAFQcAAaiEFIANBAWohAwwACwsLUgMBfwF/AX8gACABQQFrQSBsaiEEIAIgAUEBa0HAAGxqIQVBACEDAkADQCADIAFGDQEgBCAFEF4gBEEgayEEIAVBwABrIQUgA0EBaiEDDAALCwtUAwF/AX8BfyAAIAFBAWtBwABsaiEEIAIgAUEBa0HgAGxqIQVBACEDAkADQCADIAFGDQEgBCAFEEUgBEHAAGshBCAFQeAAayEFIANBAWohAwwACwsLQQIBfwF/IAFBCGwgAmshBCADIARKBEBBASAEdEEBayEFBUEBIAN0QQFrIQULIAAgAkEDdmooAAAgAkEHcXYgBXELlQEEAX8BfwF/AX8gAUEBRgRADwtBASABQQFrdCECIAAhAyAAIAJB4ABsaiEEIARB4ABrIQUCQANAIAMgBUYNASADIAQgAxBNIAUgBCAFEE0gA0HgAGohAyAEQeAAaiEEDAALCyAAIAFBAWsQZSABQQFrIQECQANAIAFFDQEgBSAFEEogAUEBayEBDAALCyAAIAUgABBNC8wBCgF/AX8BfwF/AX8BfwF/AX8BfwF/IANFBEAgBhBCDwtBASAFdCENQQAoAgAhDkEAIA4gDUHgAGxqNgIAQQAhDAJAA0AgDCANRg0BIA4gDEHgAGxqEEIgDEEBaiEMDAALCyAAIQogASEIIAEgAyACbGohCQJAA0AgCCAJRg0BIAggAiAEIAUQZCEPIA8EQCAOIA9BAWtB4ABsaiEQIBAgCiAQEE0LIAggAmohCCAKQeAAaiEKDAALCyAOIAUQZSAOIAYQREEAIA42AgALoAEMAX8BfwF/AX8BfwF/AX8BfwF/AX8BfwF/IAQQQiADRQRADwsgA2ctAOgwIQUgAkEDdEEBayAFbkEBaiEGIAZBAWsgBWwhCgJAA0AgCkEASA0BIAQQQEUEQEEAIQwCQANAIAwgBUYNASAEIAQQSiAMQQFqIQwMAAsLCyAAIAEgAiADIAogBUGIMBBmIARBiDAgBBBNIAogBWshCgwACwsLQQIBfwF/IAFBCGwgAmshBCADIARKBEBBASAEdEEBayEFBUEBIAN0QQFrIQULIAAgAkEDdmooAAAgAkEHcXYgBXELlQEEAX8BfwF/AX8gAUEBRgRADwtBASABQQFrdCECIAAhAyAAIAJB4ABsaiEEIARB4ABrIQUCQANAIAMgBUYNASADIAQgAxBNIAUgBCAFEE0gA0HgAGohAyAEQeAAaiEEDAALCyAAIAFBAWsQaSABQQFrIQECQANAIAFFDQEgBSAFEEogAUEBayEBDAALCyAAIAUgABBNC8wBCgF/AX8BfwF/AX8BfwF/AX8BfwF/IANFBEAgBhBCDwtBASAFdCENQQAoAgAhDkEAIA4gDUHgAGxqNgIAQQAhDAJAA0AgDCANRg0BIA4gDEHgAGxqEEIgDEEBaiEMDAALCyAAIQogASEIIAEgAyACbGohCQJAA0AgCCAJRg0BIAggAiAEIAUQaCEPIA8EQCAOIA9BAWtB4ABsaiEQIBAgCiAQEEwLIAggAmohCCAKQcAAaiEKDAALCyAOIAUQaSAOIAYQREEAIA42AgALoAEMAX8BfwF/AX8BfwF/AX8BfwF/AX8BfwF/IAQQQiADRQRADwsgA2ctAOgxIQUgAkEDdEEBayAFbkEBaiEGIAZBAWsgBWwhCgJAA0AgCkEASA0BIAQQQEUEQEEAIQwCQANAIAwgBUYNASAEIAQQSiAMQQFqIQwMAAsLCyAAIAEgAiADIAogBUGIMRBqIARBiDEgBBBNIAogBWshCgwACwsLqwQHAX8BfwF/AX8BfwF/AX8gAkUEQCADEEIPCyACQQN0IQVBACgCACEEIAQhCkEAIARBIGogBWpBeHE2AgBBASEGIAFBAEEDdkF8cWooAgBBAEEfcXZBAXEhB0EAIQkCQANAIAYgBUYNASABIAZBA3ZBfHFqKAIAIAZBH3F2QQFxIQggBwRAIAgEQCAJBEBBACEHQQEhCSAKQQE6AAAgCkEBaiEKBUEAIQdBASEJIApB/wE6AAAgCkEBaiEKCwUgCQRAQQAhB0EBIQkgCkH/AToAACAKQQFqIQoFQQAhB0EAIQkgCkEBOgAAIApBAWohCgsLBSAIBEAgCQRAQQAhB0EBIQkgCkEAOgAAIApBAWohCgVBASEHQQAhCSAKQQA6AAAgCkEBaiEKCwUgCQRAQQEhB0EAIQkgCkEAOgAAIApBAWohCgVBACEHQQAhCSAKQQA6AAAgCkEBaiEKCwsLIAZBAWohBgwACwsgBwRAIAkEQCAKQf8BOgAAIApBAWohCiAKQQA6AAAgCkEBaiEKIApBAToAACAKQQFqIQoFIApBAToAACAKQQFqIQoLBSAJBEAgCkEAOgAAIApBAWohCiAKQQE6AAAgCkEBaiEKCwsgCkEBayEKIABBiDIQRCADEEICQANAIAMgAxBKIAotAAAhCCAIBEAgCEEBRgRAIANBiDIgAxBNBSADQYgyIAMQUgsLIAQgCkYNASAKQQFrIQoMAAsLQQAgBDYCAAurBAcBfwF/AX8BfwF/AX8BfyACRQRAIAMQQg8LIAJBA3QhBUEAKAIAIQQgBCEKQQAgBEEgaiAFakF4cTYCAEEBIQYgAUEAQQN2QXxxaigCAEEAQR9xdkEBcSEHQQAhCQJAA0AgBiAFRg0BIAEgBkEDdkF8cWooAgAgBkEfcXZBAXEhCCAHBEAgCARAIAkEQEEAIQdBASEJIApBAToAACAKQQFqIQoFQQAhB0EBIQkgCkH/AToAACAKQQFqIQoLBSAJBEBBACEHQQEhCSAKQf8BOgAAIApBAWohCgVBACEHQQAhCSAKQQE6AAAgCkEBaiEKCwsFIAgEQCAJBEBBACEHQQEhCSAKQQA6AAAgCkEBaiEKBUEBIQdBACEJIApBADoAACAKQQFqIQoLBSAJBEBBASEHQQAhCSAKQQA6AAAgCkEBaiEKBUEAIQdBACEJIApBADoAACAKQQFqIQoLCwsgBkEBaiEGDAALCyAHBEAgCQRAIApB/wE6AAAgCkEBaiEKIApBADoAACAKQQFqIQogCkEBOgAAIApBAWohCgUgCkEBOgAAIApBAWohCgsFIAkEQCAKQQA6AAAgCkEBaiEKIApBAToAACAKQQFqIQoLCyAKQQFrIQogAEHoMhBDIAMQQgJAA0AgAyADEEogCi0AACEIIAgEQCAIQQFGBEAgA0HoMiADEEwFIANB6DIgAxBRCwsgBCAKRg0BIApBAWshCgwACwtBACAENgIAC0IAIABB/wFxLQDoQUEYdCAAQQh2Qf8BcS0A6EFBEHRqIABBEHZB/wFxLQDoQUEIdCAAQRh2Qf8BcS0A6EFqaiABdwtnBQF/AX8BfwF/AX9BASABdCECQQAhAwJAA0AgAyACRg0BIAAgA0EgbGohBSADIAEQbiEEIAAgBEEgbGohBiADIARJBEAgBUHowwAQACAGIAUQAEHowwAgBhAACyADQQFqIQMMAAsLC9oBBwF/AX8BfwF/AX8BfwF/IAJFIAMQJXEEQA8LQQEgAXQhBCAEQQFrIQhBASEHIARBAXYhBQJAA0AgByAFRg0BIAAgB0EgbGohCSAAIAQgB2tBIGxqIQogAgRAIAMQJQRAIAlBiMQAEAAgCiAJEABBiMQAIAoQAAUgCUGIxAAQACAKIAMgCRAqQYjEACADIAoQKgsFIAMQJQRABSAJIAMgCRAqIAogAyAKECoLCyAHQQFqIQcMAAsLIAMQJQRABSAAIAMgABAqIAAgBUEgbGohCiAKIAMgChAqCwvnAQkBfwF/AX8BfwF/AX8BfwF/AX8gACABEG9BASABdCEJQQEhBAJAA0AgBCABSw0BQQEgBHQhB0GoMyAEQSBsaiEKQQAhBQJAA0AgBSAJTw0BQajEABAyIAdBAXYhCEEAIQYCQANAIAYgCE8NASAAIAUgBmpBIGxqIQsgCyAIQSBsaiEMIAxBqMQAQcjEABAqIAtB6MQAEABB6MQAQcjEACALECZB6MQAQcjEACAMECdBqMQAIApBqMQAECogBkEBaiEGDAALCyAFIAdqIQUMAAsLIARBAWohBAwACwsgACABIAIgAxBwC0MCAX8BfyAAQQF2IQJBACEBAkADQCACRQ0BIAJBAXYhAiABQQFqIQEMAAsLIABBASABdEcEQAALIAFBHEsEQAALIAELHAEBfyABEHIhAkGIxQAQMiAAIAJBAEGIxQAQcQshAgF/AX8gARByIQJByDogAkEgbGohAyAAIAJBASADEHELdgMBfwF/AX8gA0GoxQAQAEEAIQcCQANAIAcgAkYNASAAIAdBIGxqIQUgASAHQSBsaiEGIAZBqMUAQcjFABAqIAVB6MUAEABB6MUAQcjFACAFECZB6MUAQcjFACAGECdBqMUAIARBqMUAECogB0EBaiEHDAALCwvEAQkBfwF/AX8BfwF/AX8BfwF/AX9BASACdCEEIARBAXYhBSABIAJ2IQMgBUEgbCEGQagzIAJBIGxqIQtBACEJAkADQCAJIANGDQFBiMYAEDJBACEKAkADQCAKIAVGDQEgACAJIARsIApqQSBsaiEHIAcgBmohCCAIQYjGAEGoxgAQKiAHQcjGABAAQcjGAEGoxgAgBxAmQcjGAEGoxgAgCBAnQYjGACALQYjGABAqIApBAWohCgwACwsgCUEBaiEJDAALCwt7BAF/AX8BfwF/IAFBAXYhBiABQQFGBEAgACAGQSBsaiACIAAgBkEgbGoQKgtBACEFAkADQCAFIAZGDQEgACAFQSBsaiEDIAAgAUEBayAFa0EgbGohBCAEIAJB6MYAECogAyACIAQQKkHoxgAgAxAAIAVBAWohBQwACwsLLgIBfwF/IAAhAyAAIAFBIGxqIQICQANAIAMgAkYNASADEAEgA0EgaiEDDAALCwuOAQYBfwF/AX8BfwF/AX9BACEEIAAhBiABIQcCQANAIAQgAkYNASAGKAIAIQkgBkEEaiEGQQAhBQJAA0AgBSAJRg0BIAMgBigCAEEgbGohCCAGQQRqIQYgByAGQYjHABAqQYjHACAIIAgQJiAGQSBqIQYgBUEBaiEFDAALCyAHQSBqIQcgBEEBaiEEDAALCwulAgcBfwF/AX8BfwF/AX8BfyADIQkgBCEKIAMgB0EgbGohCwJAA0AgCSALRg0BIAkQASAKEAEgCUEgaiEJIApBIGohCgwACwsgACEIIAAgAUEsbGohCwJAA0AgCCALRg0BIAgoAgAhDCAMQQBGBEAgAyEOBSAMQQFGBEAgBCEOBSAIQSxqIQgMAQsLIAgoAgQhDSANIAZJIA0gBiAHak9yBEAgCEEsaiEIDAELIA4gDSAGa0EgbGohDiACIAgoAghBIGxqIAhBDGpBqMcAECogDkGoxwAgDhAmIAhBLGohCAwACwsgAyEJIAQhCiAFIQggAyAHQSBsaiELAkADQCAJIAtGDQEgCSAKIAgQKiAJQSBqIQkgCkEgaiEKIAhBIGohCAwACwsLZQUBfwF/AX8BfwF/IAAhBSABIQYgAiEHIAQhCCAAIANBIGxqIQkCQANAIAUgCUYNASAFIAZByMcAECpByMcAIAcgCBAnIAVBIGohBSAGQSBqIQYgB0EgaiEHIAhBIGohCAwACwsLDgAgABACIABBIGoQAnELDwAgABAPIABBIGoQAnEPCw0AIAAQASAAQSBqEAELDQAgABAcIABBIGoQAQsUACAAIAEQACAAQSBqIAFBIGoQAAt1ACAAIAFB6McAEBQgAEEgaiABQSBqQYjIABAUIAAgAEEgakGoyAAQECABIAFBIGpByMgAEBBBqMgAQcjIAEGoyAAQFEGIyAAgAhASQejHACACIAIQEEHoxwBBiMgAIAJBIGoQEEGoyAAgAkEgaiACQSBqEBELGAAgACABIAIQFCAAQSBqIAEgAkEgahAUC3AAIAAgAEEgakHoyAAQFCAAIABBIGpBiMkAEBAgAEEgakGoyQAQEiAAQajJAEGoyQAQEEHoyABByMkAEBJByMkAQejIAEHIyQAQEEGIyQBBqMkAIAEQFCABQcjJACABEBFB6MgAQejIACABQSBqEBALGwAgACABIAIQECAAQSBqIAFBIGogAkEgahAQCxsAIAAgASACEBEgAEEgaiABQSBqIAJBIGoQEQsUACAAIAEQEiAAQSBqIAFBIGoQEgsUACAAIAEQACAAQSBqIAFBIGoQEgsUACAAIAEQFyAAQSBqIAFBIGoQFwsUACAAIAEQGCAAQSBqIAFBIGoQGAsVACAAIAEQBCAAQSBqIAFBIGoQBHELXQAgAEHoyQAQFSAAQSBqQYjKABAVQYjKAEGoygAQEkHoyQBBqMoAQajKABARQajKAEHIygAQGyAAQcjKACABEBQgAEEgakHIygAgAUEgahAUIAFBIGogAUEgahASCxwAIAAgASACIAMQHiAAQSBqIAEgAiADQSBqEB4LGgEBfyAAQSBqEBohASABBEAgAQ8LIAAQGg8LGQAgAEEgahACBEAgABAZDwsgAEEgahAZDwuLAgQBfwF/AX8Bf0EAKAIAIQVBACAFIAJBAWpBwABsajYCACAFEH8gACEGIAVBwABqIQVBACEIAkADQCAIIAJGDQEgBhB8BEAgBUHAAGsgBRCAAQUgBiAFQcAAayAFEIEBCyAGIAFqIQYgBUHAAGohBSAIQQFqIQgMAAsLIAYgAWshBiAFQcAAayEFIAMgAkEBayAEbGohByAFIAUQiwECQANAIAhFDQEgBhB8BEAgBSAFQcAAaxCAASAHEH4FIAVBwABrQejKABCAASAFIAYgBUHAAGsQgQEgBUHoygAgBxCBAQsgBiABayEGIAcgBGshByAFQcAAayEFIAhBAWshCAwACwtBACAFNgIAC8wCAgF/AX8gAkUEQCADEH8PCyAAQajLABCAASADEH8gAiEEAkADQCAEQQFrIQQgASAEai0AACEFIAMgAxCDASAFQYABTwRAIAVBgAFrIQUgA0GoywAgAxCBAQsgAyADEIMBIAVBwABPBEAgBUHAAGshBSADQajLACADEIEBCyADIAMQgwEgBUEgTwRAIAVBIGshBSADQajLACADEIEBCyADIAMQgwEgBUEQTwRAIAVBEGshBSADQajLACADEIEBCyADIAMQgwEgBUEITwRAIAVBCGshBSADQajLACADEIEBCyADIAMQgwEgBUEETwRAIAVBBGshBSADQajLACADEIEBCyADIAMQgwEgBUECTwRAIAVBAmshBSADQajLACADEIEBCyADIAMQgwEgBUEBTwRAIAVBAWshBSADQajLACADEIEBCyAERQ0BDAALCwvLAQBB6M0AEH9B6M0AQejNABCGASAAQejLAEEgQajMABCQAUGozABB6MwAEIMBIABB6MwAQejMABCBAUHozABBqM0AEIcBQajNAEHozABBqM0AEIEBQajNAEHozQAQigEEQAALQajMACAAQajOABCBAUHozABB6M0AEIoBBEBB6M0AEAFBiM4AEBxB6M0AQajOACABEIEBBUHozgAQf0HozgBB6MwAQejOABCEAUHozgBBiMwAQSBB6M4AEJABQejOAEGozgAgARCBAQsLaABBiNEAEH9BiNEAQYjRABCGASAAQajPAEEgQcjPABCQAUHIzwBBiNAAEIMBIABBiNAAQYjQABCBAUGI0ABByNAAEIcBQcjQAEGI0ABByNAAEIEBQcjQAEGI0QAQigEEQEEADwtBAQ8LDwAgABB8IABBwABqEHxxCwoAIABBgAFqEHwLDgAgABB+IABBwABqEH4LFgAgABB+IABBwABqEH8gAEGAAWoQfguiAQAgASAAKQMANwMAIAEgACkDCDcDCCABIAApAxA3AxAgASAAKQMYNwMYIAEgACkDIDcDICABIAApAyg3AyggASAAKQMwNwMwIAEgACkDODcDOCABIAApA0A3A0AgASAAKQNINwNIIAEgACkDUDcDUCABIAApA1g3A1ggASAAKQNgNwNgIAEgACkDaDcDaCABIAApA3A3A3AgASAAKQN4NwN4C4ICACABIAApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggASAAKQMgNwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWCABIAApA2A3A2AgASAAKQNoNwNoIAEgACkDcDcDcCABIAApA3g3A3ggASAAKQOAATcDgAEgASAAKQOIATcDiAEgASAAKQOQATcDkAEgASAAKQOYATcDmAEgASAAKQOgATcDoAEgASAAKQOoATcDqAEgASAAKQOwATcDsAEgASAAKQO4ATcDuAELIAAgAUGAAWoQfyAAQcAAaiABQcAAahCAASAAIAEQgAELHAEBfyAAIAEQigEgAEHAAGogAUHAAGoQigFxDwuKAQEBfyAAQYABaiECIAAQlAEEQCABEJMBDwsgARCTAQRAQQAPCyACEH0EQCAAIAEQmgEPCyACQYjSABCDASABQYjSAEHI0gAQgQEgAkGI0gBBiNMAEIEBIAFBwABqQYjTAEHI0wAQgQEgAEHI0gAQigEEQCAAQcAAakHI0wAQigEEQEEBDwsLQQAPC9cBAgF/AX8gAEGAAWohAiABQYABaiEDIAAQlAEEQCABEJQBDwsgARCUAQRAQQAPCyACEH0EQCABIAAQmwEPCyADEH0EQCAAIAEQmwEPCyACQYjUABCDASADQcjUABCDASAAQcjUAEGI1QAQgQEgAUGI1ABByNUAEIEBIAJBiNQAQYjWABCBASADQcjUAEHI1gAQgQEgAEHAAGpByNYAQYjXABCBASABQcAAakGI1gBByNcA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DwsWACAAEH4gAEHAAGoQfiAAQYABahB+CxYAIAAQfyAAQcAAahB+IABBgAFqEH4LJwAgACABEIABIABBwABqIAFBwABqEIABIABBgAFqIAFBgAFqEIABC+UCACAAIAFByMcBEIEBIABBwABqIAFBwABqQYjIARCBASAAQYABaiABQYABakHIyAEQgQEgACAAQcAAakGIyQEQhAEgASABQcAAakHIyQEQhAEgACAAQYABakGIygEQhAEgASABQYABakHIygEQhAEgAEHAAGogAEGAAWpBiMsBEIQBIAFBwABqIAFBgAFqQcjLARCEAUHIxwFBiMgBQYjMARCEAUHIxwFByMgBQcjMARCEAUGIyAFByMgBQYjNARCEAUGIywFByMsBIAIQgQEgAkGIzQEgAhCFASACIAIQ3wFByMcBIAIgAhCEAUGIyQFByMkBIAJBwABqEIEBIAJBwABqQYjMASACQcAAahCFAUHIyAFByM0BEN8BIAJBwABqQcjNASACQcAAahCEAUGIygFByMoBIAJBgAFqEIEBIAJBgAFqQcjMASACQYABahCFASACQYABakGIyAEgAkGAAWoQhAELgQIAIABBiM4BEIMBIAAgAEHAAGpByM4BEIEBQcjOAUHIzgFBiM8BEIQBIAAgAEHAAGpByM8BEIUBQcjPASAAQYABakHIzwEQhAFByM8BQcjPARCDASAAQcAAaiAAQYABakGI0AEQgQFBiNABQYjQAUHI0AEQhAEgAEGAAWpBiNEBEIMBQcjQASABEN8BQYjOASABIAEQhAFBiNEBIAFBwABqEN8BQYjPASABQcAAaiABQcAAahCEAUGIzgFBiNEBIAFBgAFqEIQBQcjQASABQYABaiABQYABahCFAUHIzwEgAUGAAWogAUGAAWoQhAFBiM8BIAFBgAFqIAFBgAFqEIQBCzUAIAAgASACEIQBIABBwABqIAFBwABqIAJBwABqEIQBIABBgAFqIAFBgAFqIAJBgAFqEIQBCzUAIAAgASACEIUBIABBwABqIAFBwABqIAJBwABqEIUBIABBgAFqIAFBgAFqIAJBgAFqEIUBCycAIAAgARCGASAAQcAAaiABQcAAahCGASAAQYABaiABQYABahCGAQswAQF/IABBgAFqEI0BIQEgAQRAIAEPCyAAQcAAahCNASEBIAEEQCABDwsgABCN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ahCBASAAQYABakHQ0AMgAUGAAWoQgQEgAEHAAWpBkNEDIAFBwAFqEIEBIABBgAJqQdDRAyABQYACahCBASAAQcACakGQ0gMgAUHAAmoQgQELigIAIAAgARAAIABBIGogAUEgahASIAFB0NIDIAEQgQEgAEHAAGogAUHAAGoQACAAQeAAaiABQeAAahASIAFBwABqQZDTAyABQcAAahCBASAAQYABaiABQYABahAAIABBoAFqIAFBoAFqEBIgAUGAAWpB0NMDIAFBgAFqEIEBIABBwAFqIAFBwAFqEAAgAEHgAWogAUHgAWoQEiABQcABakGQ1AMgAUHAAWoQgQEgAEGAAmogAUGAAmoQACAAQaACaiABQaACahASIAFBgAJqQdDUAyABQYACahCBASAAQcACaiABQcACahAAIABB4AJqIAFB4AJqEBIgAUHAAmpBkNUDIAFBwAJqEIEBC2wAIABB0NUDIAEQgQEgAEHAAGpBkNYDIAFBwABqEIEBIABBgAFqQdDWAyABQYABahCBASAAQcABakGQ1wMgAUHAAWoQgQEgAEGAAmpB0NcDIAFBgAJqEIEBIABBwAJqQZDYAyABQcACahCBAQuKAgAgACABEAAgAEEgaiABQSBqEBIgAUHQ2AMgARCBASAAQcAAaiABQcAAahAAIABB4ABqIAFB4ABqEBIgAUHAAGpBkNkDIAFBwABqEIEBIABBgAFqIAFBgAFqEAAgAEGgAWogAUGgAWoQEiABQYABakHQ2QMgAUGAAWoQgQEgAEHAAWogAUHAAWoQACAAQeABaiABQeABahASIAFBwAFqQZDaAyABQcABahCBASAAQYACaiABQYACahAAIABBoAJqIAFBoAJqEBIgAUGAAmpB0NoDIAFBgAJqEIEBIABBwAJqIAFBwAJqEAAgAEHgAmogAUHgAmoQEiABQcACakGQ2wMgAUHAAmoQgQELbAAgAEHQ2wMgARCBASAAQcAAakGQ3AMgAUHAAGoQgQEgAEGAAWpB0NwDIAFBgAFqEIEBIABBwAFqQZDdAyABQcABahCBASAAQYACakHQ3QMgAUGAAmoQgQEgAEHAAmpBkN4DIAFBwAJqEIEBC4oCACAAIAEQACAAQSBqIAFBIGoQEiABQdDeAyABEIEBIABBwABqIAFBwABqEAAgAEHgAGogAUHgAGoQEiABQcAA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",pq:520,pr:1864,pG1gen:24392,pG1zero:24488,pG1b:3240,pG2gen:24584,pG2zero:24776,pG2b:10440,pOneT:24968,prePSize:192,preQSize:19776,n8q:32,n8r:32,q:"21888242871839275222246405745257275088696311157297823662689037894645226208583",r:"21888242871839275222246405745257275088548364400416034343698204186575808495617"},bls12381_wasm:{code:"AGFzbQEAAAABiQERYAJ/fwBgAX8AYAF/AX9gAn9/AX9gA39/fwF/YAN/f38AYAN/fn8AYAJ/fgBgBH9/f38AYAV/f39/fwBgBH9/f38Bf2AHf39/f39/fwBgCH9/f39/f39/AGAFf39/f38Bf2AHf39/f39/fwF/YAl/f39/f39/f38Bf2ALf39/f39/f39/f38BfwIQAQNlbnYGbWVtb3J5AgDoBwO5ArcCAAECAQMDBAQFAAAGBwgFAgUFAAAFAAAAAAICAAEFCAkFBQgAAgABAgEDAwQEBQAABgcIBQIFBQAABQAAAAACAgABBQgJBQUIAAIFAAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgDAAgIAgAACQUFAAgMCQICAQEABQUABQUAAAAAAwAIAgIJCAACAgIBAQAAAAMDAwAABQUFAAAFBQUAAAAAAAUABQAAAAAFBQUFBQoACwkKAAsJCAgFAwAICAIAAAkFBQUDAAgIAgAACQUFBQUJCQkJCQACAgEBAAUABQUAAgAAAwAIAgkIAAICAQEABQUABQUAAAAAAwAIAgIJCAACBQgJBQAAAAAAAAAAAAAFAAAABQAAAAAEDQ4PEAUHviSoAglpbnRxX2NvcHkAAAlpbnRxX3plcm8AAQhpbnRxX29uZQADC2ludHFfaXNaZXJvAAIHaW50cV9lcQAECGludHFfZ3RlAAUIaW50cV9hZGQABghpbnRxX3N1YgAHCGludHFfbXVsAAgLaW50cV9zcXVhcmUACQ5pbnRxX3NxdWFyZU9sZAAKCGludHFfZGl2AA0PaW50cV9pbnZlcnNlTW9kAA4IZjFtX2NvcHkAAAhmMW1femVybwABCmYxbV9pc1plcm8AAgZmMW1fZXEABAdmMW1fYWRkABAHZjFtX3N1YgARB2YxbV9uZWcAEg5mMW1faXNOZWdhdGl2ZQAZCWYxbV9pc09uZQAPCGYxbV9zaWduABoLZjFtX21SZWR1Y3QAEwdmMW1fbXVsABQKZjFtX3NxdWFyZQAVDWYxbV9zcXVhcmVPbGQAFhJmMW1fZnJvbU1vbnRnb21lcnkAGBBmMW1fdG9Nb250Z29tZXJ5ABcLZjFtX2ludmVyc2UAGwdmMW1fb25lABwIZjFtX2xvYWQAHQ9mMW1fdGltZXNTY2FsYXIAHgdmMW1fZXhwACIQZjFtX2JhdGNoSW52ZXJzZQAfCGYxbV9zcXJ0ACMMZjFtX2lzU3F1YXJlACQVZjFtX2JhdGNoVG9Nb250Z29tZXJ5ACAXZjFtX2JhdGNoRnJvbU1vbnRnb21lcnkAIQlpbnRyX2NvcHkAJQlpbnRyX3plcm8AJghpbnRyX29uZQAoC2ludHJfaXNaZXJvACcHaW50cl9lcQApCGludHJfZ3RlACoIaW50cl9hZGQAKwhpbnRyX3N1YgAsCGludHJfbXVsAC0LaW50cl9zcXVhcmUALg5pbnRyX3NxdWFyZU9sZAAvCGludHJfZGl2ADIPaW50cl9pbnZlcnNlTW9kADMIZnJtX2NvcHkAJQhmcm1femVybwAmCmZybV9pc1plcm8AJwZmcm1fZXEAKQdmcm1fYWRkADUHZnJtX3N1YgA2B2ZybV9uZWcANw5mcm1faXNOZWdhdGl2ZQA+CWZybV9pc09uZQA0CGZybV9zaWduAD8LZnJtX21SZWR1Y3QAOAdmcm1fbXVsADkKZnJtX3NxdWFyZQA6DWZybV9zcXVhcmVPbGQAOxJmcm1fZnJvbU1vbnRnb21lcnkAPRBmcm1fdG9Nb250Z29tZXJ5ADwLZnJtX2ludmVyc2UAQAdmcm1fb25lAEEIZnJtX2xvYWQAQg9mcm1fdGltZXNTY2FsYXIAQwdmcm1fZXhwAEcQZnJtX2JhdGNoSW52ZXJzZQBECGZybV9zcXJ0AEgMZnJtX2lzU3F1YXJlAEkVZnJtX2JhdGNoVG9Nb250Z29tZXJ5AEUXZnJtX2JhdGNoRnJvbU1vbnRnb21lcnkARgZmcl9hZGQANQZmcl9zdWIANgZmcl9uZWcANwZmcl9tdWwASglmcl9zcXVhcmUASwpmcl9pbnZlcnNlAEwNZnJfaXNOZWdhdGl2ZQBNB2ZyX2NvcHkAJQdmcl96ZXJvACYGZnJfb25lAEEJZnJfaXNaZXJvACcFZnJfZXEAKQxnMW1fbXVsdGlleHAAdhJnMW1fbXVsdGlleHBfY2h1bmsAdRJnMW1fbXVsdGlleHBBZmZpbmUAehhnMW1fbXVsdGlleHBBZmZpbmVfY2h1bmsAeQpnMW1faXNaZXJvAE8QZzFtX2lzWmVyb0FmZmluZQBOBmcxbV9lcQBXC2cxbV9lcU1peGVkAFYMZzFtX2VxQWZmaW5lAFUIZzFtX2NvcHkAUw5nMW1fY29weUFmZmluZQBSCGcxbV96ZXJvAFEOZzFtX3plcm9BZmZpbmUAUApnMW1fZG91YmxlAFkQZzFtX2RvdWJsZUFmZmluZQBYB2cxbV9hZGQAXAxnMW1fYWRkTWl4ZWQAWw1nMW1fYWRkQWZmaW5lAFoHZzFtX25lZwBeDWcxbV9uZWdBZmZpbmUAXQdnMW1fc3ViAGEMZzFtX3N1Yk1peGVkAGANZzFtX3N1YkFmZmluZQBfEmcxbV9mcm9tTW9udGdvbWVyeQBjGGcxbV9mcm9tTW9udGdvbWVyeUFmZmluZQBiEGcxbV90b01vbnRnb21lcnkAZRZnMW1fdG9Nb250Z29tZXJ5QWZmaW5lAGQPZzFtX3RpbWVzU2NhbGFyAHsVZzFtX3RpbWVzU2NhbGFyQWZmaW5lAHwNZzFtX25vcm1hbGl6ZQBoCmcxbV9MRU10b1UAagpnMW1fTEVNdG9DAGsKZzFtX1V0b0xFTQBsCmcxbV9DdG9MRU0AbQ9nMW1fYmF0Y2hMRU10b1UAbg9nMW1fYmF0Y2hMRU10b0MAbw9nMW1fYmF0Y2hVdG9MRU0AcA9nMW1fYmF0Y2hDdG9MRU0AcQxnMW1fdG9BZmZpbmUAZg5nMW1fdG9KYWNvYmlhbgBUEWcxbV9iYXRjaFRvQWZmaW5lAGcTZzFtX2JhdGNoVG9KYWNvYmlhbgByB2ZybV9mZnQAggEIZnJtX2lmZnQAgwEKZnJtX3Jhd2ZmdACAAQtmcm1fZmZ0Sm9pbgCEAQpmcm1fZmZ0TWl4AIUBDGZybV9mZnRGaW5hbACGAQhwb2xfemVybwCHAQ9wb2xfY29uc3RydWN0TEMAiAEMcWFwX2J1aWxkQUJDAIkBC3FhcF9qb2luQUJDAIoBCmYybV9pc1plcm8AiwEJZjJtX2lzT25lAIwBCGYybV96ZXJvAI0BB2YybV9vbmUAjgEIZjJtX2NvcHkAjwEHZjJtX211bACQAQhmMm1fbXVsMQCRAQpmMm1fc3F1YXJlAJIBB2YybV9hZGQAkwEHZjJtX3N1YgCUAQdmMm1fbmVnAJUBCGYybV9zaWduAJwBDWYybV9jb25qdWdhdGUAlgESZjJtX2Zyb21Nb250Z29tZXJ5AJgBEGYybV90b01vbnRnb21lcnkAlwEGZjJtX2VxAJkBC2YybV9pbnZlcnNlAJoBB2YybV9leHAAnwEPZjJtX3RpbWVzU2NhbGFyAJsBEGYybV9iYXRjaEludmVyc2UAngEIZjJtX3NxcnQAoAEMZjJtX2lzU3F1YXJlAKEBDmYybV9pc05lZ2F0aXZlAJ0BDGcybV9tdWx0aWV4cADKARJnMm1fbXVsdGlleHBfY2h1bmsAyQESZzJtX211bHRpZXhwQWZmaW5lAM4BGGcybV9tdWx0aWV4cEFmZmluZV9jaHVuawDNAQpnMm1faXNaZXJvAKMBEGcybV9pc1plcm9BZmZpbmUAogEGZzJtX2VxAKsBC2cybV9lcU1peGVkAKoBDGcybV9lcUFmZmluZQCpAQhnMm1fY29weQCnAQ5nMm1fY29weUFmZmluZQCmAQhnMm1femVybwClAQ5nMm1femVyb0FmZmluZQCkAQpnMm1fZG91YmxlAK0BEGcybV9kb3VibGVBZmZpbmUArAEHZzJtX2FkZACwAQxnMm1fYWRkTWl4ZWQArwENZzJtX2FkZEFmZmluZQCuAQdnMm1fbmVnALIBDWcybV9uZWdBZmZpbmUAsQEHZzJtX3N1YgC1AQxnMm1fc3ViTWl4ZWQAtAENZzJtX3N1YkFmZmluZQCzARJnMm1fZnJvbU1vbnRnb21lcnkAtwEYZzJtX2Zyb21Nb250Z29tZXJ5QWZmaW5lALYBEGcybV90b01vbnRnb21lcnkAuQEWZzJtX3RvTW9udGdvbWVyeUFmZmluZQC4AQ9nMm1fdGltZXNTY2FsYXIAzwEVZzJtX3RpbWVzU2NhbGFyQWZmaW5lANABDWcybV9ub3JtYWxpemUAvAEKZzJtX0xFTXRvVQC+AQpnMm1fTEVNdG9DAL8BCmcybV9VdG9MRU0AwAEKZzJtX0N0b0xFTQDBAQ9nMm1fYmF0Y2hMRU10b1UAwgEPZzJtX2JhdGNoTEVNdG9DAMMBD2cybV9iYXRjaFV0b0xFTQDEAQ9nMm1fYmF0Y2hDdG9MRU0AxQEMZzJtX3RvQWZmaW5lALoBDmcybV90b0phY29iaWFuAKgBEWcybV9iYXRjaFRvQWZmaW5lALsBE2cybV9iYXRjaFRvSmFjb2JpYW4AxgELZzFtX3RpbWVzRnIA0QEHZzFtX2ZmdADXAQhnMW1faWZmdADYAQpnMW1fcmF3ZmZ0ANUBC2cxbV9mZnRKb2luANkBCmcxbV9mZnRNaXgA2gEMZzFtX2ZmdEZpbmFsANsBC2cybV90aW1lc0ZyANwBB2cybV9mZnQA4gEIZzJtX2lmZnQA4wEKZzJtX3Jhd2ZmdADgAQtnMm1fZmZ0Sm9pbgDkAQpnMm1fZmZ0TWl4AOUBDGcybV9mZnRGaW5hbADmARFnMW1fdGltZXNGckFmZmluZQDnARFnMm1fdGltZXNGckFmZmluZQDoARFmcm1fYmF0Y2hBcHBseUtleQDpARFnMW1fYmF0Y2hBcHBseUtleQDqARZnMW1fYmF0Y2hBcHBseUtleU1peGVkAOsBEWcybV9iYXRjaEFwcGx5S2V5AOwBFmcybV9iYXRjaEFwcGx5S2V5TWl4ZWQA7QEKZjZtX2lzWmVybwDvAQlmNm1faXNPbmUA8AEIZjZtX3plcm8A8QEHZjZtX29uZQDyAQhmNm1fY29weQDzAQdmNm1fbXVsAPQBCmY2bV9zcXVhcmUA9QEHZjZtX2FkZAD2AQdmNm1fc3ViAPcBB2Y2bV9uZWcA+AEIZjZtX3NpZ24A+QESZjZtX2Zyb21Nb250Z29tZXJ5APsBEGY2bV90b01vbnRnb21lcnkA+gEGZjZtX2VxAPwBC2Y2bV9pbnZlcnNlAP0BB2Y2bV9leHAAgQIPZjZtX3RpbWVzU2NhbGFyAP4BEGY2bV9iYXRjaEludmVyc2UAgAIOZjZtX2lzTmVnYXRpdmUA/wEKZnRtX2lzWmVybwCDAglmdG1faXNPbmUAhAIIZnRtX3plcm8AhQIHZnRtX29uZQCGAghmdG1fY29weQCHAgdmdG1fbXVsAIgCCGZ0bV9tdWwxAIkCCmZ0bV9zcXVhcmUAigIHZnRtX2FkZACLAgdmdG1fc3ViAIwCB2Z0bV9uZWcAjQIIZnRtX3NpZ24AlAINZnRtX2Nvbmp1Z2F0ZQCOAhJmdG1fZnJvbU1vbnRnb21lcnkAkAIQZnRtX3RvTW9udGdvbWVyeQCPAgZmdG1fZXEAkQILZnRtX2ludmVyc2UAkgIHZnRtX2V4cACXAg9mdG1fdGltZXNTY2FsYXIAkwIQZnRtX2JhdGNoSW52ZXJzZQCWAghmdG1fc3FydACYAgxmdG1faXNTcXVhcmUAmQIOZnRtX2lzTmVnYXRpdmUAlQIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDAAngIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDEAnwIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDIAoAIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDMAoQIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDQAogIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDUAowIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDYApAIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDcApQIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDgApgIXYmxzMTIzODFfX2Zyb2Jlbml1c01hcDkApwITYmxzMTIzODFfcGFpcmluZ0VxMQCxAhNibHMxMjM4MV9wYWlyaW5nRXEyALICE2JsczEyMzgxX3BhaXJpbmdFcTMAswITYmxzMTIzODFfcGFpcmluZ0VxNAC0AhNibHMxMjM4MV9wYWlyaW5nRXE1ALUCEGJsczEyMzgxX3BhaXJpbmcAtgISYmxzMTIzODFfcHJlcGFyZUcxAKoCEmJsczEyMzgxX3ByZXBhcmVHMgCrAhNibHMxMjM4MV9taWxsZXJMb29wAKwCHGJsczEyMzgxX2ZpbmFsRXhwb25lbnRpYXRpb24AsAIfYmxzMTIzODFfZmluYWxFeHBvbmVudGlhdGlvbk9sZACtAhpibHMxMjM4MV9fY3ljbG90b21pY1NxdWFyZQCuAhpibHMxMjM4MV9fY3ljbG90b21pY0V4cF93MACvAghmNm1fbXVsMQCaAglmNm1fbXVsMDEAmwIKZnRtX211bDAxNACcAgrq/AS3Aj4AIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGCABIAApAyA3AyAgASAAKQMoNwMoCywAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoC00AIAApAyhQBEAgACkDIFAEQCAAKQMYUARAIAApAxBQBEAgACkDCFAEQCAAKQMAUA8FQQAPCwVBAA8LBUEADwsFQQAPCwVBAA8LQQAPCywAIABCATcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoC2sAIAApAyggASkDKFEEQCAAKQMgIAEpAyBRBEAgACkDGCABKQMYUQRAIAApAxAgASkDEFEEQCAAKQMIIAEpAwhRBEAgACkDACABKQMAUQ8FQQAPCwVBAA8LBUEADwsFQQAPCwVBAA8LQQAPC8UBACAAKQMoIAEpAyhUBEBBAA8FIAApAyggASkDKFYEQEEBDwUgACkDICABKQMgVARAQQAPBSAAKQMgIAEpAyBWBEBBAQ8FIAApAxggASkDGFQEQEEADwUgACkDGCABKQMYVgRAQQEPBSAAKQMQIAEpAxBUBEBBAA8FIAApAxAgASkDEFYEQEEBDwUgACkDCCABKQMIVARAQQAPBSAAKQMIIAEpAwhWBEBBAQ8FIAApAwAgASkDAFoPCwsLCwsLCwsLC0EADwu8AgEBfiAANQIAIAE1AgB8IQMgAiADPgIAIAA1AgQgATUCBHwgA0IgiHwhAyACIAM+AgQgADUCCCABNQIIfCADQiCIfCEDIAIgAz4CCCAANQIMIAE1Agx8IANCIIh8IQMgAiADPgIMIAA1AhAgATUCEHwgA0IgiHwhAyACIAM+AhAgADUCFCABNQIUfCADQiCIfCEDIAIgAz4CFCAANQIYIAE1Ahh8IANCIIh8IQMgAiADPgIYIAA1AhwgATUCHHwgA0IgiHwhAyACIAM+AhwgADUCICABNQIgfCADQiCIfCEDIAIgAz4CICAANQIkIAE1AiR8IANCIIh8IQMgAiADPgIkIAA1AiggATUCKHwgA0IgiHwhAyACIAM+AiggADUCLCABNQIsfCADQiCIfCEDIAIgAz4CLCADQiCIpwuQAwEBfiAANQIAIAE1AgB9IQMgAiADQv////8Pgz4CACAANQIEIAE1AgR9IANCIId8IQMgAiADQv////8Pgz4CBCAANQIIIAE1Agh9IANCIId8IQMgAiADQv////8Pgz4CCCAANQIMIAE1Agx9IANCIId8IQMgAiADQv////8Pgz4CDCAANQIQIAE1AhB9IANCIId8IQMgAiADQv////8Pgz4CECAANQIUIAE1AhR9IANCIId8IQMgAiADQv////8Pgz4CFCAANQIYIAE1Ahh9IANCIId8IQMgAiADQv////8Pgz4CGCAANQIcIAE1Ahx9IANCIId8IQMgAiADQv////8Pgz4CHCAANQIgIAE1AiB9IANCIId8IQMgAiADQv////8Pgz4CICAANQIkIAE1AiR9IANCIId8IQMgAiADQv////8Pgz4CJCAANQIoIAE1Aih9IANCIId8IQMgAiADQv////8Pgz4CKCAANQIsIAE1Aix9IANCIId8IQMgAiADQv////8Pgz4CLCADQiCHpwunIhoBfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+IANC/////w+DIAA1AgAiBSABNQIAIgZ+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIAUgATUCBCIIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIHIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIAUgATUCCCIKfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIJIAZ+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIAUgATUCDCIMfnwhBCADIARCIIh8IQMgBEL/////D4MgByAKfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCILIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIAUgATUCECIOfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECINIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIAUgATUCFCIQfnwhBCADIARCIIh8IQMgBEL/////D4MgByAOfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIPIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DIAUgATUCGCISfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIRIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIARC/////w+DIAUgATUCHCIUfnwhBCADIARCIIh8IQMgBEL/////D4MgByASfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgESAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCITIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhwgA0IgiCEEIANC/////w+DIAUgATUCICIWfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCICIVIAZ+fCEDIAQgA0IgiHwhBCACIAM+AiAgBEIgiCEDIARC/////w+DIAUgATUCJCIYfnwhBCADIARCIIh8IQMgBEL/////D4MgByAWfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgCyASfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCJCIXIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AiQgA0IgiCEEIANC/////w+DIAUgATUCKCIafnwhAyAEIANCIIh8IQQgA0L/////D4MgByAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAWfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgFyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCKCIZIAZ+fCEDIAQgA0IgiHwhBCACIAM+AiggBEIgiCEDIARC/////w+DIAUgATUCLCIcfnwhBCADIARCIIh8IQMgBEL/////D4MgByAafnwhBCADIARCIIh8IQMgBEL/////D4MgCSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAWfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgDyASfnwhBCADIARCIIh8IQMgBEL/////D4MgESAQfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCLCIbIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AiwgA0IgiCEEIANC/////w+DIAcgHH58IQMgBCADQiCIfCEEIANC/////w+DIAkgGn58IQMgBCADQiCIfCEEIANC/////w+DIAsgGH58IQMgBCADQiCIfCEEIANC/////w+DIA0gFn58IQMgBCADQiCIfCEEIANC/////w+DIA8gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEn58IQMgBCADQiCIfCEEIANC/////w+DIBMgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDn58IQMgBCADQiCIfCEEIANC/////w+DIBcgDH58IQMgBCADQiCIfCEEIANC/////w+DIBkgCn58IQMgBCADQiCIfCEEIANC/////w+DIBsgCH58IQMgBCADQiCIfCEEIAIgAz4CMCAEQiCIIQMgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAafnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAWfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgEyASfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgGyAKfnwhBCADIARCIIh8IQMgAiAEPgI0IANCIIghBCADQv////8PgyALIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBp+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBZ+fCEDIAQgA0IgiHwhBCADQv////8PgyATIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAXIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyAbIAx+fCEDIAQgA0IgiHwhBCACIAM+AjggBEIgiCEDIARC/////w+DIA0gHH58IQQgAyAEQiCIfCEDIARC/////w+DIA8gGn58IQQgAyAEQiCIfCEDIARC/////w+DIBEgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgFn58IQQgAyAEQiCIfCEDIARC/////w+DIBUgFH58IQQgAyAEQiCIfCEDIARC/////w+DIBcgEn58IQQgAyAEQiCIfCEDIARC/////w+DIBkgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBsgDn58IQQgAyAEQiCIfCEDIAIgBD4CPCADQiCIIQQgA0L/////D4MgDyAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAafnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAWfnwhAyAEIANCIIh8IQQgA0L/////D4MgFyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSASfnwhAyAEIANCIIh8IQQgA0L/////D4MgGyAQfnwhAyAEIANCIIh8IQQgAiADPgJAIARCIIghAyAEQv////8PgyARIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIBp+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAXIBZ+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAbIBJ+fCEEIAMgBEIgiHwhAyACIAQ+AkQgA0IgiCEEIANC/////w+DIBMgHH58IQMgBCADQiCIfCEEIANC/////w+DIBUgGn58IQMgBCADQiCIfCEEIANC/////w+DIBcgGH58IQMgBCADQiCIfCEEIANC/////w+DIBkgFn58IQMgBCADQiCIfCEEIANC/////w+DIBsgFH58IQMgBCADQiCIfCEEIAIgAz4CSCAEQiCIIQMgBEL/////D4MgFSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgFyAafnwhBCADIARCIIh8IQMgBEL/////D4MgGSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgGyAWfnwhBCADIARCIIh8IQMgAiAEPgJMIANCIIghBCADQv////8PgyAXIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBp+fCEDIAQgA0IgiHwhBCADQv////8PgyAbIBh+fCEDIAQgA0IgiHwhBCACIAM+AlAgBEIgiCEDIARC/////w+DIBkgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBsgGn58IQQgAyAEQiCIfCEDIAIgBD4CVCADQiCIIQQgA0L/////D4MgGyAcfnwhAyAEIANCIIh8IQQgAiADPgJYIARCIIghAyACIAQ+AlwLziAQAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5CACECQgAhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAANQIAIgYgBn58IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIEIgd+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIEIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AggiCH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAcgB358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCDCIJfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAIfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIQIgp+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAl+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAIIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIQIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhQiC358IQIgAyACQiCIfCEDIAJC/////w+DIAcgCn58IQIgAyACQiCIfCEDIAJC/////w+DIAggCX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCGCIMfnwhAiADIAJCIIh8IQMgAkL/////D4MgByALfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCSAJfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CGCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIcIg1+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAx+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAJIAp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIcIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AiAiDn58IQIgAyACQiCIfCEDIAJC/////w+DIAcgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAggDH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCJCIPfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCANfnwhAiADIAJCIIh8IQMgAkL/////D4MgCSAMfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiALfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CJCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIoIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAHIA9+fCECIAMgAkIgiHwhAyACQv////8PgyAIIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAJIA1+fCECIAMgAkIgiHwhAyACQv////8PgyAKIAx+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyALIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIoIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AiwiEX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAggD358IQIgAyACQiCIfCEDIAJC/////w+DIAkgDn58IQIgAyACQiCIfCEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAggEH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgD358IQIgAyACQiCIfCEDIAJC/////w+DIAogDn58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAwgDH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAggEX58IQIgAyACQiCIfCEDIAJC/////w+DIAkgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAogD358IQIgAyACQiCIfCEDIAJC/////w+DIAsgDn58IQIgAyACQiCIfCEDIAJC/////w+DIAwgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAkgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAogEH58IQIgAyACQiCIfCEDIAJC/////w+DIAsgD358IQIgAyACQiCIfCEDIAJC/////w+DIAwgDn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA0gDX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogEX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgEH58IQIgAyACQiCIfCEDIAJC/////w+DIAwgD358IQIgAyACQiCIfCEDIAJC/////w+DIA0gDn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAsgEX58IQIgAyACQiCIfCEDIAJC/////w+DIAwgEH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gD358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA4gDn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DIA4gD358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA0gEX58IQIgAyACQiCIfCEDIAJC/////w+DIA4gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIA8gD358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA4gEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AkwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA8gEX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBAgEH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBAgEX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBEgEX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AlggAyEEIARCIIghBSABIAQ+AlwLCgAgACAAIAEQCAuSAgEBfiAANQAAIAF+IQMgAiADPgAAIAA1AAQgAX4gA0IgiHwhAyACIAM+AAQgADUACCABfiADQiCIfCEDIAIgAz4ACCAANQAMIAF+IANCIIh8IQMgAiADPgAMIAA1ABAgAX4gA0IgiHwhAyACIAM+ABAgADUAFCABfiADQiCIfCEDIAIgAz4AFCAANQAYIAF+IANCIIh8IQMgAiADPgAYIAA1ABwgAX4gA0IgiHwhAyACIAM+ABwgADUAICABfiADQiCIfCEDIAIgAz4AICAANQAkIAF+IANCIIh8IQMgAiADPgAkIAA1ACggAX4gA0IgiHwhAyACIAM+ACggADUALCABfiADQiCIfCEDIAIgAz4ALAtOAgF+AX8gACEDIAM1AAAgAXwhAiADIAI+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IAR+fCEDIAAgAz4CUCAANQJUIANCIIh8QfgFNQIoIAR+fCEDIAAgAz4CVCAANQJYIANCIIh8QfgFNQIsIAR+fCEDIAAgAz4CWEGICiADQiCIPgIsQYgKIABBMGogARAQC6ZDMwF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkL9//P/DyEFIANC/////w+DIAA1AgAiBiABNQIAIgd+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhCCADQv////8Pg0EANQL4BSIJIAh+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIEIgt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgogB358IQQgAyAEQiCIfCEDIARC/////w+DQQA1AvwFIg0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEMIARC/////w+DIAkgDH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AggiD358IQMgBCADQiCIfCEEIANC/////w+DIAogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AggiDiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCgAYiESAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRAgA0L/////D4MgCSAQfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCDCITfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgDiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCISIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKEBiIVIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhFCAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIQIhd+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIhYgB358IQMgBCADQiCIfCEEIANC/////w+DIA0gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AogGIhkgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEYIANC/////w+DIAkgGH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhQiG358IQQgAyAEQiCIfCEDIARC/////w+DIAogF358IQQgAyAEQiCIfCEDIARC/////w+DIA4gE358IQQgAyAEQiCIfCEDIARC/////w+DIBIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBYgC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhQiGiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCjAYiHSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRwgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCGCIffnwhAyAEIANCIIh8IQQgA0L/////D4MgCiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIeIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQKQBiIhIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhICADQv////8PgyAJICB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIcIiN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIiIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgFH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gEH58IQQgAyAEQiCIfCEDIARC/////w+DICEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1ApQGIiUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEkIARC/////w+DIAkgJH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AiAiJ358IQMgBCADQiCIfCEEIANC/////w+DIAogI358IQMgBCADQiCIfCEEIANC/////w+DIA4gH358IQMgBCADQiCIfCEEIANC/////w+DIBIgG358IQMgBCADQiCIfCEEIANC/////w+DIBYgF358IQMgBCADQiCIfCEEIANC/////w+DIBogE358IQMgBCADQiCIfCEEIANC/////w+DIB4gD358IQMgBCADQiCIfCEEIANC/////w+DICIgC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AiAiJiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgESAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCmAYiKSAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DISggA0L/////D4MgCSAofnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCJCIrfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgDiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAffnwhBCADIARCIIh8IQMgBEL/////D4MgFiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgHiATfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgJiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCJCIqIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANICh+fCEEIAMgBEIgiHwhAyAEQv////8PgyARICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAVICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdIBh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyApIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQKcBiItIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhLCAEQv////8PgyAJICx+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIoIi9+fCEDIAQgA0IgiHwhBCADQv////8PgyAKICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAOICd+fCEDIAQgA0IgiHwhBCADQv////8PgyASICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAmIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAqIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIoIi4gB358IQMgBCADQiCIfCEEIANC/////w+DIA0gLH58IQMgBCADQiCIfCEEIANC/////w+DIBEgKH58IQMgBCADQiCIfCEEIANC/////w+DIBUgJH58IQMgBCADQiCIfCEEIANC/////w+DIBkgIH58IQMgBCADQiCIfCEEIANC/////w+DIB0gHH58IQMgBCADQiCIfCEEIANC/////w+DICEgGH58IQMgBCADQiCIfCEEIANC/////w+DICUgFH58IQMgBCADQiCIfCEEIANC/////w+DICkgEH58IQMgBCADQiCIfCEEIANC/////w+DIC0gDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AqAGIjEgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEwIANC/////w+DIAkgMH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AiwiM358IQQgAyAEQiCIfCEDIARC/////w+DIAogL358IQQgAyAEQiCIfCEDIARC/////w+DIA4gK358IQQgAyAEQiCIfCEDIARC/////w+DIBIgJ358IQQgAyAEQiCIfCEDIARC/////w+DIBYgI358IQQgAyAEQiCIfCEDIARC/////w+DIBogH358IQQgAyAEQiCIfCEDIARC/////w+DIB4gG358IQQgAyAEQiCIfCEDIARC/////w+DICIgF358IQQgAyAEQiCIfCEDIARC/////w+DICYgE358IQQgAyAEQiCIfCEDIARC/////w+DICogD358IQQgAyAEQiCIfCEDIARC/////w+DIC4gC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AiwiMiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgESAsfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAofnwhBCADIARCIIh8IQMgBEL/////D4MgGSAkfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgISAcfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgKSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgLSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCpAYiNSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DITQgBEL/////D4MgCSA0fnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAogM358IQMgBCADQiCIfCEEIANC/////w+DIA4gL358IQMgBCADQiCIfCEEIANC/////w+DIBIgK358IQMgBCADQiCIfCEEIANC/////w+DIBYgJ358IQMgBCADQiCIfCEEIANC/////w+DIBogI358IQMgBCADQiCIfCEEIANC/////w+DIB4gH358IQMgBCADQiCIfCEEIANC/////w+DICIgG358IQMgBCADQiCIfCEEIANC/////w+DICYgF358IQMgBCADQiCIfCEEIANC/////w+DICogE358IQMgBCADQiCIfCEEIANC/////w+DIC4gD358IQMgBCADQiCIfCEEIANC/////w+DIDIgC358IQMgBCADQiCIfCEEIANC/////w+DIA0gNH58IQMgBCADQiCIfCEEIANC/////w+DIBEgMH58IQMgBCADQiCIfCEEIANC/////w+DIBUgLH58IQMgBCADQiCIfCEEIANC/////w+DIBkgKH58IQMgBCADQiCIfCEEIANC/////w+DIB0gJH58IQMgBCADQiCIfCEEIANC/////w+DICEgIH58IQMgBCADQiCIfCEEIANC/////w+DICUgHH58IQMgBCADQiCIfCEEIANC/////w+DICkgGH58IQMgBCADQiCIfCEEIANC/////w+DIC0gFH58IQMgBCADQiCIfCEEIANC/////w+DIDEgEH58IQMgBCADQiCIfCEEIANC/////w+DIDUgDH58IQMgBCADQiCIfCEEIAIgAz4CACAEQiCIIQMgBEL/////D4MgDiAzfnwhBCADIARCIIh8IQMgBEL/////D4MgEiAvfnwhBCADIARCIIh8IQMgBEL/////D4MgFiArfnwhBCADIARCIIh8IQMgBEL/////D4MgGiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgHiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAffnwhBCADIARCIIh8IQMgBEL/////D4MgJiAbfnwhBCADIARCIIh8IQMgBEL/////D4MgKiAXfnwhBCADIARCIIh8IQMgBEL/////D4MgLiATfnwhBCADIARCIIh8IQMgBEL/////D4MgMiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgESA0fnwhBCADIARCIIh8IQMgBEL/////D4MgFSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAsfnwhBCADIARCIIh8IQMgBEL/////D4MgHSAofnwhBCADIARCIIh8IQMgBEL/////D4MgISAkfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAgfnwhBCADIARCIIh8IQMgBEL/////D4MgKSAcfnwhBCADIARCIIh8IQMgBEL/////D4MgLSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgNSAQfnwhBCADIARCIIh8IQMgAiAEPgIEIANCIIghBCADQv////8PgyASIDN+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIC9+fCEDIAQgA0IgiHwhBCADQv////8PgyAaICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAeICd+fCEDIAQgA0IgiHwhBCADQv////8PgyAiICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAmIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyAqIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAuIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAyIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIDR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIDB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdICx+fCEDIAQgA0IgiHwhBCADQv////8PgyAhICh+fCEDIAQgA0IgiHwhBCADQv////8PgyAlICR+fCEDIAQgA0IgiHwhBCADQv////8PgyApICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAtIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAxIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyA1IBR+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIBYgM358IQQgAyAEQiCIfCEDIARC/////w+DIBogL358IQQgAyAEQiCIfCEDIARC/////w+DIB4gK358IQQgAyAEQiCIfCEDIARC/////w+DICIgJ358IQQgAyAEQiCIfCEDIARC/////w+DICYgI358IQQgAyAEQiCIfCEDIARC/////w+DICogH358IQQgAyAEQiCIfCEDIARC/////w+DIC4gG358IQQgAyAEQiCIfCEDIARC/////w+DIDIgF358IQQgAyAEQiCIfCEDIARC/////w+DIBkgNH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gMH58IQQgAyAEQiCIfCEDIARC/////w+DICEgLH58IQQgAyAEQiCIfCEDIARC/////w+DICUgKH58IQQgAyAEQiCIfCEDIARC/////w+DICkgJH58IQQgAyAEQiCIfCEDIARC/////w+DIC0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIDEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIDUgGH58IQQgAyAEQiCIfCEDIAIgBD4CDCADQiCIIQQgA0L/////D4MgGiAzfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAvfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiArfnwhAyAEIANCIIh8IQQgA0L/////D4MgJiAnfnwhAyAEIANCIIh8IQQgA0L/////D4MgKiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgLiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgMiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSA0fnwhAyAEIANCIIh8IQQgA0L/////D4MgISAwfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAsfnwhAyAEIANCIIh8IQQgA0L/////D4MgKSAofnwhAyAEIANCIIh8IQQgA0L/////D4MgLSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgMSAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgNSAcfnwhAyAEIANCIIh8IQQgAiADPgIQIARCIIghAyAEQv////8PgyAeIDN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIC9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAmICt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAqICd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAuICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAyIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIDR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIDB+fCEEIAMgBEIgiHwhAyAEQv////8PgyApICx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAtICh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAxICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyA1ICB+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DICIgM358IQMgBCADQiCIfCEEIANC/////w+DICYgL358IQMgBCADQiCIfCEEIANC/////w+DICogK358IQMgBCADQiCIfCEEIANC/////w+DIC4gJ358IQMgBCADQiCIfCEEIANC/////w+DIDIgI358IQMgBCADQiCIfCEEIANC/////w+DICUgNH58IQMgBCADQiCIfCEEIANC/////w+DICkgMH58IQMgBCADQiCIfCEEIANC/////w+DIC0gLH58IQMgBCADQiCIfCEEIANC/////w+DIDEgKH58IQMgBCADQiCIfCEEIANC/////w+DIDUgJH58IQMgBCADQiCIfCEEIAIgAz4CGCAEQiCIIQMgBEL/////D4MgJiAzfnwhBCADIARCIIh8IQMgBEL/////D4MgKiAvfnwhBCADIARCIIh8IQMgBEL/////D4MgLiArfnwhBCADIARCIIh8IQMgBEL/////D4MgMiAnfnwhBCADIARCIIh8IQMgBEL/////D4MgKSA0fnwhBCADIARCIIh8IQMgBEL/////D4MgLSAwfnwhBCADIARCIIh8IQMgBEL/////D4MgMSAsfnwhBCADIARCIIh8IQMgBEL/////D4MgNSAofnwhBCADIARCIIh8IQMgAiAEPgIcIANCIIghBCADQv////8PgyAqIDN+fCEDIAQgA0IgiHwhBCADQv////8PgyAuIC9+fCEDIAQgA0IgiHwhBCADQv////8PgyAyICt+fCEDIAQgA0IgiHwhBCADQv////8PgyAtIDR+fCEDIAQgA0IgiHwhBCADQv////8PgyAxIDB+fCEDIAQgA0IgiHwhBCADQv////8PgyA1ICx+fCEDIAQgA0IgiHwhBCACIAM+AiAgBEIgiCEDIARC/////w+DIC4gM358IQQgAyAEQiCIfCEDIARC/////w+DIDIgL358IQQgAyAEQiCIfCEDIARC/////w+DIDEgNH58IQQgAyAEQiCIfCEDIARC/////w+DIDUgMH58IQQgAyAEQiCIfCEDIAIgBD4CJCADQiCIIQQgA0L/////D4MgMiAzfnwhAyAEIANCIIh8IQQgA0L/////D4MgNSA0fnwhAyAEIANCIIh8IQQgAiADPgIoIARCIIghAyACIAQ+AiwgA6cEQCACQfgFIAIQBxoFIAJB+AUQBQRAIAJB+AUgAhAHGgsLC81BKQF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX5C/f/z/w8hBkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQggAkL/////D4NBADUC+AUiCSAIfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCBCIKfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DQQA1AvwFIgwgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyELIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AggiDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKABiIPIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhDiACQv////8PgyAJIA5+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIMIhB+fCECIAMgAkIgiHwhAyACQv////8PgyAKIA1+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUChAYiEiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIREgAkL/////D4MgCSARfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCECITfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgDSANfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgEX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gDn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AogGIhUgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEUIAJC/////w+DIAkgFH58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhQiFn58IQIgAyACQiCIfCEDIAJC/////w+DIAogE358IQIgAyACQiCIfCEDIAJC/////w+DIA0gEH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBF+fCECIAMgAkIgiHwhAyACQv////8PgyASIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAVIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKMBiIYIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhFyACQv////8PgyAJIBd+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIYIhl+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyANIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAQIBB+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiARfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCkAYiGyAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRogAkL/////D4MgCSAafnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCHCIcfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgECATfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgGn58IQIgAyACQiCIfCEDIAJC/////w+DIA8gF358IQIgAyACQiCIfCEDIAJC/////w+DIBIgFH58IQIgAyACQiCIfCEDIAJC/////w+DIBUgEX58IQIgAyACQiCIfCEDIAJC/////w+DIBggDn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1ApQGIh4gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEdIAJC/////w+DIAkgHX58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AiAiH358IQIgAyACQiCIfCEDIAJC/////w+DIAogHH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gGX58IQIgAyACQiCIfCEDIAJC/////w+DIBAgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBMgE358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBp+fCECIAMgAkIgiHwhAyACQv////8PgyASIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAbIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAeIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKYBiIhIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhICACQv////8PgyAJICB+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIkIiJ+fCECIAMgAkIgiHwhAyACQv////8PgyAKIB9+fCECIAMgAkIgiHwhAyACQv////8PgyANIBx+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBl+fCECIAMgAkIgiHwhAyACQv////8PgyATIBZ+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAgfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAdfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAafnwhAiADIAJCIIh8IQMgAkL/////D4MgFSAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyARfnwhAiADIAJCIIh8IQMgAkL/////D4MgHiAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgISALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCnAYiJCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DISMgAkL/////D4MgCSAjfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCKCIlfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAffnwhAiADIAJCIIh8IQMgAkL/////D4MgECAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAZfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgFiAWfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgI358IQIgAyACQiCIfCEDIAJC/////w+DIA8gIH58IQIgAyACQiCIfCEDIAJC/////w+DIBIgHX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgGn58IQIgAyACQiCIfCEDIAJC/////w+DIBggF358IQIgAyACQiCIfCEDIAJC/////w+DIBsgFH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gEX58IQIgAyACQiCIfCEDIAJC/////w+DICEgDn58IQIgAyACQiCIfCEDIAJC/////w+DICQgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AqAGIicgCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEmIAJC/////w+DIAkgJn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AiwiKH58IQIgAyACQiCIfCEDIAJC/////w+DIAogJX58IQIgAyACQiCIfCEDIAJC/////w+DIA0gIn58IQIgAyACQiCIfCEDIAJC/////w+DIBAgH358IQIgAyACQiCIfCEDIAJC/////w+DIBMgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBYgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMICZ+fCECIAMgAkIgiHwhAyACQv////8PgyAPICN+fCECIAMgAkIgiHwhAyACQv////8PgyASICB+fCECIAMgAkIgiHwhAyACQv////8PgyAVIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAhIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAkIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAnIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQKkBiIqIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhKSACQv////8PgyAJICl+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgCiAofnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgECAifnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAffnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgGSAZfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgKX58IQIgAyACQiCIfCEDIAJC/////w+DIA8gJn58IQIgAyACQiCIfCEDIAJC/////w+DIBIgI358IQIgAyACQiCIfCEDIAJC/////w+DIBUgIH58IQIgAyACQiCIfCEDIAJC/////w+DIBggHX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgGn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gF358IQIgAyACQiCIfCEDIAJC/////w+DICEgFH58IQIgAyACQiCIfCEDIAJC/////w+DICQgEX58IQIgAyACQiCIfCEDIAJC/////w+DICcgDn58IQIgAyACQiCIfCEDIAJC/////w+DICogC358IQIgAyACQiCIfCEDIAEgAj4CACADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgDSAofnwhAiADIAJCIIh8IQMgAkL/////D4MgECAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAifnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAffnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAcfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIA8gKX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgJn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgI358IQIgAyACQiCIfCEDIAJC/////w+DIBggIH58IQIgAyACQiCIfCEDIAJC/////w+DIBsgHX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gGn58IQIgAyACQiCIfCEDIAJC/////w+DICEgF358IQIgAyACQiCIfCEDIAJC/////w+DICQgFH58IQIgAyACQiCIfCEDIAJC/////w+DICcgEX58IQIgAyACQiCIfCEDIAJC/////w+DICogDn58IQIgAyACQiCIfCEDIAEgAj4CBCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgECAofnwhAiADIAJCIIh8IQMgAkL/////D4MgEyAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAffnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHCAcfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBIgKX58IQIgAyACQiCIfCEDIAJC/////w+DIBUgJn58IQIgAyACQiCIfCEDIAJC/////w+DIBggI358IQIgAyACQiCIfCEDIAJC/////w+DIBsgIH58IQIgAyACQiCIfCEDIAJC/////w+DIB4gHX58IQIgAyACQiCIfCEDIAJC/////w+DICEgGn58IQIgAyACQiCIfCEDIAJC/////w+DICQgF358IQIgAyACQiCIfCEDIAJC/////w+DICcgFH58IQIgAyACQiCIfCEDIAJC/////w+DICogEX58IQIgAyACQiCIfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgEyAofnwhAiADIAJCIIh8IQMgAkL/////D4MgFiAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAifnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAffnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBUgKX58IQIgAyACQiCIfCEDIAJC/////w+DIBggJn58IQIgAyACQiCIfCEDIAJC/////w+DIBsgI358IQIgAyACQiCIfCEDIAJC/////w+DIB4gIH58IQIgAyACQiCIfCEDIAJC/////w+DICEgHX58IQIgAyACQiCIfCEDIAJC/////w+DICQgGn58IQIgAyACQiCIfCEDIAJC/////w+DICcgF358IQIgAyACQiCIfCEDIAJC/////w+DICogFH58IQIgAyACQiCIfCEDIAEgAj4CDCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgFiAofnwhAiADIAJCIIh8IQMgAkL/////D4MgGSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAifnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgHyAffnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBggKX58IQIgAyACQiCIfCEDIAJC/////w+DIBsgJn58IQIgAyACQiCIfCEDIAJC/////w+DIB4gI358IQIgAyACQiCIfCEDIAJC/////w+DICEgIH58IQIgAyACQiCIfCEDIAJC/////w+DICQgHX58IQIgAyACQiCIfCEDIAJC/////w+DICcgGn58IQIgAyACQiCIfCEDIAJC/////w+DICogF358IQIgAyACQiCIfCEDIAEgAj4CECADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgGSAofnwhAiADIAJCIIh8IQMgAkL/////D4MgHCAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgHyAifnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIBsgKX58IQIgAyACQiCIfCEDIAJC/////w+DIB4gJn58IQIgAyACQiCIfCEDIAJC/////w+DICEgI358IQIgAyACQiCIfCEDIAJC/////w+DICQgIH58IQIgAyACQiCIfCEDIAJC/////w+DICcgHX58IQIgAyACQiCIfCEDIAJC/////w+DICogGn58IQIgAyACQiCIfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgHCAofnwhAiADIAJCIIh8IQMgAkL/////D4MgHyAlfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgIiAifnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIB4gKX58IQIgAyACQiCIfCEDIAJC/////w+DICEgJn58IQIgAyACQiCIfCEDIAJC/////w+DICQgI358IQIgAyACQiCIfCEDIAJC/////w+DICcgIH58IQIgAyACQiCIfCEDIAJC/////w+DICogHX58IQIgAyACQiCIfCEDIAEgAj4CGCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgHyAofnwhAiADIAJCIIh8IQMgAkL/////D4MgIiAlfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICEgKX58IQIgAyACQiCIfCEDIAJC/////w+DICQgJn58IQIgAyACQiCIfCEDIAJC/////w+DICcgI358IQIgAyACQiCIfCEDIAJC/////w+DICogIH58IQIgAyACQiCIfCEDIAEgAj4CHCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgIiAofnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgJSAlfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICQgKX58IQIgAyACQiCIfCEDIAJC/////w+DICcgJn58IQIgAyACQiCIfCEDIAJC/////w+DICogI358IQIgAyACQiCIfCEDIAEgAj4CICADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgJSAofnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICcgKX58IQIgAyACQiCIfCEDIAJC/////w+DICogJn58IQIgAyACQiCIfCEDIAEgAj4CJCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgKCAofnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DICogKX58IQIgAyACQiCIfCEDIAEgAj4CKCADIQQgBEIgiCEFIAEgBD4CLCAFpwRAIAFB+AUgARAHGgUgAUH4BRAFBEAg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IAM+AhAgADUCFCABNQIUfCADQiCIfCEDIAIgAz4CFCAANQIYIAE1Ahh8IANCIIh8IQMgAiADPgIYIAA1AhwgATUCHHwgA0IgiHwhAyACIAM+AhwgA0IgiKcLjAIBAX4gADUCACABNQIAfSEDIAIgA0L/////D4M+AgAgADUCBCABNQIEfSADQiCHfCEDIAIgA0L/////D4M+AgQgADUCCCABNQIIfSADQiCHfCEDIAIgA0L/////D4M+AgggADUCDCABNQIMfSADQiCHfCEDIAIgA0L/////D4M+AgwgADUCECABNQIQfSADQiCHfCEDIAIgA0L/////D4M+AhAgADUCFCABNQIUfSADQiCHfCEDIAIgA0L/////D4M+AhQgADUCGCABNQIYfSADQiCHfCEDIAIgA0L/////D4M+AhggADUCHCABNQIcfSADQiCHfCEDIAIgA0L/////D4M+AhwgA0Igh6cLjxASAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+IANC/////w+DIAA1AgAiBSABNQIAIgZ+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIAUgATUCBCIIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCBCIHIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgQgA0IgiCEEIANC/////w+DIAUgATUCCCIKfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCCCIJIAZ+fCEDIAQgA0IgiHwhBCACIAM+AgggBEIgiCEDIARC/////w+DIAUgATUCDCIMfnwhBCADIARCIIh8IQMgBEL/////D4MgByAKfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCILIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIAUgATUCECIOfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCECINIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhAgBEIgiCEDIARC/////w+DIAUgATUCFCIQfnwhBCADIARCIIh8IQMgBEL/////D4MgByAOfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCFCIPIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhQgA0IgiCEEIANC/////w+DIAUgATUCGCISfnwhAyAEIANCIIh8IQQgA0L/////D4MgByAQfnwhAyAEIANCIIh8IQQgA0L/////D4MgCSAOfnwhAyAEIANCIIh8IQQgA0L/////D4MgCyAMfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAKfnwhAyAEIANCIIh8IQQgA0L/////D4MgDyAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIRIAZ+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIARC/////w+DIAUgATUCHCIUfnwhBCADIARCIIh8IQMgBEL/////D4MgByASfnwhBCADIARCIIh8IQMgBEL/////D4MgCSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgCyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAMfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAKfnwhBCADIARCIIh8IQMgBEL/////D4MgESAIfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCHCITIAZ+fCEEIAMgBEIgiHwhAyACIAQ+AhwgA0IgiCEEIANC/////w+DIAcgFH58IQMgBCADQiCIfCEEIANC/////w+DIAkgEn58IQMgBCADQiCIfCEEIANC/////w+DIAsgEH58IQMgBCADQiCIfCEEIANC/////w+DIA0gDn58IQMgBCADQiCIfCEEIANC/////w+DIA8gDH58IQMgBCADQiCIfCEEIANC/////w+DIBEgCn58IQMgBCADQiCIfCEEIANC/////w+DIBMgCH58IQMgBCADQiCIfCEEIAIgAz4CICAEQiCIIQMgBEL/////D4MgCSAUfnwhBCADIARCIIh8IQMgBEL/////D4MgCyASfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgDyAOfnwhBCADIARCIIh8IQMgBEL/////D4MgESAMfnwhBCADIARCIIh8IQMgBEL/////D4MgEyAKfnwhBCADIARCIIh8IQMgAiAEPgIkIANCIIghBCADQv////8PgyALIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBJ+fCEDIAQgA0IgiHwhBCADQv////8PgyAPIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyARIA5+fCEDIAQgA0IgiHwhBCADQv////8PgyATIAx+fCEDIAQgA0IgiHwhBCACIAM+AiggBEIgiCEDIARC/////w+DIA0gFH58IQQgAyAEQiCIfCEDIARC/////w+DIA8gEn58IQQgAyAEQiCIfCEDIARC/////w+DIBEgEH58IQQgAyAEQiCIfCEDIARC/////w+DIBMgDn58IQQgAyAEQiCIfCEDIAIgBD4CLCADQiCIIQQgA0L/////D4MgDyAUfnwhAyAEIANCIIh8IQQgA0L/////D4MgESASfnwhAyAEIANCIIh8IQQgA0L/////D4MgEyAQfnwhAyAEIANCIIh8IQQgAiADPgIwIARCIIghAyAEQv////8PgyARIBR+fCEEIAMgBEIgiHwhAyAEQv////8PgyATIBJ+fCEEIAMgBEIgiHwhAyACIAQ+AjQgA0IgiCEEIANC/////w+DIBMgFH58IQMgBCADQiCIfCEEIAIgAz4COCAEQiCIIQMgAiAEPgI8C4wSDAF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAA1AgAiBiAGfnwhAiADIAJCIIh8IQMgASACPgIAIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AgQiB358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCCCIIfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgByAHfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CCCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIMIgl+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAh+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIMIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhAiCn58IQIgAyACQiCIfCEDIAJC/////w+DIAcgCX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAggCH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAYgADUCFCILfnwhAiADIAJCIIh8IQMgAkL/////D4MgByAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgCCAJfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAEgAj4CFCADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgBiAANQIYIgx+fCECIAMgAkIgiHwhAyACQv////8PgyAHIAt+fCECIAMgAkIgiHwhAyACQv////8PgyAIIAp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAJIAl+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgASACPgIYIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAGIAA1AhwiDX58IQIgAyACQiCIfCEDIAJC/////w+DIAcgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAggC358IQIgAyACQiCIfCEDIAJC/////w+DIAkgCn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AhwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAggDH58IQIgAyACQiCIfCEDIAJC/////w+DIAkgC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAogCn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAggDX58IQIgAyACQiCIfCEDIAJC/////w+DIAkgDH58IQIgAyACQiCIfCEDIAJC/////w+DIAogC358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAkgDX58IQIgAyACQiCIfCEDIAJC/////w+DIAogDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAsgC358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DIAsgDH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AiwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAsgDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIAwgDH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyABIAI+AjAgAyEE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iHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIEIgt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIEIgogB358IQQgAyAEQiCIfCEDIARC/////w+DQQA1ArwcIg0gCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEMIARC/////w+DIAkgDH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAGIAE1AggiD358IQMgBCADQiCIfCEEIANC/////w+DIAogC358IQMgBCADQiCIfCEEIANC/////w+DIAA1AggiDiAHfnwhAyAEIANCIIh8IQQgA0L/////D4MgDSAMfnwhAyAEIANCIIh8IQQgA0L/////D4NBADUCwBwiESAIfnwhAyAEIANCIIh8IQQgA0L/////D4MgBX5C/////w+DIRAgA0L/////D4MgCSAQfnwhAyAEIANCIIh8IQQgBEIgiCEDIARC/////w+DIAYgATUCDCITfnwhBCADIARCIIh8IQMgBEL/////D4MgCiAPfnwhBCADIARCIIh8IQMgBEL/////D4MgDiALfnwhBCADIARCIIh8IQMgBEL/////D4MgADUCDCISIAd+fCEEIAMgBEIgiHwhAyAEQv////8PgyANIBB+fCEEIAMgBEIgiHwhAyAEQv////8PgyARIAx+fCEEIAMgBEIgiHwhAyAEQv////8Pg0EANQLEHCIVIAh+fCEEIAMgBEIgiHwhAyAEQv////8PgyAFfkL/////D4MhFCAEQv////8PgyAJIBR+fCEEIAMgBEIgiHwhAyADQiCIIQQgA0L/////D4MgBiABNQIQIhd+fCEDIAQgA0IgiHwhBCADQv////8PgyAKIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyAANQIQIhYgB358IQMgBCADQiCIfCEEIANC/////w+DIA0gFH58IQMgBCADQiCIfCEEIANC/////w+DIBEgEH58IQMgBCADQiCIfCEEIANC/////w+DIBUgDH58IQMgBCADQiCIfCEEIANC/////w+DQQA1AsgcIhkgCH58IQMgBCADQiCIfCEEIANC/////w+DIAV+Qv////8PgyEYIANC/////w+DIAkgGH58IQMgBCADQiCIfCEEIARCIIghAyAEQv////8PgyAGIAE1AhQiG358IQQgAyAEQiCIfCEDIARC/////w+DIAogF358IQQgAyAEQiCIfCEDIARC/////w+DIA4gE358IQQgAyAEQiCIfCEDIARC/////w+DIBIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBYgC358IQQgAyAEQiCIfCEDIARC/////w+DIAA1AhQiGiAHfnwhBCADIARCIIh8IQMgBEL/////D4MgDSAYfnwhBCADIARCIIh8IQMgBEL/////D4MgESAUfnwhBCADIARCIIh8IQMgBEL/////D4MgFSAQfnwhBCADIARCIIh8IQMgBEL/////D4MgGSAMfnwhBCADIARCIIh8IQMgBEL/////D4NBADUCzBwiHSAIfnwhBCADIARCIIh8IQMgBEL/////D4MgBX5C/////w+DIRwgBEL/////D4MgCSAcfnwhBCADIARCIIh8IQMgA0IgiCEEIANC/////w+DIAYgATUCGCIffnwhAyAEIANCIIh8IQQgA0L/////D4MgCiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgDiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgEiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAPfnwhAyAEIANCIIh8IQQgA0L/////D4MgGiALfnwhAyAEIANCIIh8IQQgA0L/////D4MgADUCGCIeIAd+fCEDIAQgA0IgiHwhBCADQv////8PgyANIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyARIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIAx+fCEDIAQgA0IgiHwhBCADQv////8Pg0EANQLQHCIhIAh+fCEDIAQgA0IgiHwhBCADQv////8PgyAFfkL/////D4MhICADQv////8PgyAJICB+fCEDIAQgA0IgiHwhBCAEQiCIIQMgBEL/////D4MgBiABNQIcIiN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAKIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAOIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyASIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAWIBN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIA9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIAt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAANQIcIiIgB358IQQgAyAEQiCIfCEDIARC/////w+DIA0gIH58IQQgAyAEQiCIfCEDIARC/////w+DIBEgHH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgGH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgFH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gEH58IQQgAyAEQiCIfCEDIARC/////w+DICEgDH58IQQgAyAEQiCIfCEDIARC/////w+DQQA1AtQcIiUgCH58IQQgAyAEQiCIfCEDIARC/////w+DIAV+Qv////8PgyEkIARC/////w+DIAkgJH58IQQgAyAEQiCIfCEDIANCIIghBCADQv////8PgyAKICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAOIB9+fCEDIAQgA0IgiHwhBCADQv////8PgyASIBt+fCEDIAQgA0IgiHwhBCADQv////8PgyAWIBd+fCEDIAQgA0IgiHwhBCADQv////8PgyAaIBN+fCEDIAQgA0IgiHwhBCADQv////8PgyAeIA9+fCEDIAQgA0IgiHwhBCADQv////8PgyAiIAt+fCEDIAQgA0IgiHwhBCADQv////8PgyANICR+fCEDIAQgA0IgiHwhBCADQv////8PgyARICB+fCEDIAQgA0IgiHwhBCADQv////8PgyAVIBx+fCEDIAQgA0IgiHwhBCADQv////8PgyAZIBh+fCEDIAQgA0IgiHwhBCADQv////8PgyAdIBR+fCEDIAQgA0IgiHwhBCADQv////8PgyAhIBB+fCEDIAQgA0IgiHwhBCADQv////8PgyAlIAx+fCEDIAQgA0IgiHwhBCACIAM+AgAgBEIgiCEDIARC/////w+DIA4gI358IQQgAyAEQiCIfCEDIARC/////w+DIBIgH358IQQgAyAEQiCIfCEDIARC/////w+DIBYgG358IQQgAyAEQiCIfCEDIARC/////w+DIBogF358IQQgAyAEQiCIfCEDIARC/////w+DIB4gE358IQQgAyAEQiCIfCEDIARC/////w+DICIgD358IQQgAyAEQiCIfCEDIARC/////w+DIBEgJH58IQQgAyAEQiCIfCEDIARC/////w+DIBUgIH58IQQgAyAEQiCIfCEDIARC/////w+DIBkgHH58IQQgAyAEQiCIfCEDIARC/////w+DIB0gGH58IQQgAyAEQiCIfCEDIARC/////w+DICEgFH58IQQgAyAEQiCIfCEDIARC/////w+DICUgEH58IQQgAyAEQiCIfCEDIAIgBD4CBCADQiCIIQQgA0L/////D4MgEiAjfnwhAyAEIANCIIh8IQQgA0L/////D4MgFiAffnwhAyAEIANCIIh8IQQgA0L/////D4MgGiAbfnwhAyAEIANCIIh8IQQgA0L/////D4MgHiAXfnwhAyAEIANCIIh8IQQgA0L/////D4MgIiATfnwhAyAEIANCIIh8IQQgA0L/////D4MgFSAkfnwhAyAEIANCIIh8IQQgA0L/////D4MgGSAgfnwhAyAEIANCIIh8IQQgA0L/////D4MgHSAcfnwhAyAEIANCIIh8IQQgA0L/////D4MgISAYfnwhAyAEIANCIIh8IQQgA0L/////D4MgJSAUfnwhAyAEIANCIIh8IQQgAiADPgIIIARCIIghAyAEQv////8PgyAWICN+fCEEIAMgBEIgiHwhAyAEQv////8PgyAaIB9+fCEEIAMgBEIgiHwhAyAEQv////8PgyAeIBt+fCEEIAMgBEIgiHwhAyAEQv////8PgyAiIBd+fCEEIAMgBEIgiHwhAyAEQv////8PgyAZICR+fCEEIAMgBEIgiHwhAyAEQv////8PgyAdICB+fCEEIAMgBEIgiHwhAyAEQv////8PgyAhIBx+fCEEIAMgBEIgiHwhAyAEQv////8PgyAlIBh+fCEEIAMgBEIgiHwhAyACIAQ+AgwgA0IgiCEEIANC/////w+DIBogI358IQMgBCADQiCIfCEEIANC/////w+DIB4gH358IQMgBCADQiCIfCEEIANC/////w+DICIgG358IQMgBCADQiCIfCEEIANC/////w+DIB0gJH58IQMgBCADQiCIfCEEIANC/////w+DICEgIH58IQMgBCADQiCIfCEEIANC/////w+DICUgHH58IQMgBCADQiCIfCEEIAIgAz4CECAEQiCIIQMgBEL/////D4MgHiAjfnwhBCADIARCIIh8IQMgBEL/////D4MgIiAffnwhBCADIARCIIh8IQMgBEL/////D4MgISAkfnwhBCADIARCIIh8IQMgBEL/////D4MgJSAgfnwhBCADIARCIIh8IQMgAiAEPgIUIANCIIghBCADQv////8PgyAiICN+fCEDIAQgA0IgiHwhBCADQv////8PgyAlICR+fCEDIAQgA0IgiHwhBCACIAM+AhggBEIgiCEDIAIgBD4CHCADpwRAIAJBuBwgAhAsGgUgAkG4HBAqBEAgAkG4HCACECwaCwsLuyEdAX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfgF+AX4BfkL/////DyEGQgAhAkIAIQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgADUCACIHIAd+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhCCACQv////8Pg0EANQK4HCIJIAh+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIEIgp+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4NBADUCvBwiDCAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIQsgAkL/////D4MgCSALfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCCCINfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgCiAKfnwhAiADIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AsAcIg8gCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEOIAJC/////w+DIAkgDn58IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AgwiEH58IQIgAyACQiCIfCEDIAJC/////w+DIAogDX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAPIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLEHCISIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhESACQv////8PgyAJIBF+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIQIhN+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBB+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyANIA1+fCECIAMgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCARfnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUCyBwiFSAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIRQgAkL/////D4MgCSAUfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAcgADUCFCIWfnwhAiADIAJCIIh8IQMgAkL/////D4MgCiATfnwhAiADIAJCIIh8IQMgAkL/////D4MgDSAQfnwhAiADIAJCIIh8IQMgAkL/////D4NCAYYhAiADQgGGIAJCIIh8IQMgAkL/////D4MgBEL/////D4N8IQIgAyACQiCIfCAFfCEDIAJC/////w+DIAwgFH58IQIgAyACQiCIfCEDIAJC/////w+DIA8gEX58IQIgAyACQiCIfCEDIAJC/////w+DIBIgDn58IQIgAyACQiCIfCEDIAJC/////w+DIBUgC358IQIgAyACQiCIfCEDIAJC/////w+DQQA1AswcIhggCH58IQIgAyACQiCIfCEDIAJC/////w+DIAZ+Qv////8PgyEXIAJC/////w+DIAkgF358IQIgAyACQiCIfCEDIAMhBCAEQiCIIQVCACECQgAhAyACQv////8PgyAHIAA1AhgiGX58IQIgAyACQiCIfCEDIAJC/////w+DIAogFn58IQIgAyACQiCIfCEDIAJC/////w+DIA0gE358IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBAgEH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBR+fCECIAMgAkIgiHwhAyACQv////8PgyASIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAVIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAYIAt+fCECIAMgAkIgiHwhAyACQv////8Pg0EANQLQHCIbIAh+fCECIAMgAkIgiHwhAyACQv////8PgyAGfkL/////D4MhGiACQv////8PgyAJIBp+fCECIAMgAkIgiHwhAyADIQQgBEIgiCEFQgAhAkIAIQMgAkL/////D4MgByAANQIcIhx+fCECIAMgAkIgiHwhAyACQv////8PgyAKIBl+fCECIAMgAkIgiHwhAyACQv////8PgyANIBZ+fCECIAMgAkIgiHwhAyACQv////8PgyAQIBN+fCECIAMgAkIgiHwhAyACQv////8Pg0IBhiECIANCAYYgAkIgiHwhAyACQv////8PgyAEQv////8Pg3whAiADIAJCIIh8IAV8IQMgAkL/////D4MgDCAafnwhAiADIAJCIIh8IQMgAkL/////D4MgDyAXfnwhAiADIAJCIIh8IQMgAkL/////D4MgEiAUfnwhAiADIAJCIIh8IQMgAkL/////D4MgFSARfnwhAiADIAJCIIh8IQMgAkL/////D4MgGCAOfnwhAiADIAJCIIh8IQMgAkL/////D4MgGyALfnwhAiADIAJCIIh8IQMgAkL/////D4NBADUC1BwiHiAIfnwhAiADIAJCIIh8IQMgAkL/////D4MgBn5C/////w+DIR0gAkL/////D4MgCSAdfnwhAiADIAJCIIh8IQMgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIAogHH58IQIgAyACQiCIfCEDIAJC/////w+DIA0gGX58IQIgAyACQiCIfCEDIAJC/////w+DIBAgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBMgE358IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAMIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAPIBp+fCECIAMgAkIgiHwhAyACQv////8PgyASIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAbIA5+fCECIAMgAkIgiHwhAyACQv////8PgyAeIAt+fCECIAMgAkIgiHwhAyABIAI+AgAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIA0gHH58IQIgAyACQiCIfCEDIAJC/////w+DIBAgGX58IQIgAyACQiCIfCEDIAJC/////w+DIBMgFn58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAPIB1+fCECIAMgAkIgiHwhAyACQv////8PgyASIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBF+fCECIAMgAkIgiHwhAyACQv////8PgyAeIA5+fCECIAMgAkIgiHwhAyABIAI+AgQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBAgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBMgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBYgFn58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyASIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAVIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBR+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBF+fCECIAMgAkIgiHwhAyABIAI+AgggAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBMgHH58IQIgAyACQiCIfCEDIAJC/////w+DIBYgGX58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAVIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAYIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBd+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBR+fCECIAMgAkIgiHwhAyABIAI+AgwgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBYgHH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBkgGX58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAYIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAbIBp+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBd+fCECIAMgAkIgiHwhAyABIAI+AhAgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DIBkgHH58IQIgAyACQiCIfCEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAbIB1+fCECIAMgAkIgiHwhAyACQv////8PgyAeIBp+fCECIAMgAkIgiHwhAyABIAI+AhQgAyEEIARCIIghBUIAIQJCACEDIAJC/////w+DQgGGIQIgA0IBhiACQiCIfCEDIAJC/////w+DIBwgHH58IQIgAyACQiCIfCEDIAJC/////w+DIARC/////w+DfCECIAMgAkIgiHwgBXwhAyACQv////8PgyAeIB1+fCECIAMgAkIgiHwhAyABIAI+AhggAyEEIARCIIghBSABIAQ+AhwgBacEQCABQbgcIAEQLBoFIAFBuBwQKgRAIAFBuBwgARAsGgsLCwoAIAAgACABEDkLCwAgAEH4HCABEDkLFQAgAEGYIxAlQbgjECZBmCMgARA4CxEAIABB2CMQPUHYI0H4HRAqCyQAIAAQJwRAQQAPCyAAQfgjED1B+CNB+B0QKgRAQX8PC0EBDwsXACAAIAEQPSABQbgcIAEQMyABIAEQPAsJAEGYHSAAECULywEEAX8BfwF/AX8gAhAmQSAhBSAAIQMCQANAIAUgAUsNASAFQSBGBEBBmCQQQQVBmCRB+BxBmCQQOQsgA0GYJEG4JBA5IAJBuCQgAhA1IANBIGohAyAFQSBqIQUMAAsLIAFBIHAhBCAERQRADwtBuCQQJkEAIQYCQANAIAYgBEYNASAGIAMtAAA6ALgkIANBAWohAyAGQQFqIQYMAAsLIAVBIEYEQEGYJBBBBUGYJEH4HEGYJBA5C0G4JEGYJEG4JBA5IAJBuCQgAhA1CxwAIAEgAkHYJBBCQdgkQdgkEDwgAEHYJCADEDkL+AEEAX8BfwF/AX9BACgCACEFQQAgBSACQQFqQSBsajYCACAFEEEgACEGIAVBIGohBUEAIQgCQANAIAggAkYNASAGECcEQCAFQSBrIAUQJQUgBiAFQSBrIAUQOQsgBiABaiEGIAVBIGohBSAIQQFqIQgMAAsLIAYgAWshBiAFQSBrIQUgAyACQQFrIARsaiEHIAUgBRBAAkADQCAIRQ0BIAYQJwRAIAUgBUEgaxAlIAcQJgUgBUEga0H4JBAlIAUgBiAFQSBrEDkgBUH4JCAHEDkLIAYgAWshBiAHIARrIQcgBUEgayEFIAhBAWshCAwACwtBACAFNgIACz4DAX8BfwF/IAAhBCACIQVBACEDAkADQCADIAFGDQEgBCAFEDwgBEEgaiEEIAVBIGohBSADQQFqIQMMAAsLCz4DAX8BfwF/IAAhBCACIQVBACEDAkADQCADIAFGDQEgBCAFED0gBEEgaiEEIAVBIGohBSADQQFqIQMMAAsLC7ICAgF/AX8gAkUEQCADEEEPCyAAQZglECUgAxBBIAIhBAJAA0AgBEEBayEEIAEgBGotAAAhBSADIAMQOiAFQYABTwRAIAVBgAFrIQUgA0GYJSADEDkLIAMgAxA6IAVBwABPBEAgBUHAAGshBSADQZglIAMQOQsgAyADEDogBUEgTwRAIAVBIGshBSADQZglIAMQOQsgAyADEDogBUEQTwRAIAVBEGshBSADQZglIAMQOQsgAyADEDogBUEITwRAIAVBCGshBSADQZglIAMQOQsgAyADEDogBUEETwRAIAVBBGshBSADQZglIAMQOQsgAyADEDogBUECTwRAIAVBAmshBSADQZglIAMQOQsgAyADEDogBUEBTwRAIAVBAWshBSADQZglIAMQOQsgBEUNAQwACwsL3gEDAX8BfwF/IAAQJwRAIAEQJg8LQSAhAkHYHkG4JRAlIABBuB5BIEHYJRBHIABB+B5BIEH4JRBHAkADQEHYJUGYHRApDQFB2CVBmCYQOkEBIQMCQANAQZgmQZgdECkNAUGYJkGYJhA6IANBAWohAwwACwtBuCVBuCYQJSACIANrQQFrIQQCQANAIARFDQFBuCZBuCYQOiAEQQFrIQQMAAsLIAMhAkG4JkG4JRA6QdglQbglQdglEDlB+CVBuCZB+CUQOQwACwtB+CUQPgRAQfglIAEQNwVB+CUgARAlCwsgACAAECcEQEEBDwsgAEHYHUEgQdgmEEdB2CZBmB0QKQsVACAAIAFB+CYQOUH4JkH4HCACEDkLCgAgACAAIAEQSgsLACAAQbgcIAEQMwsJACAAQfgdECoLDgAgABACIABBMGoQAnELCgAgAEHgAGoQAgsNACAAEAEgAEEwahABCxUAIAAQASAAQTBqEBwgAEHgAGoQAQt6ACABIAApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggASAAKQMgNwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWAu6AQAgASAAKQMANwMAIAEgACkDCDcDCCABIAApAxA3AxAgASAAKQMYNwMYIAEgACkDIDcDICABIAApAyg3AyggASAAKQMwNwMwIAEgACkDODcDOCABIAApA0A3A0AgASAAKQNINwNIIAEgACkDUDcDUCABIAApA1g3A1ggASAAKQNgNwNgIAEgACkDaDcDaCABIAApA3A3A3AgASAAKQN4NwN4IAEgACkDgAE3A4ABIAEgACkDiAE3A4gBCxwAIAFB4ABqEBwgAEEw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EJABQcjxAEGo8gAQmQEEQEEADwtBAQ8LEQAgABCLASAAQeAAahCLAXELCwAgAEHAAWoQiwELEAAgABCNASAAQeAAahCNAQsZACAAEI0BIABB4ABqEI4BIABBwAFqEI0BC4ICACABIAApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggASAAKQMgNwMgIAEgACkDKDcDKCABIAApAzA3AzAgASAAKQM4NwM4IAEgACkDQDcDQCABIAApA0g3A0ggASAAKQNQNwNQIAEgACkDWDcDWCABIAApA2A3A2AgASAAKQNoNwNoIAEgACkDcDcDcCABIAApA3g3A3ggASAAKQOAATcDgAEgASAAKQOIATcDiAEgASAAKQOQATcDkAEgASAAKQOYATcDmAEgASAAKQOgATcDoAEgASAAKQOoATcDqAEgASAAKQOwATcDsAEgASAAKQO4ATcDuAELkgMAIAEgACkDADcDACABIAApAwg3AwggASAAKQMQNwMQIAEgACkDGDcDGCABIAApAyA3AyAgASAAKQMoNwMoIAEgACkDMDcDMCABIAApAzg3AzggASAAKQNANwNAIAEgACkDSDcDSCABIAApA1A3A1AgASAAKQNYNwNYIAEgACkDYDcDYCABIAApA2g3A2ggASAAKQNwNwNwIAEgACkDeDcDeCABIAApA4ABNwOAASABIAApA4gBNwOIASABIAApA5ABNwOQASABIAApA5gBNwOYASABIAApA6ABNwOgASABIAApA6gBNwOoASABIAApA7ABNwOwASABIAApA7gBNwO4ASABIAApA8ABNwPAASABIAApA8gBNwPIASABIAApA9ABNwPQASABIAApA9gBNwPYASABIAApA+ABNwPgASABIAApA+gBNwPoASABIAApA/ABNwPwASABIAApA/gBNwP4ASABIAApA4ACNwOAAiABIAApA4gCNwOIAiABIAApA5ACNwOQAiABIAApA5gCNwOYAgshACABQcABahCOASAAQeAAaiABQeAAahCPASAAIAEQjwELHAEBfyAAIAEQmQEgAEHgAGogAUHgAGoQmQFxDwuLAQEBfyAAQcABaiECIAAQowEEQCABEKIBDwsgARCiAQRAQQAPCyACEIwBBEAgACABEKkBDwsgAkHo8wAQkgEgAUHo8wBByPQAEJAB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BEAgASACEKcBDwsgARCjAQRAIAAgAhCnAQ8LIAMQjAEEQCABIAAgAhCvAQ8LIAQQjAEEQCAAIAEgAhCvAQ8LIANBqJkBEJIBIARBiJoBEJIBIABBiJoBQeiaARCQASABQaiZAUHImwEQkAEgA0GomQFBqJwBEJABIARBiJoBQYidARCQASAAQeAAakGInQFB6J0BEJABIAFB4ABqQaicAUHIngEQkAFB6JoBQcibARCZAQRAQeidAUHIngEQmQEEQCAAIAIQrQEPCwtByJsBQeiaAUGonwEQlAFByJ4BQeidAUGIoAEQlAFBqJ8BQaifAUHooAEQkwFB6KABQeigARCSAUGonwFB6KABQcihARCQAUGIoAFBiKABQaiiARCTAUHomgFB6KABQeijARCQAUGoogFBiKMBEJIBQeijAUHoowFByKQBEJMBQYijAUHIoQEgAhCUASACQcikASACEJQBQeidAUHIoQFBqKUBEJABQailAUGopQFBqKUBEJMBQeijASACIAJB4ABqEJQBIAJB4ABqQaiiASACQeAAahCQASACQeAAakGopQEgAkHgAGoQlAEgAyAEIAJBwAFqEJMBIAJBwAFqIAJBwAFqEJIBIAJBwAFqQaiZASACQcABahCUASACQcABakGImgEgAkHAAWoQlAEgAkHAAWpBqJ8BIAJBwAFqEJABCxgAIAAgARCPASAAQeAAaiABQeAAahCVAQsnACAAIAEQjwEgAEHgAGogAUHgAGoQlQEgAEHAAWogAUHAAWoQjwELFgAgAUGIpgEQsQEgAEGIpgEgAhCuAQsWACABQaioARCxASAAQaioASACEK8BCxYAIAFByKoBELIBIABByKoBIAIQsAELGAAgACABEJgBIABB4ABqIAFB4ABqEJgBCycAIAAgARCYASAAQeAAaiABQeAAahCYASAAQcABaiABQcABahCYAQsYACAAIAEQlwEgAEHgAGogAUHgAGoQlwELJwAgACABEJcBIABB4ABqIAFB4ABqEJcBIABBwAFqIAFBwAFqEJcBC14AIAAQowEEQCABEI0BIAFB4ABqEI0BBSAAQcABakHorAEQmgFB6KwBQcitARCSAUHorAFByK0BQaiuARCQASAAQcitASABEJABIABB4ABqQaiuASABQeAAahCQAQsLvgEFAX8BfwF/AX8Bf0EAKAIA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aiAAIARBoAJqEPYBIARBoAJqIAFBqJMDIARBoAJqEJsCIARBoAJqQeiOAyAEQaACahD3ASAEQaACakGIkQMgBEGgAmoQ9wFBiJEDIAQQ8wEgBCAEEIICIARB6I4DIAQQ9gELUAAgASAAQTBqQYiUAxAUIAFBMGogAEEwakG4lAMQFCABQeAAaiAAQeiUAxAUIAFBkAFqIABBmJUDEBQgAiABQcABakHolANBiJQDIAIQnAILbAAgAEHItwQgARCQASAAQeAAakGouAQgAUHgAGoQkAEgAEHAAWpBiLkEIAFBwAFqEJABIABBoAJqQei5BCABQaACahCQASAAQYADakHIugQgAUGAA2oQkAEgAEHgA2pBqLsEIAFB4ANqEJABC4oCACAAIAEQACAAQTBqIAFBMGoQEiABQYi8BCABEJABIABB4ABqIAFB4ABqEAAgAEGQAWogAUGQAWoQEiABQeAAakHovAQgAUHgAGoQkAEgAEHAAWogAUHAAWoQACAAQfABaiABQfABahASIAFBwAFqQci9BCABQcABahCQASAAQaACaiABQaACahAAIABB0AJqIAFB0AJqEBIgAUGgAmpBqL4EIAFBoAJqEJABIABBgANqIAFBgANqEAAgAEGwA2ogAUGwA2oQEiABQYADakGIvwQgAUGAA2oQkAEgAEHgA2ogAUHgA2oQACAAQZAEaiABQZAEahASIAFB4ANqQei/BCABQeADahCQAQtsACAAQcjABCABEJABIABB4ABqQajBBCABQeAAahCQASAAQcABakGIwgQgAUHAAWoQkAEgAEGgAmpB6MIEIAFBoAJqEJABIABBgANqQcjDBCABQYADahCQASAAQeADakGoxAQgAUHgA2oQkAELigIAIAAgARAAIABBMGogAUEwahASIAFBiMUEIAEQkAEgAEHgAGogAUHgAGoQACAAQZABaiABQZABahASIAFB4ABqQejFBCABQeAAahCQASAAQcABaiABQcABahAAIABB8AFqIAFB8AFqEBIgAUHAAWpByMYEIAFBwAFqEJABIABBoAJqIAFBoAJqEAAgAEHQAmogAUHQAmoQEiABQaACakGoxwQgAUGgAmoQkAEgAEGAA2ogAUGAA2oQACAAQbADaiABQbADahASIAFBgANqQYjIBCABQYADahCQASAAQeADaiABQeADahAAIABBkARqIAFBkARqEBIgAUHgA2pB6MgEIAFB4ANqEJABC2wAIABByMkEIAEQkAEgAEHgAGpBqMoEIAFB4ABqEJABIABBwAFqQYjLBCABQcABahCQASAAQaACakHoywQgAUGgAmoQkAEgAEGAA2pByMwEIAFBgANqEJABIABB4ANqQajNBCABQeADahCQAQuKAgAgACABEAAgAEEwaiABQTBqEBIgAUGIzgQgARCQASAAQeAAaiABQeAAahAAIABBkAFqIAFBkAFqEBIgAUHgAGpB6M4EIAFB4ABqEJABIABBwAFqIAFBwAFqEAAgAEHwAWogAUHwAWoQEiABQcABakHIzwQgAUHAAWoQkAEgAEGgAmogAUGgAmoQACAAQdACaiABQdACahASIAFBoAJqQajQBCABQaACahCQASAAQYADaiABQYADahAAIABBsANqIAFBsANqEBIgAUGAA2pBiNEEIAFBgANqEJABIABB4ANqIAFB4ANqEAAgAEGQBGogAUGQBGoQEiABQeADakHo0QQgAUHgA2oQkAELbAAgAEHI0gQgARCQASAAQeAAakGo0wQgAUHgAGoQkAEgAEHAAWpBiNQEIAFBwAFqEJABIABBoAJqQejUBCABQaACahCQASAAQYADakHI1QQgAUGAA2oQkAEgAEHgA2pBqNYEIAFB4ANqEJABC4oCACAAIAEQACAAQTBqIAFBMGoQEiABQYjXBCABEJABIABB4ABqIAFB4ABqEAAgAEGQAWogAUGQAWoQEiABQeAAakHo1wQgAUHgAGoQkAEgAEHAAWogAUHAAWoQACAAQfABaiABQfABahASIAFBwAFqQcjYBCABQcABahCQASAAQaACaiABQaACahAAIABB0AJqIAFB0AJqEBIgAUGgAmpBqNkEIAFBoAJqEJABIABBgANqIAFBgANqEAAgAEGwA2ogAUGwA2oQEiABQYADakGI2gQgAUGAA2oQkAEgAEHgA2ogAUHgA2oQACAAQZAEaiABQZAEahASIAFB4ANqQejaBCABQeADahCQAQtsACAAQcjbBCABEJABIABB4ABqQajcBCABQeAAahCQASAAQcABakGI3QQgAUHAAWoQkAEgAEGgAmpB6N0EIAFBoAJqEJABIABBgANqQcjeBCABQYADahCQASAAQeADakGo3wQgAUHgA2oQkAELigIAIAAgARAAIABBMGogAUEwahASIAFBiOAEIAEQkAEgAEHgAGogAUHgAGoQACAAQZABaiABQZABahASIAFB4ABqQejgBCABQeAAahCQASAAQcABaiABQcABahAAIABB8AFqIAFB8AFqEBIgAUHAAWpByOEEIAFBwAFqEJABIABBoAJqIAFBoAJqEAAgAEHQAmogAUHQAmoQEiABQaACakGo4gQgAUGgAmoQkAEgAEGAA2ogAUGAA2oQACAAQbADaiABQbADahASIAFBgANqQYjjBCABQYADahCQASAAQeADaiABQeADahAAIABBkARqIAFBkARqEBIgAUHgA2pB6OMEIAFB4ANqEJABC9gEACAAQcABakHI5AQQkgEgAUHgAGpBqOUEEJIBQcjkBCABQejmBBCQASABQeAAaiAAQcABaiACQeAAahCTASACQeAAaiACQeAAahCSASACQeAAakGo5QQgAkHgAGoQlAEgAkHgAGpByOQEIAJB4ABqEJQBIAJB4ABqQcjkBCACQeAAahCQAUHo5gQgAEHI5wQQlAFByOcEQajoBBCSAUGo6ARBqOgEQYjpBBCTAUGI6QRBiOkEQYjpBBCTAUGI6QRByOcEQejpBBCQASACQeAAaiAAQeAAakHI6gQQlAFByOoEIABB4ABqQcjqBBCUAUHI6gQgASACQcABahCQAUGI6QQgAEGo6wQQkAFByOoEIAAQkgEgAEHo6QQgABCUASAAQajrBCAAEJQBIABBqOsEIAAQlAEgAEHAAWpByOcEIABBwAFqEJMBIABBwAFqIABBwAFqEJIBIABBwAFqQcjkBCAAQcABahCUASAAQcABakGo6AQgAEHAAWoQlAEgAUHgAGogAEHAAWogAhCTAUGo6wQgAEGI7AQQlAFBiOwEQcjqBEGI7AQQkAEgAEHgAGpB6OkEQejmBBCQAUHo5gRB6OYEQejmBBCTAUGI7ARB6OYEIABB4ABqEJQBIAIgAhCSASACQajlBCACEJQBIABBwAFqQYjmBBCSASACQYjmBCACEJQBIAJBwAFqIAJBwAFqIAJBwAFqEJMBIAJBwAFqIAIgAkHAAWoQlAEgAEHAAWogAEHAAWogAhCTAUHI6gRByOoEEJUBQcjqBEHI6gQgAkHgAGoQkwELsgQAIAAgARCSASAAQeAAakHI7QQQkgFByO0EQajuBBCSAUHI7QQgACABQeAAahCTASABQeAAaiABQeAAahCSASABQeAAaiABIAFB4ABqEJQBIAFB4ABqQajuBCABQeAAahCUASABQeAAaiABQeAAaiABQeAAahCTASABIAFBiO8EEJMBQYjvBCABQYjvBBCTASAAQYjvBCABQcABahCTAUGI7wRB6O8EEJIBIABBwAFqQejsBBCSAUHo7wQgAUHgAGogABCUASAAIAFB4ABqIAAQlAEgAEHAAWogAEHgAGogAEHAAWoQkwEgAEHAAWogAEHAAWoQkgEgAEHAAWpByO0EIABBwAFqEJQBIABBwAFqQejsBCAAQcABahCUASABQeAAaiAAIABB4ABqEJQBIABB4ABqQYjvBCAAQeAAahCQAUGo7gRBqO4EQajuBBCTAUGo7gRBqO4EQajuBBCTAUGo7gRBqO4EQajuBBCTASAAQeAAakGo7gQgAEHgAGoQlAFBiO8EQejsBCABQeAAahCQASABQeAAaiABQeAAaiABQeAAahCTASABQeAAaiABQeAAahCVASABQcABaiABQcABahCSASABQcABaiABIAFBwAFqEJQBIAFBwAFqQejvBCABQcABahCUAUHI7QRByO0EQcjtBBCTAUHI7QRByO0EQcjtBBCTASABQcABakHI7QQgAUHAAWoQlAEgAEHAAWpB6OwEIAEQkAEgASABIAEQkwELCAAgACABEGgLbQIBfwF/IAAgARC8ASABEKMBBEAPCyABQcjwBBCnASABQaACaiECQT4hAwJAA0BByPAEIAIQqQIgAkGgAmohAiADLADoiQMEQEHI8AQgASACEKgCIAJBoAJqIQILIANFDQEgA0EBayEDDAALCwuAAQIBfwF/IAIQhgIgABBPBEAPCyABEE8EQA8LIAFBoAJqIQNBPiEEAkADQCAAIAMgAhCdAiADQaACaiEDIAQsAOiJAwRAIAAgAyACEJ0CIANBoAJqIQMLIAIgAhCKAiAEQQFGDQEgBEEBayEEDAALCyAAIAMgAhCdAiACIAIQjgILEAAgAEHo8gRBoAQgARCXAgvsBQAgACAAQYADakHI+wQQkAEgAEGAA2pBiPcEEO4BIABBiPcEQYj3BBCTASAAIABBgANqQaj8BBCTAUGo/ARBiPcEQYj3BBCQAUHI+wRBqPwEEO4BQcj7BEGo/ARBqPwEEJMBQYj3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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAA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GP////8AAAAAAaQBAP1bQqz6J1729yfGzLeCYtasWBIMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAA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",pq:760,pr:3640,pG1gen:33752,pG1zero:33896,pG1b:5016,pG2gen:34040,pG2zero:34328,pG2b:14728,pOneT:34616,prePSize:288,preQSize:20448,n8q:48,n8r:32,q:"4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559787",r:"52435875175126190479447740508185965837690552500527637822603658699938581184513"}};var GA=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<<BigInt(8*i),i+=4):t>=2?(t-=2,I+=BigInt(g.getUint16(t))<<BigInt(8*i),i+=2):(t-=1,I+=BigInt(g.getUint8(t))<<BigInt(8*i),i+=1);return I},beInt2Buff:function(A,I){let t=A;const i=new Uint8Array(I),g=new DataView(i.buffer);let C=I;for(;C>0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t<A.length;)t+4<=A.length?(I+=BigInt(i.getUint32(t,!0))<<BigInt(8*t),t+=4):t+4<=A.length?(I+=BigInt(i.getUint16(t,!0))<<BigInt(8*t),t+=2):(I+=BigInt(i.getUint8(t,!0))<<BigInt(8*t),t+=1);return I},leInt2Buff:function(A,I){let t=A;void 0===I&&0==(I=Math.floor((L(A)-1)/8)+1)&&(I=1);const i=new Uint8Array(I),g=new DataView(i.buffer);let C=0;for(;C<I;)C+4<=I?(g.setUint32(C,Number(0xFFFFFFFFn&t),!0),C+=4,t>>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var UA=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[A.length-t-1]);I=I.add(i.shiftLeft(8*t))}return I},beInt2Buff:function(A,I){let t=A,i=I-1;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i>=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[t]);I=I.add(i.shiftLeft(8*t))}return I},leInt2Buff:function(A,I){let t=A,i=0;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i<g.length;){let A=Number(t.and(r(255)));g[i]=A,i++,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g}});let HA={};"function"==typeof BigInt?Object.assign(HA,GA):Object.assign(HA,UA);const LA=[];for(let A=0;A<256;A++)LA[A]=kA(A,8);function kA(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}HA.bitReverse=function(A,I){return(LA[A>>>24]|LA[A>>>16&255]<<8|LA[A>>>8&255]<<16|LA[255&A]<<24)>>>32-I},HA.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},HA.buffReverseBits=function(A,I){const t=A.byteLength/I,i=HA.log2(t);if(t!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<t;g++){const t=HA.bitReverse(g,i);if(g>t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};let{bitReverse:NA,log2:bA,buffReverseBits:SA,stringifyBigInts:RA,unstringifyBigInts:JA,beBuff2int:vA,beInt2Buff:qA,leBuff2int:YA,leInt2Buff:PA}=HA;var xA=Object.freeze({__proto__:null,bitReverse:NA,log2:bA,buffReverseBits:SA,stringifyBigInts:RA,unstringifyBigInts:JA,beBuff2int:vA,beInt2Buff:qA,leBuff2int:YA,leInt2Buff:PA});function OA(A,I,t,i){return async function(g){const C=Math.floor(g.byteLength/t);if(C*t!==g.byteLength)throw new Error("Invalid buffer size");const Q=Math.floor(C/A.concurrency),e=[];for(let n=0;n<A.concurrency;n++){let B;if(B=n<A.concurrency-1?Q:C-n*Q,0==B)continue;const r=[{cmd:"ALLOCSET",var:0,buff:g.slice(n*Q*t,n*Q*t+B*t)},{cmd:"ALLOC",var:1,len:i*B},{cmd:"CALL",fnName:I,params:[{var:0},{val:B},{var:1}]},{cmd:"GET",out:0,var:1,len:i*B}];e.push(A.queueAction(r))}const n=await Promise.all(e),B=new Uint8Array(C*i);let r=0;for(let A=0;A<n.length;A++)B.set(n[A][0],r),r+=n[A][0].byteLength;return B}}class XA{constructor(A,I,t,i){if(this.tm=A,this.prefix=I,this.p=i,this.n8=t,this.type="F1",this.m=1,this.half=S(i,d),this.bitLength=L(i),this.mask=X(b(d,this.bitLength),d),this.pOp1=A.alloc(t),this.pOp2=A.alloc(t),this.pOp3=A.alloc(t),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(t/8),this.n32=Math.floor(t/4),8*this.n64!=this.n8)throw new Error("n8 must be a multiple of 8");this.half=S(this.p,d),this.nqr=this.two;let g=this.exp(this.nqr,this.half);for(;!this.eq(g,this.negone);)this.nqr=this.add(this.nqr,this.one),g=this.exp(this.nqr,this.half);this.s=0;let C=X(this.p,d);for(;!v(C);)this.s=this.s+1,C=S(C,d);this.w=[],this.w[this.s]=this.exp(this.nqr,C);for(let A=this.s-1;A>=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=OA(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=OA(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=M(U(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let t=U(A,I);k(t)?(t=Z(t),tA(t,this.p)&&(t=_(t,this.p)),t=X(this.p,t)):tA(t,this.p)&&(t=_(t,this.p));const i=PA(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=p(t,0);return F(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=m;for(let t=0;t<this.n64;t++)I=O(I,b(A.nextU64(),64*t));I=CA(I,this.mask)}while(gA(I,this.p));return u(t,0,I,this.n8),t}random(){return this.fromRng(yA())}toObject(A){const I=this.fromMontgomery(A);return p(I,0)}fromObject(A){const I=new Uint8Array(this.n8);return u(I,0,A,this.n8),this.toMontgomery(I)}toRprLE(A,I,t){A.set(this.fromMontgomery(t),I)}fromRprLE(A,I){const t=A.slice(I,I+this.n8);return this.toMontgomery(t)}}class ZA{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F2",this.m=2*t.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=A.alloc(2*t.n8),this.pOp2=A.alloc(2*t.n8),this.pOp3=A.alloc(2*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}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)}isNegative(A){return this.op1Bool("_isNegative",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)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&2==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=new Uint8Array(2*this.F.n8);return g.set(t),g.set(i,2*this.F.n8),g}throw new Error("invalid F2")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=new Uint8Array(2*this.F.n8);return i.set(I),i.set(t,this.F.n8),i}random(){return this.fromRng(yA())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8))]}fromObject(A){const I=new Uint8Array(2*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]);return I.set(t),I.set(i,this.F.n8),I}}class jA{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F3",this.m=3*t.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}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)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}add(A,I){return this.op2("_add",A,I)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",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.getBuff(this.pOp3,this.n8)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&3==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=this.F.e(A[2],I),C=new Uint8Array(3*this.F.n8);return C.set(t),C.set(i,this.F.n8),C.set(g,2*this.F.n8),C}throw new Error("invalid F3")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=this.F.fromRng(A),g=new Uint8Array(3*this.F.n8);return g.set(I),g.set(t,this.F.n8),g.set(i,2*this.F.n8),g}random(){return this.fromRng(yA())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8)),this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8))]}fromObject(A){const I=new Uint8Array(3*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]),g=this.F.fromObject(A[2]);return I.set(t),I.set(i,this.F.n8),I.set(g,2*this.F.n8),I}}class KA{constructor(A,I,t,i,g,C){this.tm=A,this.prefix=I,this.F=t,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*t.n8),this.tm.instance.exports[I+"_zeroAffine"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*t.n8),this.one=this.tm.getBuff(i,3*t.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(i,2*t.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(g,t.n8),C&&(this.cofactor=M(C)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=OA(A,I+"_batchLEMtoC",2*t.n8,t.n8),this.batchLEMtoU=OA(A,I+"_batchLEMtoU",2*t.n8,2*t.n8),this.batchCtoLEM=OA(A,I+"_batchCtoLEM",t.n8,2*t.n8),this.batchUtoLEM=OA(A,I+"_batchUtoLEM",2*t.n8,2*t.n8),this.batchToJacobian=OA(A,I+"_batchToJacobian",2*t.n8,3*t.n8),this.batchToAffine=OA(A,I+"_batchToAffine",3*t.n8,2*t.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,3*this.F.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,this.pOp3)}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,3*this.F.n8)}op1Affine(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,2*this.F.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){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_add",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_addMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_addMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_addAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}sub(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_sub",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_subMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_subMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_subAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}neg(A){if(A.byteLength==3*this.F.n8)return this.op1("_neg",A);if(A.byteLength==2*this.F.n8)return this.op1Affine("_negAffine",A);throw new Error("invalid point size")}double(A){if(A.byteLength==3*this.F.n8)return this.op1("_double",A);if(A.byteLength==2*this.F.n8)return this.op1("_doubleAffine",A);throw new Error("invalid point size")}isZero(A){if(A.byteLength==3*this.F.n8)return this.op1Bool("_isZero",A);if(A.byteLength==2*this.F.n8)return this.op1Bool("_isZeroAffine",A);throw new Error("invalid point size")}timesScalar(A,I){let t;if(I instanceof Uint8Array||(I=M(U(I))),A.byteLength==3*this.F.n8)t=this.prefix+"_timesScalar";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesScalarAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(A,I){let t;if(A.byteLength==3*this.F.n8)t=this.prefix+"_timesFr";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesFrAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eq",A,I);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eqMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}toAffine(A){if(A.byteLength==3*this.F.n8)return this.op1Affine("_toAffine",A);if(A.byteLength==2*this.F.n8)return A;throw new Error("invalid point size")}toJacobian(A){if(A.byteLength==3*this.F.n8)return A;if(A.byteLength==2*this.F.n8)return this.op1("_toJacobian",A);throw new Error("invalid point size")}toRprUncompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoU"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}fromRprUncompressed(A,I){const t=A.slice(I,I+2*this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_UtoLEM"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoC"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,this.F.n8);A.set(i,I)}fromRprCompressed(A,I){const t=A.slice(I,I+this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_CtoLEM"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(A){const I=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(I,0,A),I}toRprLEM(A,I,t){if(t.byteLength!=2*this.F.n8){if(t.byteLength!=3*this.F.n8)throw new Error("invalid point size");{this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}}else A.set(t,I)}fromRprLEM(A,I){return I=I||0,A.slice(I,I+2*this.F.n8)}toString(A,I){if(A.byteLength==3*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)} ]`}if(A.byteLength==2*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)} ]`}throw new Error("invalid point size")}fromRng(A){const I=this.F;let t,i,g=[];do{g[0]=I.fromRng(A),t=A.nextBool(),i=I.add(I.mul(I.square(g[0]),g[0]),this.b)}while(!I.isSquare(i));g[1]=I.sqrt(i);t^I.isNegative(g[1])&&(g[1]=I.neg(g[1]));let C=new Uint8Array(2*this.F.n8);return C.set(g[0]),C.set(g[1],this.F.n8),this.cofactor&&(C=this.timesScalar(C,this.cofactor)),C}toObject(A){if(this.isZero(A))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const I=this.F.toObject(A.slice(0,this.F.n8)),t=this.F.toObject(A.slice(this.F.n8,2*this.F.n8));let i;return i=A.byteLength==3*this.F.n8?this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[I,t,i]}fromObject(A){const I=this.F.fromObject(A[0]),t=this.F.fromObject(A[1]);let i;if(i=3==A.length?this.F.fromObject(A[2]):this.F.one,this.F.isZero(i,this.F.one))return this.zeroAffine;if(this.F.eq(i,this.F.one)){const A=new Uint8Array(2*this.F.n8);return A.set(I),A.set(t,this.F.n8),A}{const A=new Uint8Array(3*this.F.n8);return A.set(I),A.set(t,this.F.n8),A.set(i,2*this.F.n8),A}}e(A){return A instanceof Uint8Array?A:this.fromObject(A)}}function VA(A){let I,t,i,g;async function C(A){const C=new Uint8Array(A.code),Q=await WebAssembly.compile(C);t=new WebAssembly.Memory({initial:A.init}),i=new Uint32Array(t.buffer),g=new Uint8Array(t.buffer),I=await WebAssembly.instantiate(Q,{env:{memory:t}})}function Q(A){for(;3&i[0];)i[0]++;const I=i[0];for(i[0]+=A;i[0]>t.buffer.byteLength;)t.grow(100);return I}function e(A){const I=Q(A.byteLength);return n(I,A),I}function n(A,I){g.set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return C(A[0]);const t={vars:[],out:[]},B=i[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=e(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=Q(A[i].len);break;case"SET":n(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const C=A[i].params[I];void 0!==C.var?g.push(t.vars[C.var]+(C.offset||0)):void 0!==C.val&&g.push(C.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=(r=t.vars[A[i].var],E=A[i].len,new Uint8Array(g.buffer,g.byteOffset+r,E)).slice();break;default:throw new Error("Invalid cmd")}var r,E;return i[0]=B,t.out}return A&&(A.onmessage=function(I){let t;if(t=I.data?I.data:I,"INIT"==t[0].cmd)C(t[0]).then((function(){A.postMessage(t.result)}));else if("TERMINATE"==t[0].cmd)process.exit();else{const I=B(t);A.postMessage(I)}}),B}const zA="undefined"!=typeof window;let WA;zA||(WA=DA.Worker);class TA{constructor(){this.promise=new Promise((A,I)=>{this.reject=I,this.resolve=A})}}function _A(A){for(var I=window.atob(A),t=I.length,i=new Uint8Array(t),g=0;g<t;g++)i[g]=I.charCodeAt(g);return i}class $A{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error("Sync operation in progress");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error("No sync operation in progress");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(A,I,t,i){if(this.working[A])throw new Error("Posting a job t a working worker");return this.working[A]=!0,this.pendingDeferreds[A]=i||new TA,this.workers[A].postMessage(I,t),this.pendingDeferreds[A].promise}processWorks(){for(let A=0;A<this.workers.length&&this.actionQueue.length>0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const t=new TA;if(this.singleThread){const I=this.taskManager(A);t.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:t}),this.processWorks();return t.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;A<this.workers.length;A++)this.workers[A].postMessage([{cmd:"TERMINATE"}]);var A;await(A=200,new Promise(I=>setTimeout(I,A)))}}function AI(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,C,Q,e,n){let B,r,E,h,o;if(e=e||"affine",n=n||"affine","G1"==I)"jacobian"==e?(E=3*t.F.n8,B="g1m_batchApplyKey"):(E=2*t.F.n8,B="g1m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g1m_batchToAffine",o=2*t.F.n8);else if("G2"==I)"jacobian"==e?(E=3*t.F.n8,B="g2m_batchApplyKey"):(E=2*t.F.n8,B="g2m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g2m_batchToAffine",o=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",E=t.n8,h=t.n8,o=t.n8}const s=Math.floor(A.byteLength/E),a=Math.floor(s/g.concurrency),f=[];Q=i.e(Q);let w=i.e(C);for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?a:s-I*a,0==t)continue;const C=[];C.push({cmd:"ALLOCSET",var:0,buff:A.slice(I*a*E,I*a*E+t*E)}),C.push({cmd:"ALLOCSET",var:1,buff:w}),C.push({cmd:"ALLOCSET",var:2,buff:Q}),C.push({cmd:"ALLOC",var:3,len:t*Math.max(h,o)}),C.push({cmd:"CALL",fnName:B,params:[{var:0},{val:t},{var:1},{var:2},{var:3}]}),r&&C.push({cmd:"CALL",fnName:r,params:[{var:3},{val:t},{var:3}]}),C.push({cmd:"GET",out:0,var:3,len:t*o}),f.push(g.queueAction(C)),w=i.mul(w,i.exp(Q,t))}const D=await Promise.all(f),c=new Uint8Array(s*o);let u=0;for(let A=0;A<D.length;A++)c.set(D[A][0],u),u+=D[A][0].byteLength;return c}}const II=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function tI(A,I){const t=A[I];async function i(A,i,g){let C,Q;if(g=g||"affine","G1"==I)"affine"==g?(Q="g1m_multiexpAffine_chunk",C=2*t.F.n8):(Q="g1m_multiexp_chunk",C=3*t.F.n8);else{if("G2"!=I)throw new Error("Invalid group");"affine"==g?(Q="g2m_multiexpAffine_chunk",C=2*t.F.n8):(Q="g2m_multiexp_chunk",C=3*t.F.n8)}const e=Math.floor(A.byteLength/C),n=Math.floor(i.byteLength/e);if(n*e!=i.byteLength)throw new Error("Scalar size does not match");const B=II[bA(e)],r=Math.floor((8*n-1)/B)+1,E=[];for(let I=0;I<r;I++){const g=[{cmd:"ALLOCSET",var:0,buff:A},{cmd:"ALLOCSET",var:1,buff:i},{cmd:"ALLOC",var:2,len:3*t.F.n8},{cmd:"CALL",fnName:Q,params:[{var:0},{var:1},{val:n},{val:e},{val:I*B},{val:Math.min(8*n-I*B,B)},{var:2}]},{cmd:"GET",out:0,var:2,len:3*t.F.n8}];E.push(t.tm.queueAction(g))}const h=await Promise.all(E);let o=t.zero;for(let A=h.length-1;A>=0;A--){if(!t.isZero(o))for(let A=0;A<B;A++)o=t.double(o);o=t.add(o,h[A][0])}return o}t.multiExp=async function(A,I){return await i(A,I,"jacobian")},t.multiExpAffine=async function(A,I){return await i(A,I,"affine")}}function iI(A,I){const t=A[I],i=A.Fr,g=t.tm;async function C(C,Q,e,n,B){e=e||"affine",n=n||"affine";let r,E,h,o,s,a,f,w,D;"G1"==I?("affine"==e?(r=2*t.F.n8,o="g1m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,Q?(a="g1m_ifft",D="g1m_fftFinal"):a="g1m_fft",w="g1m_fftJoin",f="g1m_fftMix","affine"==n?(h=2*t.F.n8,s="g1m_batchToAffine"):h=3*t.F.n8):"G2"==I?("affine"==e?(r=2*t.F.n8,o="g2m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,Q?(a="g2m_ifft",D="g2m_fftFinal"):a="g2m_fft",w="g2m_fftJoin",f="g2m_fftMix","affine"==n?(h=2*t.F.n8,s="g2m_batchToAffine"):h=3*t.F.n8):"Fr"==I&&(r=t.n8,E=t.n8,h=t.n8,Q?(a="frm_ifft",D="frm_fftFinal"):a="frm_fft",f="frm_fftMix",w="frm_fftJoin");let c=!1;Array.isArray(C)&&(C=A.array2buffer(C,r),c=!0);const u=C.byteLength/r,y=bA(u);if(1<<y!=u)throw new Error("fft must be multiple of 2");let p,l;if(Q&&(p=i.inv(i.e(u))),u<=4096){const A=[];A.push({cmd:"ALLOC",var:0,len:E*u}),A.push({cmd:"SET",var:0,buff:C}),o&&A.push({cmd:"CALL",fnName:o,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"CALL",fnName:a,params:[{var:0},{val:u}]}),s&&A.push({cmd:"CALL",fnName:s,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"GET",out:0,var:0,len:h*u});l=(await g.queueAction(A))[0]}else{let A;SA(C,r);const I=4096,t=u/I,e=[];for(let A=0;A<t;A++){const i=[];i.push({cmd:"ALLOC",var:0,len:E*I});const Q=C.slice(I*A*r,I*(A+1)*r);i.push({cmd:"SET",var:0,buff:Q}),o&&i.push({cmd:"CALL",fnName:o,params:[{var:0},{val:I},{var:0}]});for(let A=1;A<=12;A++)i.push({cmd:"CALL",fnName:f,params:[{var:0},{val:I},{val:A}]});i.push({cmd:"GET",out:0,var:0,len:E*I}),e.push(g.queueAction(i).then(I=>(B&&B.debug(`fft: ${A}/${t}`),I)))}A=await Promise.all(e);for(let I=0;I<t;I++)A[I]=A[I][0];for(let C=13;C<=y;C++){B&&B.debug(`fft join ${C}/${y}`);const Q=1<<y-C,e=t/Q,n=[];for(let t=0;t<Q;t++)for(let Q=0;Q<e/2;Q++){const B=i.exp(i.w[C],Q*I),r=i.w[C],o=t*e+Q,a=t*e+Q+e/2,f=[];f.push({cmd:"ALLOCSET",var:0,buff:A[o]}),f.push({cmd:"ALLOCSET",var:1,buff:A[a]}),f.push({cmd:"ALLOCSET",var:2,buff:B}),f.push({cmd:"ALLOCSET",var:3,buff:r}),f.push({cmd:"CALL",fnName:w,params:[{var:0},{var:1},{val:I},{var:2},{var:3}]}),C==y?(D&&(f.push({cmd:"ALLOCSET",var:4,buff:p}),f.push({cmd:"CALL",fnName:D,params:[{var:0},{val:I},{var:4}]}),f.push({cmd:"CALL",fnName:D,params:[{var:1},{val:I},{var:4}]})),s&&(f.push({cmd:"CALL",fnName:s,params:[{var:0},{val:I},{var:0}]}),f.push({cmd:"CALL",fnName:s,params:[{var:1},{val:I},{var:1}]})),f.push({cmd:"GET",out:0,var:0,len:I*h}),f.push({cmd:"GET",out:1,var:1,len:I*h})):(f.push({cmd:"GET",out:0,var:0,len:I*E}),f.push({cmd:"GET",out:1,var:1,len:I*E})),n.push(g.queueAction(f))}const r=await Promise.all(n);for(let I=0;I<Q;I++)for(let t=0;t<e/2;t++){const i=I*e+t,g=I*e+t+e/2,C=r.shift();A[i]=C[0],A[g]=C[1]}}if(l=new Uint8Array(u*h),Q){l.set(A[0].slice((I-1)*h));let i=h;for(let g=t-1;g>0;g--)l.set(A[g],i),i+=I*h,delete A[g];l.set(A[0].slice(0,(I-1)*h),i),delete A[0]}else for(let i=0;i<t;i++)l.set(A[i],I*h*i),delete A[i]}return c?A.buffer2array(l,h):l}t.fft=async function(A,I,t,i){return await C(A,!1,I,t,i)},t.ifft=async function(A,I,t,i){return await C(A,!0,I,t,i)},t.fftMix=async function(A){const C=3*t.F.n8;let Q,e;if("G1"==I)Q="g1m_fftMix",e="g1m_fftJoin";else if("G2"==I)Q="g2m_fftMix",e="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");Q="frm_fftMix",e="frm_fftJoin"}const n=Math.floor(A.byteLength/C),B=bA(n);let r=1<<bA(g.concurrency);n<=2*r&&(r=1);const E=n/r,h=bA(E),o=[];for(let I=0;I<r;I++){const t=[],i=A.slice(I*E*C,(I+1)*E*C);t.push({cmd:"ALLOCSET",var:0,buff:i});for(let A=1;A<=h;A++)t.push({cmd:"CALL",fnName:Q,params:[{var:0},{val:E},{val:A}]});t.push({cmd:"GET",out:0,var:0,len:E*C}),o.push(g.queueAction(t))}const s=await Promise.all(o),a=[];for(let A=0;A<s.length;A++)a[A]=s[A][0];for(let A=h+1;A<=B;A++){const I=1<<B-A,t=r/I,Q=[];for(let n=0;n<I;n++)for(let I=0;I<t/2;I++){const B=i.exp(i.w[A],I*E),r=i.w[A],h=n*t+I,o=n*t+I+t/2,s=[];s.push({cmd:"ALLOCSET",var:0,buff:a[h]}),s.push({cmd:"ALLOCSET",var:1,buff:a[o]}),s.push({cmd:"ALLOCSET",var:2,buff:B}),s.push({cmd:"ALLOCSET",var:3,buff:r}),s.push({cmd:"CALL",fnName:e,params:[{var:0},{var:1},{val:E},{var:2},{var:3}]}),s.push({cmd:"GET",out:0,var:0,len:E*C}),s.push({cmd:"GET",out:1,var:1,len:E*C}),Q.push(g.queueAction(s))}const n=await Promise.all(Q);for(let A=0;A<I;A++)for(let I=0;I<t/2;I++){const i=A*t+I,g=A*t+I+t/2,C=n.shift();a[i]=C[0],a[g]=C[1]}}const f=new Uint8Array(n*C);let w=0;for(let A=0;A<r;A++)f.set(a[A],w),w+=a[A].byteLength;return f},t.fftJoin=async function(A,C,Q,e){const n=3*t.F.n8;let B;if("G1"==I)B="g1m_fftJoin";else{if("G2"!=I)throw new Error("Invalid group");B="g2m_fftJoin"}if(A.byteLength!=C.byteLength)throw new Error("Invalid buffer size");const r=Math.floor(A.byteLength/n);if(r!=1<<bA(r))throw new Error("Invalid number of points");let E=1<<bA(g.concurrency);r<=2*E&&(E=1);const h=r/E,o=[];for(let I=0;I<E;I++){const t=[],r=i.mul(Q,i.exp(e,I*h)),E=A.slice(I*h*n,(I+1)*h*n),s=C.slice(I*h*n,(I+1)*h*n);t.push({cmd:"ALLOCSET",var:0,buff:E}),t.push({cmd:"ALLOCSET",var:1,buff:s}),t.push({cmd:"ALLOCSET",var:2,buff:r}),t.push({cmd:"ALLOCSET",var:3,buff:e}),t.push({cmd:"CALL",fnName:B,params:[{var:0},{var:1},{val:h},{var:2},{var:3}]}),t.push({cmd:"GET",out:0,var:0,len:h*n}),t.push({cmd:"GET",out:1,var:1,len:h*n}),o.push(g.queueAction(t))}const s=await Promise.all(o),a=new Uint8Array(r*n),f=new Uint8Array(r*n);let w=0;for(let A=0;A<s.length;A++)a.set(s[A][0],w),f.set(s[A][1],w),w+=s[A][0].byteLength;return[a,f]},t.fftFinal=async function(A,i){const C=3*t.F.n8,Q=2*t.F.n8;let e,n;if("G1"==I)e="g1m_fftFinal",n="g1m_batchToAffine";else{if("G2"!=I)throw new Error("Invalid group");e="g2m_fftFinal",n="g2m_batchToAffine"}const B=Math.floor(A.byteLength/C);if(B!=1<<bA(B))throw new Error("Invalid number of points");const r=Math.floor(B/g.concurrency),E=[];for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?r:B-I*r,0==t)continue;const h=[],o=A.slice(I*r*C,(I*r+t)*C);h.push({cmd:"ALLOCSET",var:0,buff:o}),h.push({cmd:"ALLOCSET",var:1,buff:i}),h.push({cmd:"CALL",fnName:e,params:[{var:0},{val:t},{var:1}]}),h.push({cmd:"CALL",fnName:n,params:[{var:0},{val:t},{var:0}]}),h.push({cmd:"GET",out:0,var:0,len:t*Q}),E.push(g.queueAction(h))}const h=await Promise.all(E),o=new Uint8Array(B*Q);let s=0;for(let A=h.length-1;A>=0;A--)o.set(h[A][0],s),s+=h[A][0].byteLength;return o}}async function gI(A){const I=await async function(A,I){const t=new $A;t.memory=new WebAssembly.Memory({initial:4096}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(_A(A.code));if(t.instance=await WebAssembly.instantiate(i,{env:{memory:t.memory}}),t.singleThread=I,t.initalPFree=t.u32[0],t.pq=A.pq,t.pr=A.pr,t.pG1gen=A.pG1gen,t.pG1zero=A.pG1zero,t.pG2gen=A.pG2gen,t.pG2zero=A.pG2zero,t.pOneT=A.pOneT,I)t.code=_A(A.code),t.taskManager=VA(),await t.taskManager([{cmd:"INIT",init:4096,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:DA.cpus().length,t.concurrency=I;for(let A=0;A<I;A++){if(zA){const I=new Blob(["(",VA.toString(),")(self);"],{type:"text/javascript"}),i=URL.createObjectURL(I);t.workers[A]=new Worker(i),t.workers[A].onmessage=g(A)}else t.workers[A]=new WA("("+VA.toString()+")(require('worker_threads').parentPort);",{eval:!0}),t.workers[A].on("message",g(A));t.working[A]=!1}const i=[];for(let I=0;I<t.workers.length;I++){const g=_A(A.code).slice();i.push(t.postAction(I,[{cmd:"INIT",init:4096,code:g}],[g.buffer]))}await Promise.all(i)}return t;function g(A){return function(I){let i;i=I&&I.data?I.data:I,t.working[A]=!1,t.pendingDeferreds[A].resolve(i),t.processWorks()}}}(A.wasm,A.singleThread),t={};return t.q=U(A.wasm.q),t.r=U(A.wasm.r),t.name=A.name,t.tm=I,t.prePSize=A.wasm.prePSize,t.preQSize=A.wasm.preQSize,t.Fr=new XA(I,"frm",A.n8r,A.r),t.F1=new XA(I,"f1m",A.n8q,A.q),t.F2=new ZA(I,"f2m",t.F1),t.G1=new KA(I,"g1m",t.F1,A.wasm.pG1gen,A.wasm.pG1b,A.cofactorG1),t.G2=new KA(I,"g2m",t.F2,A.wasm.pG2gen,A.wasm.pG2b,A.cofactorG2),t.F6=new jA(I,"f6m",t.F2),t.F12=new ZA(I,"ftm",t.F6),t.Gt=t.F12,AI(t,"G1"),AI(t,"G2"),AI(t,"Fr"),tI(t,"G1"),tI(t,"G2"),iI(t,"G1"),iI(t,"G2"),iI(t,"Fr"),function(A){const I=A.tm;A.pairing=function(t,i){I.startSyncOp();const g=I.allocBuff(A.G1.toJacobian(t)),C=I.allocBuff(A.G2.toJacobian(i)),Q=I.alloc(A.Gt.n8);I.instance.exports[A.name+"_pairing"](g,C,Q);const e=I.getBuff(Q,A.Gt.n8);return I.endSyncOp(),e},A.pairingEq=async function(){let t,i;arguments.length%2==1?(t=arguments[arguments.length-1],i=(arguments.length-1)/2):(t=A.Gt.one,i=arguments.length/2);const g=[];for(let t=0;t<i;t++){const i=[],C=A.G1.toJacobian(arguments[2*t]);i.push({cmd:"ALLOCSET",var:0,buff:C}),i.push({cmd:"ALLOC",var:1,len:A.prePSize});const Q=A.G2.toJacobian(arguments[2*t+1]);i.push({cmd:"ALLOCSET",var:2,buff:Q}),i.push({cmd:"ALLOC",var:3,len:A.preQSize}),i.push({cmd:"ALLOC",var:4,len:A.Gt.n8}),i.push({cmd:"CALL",fnName:A.name+"_prepareG1",params:[{var:0},{var:1}]}),i.push({cmd:"CALL",fnName:A.name+"_prepareG2",params:[{var:2},{var:3}]}),i.push({cmd:"CALL",fnName:A.name+"_millerLoop",params:[{var:1},{var:3},{var:4}]}),i.push({cmd:"GET",out:0,var:4,len:A.Gt.n8}),g.push(I.queueAction(i))}const C=await Promise.all(g);I.startSyncOp();const Q=I.alloc(A.Gt.n8);I.instance.exports.ftm_one(Q);for(let A=0;A<C.length;A++){const t=I.allocBuff(C[A][0]);I.instance.exports.ftm_mul(Q,t,Q)}I.instance.exports[A.name+"_finalExponentiation"](Q,Q);const e=I.allocBuff(t),n=!!I.instance.exports.ftm_eq(Q,e);return I.endSyncOp(),n},A.prepareG1=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+"_prepareG1"](I,t);const i=this.tm.getBuff(t,this.prePSize);return this.tm.endSyncOp(),i},A.prepareG2=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+"_prepareG2"](I,t);const i=this.tm.getBuff(t,this.preQSize);return this.tm.endSyncOp(),i},A.millerLoop=function(A,I){this.tm.startSyncOp();const t=this.tm.allocBuff(A),i=this.tm.allocBuff(I),g=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_millerLoop"](t,i,g);const C=this.tm.getBuff(g,this.Gt.n8);return this.tm.endSyncOp(),C},A.finalExponentiation=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_finalExponentiation"](I,t);const i=this.tm.getBuff(t,this.Gt.n8);return this.tm.endSyncOp(),i}}(t),t.array2buffer=function(A,I){const t=new Uint8Array(I*A.length);for(let i=0;i<A.length;i++)t.set(A[i],i*I);return t},t.buffer2array=function(A,I){const t=A.length/I,i=new Array(t);for(let g=0;g<t;g++)i[g]=A.slice(g*I,g*I+I);return i},t}let CI,QI;async function eI(){if(CI)return CI;const A={name:"bn128",wasm:dA.bn128_wasm,q:U("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:U("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:U("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!1};return CI=await gI(A),CI.terminate=async function(){CI=null,await this.tm.terminate()},CI}async function nI(){if(QI)return QI;const A={name:"bls12381",wasm:dA.bls12381_wasm,q:U("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),r:U("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),n8q:48,n8r:32,cofactorG1:U("0x396c8c005555e1568c00aaab0000aaab",16),cofactorG2:U("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5",16),singleThread:!1};return QI=await gI(A),QI.terminate=async function(){QI=null,await this.tm.terminate()},QI}const BI=EA,rI=xA;async function EI(A,I,t){if(t=t||262144,["w+","wx+","r","ax+","a+"].indexOf(I)<0)throw new Error("Invalid open option");const i=await DA.promises.open(A,I),g=await i.stat();return new fI(i,g,t,A)}const hI=new Uint8Array(4),oI=new DataView(hI.buffer),sI=new Uint8Array(8),aI=new DataView(sI.buffer);class fI{constructor(A,I,t,i){for(this.fileName=i,this.fd=A,this.pos=0,this.pageBits=8,this.pageSize=1<<this.pageBits;this.pageSize<4*I.blksize;)this.pageBits++,this.pageSize*=2;this.totalSize=I.size,this.totalPages=Math.floor((I.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(t/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1}_loadPage(A){const I=this;return new Promise((t,i)=>{I.pendingLoads.push({page:A,resolve:t,reject:i}),setImmediate(I._triggerLoad.bind(I))})}_triggerLoad(){const A=this;if(function(){const I=[];for(let t=0;t<A.pendingLoads.length;t++){const i=A.pendingLoads[t];void 0!==A.pages[i.page]?(A.pages[i.page].pendingOps++,i.resolve()):I.push(i)}A.pendingLoads=I}(),0==A.pendingLoads.length)return;if(Object.keys(A.pages).length>=A.maxPagesLoaded){const I=function(){for(let I in A.pages){const t=A.pages[I];if(0==t.dirty&&0==t.pendingOps)return I}return-1}();if(I<0)return;delete A.pages[I]}const I=A.pendingLoads.shift();if(I.page>=A.totalPages)return A.pages[I.page]={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0},I.resolve(),void setImmediate(A._triggerLoad.bind(A));if(A.reading)return void A.pendingLoads.unshift(I);A.reading=!0;const t={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0};A.fd.read(t.buff,0,A.pageSize,I.page*A.pageSize).then(i=>{t.size=i.bytesRead,A.pages[I.page]=t,A.reading=!1,I.resolve(),setImmediate(A._triggerLoad.bind(A))},A=>{I.reject(A)})}_triggerWrite(){const A=this;if(A.writing)return;const I=A._getDirtyPage();I<0?A.pendingClose&&A.pendingClose():(A.writing=!0,A.pages[I].dirty=!1,A.fd.write(A.pages[I].buff,0,A.pages[I].size,I*A.pageSize).then(()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),setImmediate(A._triggerLoad.bind(A))},I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const t=this;if(void 0===I&&(I=t.pos),t.pos=I+A.byteLength,t.totalSize<I+A.byteLength&&(t.totalSize=I+A.byteLength),t.pendingClose)throw new Error("Writing a closing file");const i=Math.floor(I/t.pageSize);Math.floor((I+A.byteLength-1)/t.pageSize);let g=i,C=I%t.pageSize,Q=A.byteLength;for(;Q>0;){await t._loadPage(g);const I=C+Q>t.pageSize?t.pageSize-C:Q,i=new Uint8Array(A.buffer,A.byteLength-Q,I);new Uint8Array(t.pages[g].buff.buffer,C,I).set(i),t.pages[g].dirty=!0,t.pages[g].pendingOps--,t.pages[g].size=Math.max(C+I,t.pages[g].size),g>=t.totalPages&&(t.totalPages=g+1),Q-=I,g++,C=0,setImmediate(t._triggerWrite.bind(t))}}async read(A,I){if(0==A)return new Uint8Array(0);const t=this;if(A>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A,t.pendingClose)throw new Error("Reading a closing file");const i=Math.floor(I/t.pageSize),g=Math.floor((I+A-1)/t.pageSize);for(let A=i;A<=g;A++)await t._loadPage(A);let C=new Uint8Array(A),Q=new Uint8Array(C),e=i,n=I%t.pageSize,B=I+A>t.totalSize?A-(I+A-t.totalSize):A;for(;B>0;){const A=n+B>t.pageSize?t.pageSize-n:B,I=new Uint8Array(t.pages[e].buff.buffer,n,A);C.set(I,Q.byteLength-B),t.pages[e].pendingOps--,B-=A,e++,n=0}return setImmediate(t._triggerLoad.bind(t)),C}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise((I,t)=>{A.pendingClose=I,A.pendingCloseReject=t,A._tryClose()}).then(()=>{A.fd.close()},I=>{throw A.fd.close(),I})}async discard(){await this.close(),await DA.promises.unlink(this.fileName)}async writeULE32(A,I){oI.setUint32(0,A,!0),await this.write(hI,I)}async writeUBE32(A,I){oI.setUint32(0,A,!1),await this.write(hI,I)}async writeULE64(A,I){aI.setUint32(0,4294967295&A,!0),aI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(sI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}const wI=new Uint8Array(4),DI=new DataView(wI.buffer),cI=new Uint8Array(8),uI=new DataView(cI.buffer);class yI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),t=new Uint8Array(I);t.set(this.o.data),this.o.data=t,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A,I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async read(A,I){if(void 0===I&&(I=this.pos),this.readOnly&&I+A>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(I+A);const t=this.o.data.slice(I,I+A);return this.pos=I+A,t}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){DI.setUint32(0,A,!0),await this.write(wI,I)}async writeUBE32(A,I){DI.setUint32(0,A,!1),await this.write(wI,I)}async writeULE64(A,I){uI.setUint32(0,4294967295&A,!0),uI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(cI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}async function pI(A,I){if("string"==typeof A&&(A={type:"file",fileName:A,cacheSize:I}),"file"==A.type)return await EI(A.fileName,"w+",A.cacheSize);if("mem"==A.type)return function(A){const I=A.initialSize||1<<20,t=new yI;return t.o=A,t.o.data=new Uint8Array(I),t.allocSize=I,t.totalSize=0,t.readOnly=!1,t.pos=0,t}(A);throw new Error("Invalid FastFile type: "+A.type)}async function lI(A,I){if(A instanceof Uint8Array&&(A={type:"mem",data:A}),"string"==typeof A){A={type:"mem",data:await fetch(A).then((function(A){return A.arrayBuffer()})).then((function(A){return new Uint8Array(A)}))}}if("file"==A.type)return await EI(A.fileName,"r",A.cacheSize);if("mem"==A.type)return await function(A){const I=new yI;return I.o=A,I.allocSize=A.data.byteLength,I.totalSize=A.data.byteLength,I.readOnly=!0,I.pos=0,I}(A);throw new Error("Invalid FastFile type: "+A.type)}async function FI(A,I,t){const i=await lI(A),g=await i.read(4);let C="";for(let A=0;A<4;A++)C+=String.fromCharCode(g[A]);if(C!=I)throw new Error(A+": Invalid File format");if(await i.readULE32()>t)throw new Error("Version not supported");const Q=await i.readULE32();let e=[];for(let A=0;A<Q;A++){let A=await i.readULE32(),I=await i.readULE64();void 0===e[A]&&(e[A]=[]),e[A].push({p:i.pos,size:I}),i.pos+=I}return{fd:i,sections:e}}async function MI(A,I,t,i){const g=await pI(A),C=new Uint8Array(4);for(let A=0;A<4;A++)C[A]=I.charCodeAt(A);return await g.write(C,0),await g.writeULE32(t),await g.writeULE32(i),g}async function mI(A,I){if(void 0!==A.writingSection)throw new Error("Already writing a section");await A.writeULE32(I),A.writingSection={pSectionSize:A.pos},await A.writeULE64(0)}async function dI(A){if(void 0===A.writingSection)throw new Error("Not writing a section");const I=A.pos-A.writingSection.pSectionSize-8,t=A.pos;A.pos=A.writingSection.pSectionSize,await A.writeULE64(I),A.pos=t,delete A.writingSection}async function GI(A,I,t){if(void 0!==A.readingSection)throw new Error("Already reading a section");if(!I[t])throw new Error(A.fileName+": Missing section "+t);if(I[t].length>1)throw new Error(A.fileName+": Section Duplicated "+t);A.pos=I[t][0].p,A.readingSection=I[t][0]}async function UI(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size reading");delete A.readingSection}async function HI(A,I,t,i){const g=new Uint8Array(t);BI.toRprLE(g,0,I,t),await A.write(g,i)}async function LI(A,I,t){const i=await A.read(I,t);return BI.fromRprLE(i,0,I)}async function kI(A,I,t,i){const g=A.pageSize;await GI(A,I,i),await mI(t,i);for(let C=0;C<I[i][0].size;C+=g){const Q=Math.min(I[i][0].size-C,g),e=await A.read(Q);await t.write(e)}await dI(t),await UI(A)}async function NI(A,I,t){await GI(A,I,t);const i=await A.read(A.readingSection.size);return await UI(A),i}async function bI(A,I,t,i,g){const C=16*A.pageSize;if(await GI(A,I,g),await GI(t,i,g),I[g][0].size!=i[g][0].size)return!1;const Q=I[g][0].size;for(let I=0;I<Q;I+=C){const i=Math.min(Q-I,C),g=await A.read(i),e=await t.read(i);for(let A=0;A<i;A++)if(g[A]!=e[A])return!1}return await UI(A),await UI(t),!0}BI.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),BI.e("21888242871839275222246405745257275088548364400416034343698204186575808495617");const SI=BI.e("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),RI=BI.e("21888242871839275222246405745257275088696311157297823662689037894645226208583");async function JI(A){let I;if(BI.eq(A,RI))I=await eI();else{if(!BI.eq(A,SI))throw new Error("Curve not supported: "+BI.toString(A));I=await nI()}return I}qI.notEqual=function(A,I,t){qI(A!=I,t)},qI.notOk=function(A,I){qI(!A,I)},qI.equal=function(A,I,t){qI(A==I,t)},qI.ok=qI;var vI=qI;function qI(A,I){if(!A)throw new Error(I||"AssertionError")}var YI=PI;function PI(A){if(!PI.supported)return null;var I,t=A&&A.imports,i=(I="AGFzbQEAAAABEANgAn9/AGADf39/AGABfwADBQQAAQICBQUBAQroBwdNBQZtZW1vcnkCAAxibGFrZTJiX2luaXQAAA5ibGFrZTJiX3VwZGF0ZQABDWJsYWtlMmJfZmluYWwAAhBibGFrZTJiX2NvbXByZXNzAAMKvz8EwAIAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAQgA3AzggAEIANwNAIABCADcDSCAAQgA3A1AgAEIANwNYIABCADcDYCAAQgA3A2ggAEIANwNwIABCADcDeCAAQoiS853/zPmE6gBBACkDAIU3A4ABIABCu86qptjQ67O7f0EIKQMAhTcDiAEgAEKr8NP0r+68tzxBECkDAIU3A5ABIABC8e30+KWn/aelf0EYKQMAhTcDmAEgAELRhZrv+s+Uh9EAQSApAwCFNwOgASAAQp/Y+dnCkdqCm39BKCkDAIU3A6gBIABC6/qG2r+19sEfQTApAwCFNwOwASAAQvnC+JuRo7Pw2wBBOCkDAIU3A7gBIABCADcDwAEgAEIANwPIASAAQgA3A9ABC20BA38gAEHAAWohAyAAQcgBaiEEIAQpAwCnIQUCQANAIAEgAkYNASAFQYABRgRAIAMgAykDACAFrXw3AwBBACEFIAAQAwsgACAFaiABLQAAOgAAIAVBAWohBSABQQFqIQEMAAsLIAQgBa03AwALYQEDfyAAQcABaiEBIABByAFqIQIgASABKQMAIAIpAwB8NwMAIABCfzcD0AEgAikDAKchAwJAA0AgA0GAAUYNASAAIANqQQA6AAAgA0EBaiEDDAALCyACIAOtNwMAIAAQAwuqOwIgfgl/IABBgAFqISEgAEGIAWohIiAAQZABaiEjIABBmAFqISQgAEGgAWohJSAAQagBaiEmIABBsAFqIScgAEG4AWohKCAhKQMAIQEgIikDACECICMpAwAhAyAkKQMAIQQgJSkDACEFICYpAwAhBiAnKQMAIQcgKCkDACEIQoiS853/zPmE6gAhCUK7zqqm2NDrs7t/IQpCq/DT9K/uvLc8IQtC8e30+KWn/aelfyEMQtGFmu/6z5SH0QAhDUKf2PnZwpHagpt/IQ5C6/qG2r+19sEfIQ9C+cL4m5Gjs/DbACEQIAApAwAhESAAKQMIIRIgACkDECETIAApAxghFCAAKQMgIRUgACkDKCEWIAApAzAhFyAAKQM4IRggACkDQCEZIAApA0ghGiAAKQNQIRsgACkDWCEcIAApA2AhHSAAKQNoIR4gACkDcCEfIAApA3ghICANIAApA8ABhSENIA8gACkD0AGFIQ8gASAFIBF8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSASfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgE3x8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBR8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAVfHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgFnx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBd8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAYfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgGXx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBp8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAbfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgHHx8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIB18fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCAefHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgH3x8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFICB8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAffHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgG3x8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBV8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAZfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgGnx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHICB8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAefHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggF3x8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBJ8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiAdfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgEXx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBN8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAcfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggGHx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBZ8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAUfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgHHx8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIBl8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAdfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgEXx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBZ8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByATfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggIHx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIB58fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAbfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgH3x8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBR8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAXfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggGHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBJ8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAafHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFXx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIBh8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSAafHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgFHx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBJ8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAefHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgHXx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBx8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAffHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgE3x8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBd8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAWfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgG3x8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBV8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCARfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgIHx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBl8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAafHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgEXx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBZ8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAYfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgE3x8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBV8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAbfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggIHx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIB98fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiASfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgHHx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIB18fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAXfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggGXx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBR8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAefHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgE3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIB18fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAXfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgG3x8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBF8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAcfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggGXx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBR8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAVfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgHnx8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBh8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAWfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggIHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIB98fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSASfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgGnx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIB18fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSAWfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgEnx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGICB8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAffHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgHnx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBV8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAbfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgEXx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBh8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAXfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgFHx8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBp8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCATfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgGXx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBx8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAefHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgHHx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBh8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAffHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgHXx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBJ8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAUfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggGnx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBZ8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiARfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgIHx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBV8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAZfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggF3x8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBN8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAbfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgF3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFICB8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAffHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgGnx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBx8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAUfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggEXx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBl8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAdfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgE3x8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIB58fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAYfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggEnx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBV8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAbfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFnx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIBt8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSATfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgGXx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBV8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAYfHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgF3x8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBJ8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAWfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgIHx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBx8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAafHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgH3x8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBR8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCAdfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgHnx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBF8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSARfHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgEnx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBN8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAUfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgFXx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBZ8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAXfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggGHx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBl8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiAafHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgG3x8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBx8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAdfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggHnx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIB98fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAgfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgH3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIBt8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAVfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgGXx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBp8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAgfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggHnx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBd8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiASfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgHXx8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBF8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByATfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggHHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBh8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAWfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFHx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgISAhKQMAIAEgCYWFNwMAICIgIikDACACIAqFhTcDACAjICMpAwAgAyALhYU3AwAgJCAkKQMAIAQgDIWFNwMAICUgJSkDACAFIA2FhTcDACAmICYpAwAgBiAOhYU3AwAgJyAnKQMAIAcgD4WFNwMAICggKCkDACAIIBCFhTcDAAs=","function"==typeof atob?new Uint8Array(atob(I).split("").map(xI)):function(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}().Buffer.from(I,"base64")),g=null,C={buffer:i,memory:null,exports:null,realloc:function(A){C.exports.memory.grow(Math.max(0,Math.ceil(Math.abs(A-C.memory.length)/65536))),C.memory=new Uint8Array(C.exports.memory.buffer)},onload:Q};return Q((function(){})),C;function Q(I){if(C.exports)return I();if(g)g.then(I.bind(null,null)).catch(I);else{try{if(A&&A.async)throw new Error("async");e({instance:new WebAssembly.Instance(new WebAssembly.Module(i),t)})}catch(A){g=WebAssembly.instantiate(i,t).then(e)}Q(I)}}function e(A){C.exports=A.instance.exports,C.memory=C.exports.memory&&C.exports.memory.buffer&&new Uint8Array(C.exports.memory.buffer)}}function xI(A){return A.charCodeAt(0)}PI.supported="undefined"!=typeof WebAssembly;var OI=B((function(A){var I=YI(),t=64,i=[];A.exports=r;var g=A.exports.BYTES_MIN=16,C=A.exports.BYTES_MAX=64,Q=(A.exports.BYTES=32,A.exports.KEYBYTES_MIN=16),e=A.exports.KEYBYTES_MAX=64,n=(A.exports.KEYBYTES=32,A.exports.SALTBYTES=16),B=A.exports.PERSONALBYTES=16;function r(A,E,h,o,s){if(!(this instanceof r))return new r(A,E,h,o,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<=C,"digestLength must be at most "+C+", was given "+A),null!=E&&(vI(E instanceof Uint8Array,"key must be Uint8Array or Buffer"),vI(E.length>=Q,"key must be at least "+Q+", was given "+E.length),vI(E.length<=e,"key must be at least "+e+", was given "+E.length)),null!=h&&(vI(h instanceof Uint8Array,"salt must be Uint8Array or Buffer"),vI(h.length===n,"salt must be exactly "+n+", was given "+h.length)),null!=o&&(vI(o instanceof Uint8Array,"personal must be Uint8Array or Buffer"),vI(o.length===B,"personal must be exactly "+B+", was given "+o.length))),i.length||(i.push(t),t+=216),this.digestLength=A,this.finalized=!1,this.pointer=i.pop(),I.memory.fill(0,0,64),I.memory[0]=this.digestLength,I.memory[1]=E?E.length:0,I.memory[2]=1,I.memory[3]=1,h&&I.memory.set(h,32),o&&I.memory.set(o,48),this.pointer+216>I.memory.length&&I.realloc(this.pointer+216),I.exports.blake2b_init(this.pointer,this.digestLength),E&&(this.update(E),I.memory.fill(0,t,t+E.length),I.memory[this.pointer+200]=128)}function E(){}function h(A){return A<16?"0"+A.toString(16):A.toString(16)}r.prototype.update=function(A){return vI(!1===this.finalized,"Hash instance finalized"),vI(A instanceof Uint8Array,"input must be Uint8Array or Buffer"),t+A.length>I.memory.length&&I.realloc(t+A.length),I.memory.set(A,t),I.exports.blake2b_update(this.pointer,t,t+A.length),this},r.prototype.getPartialHash=function(){return I.memory.slice(this.pointer,this.pointer+216)},r.prototype.setPartialHash=function(A){I.memory.set(A,this.pointer)},r.prototype.digest=function(A){if(vI(!1===this.finalized,"Hash instance finalized"),this.finalized=!0,i.push(this.pointer),I.exports.blake2b_final(this.pointer),!A||"binary"===A)return I.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if("hex"===A)return function(A,I,t){for(var i="",g=0;g<t;g++)i+=h(A[I+g]);return i}(I.memory,this.pointer+128,this.digestLength);vI(A instanceof Uint8Array&&A.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var t=0;t<this.digestLength;t++)A[t]=I.memory[this.pointer+128+t];return A},r.prototype.final=r.prototype.digest,r.WASM=I&&I.buffer,r.SUPPORTED="undefined"!=typeof WebAssembly,r.ready=function(A){return A||(A=E),I?new Promise((function(t,i){I.onload((function(I){I?i():t(),A(I)}))})):A(new Error("WebAssembly not supported"))},r.prototype.ready=r.ready}));OI.BYTES_MIN,OI.BYTES_MAX,OI.BYTES,OI.KEYBYTES_MIN,OI.KEYBYTES_MAX,OI.KEYBYTES,OI.SALTBYTES,OI.PERSONALBYTES;const XI=[];for(let A=0;A<256;A++)XI[A]=ZI(A,8);function ZI(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function jI(A,I){return(XI[A>>>24]|XI[A>>>16&255]<<8|XI[A>>>8&255]<<16|XI[255&A]<<24)>>>32-I}function KI(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)}function VI(A,I){const t=new DataView(A.buffer,A.byteOffset,A.byteLength);let i="";for(let A=0;A<4;A++){A>0&&(i+="\n"),i+="\t\t";for(let I=0;I<4;I++)I>0&&(i+=" "),i+=t.getUint32(16*A+4*I).toString(16).padStart(8,"0")}return I&&(i=I+"\n"+i),i}function zI(A,I){if(A.byteLength!=I.byteLength)return!1;for(var t=new Int8Array(A),i=new Int8Array(I),g=0;g!=A.byteLength;g++)if(t[g]!=i[g])return!1;return!0}function WI(A){const I=A.getPartialHash(),t=OI(64);return t.setPartialHash(I),t}async function TI(A,I,t,i,g){if(A.G1.isZero(I))return!1;if(A.G1.isZero(t))return!1;if(A.G2.isZero(i))return!1;if(A.G2.isZero(g))return!1;return await A.pairingEq(I,g,A.G1.neg(t),i)}async function _I(A){for(;!A;)A=await window.prompt("Enter a random text. (Entropy): ","");const I=OI(64);I.update(DA.randomBytes(64));const t=new TextEncoder;I.update(t.encode(A));const i=Buffer.from(I.digest()),g=[];for(let A=0;A<8;A++)g[A]=i.readUInt32BE(4*A);return new wA(g)}function $I(A,I){let t,i;I<32?(t=1<<I>>>0,i=1):(t=4294967296,i=1<<I-32>>>0);let g=A;for(let A=0;A<i;A++)for(let A=0;A<t;A++)g=DA.createHash("sha256").update(g).digest();const C=new DataView(g.buffer,g.byteOffset,g.byteLength),Q=[];for(let A=0;A<8;A++)Q[A]=C.getUint32(4*A,!1);return new wA(Q)}function At(A){return A instanceof Uint8Array?A:("0x"==A.slice(0,2)&&(A=A.slice(2)),new Uint8Array(A.match(/[\da-f]{2}/gi).map((function(A){return parseInt(A,16)}))))}function It(A){return Array.prototype.map.call(A,(function(A){return("0"+(255&A).toString(16)).slice(-2)})).join("")}async function tt(A,I){await mI(A,1),await A.writeULE32(1),await dI(A);const t=await JI(I.q);await mI(A,2);const i=t.q,g=8*(Math.floor((BI.bitLength(i)-1)/64)+1),C=t.r,Q=8*(Math.floor((BI.bitLength(C)-1)/64)+1);await A.writeULE32(g),await HI(A,i,g),await A.writeULE32(Q),await HI(A,C,Q),await A.writeULE32(I.nVars),await A.writeULE32(I.nPublic),await A.writeULE32(I.domainSize),await it(A,t,I.vk_alpha_1),await it(A,t,I.vk_beta_1),await gt(A,t,I.vk_beta_2),await gt(A,t,I.vk_gamma_2),await it(A,t,I.vk_delta_1),await gt(A,t,I.vk_delta_2),await dI(A)}async function it(A,I,t){const i=new Uint8Array(2*I.G1.F.n8);I.G1.toRprLEM(i,0,t),await A.write(i)}async function gt(A,I,t){const i=new Uint8Array(2*I.G2.F.n8);I.G2.toRprLEM(i,0,t),await A.write(i)}async function Ct(A,I){const t=await A.read(2*I.G1.F.n8);return I.G1.fromRprLEM(t,0)}async function Qt(A,I){const t=await A.read(2*I.G2.F.n8);return I.G2.fromRprLEM(t,0)}async function et(A,I,t){if("groth16"!=t)throw new Error("Protocol not supported: "+t);const i={};await GI(A,I,1);if(1!=await A.readULE32())throw new Error("File is not groth");i.protocol="groth16",await UI(A),await GI(A,I,2);const g=await A.readULE32();i.n8q=g,i.q=await LI(A,g);const C=await A.readULE32();i.n8r=C,i.r=await LI(A,C);let Q=await JI(i.q);return i.nVars=await A.readULE32(),i.nPublic=await A.readULE32(),i.domainSize=await A.readULE32(),i.power=KI(i.domainSize),i.vk_alpha_1=await Ct(A,Q),i.vk_beta_1=await Ct(A,Q),i.vk_beta_2=await Qt(A,Q),i.vk_gamma_2=await Qt(A,Q),i.vk_delta_1=await Ct(A,Q),i.vk_delta_2=await Qt(A,Q),await UI(A),i}async function nt(A,I){const t={delta:{}};t.deltaAfter=await Ct(A,I),t.delta.g1_s=await Ct(A,I),t.delta.g1_sx=await Ct(A,I),t.delta.g2_spx=await Qt(A,I),t.transcript=await A.read(64),t.type=await A.readULE32();const i=await A.readULE32(),g=A.pos;let C=0;for(;A.pos-g<i;){const I=await A.read(1);if(I[0]<=C)throw new Error("Parameters in the contribution must be sorted");if(C=I[0],1==I[0]){const I=await A.read(1),i=await A.read(I[0]);t.name=(new TextDecoder).decode(i)}else if(2==I[0]){const I=await A.read(1);t.numIterationsExp=I[0]}else{if(3!=I[0])throw new Error("Parameter not recognized");{const I=await A.read(1);t.beaconHash=await A.read(I[0])}}}if(A.pos!=g+i)throw new Error("Parametes do not match");return t}async function Bt(A,I,t){await GI(A,t,10);const i={contributions:[]};i.csHash=await A.read(64);const g=await A.readULE32();for(let t=0;t<g;t++){const t=await nt(A,I);i.contributions.push(t)}return await UI(A),i}async function rt(A,I,t){await it(A,I,t.deltaAfter),await it(A,I,t.delta.g1_s),await it(A,I,t.delta.g1_sx),await gt(A,I,t.delta.g2_spx),await A.write(t.transcript),await A.writeULE32(t.type||0);const i=[];if(t.name){i.push(1);const A=new TextEncoder("utf-8").encode(t.name.substring(0,64));i.push(A.byteLength);for(let I=0;I<A.byteLength;I++)i.push(A[I])}if(1==t.type){i.push(2),i.push(t.numIterationsExp),i.push(3),i.push(t.beaconHash.byteLength);for(let A=0;A<t.beaconHash.byteLength;A++)i.push(t.beaconHash[A])}if(i.length>0){const I=new Uint8Array(i);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0)}async function Et(A,I,t){await mI(A,10),await A.write(t.csHash),await A.writeULE32(t.contributions.length);for(let i=0;i<t.contributions.length;i++)await rt(A,I,t.contributions[i]);await dI(A)}function ht(A,I,t){const i=new Uint8Array(2*I.G1.F.n8);I.G1.toRprUncompressed(i,0,t),A.update(i)}function ot(A,I,t){ht(A,I,t.deltaAfter),ht(A,I,t.delta.g1_s),ht(A,I,t.delta.g1_sx),function(A,I,t){const i=new Uint8Array(2*I.G2.F.n8);I.G2.toRprUncompressed(i,0,t),A.update(i)}(A,I,t.delta.g2_spx),A.update(t.transcript)}async function st(A,I){await GI(A,I,1);const t=await A.readULE32(),i=await LI(A,t),g=await A.readULE32();return await UI(A),{n8:t,q:i,nWitness:g}}const{stringifyBigInts:at}=rI;async function ft(A,I,t){const{fd:i,sections:g}=await FI(I,"wtns",2),C=await st(i,g),{fd:Q,sections:e}=await FI(A,"zkey",2),n=await et(Q,e,"groth16");if(!BI.eq(n.r,C.q))throw new Error("Curve of the witness does not match the curve of the proving key");if(C.nWitness!=n.nVars)throw new Error(`Invalid witness length. Circuit: ${n.nVars}, witness: ${C.nWitness}`);const B=await JI(n.q),r=B.Fr,E=B.G1,h=B.G2,o=KI(n.domainSize),s=await NI(i,g,2),a=await NI(Q,e,4),f=await NI(Q,e,5),w=await NI(Q,e,6),D=await NI(Q,e,7),c=await NI(Q,e,8),u=await NI(Q,e,9),[y,p,l]=await async function(A,I,t,i){const g=A.tm.concurrency,C=12+I.n8r,Q=Math.floor(I.domainSize/g),e=new DataView(i.buffer,i.byteOffset,i.byteLength),n=[],B=[];for(let A=0;A<g;A++)B.push(a(Math.floor(A*I.domainSize/g)));B.push(i.byteLength);for(let e=0;e<g;e++){let r;if(r=e<g-1?Q:I.domainSize-e*Q,0==r)continue;const E=[];E.push({cmd:"ALLOCSET",var:0,buff:i.slice(B[e],B[e+1])}),E.push({cmd:"ALLOCSET",var:1,buff:t.slice()}),E.push({cmd:"ALLOC",var:2,len:r*A.Fr.n8}),E.push({cmd:"ALLOC",var:3,len:r*A.Fr.n8}),E.push({cmd:"ALLOC",var:4,len:r*A.Fr.n8}),E.push({cmd:"CALL",fnName:"qap_buildABC",params:[{var:0},{val:(B[e+1]-B[e])/C},{var:1},{var:2},{var:3},{var:4},{val:e*Q},{val:r}]}),E.push({cmd:"GET",out:0,var:2,len:r*A.Fr.n8}),E.push({cmd:"GET",out:1,var:3,len:r*A.Fr.n8}),E.push({cmd:"GET",out:2,var:4,len:r*A.Fr.n8}),n.push(A.tm.queueAction(E))}const r=await Promise.all(n),E=new Uint8Array(I.domainSize*A.Fr.n8),h=new Uint8Array(I.domainSize*A.Fr.n8),o=new Uint8Array(I.domainSize*A.Fr.n8);let s=0;for(let A=0;A<r.length;A++)E.set(r[A][0],s),h.set(r[A][1],s),o.set(r[A][2],s),s+=r[A][0].byteLength;return[E,h,o];function a(A){let I=0,t=e.getUint32(0,!0);for(;I<t;){var i=t+I>>1;const g=e.getUint32(4+i*C+4,!0);g>A?t=i-1:g<A?I=i+1:t=i}return 4+I*C}}(B,n,s,a),F=await r.ifft(y),M=await r.batchApplyKey(F,r.e(1),B.Fr.w[o+1]),m=await r.fft(M),d=await r.ifft(p),G=await r.batchApplyKey(d,r.e(1),B.Fr.w[o+1]),U=await r.fft(G),H=await r.ifft(l),L=await r.batchApplyKey(H,r.e(1),B.Fr.w[o+1]),k=await r.fft(L),N=await async function(A,I,t,i,g){const C=A.tm.concurrency,Q=A.Fr.n8,e=Math.floor(t.byteLength/A.Fr.n8),n=Math.floor(e/C),B=[];for(let I=0;I<C;I++){let r;if(r=I<C-1?n:e-I*n,0==r)continue;const E=[],h=t.slice(I*n*Q,(I*n+r)*Q),o=i.slice(I*n*Q,(I*n+r)*Q),s=g.slice(I*n*Q,(I*n+r)*Q);E.push({cmd:"ALLOCSET",var:0,buff:h}),E.push({cmd:"ALLOCSET",var:1,buff:o}),E.push({cmd:"ALLOCSET",var:2,buff:s}),E.push({cmd:"ALLOC",var:3,len:r*Q}),E.push({cmd:"CALL",fnName:"qap_joinABC",params:[{var:0},{var:1},{var:2},{val:r},{var:3}]}),E.push({cmd:"CALL",fnName:"frm_batchFromMontgomery",params:[{var:3},{val:r},{var:3}]}),E.push({cmd:"GET",out:0,var:3,len:r*Q}),B.push(A.tm.queueAction(E))}const r=await Promise.all(B),E=new Uint8Array(t.byteLength);let h=0;for(let A=0;A<r.length;A++)E.set(r[A][0],h),h+=r[A][0].byteLength;return E}(B,0,m,U,k);let b={};b.pi_a=await B.G1.multiExpAffine(f,s);let S=await B.G1.multiExpAffine(w,s);b.pi_b=await B.G2.multiExpAffine(D,s),b.pi_c=await B.G1.multiExpAffine(c,s.slice((n.nPublic+1)*B.Fr.n8));const R=await B.G1.multiExpAffine(u,N),J=B.Fr.random(),v=B.Fr.random();b.pi_a=E.add(b.pi_a,n.vk_alpha_1),b.pi_a=E.add(b.pi_a,E.timesFr(n.vk_delta_1,J)),b.pi_b=h.add(b.pi_b,n.vk_beta_2),b.pi_b=h.add(b.pi_b,h.timesFr(n.vk_delta_2,v)),S=E.add(S,n.vk_beta_1),S=E.add(S,E.timesFr(n.vk_delta_1,v)),b.pi_c=E.add(b.pi_c,R),b.pi_c=E.add(b.pi_c,E.timesFr(b.pi_a,v)),b.pi_c=E.add(b.pi_c,E.timesFr(S,J)),b.pi_c=E.add(b.pi_c,E.timesFr(n.vk_delta_1,r.neg(r.mul(J,v))));let q=[];for(let A=1;A<=n.nPublic;A++){const I=s.slice(A*r.n8,A*r.n8+r.n8);q.push(BI.fromRprLE(I))}return b.pi_a=E.toObject(E.toAffine(b.pi_a)),b.pi_b=h.toObject(h.toAffine(b.pi_b)),b.pi_c=E.toObject(E.toAffine(b.pi_c)),b.protocol="groth16",await Q.close(),await i.close(),b=at(b),q=at(q),{proof:b,publicSignals:q}}var wt=B((function(A){var I=function(){var A,I,t,i,g,C,Q,e,n=[],B=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],r="1a",E=!1,h=52,o={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++)n[A]=(A>>4&15).toString(16)+(15&A).toString(16);function s(A,I){var t,i,g,C=[0],Q="";for(i=0;i<A.length;i+=2){for(t=parseInt(A.substr(i,2),16),g=0;g<C.length;g++)t+=C[g]<<8,C[g]=t%I,t=t/I|0;for(;t>0;)C.push(t%I),t=t/I|0}for(i=C.length-1;i>=0;--i)Q+="0123456789abcdefghijklmnopqrstuvwxyz"[C[i]];return Q}function a(A,I){return{bits:I,value:A,dec:function(){return s(A,10)},hex:function(){return A},str:function(){return s(A,36)}}}function f(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return n[A>>>24]+n[A>>>16&255]+n[A>>>8&255]+n[255&A]},str:function(){return A.toString(36)}}}function w(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return("0000000000000000"+A.toString(16)).substr(-13)},str:function(){return A.toString(36)}}}function D(A,n){var B="object"==typeof A?JSON.stringify(A):A;switch(n||h){case 32:return I(B);case 64:return i(B);case 128:return g(B);case 256:return C(B);case 512:return Q(B);case 1024:return e(B);default:return t(B)}}function c(A){if("1a"===A)r=A,I=E?F:p,t=E?G:m,i=E?k:H,g=E?R:b,C=E?Y:v,Q=E?X:x,e=E?V:j;else{if("1"!==A)throw new Error("Supported FNV versions: 1, 1a");r=A,I=E?M:l,t=E?U:d,i=E?N:L,g=E?J:S,C=E?P:q,Q=E?Z:O,e=E?z:K}}function u(A){A?(E=!0,I="1a"==r?F:M,t="1a"==r?G:U,i="1a"==r?k:N,g="1a"==r?R:J,C="1a"==r?Y:P,Q="1a"==r?X:Z,e="1a"==r?V:z):(E=!1,I="1a"==r?p:l,t="1a"==r?m:d,i="1a"==r?H:L,g="1a"==r?b:S,C="1a"==r?v:q,Q="1a"==r?x:O,e="1a"==r?j:K)}function y(A){var I,t,i=r;for(var g in"chongo <Landon Curt Noll> /\\../\\"===(A=A||0===A?A:"chongo <Landon Curt Noll> /\\../\\")&&c("1"),o){for(o[g].offset=[],t=0;t<g/16;t++)o[g].offset[t]=0;for(I=D(A,parseInt(g,10)).hex(),t=0;t<g/16;t++)o[g].offset[t]=parseInt(I.substr(4*t,4),16)}c(i)}function p(A){var I,t=A.length-3,i=o[32].offset,g=0,C=0|i[1],Q=0,e=0|i[0];for(I=0;I<t;)Q=403*e,Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g;for(;I<t+3;)Q=403*e,e=(Q+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g;return f((e<<16>>>0)+C,32)}function l(A){var I,t=A.length-3,i=o[32].offset,g=0,C=0|i[1],Q=0,e=0|i[0];for(I=0;I<t;)Q=403*e,Q+=C<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=A.charCodeAt(I++))<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=A.charCodeAt(I++);for(;I<t+3;)Q=403*e,e=(Q+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=A.charCodeAt(I++);return f((e<<16>>>0)+C,32)}function F(A){var I,t,i=A.length,g=o[32].offset,C=0,Q=0|g[1],e=0,n=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=403*n,n=(e+=(Q^=I>>6|192)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=403*n,e+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),e+=(Q^=I>>12&63|128)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):(e=403*n,e+=(Q^=I>>12|224)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128),e=403*n,n=(e+=Q<<8)+((C=403*Q)>>>16)&65535,Q=65535&C;return f((n<<16>>>0)+Q,32)}function M(A){var I,t,i=A.length,g=o[32].offset,C=0,Q=0|g[1],e=0,n=0|g[0];for(t=0;t<i;t++)e=403*n,n=(e+=Q<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=403*n,n=(e+=(Q^=I>>6|192)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=403*n,e+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),e+=(Q^=I>>12&63|128)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128):(e=403*n,e+=(Q^=I>>12|224)<<8,Q=65535&(C=403*Q),e=403*(n=e+(C>>>16)&65535),n=(e+=(Q^=I>>6&63|128)<<8)+((C=403*Q)>>>16)&65535,Q=65535&C,Q^=63&I|128);return f((n<<16>>>0)+Q,32)}function m(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],n=0,B=0|i[1],r=0,E=0|i[0];for(I=0;I<t;)Q=435*e,n=435*B,r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n;for(;I<t+3;)Q=435*e,n=435*B,r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n;return w(281474976710656*(15&E)+4294967296*B+65536*e+(C^E>>4),52)}function d(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],n=0,B=0|i[1],r=0,E=0|i[0];for(I=0;I<t;)Q=435*e,n=435*B,r=435*E,n+=C<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=A.charCodeAt(I++))<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=A.charCodeAt(I++);for(;I<t+3;)Q=435*e,n=435*B,r=435*E,n+=C<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=A.charCodeAt(I++);return w(281474976710656*(15&E)+4294967296*B+65536*e+(C^E>>4),52)}function G(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,n=0|g[2],B=0,r=0|g[1],E=0,h=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=435*n,B=435*r,E=435*h,B+=(Q^=I>>6|192)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=435*n,B=435*r,E=435*h,B+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):(e=435*n,B=435*r,E=435*h,B+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128),e=435*n,B=435*r,E=435*h,B+=Q<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B;return w(281474976710656*(15&h)+4294967296*r+65536*n+(Q^h>>4),52)}function U(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,n=0|g[2],B=0,r=0|g[1],E=0,h=0|g[0];for(t=0;t<i;t++)e=435*n,B=435*r,E=435*h,B+=Q<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=435*n,B=435*r,E=435*h,B+=(Q^=I>>6|192)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=435*n,B=435*r,E=435*h,B+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128):(e=435*n,B=435*r,E=435*h,B+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),h=(E+=n<<8)+((B+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(n=65535&e),B=435*(r=65535&B),E=435*h,B+=(Q^=I>>6&63|128)<<8,E+=n<<8,Q=65535&(C=435*Q),n=65535&(e+=C>>>16),h=E+((B+=e>>>16)>>>16)&65535,r=65535&B,Q^=63&I|128);return w(281474976710656*(15&h)+4294967296*r+65536*n+(Q^h>>4),52)}function H(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],B=0,r=0|i[1],E=0,h=0|i[0];for(I=0;I<t;)Q=435*e,B=435*r,E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B;for(;I<t+3;)Q=435*e,B=435*r,E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B;return a(n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],64)}function L(A){var I,t=A.length-3,i=o[64].offset,g=0,C=0|i[3],Q=0,e=0|i[2],B=0,r=0|i[1],E=0,h=0|i[0];for(I=0;I<t;)Q=435*e,B=435*r,E=435*h,B+=C<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=A.charCodeAt(I++))<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=A.charCodeAt(I++);for(;I<t+3;)Q=435*e,B=435*r,E=435*h,B+=C<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=A.charCodeAt(I++);return a(n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],64)}function k(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,B=0|g[2],r=0,E=0|g[1],h=0,s=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=435*B,r=435*E,h=435*s,r+=(Q^=I>>6|192)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=435*B,r=435*E,h=435*s,r+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):(e=435*B,r=435*E,h=435*s,r+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128),e=435*B,r=435*E,h=435*s,r+=Q<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r;return a(n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],64)}function N(A){var I,t,i=A.length,g=o[64].offset,C=0,Q=0|g[3],e=0,B=0|g[2],r=0,E=0|g[1],h=0,s=0|g[0];for(t=0;t<i;t++)e=435*B,r=435*E,h=435*s,r+=Q<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=435*B,r=435*E,h=435*s,r+=(Q^=I>>6|192)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=435*B,r=435*E,h=435*s,r+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>12&63|128)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128):(e=435*B,r=435*E,h=435*s,r+=(Q^=I>>12|224)<<8,Q=65535&(C=435*Q),s=(h+=B<<8)+((r+=(e+=C>>>16)>>>16)>>>16)&65535,e=435*(B=65535&e),r=435*(E=65535&r),h=435*s,r+=(Q^=I>>6&63|128)<<8,h+=B<<8,Q=65535&(C=435*Q),B=65535&(e+=C>>>16),s=h+((r+=e>>>16)>>>16)&65535,E=65535&r,Q^=63&I|128);return a(n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],64)}function b(A){var I,t=A.length-3,i=o[128].offset,g=0,C=0|i[7],Q=0,e=0|i[6],B=0,r=0|i[5],E=0,h=0|i[4],s=0,f=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],y=0,p=0|i[0];for(I=0;I<t;)Q=315*e,B=315*r,E=315*h,s=315*f,w=315*D,c=315*u,y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,y+=r<<8,C=65535&(g=315*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c;for(;I<t+3;)Q=315*e,B=315*r,E=315*h,s=315*f,w=315*D,c=315*u,y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,y+=r<<8,C=65535&(g=315*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c;return a(n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],128)}function S(A){var I,t=A.length-3,i=o[128].offset,g=0,C=0|i[7],Q=0,e=0|i[6],B=0,r=0|i[5],E=0,h=0|i[4],s=0,f=0|i[3],w=0,D=0|i[2],c=0,u=0|i[1],y=0,p=0|i[0];for(I=0;I<t;)Q=315*e,B=315*r,E=315*h,s=315*f,w=315*D,c=315*u,y=315*p,w+=C<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,C=65535&(g=315*C),p=(y+=r<<8)+((c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=315*(e=65535&Q),B=315*(r=65535&B),E=315*(h=65535&E),s=315*(f=65535&s),w=315*(D=65535&w),c=315*(u=65535&c),y=315*p,w+=(C^=A.charCodeAt(I++))<<8,c+=e<<8,y+=r<<8,C=65535&(g=315*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c,C^=A.charCodeAt(I++);for(;I<t+3;)Q=315*e,B=315*r,E=315*h,s=315*f,w=315*D,c=315*u,y=315*p,w+=C<<8,c+=e<<8,y+=r<<8,C=65535&(g=315*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),p=y+((c+=w>>>16)>>>16)&65535,u=65535&c,C^=A.charCodeAt(I++);return a(n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],128)}function R(A){var I,t,i=A.length,g=o[128].offset,C=0,Q=0|g[7],e=0,B=0|g[6],r=0,E=0|g[5],h=0,s=0|g[4],f=0,w=0|g[3],D=0,c=0|g[2],u=0,y=0|g[1],p=0,l=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=I>>6|192)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>12&63|128)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=I>>12|224)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128),e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=Q<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u;return a(n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],128)}function J(A){var I,t,i=A.length,g=o[128].offset,C=0,Q=0|g[7],e=0,B=0|g[6],r=0,E=0|g[5],h=0,s=0|g[4],f=0,w=0|g[3],D=0,c=0|g[2],u=0,y=0|g[1],p=0,l=0|g[0];for(t=0;t<i;t++)e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=Q<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=I>>6|192)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>12&63|128)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128):(e=315*B,r=315*E,h=315*s,f=315*w,D=315*c,u=315*y,p=315*l,D+=(Q^=I>>12|224)<<8,u+=B<<8,Q=65535&(C=315*Q),l=(p+=E<<8)+((u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=315*(B=65535&e),r=315*(E=65535&r),h=315*(s=65535&h),f=315*(w=65535&f),D=315*(c=65535&D),u=315*(y=65535&u),p=315*l,D+=(Q^=I>>6&63|128)<<8,u+=B<<8,p+=E<<8,Q=65535&(C=315*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),l=p+((u+=D>>>16)>>>16)&65535,y=65535&u,Q^=63&I|128);return a(n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],128)}function v(A){var I,t=A.length-3,i=o[256].offset,g=0,C=0|i[15],Q=0,e=0|i[14],B=0,r=0|i[13],E=0,h=0|i[12],s=0,f=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],y=0,p=0|i[8],l=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],U=0,H=0|i[4],L=0,k=0|i[3],N=0,b=0|i[2],S=0,R=0|i[1],J=0,v=0|i[0];for(I=0;I<t;)Q=355*e,B=355*r,E=355*h,s=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*G,U=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S;for(;I<t+3;)Q=355*e,B=355*r,E=355*h,s=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*G,U=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S;return a(n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],256)}function q(A){var I,t=A.length-3,i=o[256].offset,g=0,C=0|i[15],Q=0,e=0|i[14],B=0,r=0|i[13],E=0,h=0|i[12],s=0,f=0|i[11],w=0,D=0|i[10],c=0,u=0|i[9],y=0,p=0|i[8],l=0,F=0|i[7],M=0,m=0|i[6],d=0,G=0|i[5],U=0,H=0|i[4],L=0,k=0|i[3],N=0,b=0|i[2],S=0,R=0|i[1],J=0,v=0|i[0];for(I=0;I<t;)Q=355*e,B=355*r,E=355*h,s=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*G,U=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=C<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,C=65535&(g=355*C),v=(J+=D<<8)+((S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=355*(e=65535&Q),B=355*(r=65535&B),E=355*(h=65535&E),s=355*(f=65535&s),w=355*(D=65535&w),c=355*(u=65535&c),y=355*(p=65535&y),l=355*(F=65535&l),M=355*(m=65535&M),d=355*(G=65535&d),U=355*(H=65535&U),L=355*(k=65535&L),N=355*(b=65535&N),S=355*(R=65535&S),J=355*v,d+=(C^=A.charCodeAt(I++))<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S,C^=A.charCodeAt(I++);for(;I<t+3;)Q=355*e,B=355*r,E=355*h,s=355*f,w=355*D,c=355*u,y=355*p,l=355*F,M=355*m,d=355*G,U=355*H,L=355*k,N=355*b,S=355*R,J=355*v,d+=C<<8,U+=e<<8,L+=r<<8,N+=h<<8,S+=f<<8,J+=D<<8,C=65535&(g=355*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),v=J+((S+=N>>>16)>>>16)&65535,R=65535&S,C^=A.charCodeAt(I++);return a(n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],256)}function Y(A){var I,t,i=A.length,g=o[256].offset,C=0,Q=0|g[15],e=0,B=0|g[14],r=0,E=0|g[13],h=0,s=0|g[12],f=0,w=0|g[11],D=0,c=0|g[10],u=0,y=0|g[9],p=0,l=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,U=0|g[5],H=0,L=0|g[4],k=0,N=0|g[3],b=0,S=0|g[2],R=0,J=0|g[1],v=0,q=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=I>>6|192)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>12&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=I>>12|224)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128),e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=Q<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R;return a(n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],256)}function P(A){var I,t,i=A.length,g=o[256].offset,C=0,Q=0|g[15],e=0,B=0|g[14],r=0,E=0|g[13],h=0,s=0|g[12],f=0,w=0|g[11],D=0,c=0|g[10],u=0,y=0|g[9],p=0,l=0|g[8],F=0,M=0|g[7],m=0,d=0|g[6],G=0,U=0|g[5],H=0,L=0|g[4],k=0,N=0|g[3],b=0,S=0|g[2],R=0,J=0|g[1],v=0,q=0|g[0];for(t=0;t<i;t++)e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=Q<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=I>>6|192)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>12&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128):(e=355*B,r=355*E,h=355*s,f=355*w,D=355*c,u=355*y,p=355*l,F=355*M,m=355*d,G=355*U,H=355*L,k=355*N,b=355*S,R=355*J,v=355*q,G+=(Q^=I>>12|224)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,Q=65535&(C=355*Q),q=(v+=c<<8)+((R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=355*(B=65535&e),r=355*(E=65535&r),h=355*(s=65535&h),f=355*(w=65535&f),D=355*(c=65535&D),u=355*(y=65535&u),p=355*(l=65535&p),F=355*(M=65535&F),m=355*(d=65535&m),G=355*(U=65535&G),H=355*(L=65535&H),k=355*(N=65535&k),b=355*(S=65535&b),R=355*(J=65535&R),v=355*q,G+=(Q^=I>>6&63|128)<<8,H+=B<<8,k+=E<<8,b+=s<<8,R+=w<<8,v+=c<<8,Q=65535&(C=355*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),q=v+((R+=b>>>16)>>>16)&65535,J=65535&R,Q^=63&I|128);return a(n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],256)}function x(A){var I,t=A.length-3,i=o[512].offset,g=0,C=0|i[31],Q=0,e=0|i[30],B=0,r=0|i[29],E=0,h=0|i[28],s=0,f=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],y=0,p=0|i[24],l=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],U=0,H=0|i[20],L=0,k=0|i[19],N=0,b=0|i[18],S=0,R=0|i[17],J=0,v=0|i[16],q=0,Y=0|i[15],P=0,x=0|i[14],O=0,X=0|i[13],Z=0,j=0|i[12],K=0,V=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],IA=0,tA=0|i[7],iA=0,gA=0|i[6],CA=0,QA=0|i[5],eA=0,nA=0|i[4],BA=0,rA=0|i[3],EA=0,hA=0|i[2],oA=0,sA=0|i[1],aA=0,fA=0|i[0];for(I=0;I<t;)Q=343*e,B=343*r,E=343*h,s=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*G,U=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*QA,eA=343*nA,BA=343*rA,EA=343*hA,oA=343*sA,aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,aA+=G<<8,C=65535&(g=343*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA;for(;I<t+3;)Q=343*e,B=343*r,E=343*h,s=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*G,U=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*QA,eA=343*nA,BA=343*rA,EA=343*hA,oA=343*sA,aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,aA+=G<<8,C=65535&(g=343*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA;return a(n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],512)}function O(A){var I,t=A.length-3,i=o[512].offset,g=0,C=0|i[31],Q=0,e=0|i[30],B=0,r=0|i[29],E=0,h=0|i[28],s=0,f=0|i[27],w=0,D=0|i[26],c=0,u=0|i[25],y=0,p=0|i[24],l=0,F=0|i[23],M=0,m=0|i[22],d=0,G=0|i[21],U=0,H=0|i[20],L=0,k=0|i[19],N=0,b=0|i[18],S=0,R=0|i[17],J=0,v=0|i[16],q=0,Y=0|i[15],P=0,x=0|i[14],O=0,X=0|i[13],Z=0,j=0|i[12],K=0,V=0|i[11],z=0,W=0|i[10],T=0,_=0|i[9],$=0,AA=0|i[8],IA=0,tA=0|i[7],iA=0,gA=0|i[6],CA=0,QA=0|i[5],eA=0,nA=0|i[4],BA=0,rA=0|i[3],EA=0,hA=0|i[2],oA=0,sA=0|i[1],aA=0,fA=0|i[0];for(I=0;I<t;)Q=343*e,B=343*r,E=343*h,s=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*G,U=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*QA,eA=343*nA,BA=343*rA,EA=343*hA,oA=343*sA,aA=343*fA,z+=C<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,C=65535&(g=343*C),fA=(aA+=G<<8)+((oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=343*(e=65535&Q),B=343*(r=65535&B),E=343*(h=65535&E),s=343*(f=65535&s),w=343*(D=65535&w),c=343*(u=65535&c),y=343*(p=65535&y),l=343*(F=65535&l),M=343*(m=65535&M),d=343*(G=65535&d),U=343*(H=65535&U),L=343*(k=65535&L),N=343*(b=65535&N),S=343*(R=65535&S),J=343*(v=65535&J),q=343*(Y=65535&q),P=343*(x=65535&P),O=343*(X=65535&O),Z=343*(j=65535&Z),K=343*(V=65535&K),z=343*(W=65535&z),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(tA=65535&IA),iA=343*(gA=65535&iA),CA=343*(QA=65535&CA),eA=343*(nA=65535&eA),BA=343*(rA=65535&BA),EA=343*(hA=65535&EA),oA=343*(sA=65535&oA),aA=343*fA,z+=(C^=A.charCodeAt(I++))<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,aA+=G<<8,C=65535&(g=343*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA,C^=A.charCodeAt(I++);for(;I<t+3;)Q=343*e,B=343*r,E=343*h,s=343*f,w=343*D,c=343*u,y=343*p,l=343*F,M=343*m,d=343*G,U=343*H,L=343*k,N=343*b,S=343*R,J=343*v,q=343*Y,P=343*x,O=343*X,Z=343*j,K=343*V,z=343*W,T=343*_,$=343*AA,IA=343*tA,iA=343*gA,CA=343*QA,eA=343*nA,BA=343*rA,EA=343*hA,oA=343*sA,aA=343*fA,z+=C<<8,T+=e<<8,$+=r<<8,IA+=h<<8,iA+=f<<8,CA+=D<<8,eA+=u<<8,BA+=p<<8,EA+=F<<8,oA+=m<<8,aA+=G<<8,C=65535&(g=343*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),fA=aA+((oA+=EA>>>16)>>>16)&65535,sA=65535&oA,C^=A.charCodeAt(I++);return a(n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],512)}function X(A){var I,t,i=A.length,g=o[512].offset,C=0,Q=0|g[31],e=0,B=0|g[30],r=0,E=0|g[29],h=0,s=0|g[28],f=0,w=0|g[27],D=0,c=0|g[26],u=0,y=0|g[25],p=0,l=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,U=0|g[21],H=0,L=0|g[20],k=0,N=0|g[19],b=0,S=0|g[18],R=0,J=0|g[17],v=0,q=0|g[16],Y=0,P=0|g[15],x=0,O=0|g[14],X=0,Z=0|g[13],j=0,K=0|g[12],V=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,IA=0|g[8],tA=0,iA=0|g[7],gA=0,CA=0|g[6],QA=0,eA=0|g[5],nA=0,BA=0|g[4],rA=0,EA=0|g[3],hA=0,oA=0|g[2],sA=0,aA=0|g[1],fA=0,wA=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=I>>6|192)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>12&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=I>>12|224)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128),e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=Q<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA;return a(n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],512)}function Z(A){var I,t,i=A.length,g=o[512].offset,C=0,Q=0|g[31],e=0,B=0|g[30],r=0,E=0|g[29],h=0,s=0|g[28],f=0,w=0|g[27],D=0,c=0|g[26],u=0,y=0|g[25],p=0,l=0|g[24],F=0,M=0|g[23],m=0,d=0|g[22],G=0,U=0|g[21],H=0,L=0|g[20],k=0,N=0|g[19],b=0,S=0|g[18],R=0,J=0|g[17],v=0,q=0|g[16],Y=0,P=0|g[15],x=0,O=0|g[14],X=0,Z=0|g[13],j=0,K=0|g[12],V=0,z=0|g[11],W=0,T=0|g[10],_=0,$=0|g[9],AA=0,IA=0|g[8],tA=0,iA=0|g[7],gA=0,CA=0|g[6],QA=0,eA=0|g[5],nA=0,BA=0|g[4],rA=0,EA=0|g[3],hA=0,oA=0|g[2],sA=0,aA=0|g[1],fA=0,wA=0|g[0];for(t=0;t<i;t++)e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=Q<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=I>>6|192)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>12&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128):(e=343*B,r=343*E,h=343*s,f=343*w,D=343*c,u=343*y,p=343*l,F=343*M,m=343*d,G=343*U,H=343*L,k=343*N,b=343*S,R=343*J,v=343*q,Y=343*P,x=343*O,X=343*Z,j=343*K,V=343*z,W=343*T,_=343*$,AA=343*IA,tA=343*iA,gA=343*CA,QA=343*eA,nA=343*BA,rA=343*EA,hA=343*oA,sA=343*aA,fA=343*wA,W+=(Q^=I>>12|224)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,Q=65535&(C=343*Q),wA=(fA+=U<<8)+((sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=343*(B=65535&e),r=343*(E=65535&r),h=343*(s=65535&h),f=343*(w=65535&f),D=343*(c=65535&D),u=343*(y=65535&u),p=343*(l=65535&p),F=343*(M=65535&F),m=343*(d=65535&m),G=343*(U=65535&G),H=343*(L=65535&H),k=343*(N=65535&k),b=343*(S=65535&b),R=343*(J=65535&R),v=343*(q=65535&v),Y=343*(P=65535&Y),x=343*(O=65535&x),X=343*(Z=65535&X),j=343*(K=65535&j),V=343*(z=65535&V),W=343*(T=65535&W),_=343*($=65535&_),AA=343*(IA=65535&AA),tA=343*(iA=65535&tA),gA=343*(CA=65535&gA),QA=343*(eA=65535&QA),nA=343*(BA=65535&nA),rA=343*(EA=65535&rA),hA=343*(oA=65535&hA),sA=343*(aA=65535&sA),fA=343*wA,W+=(Q^=I>>6&63|128)<<8,_+=B<<8,AA+=E<<8,tA+=s<<8,gA+=w<<8,QA+=c<<8,nA+=y<<8,rA+=l<<8,hA+=M<<8,sA+=d<<8,fA+=U<<8,Q=65535&(C=343*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),wA=fA+((sA+=hA>>>16)>>>16)&65535,aA=65535&sA,Q^=63&I|128);return a(n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],512)}function j(A){var I,t=A.length-3,i=o[1024].offset,g=0,C=0|i[63],Q=0,e=0|i[62],B=0,r=0|i[61],E=0,h=0|i[60],s=0,f=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],y=0,p=0|i[56],l=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],U=0,H=0|i[52],L=0,k=0|i[51],N=0,b=0|i[50],S=0,R=0|i[49],J=0,v=0|i[48],q=0,Y=0|i[47],P=0,x=0|i[46],O=0,X=0|i[45],Z=0,j=0|i[44],K=0,V=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],IA=0,tA=0|i[39],iA=0,gA=0|i[38],CA=0,QA=0|i[37],eA=0,nA=0|i[36],BA=0,rA=0|i[35],EA=0,hA=0|i[34],oA=0,sA=0|i[33],aA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],yA=0,pA=0|i[29],lA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],UA=0,HA=0|i[25],LA=0,kA=0|i[24],NA=0,bA=0|i[23],SA=0,RA=0|i[22],JA=0,vA=0|i[21],qA=0,YA=0|i[20],PA=0,xA=0|i[19],OA=0,XA=0|i[18],ZA=0,jA=0|i[17],KA=0,VA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,AI=0|i[13],II=0,tI=0|i[12],iI=0,gI=0|i[11],CI=0,QI=0|i[10],eI=0,nI=0|i[9],BI=0,rI=0|i[8],EI=0,hI=0|i[7],oI=0,sI=0|i[6],aI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],yI=0,pI=0|i[2],lI=0,FI=0|i[1],MI=0,mI=0|i[0];for(I=0;I<t;)Q=397*e,B=397*r,E=397*h,s=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*G,U=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*QA,eA=397*nA,BA=397*rA,EA=397*hA,oA=397*sA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*GA,UA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*QI,eI=397*nI,BI=397*rI,EI=397*hI,oI=397*sI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI;for(;I<t+3;)Q=397*e,B=397*r,E=397*h,s=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*G,U=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*QA,eA=397*nA,BA=397*rA,EA=397*hA,oA=397*sA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*GA,UA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*QI,eI=397*nI,BI=397*rI,EI=397*hI,oI=397*sI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI;return a(n[mI>>8]+n[255&mI]+n[FI>>8]+n[255&FI]+n[pI>>8]+n[255&pI]+n[uI>>8]+n[255&uI]+n[DI>>8]+n[255&DI]+n[fI>>8]+n[255&fI]+n[sI>>8]+n[255&sI]+n[hI>>8]+n[255&hI]+n[rI>>8]+n[255&rI]+n[nI>>8]+n[255&nI]+n[QI>>8]+n[255&QI]+n[gI>>8]+n[255&gI]+n[tI>>8]+n[255&tI]+n[AI>>8]+n[255&AI]+n[_A>>8]+n[255&_A]+n[WA>>8]+n[255&WA]+n[VA>>8]+n[255&VA]+n[jA>>8]+n[255&jA]+n[XA>>8]+n[255&XA]+n[xA>>8]+n[255&xA]+n[YA>>8]+n[255&YA]+n[vA>>8]+n[255&vA]+n[RA>>8]+n[255&RA]+n[bA>>8]+n[255&bA]+n[kA>>8]+n[255&kA]+n[HA>>8]+n[255&HA]+n[GA>>8]+n[255&GA]+n[mA>>8]+n[255&mA]+n[FA>>8]+n[255&FA]+n[pA>>8]+n[255&pA]+n[uA>>8]+n[255&uA]+n[DA>>8]+n[255&DA]+n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],1024)}function K(A){var I,t=A.length-3,i=o[1024].offset,g=0,C=0|i[63],Q=0,e=0|i[62],B=0,r=0|i[61],E=0,h=0|i[60],s=0,f=0|i[59],w=0,D=0|i[58],c=0,u=0|i[57],y=0,p=0|i[56],l=0,F=0|i[55],M=0,m=0|i[54],d=0,G=0|i[53],U=0,H=0|i[52],L=0,k=0|i[51],N=0,b=0|i[50],S=0,R=0|i[49],J=0,v=0|i[48],q=0,Y=0|i[47],P=0,x=0|i[46],O=0,X=0|i[45],Z=0,j=0|i[44],K=0,V=0|i[43],z=0,W=0|i[42],T=0,_=0|i[41],$=0,AA=0|i[40],IA=0,tA=0|i[39],iA=0,gA=0|i[38],CA=0,QA=0|i[37],eA=0,nA=0|i[36],BA=0,rA=0|i[35],EA=0,hA=0|i[34],oA=0,sA=0|i[33],aA=0,fA=0|i[32],wA=0,DA=0|i[31],cA=0,uA=0|i[30],yA=0,pA=0|i[29],lA=0,FA=0|i[28],MA=0,mA=0|i[27],dA=0,GA=0|i[26],UA=0,HA=0|i[25],LA=0,kA=0|i[24],NA=0,bA=0|i[23],SA=0,RA=0|i[22],JA=0,vA=0|i[21],qA=0,YA=0|i[20],PA=0,xA=0|i[19],OA=0,XA=0|i[18],ZA=0,jA=0|i[17],KA=0,VA=0|i[16],zA=0,WA=0|i[15],TA=0,_A=0|i[14],$A=0,AI=0|i[13],II=0,tI=0|i[12],iI=0,gI=0|i[11],CI=0,QI=0|i[10],eI=0,nI=0|i[9],BI=0,rI=0|i[8],EI=0,hI=0|i[7],oI=0,sI=0|i[6],aI=0,fI=0|i[5],wI=0,DI=0|i[4],cI=0,uI=0|i[3],yI=0,pI=0|i[2],lI=0,FI=0|i[1],MI=0,mI=0|i[0];for(I=0;I<t;)Q=397*e,B=397*r,E=397*h,s=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*G,U=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*QA,eA=397*nA,BA=397*rA,EA=397*hA,oA=397*sA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*GA,UA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*QI,eI=397*nI,BI=397*rI,EI=397*hI,oI=397*sI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=C<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,C=65535&(g=397*C),mI=(MI+=W<<8)+((lI+=(yI+=(cI+=(wI+=(aI+=(oI+=(EI+=(BI+=(eI+=(CI+=(iI+=(II+=($A+=(TA+=(zA+=(KA+=(ZA+=(OA+=(PA+=(qA+=(JA+=(SA+=(NA+=(LA+=(UA+=(dA+=(MA+=(lA+=(yA+=(cA+=(wA+=(aA+=(oA+=(EA+=(BA+=(eA+=(CA+=(iA+=(IA+=($+=(T+=(z+=(K+=(Z+=(O+=(P+=(q+=(J+=(S+=(N+=(L+=(U+=(d+=(M+=(l+=(y+=(c+=(w+=(s+=(E+=(B+=(Q+=g>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,Q=397*(e=65535&Q),B=397*(r=65535&B),E=397*(h=65535&E),s=397*(f=65535&s),w=397*(D=65535&w),c=397*(u=65535&c),y=397*(p=65535&y),l=397*(F=65535&l),M=397*(m=65535&M),d=397*(G=65535&d),U=397*(H=65535&U),L=397*(k=65535&L),N=397*(b=65535&N),S=397*(R=65535&S),J=397*(v=65535&J),q=397*(Y=65535&q),P=397*(x=65535&P),O=397*(X=65535&O),Z=397*(j=65535&Z),K=397*(V=65535&K),z=397*(W=65535&z),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(tA=65535&IA),iA=397*(gA=65535&iA),CA=397*(QA=65535&CA),eA=397*(nA=65535&eA),BA=397*(rA=65535&BA),EA=397*(hA=65535&EA),oA=397*(sA=65535&oA),aA=397*(fA=65535&aA),wA=397*(DA=65535&wA),cA=397*(uA=65535&cA),yA=397*(pA=65535&yA),lA=397*(FA=65535&lA),MA=397*(mA=65535&MA),dA=397*(GA=65535&dA),UA=397*(HA=65535&UA),LA=397*(kA=65535&LA),NA=397*(bA=65535&NA),SA=397*(RA=65535&SA),JA=397*(vA=65535&JA),qA=397*(YA=65535&qA),PA=397*(xA=65535&PA),OA=397*(XA=65535&OA),ZA=397*(jA=65535&ZA),KA=397*(VA=65535&KA),zA=397*(WA=65535&zA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(tI=65535&II),iI=397*(gI=65535&iI),CI=397*(QI=65535&CI),eI=397*(nI=65535&eI),BI=397*(rI=65535&BI),EI=397*(hI=65535&EI),oI=397*(sI=65535&oI),aI=397*(fI=65535&aI),wI=397*(DI=65535&wI),cI=397*(uI=65535&cI),yI=397*(pI=65535&yI),lI=397*(FI=65535&lI),MI=397*mI,JA+=(C^=A.charCodeAt(I++))<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI,C^=A.charCodeAt(I++);for(;I<t+3;)Q=397*e,B=397*r,E=397*h,s=397*f,w=397*D,c=397*u,y=397*p,l=397*F,M=397*m,d=397*G,U=397*H,L=397*k,N=397*b,S=397*R,J=397*v,q=397*Y,P=397*x,O=397*X,Z=397*j,K=397*V,z=397*W,T=397*_,$=397*AA,IA=397*tA,iA=397*gA,CA=397*QA,eA=397*nA,BA=397*rA,EA=397*hA,oA=397*sA,aA=397*fA,wA=397*DA,cA=397*uA,yA=397*pA,lA=397*FA,MA=397*mA,dA=397*GA,UA=397*HA,LA=397*kA,NA=397*bA,SA=397*RA,JA=397*vA,qA=397*YA,PA=397*xA,OA=397*XA,ZA=397*jA,KA=397*VA,zA=397*WA,TA=397*_A,$A=397*AI,II=397*tI,iI=397*gI,CI=397*QI,eI=397*nI,BI=397*rI,EI=397*hI,oI=397*sI,aI=397*fI,wI=397*DI,cI=397*uI,yI=397*pI,lI=397*FI,MI=397*mI,JA+=C<<8,qA+=e<<8,PA+=r<<8,OA+=h<<8,ZA+=f<<8,KA+=D<<8,zA+=u<<8,TA+=p<<8,$A+=F<<8,II+=m<<8,iI+=G<<8,CI+=H<<8,eI+=k<<8,BI+=b<<8,EI+=R<<8,oI+=v<<8,aI+=Y<<8,wI+=x<<8,cI+=X<<8,yI+=j<<8,lI+=V<<8,MI+=W<<8,C=65535&(g=397*C),e=65535&(Q+=g>>>16),r=65535&(B+=Q>>>16),h=65535&(E+=B>>>16),f=65535&(s+=E>>>16),D=65535&(w+=s>>>16),u=65535&(c+=w>>>16),p=65535&(y+=c>>>16),F=65535&(l+=y>>>16),m=65535&(M+=l>>>16),G=65535&(d+=M>>>16),H=65535&(U+=d>>>16),k=65535&(L+=U>>>16),b=65535&(N+=L>>>16),R=65535&(S+=N>>>16),v=65535&(J+=S>>>16),Y=65535&(q+=J>>>16),x=65535&(P+=q>>>16),X=65535&(O+=P>>>16),j=65535&(Z+=O>>>16),V=65535&(K+=Z>>>16),W=65535&(z+=K>>>16),_=65535&(T+=z>>>16),AA=65535&($+=T>>>16),tA=65535&(IA+=$>>>16),gA=65535&(iA+=IA>>>16),QA=65535&(CA+=iA>>>16),nA=65535&(eA+=CA>>>16),rA=65535&(BA+=eA>>>16),hA=65535&(EA+=BA>>>16),sA=65535&(oA+=EA>>>16),fA=65535&(aA+=oA>>>16),DA=65535&(wA+=aA>>>16),uA=65535&(cA+=wA>>>16),pA=65535&(yA+=cA>>>16),FA=65535&(lA+=yA>>>16),mA=65535&(MA+=lA>>>16),GA=65535&(dA+=MA>>>16),HA=65535&(UA+=dA>>>16),kA=65535&(LA+=UA>>>16),bA=65535&(NA+=LA>>>16),RA=65535&(SA+=NA>>>16),vA=65535&(JA+=SA>>>16),YA=65535&(qA+=JA>>>16),xA=65535&(PA+=qA>>>16),XA=65535&(OA+=PA>>>16),jA=65535&(ZA+=OA>>>16),VA=65535&(KA+=ZA>>>16),WA=65535&(zA+=KA>>>16),_A=65535&(TA+=zA>>>16),AI=65535&($A+=TA>>>16),tI=65535&(II+=$A>>>16),gI=65535&(iI+=II>>>16),QI=65535&(CI+=iI>>>16),nI=65535&(eI+=CI>>>16),rI=65535&(BI+=eI>>>16),hI=65535&(EI+=BI>>>16),sI=65535&(oI+=EI>>>16),fI=65535&(aI+=oI>>>16),DI=65535&(wI+=aI>>>16),uI=65535&(cI+=wI>>>16),pI=65535&(yI+=cI>>>16),mI=MI+((lI+=yI>>>16)>>>16)&65535,FI=65535&lI,C^=A.charCodeAt(I++);return a(n[mI>>8]+n[255&mI]+n[FI>>8]+n[255&FI]+n[pI>>8]+n[255&pI]+n[uI>>8]+n[255&uI]+n[DI>>8]+n[255&DI]+n[fI>>8]+n[255&fI]+n[sI>>8]+n[255&sI]+n[hI>>8]+n[255&hI]+n[rI>>8]+n[255&rI]+n[nI>>8]+n[255&nI]+n[QI>>8]+n[255&QI]+n[gI>>8]+n[255&gI]+n[tI>>8]+n[255&tI]+n[AI>>8]+n[255&AI]+n[_A>>8]+n[255&_A]+n[WA>>8]+n[255&WA]+n[VA>>8]+n[255&VA]+n[jA>>8]+n[255&jA]+n[XA>>8]+n[255&XA]+n[xA>>8]+n[255&xA]+n[YA>>8]+n[255&YA]+n[vA>>8]+n[255&vA]+n[RA>>8]+n[255&RA]+n[bA>>8]+n[255&bA]+n[kA>>8]+n[255&kA]+n[HA>>8]+n[255&HA]+n[GA>>8]+n[255&GA]+n[mA>>8]+n[255&mA]+n[FA>>8]+n[255&FA]+n[pA>>8]+n[255&pA]+n[uA>>8]+n[255&uA]+n[DA>>8]+n[255&DA]+n[fA>>8]+n[255&fA]+n[sA>>8]+n[255&sA]+n[hA>>8]+n[255&hA]+n[rA>>8]+n[255&rA]+n[nA>>8]+n[255&nA]+n[QA>>8]+n[255&QA]+n[gA>>8]+n[255&gA]+n[tA>>8]+n[255&tA]+n[AA>>8]+n[255&AA]+n[_>>8]+n[255&_]+n[W>>8]+n[255&W]+n[V>>8]+n[255&V]+n[j>>8]+n[255&j]+n[X>>8]+n[255&X]+n[x>>8]+n[255&x]+n[Y>>8]+n[255&Y]+n[v>>8]+n[255&v]+n[R>>8]+n[255&R]+n[b>>8]+n[255&b]+n[k>>8]+n[255&k]+n[H>>8]+n[255&H]+n[G>>8]+n[255&G]+n[m>>8]+n[255&m]+n[F>>8]+n[255&F]+n[p>>8]+n[255&p]+n[u>>8]+n[255&u]+n[D>>8]+n[255&D]+n[f>>8]+n[255&f]+n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C],1024)}function V(A){var I,t,i=A.length,g=o[1024].offset,C=0,Q=0|g[63],e=0,B=0|g[62],r=0,E=0|g[61],h=0,s=0|g[60],f=0,w=0|g[59],D=0,c=0|g[58],u=0,y=0|g[57],p=0,l=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,U=0|g[53],H=0,L=0|g[52],k=0,N=0|g[51],b=0,S=0|g[50],R=0,J=0|g[49],v=0,q=0|g[48],Y=0,P=0|g[47],x=0,O=0|g[46],X=0,Z=0|g[45],j=0,K=0|g[44],V=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,IA=0|g[40],tA=0,iA=0|g[39],gA=0,CA=0|g[38],QA=0,eA=0|g[37],nA=0,BA=0|g[36],rA=0,EA=0|g[35],hA=0,oA=0|g[34],sA=0,aA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,yA=0|g[30],pA=0,lA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,UA=0|g[26],HA=0,LA=0|g[25],kA=0,NA=0|g[24],bA=0,SA=0|g[23],RA=0,JA=0|g[22],vA=0,qA=0|g[21],YA=0,PA=0|g[20],xA=0,OA=0|g[19],XA=0,ZA=0|g[18],jA=0,KA=0|g[17],VA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],AI=0,II=0|g[13],tI=0,iI=0|g[12],gI=0,CI=0|g[11],QI=0,eI=0|g[10],nI=0,BI=0|g[9],rI=0,EI=0|g[8],hI=0,oI=0|g[7],sI=0,aI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,yI=0|g[3],pI=0,lI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=I>>6|192)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>12&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=I>>12|224)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128),e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=Q<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI;return a(n[dI>>8]+n[255&dI]+n[MI>>8]+n[255&MI]+n[lI>>8]+n[255&lI]+n[yI>>8]+n[255&yI]+n[cI>>8]+n[255&cI]+n[wI>>8]+n[255&wI]+n[aI>>8]+n[255&aI]+n[oI>>8]+n[255&oI]+n[EI>>8]+n[255&EI]+n[BI>>8]+n[255&BI]+n[eI>>8]+n[255&eI]+n[CI>>8]+n[255&CI]+n[iI>>8]+n[255&iI]+n[II>>8]+n[255&II]+n[$A>>8]+n[255&$A]+n[TA>>8]+n[255&TA]+n[zA>>8]+n[255&zA]+n[KA>>8]+n[255&KA]+n[ZA>>8]+n[255&ZA]+n[OA>>8]+n[255&OA]+n[PA>>8]+n[255&PA]+n[qA>>8]+n[255&qA]+n[JA>>8]+n[255&JA]+n[SA>>8]+n[255&SA]+n[NA>>8]+n[255&NA]+n[LA>>8]+n[255&LA]+n[UA>>8]+n[255&UA]+n[dA>>8]+n[255&dA]+n[MA>>8]+n[255&MA]+n[lA>>8]+n[255&lA]+n[yA>>8]+n[255&yA]+n[cA>>8]+n[255&cA]+n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],1024)}function z(A){var I,t,i=A.length,g=o[1024].offset,C=0,Q=0|g[63],e=0,B=0|g[62],r=0,E=0|g[61],h=0,s=0|g[60],f=0,w=0|g[59],D=0,c=0|g[58],u=0,y=0|g[57],p=0,l=0|g[56],F=0,M=0|g[55],m=0,d=0|g[54],G=0,U=0|g[53],H=0,L=0|g[52],k=0,N=0|g[51],b=0,S=0|g[50],R=0,J=0|g[49],v=0,q=0|g[48],Y=0,P=0|g[47],x=0,O=0|g[46],X=0,Z=0|g[45],j=0,K=0|g[44],V=0,z=0|g[43],W=0,T=0|g[42],_=0,$=0|g[41],AA=0,IA=0|g[40],tA=0,iA=0|g[39],gA=0,CA=0|g[38],QA=0,eA=0|g[37],nA=0,BA=0|g[36],rA=0,EA=0|g[35],hA=0,oA=0|g[34],sA=0,aA=0|g[33],fA=0,wA=0|g[32],DA=0,cA=0|g[31],uA=0,yA=0|g[30],pA=0,lA=0|g[29],FA=0,MA=0|g[28],mA=0,dA=0|g[27],GA=0,UA=0|g[26],HA=0,LA=0|g[25],kA=0,NA=0|g[24],bA=0,SA=0|g[23],RA=0,JA=0|g[22],vA=0,qA=0|g[21],YA=0,PA=0|g[20],xA=0,OA=0|g[19],XA=0,ZA=0|g[18],jA=0,KA=0|g[17],VA=0,zA=0|g[16],WA=0,TA=0|g[15],_A=0,$A=0|g[14],AI=0,II=0|g[13],tI=0,iI=0|g[12],gI=0,CI=0|g[11],QI=0,eI=0|g[10],nI=0,BI=0|g[9],rI=0,EI=0|g[8],hI=0,oI=0|g[7],sI=0,aI=0|g[6],fI=0,wI=0|g[5],DI=0,cI=0|g[4],uI=0,yI=0|g[3],pI=0,lI=0|g[2],FI=0,MI=0|g[1],mI=0,dI=0|g[0];for(t=0;t<i;t++)e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=Q<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,(I=A.charCodeAt(t))<128?Q^=I:I<2048?(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=I>>6|192)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>12&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128):(e=397*B,r=397*E,h=397*s,f=397*w,D=397*c,u=397*y,p=397*l,F=397*M,m=397*d,G=397*U,H=397*L,k=397*N,b=397*S,R=397*J,v=397*q,Y=397*P,x=397*O,X=397*Z,j=397*K,V=397*z,W=397*T,_=397*$,AA=397*IA,tA=397*iA,gA=397*CA,QA=397*eA,nA=397*BA,rA=397*EA,hA=397*oA,sA=397*aA,fA=397*wA,DA=397*cA,uA=397*yA,pA=397*lA,FA=397*MA,mA=397*dA,GA=397*UA,HA=397*LA,kA=397*NA,bA=397*SA,RA=397*JA,vA=397*qA,YA=397*PA,xA=397*OA,XA=397*ZA,jA=397*KA,VA=397*zA,WA=397*TA,_A=397*$A,AI=397*II,tI=397*iI,gI=397*CI,QI=397*eI,nI=397*BI,rI=397*EI,hI=397*oI,sI=397*aI,fI=397*wI,DI=397*cI,uI=397*yI,pI=397*lI,FI=397*MI,mI=397*dI,vA+=(Q^=I>>12|224)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,Q=65535&(C=397*Q),dI=(mI+=T<<8)+((FI+=(pI+=(uI+=(DI+=(fI+=(sI+=(hI+=(rI+=(nI+=(QI+=(gI+=(tI+=(AI+=(_A+=(WA+=(VA+=(jA+=(XA+=(xA+=(YA+=(vA+=(RA+=(bA+=(kA+=(HA+=(GA+=(mA+=(FA+=(pA+=(uA+=(DA+=(fA+=(sA+=(hA+=(rA+=(nA+=(QA+=(gA+=(tA+=(AA+=(_+=(W+=(V+=(j+=(X+=(x+=(Y+=(v+=(R+=(b+=(k+=(H+=(G+=(m+=(F+=(p+=(u+=(D+=(f+=(h+=(r+=(e+=C>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,e=397*(B=65535&e),r=397*(E=65535&r),h=397*(s=65535&h),f=397*(w=65535&f),D=397*(c=65535&D),u=397*(y=65535&u),p=397*(l=65535&p),F=397*(M=65535&F),m=397*(d=65535&m),G=397*(U=65535&G),H=397*(L=65535&H),k=397*(N=65535&k),b=397*(S=65535&b),R=397*(J=65535&R),v=397*(q=65535&v),Y=397*(P=65535&Y),x=397*(O=65535&x),X=397*(Z=65535&X),j=397*(K=65535&j),V=397*(z=65535&V),W=397*(T=65535&W),_=397*($=65535&_),AA=397*(IA=65535&AA),tA=397*(iA=65535&tA),gA=397*(CA=65535&gA),QA=397*(eA=65535&QA),nA=397*(BA=65535&nA),rA=397*(EA=65535&rA),hA=397*(oA=65535&hA),sA=397*(aA=65535&sA),fA=397*(wA=65535&fA),DA=397*(cA=65535&DA),uA=397*(yA=65535&uA),pA=397*(lA=65535&pA),FA=397*(MA=65535&FA),mA=397*(dA=65535&mA),GA=397*(UA=65535&GA),HA=397*(LA=65535&HA),kA=397*(NA=65535&kA),bA=397*(SA=65535&bA),RA=397*(JA=65535&RA),vA=397*(qA=65535&vA),YA=397*(PA=65535&YA),xA=397*(OA=65535&xA),XA=397*(ZA=65535&XA),jA=397*(KA=65535&jA),VA=397*(zA=65535&VA),WA=397*(TA=65535&WA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),tI=397*(iI=65535&tI),gI=397*(CI=65535&gI),QI=397*(eI=65535&QI),nI=397*(BI=65535&nI),rI=397*(EI=65535&rI),hI=397*(oI=65535&hI),sI=397*(aI=65535&sI),fI=397*(wI=65535&fI),DI=397*(cI=65535&DI),uI=397*(yI=65535&uI),pI=397*(lI=65535&pI),FI=397*(MI=65535&FI),mI=397*dI,vA+=(Q^=I>>6&63|128)<<8,YA+=B<<8,xA+=E<<8,XA+=s<<8,jA+=w<<8,VA+=c<<8,WA+=y<<8,_A+=l<<8,AI+=M<<8,tI+=d<<8,gI+=U<<8,QI+=L<<8,nI+=N<<8,rI+=S<<8,hI+=J<<8,sI+=q<<8,fI+=P<<8,DI+=O<<8,uI+=Z<<8,pI+=K<<8,FI+=z<<8,mI+=T<<8,Q=65535&(C=397*Q),B=65535&(e+=C>>>16),E=65535&(r+=e>>>16),s=65535&(h+=r>>>16),w=65535&(f+=h>>>16),c=65535&(D+=f>>>16),y=65535&(u+=D>>>16),l=65535&(p+=u>>>16),M=65535&(F+=p>>>16),d=65535&(m+=F>>>16),U=65535&(G+=m>>>16),L=65535&(H+=G>>>16),N=65535&(k+=H>>>16),S=65535&(b+=k>>>16),J=65535&(R+=b>>>16),q=65535&(v+=R>>>16),P=65535&(Y+=v>>>16),O=65535&(x+=Y>>>16),Z=65535&(X+=x>>>16),K=65535&(j+=X>>>16),z=65535&(V+=j>>>16),T=65535&(W+=V>>>16),$=65535&(_+=W>>>16),IA=65535&(AA+=_>>>16),iA=65535&(tA+=AA>>>16),CA=65535&(gA+=tA>>>16),eA=65535&(QA+=gA>>>16),BA=65535&(nA+=QA>>>16),EA=65535&(rA+=nA>>>16),oA=65535&(hA+=rA>>>16),aA=65535&(sA+=hA>>>16),wA=65535&(fA+=sA>>>16),cA=65535&(DA+=fA>>>16),yA=65535&(uA+=DA>>>16),lA=65535&(pA+=uA>>>16),MA=65535&(FA+=pA>>>16),dA=65535&(mA+=FA>>>16),UA=65535&(GA+=mA>>>16),LA=65535&(HA+=GA>>>16),NA=65535&(kA+=HA>>>16),SA=65535&(bA+=kA>>>16),JA=65535&(RA+=bA>>>16),qA=65535&(vA+=RA>>>16),PA=65535&(YA+=vA>>>16),OA=65535&(xA+=YA>>>16),ZA=65535&(XA+=xA>>>16),KA=65535&(jA+=XA>>>16),zA=65535&(VA+=jA>>>16),TA=65535&(WA+=VA>>>16),$A=65535&(_A+=WA>>>16),II=65535&(AI+=_A>>>16),iI=65535&(tI+=AI>>>16),CI=65535&(gI+=tI>>>16),eI=65535&(QI+=gI>>>16),BI=65535&(nI+=QI>>>16),EI=65535&(rI+=nI>>>16),oI=65535&(hI+=rI>>>16),aI=65535&(sI+=hI>>>16),wI=65535&(fI+=sI>>>16),cI=65535&(DI+=fI>>>16),yI=65535&(uI+=DI>>>16),lI=65535&(pI+=uI>>>16),dI=mI+((FI+=pI>>>16)>>>16)&65535,MI=65535&FI,Q^=63&I|128);return a(n[dI>>8]+n[255&dI]+n[MI>>8]+n[255&MI]+n[lI>>8]+n[255&lI]+n[yI>>8]+n[255&yI]+n[cI>>8]+n[255&cI]+n[wI>>8]+n[255&wI]+n[aI>>8]+n[255&aI]+n[oI>>8]+n[255&oI]+n[EI>>8]+n[255&EI]+n[BI>>8]+n[255&BI]+n[eI>>8]+n[255&eI]+n[CI>>8]+n[255&CI]+n[iI>>8]+n[255&iI]+n[II>>8]+n[255&II]+n[$A>>8]+n[255&$A]+n[TA>>8]+n[255&TA]+n[zA>>8]+n[255&zA]+n[KA>>8]+n[255&KA]+n[ZA>>8]+n[255&ZA]+n[OA>>8]+n[255&OA]+n[PA>>8]+n[255&PA]+n[qA>>8]+n[255&qA]+n[JA>>8]+n[255&JA]+n[SA>>8]+n[255&SA]+n[NA>>8]+n[255&NA]+n[LA>>8]+n[255&LA]+n[UA>>8]+n[255&UA]+n[dA>>8]+n[255&dA]+n[MA>>8]+n[255&MA]+n[lA>>8]+n[255&lA]+n[yA>>8]+n[255&yA]+n[cA>>8]+n[255&cA]+n[wA>>8]+n[255&wA]+n[aA>>8]+n[255&aA]+n[oA>>8]+n[255&oA]+n[EA>>8]+n[255&EA]+n[BA>>8]+n[255&BA]+n[eA>>8]+n[255&eA]+n[CA>>8]+n[255&CA]+n[iA>>8]+n[255&iA]+n[IA>>8]+n[255&IA]+n[$>>8]+n[255&$]+n[T>>8]+n[255&T]+n[z>>8]+n[255&z]+n[K>>8]+n[255&K]+n[Z>>8]+n[255&Z]+n[O>>8]+n[255&O]+n[P>>8]+n[255&P]+n[q>>8]+n[255&q]+n[J>>8]+n[255&J]+n[S>>8]+n[255&S]+n[N>>8]+n[255&N]+n[L>>8]+n[255&L]+n[U>>8]+n[255&U]+n[d>>8]+n[255&d]+n[M>>8]+n[255&M]+n[l>>8]+n[255&l]+n[y>>8]+n[255&y]+n[c>>8]+n[255&c]+n[w>>8]+n[255&w]+n[s>>8]+n[255&s]+n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q],1024)}return I=p,t=m,i=H,g=b,C=v,Q=x,e=j,c("1a"),u(!1),y(),{hash:D,setKeyspace:function(A){if(52!==A&&!o[A])throw new Error("Supported FNV keyspacs: 32, 52, 64, 128, 256, 512, and 1024 bit");h=A},version:c,useUTF8:u,seed:y,fast1a32:function(A){var I,t=A.length-3,i=0,g=40389,C=0,Q=33052;for(I=0;I<t;)C=403*Q,C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),Q=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I<t+3;)C=403*Q,Q=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;return(Q<<16>>>0)+g},fast1a32hex:function(A){var I,t=A.length-3,i=0,g=40389,C=0,Q=33052;for(I=0;I<t;)C=403*Q,C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),C+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=403*g),C=403*(Q=C+(i>>>16)&65535),Q=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;for(;I<t+3;)C=403*Q,Q=(C+=(g^=A.charCodeAt(I++))<<8)+((i=403*g)>>>16)&65535,g=65535&i;return n[Q>>>8&255]+n[255&Q]+n[g>>>8&255]+n[255&g]},fast1a52:function(A){var I,t=A.length-3,i=0,g=8997,C=0,Q=33826,e=0,n=40164,B=0,r=52210;for(I=0;I<t;)C=435*Q,e=435*n,B=435*r,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(n=65535&e),B=435*r,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(n=65535&e),B=435*r,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),r=(B+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(n=65535&e),B=435*r,e+=(g^=A.charCodeAt(I++))<<8,B+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),r=B+((e+=C>>>16)>>>16)&65535,n=65535&e;for(;I<t+3;)C=435*Q,e=435*n,B=435*r,e+=(g^=A.charCodeAt(I++))<<8,B+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),r=B+((e+=C>>>16)>>>16)&65535,n=65535&e;return 281474976710656*(15&r)+4294967296*n+65536*Q+(g^r>>4)},fast1a52hex:function(A){var I,t=A.length-3,i=0,g=8997,C=0,Q=33826,e=0,r=40164,E=0,h=52210;for(I=0;I<t;)C=435*Q,e=435*r,E=435*h,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(r=65535&e),E=435*h,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(r=65535&e),E=435*h,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),h=(E+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(r=65535&e),E=435*h,e+=(g^=A.charCodeAt(I++))<<8,E+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),h=E+((e+=C>>>16)>>>16)&65535,r=65535&e;for(;I<t+3;)C=435*Q,e=435*r,E=435*h,e+=(g^=A.charCodeAt(I++))<<8,E+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),h=E+((e+=C>>>16)>>>16)&65535,r=65535&e;return B[15&h]+n[r>>8]+n[255&r]+n[Q>>8]+n[255&Q]+n[g>>8^h>>12]+n[255&(g^h>>4)]},fast1a64:function(A){var I,t=A.length-3,i=0,g=8997,C=0,Q=33826,e=0,B=40164,r=0,E=52210;for(I=0;I<t;)C=435*Q,e=435*B,r=435*E,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(B=65535&e),r=435*E,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(B=65535&e),r=435*E,e+=(g^=A.charCodeAt(I++))<<8,g=65535&(i=435*g),E=(r+=Q<<8)+((e+=(C+=i>>>16)>>>16)>>>16)&65535,C=435*(Q=65535&C),e=435*(B=65535&e),r=435*E,e+=(g^=A.charCodeAt(I++))<<8,r+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),E=r+((e+=C>>>16)>>>16)&65535,B=65535&e;for(;I<t+3;)C=435*Q,e=435*B,r=435*E,e+=(g^=A.charCodeAt(I++))<<8,r+=Q<<8,g=65535&(i=435*g),Q=65535&(C+=i>>>16),E=r+((e+=C>>>16)>>>16)&65535,B=65535&e;return n[E>>8]+n[255&E]+n[B>>8]+n[255&B]+n[Q>>8]+n[255&Q]+n[g>>8]+n[255&g]},fast1a32utf:function(A){var I,t,i=A.length,g=0,C=40389,Q=0,e=33052;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(Q=403*e,e=(Q+=(C^=I>>6|192)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=403*e,Q+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=I>>12&63|128)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):(Q=403*e,Q+=(C^=I>>12|224)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128),Q=403*e,e=(Q+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g;return(e<<16>>>0)+C},fast1a32hexutf:function(A){var I,t,i=A.length,g=0,C=40389,Q=0,e=33052;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(Q=403*e,e=(Q+=(C^=I>>6|192)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=403*e,Q+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),Q+=(C^=I>>12&63|128)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128):(Q=403*e,Q+=(C^=I>>12|224)<<8,C=65535&(g=403*C),Q=403*(e=Q+(g>>>16)&65535),e=(Q+=(C^=I>>6&63|128)<<8)+((g=403*C)>>>16)&65535,C=65535&g,C^=63&I|128),Q=403*e,e=(Q+=C<<8)+((g=403*C)>>>16)&65535,C=65535&g;return n[e>>>8&255]+n[255&e]+n[C>>>8&255]+n[255&C]},fast1a52utf:function(A){var I,t,i=A.length,g=0,C=8997,Q=0,e=33826,n=0,B=40164,r=0,E=52210;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(Q=435*e,n=435*B,r=435*E,n+=(C^=I>>6|192)<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=435*e,n=435*B,r=435*E,n+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=I>>6&63|128)<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=63&I|128):(Q=435*e,n=435*B,r=435*E,n+=(C^=I>>12|224)<<8,C=65535&(g=435*C),E=(r+=e<<8)+((n+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),n=435*(B=65535&n),r=435*E,n+=(C^=I>>6&63|128)<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n,C^=63&I|128),Q=435*e,n=435*B,r=435*E,n+=C<<8,r+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),E=r+((n+=Q>>>16)>>>16)&65535,B=65535&n;return 281474976710656*(15&E)+4294967296*B+65536*e+(C^E>>4)},fast1a52hexutf:function(A){var I,t,i=A.length,g=0,C=8997,Q=0,e=33826,r=0,E=40164,h=0,o=52210;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(Q=435*e,r=435*E,h=435*o,r+=(C^=I>>6|192)<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=435*e,r=435*E,h=435*o,r+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=435*C),o=(h+=e<<8)+((r+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),r=435*(E=65535&r),h=435*o,r+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),o=(h+=e<<8)+((r+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),r=435*(E=65535&r),h=435*o,r+=(C^=I>>6&63|128)<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,C^=63&I|128):(Q=435*e,r=435*E,h=435*o,r+=(C^=I>>12|224)<<8,C=65535&(g=435*C),o=(h+=e<<8)+((r+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),r=435*(E=65535&r),h=435*o,r+=(C^=I>>6&63|128)<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r,C^=63&I|128),Q=435*e,r=435*E,h=435*o,r+=C<<8,h+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),o=h+((r+=Q>>>16)>>>16)&65535,E=65535&r;return B[15&o]+n[E>>8]+n[255&E]+n[e>>8]+n[255&e]+n[C>>8^o>>12]+n[255&(C^o>>4)]},fast1a64utf:function(A){var I,t,i=A.length,g=0,C=8997,Q=0,e=33826,B=0,r=40164,E=0,h=52210;for(t=0;t<i;t++)(I=A.charCodeAt(t))<128?C^=I:I<2048?(Q=435*e,B=435*r,E=435*h,B+=(C^=I>>6|192)<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):55296==(64512&I)&&t+1<i&&56320==(64512&A.charCodeAt(t+1))?(Q=435*e,B=435*r,E=435*h,B+=(C^=(I=65536+((1023&I)<<10)+(1023&A.charCodeAt(++t)))>>18|240)<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=I>>12&63|128)<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=I>>6&63|128)<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=63&I|128):(Q=435*e,B=435*r,E=435*h,B+=(C^=I>>12|224)<<8,C=65535&(g=435*C),h=(E+=e<<8)+((B+=(Q+=g>>>16)>>>16)>>>16)&65535,Q=435*(e=65535&Q),B=435*(r=65535&B),E=435*h,B+=(C^=I>>6&63|128)<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B,C^=63&I|128),Q=435*e,B=435*r,E=435*h,B+=C<<8,E+=e<<8,C=65535&(g=435*C),e=65535&(Q+=g>>>16),h=E+((B+=Q>>>16)>>>16)&65535,r=65535&B;return n[h>>8]+n[255&h]+n[r>>8]+n[255&r]+n[e>>8]+n[255&e]+n[C>>8]+n[255&C]}}}();A.exports=I}));var Dt={fnvHash:function(A){return wt.hash(A,64).hex()},flatArray:function(A){var I=[];return function A(I,t){if(Array.isArray(t))for(let i=0;i<t.length;i++)A(I,t[i]);else I.push(t)}(I,A),I}};const ct=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function ut(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const yt=ut;function pt(A,I){return BigInt(A)<<BigInt(I)}function lt(A,I){return BigInt(A)>>BigInt(I)}const Ft=pt,Mt=lt;var mt=Object.freeze({__proto__:null,fromString:ut,e:yt,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i<A.length;i++)t=t*I+BigInt(A[i]);return t},bitLength:function(A){const I=A.toString(16);return 4*(I.length-1)+ct[parseInt(I[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:pt,shiftRight:lt,shl:Ft,shr:Mt,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let I=BigInt(A);const t=[];for(;I;){if(1n&I){const A=2-Number(I%4n);t.push(A),I-=BigInt(A)}else t.push(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)},gt:function(A,I){return BigInt(A)>BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function dt(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const Gt=dt;function Ut(A,I){return r(A).shiftLeft(I)}function Ht(A,I){return r(A).shiftRight(I)}const Lt=Ut,kt=Ht;var Nt=Object.freeze({__proto__:null,fromString:dt,e:Gt,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:Ut,shiftRight:Ht,shl:Lt,shr:kt,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const bt="function"==typeof BigInt;let St={};bt?Object.assign(St,mt):Object.assign(St,Nt),St.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A<Q;A++)C[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=Q;A<C.length;A++)C[A]=0;for(let I=4*C.length;I<i;I++)A[I]=St.toNumber(St.band(St.shiftRight(t,8*I),255))},St.toRprBE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new DataView(A.buffer,I,i),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A<Q;A++)C.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-Q;A++)C[A]=0},St.fromRprLE=function(A,I,t){t=t||A.byteLength;const i=new Uint32Array(A.buffer,I,t/4),g=new Array(t/4);return i.forEach((A,I)=>g[g.length-I-1]=A.toString(16).padStart(8,"0")),St.fromString(g.join(""),16)},St.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A<t/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return St.fromString(g.join(""),16)},St.toString=function(A,I){return A.toString(I)},St.toLEBuff=function(A){const I=new Uint8Array(Math.floor((St.bitLength(A)-1)/8)+1);return St.toRprLE(I,0,A,I.byteLength),I},St.zero=St.e(0),St.one=St.e(1);let{toRprLE:Rt,toRprBE:Jt,fromRprLE:vt,fromRprBE:qt,toString:Yt,toLEBuff:Pt,zero:xt,one:Ot,fromString:Xt,e:Zt,fromArray:jt,bitLength:Kt,isNegative:Vt,isZero:zt,shiftLeft:Wt,shiftRight:Tt,shl:_t,shr:$t,isOdd:Ai,naf:Ii,bits:ti,toNumber:ii,toArray:gi,add:Ci,sub:Qi,neg:ei,mul:ni,square:Bi,pow:ri,exp:Ei,abs:hi,div:oi,mod:si,eq:ai,neq:fi,lt:wi,gt:Di,leq:ci,geq:ui,band:yi,bor:pi,bxor:li,land:Fi,lor:Mi,lnot:mi}=St;var di=Object.freeze({__proto__:null,toRprLE:Rt,toRprBE:Jt,fromRprLE:vt,fromRprBE:qt,toString:Yt,toLEBuff:Pt,zero:xt,one:Ot,fromString:Xt,e:Zt,fromArray:jt,bitLength:Kt,isNegative:Vt,isZero:zt,shiftLeft:Wt,shiftRight:Tt,shl:_t,shr:$t,isOdd:Ai,naf:Ii,bits:ti,toNumber:ii,toArray:gi,add:Ci,sub:Qi,neg:ei,mul:ni,square:Bi,pow:ri,exp:Ei,abs:hi,div:oi,mod:si,eq:ai,neq:fi,lt:wi,gt:Di,leq:ci,geq:ui,band:yi,bor:pi,bxor:li,land:Fi,lor:Mi,lnot:mi});function Gi(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 Ui(A,I,t,i,g){const C=1<<t;if(1==C)return[I[i]];if(2==C)return[A.F.add(I[i],I[i+g]),A.F.sub(I[i],I[i+g])];const Q=C>>1,e=Ui(A,I,t-1,i,2*g),n=Ui(A,I,t-1,i+g,2*g),B=new Array(C);for(let I=0;I<Q;I++)B[I]=A.F.add(e[I],A.F.mul(A.roots[t][I],n[I])),B[I+Q]=A.F.sub(e[I],A.F.mul(A.roots[t][I],n[I]));return B}function Hi(A,I,t){const i=1<<t;if(1==i)return[I[0]];const g=i>>1,C=Hi(A,I.slice(0,g),t-1),Q=Hi(A,I.slice(g),t-1),e=new Array(i);for(let I=0;I<g;I++)e[I]=A.F.add(C[I],A.F.mul(A.roots[t][I],Q[I])),e[I+g]=A.F.sub(C[I],A.F.mul(A.roots[t][I],Q[I]));return e}const Li=[];for(let A=0;A<256;A++)Li[A]=ki(A,8);function ki(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function Ni(A,I){return(Li[A>>>24]|Li[A>>>16&255]<<8|Li[A>>>8&255]<<16|Li[255&A]<<24)>>>32-I}function bi(A,I){for(let t=0;t<A.length;t++){const i=Ni(t,I);if(i>t){const I=A[t];A[t]=A[i],A[i]=I}}}function Si(A,I,t){let i;if(zt(t))return A.zero;const g=Ii(t);if(1==g[g.length-1])i=I;else{if(-1!=g[g.length-1])throw new Error("invlaud NAF");i=A.neg(I)}for(let t=g.length-2;t>=0;t--)i=A.double(i),1==g[t]?i=A.add(i,I):-1==g[t]&&(i=A.sub(i,I));return i}function Ri(A,I,t){if(zt(t))return A.one;const i=ti(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function Ji(A){if(A.m%2==1)if(ai(si(A.p,4),1))if(ai(si(A.p,8),1))if(ai(si(A.p,16),1))!function(A){A.sqrt_q=ri(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Qi(A.sqrt_q,1);for(;!Ai(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=oi(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<<A.sqrt_s-1)}A.sqrt_tm1d2=oi(Qi(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),1<<I.sqrt_s-1);if(I.eq(i,I.negone))return null;let g=I.sqrt_s,C=I.mul(A,t),Q=I.mul(C,t),e=I.sqrt_z;for(;!I.eq(Q,I.one);){let A=I.square(Q),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=e;for(let A=0;A<g-i-1;A++)t=I.square(t);e=I.square(t),Q=I.mul(Q,e),C=I.mul(C,t),g=i}return I.geq(C,I.zero)?C:I.neg(C)}}(A);else{if(!ai(si(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!ai(si(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else ai(si(A.p,4),3)&&function(A){A.sqrt_q=ri(A.p,A.m),A.sqrt_e1=oi(Qi(A.sqrt_q,3),4),A.sqrt=function(I){if(this.isZero(I))return this.zero;const t=this.pow(I,this.sqrt_e1),i=this.mul(this.square(t),I);if(this.eq(i,this.negone))return null;const g=this.mul(t,I);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const I=si(ri(A.p,A.m/2),4);1==I?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==I?function(A){A.sqrt_q=ri(A.p,A.m/2),A.sqrt_e34=oi(Qi(A.sqrt_q,3),4),A.sqrt_e12=oi(Qi(A.sqrt_q,1),2),A.frobenius=function(I,t){return I%2==1?A.conjugate(t):t},A.sqrt=function(A){const I=this,t=I.pow(A,I.sqrt_e34),i=I.mul(I.square(t),A),g=I.mul(I.frobenius(1,i),i);if(I.eq(g,I.negone))return null;const C=I.mul(t,A);let Q;if(I.eq(i,I.negone))Q=I.mul(C,[I.F.zero,I.F.one]);else{const A=I.pow(I.add(I.one,i),I.sqrt_e12);Q=I.mul(A,C)}return I.geq(Q,I.zero)?Q:I.neg(Q)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function vi(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 qi{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return Ci(ni(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)vi(A=this.buff,0,4,8,12),vi(A,1,5,9,13),vi(A,2,6,10,14),vi(A,3,7,11,15),vi(A,0,5,10,15),vi(A,1,6,11,12),vi(A,2,7,8,13),vi(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}function Yi(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let t=0;t<A;t++)I[t]=4294967296*Math.random()>>>0;else DA.randomFillSync(I);return I}let Pi=null;function xi(){return Pi||(Pi=new qi(function(){const A=Yi(32),I=new Uint32Array(A.buffer),t=[];for(let A=0;A<8;A++)t.push(I[A]);return t}()),Pi)}class Oi{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=Kt(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const I=this.negone>>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),Ji(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return Ri(this,A,I)}exp(A,I){return Ri(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}{const t=this.p-I;return Number(t)<this.bitLength?A>>t:0n}}shr(A,I){if(Number(I)<this.bitLength)return A>>I;{const t=this.p-I;if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let Q=t;for(let A=0;A<I-C-1;A++)Q=this.square(Q);I=C,t=this.square(Q),i=this.mul(i,t),g=this.mul(g,Q)}return g>this.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;t<A;t++)I=(I<<8n)+BigInt(Yi(1)[0]);return I%this.p}toString(A,I){let t;if(A>this.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.n64;t++)I+=A.nextU64()<<BigInt(64*t);I&=this.mask}while(I>=this.p);return I=I*this.Ri%this.p,I}}class Xi{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),Ji(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let Q=t;for(let A=0;A<I-C-1;A++)Q=this.square(Q);I=C,t=this.square(Q),i=this.mul(i,t),g=this.mul(g,Q)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=r(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=r(0),I=r(this.p.square());for(;!I.isZero();)A=A.shiftLeft(8).add(r(Yi(1)[0])),I=I.shiftRight(8);return A.mod(this.p)}toString(A,I){let t;if(A.lesserOrEquals(this.p.shiftRight(r(1))))t=A.toString(I);else{t="-"+this.p.minus(A).toString(I)}return t}isZero(A){return A.isZero()}fromRng(A){let I;do{I=r(0);for(let t=0;t<this.n64;t++)I=I.add(I,A.nextU64().shiftLeft(64*t));I=I.and(this.mask)}while(I.geq(this.p));return I=I.times(this.Ri).mod(this.q),I}}const Zi="function"==typeof BigInt;let ji;ji=Zi?Oi:Xi;class Ki extends ji{toRprLE(A,I,t){Rt(A,I,t,8*this.n64)}toRprBE(A,I,t){Jt(A,I,t,8*this.n64)}toRprBEM(A,I,t){return this.toRprBE(A,I,this.mul(this.R,t))}toRprLEM(A,I,t){return this.toRprLE(A,I,this.mul(this.R,t))}fromRprLE(A,I){return vt(A,I,this.n8)}fromRprBE(A,I){return qt(A,I,this.n8)}fromRprLEM(A,I){return this.mul(this.fromRprLE(A,I),this.Ri)}fromRprBEM(A,I){return this.mul(this.fromRprBE(A,I),this.Ri)}}function Vi(A,I){if(Array.isArray(I)){for(let t=I.length-1;t>=0;t--)if(!A.F.isZero(I[t]))return Vi(A.F,I[t]);return 0}{const t=A.neg(I);return Di(I,t)}}var zi=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<<BigInt(8*i),i+=4):t>=2?(t-=2,I+=BigInt(g.getUint16(t))<<BigInt(8*i),i+=2):(t-=1,I+=BigInt(g.getUint8(t))<<BigInt(8*i),i+=1);return I},beInt2Buff:function(A,I){let t=A;const i=new Uint8Array(I),g=new DataView(i.buffer);let C=I;for(;C>0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t<A.length;)t+4<=A.length?(I+=BigInt(i.getUint32(t,!0))<<BigInt(8*t),t+=4):t+4<=A.length?(I+=BigInt(i.getUint16(t,!0))<<BigInt(8*t),t+=2):(I+=BigInt(i.getUint8(t,!0))<<BigInt(8*t),t+=1);return I},leInt2Buff:function(A,I){let t=A;void 0===I&&0==(I=Math.floor((Kt(A)-1)/8)+1)&&(I=1);const i=new Uint8Array(I),g=new DataView(i.buffer);let C=0;for(;C<I;)C+4<=I?(g.setUint32(C,Number(0xFFFFFFFFn&t),!0),C+=4,t>>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var Wi=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[A.length-t-1]);I=I.add(i.shiftLeft(8*t))}return I},beInt2Buff:function(A,I){let t=A,i=I-1;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i>=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[t]);I=I.add(i.shiftLeft(8*t))}return I},leInt2Buff:function(A,I){let t=A,i=0;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i<g.length;){let A=Number(t.and(r(255)));g[i]=A,i++,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g}});let Ti={};"function"==typeof BigInt?Object.assign(Ti,zi):Object.assign(Ti,Wi);const _i=[];for(let A=0;A<256;A++)_i[A]=$i(A,8);function $i(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}Ti.bitReverse=function(A,I){return(_i[A>>>24]|_i[A>>>16&255]<<8|_i[A>>>8&255]<<16|_i[255&A]<<24)>>>32-I},Ti.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},Ti.buffReverseBits=function(A,I){const t=A.byteLength/I,i=Ti.log2(t);if(t!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<t;g++){const t=Ti.bitReverse(g,i);if(g>t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};let{bitReverse:Ag,log2:Ig,buffReverseBits:tg,stringifyBigInts:ig,unstringifyBigInts:gg,beBuff2int:Cg,beInt2Buff:Qg,leBuff2int:eg,leInt2Buff:ng}=Ti;var Bg=Object.freeze({__proto__:null,bitReverse:Ag,log2:Ig,buffReverseBits:tg,stringifyBigInts:ig,unstringifyBigInts:gg,beBuff2int:Cg,beInt2Buff:Qg,leBuff2int:eg,leInt2Buff:ng});function rg(A,I,t,i){return async function(g){const C=Math.floor(g.byteLength/t);if(C*t!==g.byteLength)throw new Error("Invalid buffer size");const Q=Math.floor(C/A.concurrency),e=[];for(let n=0;n<A.concurrency;n++){let B;if(B=n<A.concurrency-1?Q:C-n*Q,0==B)continue;const r=[{cmd:"ALLOCSET",var:0,buff:g.slice(n*Q*t,n*Q*t+B*t)},{cmd:"ALLOC",var:1,len:i*B},{cmd:"CALL",fnName:I,params:[{var:0},{val:B},{var:1}]},{cmd:"GET",out:0,var:1,len:i*B}];e.push(A.queueAction(r))}const n=await Promise.all(e),B=new Uint8Array(C*i);let r=0;for(let A=0;A<n.length;A++)B.set(n[A][0],r),r+=n[A][0].byteLength;return B}}class Eg{constructor(A,I,t,i){if(this.tm=A,this.prefix=I,this.p=i,this.n8=t,this.type="F1",this.m=1,this.half=Tt(i,Ot),this.bitLength=Kt(i),this.mask=Qi(Wt(Ot,this.bitLength),Ot),this.pOp1=A.alloc(t),this.pOp2=A.alloc(t),this.pOp3=A.alloc(t),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(t/8),this.n32=Math.floor(t/4),8*this.n64!=this.n8)throw new Error("n8 must be a multiple of 8");this.half=Tt(this.p,Ot),this.nqr=this.two;let g=this.exp(this.nqr,this.half);for(;!this.eq(g,this.negone);)this.nqr=this.add(this.nqr,this.one),g=this.exp(this.nqr,this.half);this.s=0;let C=Qi(this.p,Ot);for(;!Ai(C);)this.s=this.s+1,C=Tt(C,Ot);this.w=[],this.w[this.s]=this.exp(this.nqr,C);for(let A=this.s-1;A>=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=rg(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=rg(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,t){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,t),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=Pt(Zt(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let t=Zt(A,I);Vt(t)?(t=ei(t),Di(t,this.p)&&(t=si(t,this.p)),t=Qi(this.p,t)):Di(t,this.p)&&(t=si(t,this.p));const i=ng(t,this.n8);return this.toMontgomery(i)}toString(A,I){const t=this.fromMontgomery(A),i=vt(t,0);return Yt(i,I)}fromRng(A){let I;const t=new Uint8Array(this.n8);do{I=xt;for(let t=0;t<this.n64;t++)I=Ci(I,Wt(A.nextU64(),64*t));I=yi(I,this.mask)}while(ui(I,this.p));return Rt(t,0,I,this.n8),t}random(){return this.fromRng(xi())}toObject(A){const I=this.fromMontgomery(A);return vt(I,0)}fromObject(A){const I=new Uint8Array(this.n8);return Rt(I,0,A,this.n8),this.toMontgomery(I)}toRprLE(A,I,t){A.set(this.fromMontgomery(t),I)}fromRprLE(A,I){const t=A.slice(I,I+this.n8);return this.toMontgomery(t)}}class hg{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F2",this.m=2*t.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=A.alloc(2*t.n8),this.pOp2=A.alloc(2*t.n8),this.pOp3=A.alloc(2*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}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)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=Pt(Zt(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&2==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=new Uint8Array(2*this.F.n8);return g.set(t),g.set(i,2*this.F.n8),g}throw new Error("invalid F2")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=new Uint8Array(2*this.F.n8);return i.set(I),i.set(t,this.F.n8),i}random(){return this.fromRng(xi())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8))]}fromObject(A){const I=new Uint8Array(2*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]);return I.set(t),I.set(i,this.F.n8),I}}class og{constructor(A,I,t){this.tm=A,this.prefix=I,this.F=t,this.type="F3",this.m=3*t.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=A.getBuff(this.pOp1,this.n8),this.tm.instance.exports[I+"_one"](this.pOp1),this.one=A.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}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)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}add(A,I){return this.op2("_add",A,I)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}isNegative(A){return this.op1Bool("_isNegative",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=Pt(Zt(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(A,I){if(A instanceof Uint8Array)return A;if(Array.isArray(A)&&3==A.length){const t=this.F.e(A[0],I),i=this.F.e(A[1],I),g=this.F.e(A[2],I),C=new Uint8Array(3*this.F.n8);return C.set(t),C.set(i,this.F.n8),C.set(g,2*this.F.n8),C}throw new Error("invalid F3")}toString(A,I){return`[${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)}]`}fromRng(A){const I=this.F.fromRng(A),t=this.F.fromRng(A),i=this.F.fromRng(A),g=new Uint8Array(3*this.F.n8);return g.set(I),g.set(t,this.F.n8),g.set(i,2*this.F.n8),g}random(){return this.fromRng(xi())}toObject(A){return[this.F.toObject(A.slice(0,this.F.n8)),this.F.toObject(A.slice(this.F.n8,2*this.F.n8)),this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8))]}fromObject(A){const I=new Uint8Array(3*this.F.n8),t=this.F.fromObject(A[0]),i=this.F.fromObject(A[1]),g=this.F.fromObject(A[2]);return I.set(t),I.set(i,this.F.n8),I.set(g,2*this.F.n8),I}}class sg{constructor(A,I,t,i,g,C){this.tm=A,this.prefix=I,this.F=t,this.pOp1=A.alloc(3*t.n8),this.pOp2=A.alloc(3*t.n8),this.pOp3=A.alloc(3*t.n8),this.tm.instance.exports[I+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*t.n8),this.tm.instance.exports[I+"_zeroAffine"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*t.n8),this.one=this.tm.getBuff(i,3*t.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(i,2*t.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(g,t.n8),C&&(this.cofactor=Pt(C)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=rg(A,I+"_batchLEMtoC",2*t.n8,t.n8),this.batchLEMtoU=rg(A,I+"_batchLEMtoU",2*t.n8,2*t.n8),this.batchCtoLEM=rg(A,I+"_batchCtoLEM",t.n8,2*t.n8),this.batchUtoLEM=rg(A,I+"_batchUtoLEM",2*t.n8,2*t.n8),this.batchToJacobian=rg(A,I+"_batchToJacobian",2*t.n8,3*t.n8),this.batchToAffine=rg(A,I+"_batchToAffine",3*t.n8,2*t.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,3*this.F.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,this.pOp3)}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,3*this.F.n8)}op1Affine(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,2*this.F.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){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_add",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_addMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_addMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_addAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}sub(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_sub",A,I);if(I.byteLength==2*this.F.n8)return this.op2("_subMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2("_subMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2("_subAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}neg(A){if(A.byteLength==3*this.F.n8)return this.op1("_neg",A);if(A.byteLength==2*this.F.n8)return this.op1Affine("_negAffine",A);throw new Error("invalid point size")}double(A){if(A.byteLength==3*this.F.n8)return this.op1("_double",A);if(A.byteLength==2*this.F.n8)return this.op1("_doubleAffine",A);throw new Error("invalid point size")}isZero(A){if(A.byteLength==3*this.F.n8)return this.op1Bool("_isZero",A);if(A.byteLength==2*this.F.n8)return this.op1Bool("_isZeroAffine",A);throw new Error("invalid point size")}timesScalar(A,I){let t;if(I instanceof Uint8Array||(I=Pt(Zt(I))),A.byteLength==3*this.F.n8)t=this.prefix+"_timesScalar";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesScalarAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(A,I){let t;if(A.byteLength==3*this.F.n8)t=this.prefix+"_timesFr";else{if(A.byteLength!=2*this.F.n8)throw new Error("invalid point size");t=this.prefix+"_timesFrAffine"}return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(A,I){if(A.byteLength==3*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eq",A,I);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqMixed",A,I);throw new Error("invalid point size")}if(A.byteLength==2*this.F.n8){if(I.byteLength==3*this.F.n8)return this.op2bool("_eqMixed",I,A);if(I.byteLength==2*this.F.n8)return this.op2bool("_eqAffine",A,I);throw new Error("invalid point size")}throw new Error("invalid point size")}toAffine(A){if(A.byteLength==3*this.F.n8)return this.op1Affine("_toAffine",A);if(A.byteLength==2*this.F.n8)return A;throw new Error("invalid point size")}toJacobian(A){if(A.byteLength==3*this.F.n8)return A;if(A.byteLength==2*this.F.n8)return this.op1("_toJacobian",A);throw new Error("invalid point size")}toRprUncompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoU"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}fromRprUncompressed(A,I){const t=A.slice(I,I+2*this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_UtoLEM"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(A,I,t){if(this.tm.setBuff(this.pOp1,t),t.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoC"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,this.F.n8);A.set(i,I)}fromRprCompressed(A,I){const t=A.slice(I,I+this.F.n8);return this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_CtoLEM"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(A){const I=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(I,0,A),I}toRprLEM(A,I,t){if(t.byteLength!=2*this.F.n8){if(t.byteLength!=3*this.F.n8)throw new Error("invalid point size");{this.tm.setBuff(this.pOp1,t),this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);const i=this.tm.getBuff(this.pOp1,2*this.F.n8);A.set(i,I)}}else A.set(t,I)}fromRprLEM(A,I){return I=I||0,A.slice(I,I+2*this.F.n8)}toString(A,I){if(A.byteLength==3*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8,2*this.F.n8),I)}, ${this.F.toString(A.slice(2*this.F.n8),I)} ]`}if(A.byteLength==2*this.F.n8){return`[ ${this.F.toString(A.slice(0,this.F.n8),I)}, ${this.F.toString(A.slice(this.F.n8),I)} ]`}throw new Error("invalid point size")}fromRng(A){const I=this.F;let t,i,g=[];do{g[0]=I.fromRng(A),t=A.nextBool(),i=I.add(I.mul(I.square(g[0]),g[0]),this.b)}while(!I.isSquare(i));g[1]=I.sqrt(i);t^I.isNegative(g[1])&&(g[1]=I.neg(g[1]));let C=new Uint8Array(2*this.F.n8);return C.set(g[0]),C.set(g[1],this.F.n8),this.cofactor&&(C=this.timesScalar(C,this.cofactor)),C}toObject(A){if(this.isZero(A))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const I=this.F.toObject(A.slice(0,this.F.n8)),t=this.F.toObject(A.slice(this.F.n8,2*this.F.n8));let i;return i=A.byteLength==3*this.F.n8?this.F.toObject(A.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[I,t,i]}fromObject(A){const I=this.F.fromObject(A[0]),t=this.F.fromObject(A[1]);let i;if(i=3==A.length?this.F.fromObject(A[2]):this.F.one,this.F.isZero(i,this.F.one))return this.zeroAffine;if(this.F.eq(i,this.F.one)){const A=new Uint8Array(2*this.F.n8);return A.set(I),A.set(t,this.F.n8),A}{const A=new Uint8Array(3*this.F.n8);return A.set(I),A.set(t,this.F.n8),A.set(i,2*this.F.n8),A}}e(A){return A instanceof Uint8Array?A:this.fromObject(A)}}function ag(A){let I,t,i,g;async function C(A){const C=new Uint8Array(A.code),Q=await WebAssembly.compile(C);t=new WebAssembly.Memory({initial:A.init}),i=new Uint32Array(t.buffer),g=new Uint8Array(t.buffer),I=await WebAssembly.instantiate(Q,{env:{memory:t}})}function Q(A){for(;3&i[0];)i[0]++;const I=i[0];for(i[0]+=A;i[0]>t.buffer.byteLength;)t.grow(100);return I}function e(A){const I=Q(A.byteLength);return n(I,A),I}function n(A,I){g.set(new Uint8Array(I),A)}function B(A){if("INIT"==A[0].cmd)return C(A[0]);const t={vars:[],out:[]},B=i[0];for(let i=0;i<A.length;i++)switch(A[i].cmd){case"ALLOCSET":t.vars[A[i].var]=e(A[i].buff);break;case"ALLOC":t.vars[A[i].var]=Q(A[i].len);break;case"SET":n(t.vars[A[i].var],A[i].buff);break;case"CALL":{const g=[];for(let I=0;I<A[i].params.length;I++){const C=A[i].params[I];void 0!==C.var?g.push(t.vars[C.var]+(C.offset||0)):void 0!==C.val&&g.push(C.val)}I.exports[A[i].fnName](...g);break}case"GET":t.out[A[i].out]=(r=t.vars[A[i].var],E=A[i].len,new Uint8Array(g.buffer,g.byteOffset+r,E)).slice();break;default:throw new Error("Invalid cmd")}var r,E;return i[0]=B,t.out}return A&&(A.onmessage=function(I){let t;if(t=I.data?I.data:I,"INIT"==t[0].cmd)C(t[0]).then((function(){A.postMessage(t.result)}));else if("TERMINATE"==t[0].cmd)process.exit();else{const I=B(t);A.postMessage(I)}}),B}const fg="undefined"!=typeof window;let wg;fg||(wg=DA.Worker);class Dg{constructor(){this.promise=new Promise((A,I)=>{this.reject=I,this.resolve=A})}}function cg(A){for(var I=window.atob(A),t=I.length,i=new Uint8Array(t),g=0;g<t;g++)i[g]=I.charCodeAt(g);return i}class ug{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error("Sync operation in progress");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error("No sync operation in progress");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(A,I,t,i){if(this.working[A])throw new Error("Posting a job t a working worker");return this.working[A]=!0,this.pendingDeferreds[A]=i||new Dg,this.workers[A].postMessage(I,t),this.pendingDeferreds[A].promise}processWorks(){for(let A=0;A<this.workers.length&&this.actionQueue.length>0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const t=new Dg;if(this.singleThread){const I=this.taskManager(A);t.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:t}),this.processWorks();return t.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;A<this.workers.length;A++)this.workers[A].postMessage([{cmd:"TERMINATE"}]);var A;await(A=200,new Promise(I=>setTimeout(I,A)))}}function yg(A,I){const t=A[I],i=A.Fr,g=A.tm;A[I].batchApplyKey=async function(A,C,Q,e,n){let B,r,E,h,o;if(e=e||"affine",n=n||"affine","G1"==I)"jacobian"==e?(E=3*t.F.n8,B="g1m_batchApplyKey"):(E=2*t.F.n8,B="g1m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g1m_batchToAffine",o=2*t.F.n8);else if("G2"==I)"jacobian"==e?(E=3*t.F.n8,B="g2m_batchApplyKey"):(E=2*t.F.n8,B="g2m_batchApplyKeyMixed"),h=3*t.F.n8,"jacobian"==n?o=3*t.F.n8:(r="g2m_batchToAffine",o=2*t.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);B="frm_batchApplyKey",E=t.n8,h=t.n8,o=t.n8}const s=Math.floor(A.byteLength/E),a=Math.floor(s/g.concurrency),f=[];Q=i.e(Q);let w=i.e(C);for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?a:s-I*a,0==t)continue;const C=[];C.push({cmd:"ALLOCSET",var:0,buff:A.slice(I*a*E,I*a*E+t*E)}),C.push({cmd:"ALLOCSET",var:1,buff:w}),C.push({cmd:"ALLOCSET",var:2,buff:Q}),C.push({cmd:"ALLOC",var:3,len:t*Math.max(h,o)}),C.push({cmd:"CALL",fnName:B,params:[{var:0},{val:t},{var:1},{var:2},{var:3}]}),r&&C.push({cmd:"CALL",fnName:r,params:[{var:3},{val:t},{var:3}]}),C.push({cmd:"GET",out:0,var:3,len:t*o}),f.push(g.queueAction(C)),w=i.mul(w,i.exp(Q,t))}const D=await Promise.all(f),c=new Uint8Array(s*o);let u=0;for(let A=0;A<D.length;A++)c.set(D[A][0],u),u+=D[A][0].byteLength;return c}}const pg=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function lg(A,I){const t=A[I];async function i(A,i,g){let C,Q;if(g=g||"affine","G1"==I)"affine"==g?(Q="g1m_multiexpAffine_chunk",C=2*t.F.n8):(Q="g1m_multiexp_chunk",C=3*t.F.n8);else{if("G2"!=I)throw new Error("Invalid group");"affine"==g?(Q="g2m_multiexpAffine_chunk",C=2*t.F.n8):(Q="g2m_multiexp_chunk",C=3*t.F.n8)}const e=Math.floor(A.byteLength/C),n=Math.floor(i.byteLength/e);if(n*e!=i.byteLength)throw new Error("Scalar size does not match");const B=pg[Ig(e)],r=Math.floor((8*n-1)/B)+1,E=[];for(let I=0;I<r;I++){const g=[{cmd:"ALLOCSET",var:0,buff:A},{cmd:"ALLOCSET",var:1,buff:i},{cmd:"ALLOC",var:2,len:3*t.F.n8},{cmd:"CALL",fnName:Q,params:[{var:0},{var:1},{val:n},{val:e},{val:I*B},{val:Math.min(8*n-I*B,B)},{var:2}]},{cmd:"GET",out:0,var:2,len:3*t.F.n8}];E.push(t.tm.queueAction(g))}const h=await Promise.all(E);let o=t.zero;for(let A=h.length-1;A>=0;A--){if(!t.isZero(o))for(let A=0;A<B;A++)o=t.double(o);o=t.add(o,h[A][0])}return o}t.multiExp=async function(A,I){return await i(A,I,"jacobian")},t.multiExpAffine=async function(A,I){return await i(A,I,"affine")}}function Fg(A,I){const t=A[I],i=A.Fr,g=t.tm;async function C(C,Q,e,n,B){e=e||"affine",n=n||"affine";let r,E,h,o,s,a,f,w,D;"G1"==I?("affine"==e?(r=2*t.F.n8,o="g1m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,Q?(a="g1m_ifft",D="g1m_fftFinal"):a="g1m_fft",w="g1m_fftJoin",f="g1m_fftMix","affine"==n?(h=2*t.F.n8,s="g1m_batchToAffine"):h=3*t.F.n8):"G2"==I?("affine"==e?(r=2*t.F.n8,o="g2m_batchToJacobian"):r=3*t.F.n8,E=3*t.F.n8,Q?(a="g2m_ifft",D="g2m_fftFinal"):a="g2m_fft",w="g2m_fftJoin",f="g2m_fftMix","affine"==n?(h=2*t.F.n8,s="g2m_batchToAffine"):h=3*t.F.n8):"Fr"==I&&(r=t.n8,E=t.n8,h=t.n8,Q?(a="frm_ifft",D="frm_fftFinal"):a="frm_fft",f="frm_fftMix",w="frm_fftJoin");let c=!1;Array.isArray(C)&&(C=A.array2buffer(C,r),c=!0);const u=C.byteLength/r,y=Ig(u);if(1<<y!=u)throw new Error("fft must be multiple of 2");let p,l;if(Q&&(p=i.inv(i.e(u))),u<=4096){const A=[];A.push({cmd:"ALLOC",var:0,len:E*u}),A.push({cmd:"SET",var:0,buff:C}),o&&A.push({cmd:"CALL",fnName:o,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"CALL",fnName:a,params:[{var:0},{val:u}]}),s&&A.push({cmd:"CALL",fnName:s,params:[{var:0},{val:u},{var:0}]}),A.push({cmd:"GET",out:0,var:0,len:h*u});l=(await g.queueAction(A))[0]}else{let A;tg(C,r);const I=4096,t=I*r,e=u/I,n=[];for(let A=0;A<e;A++){const t=[];t.push({cmd:"ALLOC",var:0,len:E*I});const i=C.slice(I*A*r,I*(A+1)*r);t.push({cmd:"SET",var:0,buff:i}),o&&t.push({cmd:"CALL",fnName:o,params:[{var:0},{val:I},{var:0}]});for(let A=1;A<=12;A++)t.push({cmd:"CALL",fnName:f,params:[{var:0},{val:I},{val:A}]});t.push({cmd:"GET",out:0,var:0,len:E*I}),n.push(g.queueAction(t).then(I=>(B&&B.debug(`fft: ${A}/${e}`),I)))}A=await Promise.all(n);for(let I=0;I<e;I++)A[I]=A[I][0];for(let t=13;t<=y;t++){B&&B.debug(`fft join ${t}/${y}`);const C=1<<y-t,Q=e/C,n=[];for(let e=0;e<C;e++)for(let C=0;C<Q/2;C++){const B=i.exp(i.w[t],C*I),r=i.w[t],o=e*Q+C,a=e*Q+C+Q/2,f=[];f.push({cmd:"ALLOCSET",var:0,buff:A[o]}),f.push({cmd:"ALLOCSET",var:1,buff:A[a]}),f.push({cmd:"ALLOCSET",var:2,buff:B}),f.push({cmd:"ALLOCSET",var:3,buff:r}),f.push({cmd:"CALL",fnName:w,params:[{var:0},{var:1},{val:I},{var:2},{var:3}]}),t==y?(D&&(f.push({cmd:"ALLOCSET",var:4,buff:p}),f.push({cmd:"CALL",fnName:D,params:[{var:0},{val:I},{var:4}]}),f.push({cmd:"CALL",fnName:D,params:[{var:1},{val:I},{var:4}]})),s&&(f.push({cmd:"CALL",fnName:s,params:[{var:0},{val:I},{var:0}]}),f.push({cmd:"CALL",fnName:s,params:[{var:1},{val:I},{var:1}]})),f.push({cmd:"GET",out:0,var:0,len:I*h}),f.push({cmd:"GET",out:1,var:1,len:I*h})):(f.push({cmd:"GET",out:0,var:0,len:I*E}),f.push({cmd:"GET",out:1,var:1,len:I*E})),n.push(g.queueAction(f))}const r=await Promise.all(n);for(let I=0;I<C;I++)for(let t=0;t<Q/2;t++){const i=I*Q+t,g=I*Q+t+Q/2,C=r.shift();A[i]=C[0],A[g]=C[1]}}if(l=new Uint8Array(u*h),!Q){for(let t=0;t<e;t++)l.set(A[t],I*h*t),delete A[t];return l}{l.set(A[0].slice((I-1)*h));let i=h;for(let I=e-1;I>0;I--)l.set(A[I],i),i+=t,delete A[I];l.set(A[0].slice(0,(I-1)*h),i),delete A[e-1]}}return c?A.buffer2array(l,h):l}t.fft=async function(A,I,t,i){return await C(A,!1,I,t,i)},t.ifft=async function(A,I,t,i){return await C(A,!0,I,t,i)},t.fftMix=async function(A){const C=3*t.F.n8;let Q,e;if("G1"==I)Q="g1m_fftMix",e="g1m_fftJoin";else if("G2"==I)Q="g2m_fftMix",e="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");Q="frm_fftMix",e="frm_fftJoin"}const n=Math.floor(A.byteLength/C),B=Ig(n);let r=1<<Ig(g.concurrency);n<=2*r&&(r=1);const E=n/r,h=Ig(E),o=[];for(let I=0;I<r;I++){const t=[],i=A.slice(I*E*C,(I+1)*E*C);t.push({cmd:"ALLOCSET",var:0,buff:i});for(let A=1;A<=h;A++)t.push({cmd:"CALL",fnName:Q,params:[{var:0},{val:E},{val:A}]});t.push({cmd:"GET",out:0,var:0,len:E*C}),o.push(g.queueAction(t))}const s=await Promise.all(o),a=[];for(let A=0;A<s.length;A++)a[A]=s[A][0];for(let A=h+1;A<=B;A++){const I=1<<B-A,t=r/I,Q=[];for(let n=0;n<I;n++)for(let I=0;I<t/2;I++){const B=i.exp(i.w[A],I*E),r=i.w[A],h=n*t+I,o=n*t+I+t/2,s=[];s.push({cmd:"ALLOCSET",var:0,buff:a[h]}),s.push({cmd:"ALLOCSET",var:1,buff:a[o]}),s.push({cmd:"ALLOCSET",var:2,buff:B}),s.push({cmd:"ALLOCSET",var:3,buff:r}),s.push({cmd:"CALL",fnName:e,params:[{var:0},{var:1},{val:E},{var:2},{var:3}]}),s.push({cmd:"GET",out:0,var:0,len:E*C}),s.push({cmd:"GET",out:1,var:1,len:E*C}),Q.push(g.queueAction(s))}const n=await Promise.all(Q);for(let A=0;A<I;A++)for(let I=0;I<t/2;I++){const i=A*t+I,g=A*t+I+t/2,C=n.shift();a[i]=C[0],a[g]=C[1]}}const f=new Uint8Array(n*C);let w=0;for(let A=0;A<r;A++)f.set(a[A],w),w+=a[A].byteLength;return f},t.fftJoin=async function(A,C,Q,e){const n=3*t.F.n8;let B;if("G1"==I)B="g1m_fftJoin";else{if("G2"!=I)throw new Error("Invalid group");B="g2m_fftJoin"}if(A.byteLength!=C.byteLength)throw new Error("Invalid buffer size");const r=Math.floor(A.byteLength/n);if(r!=1<<Ig(r))throw new Error("Invalid number of points");let E=1<<Ig(g.concurrency);r<=2*E&&(E=1);const h=r/E,o=[];for(let I=0;I<E;I++){const t=[],r=i.mul(Q,i.exp(e,I*h)),E=A.slice(I*h*n,(I+1)*h*n),s=C.slice(I*h*n,(I+1)*h*n);t.push({cmd:"ALLOCSET",var:0,buff:E}),t.push({cmd:"ALLOCSET",var:1,buff:s}),t.push({cmd:"ALLOCSET",var:2,buff:r}),t.push({cmd:"ALLOCSET",var:3,buff:e}),t.push({cmd:"CALL",fnName:B,params:[{var:0},{var:1},{val:h},{var:2},{var:3}]}),t.push({cmd:"GET",out:0,var:0,len:h*n}),t.push({cmd:"GET",out:1,var:1,len:h*n}),o.push(g.queueAction(t))}const s=await Promise.all(o),a=new Uint8Array(r*n),f=new Uint8Array(r*n);let w=0;for(let A=0;A<s.length;A++)a.set(s[A][0],w),f.set(s[A][1],w),w+=s[A][0].byteLength;return[a,f]},t.fftFinal=async function(A,i){const C=3*t.F.n8,Q=2*t.F.n8;let e,n;if("G1"==I)e="g1m_fftFinal",n="g1m_batchToAffine";else{if("G2"!=I)throw new Error("Invalid group");e="g2m_fftFinal",n="g2m_batchToAffine"}const B=Math.floor(A.byteLength/C);if(B!=1<<Ig(B))throw new Error("Invalid number of points");const r=Math.floor(B/g.concurrency),E=[];for(let I=0;I<g.concurrency;I++){let t;if(t=I<g.concurrency-1?r:B-I*r,0==t)continue;const h=[],o=A.slice(I*r*C,(I*r+t)*C);h.push({cmd:"ALLOCSET",var:0,buff:o}),h.push({cmd:"ALLOCSET",var:1,buff:i}),h.push({cmd:"CALL",fnName:e,params:[{var:0},{val:t},{var:1}]}),h.push({cmd:"CALL",fnName:n,params:[{var:0},{val:t},{var:0}]}),h.push({cmd:"GET",out:0,var:0,len:t*Q}),E.push(g.queueAction(h))}const h=await Promise.all(E),o=new Uint8Array(B*Q);let s=0;for(let A=h.length-1;A>=0;A--)o.set(h[A][0],s),s+=h[A][0].byteLength;return o}}async function Mg(A){const I=await async function(A,I){const t=new ug;t.memory=new WebAssembly.Memory({initial:4096}),t.u8=new Uint8Array(t.memory.buffer),t.u32=new Uint32Array(t.memory.buffer);const i=await WebAssembly.compile(cg(A.code));if(t.instance=await WebAssembly.instantiate(i,{env:{memory:t.memory}}),t.singleThread=I,t.initalPFree=t.u32[0],t.pq=A.pq,t.pr=A.pr,t.pG1gen=A.pG1gen,t.pG1zero=A.pG1zero,t.pG2gen=A.pG2gen,t.pG2zero=A.pG2zero,t.pOneT=A.pOneT,I)t.code=cg(A.code),t.taskManager=ag(),await t.taskManager([{cmd:"INIT",init:4096,code:t.code.slice()}]),t.concurrency=1;else{let I;t.workers=[],t.pendingDeferreds=[],t.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:DA.cpus().length,t.concurrency=I;for(let A=0;A<I;A++){if(fg){const I=new Blob(["(",ag.toString(),")(self);"],{type:"text/javascript"}),i=URL.createObjectURL(I);t.workers[A]=new Worker(i),t.workers[A].onmessage=g(A)}else t.workers[A]=new wg("("+ag.toString()+")(require('worker_threads').parentPort);",{eval:!0}),t.workers[A].on("message",g(A));t.working[A]=!1}const i=[];for(let I=0;I<t.workers.length;I++){const g=cg(A.code).slice();i.push(t.postAction(I,[{cmd:"INIT",init:4096,code:g}],[g.buffer]))}await Promise.all(i)}return t;function g(A){return function(I){let i;i=I&&I.data?I.data:I,t.working[A]=!1,t.pendingDeferreds[A].resolve(i),t.processWorks()}}}(A.wasm,A.singleThread),t={};return t.q=Zt(A.wasm.q),t.r=Zt(A.wasm.r),t.name=A.name,t.tm=I,t.prePSize=A.wasm.prePSize,t.preQSize=A.wasm.preQSize,t.Fr=new Eg(I,"frm",A.n8r,A.r),t.F1=new Eg(I,"f1m",A.n8q,A.q),t.F2=new hg(I,"f2m",t.F1),t.G1=new sg(I,"g1m",t.F1,A.wasm.pG1gen,A.wasm.pG1b,A.cofactorG1),t.G2=new sg(I,"g2m",t.F2,A.wasm.pG2gen,A.wasm.pG2b,A.cofactorG2),t.F6=new og(I,"f6m",t.F2),t.F12=new hg(I,"ftm",t.F6),t.Gt=t.F12,yg(t,"G1"),yg(t,"G2"),yg(t,"Fr"),lg(t,"G1"),lg(t,"G2"),Fg(t,"G1"),Fg(t,"G2"),Fg(t,"Fr"),function(A){const I=A.tm;A.pairing=function(t,i){I.startSyncOp();const g=I.allocBuff(A.G1.toJacobian(t)),C=I.allocBuff(A.G2.toJacobian(i)),Q=I.alloc(A.Gt.n8);I.instance.exports[A.name+"_pairing"](g,C,Q);const e=I.getBuff(Q,A.Gt.n8);return I.endSyncOp(),e},A.pairingEq=async function(){let t,i;arguments.length%2==1?(t=arguments[arguments.length-1],i=(arguments.length-1)/2):(t=A.Gt.one,i=arguments.length/2);const g=[];for(let t=0;t<i;t++){const i=[],C=A.G1.toJacobian(arguments[2*t]);i.push({cmd:"ALLOCSET",var:0,buff:C}),i.push({cmd:"ALLOC",var:1,len:A.prePSize});const Q=A.G2.toJacobian(arguments[2*t+1]);i.push({cmd:"ALLOCSET",var:2,buff:Q}),i.push({cmd:"ALLOC",var:3,len:A.preQSize}),i.push({cmd:"ALLOC",var:4,len:A.Gt.n8}),i.push({cmd:"CALL",fnName:A.name+"_prepareG1",params:[{var:0},{var:1}]}),i.push({cmd:"CALL",fnName:A.name+"_prepareG2",params:[{var:2},{var:3}]}),i.push({cmd:"CALL",fnName:A.name+"_millerLoop",params:[{var:1},{var:3},{var:4}]}),i.push({cmd:"GET",out:0,var:4,len:A.Gt.n8}),g.push(I.queueAction(i))}const C=await Promise.all(g);I.startSyncOp();const Q=I.alloc(A.Gt.n8);I.instance.exports.ftm_one(Q);for(let A=0;A<C.length;A++){const t=I.allocBuff(C[A][0]);I.instance.exports.ftm_mul(Q,t,Q)}I.instance.exports[A.name+"_finalExponentiation"](Q,Q);const e=I.allocBuff(t),n=!!I.instance.exports.ftm_eq(Q,e);return I.endSyncOp(),n},A.prepareG1=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+"_prepareG1"](I,t);const i=this.tm.getBuff(t,this.prePSize);return this.tm.endSyncOp(),i},A.prepareG2=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+"_prepareG2"](I,t);const i=this.tm.getBuff(t,this.preQSize);return this.tm.endSyncOp(),i},A.millerLoop=function(A,I){this.tm.startSyncOp();const t=this.tm.allocBuff(A),i=this.tm.allocBuff(I),g=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_millerLoop"](t,i,g);const C=this.tm.getBuff(g,this.Gt.n8);return this.tm.endSyncOp(),C},A.finalExponentiation=function(A){this.tm.startSyncOp();const I=this.tm.allocBuff(A),t=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_finalExponentiation"](I,t);const i=this.tm.getBuff(t,this.Gt.n8);return this.tm.endSyncOp(),i}}(t),t.array2buffer=function(A,I){const t=new Uint8Array(I*A.length);for(let i=0;i<A.length;i++)t.set(A[i],i*I);return t},t.buffer2array=function(A,I){const t=A.length/I,i=new Array(t);for(let g=0;g<t;g++)i[g]=A.slice(g*I,g*I+I);return i},t}let mg,dg;const Gg=di,Ug=Bg;var Hg=Object.freeze({__proto__:null,Scalar:Gg,utils:Ug,PolField:class{constructor(A){this.F=A;let I=A.sqrt_t,t=A.sqrt_s;const i=this.F.add(this.F.add(this.F.two,this.F.two),this.F.one);this.w=new Array(t+1),this.wi=new Array(t+1),this.w[t]=this.F.pow(i,I),this.wi[t]=this.F.inv(this.w[t]);let g=t-1;for(;g>=0;)this.w[g]=this.F.square(this.w[g+1]),this.wi[g]=this.F.square(this.wi[g+1]),g--;this.roots=[],this._setRoots(15)}_setRoots(A){for(let I=A;I>=0&&!this.roots[I];I--){let A=this.F.one;const t=1<<I,i=new Array(t);for(let g=0;g<t;g++)i[g]=A,A=this.F.mul(A,this.w[I]);this.roots[I]=i}}add(A,I){const t=Math.max(A.length,I.length),i=new Array(t);for(let g=0;g<t;g++)i[g]=this.F.add(A[g]||this.F.zero,I[g]||this.F.zero);return this.reduce(i)}double(A){return this.add(A,A)}sub(A,I){const t=Math.max(A.length,I.length),i=new Array(t);for(let g=0;g<t;g++)i[g]=this.F.sub(A[g]||this.F.zero,I[g]||this.F.zero);return this.reduce(i)}mulScalar(A,I){if(this.F.eq(I,this.F.zero))return[];if(this.F.eq(I,this.F.one))return A;const t=new Array(A.length);for(let i=0;i<A.length;i++)t[i]=this.F.mul(A[i],I);return t}mul(A,I){return 0==A.length||0==I.length?[]:1==A.length?this.mulScalar(I,A[0]):1==I.length?this.mulScalar(A,I[0]):(I.length>A.length&&([I,A]=[A,I]),I.length<=2||I.length<Gi(A.length)?this.mulNormal(A,I):this.mulFFT(A,I))}mulNormal(A,I){let t=[];for(let i=0;i<I.length;i++)t=this.add(t,this.scaleX(this.mulScalar(A,I[i]),i));return t}mulFFT(A,I){const t=Gi(Math.max(A.length,I.length)-1)+2;this._setRoots(t);const i=1<<t,g=this.extend(A,i),C=this.extend(I,i),Q=Ui(this,g,t,0,1),e=Ui(this,C,t,0,1),n=new Array(i);for(let A=0;A<i;A++)n[A]=this.F.mul(Q[A],e[A]);const B=Ui(this,n,t,0,1),r=this.F.inv(this.F.mulScalar(this.F.one,i)),E=new Array(i);for(let A=0;A<i;A++)E[A]=this.F.mul(B[(i-A)%i],r);return this.reduce(E)}square(A){return this.mul(A,A)}scaleX(A,I){if(0==I)return A;if(I>0){return new Array(I).fill(this.F.zero).concat(A)}return-I>=A.length?[]:A.slice(-I)}eval2(A,I){let t=this.F.zero,i=this.F.one;for(let g=0;g<A.length;g++)t=this.F.add(t,this.F.mul(A[g],i)),i=this.F.mul(i,I);return t}eval(A,I){const t=this.F;if(0==A.length)return t.zero;const i=this._next2Power(A.length);return function A(I,i,g,C,Q){if(1==Q)return I[g];const e=t.square(i);return t.add(A(I,e,g,C<<1,Q>>1),t.mul(i,A(I,e,g+C,C<<1,Q>>1)))}(this.extend(A,i),I,0,1,i)}lagrange(A){let I=[this.F.one];for(let t=0;t<A.length;t++)I=this.mul(I,[this.F.neg(A[t][0]),this.F.one]);let t=[];for(let i=0;i<A.length;i++){let g=this.ruffini(I,A[i][0]);const C=this.F.mul(this.F.inv(this.eval(g,A[i][0])),A[i][1]);g=this.mulScalar(g,C),t=this.add(t,g)}return t}fft(A){if(A.length<=1)return A;const I=Gi(A.length-1)+1;this._setRoots(I);const t=1<<I;return Ui(this,this.extend(A,t),I,0,1)}fft2(A){if(A.length<=1)return A;const I=Gi(A.length-1)+1;this._setRoots(I);const t=1<<I,i=this.extend(A,t);bi(i,I);return Hi(this,i,I)}ifft(A){if(A.length<=1)return A;const I=Gi(A.length-1)+1;this._setRoots(I);const t=1<<I,i=Ui(this,this.extend(A,t),I,0,1),g=this.F.inv(this.F.mulScalar(this.F.one,t)),C=new Array(t);for(let A=0;A<t;A++)C[A]=this.F.mul(i[(t-A)%t],g);return C}ifft2(A){if(A.length<=1)return A;const I=Gi(A.length-1)+1;this._setRoots(I);const t=1<<I,i=this.extend(A,t);bi(i,I);const g=Hi(this,i,I),C=this.F.inv(this.F.mulScalar(this.F.one,t)),Q=new Array(t);for(let A=0;A<t;A++)Q[A]=this.F.mul(g[(t-A)%t],C);return Q}_fft(A,I,t,i){const g=1<<I;if(1==g)return[A[t]];const C=g>>1,Q=this._fft(A,I-1,t,2*i),e=this._fft(A,I-1,t+i,2*i),n=new Array(g);let B=this.F.one;for(let A=0;A<C;A++)n[A]=this.F.add(Q[A],this.F.mul(B,e[A])),n[A+C]=this.F.sub(Q[A],this.F.mul(B,e[A])),B=this.F.mul(B,this.w[I]);return n}extend(A,I){if(I==A.length)return A;const t=new Array(I-A.length).fill(this.F.zero);return A.concat(t)}reduce(A){if(0==A.length)return A;if(!this.F.eq(A[A.length-1],this.F.zero))return A;let I=A.length-1;for(;I>0&&this.F.eq(A[I],this.F.zero);)I--;return A.slice(0,I+1)}eq(A,I){const t=this.reduce(A),i=this.reduce(I);if(t.length!=i.length)return!1;for(let A=0;A<i.length;A++)if(!this.F.eq(t[A],i[A]))return!1;return!0}ruffini(A,I){const t=new Array(A.length-1);t[t.length-1]=A[A.length-1];for(let i=t.length-2;i>=0;i--)t[i]=this.F.add(this.F.mul(t[i+1],I),A[i+1]);return t}_next2Power(A){return A--,A|=A>>1,A|=A>>2,A|=A>>4,A|=A>>8,A|=A>>16,++A}toString(A){let I="";for(let t=this.normalize(A).length-1;t>=0;t--)this.F.eq(A[t],this.F.zero)||(""!=I&&(I+=" + "),I+=A[t].toString(10),t>0&&(I+="x",t>1&&(I=I+"^"+t)));return I}normalize(A){const I=new Array(A.length);for(let t=0;t<A.length;t++)I[t]=this.F.normalize(A[t]);return I}_reciprocal(A,I){const t=1<<I;if(1==t)return[this.F.inv(A[0])];const i=this.scaleX(A,-t/2),g=this._reciprocal(i,I-1),C=this.scaleX(this.double(g),3*t/2-2),Q=this.mul(this.square(g),A);return this.scaleX(this.sub(C,Q),-(t-2))}_div2(A,I){const t=Gi(I.length-1)+1,i=1<<t,g=i-I.length,C=this._reciprocal(this.scaleX(I,g),t);return this.scaleX(C,A-2*i+2+g)}div(A,I){if(A.length<I.length)return[];const t=Gi(I.length-1)+1,i=1<<t,g=this.scaleX(A,i-I.length),C=this.scaleX(I,i-I.length),Q=C.length-1;let e=g.length-1;const n=this._reciprocal(C,t);let B;e>2*Q&&(B=this.sub(this.scaleX([this.F.one],2*Q),this.mul(n,C)));let r,E,h=[],o=g,s=!1;for(;!s;)r=this.mul(o,n),h=this.add(h,this.scaleX(r,-2*Q)),e>2*Q?(E=this.mul(o,B),o=this.scaleX(E,-2*Q),e=o.length-1):s=!0;return h}oneRoot(A,I){let t=Gi(A-1)+1,i=this.F.one,g=I;if(I>=A)throw new Error("Given 'i' should be lower than 'n'");if(1<<t!==A)throw new Error(`Internal errlr: ${A} should equal ${1<<t}`);for(;g>0;)!0&g&&(i=this.F.mul(i,this.w[t])),g>>=1,t--;return i}computeVanishingPolinomial(A,I){const t=1<<A;return this.F.sub(this.F.pow(I,t),this.F.one)}evaluateLagrangePolynomials(A,I){const t=1<<A,i=this.F.pow(I,t),g=new Array(t).fill(this.F.zero);this._setRoots(A);const C=this.w[A];if(this.F.eq(i,this.F.one))for(let i=0;i<t;i++)if(this.F.eq(this.roots[A][0],I))return g[i]=this.F.one,g;const Q=this.F.sub(i,this.F.one);let e=this.F.mul(Q,this.F.inv(this.F.e(t)));for(let i=0;i<t;i++)g[i]=this.F.mul(e,this.F.inv(this.F.sub(I,this.roots[A][i]))),e=this.F.mul(e,C);return g}log2(A){return Gi(A)}},F1Field:Ki,F2Field:class{constructor(A,I){this.type="F2",this.F=A,this.zero=[this.F.zero,this.F.zero],this.one=[this.F.one,this.F.zero],this.negone=this.neg(this.one),this.nonResidue=I,this.m=2*A.m,this.p=A.p,this.n64=2*A.n64,this.n32=2*this.n64,this.n8=8*this.n64,Ji(this)}_mulByNonResidue(A){return this.F.mul(this.nonResidue,A)}copy(A){return[this.F.copy(A[0]),this.F.copy(A[1])]}add(A,I){return[this.F.add(A[0],I[0]),this.F.add(A[1],I[1])]}double(A){return this.add(A,A)}sub(A,I){return[this.F.sub(A[0],I[0]),this.F.sub(A[1],I[1])]}neg(A){return this.sub(this.zero,A)}conjugate(A){return[A[0],this.F.neg(A[1])]}mul(A,I){const t=this.F.mul(A[0],I[0]),i=this.F.mul(A[1],I[1]);return[this.F.add(t,this._mulByNonResidue(i)),this.F.sub(this.F.mul(this.F.add(A[0],A[1]),this.F.add(I[0],I[1])),this.F.add(t,i))]}inv(A){const I=this.F.square(A[0]),t=this.F.square(A[1]),i=this.F.sub(I,this._mulByNonResidue(t)),g=this.F.inv(i);return[this.F.mul(A[0],g),this.F.neg(this.F.mul(A[1],g))]}div(A,I){return this.mul(A,this.inv(I))}square(A){const I=this.F.mul(A[0],A[1]);return[this.F.sub(this.F.mul(this.F.add(A[0],A[1]),this.F.add(A[0],this._mulByNonResidue(A[1]))),this.F.add(I,this._mulByNonResidue(I))),this.F.add(I,I)]}isZero(A){return this.F.isZero(A[0])&&this.F.isZero(A[1])}eq(A,I){return this.F.eq(A[0],I[0])&&this.F.eq(A[1],I[1])}mulScalar(A,I){return Si(this,A,I)}pow(A,I){return Ri(this,A,I)}exp(A,I){return Ri(this,A,I)}toString(A){return`[ ${this.F.toString(A[0])} , ${this.F.toString(A[1])} ]`}fromRng(A){return[this.F.fromRng(A),this.F.fromRng(A)]}gt(A,I){return!!this.F.gt(A[0],I[0])||!this.F.gt(I[0],A[0])&&!!this.F.gt(A[1],I[1])}geq(A,I){return this.gt(A,I)||this.eq(A,I)}lt(A,I){return!this.geq(A,I)}leq(A,I){return!this.gt(A,I)}neq(A,I){return!this.eq(A,I)}random(){return[this.F.random(),this.F.random()]}toRprLE(A,I,t){this.F.toRprLE(A,I,t[0]),this.F.toRprLE(A,I+this.F.n8,t[1])}toRprBE(A,I,t){this.F.toRprBE(A,I,t[1]),this.F.toRprBE(A,I+this.F.n8,t[0])}toRprLEM(A,I,t){this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1])}toRprBEM(A,I,t){this.F.toRprBEM(A,I,t[1]),this.F.toRprBEM(A,I+this.F.n8,t[0])}fromRprLE(A,I){I=I||0;return[this.F.fromRprLE(A,I),this.F.fromRprLE(A,I+this.F.n8)]}fromRprBE(A,I){I=I||0;const t=this.F.fromRprBE(A,I);return[this.F.fromRprBE(A,I+this.F.n8),t]}fromRprLEM(A,I){I=I||0;return[this.F.fromRprLEM(A,I),this.F.fromRprLEM(A,I+this.F.n8)]}fromRprBEM(A,I){I=I||0;const t=this.F.fromRprBEM(A,I);return[this.F.fromRprBEM(A,I+this.F.n8),t]}},F3Field:class{constructor(A,I){this.type="F3",this.F=A,this.zero=[this.F.zero,this.F.zero,this.F.zero],this.one=[this.F.one,this.F.zero,this.F.zero],this.negone=this.neg(this.one),this.nonResidue=I,this.m=3*A.m,this.p=A.p,this.n64=3*A.n64,this.n32=2*this.n64,this.n8=8*this.n64}_mulByNonResidue(A){return this.F.mul(this.nonResidue,A)}copy(A){return[this.F.copy(A[0]),this.F.copy(A[1]),this.F.copy(A[2])]}add(A,I){return[this.F.add(A[0],I[0]),this.F.add(A[1],I[1]),this.F.add(A[2],I[2])]}double(A){return this.add(A,A)}sub(A,I){return[this.F.sub(A[0],I[0]),this.F.sub(A[1],I[1]),this.F.sub(A[2],I[2])]}neg(A){return this.sub(this.zero,A)}mul(A,I){const t=this.F.mul(A[0],I[0]),i=this.F.mul(A[1],I[1]),g=this.F.mul(A[2],I[2]);return[this.F.add(t,this._mulByNonResidue(this.F.sub(this.F.mul(this.F.add(A[1],A[2]),this.F.add(I[1],I[2])),this.F.add(i,g)))),this.F.add(this.F.sub(this.F.mul(this.F.add(A[0],A[1]),this.F.add(I[0],I[1])),this.F.add(t,i)),this._mulByNonResidue(g)),this.F.add(this.F.sub(this.F.mul(this.F.add(A[0],A[2]),this.F.add(I[0],I[2])),this.F.add(t,g)),i)]}inv(A){const I=this.F.square(A[0]),t=this.F.square(A[1]),i=this.F.square(A[2]),g=this.F.mul(A[0],A[1]),C=this.F.mul(A[0],A[2]),Q=this.F.mul(A[1],A[2]),e=this.F.sub(I,this._mulByNonResidue(Q)),n=this.F.sub(this._mulByNonResidue(i),g),B=this.F.sub(t,C),r=this.F.inv(this.F.add(this.F.mul(A[0],e),this._mulByNonResidue(this.F.add(this.F.mul(A[2],n),this.F.mul(A[1],B)))));return[this.F.mul(r,e),this.F.mul(r,n),this.F.mul(r,B)]}div(A,I){return this.mul(A,this.inv(I))}square(A){const I=this.F.square(A[0]),t=this.F.mul(A[0],A[1]),i=this.F.add(t,t),g=this.F.square(this.F.add(this.F.sub(A[0],A[1]),A[2])),C=this.F.mul(A[1],A[2]),Q=this.F.add(C,C),e=this.F.square(A[2]);return[this.F.add(I,this._mulByNonResidue(Q)),this.F.add(i,this._mulByNonResidue(e)),this.F.sub(this.F.add(this.F.add(i,g),Q),this.F.add(I,e))]}isZero(A){return this.F.isZero(A[0])&&this.F.isZero(A[1])&&this.F.isZero(A[2])}eq(A,I){return this.F.eq(A[0],I[0])&&this.F.eq(A[1],I[1])&&this.F.eq(A[2],I[2])}affine(A){return[this.F.affine(A[0]),this.F.affine(A[1]),this.F.affine(A[2])]}mulScalar(A,I){return Si(this,A,I)}pow(A,I){return Ri(this,A,I)}exp(A,I){return Ri(this,A,I)}toString(A){return`[ ${this.F.toString(A[0])} , ${this.F.toString(A[1])}, ${this.F.toString(A[2])} ]`}fromRng(A){return[this.F.fromRng(A),this.F.fromRng(A),this.F.fromRng(A)]}gt(A,I){return!!this.F.gt(A[0],I[0])||!this.F.gt(I[0],A[0])&&(!!this.F.gt(A[1],I[1])||!this.F.gt(I[1],A[1])&&!!this.F.gt(A[2],I[2]))}geq(A,I){return this.gt(A,I)||this.eq(A,I)}lt(A,I){return!this.geq(A,I)}leq(A,I){return!this.gt(A,I)}neq(A,I){return!this.eq(A,I)}random(){return[this.F.random(),this.F.random(),this.F.random()]}toRprLE(A,I,t){this.F.toRprLE(A,I,t[0]),this.F.toRprLE(A,I+this.F.n8,t[1]),this.F.toRprLE(A,I+2*this.F.n8,t[2])}toRprBE(A,I,t){this.F.toRprBE(A,I,t[2]),this.F.toRprBE(A,I+this.F.n8,t[1]),this.F.toRprBE(A,I+2*this.F.n8,t[0])}toRprLEM(A,I,t){this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1]),this.F.toRprLEM(A,I+2*this.F.n8,t[2])}toRprBEM(A,I,t){this.F.toRprBEM(A,I,t[2]),this.F.toRprBEM(A,I+this.F.n8,t[1]),this.F.toRprBEM(A,I+2*this.F.n8,t[0])}fromRprLE(A,I){I=I||0;return[this.F.fromRprLE(A,I),this.F.fromRprLE(A,I+this.n8),this.F.fromRprLE(A,I+2*this.n8)]}fromRprBE(A,I){I=I||0;const t=this.F.fromRprBE(A,I),i=this.F.fromRprBE(A,I+this.n8);return[this.F.fromRprBE(A,I+2*this.n8),i,t]}fromRprLEM(A,I){I=I||0;return[this.F.fromRprLEM(A,I),this.F.fromRprLEM(A,I+this.n8),this.F.fromRprLEM(A,I+2*this.n8)]}fromRprBEM(A,I){I=I||0;const t=this.F.fromRprBEM(A,I),i=this.F.fromRprBEM(A,I+this.n8);return[this.F.fromRprBEM(A,I+2*this.n8),i,t]}},ZqField:Ki,EC:class{constructor(A,I){this.F=A,this.g=I,2==this.g.length&&(this.g[2]=this.F.one),this.zero=[this.F.zero,this.F.one,this.F.zero]}add(A,I){const t=this.F;if(this.eq(A,this.zero))return I;if(this.eq(I,this.zero))return A;const i=new Array(3),g=t.square(A[2]),C=t.square(I[2]),Q=t.mul(A[0],C),e=t.mul(I[0],g),n=t.mul(A[2],g),B=t.mul(I[2],C),r=t.mul(A[1],B),E=t.mul(I[1],n);if(t.eq(Q,e)&&t.eq(r,E))return this.double(A);const h=t.sub(e,Q),o=t.sub(E,r),s=t.square(t.add(h,h)),a=t.mul(h,s),f=t.add(o,o),w=t.mul(Q,s);i[0]=t.sub(t.sub(t.square(f),a),t.add(w,w));const D=t.mul(r,a);return i[1]=t.sub(t.mul(f,t.sub(w,i[0])),t.add(D,D)),i[2]=t.mul(h,t.sub(t.square(t.add(A[2],I[2])),t.add(g,C))),i}neg(A){return[A[0],this.F.neg(A[1]),A[2]]}sub(A,I){return this.add(A,this.neg(I))}double(A){const I=this.F,t=new Array(3);if(this.eq(A,this.zero))return A;const i=I.square(A[0]),g=I.square(A[1]),C=I.square(g);let Q=I.sub(I.square(I.add(A[0],g)),I.add(i,C));Q=I.add(Q,Q);const e=I.add(I.add(i,i),i),n=I.square(e);t[0]=I.sub(n,I.add(Q,Q));let B=I.add(C,C);B=I.add(B,B),B=I.add(B,B),t[1]=I.sub(I.mul(e,I.sub(Q,t[0])),B);const r=I.mul(A[1],A[2]);return t[2]=I.add(r,r),t}timesScalar(A,I){return Si(this,A,I)}mulScalar(A,I){return Si(this,A,I)}affine(A){const I=this.F;if(this.isZero(A))return this.zero;if(I.eq(A[2],I.one))return A;{const t=I.inv(A[2]),i=I.square(t),g=I.mul(i,t),C=new Array(3);return C[0]=I.mul(A[0],i),C[1]=I.mul(A[1],g),C[2]=I.one,C}}multiAffine(A){const I=Object.keys(A),t=this.F,i=new Array(I.length+1);i[0]=t.one;for(let g=0;g<I.length;g++)t.eq(A[I[g]][2],t.zero)?i[g+1]=i[g]:i[g+1]=t.mul(i[g],A[I[g]][2]);i[I.length]=t.inv(i[I.length]);for(let g=I.length-1;g>=0;g--)if(t.eq(A[I[g]][2],t.zero))i[g]=i[g+1],A[I[g]]=this.zero;else{const C=t.mul(i[g],i[g+1]);i[g]=t.mul(A[I[g]][2],i[g+1]);const Q=t.square(C),e=t.mul(Q,C);A[I[g]][0]=t.mul(A[I[g]][0],Q),A[I[g]][1]=t.mul(A[I[g]][1],e),A[I[g]][2]=t.one}}eq(A,I){const t=this.F;if(this.F.eq(A[2],this.F.zero))return this.F.eq(I[2],this.F.zero);if(this.F.eq(I[2],this.F.zero))return!1;const i=t.square(A[2]),g=t.square(I[2]),C=t.mul(A[0],g),Q=t.mul(I[0],i),e=t.mul(A[2],i),n=t.mul(I[2],g),B=t.mul(A[1],n),r=t.mul(I[1],e);return t.eq(C,Q)&&t.eq(B,r)}isZero(A){return this.F.isZero(A[2])}toString(A){const I=this.affine(A);return`[ ${this.F.toString(I[0])} , ${this.F.toString(I[1])} ]`}fromRng(A){const I=this.F;let t,i=[];do{i[0]=I.fromRng(A),t=A.nextBool();const g=I.add(I.mul(I.square(i[0]),i[0]),this.b);i[1]=I.sqrt(g)}while(null==i[1]||I.isZero[i]);return t^Vi(I,i[1])&&(i[1]=I.neg(i[1])),i[2]=I.one,this.cofactor&&(i=this.mulScalar(i,this.cofactor)),i=this.affine(i),i}toRprLE(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLE(A,I,t[0]),this.F.toRprLE(A,I+this.F.n8,t[1])}toRprBE(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprBE(A,I,t[0]),this.F.toRprBE(A,I+this.F.n8,t[1])}toRprLEM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1])}toRprLEJM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprLEM(A,I,t[0]),this.F.toRprLEM(A,I+this.F.n8,t[1]),this.F.toRprLEM(A,I+2*this.F.n8,t[2])}toRprBEM(A,I,t){if(t=this.affine(t),this.isZero(t)){new Uint8Array(A,I,2*this.F.n8).fill(0)}else this.F.toRprBEM(A,I,t[0]),this.F.toRprBEM(A,I+this.F.n8,t[1])}fromRprLE(A,I){I=I||0;const t=this.F.fromRprLE(A,I),i=this.F.fromRprLE(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprBE(A,I){I=I||0;const t=this.F.fromRprBE(A,I),i=this.F.fromRprBE(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprLEM(A,I){I=I||0;const t=this.F.fromRprLEM(A,I),i=this.F.fromRprLEM(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprLEJM(A,I){I=I||0;const t=this.F.fromRprLEM(A,I),i=this.F.fromRprLEM(A,I+this.F.n8),g=this.F.fromRprLEM(A,I+2*this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,g]}fromRprBEM(A,I){I=I||0;const t=this.F.fromRprBEM(A,I),i=this.F.fromRprBEM(A,I+this.F.n8);return this.F.isZero(t)&&this.F.isZero(i)?this.zero:[t,i,this.F.one]}fromRprCompressed(A,I){const t=this.F,i=new Uint8Array(A.buffer,I,t.n8);if(64&i[0])return this.zero;const g=new Array(3),C=0!=(128&i[0]);i[0]=127&i[0],g[0]=t.fromRprBE(A,I),C&&(i[0]=128|i[0]);const Q=t.add(t.mul(t.square(g[0]),g[0]),this.b);if(g[1]=t.sqrt(Q),null===g[1])throw new Error("Invalid Point!");return C^Vi(t,g[1])&&(g[1]=t.neg(g[1])),g[2]=t.one,g}toRprCompressed(A,I,t){t=this.affine(t);const i=new Uint8Array(A.buffer,I,this.F.n8);if(this.isZero(t))return i.fill(0),void(i[0]=64);this.F.toRprBE(A,I,t[0]),Vi(this.F,t[1])&&(i[0]=128|i[0])}fromRprUncompressed(A,I){return 64&A[0]?this.zero:this.fromRprBE(A,I)}toRprUncompressed(A,I,t){this.toRprBE(A,I,t),this.isZero(t)&&(A[I]=64|A[I])}},buildBn128:async function(){if(mg)return mg;const A={name:"bn128",wasm:dA.bn128_wasm,q:Zt("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:Zt("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:Zt("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!1};return mg=await Mg(A),mg.terminate=async function(){mg=null,await this.tm.terminate()},mg},buildBls12381:async function(){if(dg)return dg;const A={name:"bls12381",wasm:dA.bls12381_wasm,q:Zt("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),r:Zt("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),n8q:48,n8r:32,cofactorG1:Zt("0x396c8c005555e1568c00aaab0000aaab",16),cofactorG2:Zt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5",16),singleThread:!1};return dg=await Mg(A),dg.terminate=async function(){dg=null,await this.tm.terminate()},dg},ChaCha:qi});const Lg=Hg.Scalar,kg=Hg.F1Field;class Ng{constructor(A,I,t){this.memory=A,this.i32=new Uint32Array(A.buffer),this.instance=I,this.n32=(this.instance.exports.getFrLen()>>2)-2;const i=this.instance.exports.getPRawPrime(),g=new Array(this.n32);for(let A=0;A<this.n32;A++)g[this.n32-1-A]=this.i32[(i>>2)+A];this.prime=Lg.fromArray(g,4294967296),this.Fr=new kg(this.prime),this.mask32=Lg.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(Lg.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=t}async _doCalculateWitness(A,I){this.instance.exports.init(this.sanityCheck||I?1:0);const t=this.allocInt(),i=this.allocFr();Object.keys(A).forEach(I=>{const g=Dt.fnvHash(I),C=parseInt(g.slice(0,8),16),Q=parseInt(g.slice(8,16),16);try{this.instance.exports.getSignalOffset32(t,0,C,Q)}catch(A){throw new Error(`Signal ${I} is not an input of the circuit.`)}const e=this.getInt(t),n=Dt.flatArray(A[I]);for(let A=0;A<n.length;A++)this.setFr(i,n[A]),this.instance.exports.setSignal(0,0,e+A,i)})}async calculateWitness(A,I){const t=this,i=t.i32[0],g=[];await t._doCalculateWitness(A,I);for(let A=0;A<t.NVars;A++){const I=t.instance.exports.getPWitness(A);g.push(t.getFr(I))}return t.i32[0]=i,g}async calculateBinWitness(A,I){const t=this.i32[0];await this._doCalculateWitness(A,I);const i=this.instance.exports.getWitnessBuffer();this.i32[0]=t;const g=this.memory.buffer.slice(i,i+this.NVars*this.n64*8);return new Uint8Array(g)}allocInt(){const A=this.i32[0];return this.i32[0]=A+8,A}allocFr(){const A=this.i32[0];return this.i32[0]=A+4*this.n32+8,A}getInt(A){return this.i32[A>>2]}setInt(A,I){this.i32[A>>2]=I}getFr(A){const I=this,t=A>>2;if(2147483648&I.i32[t+1]){const A=new Array(I.n32);for(let i=0;i<I.n32;i++)A[I.n32-1-i]=I.i32[t+2+i];const g=I.Fr.e(Lg.fromArray(A,4294967296));return 1073741824&I.i32[t+1]?(i=g,I.Fr.mul(I.RInv,i)):g}return 2147483648&I.i32[t]?I.Fr.e(I.i32[t]-4294967296):I.Fr.e(I.i32[t]);var i}setFr(A,I){const t=this;I=t.Fr.e(I);const i=t.Fr.neg(t.Fr.e("80000000",16)),g=t.Fr.e("7FFFFFFF",16);if(t.Fr.geq(I,i)&&t.Fr.leq(I,g)){let g;return t.Fr.geq(I,t.Fr.zero)?g=Lg.toNumber(I):(g=Lg.toNumber(t.Fr.sub(I,i)),g-=2147483648,g=4294967296+g),t.i32[A>>2]=g,void(t.i32[1+(A>>2)]=0)}t.i32[A>>2]=0,t.i32[1+(A>>2)]=2147483648;const C=Lg.toArray(I,4294967296);for(let I=0;I<t.n32;I++){const i=C.length-1-I;t.i32[2+(A>>2)+I]=i>=0?C[i]:0}}}var bg={WitnessCalculatorBuilder:async function(A,I){I=I||{};const t=new WebAssembly.Memory({initial:2e4}),i=await WebAssembly.compile(A);let g;const C=await WebAssembly.instantiate(i,{env:{memory:t},runtime:{error:function(A,I,t,i,C,Q){let n;throw n=7==A?e(I)+" "+g.getFr(i).toString()+" != "+g.getFr(C).toString()+" "+e(Q):e(I)+" "+t+" "+i+" "+C+" "+Q,console.log("ERROR: ",A,n),new Error(n)},log:function(A){console.log(g.getFr(A).toString())},logGetSignal:function(A,t){I.logGetSignal&&I.logGetSignal(A,g.getFr(t))},logSetSignal:function(A,t){I.logSetSignal&&I.logSetSignal(A,g.getFr(t))},logStartComponent:function(A){I.logStartComponent&&I.logStartComponent(A)},logFinishComponent:function(A){I.logFinishComponent&&I.logFinishComponent(A)}}}),Q=I&&(I.sanityCheck||I.logGetSignal||I.logSetSignal||I.logStartComponent||I.logFinishComponent);return g=new Ng(t,C,Q),g;function e(A){const I=new Uint8Array(t.buffer),i=[];for(let t=0;I[A+t]>0;t++)i.push(I[A+t]);return String.fromCharCode.apply(null,i)}}};const{WitnessCalculatorBuilder:Sg}=bg;async function Rg(A,I,t,i){const g=await lI(I),C=await g.read(g.totalSize);await g.close();const Q=await Sg(C),e=await Q.calculateBinWitness(A),n=await MI(t,"wtns",2,2);await async function(A,I,t){await mI(A,1);const i=8*(Math.floor((BI.bitLength(t)-1)/64)+1);if(await A.writeULE32(i),await HI(A,t,i),I.byteLength%i!=0)throw new Error("Invalid witness length");await A.writeULE32(I.byteLength/i),await dI(A),await mI(A,2),await A.write(I),await dI(A)}(n,e,Q.prime),await n.close()}const{unstringifyBigInts:Jg}=rI;var vg=Object.freeze({__proto__:null,fullProve:async function(A,I,t,i){const g={type:"mem"};return await Rg(A,I,g),await ft(t,g)},prove:ft,verify:async function(A,I,t,i){A=Jg(A),t=Jg(t),I=Jg(I);const g=await async function(A){let I;const t=A.toUpperCase().match(/[A-Za-z0-9]+/g).join("");if(["BN128","BN254","ALTBN128"].indexOf(t)>=0)I=await eI();else{if(!(["BLS12381"].indexOf(t)>=0))throw new Error("Curve not supported: "+A);I=await nI()}return I}(A.curve),C=g.G1.fromObject(A.IC[0]),Q=new Uint8Array(2*g.G1.F.n8*I.length),e=new Uint8Array(g.Fr.n8*I.length);for(let t=0;t<I.length;t++){const i=g.G1.fromObject(A.IC[t+1]);Q.set(i,t*g.G1.F.n8*2),BI.toRprLE(e,g.Fr.n8*t,I[t],g.Fr.n8)}let n=await g.G1.multiExpAffine(Q,e);n=g.G1.add(n,C);const B=g.G1.fromObject(t.pi_a),r=g.G2.fromObject(t.pi_b),E=g.G1.fromObject(t.pi_c),h=g.G2.fromObject(A.vk_gamma_2),o=g.G2.fromObject(A.vk_delta_2),s=g.G1.fromObject(A.vk_alpha_1),a=g.G2.fromObject(A.vk_beta_2);return await g.pairingEq(g.G1.neg(B),r,n,h,E,o,s,a)?(i&&i.info("OK!"),!0):(i&&i.error("Invalid proof"),!1)}});function qg(A,I){const t=new DataView(I.buffer,I.byteOffset,I.byteLength),i=[];for(let A=0;A<8;A++)i[A]=t.getUint32(4*A);const g=new wA(i);return A.G2.fromRng(g)}function Yg(A,I,t,i,g){const C=OI(64),Q=new Uint8Array([I]);C.update(Q),C.update(t);const e=A.G1.toUncompressed(i);C.update(e);const n=A.G1.toUncompressed(g);C.update(n);return qg(A,C.digest())}function Pg(A,I,t,i,g){return A.g1_s=I.G1.toAffine(I.G1.fromRng(g)),A.g1_sx=I.G1.toAffine(I.G1.timesFr(A.g1_s,A.prvKey)),A.g2_sp=I.G2.toAffine(Yg(I,t,i,A.g1_s,A.g1_sx)),A.g2_spx=I.G2.toAffine(I.G2.timesFr(A.g2_sp,A.prvKey)),A}function xg(A,I,t){const i={tau:{},alpha:{},beta:{}};return i.tau.prvKey=A.Fr.fromRng(t),i.alpha.prvKey=A.Fr.fromRng(t),i.beta.prvKey=A.Fr.fromRng(t),Pg(i.tau,A,0,I,t),Pg(i.alpha,A,1,I,t),Pg(i.beta,A,2,I,t),i}async function Og(A,I,t,i){i||(i=t),await A.writeULE32(1);const g=A.pos;await A.writeULE64(0),await A.writeULE32(8*I.F1.n64);const C=new Uint8Array(I.F1.n8);BI.toRprLE(C,0,I.q,I.F1.n8),await A.write(C),await A.writeULE32(t),await A.writeULE32(i);const Q=A.pos-g-8,e=A.pos;await A.writeULE64(Q,g),A.pos=e}async function Xg(A,I){if(!I[1])throw new Error(A.fileName+": File has no header");if(I[1].length>1)throw new Error(A.fileName+": File has more than one header");A.pos=I[1][0].p;const t=await A.readULE32(),i=await A.read(t),g=BI.fromRprLE(i),C=await JI(g);if(8*C.F1.n64!=t)throw new Error(A.fileName+": Invalid size");const Q=await A.readULE32(),e=await A.readULE32();if(A.pos-I[1][0].p!=I[1][0].size)throw new Error("Invalid PTau header size");return{curve:C,power:Q,ceremonyPower:e}}function Zg(A,I,t,i){const g={tau:{},alpha:{},beta:{}};return g.tau.g1_s=C(),g.tau.g1_sx=C(),g.alpha.g1_s=C(),g.alpha.g1_sx=C(),g.beta.g1_s=C(),g.beta.g1_sx=C(),g.tau.g2_spx=Q(),g.alpha.g2_spx=Q(),g.beta.g2_spx=Q(),g;function C(){let g;return g=i?t.G1.fromRprLEM(A,I):t.G1.fromRprUncompressed(A,I),I+=2*t.G1.F.n8,g}function Q(){let g;return g=i?t.G2.fromRprLEM(A,I):t.G2.fromRprUncompressed(A,I),I+=2*t.G2.F.n8,g}}function jg(A,I,t,i,g){async function C(i){g?t.G1.toRprLEM(A,I,i):t.G1.toRprUncompressed(A,I,i),I+=2*t.F1.n8}async function Q(i){g?t.G2.toRprLEM(A,I,i):t.G2.toRprUncompressed(A,I,i),I+=2*t.F2.n8}return C(i.tau.g1_s),C(i.tau.g1_sx),C(i.alpha.g1_s),C(i.alpha.g1_sx),C(i.beta.g1_s),C(i.beta.g1_sx),Q(i.tau.g2_spx),Q(i.alpha.g2_spx),Q(i.beta.g2_spx),A}async function Kg(A,I){const t={};t.tauG1=await n(),t.tauG2=await B(),t.alphaG1=await n(),t.betaG1=await n(),t.betaG2=await B(),t.key=await async function(A,I,t){return Zg(await A.read(2*I.F1.n8*6+2*I.F2.n8*3),0,I,t)}(A,I,!0),t.partialHash=await A.read(216),t.nextChallenge=await A.read(64),t.type=await A.readULE32();const i=new Uint8Array(2*I.G1.F.n8*6+2*I.G2.F.n8*3);jg(i,0,I,t.key,!1);const g=OI(64);g.setPartialHash(t.partialHash),g.update(i),t.responseHash=g.digest();const C=await A.readULE32(),Q=A.pos;let e=0;for(;A.pos-Q<C;){const A=await r(1);if(A[0]<=e)throw new Error("Parameters in the contribution must be sorted");if(e=A[0],1==A[0]){const A=await r(1),I=await r(A[0]);t.name=(new TextDecoder).decode(I)}else if(2==A[0]){const A=await r(1);t.numIterationsExp=A[0]}else{if(3!=A[0])throw new Error("Parameter not recognized");{const A=await r(1);t.beaconHash=await r(A[0])}}}if(A.pos!=Q+C)throw new Error("Parametes do not match");return t;async function n(){const t=await A.read(2*I.G1.F.n8);return I.G1.fromRprLEM(t)}async function B(){const t=await A.read(2*I.G2.F.n8);return I.G2.fromRprLEM(t)}async function r(I){const t=await A.read(I);return new Uint8Array(t)}}async function Vg(A,I,t){if(!t[7])throw new Error(A.fileName+": File has no contributions");if(t[7][0].length>1)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;t<i;t++){const i=await Kg(A,I);i.id=t+1,g.push(i)}if(A.pos-t[7][0].p!=t[7][0].size)throw new Error("Invalid contribution section size");return g}async function zg(A,I,t){const i=new Uint8Array(2*I.F1.n8),g=new Uint8Array(2*I.F2.n8);await Q(t.tauG1),await e(t.tauG2),await Q(t.alphaG1),await Q(t.betaG1),await e(t.betaG2),await async function(A,I,t,i){const g=new Uint8Array(2*I.F1.n8*6+2*I.F2.n8*3);jg(g,0,I,t,i),await A.write(g)}(A,I,t.key,!0),await A.write(t.partialHash),await A.write(t.nextChallenge),await A.writeULE32(t.type||0);const C=[];if(t.name){C.push(1);const A=new TextEncoder("utf-8").encode(t.name.substring(0,64));C.push(A.byteLength);for(let I=0;I<A.byteLength;I++)C.push(A[I])}if(1==t.type){C.push(2),C.push(t.numIterationsExp),C.push(3),C.push(t.beaconHash.byteLength);for(let A=0;A<t.beaconHash.byteLength;A++)C.push(t.beaconHash[A])}if(C.length>0){const I=new Uint8Array(C);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0);async function Q(t){I.G1.toRprLEM(i,0,t),await A.write(i)}async function e(t){I.G2.toRprLEM(g,0,t),await A.write(g)}}async function Wg(A,I,t){await A.writeULE32(7);const i=A.pos;await A.writeULE64(0),await A.writeULE32(t.length);for(let i=0;i<t.length;i++)await zg(A,I,t[i]);const g=A.pos-i-8,C=A.pos;await A.writeULE64(g,i),A.pos=C}function Tg(A,I,t){t&&t.debug("Calculating First Challenge Hash");const i=new OI(64),g=new Uint8Array(2*A.G1.F.n8),C=new Uint8Array(2*A.G2.F.n8);let Q;return A.G1.toRprUncompressed(g,0,A.G1.g),A.G2.toRprUncompressed(C,0,A.G2.g),i.update(OI(64).digest()),Q=2*(1<<I)-1,t&&t.debug("Calculate Initial Hash: tauG1"),e(g,Q),Q=1<<I,t&&t.debug("Calculate Initial Hash: tauG2"),e(C,Q),t&&t.debug("Calculate Initial Hash: alphaTauG1"),e(g,Q),t&&t.debug("Calculate Initial Hash: betaTauG1"),e(g,Q),i.update(C),i.digest();function e(A,I){const g=Math.floor(I/5e5),C=I%5e5,Q=new Uint8Array(5e5*A.byteLength);for(let I=0;I<5e5;I++)Q.set(A,I*A.byteLength);for(let A=0;A<g;A++)i.update(Q),t&&t.debug("Initial hash: "+5e5*A);for(let I=0;I<C;I++)i.update(A)}}function _g(A,I,t,i){return xg(A,I,$I(t,i))}const $g=TI;async function AC(A,I,t,i){let g;if(1==I.type){const g=_g(A,t.nextChallenge,I.beaconHash,I.numIterationsExp);if(!A.G1.eq(I.key.tau.g1_s,g.tau.g1_s))return i&&i.error(`BEACON key (tauG1_s) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.tau.g1_sx,g.tau.g1_sx))return i&&i.error(`BEACON key (tauG1_sx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G2.eq(I.key.tau.g2_spx,g.tau.g2_spx))return i&&i.error(`BEACON key (tauG2_spx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.alpha.g1_s,g.alpha.g1_s))return i&&i.error(`BEACON key (alphaG1_s) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.alpha.g1_sx,g.alpha.g1_sx))return i&&i.error(`BEACON key (alphaG1_sx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G2.eq(I.key.alpha.g2_spx,g.alpha.g2_spx))return i&&i.error(`BEACON key (alphaG2_spx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.beta.g1_s,g.beta.g1_s))return i&&i.error(`BEACON key (betaG1_s) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G1.eq(I.key.beta.g1_sx,g.beta.g1_sx))return i&&i.error(`BEACON key (betaG1_sx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1;if(!A.G2.eq(I.key.beta.g2_spx,g.beta.g2_spx))return i&&i.error(`BEACON key (betaG2_spx) is not generated correctly in challenge #${I.id} ${I.name||""}`),!1}return I.key.tau.g2_sp=A.G2.toAffine(Yg(A,0,t.nextChallenge,I.key.tau.g1_s,I.key.tau.g1_sx)),I.key.alpha.g2_sp=A.G2.toAffine(Yg(A,1,t.nextChallenge,I.key.alpha.g1_s,I.key.alpha.g1_sx)),I.key.beta.g2_sp=A.G2.toAffine(Yg(A,2,t.nextChallenge,I.key.beta.g1_s,I.key.beta.g1_sx)),g=await $g(A,I.key.tau.g1_s,I.key.tau.g1_sx,I.key.tau.g2_sp,I.key.tau.g2_spx),!0!==g?(i&&i.error("INVALID key (tau) in challenge #"+I.id),!1):(g=await $g(A,I.key.alpha.g1_s,I.key.alpha.g1_sx,I.key.alpha.g2_sp,I.key.alpha.g2_spx),!0!==g?(i&&i.error("INVALID key (alpha) in challenge #"+I.id),!1):(g=await $g(A,I.key.beta.g1_s,I.key.beta.g1_sx,I.key.beta.g2_sp,I.key.beta.g2_spx),!0!==g?(i&&i.error("INVALID key (beta) in challenge #"+I.id),!1):(g=await $g(A,t.tauG1,I.tauG1,I.key.tau.g2_sp,I.key.tau.g2_spx),!0!==g?(i&&i.error("INVALID tau*G1. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await $g(A,I.key.tau.g1_s,I.key.tau.g1_sx,t.tauG2,I.tauG2),!0!==g?(i&&i.error("INVALID tau*G2. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await $g(A,t.alphaG1,I.alphaG1,I.key.alpha.g2_sp,I.key.alpha.g2_spx),!0!==g?(i&&i.error("INVALID alpha*G1. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await $g(A,t.betaG1,I.betaG1,I.key.beta.g2_sp,I.key.beta.g2_spx),!0!==g?(i&&i.error("INVALID beta*G1. challenge #"+I.id+" It does not follow the previous contribution"),!1):(g=await $g(A,I.key.beta.g1_s,I.key.beta.g1_sx,t.betaG2,I.betaG2),!0!==g?(i&&i.error("INVALID beta*G2. challenge #"+I.id+"It does not follow the previous contribution"),!1):(i&&i.info("Powers Of tau file OK!"),!0))))))))}async function IC(A,I,t,i,g,C,Q,e,n,B){const r=g[C],E=2*r.F.n8,h=I[i][0].size/E;await GI(A,I,i),await mI(t,i);let o=Q;for(let I=0;I<h;I+=65536){B&&B.debug(`Applying key: ${n}: ${I}/${h}`);const i=Math.min(h-I,65536);let C;C=await A.read(i*E),C=await r.batchApplyKey(C,o,e),await t.write(C),o=g.Fr.mul(o,g.Fr.exp(e,i))}await dI(t),await UI(A)}async function tC(A,I,t,i,g,C,Q,e,n,B,r){const E=i[g],h=2*E.F.n8,o=Math.floor((1<<20)/h);let s=Q;for(let g=0;g<C;g+=o){r&&r.debug(`Applying key ${B}: ${g}/${C}`);const Q=Math.min(C-g,o),a=await A.read(Q*h),f=await E.batchUtoLEM(a),w=await E.batchApplyKey(f,s,e);let D;D="COMPRESSED"==n?await E.batchLEMtoC(w):await E.batchLEMtoU(w),t&&t.update(D),await I.write(D),s=i.Fr.mul(s,i.Fr.exp(e,Q))}}var iC=Object.freeze({__proto__:null,newAccumulator:async function(A,I,t,i){await OI.ready();const g=await MI(t,"ptau",1,7);await Og(g,A,I,0);const C=A.G1.oneAffine,Q=A.G2.oneAffine;await mI(g,2);const e=2*(1<<I)-1;for(let A=0;A<e;A++)await g.write(C),i&&A%1e5==0&&A&&i.info("tauG1: "+A);await dI(g),await mI(g,3);const n=1<<I;for(let A=0;A<n;A++)await g.write(Q),i&&A%1e5==0&&A&&i.log("tauG2: "+A);await dI(g),await mI(g,4);const B=1<<I;for(let A=0;A<B;A++)await g.write(C),i&&A%1e5==0&&A&&i.log("alphaTauG1: "+A);await dI(g),await mI(g,5);const r=1<<I;for(let A=0;A<r;A++)await g.write(C),i&&A%1e5==0&&A&&i.log("betaTauG1: "+A);await dI(g),await mI(g,6),await g.write(Q),await dI(g),await mI(g,7),await g.writeULE32(0),await dI(g),await g.close();const E=Tg(A,I,i);return i&&i.debug(VI(OI(64).digest(),"Blank Contribution Hash:")),i&&i.info(VI(E,"First Contribution Hash:")),E},exportChallenge:async function(A,I,t){await OI.ready();const{fd:i,sections:g}=await FI(A,"ptau",1),{curve:C,power:Q}=await Xg(i,g),e=await Vg(i,C,g);let n,B;0==e.length?(n=OI(64).digest(),B=Tg(C,Q)):(n=e[e.length-1].responseHash,B=e[e.length-1].nextChallenge),t&&t.info(VI(n,"Last Response Hash: ")),t&&t.info(VI(B,"New Challenge Hash: "));const r=await pI(I),E=OI(64);await r.write(n),E.update(n),await o(2,"G1",2*(1<<Q)-1,"tauG1"),await o(3,"G2",1<<Q,"tauG2"),await o(4,"G1",1<<Q,"alphaTauG1"),await o(5,"G1",1<<Q,"betaTauG1"),await o(6,"G2",1,"betaG2"),await i.close(),await r.close();const h=E.digest();if(!zI(B,h))throw t&&t.info(VI(h,"Calc Curret Challenge Hash: ")),t&&t.error("PTau file is corrupted. Calculated new challenge hash does not match with the eclared one"),new Error("PTau file is corrupted. Calculated new challenge hash does not match with the eclared one");return B;async function o(A,I,Q,e){const n=C[I],B=2*n.F.n8,h=Math.floor((1<<24)/B);await GI(i,g,A);for(let A=0;A<Q;A+=h){t&&t.debug(`Exporting ${e}: ${A}/${Q}`);const I=Math.min(Q-A,h);let g;g=await i.read(I*B),g=await n.batchLEMtoU(g),await r.write(g),E.update(g)}await UI(i)}},importResponse:async function(A,I,t,i,g,C){await OI.ready();const{fd:Q,sections:e}=await FI(A,"ptau",1),{curve:n,power:B}=await Xg(Q,e),r=await Vg(Q,n,e),E={};i&&(E.name=i);const h=2*n.F1.n8,o=n.F1.n8,s=2*n.F2.n8,a=n.F2.n8,f=await lI(I);if(f.totalSize!=64+(2*(1<<B)-1)*o+(1<<B)*a+(1<<B)*o+(1<<B)*o+a+6*h+3*s)throw new Error("Size of the contribution is invalid");let w;w=r.length>0?r[r.length-1].nextChallenge:Tg(n,B,C);const D=await MI(t,"ptau",1,7);await Og(D,n,B);const c=await f.read(64);if(!zI(c,w))throw new Error("Wrong contribution. this contribution is not based on the previus hash");const u=new OI(64);u.update(c);const y=[];let p;p=await m(f,D,"G1",2,2*(1<<B)-1,[1],"tauG1"),E.tauG1=p[0],p=await m(f,D,"G2",3,1<<B,[1],"tauG2"),E.tauG2=p[0],p=await m(f,D,"G1",4,1<<B,[0],"alphaG1"),E.alphaG1=p[0],p=await m(f,D,"G1",5,1<<B,[0],"betaG1"),E.betaG1=p[0],p=await m(f,D,"G2",6,1,[0],"betaG2"),E.betaG2=p[0],E.partialHash=u.getPartialHash();const l=await f.read(2*n.F1.n8*6+2*n.F2.n8*3);E.key=Zg(l,0,n,!1),u.update(new Uint8Array(l));const F=u.digest();C&&C.info(VI(F,"Contribution Response Hash imported: "));const M=new OI(64);return M.update(F),await d(D,"G1",2,2*(1<<B)-1,"tauG1",C),await d(D,"G2",3,1<<B,"tauG2",C),await d(D,"G1",4,1<<B,"alphaTauG1",C),await d(D,"G1",5,1<<B,"betaTauG1",C),await d(D,"G2",6,1,"betaG2",C),E.nextChallenge=M.digest(),C&&C.info(VI(E.nextChallenge,"Next Challenge Hash: ")),r.push(E),await Wg(D,n,r),await f.close(),await D.close(),await Q.close(),E.nextChallenge;async function m(A,I,t,i,g,Q,e){const B=n[t],r=B.F.n8,E=2*B.F.n8,h=[];await mI(I,i);const o=Math.floor((1<<24)/E);y[i]=I.pos;for(let t=0;t<g;t+=o){C&&C.debug(`Importing ${e}: ${t}/${g}`);const i=Math.min(g-t,o),n=await A.read(i*r);u.update(n);const s=await B.batchCtoLEM(n);await I.write(s);for(let A=0;A<Q.length;A++){const I=Q[A];if(I>=t&&I<t+i){const A=B.fromRprLEM(s,(I-t)*E);h.push(A)}}}return await dI(I),h}async function d(A,I,t,i,g,C){const Q=n[I],e=2*Q.F.n8,B=Math.floor((1<<24)/e),r=A.pos;A.pos=y[t];for(let I=0;I<i;I+=B){C&&C.debug(`Hashing ${g}: ${I}/${i}`);const t=Math.min(i-I,B),n=await A.read(t*e),r=await Q.batchLEMtoU(n);M.update(r)}A.pos=r}},verify:async function(A,I){let t;await OI.ready();const{fd:i,sections:g}=await FI(A,"ptau",1),{curve:C,power:Q,ceremonyPower:e}=await Xg(i,g),n=await Vg(i,C,g);I&&I.debug("power: 2**"+Q),I&&I.debug("Computing initial contribution hash");const B={tauG1:C.G1.g,tauG2:C.G2.g,alphaG1:C.G1.g,betaG1:C.G1.g,betaG2:C.G2.g,nextChallenge:Tg(C,e,I),responseHash:OI(64).digest()};if(0==n.length)return I&&I.error("This file has no contribution! It cannot be used in production"),!1;let r;r=n.length>1?n[n.length-2]:B;const E=n[n.length-1];if(I&&I.debug("Validating contribution #"+n[n.length-1].id),!await AC(C,E,r,I))return!1;const h=OI(64);h.update(E.responseHash),I&&I.debug("Verifying powers in tau*G1 section");const o=await u(2,"G1","tauG1",2*(1<<Q)-1,[0,1],I);if(t=await $g(C,o.R1,o.R2,C.G2.g,E.tauG2),!0!==t)return I&&I.error("tauG1 section. Powers do not match"),!1;if(!C.G1.eq(C.G1.g,o.singularPoints[0]))return I&&I.error("First element of tau*G1 section must be the generator"),!1;if(!C.G1.eq(E.tauG1,o.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",1<<Q,[0,1],I);if(t=await $g(C,C.G1.g,E.tauG1,s.R1,s.R2),!0!==t)return I&&I.error("tauG2 section. Powers do not match"),!1;if(!C.G2.eq(C.G2.g,s.singularPoints[0]))return I&&I.error("First element of tau*G2 section must be the generator"),!1;if(!C.G2.eq(E.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 a=await u(4,"G1","alphatauG1",1<<Q,[0],I);if(t=await $g(C,a.R1,a.R2,C.G2.g,E.tauG2),!0!==t)return I&&I.error("alphaTauG1 section. Powers do not match"),!1;if(!C.G1.eq(E.alphaG1,a.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",1<<Q,[0],I);if(t=await $g(C,f.R1,f.R2,C.G2.g,E.tauG2),!0!==t)return I&&I.error("betaTauG1 section. Powers do not match"),!1;if(!C.G1.eq(E.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=C.G2,t=2*I.F.n8,Q=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 e=await i.read(t),n=I.fromRprLEM(e);return I.toRprUncompressed(Q,0,n),h.update(Q),n}(I);if(!C.G2.eq(E.betaG2,w))return I&&I.error("betaG2 element in betaG2 section does not match the one in the contribution section"),!1;const D=h.digest();if(!zI(D,E.nextChallenge))return I&&I.error("Hash of the values does not match the next challenge of the last contributor in the contributions section"),!1;I&&I.info(VI(D,"Next challenge hash: ")),c(E,r);for(let A=n.length-2;A>=0;A--){const t=n[A],i=A>0?n[A-1]:B;if(!await AC(C,t,i,I))return!1;c(t,i)}if(I&&I.info("-----------------------------------------------------"),g[12]&&g[13]&&g[14]&&g[15]){let A;if(A=await y("G1",2,12,"tauG1",I),!A)return!1;if(A=await y("G2",3,13,"tauG2",I),!A)return!1;if(A=await y("G1",4,14,"alphaTauG1",I),!A)return!1;if(A=await y("G1",5,15,"betaTauG1",I),!A)return!1}else I&&I.warn('this file does not contain phase2 precalculated values. Please run: \n snarkjs "powersoftau preparephase2" to prepare this file to be used in the phase2 ceremony.');return await i.close(),!0;function c(A,t){if(!I)return;I.info("-----------------------------------------------------"),I.info(`Contribution #${A.id}: ${A.name||""}`),I.info(VI(A.nextChallenge,"Next Challenge: "));const i=new Uint8Array(2*C.G1.F.n8*6+2*C.G2.F.n8*3);jg(i,0,C,A.key,!1);const g=OI(64);g.setPartialHash(A.partialHash),g.update(i);const Q=g.digest();I.info(VI(Q,"Response Hash:")),I.info(VI(t.nextChallenge,"Response Hash:")),1==A.type&&(I.info("Beacon generator: "+It(A.beaconHash)),I.info("Beacon iterations Exp: "+A.numIterationsExp))}async function u(A,I,t,Q,e,n){const B=C[I],r=2*B.F.n8;await GI(i,g,A);const E=[];let o=B.zero,s=B.zero,a=B.zero;for(let A=0;A<Q;A+=65536){n&&n.debug(`points relations: ${t}: ${A}/${Q} `);const I=Math.min(Q-A,65536),g=await i.read(I*r),C=await B.batchLEMtoU(g);h.update(C);const f=new Uint8Array(4*(I-1));if(DA.randomFillSync(f),A>0){const A=B.fromRprLEM(g,0),I=DA.randomBytes(4).readUInt32BE(0,!0);o=B.add(o,B.timesScalar(a,I)),s=B.add(s,B.timesScalar(A,I))}const w=await B.multiExpAffine(g.slice(0,(I-1)*r),f),D=await B.multiExpAffine(g.slice(r),f);o=B.add(o,w),s=B.add(s,D),a=B.fromRprLEM(g,(I-1)*r);for(let t=0;t<e.length;t++){const i=e[t];if(i>=A&&i<A+I){const I=B.fromRprLEM(g,(i-A)*r);E.push(I)}}}return await UI(i),{R1:o,R2:s,singularPoints:E}}async function y(A,I,t,e,n){n&&n.debug(`Verifying phase2 calculated values ${e}...`);const B=C[A],r=2*B.F.n8,E=new Array(8);for(let A=0;A<8;A++)E[A]=DA.randomBytes(4).readUInt32BE(0,!0);const h=new wA(E);for(let A=0;A<=Q;A++){if(!await o(A))return!1}return!0;async function o(A){n&&n.debug(`Power ${A}...`);const Q=C.Fr.n8,e=1<<A;let E,o=new Uint8Array(e*Q);for(let A=0;A<e;A++){const I=C.Fr.fromRng(h);C.Fr.toRprLE(o,A*Q,I)}await GI(i,g,I),E=await i.read(e*r),await UI(i,!0);const s=await B.multiExpAffine(E,o);o=await C.Fr.batchToMontgomery(o),o=await C.Fr.fft(o),o=await C.Fr.batchFromMontgomery(o),await GI(i,g,t),i.pos+=r*((1<<A)-1),E=await i.read(e*r),await UI(i,!0);const a=await B.multiExpAffine(E,o);return!!B.eq(s,a)||(n&&n.error("Phase2 caclutation does not match with powers of tau"),!1)}}},challengeContribute:async function(A,I,t,i,g){await OI.ready();const C=await lI(I),Q=8*A.F1.n64*2,e=8*A.F2.n64*2,n=(C.totalSize+Q-64-e)/(4*Q+e);let B=n,r=0;for(;B>1;)B/=2,r+=1;if(1<<r!=n)throw new Error("Invalid file size");g&&g.debug("Power to tau size: "+r);const E=await _I(i),h=await pI(t),o=OI(64);for(let A=0;A<C.totalSize;A+=C.pageSize){g&&g.debug(`Hashing challenge ${A}/${C.totalSize}`);const I=Math.min(C.totalSize-A,C.pageSize),t=await C.read(I);o.update(t)}const s=await C.read(64,0);g&&g.info(VI(s,"Claimed Previous Response Hash: "));const a=o.digest();g&&g.info(VI(a,"Current Challenge Hash: "));const f=xg(A,a,E);g&&["tau","alpha","beta"].forEach(I=>{g.debug(I+".g1_s: "+A.G1.toString(f[I].g1_s,16)),g.debug(I+".g1_sx: "+A.G1.toString(f[I].g1_sx,16)),g.debug(I+".g2_sp: "+A.G2.toString(f[I].g2_sp,16)),g.debug(I+".g2_spx: "+A.G2.toString(f[I].g2_spx,16)),g.debug("")});const w=OI(64);await h.write(a),w.update(a),await tC(C,h,w,A,"G1",2*(1<<r)-1,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG1",g),await tC(C,h,w,A,"G2",1<<r,A.Fr.one,f.tau.prvKey,"COMPRESSED","tauG2",g),await tC(C,h,w,A,"G1",1<<r,f.alpha.prvKey,f.tau.prvKey,"COMPRESSED","alphaTauG1",g),await tC(C,h,w,A,"G1",1<<r,f.beta.prvKey,f.tau.prvKey,"COMPRESSED","betaTauG1",g),await tC(C,h,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);jg(D,0,A,f,!1),await h.write(D),w.update(D);const c=w.digest();g&&g.info(VI(c,"Contribution Response Hash: ")),await h.close(),await C.close()},beacon:async function(A,I,t,i,g,C){const Q=At(i);if(0==Q.byteLength||2*Q.byteLength!=i.length)return C&&C.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(Q.length>=256)return C&&C.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return C&&C.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;await OI.ready();const{fd:e,sections:n}=await FI(A,"ptau",1),{curve:B,power:r,ceremonyPower:E}=await Xg(e,n);if(r!=E)return C&&C.error("This file has been reduced. You cannot contribute into a reduced file."),!1;n[12]&&C&&C.warn("Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const h=await Vg(e,B,n),o={name:t,type:1,numIterationsExp:g,beaconHash:Q};let s;s=h.length>0?h[h.length-1].nextChallenge:Tg(B,r,C),o.key=_g(B,s,Q,g);const a=new OI(64);a.update(s);const f=await MI(I,"ptau",1,7);await Og(f,B,r);const w=[];let D;D=await p(2,"G1",2*(1<<r)-1,B.Fr.e(1),o.key.tau.prvKey,"tauG1",C),o.tauG1=D[1],D=await p(3,"G2",1<<r,B.Fr.e(1),o.key.tau.prvKey,"tauG2",C),o.tauG2=D[1],D=await p(4,"G1",1<<r,o.key.alpha.prvKey,o.key.tau.prvKey,"alphaTauG1",C),o.alphaG1=D[0],D=await p(5,"G1",1<<r,o.key.beta.prvKey,o.key.tau.prvKey,"betaTauG1",C),o.betaG1=D[0],D=await p(6,"G2",1,o.key.beta.prvKey,o.key.tau.prvKey,"betaTauG2",C),o.betaG2=D[0],o.partialHash=a.getPartialHash();const c=new Uint8Array(2*B.F1.n8*6+2*B.F2.n8*3);jg(c,0,B,o.key,!1),a.update(new Uint8Array(c));const u=a.digest();C&&C.info(VI(u,"Contribution Response Hash imported: "));const y=new OI(64);return y.update(u),await l(f,"G1",2,2*(1<<r)-1,"tauG1",C),await l(f,"G2",3,1<<r,"tauG2",C),await l(f,"G1",4,1<<r,"alphaTauG1",C),await l(f,"G1",5,1<<r,"betaTauG1",C),await l(f,"G2",6,1,"betaG2",C),o.nextChallenge=y.digest(),C&&C.info(VI(o.nextChallenge,"Next Challenge Hash: ")),h.push(o),await Wg(f,B,h),await e.close(),await f.close(),u;async function p(A,I,t,i,g,C,Q){const r=[];e.pos=n[A][0].p,await mI(f,A),w[A]=f.pos;const E=B[I],h=2*E.F.n8,o=Math.floor((1<<20)/h);let s=i;for(let A=0;A<t;A+=o){Q&&Q.debug(`applying key${C}: ${A}/${t}`);const I=Math.min(t-A,o),i=await e.read(I*h),n=await E.batchApplyKey(i,s,g),w=f.write(n),D=await E.batchLEMtoC(n);if(a.update(D),await w,0==A)for(let A=0;A<Math.min(2,t);A++)r.push(E.fromRprLEM(n,A*h));s=B.Fr.mul(s,B.Fr.exp(g,I))}return await dI(f),r}async function l(A,I,t,i,g,C){const Q=B[I],e=2*Q.F.n8,n=Math.floor((1<<24)/e),r=A.pos;A.pos=w[t];for(let I=0;I<i;I+=n){C&&C.debug(`Hashing ${g}: ${I}/${i}`);const t=Math.min(i-I,n),B=await A.read(t*e),r=await Q.batchLEMtoU(B);y.update(r)}A.pos=r}},contribute:async function(A,I,t,i,g){await OI.ready();const{fd:C,sections:Q}=await FI(A,"ptau",1),{curve:e,power:n,ceremonyPower:B}=await Xg(C,Q);if(n!=B)throw g&&g.error("This file has been reduced. You cannot contribute into a reduced file."),new Error("This file has been reduced. You cannot contribute into a reduced file.");Q[12]&&g&&g.warn("WARNING: Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const r=await Vg(C,e,Q),E={name:t,type:0};let h;const o=await _I(i);h=r.length>0?r[r.length-1].nextChallenge:Tg(e,n,g),E.key=xg(e,h,o);const s=new OI(64);s.update(h);const a=await MI(I,"ptau",1,7);await Og(a,e,n);const f=[];let w;w=await y(2,"G1",2*(1<<n)-1,e.Fr.e(1),E.key.tau.prvKey,"tauG1"),E.tauG1=w[1],w=await y(3,"G2",1<<n,e.Fr.e(1),E.key.tau.prvKey,"tauG2"),E.tauG2=w[1],w=await y(4,"G1",1<<n,E.key.alpha.prvKey,E.key.tau.prvKey,"alphaTauG1"),E.alphaG1=w[0],w=await y(5,"G1",1<<n,E.key.beta.prvKey,E.key.tau.prvKey,"betaTauG1"),E.betaG1=w[0],w=await y(6,"G2",1,E.key.beta.prvKey,E.key.tau.prvKey,"betaTauG2"),E.betaG2=w[0],E.partialHash=s.getPartialHash();const D=new Uint8Array(2*e.F1.n8*6+2*e.F2.n8*3);jg(D,0,e,E.key,!1),s.update(new Uint8Array(D));const c=s.digest();g&&g.info(VI(c,"Contribution Response Hash imported: "));const u=new OI(64);return u.update(c),await p(a,"G1",2,2*(1<<n)-1,"tauG1"),await p(a,"G2",3,1<<n,"tauG2"),await p(a,"G1",4,1<<n,"alphaTauG1"),await p(a,"G1",5,1<<n,"betaTauG1"),await p(a,"G2",6,1,"betaG2"),E.nextChallenge=u.digest(),g&&g.info(VI(E.nextChallenge,"Next Challenge Hash: ")),r.push(E),await Wg(a,e,r),await C.close(),await a.close(),c;async function y(A,I,t,i,n,B){const r=[];C.pos=Q[A][0].p,await mI(a,A),f[A]=a.pos;const E=e[I],h=2*E.F.n8,o=Math.floor((1<<20)/h);let w=i;for(let A=0;A<t;A+=o){g&&g.debug(`processing: ${B}: ${A}/${t}`);const I=Math.min(t-A,o),i=await C.read(I*h),Q=await E.batchApplyKey(i,w,n),f=a.write(Q),D=await E.batchLEMtoC(Q);if(s.update(D),await f,0==A)for(let A=0;A<Math.min(2,t);A++)r.push(E.fromRprLEM(Q,A*h));w=e.Fr.mul(w,e.Fr.exp(n,I))}return await dI(a),r}async function p(A,I,t,i,C){const Q=e[I],n=2*Q.F.n8,B=Math.floor((1<<24)/n),r=A.pos;A.pos=f[t];for(let I=0;I<i;I+=B){g&&I&&g.debug(`Hashing ${C}: `+I);const t=Math.min(i-I,B),e=await A.read(t*n),r=await Q.batchLEMtoU(e);u.update(r)}A.pos=r}},preparePhase2:async function(A,I,t){const{fd:i,sections:g}=await FI(A,"ptau",1),{curve:C,power:Q}=await Xg(i,g),e=await MI(I,"ptau",1,11);await Og(e,C,Q);const n=await pI({type:"mem"});return await kI(i,g,e,2),await kI(i,g,e,3),await kI(i,g,e,4),await kI(i,g,e,5),await kI(i,g,e,6),await kI(i,g,e,7),await B(2,12,"G1","tauG1"),await B(3,13,"G2","tauG2"),await B(4,14,"G1","alphaTauG1"),await B(5,15,"G1","betaTauG1"),await i.close(),await e.close(),void await n.close();async function B(A,I,B,r){t&&t.debug("Starting section: "+r),await mI(e,I);for(let A=0;A<=Q;A++)await E(A);async function E(I){const Q=I>16?16:I,E=1<<Q,h=(1<<I)/E,o=C[B],s=C.Fr,a=2*o.F.n8,f=3*o.F.n8;await GI(i,g,A),n.pos=0;for(let A=0;A<h;A++){let g;t&&t.debug(`${r} Prepare ${A+1}/${h}`),g=await i.read(E*a),g=await o.batchToJacobian(g);for(let t=0;t<E;t++)n.pos=jI(A*E+t,I)*f,await n.write(g.slice(t*f,(t+1)*f))}await UI(i,!0);for(let A=0;A<h;A++){let i;t&&t.debug(`${r} ${I} FFTMix ${A+1}/${h}`),n.pos=A*E*f,i=await n.read(E*f),i=await o.fftMix(i),n.pos=A*E*f,await n.write(i)}for(let A=Q+1;A<=I;A++){const i=1<<I-A,g=h/i;for(let C=0;C<i;C++)for(let Q=0;Q<g/2;Q++){t&&t.debug(`${r} ${A}/${I} FFTJoin ${C+1}/${i} ${Q}/${g/2}`);const e=s.exp(s.w[A],Q*E),B=s.w[A],h=C*g+Q,a=C*g+Q+g/2;let w,D;n.pos=h*E*f,w=await n.read(E*f),n.pos=a*E*f,D=await n.read(E*f),[w,D]=await o.fftJoin(w,D,e,B),n.pos=h*E*f,await n.write(w),n.pos=a*E*f,await n.write(D)}}await async function(A){const I=C[B],i=C.Fr,g=3*I.F.n8,Q=2*I.F.n8,E=1<<(A>16?16:A),h=(1<<A)/E,o=e.pos;n.pos=0;const s=i.inv(i.e(1<<A));for(let i=0;i<h;i++){let C;t&&t.debug(`${r} ${A} FFTFinal ${i+1}/${h}`),C=await n.read(E*g),C=await I.fftFinal(C,s),0==i?(e.pos=o,await e.write(C.slice((E-1)*Q)),e.pos=o+((h-1)*E+1)*Q,await e.write(C.slice(0,(E-1)*Q))):(e.pos=o+((h-1-i)*E+1)*Q,await e.write(C))}e.pos=o+h*E*Q}(I)}await dI(e)}},exportJson:async function(A,I){const{fd:t,sections:i}=await FI(A,"ptau",1),{curve:g,power:C}=await Xg(t,i),Q={};return Q.q=g.q,Q.power=C,Q.contributions=await Vg(t,g,i),Q.tauG1=await e(2,"G1",2*(1<<C)-1,"tauG1"),Q.tauG2=await e(3,"G2",1<<C,"tauG2"),Q.alphaTauG1=await e(4,"G1",1<<C,"alphaTauG1"),Q.betaTauG1=await e(5,"G1",1<<C,"betaTauG1"),Q.betaG2=await e(6,"G2",1,"betaG2"),Q.lTauG1=await n(12,"G1","lTauG1"),Q.lTauG2=await n(13,"G2","lTauG2"),Q.lAlphaTauG1=await n(14,"G1","lAlphaTauG2"),Q.lBetaTauG1=await n(15,"G1","lBetaTauG2"),await t.close(),Q;async function e(A,C,Q,e){const n=g[C],B=2*n.F.n8,r=[];await GI(t,i,A);for(let A=0;A<Q;A++){I&&A&&A%1e4==0&&console.log(e+": "+A);const i=await t.read(B);r.push(n.fromRprLEM(i,0))}return await UI(t),r}async function n(A,Q,e){const n=g[Q],B=2*n.F.n8,r=[];await GI(t,i,A);for(let A=0;A<=C;A++){I&&console.log(`${e}: Power: ${A}`),r[A]=[];const i=1<<A;for(let g=0;g<i;g++){I&&g&&g%1e4==0&&console.log(`${e}: ${g}/${i}`);const C=await t.read(B);r[A].push(n.fromRprLEM(C,0))}}return await UI(t),r}}});const gC=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function CC(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const QC=CC;function eC(A,I){return BigInt(A)<<BigInt(I)}function nC(A,I){return BigInt(A)>>BigInt(I)}const BC=eC,rC=nC;var EC=Object.freeze({__proto__:null,fromString:CC,e:QC,fromArray:function(A,I){let t=0n;I=BigInt(I);for(let i=0;i<A.length;i++)t=t*I+BigInt(A[i]);return t},bitLength:function(A){const I=A.toString(16);return 4*(I.length-1)+gC[parseInt(I[0],16)]},isNegative:function(A){return BigInt(A)<0n},isZero:function(A){return!A},shiftLeft:eC,shiftRight:nC,shl:BC,shr:rC,isOdd:function(A){return 1n==(1n&BigInt(A))},naf:function(A){let I=BigInt(A);const t=[];for(;I;){if(1n&I){const A=2-Number(I%4n);t.push(A),I-=BigInt(A)}else t.push(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)},gt:function(A,I){return BigInt(A)>BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function hC(A,I){return"string"==typeof A&&"0x"==A.slice(0,2)?r(A.slice(2),16):r(A,I)}const oC=hC;function sC(A,I){return r(A).shiftLeft(I)}function aC(A,I){return r(A).shiftRight(I)}const fC=sC,wC=aC;var DC=Object.freeze({__proto__:null,fromString:hC,e:oC,fromArray:function(A,I){return r.fromArray(A,I)},bitLength:function(A){return r(A).bitLength()},isNegative:function(A){return r(A).isNegative()},isZero:function(A){return r(A).isZero()},shiftLeft:sC,shiftRight:aC,shl:fC,shr:wC,isOdd:function(A){return r(A).isOdd()},naf:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);){if(I.isOdd()){const A=2-I.mod(4).toJSNumber();t.push(A),I=I.minus(A)}else t.push(0);I=I.shiftRight(1)}return t},bits:function(A){let I=r(A);const t=[];for(;I.gt(r.zero);)I.isOdd()?t.push(1):t.push(0),I=I.shiftRight(1);return t},toNumber:function(A){if(!A.lt(r("9007199254740992",10)))throw new Error("Number too big");return A.toJSNumber()},toArray:function(A,I){return r(A).toArray(I)},add:function(A,I){return r(A).add(r(I))},sub:function(A,I){return r(A).minus(r(I))},neg:function(A){return r.zero.minus(r(A))},mul:function(A,I){return r(A).times(r(I))},square:function(A){return r(A).square()},pow:function(A,I){return r(A).pow(r(I))},exp:function(A,I){return r(A).pow(r(I))},abs:function(A){return r(A).abs()},div:function(A,I){return r(A).divide(r(I))},mod:function(A,I){return r(A).mod(r(I))},eq:function(A,I){return r(A).eq(r(I))},neq:function(A,I){return r(A).neq(r(I))},lt:function(A,I){return r(A).lt(r(I))},gt:function(A,I){return r(A).gt(r(I))},leq:function(A,I){return r(A).leq(r(I))},geq:function(A,I){return r(A).geq(r(I))},band:function(A,I){return r(A).and(r(I))},bor:function(A,I){return r(A).or(r(I))},bxor:function(A,I){return r(A).xor(r(I))},land:function(A,I){return!r(A).isZero()&&!r(I).isZero()},lor:function(A,I){return!r(A).isZero()||!r(I).isZero()},lnot:function(A){return r(A).isZero()}});const cC="function"==typeof BigInt;let uC={};cC?Object.assign(uC,EC):Object.assign(uC,DC),uC.toRprLE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new Uint32Array(A.buffer,I,i/4),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A<Q;A++)C[A]=parseInt(g.substring(g.length-8*A-8,g.length-8*A),16);for(let A=Q;A<C.length;A++)C[A]=0;for(let I=4*C.length;I<i;I++)A[I]=uC.toNumber(uC.band(uC.shiftRight(t,8*I),255))},uC.toRprBE=function(A,I,t,i){const g="0000000"+t.toString(16),C=new DataView(A.buffer,I,i),Q=1+(4*(g.length-7)-1>>5);for(let A=0;A<Q;A++)C.setUint32(i-4*A-4,parseInt(g.substring(g.length-8*A-8,g.length-8*A),16),!1);for(let A=0;A<i/4-Q;A++)C[A]=0},uC.fromRprLE=function(A,I,t){t=t||A.byteLength;const i=new Uint32Array(A.buffer,I,t/4),g=new Array(t/4);return i.forEach((A,I)=>g[g.length-I-1]=A.toString(16).padStart(8,"0")),uC.fromString(g.join(""),16)},uC.fromRprBE=function(A,I,t){t=t||A.byteLength;const i=new DataView(A.buffer,I,t),g=new Array(t/4);for(let A=0;A<t/4;A++)g[A]=i.getUint32(4*A,!1).toString(16).padStart(8,"0");return uC.fromString(g.join(""),16)},uC.toString=function(A,I){return A.toString(I)},uC.toLEBuff=function(A){const I=new Uint8Array(Math.floor((uC.bitLength(A)-1)/8)+1);return uC.toRprLE(I,0,A,I.byteLength),I},uC.zero=uC.e(0),uC.one=uC.e(1);let{toRprLE:yC,toRprBE:pC,fromRprLE:lC,fromRprBE:FC,toString:MC,toLEBuff:mC,zero:dC,one:GC,fromString:UC,e:HC,fromArray:LC,bitLength:kC,isNegative:NC,isZero:bC,shiftLeft:SC,shiftRight:RC,shl:JC,shr:vC,isOdd:qC,naf:YC,bits:PC,toNumber:xC,toArray:OC,add:XC,sub:ZC,neg:jC,mul:KC,square:VC,pow:zC,exp:WC,abs:TC,div:_C,mod:$C,eq:AQ,neq:IQ,lt:tQ,gt:iQ,leq:gQ,geq:CQ,band:QQ,bor:eQ,bxor:nQ,land:BQ,lor:rQ,lnot:EQ}=uC;var hQ=Object.freeze({__proto__:null,toRprLE:yC,toRprBE:pC,fromRprLE:lC,fromRprBE:FC,toString:MC,toLEBuff:mC,zero:dC,one:GC,fromString:UC,e:HC,fromArray:LC,bitLength:kC,isNegative:NC,isZero:bC,shiftLeft:SC,shiftRight:RC,shl:JC,shr:vC,isOdd:qC,naf:YC,bits:PC,toNumber:xC,toArray:OC,add:XC,sub:ZC,neg:jC,mul:KC,square:VC,pow:zC,exp:WC,abs:TC,div:_C,mod:$C,eq:AQ,neq:IQ,lt:tQ,gt:iQ,leq:gQ,geq:CQ,band:QQ,bor:eQ,bxor:nQ,land:BQ,lor:rQ,lnot:EQ});const oQ=[];for(let A=0;A<256;A++)oQ[A]=sQ(A,8);function sQ(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}function aQ(A,I,t){if(bC(t))return A.one;const i=PC(t);if(0==i.legth)return A.one;let g=I;for(let t=i.length-2;t>=0;t--)g=A.square(g),i[t]&&(g=A.mul(g,I));return g}function fQ(A){if(A.m%2==1)if(AQ($C(A.p,4),1))if(AQ($C(A.p,8),1))if(AQ($C(A.p,16),1))!function(A){A.sqrt_q=zC(A.p,A.m),A.sqrt_s=0,A.sqrt_t=ZC(A.sqrt_q,1);for(;!qC(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=_C(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const t=A.random();A.sqrt_z=A.pow(t,A.sqrt_t),I=A.pow(A.sqrt_z,1<<A.sqrt_s-1)}A.sqrt_tm1d2=_C(ZC(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),1<<I.sqrt_s-1);if(I.eq(i,I.negone))return null;let g=I.sqrt_s,C=I.mul(A,t),Q=I.mul(C,t),e=I.sqrt_z;for(;!I.eq(Q,I.one);){let A=I.square(Q),i=1;for(;!I.eq(A,I.one);)A=I.square(A),i++;t=e;for(let A=0;A<g-i-1;A++)t=I.square(t);e=I.square(t),Q=I.mul(Q,e),C=I.mul(C,t),g=i}return I.geq(C,I.zero)?C:I.neg(C)}}(A);else{if(!AQ($C(A.p,16),9))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(A)}else{if(!AQ($C(A.p,8),5))throw new Error("Field withot sqrt");!function(A){A.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(A)}else AQ($C(A.p,4),3)&&function(A){A.sqrt_q=zC(A.p,A.m),A.sqrt_e1=_C(ZC(A.sqrt_q,3),4),A.sqrt=function(I){if(this.isZero(I))return this.zero;const t=this.pow(I,this.sqrt_e1),i=this.mul(this.square(t),I);if(this.eq(i,this.negone))return null;const g=this.mul(t,I);return A.geq(g,A.zero)?g:A.neg(g)}}(A);else{const I=$C(zC(A.p,A.m/2),4);1==I?function(A){A.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(A):3==I?function(A){A.sqrt_q=zC(A.p,A.m/2),A.sqrt_e34=_C(ZC(A.sqrt_q,3),4),A.sqrt_e12=_C(ZC(A.sqrt_q,1),2),A.frobenius=function(I,t){return I%2==1?A.conjugate(t):t},A.sqrt=function(A){const I=this,t=I.pow(A,I.sqrt_e34),i=I.mul(I.square(t),A),g=I.mul(I.frobenius(1,i),i);if(I.eq(g,I.negone))return null;const C=I.mul(t,A);let Q;if(I.eq(i,I.negone))Q=I.mul(C,[I.F.zero,I.F.one]);else{const A=I.pow(I.add(I.one,i),I.sqrt_e12);Q=I.mul(A,C)}return I.geq(Q,I.zero)?Q:I.neg(Q)}}(A):function(A){A.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(A)}}function wQ(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<A;t++)I[t]=4294967296*Math.random()>>>0;else DA.randomFillSync(I);return I}class DQ{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=kC(this.p),this.mask=(1n<<BigInt(this.bitLength))-1n,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(1n<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const I=this.negone>>1n;this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!this.eq(t,this.negone);)this.nqr=this.nqr+1n,t=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),fQ(this)}e(A,I){let t;if(I?16==I&&(t=BigInt("0x"+A)):t=BigInt(A),t<0){let A=-t;return A>=this.p&&(A%=this.p),this.p-A}return t>=this.p?t%this.p:t}add(A,I){const t=A+I;return t>=this.p?t-this.p:t}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,t=this.p,i=1n,g=A%this.p;for(;g;){let A=t/g;[I,i]=[i,I-A*i],[t,g]=[g,t-A*g]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return aQ(this,A,I)}exp(A,I){return aQ(this,A,I)}band(A,I){const t=A&I&this.mask;return t>=this.p?t-this.p:t}bor(A,I){const t=(A|I)&this.mask;return t>=this.p?t-this.p:t}bxor(A,I){const t=(A^I)&this.mask;return t>=this.p?t-this.p:t}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)<this.bitLength){const t=A<<I&this.mask;return t>=this.p?t-this.p:t}{const t=this.p-I;return Number(t)<this.bitLength?A>>t:0n}}shr(A,I){if(Number(I)<this.bitLength)return A>>I;{const t=this.p-I;if(Number(t)<this.bitLength){const I=A<<t&this.mask;return I>=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=i;){let A=this.square(i),C=1;for(;1n!=A;)C++,A=this.square(A);let Q=t;for(let A=0;A<I-C-1;A++)Q=this.square(Q);I=C,t=this.square(Q),i=this.mul(i,t),g=this.mul(g,Q)}return g>this.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;t<A;t++)I=(I<<8n)+BigInt(wQ(1)[0]);return I%this.p}toString(A,I){let t;if(A>this.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.n64;t++)I+=A.nextU64()<<BigInt(64*t);I&=this.mask}while(I>=this.p);return I=I*this.Ri%this.p,I}}class cQ{constructor(A){this.type="F1",this.one=r.one,this.zero=r.zero,this.p=r(A),this.m=1,this.negone=this.p.minus(r.one),this.two=r(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=r.one.shiftLeft(this.bitLength).minus(r.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=r.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let t=this.pow(this.nqr,I);for(;!t.equals(this.negone);)this.nqr=this.nqr.add(this.one),t=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),fQ(this)}e(A,I){const t=r(A,I);return this.normalize(t)}add(A,I){let t=A.add(I);return t.geq(this.p)&&(t=t.minus(this.p)),t}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(r(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.lt(i)}gt(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.gt(i)}leq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.leq(i)}geq(A,I){const t=A.gt(this.half)?A.minus(this.p):A,i=I.gt(this.half)?I.minus(this.p):I;return t.geq(i)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shr(A,t):r.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const t=this.p.minus(I);return t.lt(this.bitLength)?this.shl(A,t):r.zero}}land(A,I){return A.isZero()||I.isZero()?r.zero:r.one}lor(A,I){return A.isZero()&&I.isZero()?r.zero:r.one}lnot(A){return A.isZero()?r.one:r.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),t=this.nqr_to_t,i=this.pow(A,this.t),g=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!i.equals(this.one);){let A=this.square(i),C=1;for(;!A.equals(this.one);)C++,A=this.square(A);let Q=t;for(let A=0;A<I-C-1;A++)Q=this.square(Q);I=C,t=this.square(Q),i=this.mul(i,t),g=this.mul(g,Q)}return g.greater(this.p.shiftRight(this.one))&&(g=this.neg(g)),g}normalize(A){return(A=r(A)).isNegative()?this.p.minus(A.abs().mod(this.p)):A.mod(this.p)}random(){let A=r(0),I=r(this.p.square());for(;!I.isZero();)A=A.shiftLeft(8).add(r(wQ(1)[0])),I=I.shiftRight(8);return A.mod(this.p)}toString(A,I){let t;if(A.lesserOrEquals(this.p.shiftRight(r(1))))t=A.toString(I);else{t="-"+this.p.minus(A).toString(I)}return t}isZero(A){return A.isZero()}fromRng(A){let I;do{I=r(0);for(let t=0;t<this.n64;t++)I=I.add(I,A.nextU64().shiftLeft(64*t));I=I.and(this.mask)}while(I.geq(this.p));return I=I.times(this.Ri).mod(this.q),I}}const uQ="function"==typeof BigInt;let yQ;yQ=uQ?DQ:cQ;class pQ extends yQ{toRprLE(A,I,t){yC(A,I,t,8*this.n64)}toRprBE(A,I,t){pC(A,I,t,8*this.n64)}toRprBEM(A,I,t){return this.toRprBE(A,I,this.mul(this.R,t))}toRprLEM(A,I,t){return this.toRprLE(A,I,this.mul(this.R,t))}fromRprLE(A,I){return lC(A,I,this.n8)}fromRprBE(A,I){return FC(A,I,this.n8)}fromRprLEM(A,I){return this.mul(this.fromRprLE(A,I),this.Ri)}fromRprBEM(A,I){return this.mul(this.fromRprBE(A,I),this.Ri)}}var lQ=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=0n,t=A.length,i=0;const g=new DataView(A.buffer);for(;t>0;)t>=4?(t-=4,I+=BigInt(g.getUint32(t))<<BigInt(8*i),i+=4):t>=2?(t-=2,I+=BigInt(g.getUint16(t))<<BigInt(8*i),i+=2):(t-=1,I+=BigInt(g.getUint8(t))<<BigInt(8*i),i+=1);return I},beInt2Buff:function(A,I){let t=A;const i=new Uint8Array(I),g=new DataView(i.buffer);let C=I;for(;C>0;)C-4>=0?(C-=4,g.setUint32(C,Number(0xFFFFFFFFn&t)),t>>=32n):C-2>=0?(C-=2,g.setUint16(C,Number(0xFFFFn&t)),t>>=16n):(C-=1,g.setUint8(C,Number(0xFFn&t)),t>>=8n);if(t)throw new Error("Number does not fit in this length");return i},leBuff2int:function(A){let I=0n,t=0;const i=new DataView(A.buffer);for(;t<A.length;)t+4<=A.length?(I+=BigInt(i.getUint32(t,!0))<<BigInt(8*t),t+=4):t+4<=A.length?(I+=BigInt(i.getUint16(t,!0))<<BigInt(8*t),t+=2):(I+=BigInt(i.getUint8(t,!0))<<BigInt(8*t),t+=1);return I},leInt2Buff:function(A,I){let t=A;void 0===I&&0==(I=Math.floor((kC(A)-1)/8)+1)&&(I=1);const i=new Uint8Array(I),g=new DataView(i.buffer);let C=0;for(;C<I;)C+4<=I?(g.setUint32(C,Number(0xFFFFFFFFn&t),!0),C+=4,t>>=32n):C+2<=I?(i.setUint16(Number(C,0xFFFFn&t),!0),C+=2,t>>=16n):(i.setUint8(Number(C,0xFFn&t),!0),C+=1,t>>=8n);if(t)throw new Error("Number does not fit in this length");return i}});var FQ=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return r(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const t={};return Object.keys(I).forEach(i=>{t[i]=A(I[i])}),t}return I},beBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[A.length-t-1]);I=I.add(i.shiftLeft(8*t))}return I},beInt2Buff:function(A,I){let t=A,i=I-1;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i>=0;){let A=Number(t.and(r("255")));g[i]=A,i--,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g},leBuff2int:function(A){let I=r.zero;for(let t=0;t<A.length;t++){const i=r(A[t]);I=I.add(i.shiftLeft(8*t))}return I},leInt2Buff:function(A,I){let t=A,i=0;const g=new Uint8Array(I);for(;t.gt(r.zero)&&i<g.length;){let A=Number(t.and(r(255)));g[i]=A,i++,t=t.shiftRight(8)}if(!t.eq(r.zero))throw new Error("Number does not fit in this length");return g}});let MQ={};"function"==typeof BigInt?Object.assign(MQ,lQ):Object.assign(MQ,FQ);const mQ=[];for(let A=0;A<256;A++)mQ[A]=dQ(A,8);function dQ(A,I){let t=0,i=A;for(let A=0;A<I;A++)t<<=1,t|=1&i,i>>=1;return t}MQ.bitReverse=function(A,I){return(mQ[A>>>24]|mQ[A>>>16&255]<<8|mQ[A>>>8&255]<<16|mQ[255&A]<<24)>>>32-I},MQ.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},MQ.buffReverseBits=function(A,I){const t=A.byteLength/I,i=MQ.log2(t);if(t!=1<<i)throw new Error("Invalid number of pointers");for(let g=0;g<t;g++){const t=MQ.bitReverse(g,i);if(g>t){const i=A.slice(g*I,(g+1)*I);A.set(A.slice(t*I,(t+1)*I),g*I),A.set(i,t*I)}}};const GQ=hQ;class UQ{constructor(A,I,t,i){for(this.fileName=i,this.fd=A,this.pos=0,this.pageBits=8,this.pageSize=1<<this.pageBits;this.pageSize<4*I.blksize;)this.pageBits++,this.pageSize*=2;this.totalSize=I.size,this.totalPages=Math.floor((I.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(t/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1}_loadPage(A){const I=this;return new Promise((t,i)=>{I.pendingLoads.push({page:A,resolve:t,reject:i}),setImmediate(I._triggerLoad.bind(I))})}_triggerLoad(){const A=this;if(function(){const I=[];for(let t=0;t<A.pendingLoads.length;t++){const i=A.pendingLoads[t];void 0!==A.pages[i.page]?(A.pages[i.page].pendingOps++,i.resolve()):I.push(i)}A.pendingLoads=I}(),0==A.pendingLoads.length)return;if(Object.keys(A.pages).length>=A.maxPagesLoaded){const I=function(){for(let I in A.pages){const t=A.pages[I];if(0==t.dirty&&0==t.pendingOps)return I}return-1}();if(I<0)return;delete A.pages[I]}const I=A.pendingLoads.shift();if(I.page>=A.totalPages)return A.pages[I.page]={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0},I.resolve(),void setImmediate(A._triggerLoad.bind(A));if(A.reading)return void A.pendingLoads.unshift(I);A.reading=!0;const t={dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0};A.fd.read(t.buff,0,A.pageSize,I.page*A.pageSize).then(i=>{t.size=i.bytesRead,A.pages[I.page]=t,A.reading=!1,I.resolve(),setImmediate(A._triggerLoad.bind(A))},A=>{I.reject(A)})}_triggerWrite(){const A=this;if(A.writing)return;const I=A._getDirtyPage();I<0?A.pendingClose&&A.pendingClose():(A.writing=!0,A.pages[I].dirty=!1,A.fd.write(A.pages[I].buff,0,A.pages[I].size,I*A.pageSize).then(()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),setImmediate(A._triggerLoad.bind(A))},I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const t=this;if(A.byteLength>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A.byteLength);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A.byteLength,t.totalSize<I+A.byteLength&&(t.totalSize=I+A.byteLength),t.pendingClose)throw new Error("Writing a closing file");const i=Math.floor(I/t.pageSize),g=Math.floor((I+A.byteLength-1)/t.pageSize);for(let A=i;A<=g;A++)await t._loadPage(A);let C=i,Q=I%t.pageSize,e=A.byteLength;for(;e>0;){const I=Q+e>t.pageSize?t.pageSize-Q:e,i=new Uint8Array(A.buffer,A.byteLength-e,I);new Uint8Array(t.pages[C].buff.buffer,Q,I).set(i),t.pages[C].dirty=!0,t.pages[C].pendingOps--,t.pages[C].size=Math.max(Q+I,t.pages[C].size),C>=t.totalPages&&(t.totalPages=C+1),e-=I,C++,Q=0}setImmediate(t._triggerWrite.bind(t))}async read(A,I){if(0==A)return new Uint8Array(0);const t=this;if(A>t.pageSize*t.maxPagesLoaded*.8){const I=Math.floor(1.1*A);this.maxPagesLoaded=Math.floor(I/t.pageSize)+1}if(void 0===I&&(I=t.pos),t.pos=I+A,t.pendingClose)throw new Error("Reading a closing file");const i=Math.floor(I/t.pageSize),g=Math.floor((I+A-1)/t.pageSize);for(let A=i;A<=g;A++)await t._loadPage(A);let C=new Uint8Array(A),Q=new Uint8Array(C),e=i,n=I%t.pageSize,B=I+A>t.totalSize?A-(I+A-t.totalSize):A;for(;B>0;){const A=n+B>t.pageSize?t.pageSize-n:B,I=new Uint8Array(t.pages[e].buff.buffer,n,A);C.set(I,Q.byteLength-B),t.pages[e].pendingOps--,B-=A,e++,n=0}return setImmediate(t._triggerLoad.bind(t)),C}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise((I,t)=>{A.pendingClose=I,A.pendingCloseReject=t,A._tryClose()}).then(()=>{A.fd.close()},I=>{throw A.fd.close(),I})}async discard(){await this.close(),await DA.promises.unlink(this.fileName)}async writeULE32(A,I){const t=Uint32Array.of(A);await this.write(new Uint8Array(t.buffer),I)}async writeUBE32(A,I){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,A,!1),await this.write(t,I)}async writeULE64(A,I){const t=Uint32Array.of(4294967295&A,Math.floor(A/4294967296));await this.write(new Uint8Array(t.buffer),I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}class HQ{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),t=new Uint8Array(I);t.set(this.o.data),this.o.data=t,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A,I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async read(A,I){if(void 0===I&&(I=this.pos),this.readOnly&&I+A>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(I+A);const t=this.o.data.slice(I,I+A);return this.pos=I+A,t}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){const t=Uint32Array.of(A);await this.write(new Uint8Array(t.buffer),I)}async writeUBE32(A,I){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,A,!1),await this.write(t,I)}async writeULE64(A,I){const t=Uint32Array.of(4294967295&A,Math.floor(A/4294967296));await this.write(new Uint8Array(t.buffer),I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),t=new Uint32Array(I.buffer);return 4294967296*t[1]+t[0]}}async function LQ(A,I){if(A instanceof Uint8Array&&(A={type:"mem",data:A}),"string"==typeof A){A={type:"mem",data:await fetch(A).then((function(A){return A.arrayBuffer()})).then((function(A){return new Uint8Array(A)}))}}if("file"==A.type)return await async function(A,I,t){if(t=t||262144,["w+","wx+","r","ax+","a+"].indexOf(I)<0)throw new Error("Invalid open option");const i=await DA.promises.open(A,I),g=await i.stat();return new UQ(i,g,t,A)}(A.fileName,"r",A.cacheSize);if("mem"==A.type)return await function(A){const I=new HQ;return I.o=A,I.allocSize=A.data.byteLength,I.totalSize=A.data.byteLength,I.readOnly=!0,I.pos=0,I}(A);throw new Error("Invalid FastFile type: "+A.type)}async function kQ(A,I,t){if(void 0!==A.readingSection)throw new Error("Already reading a section");if(!I[t])throw new Error(A.fileName+": Missing section "+t);if(I[t].length>1)throw new Error(A.fileName+": Section Duplicated "+t);A.pos=I[t][0].p,A.readingSection=I[t][0]}async function NQ(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size");delete A.readingSection}async function bQ(A,I,t){const i=await A.read(I,t);return GQ.fromRprLE(i,0,I)}async function SQ(A,I){const t={};return await kQ(A,I,1),t.n8=await A.readULE32(),t.prime=await bQ(A,t.n8),t.Fr=new pQ(t.prime),t.nVars=await A.readULE32(),t.nOutputs=await A.readULE32(),t.nPubInputs=await A.readULE32(),t.nPrvInputs=await A.readULE32(),t.nLabels=await A.readULE64(),t.nConstraints=await A.readULE32(),await NQ(A),t}async function RQ(A,I,t){const{fd:i,sections:g}=await async function(A,I,t){const i=await LQ(A),g=await i.read(4);let C="";for(let A=0;A<4;A++)C+=String.fromCharCode(g[A]);if(C!=I)throw new Error(A+": Invalid File format");if(await i.readULE32()>t)throw new Error("Version not supported");const Q=await i.readULE32();let e=[];for(let A=0;A<Q;A++){let A=await i.readULE32(),I=await i.readULE64();void 0===e[A]&&(e[A]=[]),e[A].push({p:i.pos,size:I}),i.pos+=I}return{fd:i,sections:e}}(A,"r1cs",1),C=await SQ(i,g);if(I){await kQ(i,g,2),C.constraints=[];for(let A=0;A<C.nConstraints;A++){const A=await Q();C.constraints.push(A)}await NQ(i)}if(t){await kQ(i,g,3),C.map=[];for(let A=0;A<C.nVars;A++){const A=await i.readULE64();C.map.push(A)}await NQ(i)}return await i.close(),C;async function Q(){const A=[];return A[0]=await e(),A[1]=await e(),A[2]=await e(),A}async function e(){const A={},I=await i.readULE32();for(let t=0;t<I;t++){const I=await i.readULE32(),t=C.Fr.e(await bQ(i,C.n8));A[I]=t}return A}}const JQ=BI.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),vQ=BI.e("21888242871839275222246405745257275088548364400416034343698204186575808495617");var qQ=Object.freeze({__proto__:null,print:function(A,I,t){for(let I=0;I<A.constraints.length;I++)i(A.constraints[I]);function i(i){const g=t=>{let i="";return Object.keys(t).forEach(g=>{let C=I.varIdx2Name[g];"one"==C&&(C="");let Q=A.Fr.toString(t[g]);"1"==Q&&(Q=""),"-1"==Q&&(Q="-"),""!=i&&"-"!=Q[0]&&(Q="+"+Q),""!=i&&(Q=" "+Q),i=i+Q+C}),i},C=`[ ${g(i[0])} ] * [ ${g(i[1])} ] - [ ${g(i[2])} ] = 0`;t&&t.info(C)}},info:async function(A,I){const t=await RQ(A);return BI.eq(t.prime,vQ)?I&&I.info("Curve: bn-128"):BI.eq(t.prime,JQ)?I&&I.info("Curve: bls12-381"):I&&I.info("Unknown Curve. Prime: "+BI.toString(t.prime)),I&&I.info("# of Wires: "+t.nVars),I&&I.info("# of Constraints: "+t.nConstraints),I&&I.info("# of Private Inputs: "+t.nPrvInputs),I&&I.info("# of Public Inputs: "+t.nPubInputs),I&&I.info("# of Outputs: "+t.nOutputs),t},exportJson:async function(A,I){return await RQ(A,!0,!0)}});async function YQ(A){const I={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},t=await lI(A),i=await t.read(t.totalSize),g=new TextDecoder("utf-8").decode(i).split("\n");for(let A=0;A<g.length;A++){const t=g[A].split(",");4==t.length&&(I.varIdx2Name[t[1]]?I.varIdx2Name[t[1]]+="|"+t[3]:I.varIdx2Name[t[1]]=t[3],I.labelIdx2Name[t[0]]=t[3],I.componentIdx2Name[t[2]]||(I.componentIdx2Name[t[2]]=C(t[3])))}return await t.close(),I;function C(A){const I=A.split(".");return I.pop(),I.join(".")}}const{WitnessCalculatorBuilder:PQ}=bg;var xQ=Object.freeze({__proto__:null,calculate:Rg,debug:async function(A,I,t,i,g,C){const Q=await lI(I),e=await Q.read(Q.totalSize);await Q.close();let n={sanityCheck:!0},B=await YQ(i);g.set&&(B||(B=await YQ(i)),n.logSetSignal=function(A,I){C&&C.info("SET "+B.labelIdx2Name[A]+" <-- "+I.toString())}),g.get&&(B||(B=await YQ(i)),n.logGetSignal=function(A,I){C&&C.info("GET "+B.labelIdx2Name[A]+" --\x3e "+I.toString())}),g.trigger&&(B||(B=await YQ(i)),n.logStartComponent=function(A){C&&C.info("START: "+B.componentIdx2Name[A])},n.logFinishComponent=function(A){C&&C.info("FINISH: "+B.componentIdx2Name[A])});const r=await PQ(e,n),E=await r.calculateWitness(A),h=await MI(t,"wtns",2,2);await async function(A,I,t){await mI(A,1);const i=8*(Math.floor((BI.bitLength(t)-1)/64)+1);await A.writeULE32(i),await HI(A,t,i),await A.writeULE32(I.length),await dI(A),await mI(A,2);for(let t=0;t<I.length;t++)await HI(A,I[t],i);await dI(A)}(h,E,r.prime),await h.close()},exportJson:async function(A){return await async function(A){const{fd:I,sections:t}=await FI(A,"wtns",2),{n8:i,nWitness:g}=await st(I,t);await GI(I,t,2);const C=[];for(let A=0;A<g;A++){const A=await LI(I,i);C.push(A)}return await UI(I),await I.close(),C}(A)}});async function OQ(A,I,t,i){await OI.ready();const g=OI(64),{fd:C,sections:Q}=await FI(A,"r1cs",1),e=await SQ(C,Q),{fd:n,sections:B}=await FI(I,"ptau",1),{curve:r,power:E}=await Xg(n,B),h=await MI(t,"zkey",1,10),o=2*r.G1.F.n8,s=2*r.G2.F.n8;if(e.prime!=r.r)return i&&i.error("r1cs curve does not match powers of tau ceremony curve"),-1;const a=KI(e.nConstraints+e.nPubInputs+e.nOutputs+1-1)+1;if(a>E+1)return i&&i.error(`circuit too big for this power of tau ceremony. ${e.nConstraints}*2 > 2**${E}`),-1;if(!B[12])return i&&i.error("Powers of tau is not prepared."),-1;const f=e.nOutputs+e.nPubInputs,w=1<<a;await mI(h,1),await h.writeULE32(1),await dI(h),await mI(h,2);const D=r.q,c=8*(Math.floor((BI.bitLength(D)-1)/64)+1),u=r.r,y=8*(Math.floor((BI.bitLength(u)-1)/64)+1),p=BI.mod(BI.shl(1,8*y),u),l=r.Fr.e(BI.mod(BI.mul(p,p),u));let F,M,m;await h.writeULE32(c),await HI(h,D,c),await h.writeULE32(y),await HI(h,u,y),await h.writeULE32(e.nVars),await h.writeULE32(f),await h.writeULE32(w),F=await n.read(o,B[4][0].p),await h.write(F),F=await r.G1.batchLEMtoU(F),g.update(F),M=await n.read(o,B[5][0].p),await h.write(M),M=await r.G1.batchLEMtoU(M),g.update(M),m=await n.read(s,B[6][0].p),await h.write(m),m=await r.G2.batchLEMtoU(m),g.update(m);const d=new Uint8Array(o);r.G1.toRprLEM(d,0,r.G1.g);const G=new Uint8Array(s);r.G2.toRprLEM(G,0,r.G2.g);const U=new Uint8Array(o);r.G1.toRprUncompressed(U,0,r.G1.g);const H=new Uint8Array(s);r.G2.toRprUncompressed(H,0,r.G2.g),await h.write(G),await h.write(d),await h.write(G),g.update(H),g.update(U),g.update(H),await dI(h);const L=new Array(e.nVars),k=new Array(e.nVars),N=new Array(e.nVars),b=new Array(e.nVars-f-1),S=new Array(f+1),R=B[12][0].p+((1<<a)-1)*o,J=B[13][0].p+((1<<a)-1)*s,v=B[14][0].p+((1<<a)-1)*o,q=B[15][0].p+((1<<a)-1)*o;await mI(h,4),await GI(C,Q,2);const Y=h.pos;let P=0;h.pos+=4;for(let A=0;A<e.nConstraints;A++){i&A%1e4==0&&i.debug(`processing constraints: ${A}/${e.nConstraints}`);const I=await C.readULE32();for(let t=0;t<I;t++){const I=await C.readULE32(),t=await C.read(e.n8),i=R+o*A,g=q+o*A;void 0===L[I]&&(L[I]=[]),L[I].push([i,t]),I<=f?(void 0===S[I]&&(S[I]=[]),S[I].push([g,t])):(void 0===b[I-f-1]&&(b[I-f-1]=[]),b[I-f-1].push([g,t])),await h.writeULE32(0),await h.writeULE32(A),await h.writeULE32(I),await j(t),P++}const t=await C.readULE32();for(let I=0;I<t;I++){const I=await C.readULE32(),t=await C.read(e.n8),i=R+o*A,g=J+s*A,Q=v+o*A;void 0===k[I]&&(k[I]=[]),k[I].push([i,t]),void 0===N[I]&&(N[I]=[]),N[I].push([g,t]),I<=f?(void 0===S[I]&&(S[I]=[]),S[I].push([Q,t])):(void 0===b[I-f-1]&&(b[I-f-1]=[]),b[I-f-1].push([Q,t])),await h.writeULE32(1),await h.writeULE32(A),await h.writeULE32(I),await j(t),P++}const g=await C.readULE32();for(let I=0;I<g;I++){const I=await C.readULE32(),t=await C.read(e.n8),i=R+o*A;I<=f?(void 0===S[I]&&(S[I]=[]),S[I].push([i,t])):(void 0===b[I-f-1]&&(b[I-f-1]=[]),b[I-f-1].push([i,t]))}}const x=new Uint8Array(r.Fr.n8);r.Fr.toRprLE(x,0,r.Fr.e(1));for(let A=0;A<=f;A++){const I=R+o*(e.nConstraints+A),t=q+o*(e.nConstraints+A);void 0===L[A]&&(L[A]=[]),L[A].push([I,x]),void 0===S[A]&&(S[A]=[]),S[A].push([t,x]),await h.writeULE32(0),await h.writeULE32(e.nConstraints+A),await h.writeULE32(A),await j(x),P++}const O=h.pos;await h.writeULE32(P,Y),h.pos=O,await dI(h),await UI(C),await K(3,"G1",S,"IC"),await mI(h,9);const X=B[12][0].p+((1<<a+1)-1)*o;for(let A=0;A<w;A++){const I=await n.read(o,X+(2*A+1)*o);await h.write(I)}await dI(h),await async function(){_(w-1);for(let A=0;A<w-1;A+=16384){i&&i.debug(`HashingHPoints: ${A}/${w}`);const I=Math.min(w-1,16384);await W(A,I)}}(),await K(8,"G1",b,"C"),await K(5,"G1",L,"A"),await K(6,"G1",k,"B1"),await K(7,"G2",N,"B2");const Z=g.digest();return await mI(h,10),await h.write(Z),await h.writeULE32(0),await dI(h),i&&i.info(VI(Z,"Circuit hash: ")),await h.close(),await n.close(),await C.close(),Z;async function j(A){const I=r.Fr.fromRprLE(A,0),t=r.Fr.mul(I,l),i=new Uint8Array(r.Fr.n8);r.Fr.toRprLE(i,0,t),await h.write(i)}async function K(A,I,t,g){_(t.length),await mI(h,A);for(let A=0;A<t.length;A+=1<<18){i&&i.debug(`Writing points ${g}: ${A}/${t.length}`);const C=Math.min(t.length-A,1<<18),Q=t.slice(A,A+C);await V(I,Q)}await dI(h)}async function V(A,I){const t=r.tm.concurrency,i=Math.floor(I.length/t),C=[],Q=r[A];for(let g=0;g<t;g++){let Q;if(Q=g<t-1?i:I.length-g*i,0==Q)continue;const e=I.slice(g*i,g*i+Q);C.push(z(A,e))}const e=await Promise.all(C);for(let A=0;A<e.length;A++){await h.write(e[A][0]);const I=await Q.batchLEMtoU(e[A][0]);g.update(I)}}async function z(A,I){const t=r[A],i=2*t.F.n8,g=3*t.F.n8,C=2*t.F.n8;let Q,e,B,E;if("G1"==A)Q="g1m_timesScalarAffine",e="g1m_multiexpAffine",B="g1m_batchToAffine",E="g1m_zero";else{if("G2"!=A)throw new Error("Invalid group");Q="g2m_timesScalarAffine",e="g2m_multiexpAffine",B="g2m_batchToAffine",E="g2m_zero"}let h=0;for(let A=0;A<I.length;A++)h+=I[A]?I[A].length:0;const o=new Uint8Array(h*i),s=new Uint8Array(h*r.Fr.n8);let a=0,f=0;for(let A=0;A<I.length;A++)if(I[A])for(let t=0;t<I[A].length;t++){const g=await n.read(i,I[A][t][0]);o.set(g,a),a+=i,s.set(I[A][t][1],f),f+=r.Fr.n8}const w=[];w.push({cmd:"ALLOCSET",var:0,buff:o}),w.push({cmd:"ALLOCSET",var:1,buff:s}),w.push({cmd:"ALLOC",var:2,len:I.length*g}),a=0,f=0;let D=0;for(let A=0;A<I.length;A++)I[A]?(1==I[A].length?w.push({cmd:"CALL",fnName:Q,params:[{var:0,offset:a},{var:1,offset:f},{val:r.Fr.n8},{var:2,offset:D}]}):w.push({cmd:"CALL",fnName:e,params:[{var:0,offset:a},{var:1,offset:f},{val:r.Fr.n8},{val:I[A].length},{var:2,offset:D}]}),a+=i*I[A].length,f+=r.Fr.n8*I[A].length,D+=g):(w.push({cmd:"CALL",fnName:E,params:[{var:2,offset:D}]}),D+=g);w.push({cmd:"CALL",fnName:B,params:[{var:2},{val:I.length},{var:2}]}),w.push({cmd:"GET",out:0,var:2,len:I.length*C});return await r.tm.queueAction(w)}async function W(A,I){const t=await n.read(I*o,B[2][0].p+(A+w)*o),i=await n.read(I*o,B[2][0].p+A*o),C=r.tm.concurrency,Q=Math.floor(I/C),e=[];for(let A=0;A<C;A++){let g;if(g=A<C-1?Q:I-A*Q,0==g)continue;const n=t.slice(A*Q*o,(A*Q+g)*o),B=i.slice(A*Q*o,(A*Q+g)*o);e.push(T(n,B))}const E=await Promise.all(e);for(let A=0;A<E.length;A++)g.update(E[A][0])}async function T(A,I){const t=A.byteLength/o,i=3*r.G1.F.n8,g=[];g.push({cmd:"ALLOCSET",var:0,buff:A}),g.push({cmd:"ALLOCSET",var:1,buff:I}),g.push({cmd:"ALLOC",var:2,len:t*i});for(let A=0;A<t;A++)g.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:A*o},{var:1,offset:A*o},{var:2,offset:A*i}]});g.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:t},{var:2}]}),g.push({cmd:"CALL",fnName:"g1m_batchLEMtoU",params:[{var:2},{val:t},{var:2}]}),g.push({cmd:"GET",out:0,var:2,len:t*o});return await r.tm.queueAction(g)}function _(A){const I=new Uint8Array(4);new DataView(I.buffer,I.byteOffset,I.byteLength).setUint32(0,A,!1),g.update(I)}}const XQ=TI;const{stringifyBigInts:ZQ}=rI;async function jQ(A,I){const{fd:t,sections:i}=await FI(A,"zkey",2),g=await et(t,i,"groth16"),C=await JI(g.q),Q=2*C.G1.F.n8,e=await C.pairing(g.vk_alpha_1,g.vk_beta_2);let n={protocol:g.protocol,curve:C.name,nPublic:g.nPublic,vk_alpha_1:C.G1.toObject(g.vk_alpha_1),vk_beta_2:C.G2.toObject(g.vk_beta_2),vk_gamma_2:C.G2.toObject(g.vk_gamma_2),vk_delta_2:C.G2.toObject(g.vk_delta_2),vk_alphabeta_12:C.Gt.toObject(e)};await GI(t,i,3),n.IC=[];for(let A=0;A<=g.nPublic;A++){const A=await t.read(Q),I=C.G1.toObject(A);n.IC.push(I)}return await UI(t),n=ZQ(n),await t.close(),n}var KQ=Object.freeze({__proto__:null,newZKey:OQ,exportBellman:async function(A,I,t){const{fd:i,sections:g}=await FI(A,"zkey",2),C=await et(i,g,"groth16"),Q=await JI(C.q),e=2*Q.G1.F.n8,n=2*Q.G2.F.n8,B=await Bt(i,Q,g),r=await pI(I);let E;await D(C.vk_alpha_1),await D(C.vk_beta_1),await c(C.vk_beta_2),await c(C.vk_gamma_2),await D(C.vk_delta_1),await c(C.vk_delta_2),E=await NI(i,g,3),E=await Q.G1.batchLEMtoU(E),await u("G1",E);const h=await NI(i,g,9);let o,s,a,f,w;o=await Q.G1.fft(h,"affine","jacobian",t),o=await Q.G1.batchApplyKey(o,Q.Fr.neg(Q.Fr.e(2)),Q.Fr.w[C.power+1],"jacobian","affine",t),o=o.slice(0,o.byteLength-e),o=await Q.G1.batchLEMtoU(o),await u("G1",o),s=await NI(i,g,8),s=await Q.G1.batchLEMtoU(s),await u("G1",s),a=await NI(i,g,5),a=await Q.G1.batchLEMtoU(a),await u("G1",a),f=await NI(i,g,6),f=await Q.G1.batchLEMtoU(f),await u("G1",f),w=await NI(i,g,7),w=await Q.G2.batchLEMtoU(w),await u("G2",w),await r.write(B.csHash),await async function(A){const I=new Uint8Array(4);new DataView(I.buffer,I.byteOffset,I.byteLength).setUint32(0,A,!1),await r.write(I)}(B.contributions.length);for(let A=0;A<B.contributions.length;A++){const I=B.contributions[A];await D(I.deltaAfter),await D(I.delta.g1_s),await D(I.delta.g1_sx),await c(I.delta.g2_spx),await r.write(I.transcript)}async function D(A){const I=new Uint8Array(e);Q.G1.toRprUncompressed(I,0,A),await r.write(I)}async function c(A){const I=new Uint8Array(n);Q.G2.toRprUncompressed(I,0,A),await r.write(I)}async function u(A,I){let t;t="G1"==A?e:n;const i=new Uint8Array(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,I.byteLength/t,!1),await r.write(i),await r.write(I)}await i.close(),await r.close()},importBellman:async function(A,I,t,i,g){const{fd:C,sections:Q}=await FI(A,"zkey",2),e=await et(C,Q,"groth16"),n=await JI(e.q),B=2*n.G1.F.n8,r=2*n.G2.F.n8,E=await Bt(C,n,Q),h={},o=await lI(I);o.pos=3*B+3*r+8+B*e.nVars+4+B*(e.domainSize-1)+4+B*e.nVars+4+B*e.nVars+4+r*e.nVars,h.csHash=await o.read(64);const s=await o.readUBE32();h.contributions=[];for(let A=0;A<s;A++){const I={delta:{}};I.deltaAfter=await p(o),I.delta.g1_s=await p(o),I.delta.g1_sx=await p(o),I.delta.g2_spx=await l(o),I.transcript=await o.read(64),A<E.contributions.length&&(I.type=E.contributions[A].type,1==I.type&&(I.beaconHash=E.contributions[A].beaconHash,I.numIterationsExp=E.contributions[A].numIterationsExp),E.contributions[A].name&&(I.name=E.contributions[A].name)),h.contributions.push(I)}if(!zI(h.csHash,E.csHash))return g&&g.error("Hash of the original circuit does not match with the MPC one"),!1;if(E.contributions.length>h.contributions.length)return g&&g.error("The impoerted file does not include new contributions"),!1;for(let A=0;A<E.contributions.length;A++)if(!F(E.contributions[A],h.contributions[A]))return g&&g.error(`Previos contribution ${A} does not match`),!1;if(i)for(let A=E.contributions.length;A<h.contributions.length;A++)h.contributions[A].name=i;const a=await MI(t,"zkey",1,10);if(o.pos=0,o.pos+=B,o.pos+=B,o.pos+=r,o.pos+=r,e.vk_delta_1=await p(o),e.vk_delta_2=await l(o),await tt(a,e),await o.readUBE32()!=e.nPublic+1)return g&&g.error("Invalid number of points in IC"),await a.discard(),!1;if(o.pos+=B*(e.nPublic+1),await kI(C,Q,a,3),await kI(C,Q,a,4),await o.readUBE32()!=e.domainSize-1)return g&&g.error("Invalid number of points in H"),await a.discard(),!1;let f;const w=await o.read(B*(e.domainSize-1)),D=await n.G1.batchUtoLEM(w);f=new Uint8Array(e.domainSize*B),f.set(D),n.G1.toRprLEM(f,B*(e.domainSize-1),n.G1.zeroAffine);const c=n.Fr.neg(n.Fr.inv(n.Fr.e(2))),u=n.Fr.inv(n.Fr.w[e.power+1]);if(f=await n.G1.batchApplyKey(f,c,u,"affine","jacobian",g),f=await n.G1.ifft(f,"jacobian","affine",g),await mI(a,9),await a.write(f),await dI(a),await o.readUBE32()!=e.nVars-e.nPublic-1)return g&&g.error("Invalid number of points in L"),await a.discard(),!1;let y;return y=await o.read(B*(e.nVars-e.nPublic-1)),y=await n.G1.batchUtoLEM(y),await mI(a,8),await a.write(y),await dI(a),await o.readUBE32()!=e.nVars?(g&&g.error("Invalid number of points in A"),await a.discard(),!1):(o.pos+=B*e.nVars,await kI(C,Q,a,5),await o.readUBE32()!=e.nVars?(g&&g.error("Invalid number of points in B1"),await a.discard(),!1):(o.pos+=B*e.nVars,await kI(C,Q,a,6),await o.readUBE32()!=e.nVars?(g&&g.error("Invalid number of points in B2"),await a.discard(),!1):(o.pos+=r*e.nVars,await kI(C,Q,a,7),await Et(a,n,h),await o.close(),await a.close(),await C.close(),!0)));async function p(A){const I=await A.read(2*n.G1.F.n8);return n.G1.fromRprUncompressed(I,0)}async function l(A){const I=await A.read(2*n.G2.F.n8);return n.G2.fromRprUncompressed(I,0)}function F(A,I){return!!n.G1.eq(A.deltaAfter,I.deltaAfter)&&(!!n.G1.eq(A.delta.g1_s,I.delta.g1_s)&&(!!n.G1.eq(A.delta.g1_sx,I.delta.g1_sx)&&(!!n.G2.eq(A.delta.g2_spx,I.delta.g2_spx)&&!!zI(A.transcript,I.transcript))))}},verify:async function(A,I,t,i){let g;await OI.ready();const{fd:C,sections:Q}=await FI(t,"zkey",2),e=await et(C,Q,"groth16"),n=await JI(e.q),B=2*n.G1.F.n8,r=(n.G2.F.n8,await Bt(C,n,Q)),E=OI(64);E.update(r.csHash);let h=n.G1.g;for(let A=0;A<r.contributions.length;A++){const I=r.contributions[A],t=WI(E);if(ht(t,n,I.delta.g1_s),ht(t,n,I.delta.g1_sx),!zI(t.digest(),I.transcript))return console.log(`INVALID(${A}): Inconsistent transcript `),!1;const i=qg(n,I.transcript);if(g=await XQ(n,I.delta.g1_s,I.delta.g1_sx,i,I.delta.g2_spx),!0!==g)return console.log(`INVALID(${A}): public key G1 and G2 do not have the same ration `),!1;if(g=await XQ(n,h,I.deltaAfter,i,I.delta.g2_spx),!0!==g)return console.log(`INVALID(${A}): deltaAfter does not fillow the public key `),!1;if(1==I.type){const t=$I(I.beaconHash,I.numIterationsExp),i=n.Fr.fromRng(t),g=n.G1.toAffine(n.G1.fromRng(t)),C=n.G1.toAffine(n.G1.timesFr(g,i));if(!0!==n.G1.eq(g,I.delta.g1_s))return console.log(`INVALID(${A}): Key of the beacon does not match. g1_s `),!1;if(!0!==n.G1.eq(C,I.delta.g1_sx))return console.log(`INVALID(${A}): Key of the beacon does not match. g1_sx `),!1}ot(E,n,I);const C=OI(64);ot(C,n,I),I.contributionHash=C.digest(),h=I.deltaAfter}const o={type:"mem"};await OQ(A,I,o);const{fd:s,sections:a}=await FI(o,"zkey",2),f=await et(s,a,"groth16");if(!BI.eq(f.q,e.q)||!BI.eq(f.r,e.r)||f.n8q!=e.n8q||f.n8r!=e.n8r)return i&&i.error("INVALID: Different curves"),!1;if(f.nVars!=e.nVars||f.nPublic!=e.nPublic||f.domainSize!=e.domainSize)return i&&i.error("INVALID: Different circuit parameters"),!1;if(!n.G1.eq(e.vk_alpha_1,f.vk_alpha_1))return i&&i.error("INVALID: Invalid alpha1"),!1;if(!n.G1.eq(e.vk_beta_1,f.vk_beta_1))return i&&i.error("INVALID: Invalid beta1"),!1;if(!n.G2.eq(e.vk_beta_2,f.vk_beta_2))return i&&i.error("INVALID: Invalid beta2"),!1;if(!n.G2.eq(e.vk_gamma_2,f.vk_gamma_2))return i&&i.error("INVALID: Invalid gamma2"),!1;if(!n.G1.eq(e.vk_delta_1,h))return i&&i.error("INVALID: Invalud delta1"),!1;if(g=await XQ(n,n.G1.g,h,n.G2.g,e.vk_delta_2),!0!==g)return i&&i.error("INVALID: Invalud delta2"),!1;const w=await Bt(s,n,a);if(!zI(r.csHash,w.csHash))return i&&i.error("INVALID: Circuit does not match"),!1;if(Q[8][0].size!=B*(e.nVars-e.nPublic-1))return i&&i.error("INVALID: Invalid L section size"),!1;if(Q[9][0].size!=B*e.domainSize)return i&&i.error("INVALID: Invalid H section size"),!1;let D;if(D=await bI(C,Q,s,a,3),!D)return i&&i.error("INVALID: IC section is not identical"),!1;if(D=await bI(C,Q,s,a,4),!D)return i&&i.error("Coeffs section is not identical"),!1;if(D=await bI(C,Q,s,a,5),!D)return i&&i.error("A section is not identical"),!1;if(D=await bI(C,Q,s,a,6),!D)return i&&i.error("B1 section is not identical"),!1;if(D=await bI(C,Q,s,a,7),!D)return i&&i.error("B2 section is not identical"),!1;if(g=await async function(A,I,t,C,Q,e,B,r,E){const h=n[A],o=2*h.F.n8;await GI(I,t,e),await GI(C,Q,e);let s=h.zero,a=h.zero;const f=t[e][0].size/o;for(let A=0;A<f;A+=1<<20){i&&i.debug(`Same ratio check ${E}: ${A}/${f}`);const t=Math.min(f-A,1<<20),g=await I.read(t*o),Q=await C.read(t*o),e=new Uint8Array(4*t);DA.randomFillSync(e);const n=await h.multiExpAffine(g,e),B=await h.multiExpAffine(Q,e);s=h.add(s,n),a=h.add(a,B)}return await UI(I),await UI(C),g=await XQ(n,s,a,B,r),!0===g}("G1",s,a,C,Q,8,e.vk_delta_2,f.vk_delta_2,"L section"),!0!==g)return i&&i.error("L section does not match"),!1;if(g=await async function(){const A=n.G1,t=2*A.F.n8,{fd:B,sections:r}=await FI(I,"ptau",1);let E=new Uint8Array(e.domainSize*e.n8r);const h=new Array(8);for(let A=0;A<8;A++)h[A]=DA.randomBytes(4).readUInt32BE(0,!0);const o=new wA(h);for(let A=0;A<e.domainSize-1;A++){const I=n.Fr.fromRng(o);n.Fr.toRprLE(E,A*e.n8r,I)}n.Fr.toRprLE(E,(e.domainSize-1)*e.n8r,n.Fr.zero);let s=A.zero;for(let I=0;I<e.domainSize;I+=1<<20){i&&i.debug(`H Verificaition(tau): ${I}/${e.domainSize}`);const g=Math.min(e.domainSize-I,1<<20),C=await B.read(t*g,r[2][0].p+e.domainSize*t+I*(1<<20)*t),Q=await B.read(t*g,r[2][0].p+I*(1<<20)*t),n=await c(C,Q),h=E.slice(I*(1<<20)*e.n8r,(I*(1<<20)+g)*e.n8r),o=await A.multiExpAffine(n,h);s=A.add(s,o)}E=await n.Fr.batchToMontgomery(E);const a=n.Fr.neg(n.Fr.e(2)),w=n.Fr.w[e.power+1];E=await n.Fr.batchApplyKey(E,a,w),E=await n.Fr.fft(E),E=await n.Fr.batchFromMontgomery(E),await GI(C,Q,9);let D=A.zero;for(let I=0;I<e.domainSize;I+=1<<20){i&&i.debug(`H Verificaition(lagrange): ${I}/${e.domainSize}`);const g=Math.min(e.domainSize-I,1<<20),Q=await C.read(t*g),n=E.slice(I*(1<<20)*e.n8r,(I*(1<<20)+g)*e.n8r),B=await A.multiExpAffine(Q,n);D=A.add(D,B)}return await UI(C),g=await XQ(n,s,D,e.vk_delta_2,f.vk_delta_2),!0===g}(),!0!==g)return i&&i.error("H section does not match"),!1;i&&i.info(VI(r.csHash,"Circuit Hash: ")),await C.close(),await s.close();for(let A=r.contributions.length-1;A>=0;A--){const I=r.contributions[A];i&&i.info("-------------------------"),i&&i.info(VI(I.contributionHash,`contribution #${A+1} ${I.name?I.name:""}:`)),1==I.type&&(i&&i.info("Beacon generator: "+It(I.beaconHash)),i&&i.info("Beacon iterations Exp: "+I.numIterationsExp))}return i&&i.info("-------------------------"),i&&i.info("ZKey Ok!"),!0;async function c(A,I){const t=2*n.G1.F.n8,i=A.byteLength/t,g=n.tm.concurrency,C=Math.floor(i/g),Q=[];for(let t=0;t<g;t++){let e;if(e=t<g-1?C:i-t*C,0==e)continue;const n=A.slice(t*C*B,(t*C+e)*B),r=I.slice(t*C*B,(t*C+e)*B);Q.push(u(n,r))}const e=await Promise.all(Q),r=new Uint8Array(i*t);let E=0;for(let A=0;A<e.length;A++)r.set(e[A][0],E),E+=e[A][0].byteLength;return r}async function u(A,I){const t=2*n.G1.F.n8,i=3*n.G1.F.n8,g=A.byteLength/t,C=[];C.push({cmd:"ALLOCSET",var:0,buff:A}),C.push({cmd:"ALLOCSET",var:1,buff:I}),C.push({cmd:"ALLOC",var:2,len:g*i});for(let A=0;A<g;A++)C.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:A*t},{var:1,offset:A*t},{var:2,offset:A*i}]});C.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:g},{var:2}]}),C.push({cmd:"GET",out:0,var:2,len:g*t});return await n.tm.queueAction(C)}},contribute:async function(A,I,t,i,g){await OI.ready();const{fd:C,sections:Q}=await FI(A,"zkey",2),e=await et(C,Q,"groth16"),n=await JI(e.q),B=await Bt(C,n,Q),r=await MI(I,"zkey",1,10),E=await _I(i),h=OI(64);h.update(B.csHash);for(let A=0;A<B.contributions.length;A++)ot(h,n,B.contributions[A]);const o={delta:{}};o.delta.prvKey=n.Fr.fromRng(E),o.delta.g1_s=n.G1.toAffine(n.G1.fromRng(E)),o.delta.g1_sx=n.G1.toAffine(n.G1.timesFr(o.delta.g1_s,o.delta.prvKey)),ht(h,n,o.delta.g1_s),ht(h,n,o.delta.g1_sx),o.transcript=h.digest(),o.delta.g2_sp=qg(n,o.transcript),o.delta.g2_spx=n.G2.toAffine(n.G2.timesFr(o.delta.g2_sp,o.delta.prvKey)),e.vk_delta_1=n.G1.timesFr(e.vk_delta_1,o.delta.prvKey),e.vk_delta_2=n.G2.timesFr(e.vk_delta_2,o.delta.prvKey),o.deltaAfter=e.vk_delta_1,o.type=0,t&&(o.name=t),B.contributions.push(o),await tt(r,e),await kI(C,Q,r,3),await kI(C,Q,r,4),await kI(C,Q,r,5),await kI(C,Q,r,6),await kI(C,Q,r,7);const s=n.Fr.inv(o.delta.prvKey);await IC(C,Q,r,8,n,"G1",s,n.Fr.e(1),"L Section",g),await IC(C,Q,r,9,n,"G1",s,n.Fr.e(1),"H Section",g),await Et(r,n,B),await C.close(),await r.close();const a=OI(64);ot(a,n,o);const f=a.digest();return g&&g.info(VI(f,"Contribution Hash: ")),f},beacon:async function(A,I,t,i,g,C){await OI.ready();const Q=At(i);if(0==Q.byteLength||2*Q.byteLength!=i.length)return C&&C.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(Q.length>=256)return C&&C.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((g=parseInt(g))<10||g>63)return C&&C.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:e,sections:n}=await FI(A,"zkey",2),B=await et(e,n,"groth16"),r=await JI(B.q),E=await Bt(e,r,n),h=await MI(I,"zkey",1,10),o=await $I(Q,g),s=OI(64);s.update(E.csHash);for(let A=0;A<E.contributions.length;A++)ot(s,r,E.contributions[A]);const a={delta:{}};a.delta.prvKey=r.Fr.fromRng(o),a.delta.g1_s=r.G1.toAffine(r.G1.fromRng(o)),a.delta.g1_sx=r.G1.toAffine(r.G1.timesFr(a.delta.g1_s,a.delta.prvKey)),ht(s,r,a.delta.g1_s),ht(s,r,a.delta.g1_sx),a.transcript=s.digest(),a.delta.g2_sp=qg(r,a.transcript),a.delta.g2_spx=r.G2.toAffine(r.G2.timesFr(a.delta.g2_sp,a.delta.prvKey)),B.vk_delta_1=r.G1.timesFr(B.vk_delta_1,a.delta.prvKey),B.vk_delta_2=r.G2.timesFr(B.vk_delta_2,a.delta.prvKey),a.deltaAfter=B.vk_delta_1,a.type=1,a.numIterationsExp=g,a.beaconHash=Q,t&&(a.name=t),E.contributions.push(a),await tt(h,B),await kI(e,n,h,3),await kI(e,n,h,4),await kI(e,n,h,5),await kI(e,n,h,6),await kI(e,n,h,7);const f=r.Fr.inv(a.delta.prvKey);await IC(e,n,h,8,r,"G1",f,r.Fr.e(1),"L Section",C),await IC(e,n,h,9,r,"G1",f,r.Fr.e(1),"H Section",C),await Et(h,r,E),await e.close(),await h.close();const w=OI(64);ot(w,r,a);const D=w.digest();return C&&C.info(VI(D,"Contribution Hash: ")),D},exportJson:async function(A,I){return await async function(A){const{fd:I,sections:t}=await FI(A,"zkey",1),i=await et(I,t,"groth16"),g=new mA(i.r),C=BI.mod(BI.shl(1,8*i.n8r),i.r),Q=g.inv(C),e=g.mul(Q,Q);let n=JI(i.q);await GI(I,t,3),i.IC=[];for(let A=0;A<=i.nPublic;A++){const A=await Ct(I,n);i.IC.push(A)}await UI(I),await GI(I,t,4);const B=await I.readULE32();i.ccoefs=[];for(let A=0;A<B;A++){const A=await I.readULE32(),t=await I.readULE32(),g=await I.readULE32(),C=await r();i.ccoefs.push({matrix:A,constraint:t,signal:g,value:C})}await UI(I),await GI(I,t,5),i.A=[];for(let A=0;A<i.nVars;A++){const t=await Ct(I,n);i.A[A]=t}await UI(I),await GI(I,t,6),i.B1=[];for(let A=0;A<i.nVars;A++){const t=await Ct(I,n);i.B1[A]=t}await UI(I),await GI(I,t,7),i.B2=[];for(let A=0;A<i.nVars;A++){const t=await Qt(I,n);i.B2[A]=t}await UI(I),await GI(I,t,8),i.C=[];for(let A=i.nPublic+1;A<i.nVars;A++){const t=await Ct(I,n);i.C[A]=t}await UI(I),await GI(I,t,9),i.hExps=[];for(let A=0;A<i.domainSize;A++){const A=await Ct(I,n);i.hExps.push(A)}return await UI(I),await I.close(),i;async function r(){const A=await LI(I,i.n8r);return g.mul(A,e)}}(A)},bellmanContribute:async function(A,I,t,i,g){await OI.ready();const C=await _I(i),Q=A.Fr.fromRng(C),e=A.Fr.inv(Q),n=2*A.G1.F.n8,B=2*A.G2.F.n8,r=await lI(I),E=await pI(t);await G(n),await G(n),await G(B),await G(B);const h=await U(),o=A.G1.timesFr(h,Q);await L(o);const s=await H(),a=A.G2.timesFr(s,Q);await k(a);const f=await r.readUBE32();await E.writeUBE32(f),await G(f*n);const w=await r.readUBE32();await E.writeUBE32(w),await tC(r,E,null,A,"G1",w,e,A.Fr.e(1),"UNCOMPRESSED","H",g);const D=await r.readUBE32();await E.writeUBE32(D),await tC(r,E,null,A,"G1",D,e,A.Fr.e(1),"UNCOMPRESSED","L",g);const c=await r.readUBE32();await E.writeUBE32(c),await G(c*n);const u=await r.readUBE32();await E.writeUBE32(u),await G(u*n);const y=await r.readUBE32();await E.writeUBE32(y),await G(y*B);const p=OI(64),l={};l.csHash=await r.read(64),p.update(l.csHash);const F=await r.readUBE32();l.contributions=[];for(let I=0;I<F;I++){const I={delta:{}};I.deltaAfter=await U(),I.delta.g1_s=await U(),I.delta.g1_sx=await U(),I.delta.g2_spx=await H(),I.transcript=await r.read(64),l.contributions.push(I),ot(p,A,I)}const M={delta:{}};M.delta.prvKey=Q,M.delta.g1_s=A.G1.toAffine(A.G1.fromRng(C)),M.delta.g1_sx=A.G1.toAffine(A.G1.timesFr(M.delta.g1_s,Q)),ht(p,A,M.delta.g1_s),ht(p,A,M.delta.g1_sx),M.transcript=p.digest(),M.delta.g2_sp=qg(A,M.transcript),M.delta.g2_spx=A.G2.toAffine(A.G2.timesFr(M.delta.g2_sp,Q)),M.deltaAfter=o,M.type=0,l.contributions.push(M),await E.write(l.csHash),await E.writeUBE32(l.contributions.length);for(let A=0;A<l.contributions.length;A++){const I=l.contributions[A];await L(I.deltaAfter),await L(I.delta.g1_s),await L(I.delta.g1_sx),await k(I.delta.g2_spx),await E.write(I.transcript)}const m=OI(64);ot(m,A,M);const d=m.digest();return g&&g.info(VI(d,"Contribution Hash: ")),await E.close(),await r.close(),d;async function G(A){const I=2*r.pageSize;for(let t=0;t<A;t+=I){const i=Math.min(A-t,I),g=await r.read(i);await E.write(g)}}async function U(){const I=await r.read(2*A.G1.F.n8);return A.G1.fromRprUncompressed(I,0)}async function H(){const I=await r.read(2*A.G2.F.n8);return A.G2.fromRprUncompressed(I,0)}async function L(I){const t=new Uint8Array(n);A.G1.toRprUncompressed(t,0,I),await E.write(t)}async function k(I){const t=new Uint8Array(B);A.G2.toRprUncompressed(t,0,I),await E.write(t)}},exportVerificationKey:jQ,exportSolidityVerifier:async function(A,I,t){const i=await jQ(A),g=await lI(I),C=await g.read(g.totalSize);let Q=new TextDecoder("utf-8").decode(C);const e=i.vk_alpha_1[0].toString()+","+i.vk_alpha_1[1].toString();Q=Q.replace("<%vk_alpha1%>",e);const n=`[${i.vk_beta_2[0][1].toString()},`+i.vk_beta_2[0][0].toString()+"], "+`[${i.vk_beta_2[1][1].toString()},`+i.vk_beta_2[1][0].toString()+"]";Q=Q.replace("<%vk_beta2%>",n);const B=`[${i.vk_gamma_2[0][1].toString()},`+i.vk_gamma_2[0][0].toString()+"], "+`[${i.vk_gamma_2[1][1].toString()},`+i.vk_gamma_2[1][0].toString()+"]";Q=Q.replace("<%vk_gamma2%>",B);const r=`[${i.vk_delta_2[0][1].toString()},`+i.vk_delta_2[0][0].toString()+"], "+`[${i.vk_delta_2[1][1].toString()},`+i.vk_delta_2[1][0].toString()+"]";Q=Q.replace("<%vk_delta2%>",r),Q=Q.replace("<%vk_input_length%>",(i.IC.length-1).toString()),Q=Q.replace("<%vk_ic_length%>",i.IC.length.toString());let E="";for(let A=0;A<i.IC.length;A++)""!=E&&(E+=" "),E=E+`vk.IC[${A}] = Pairing.G1Point(${i.IC[A][0].toString()},`+i.IC[A][1].toString()+");\n";return Q=Q.replace("<%vk_ic_pts%>",E),Q}});return A.groth16=vg,A.powersOfTau=iC,A.r1cs=qQ,A.wtns=xQ,A.zKey=KQ,A}({});