diff --git a/CHANGELOG.md b/CHANGELOG.md index c2f481d82..ce96d42a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ Changelog This change log is managed by `scripts/cmds/update-versions` but may be manually updated. +ethers/v5.0.2 (2020-06-13 21:36) +-------------------------------- + + - Allow provider.ready to stall until the network is available. ([#882](https://github.com/ethers-io/ethers.js/issues/882); [bbb4f40](https://github.com/ethers-io/ethers.js/commit/bbb4f407b34782c36ff93fa528e3b9f793987d4a)) + - Reduce dependencies to squash security issues. ([738d349](https://github.com/ethers-io/ethers.js/commit/738d34969d7c2184242b92f78228ba6a8aed1f3a)) + - Updated admin scripts for publishing prod releases. ([e0e0dbe](https://github.com/ethers-io/ethers.js/commit/e0e0dbef1830572c465670b826a7aa2b403ad2e8)) + ethers/v5.0.1 (2020-06-12 23:09) -------------------------------- diff --git a/packages/ethers/dist/ethers-all.esm.min.js b/packages/ethers/dist/ethers-all.esm.min.js index 5f5d41d6c..c9b6a0e67 100644 --- a/packages/ethers/dist/ethers-all.esm.min.js +++ b/packages/ethers/dist/ethers-all.esm.min.js @@ -1,4 +1,4 @@ -var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e,t){return e(t={exports:{}},t.exports),t.exports}function o(e){return e&&e.default||e}var n=o(Object.freeze({default:{}})),i=r((function(t){!function(e,t){function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function o(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function i(e,t,r){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{a=n.Buffer}catch(e){}function s(e,t,r){for(var o=0,n=Math.min(e.length,r),i=t;i=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return o}function l(e,t,r,o){for(var n=0,i=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return n}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,o){if("number"==typeof e)return this._initNumber(e,t,o);if("object"==typeof e)return this._initArray(e,t,o);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this.strip(),"le"===o&&this._initArray(this.toArray(),t,o)},i.prototype._initNumber=function(e,t,o){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===o&&this._initArray(this.toArray(),t,o)},i.prototype._initArray=function(e,t,o){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)a=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===o)for(n=0,i=0;n>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)n=s(e,r,r+6),this.words[o]|=n<>>26-i&4194303,(i+=24)>=26&&(i-=26,o++);r+6!==t&&(n=s(e,t,r+6),this.words[o]|=n<>>26-i&4194303),this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var o=0,n=1;n<=67108863;n*=t)o++;o--,n=n/t|0;for(var i=e.length-r,a=i%o,s=Math.min(i,i-a)+r,u=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var o=e.length+t.length|0;r.length=o,o=o-1|0;var n=0|e.words[0],i=0|t.words[0],a=n*i,s=67108863&a,l=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,h=67108863&l,d=Math.min(u,t.length-1),f=Math.max(0,u-e.length+1);f<=d;f++){var p=u-f|0;c+=(a=(n=0|e.words[p])*(i=0|t.words[f])+h)/67108864|0,h=67108863&a}r.words[u]=0|h,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}i.prototype.toString=function(e,t){var o;if(t=0|t||1,16===(e=e||10)||"hex"===e){o="";for(var n=0,i=0,a=0;a>>24-n&16777215)||a!==this.length-1?u[6-l.length]+l+o:l+o,(n+=2)>=26&&(n-=26,a--)}for(0!==i&&(o=i.toString(16)+o);o.length%t!=0;)o="0"+o;return 0!==this.negative&&(o="-"+o),o}if(e===(0|e)&&e>=2&&e<=36){var d=c[e],f=h[e];o="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(f).toString(e);o=(p=p.idivn(f)).isZero()?m+o:u[d-m.length]+m+o}for(this.isZero()&&(o="0"+o);o.length%t!=0;)o="0"+o;return 0!==this.negative&&(o="-"+o),o}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return r(void 0!==a),this.toArrayLike(a,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,o){var n=this.byteLength(),i=o||Math.max(1,n);r(n<=i,"byte array longer than desired length"),r(i>0,"Requested array length <= 0"),this.strip();var a,s,l="le"===t,u=new e(i),c=this.clone();if(l){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),u[s]=a;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var o=0;oe.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),o=e%26;this._expand(t),o>0&&t--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-o),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var o=e/26|0,n=e%26;return this._expand(o+1),this.words[o]=t?this.words[o]|1<e.length?(r=this,o=e):(r=e,o=this);for(var n=0,i=0;i>>26;for(;0!==n&&i>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,o,n=this.cmp(e);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,o=e):(r=e,o=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,f=0|a[1],p=8191&f,m=f>>>13,g=0|a[2],v=8191&g,b=g>>>13,y=0|a[3],A=8191&y,T=y>>>13,S=0|a[4],w=8191&S,M=S>>>13,E=0|a[5],F=8191&E,C=E>>>13,k=0|a[6],B=8191&k,P=k>>>13,J=0|a[7],L=8191&J,R=J>>>13,N=0|a[8],D=8191&N,O=N>>>13,I=0|a[9],_=8191&I,X=I>>>13,H=0|s[0],x=8191&H,G=H>>>13,U=0|s[1],z=8191&U,V=U>>>13,Z=0|s[2],j=8191&Z,K=Z>>>13,Q=0|s[3],q=8191&Q,Y=Q>>>13,W=0|s[4],$=8191&W,ee=W>>>13,te=0|s[5],re=8191&te,oe=te>>>13,ne=0|s[6],ie=8191&ne,ae=ne>>>13,se=0|s[7],le=8191&se,ue=se>>>13,ce=0|s[8],he=8191&ce,de=ce>>>13,fe=0|s[9],pe=8191&fe,me=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(u+(o=Math.imul(h,x))|0)+((8191&(n=(n=Math.imul(h,G))+Math.imul(d,x)|0))<<13)|0;u=((i=Math.imul(d,G))+(n>>>13)|0)+(ge>>>26)|0,ge&=67108863,o=Math.imul(p,x),n=(n=Math.imul(p,G))+Math.imul(m,x)|0,i=Math.imul(m,G);var ve=(u+(o=o+Math.imul(h,z)|0)|0)+((8191&(n=(n=n+Math.imul(h,V)|0)+Math.imul(d,z)|0))<<13)|0;u=((i=i+Math.imul(d,V)|0)+(n>>>13)|0)+(ve>>>26)|0,ve&=67108863,o=Math.imul(v,x),n=(n=Math.imul(v,G))+Math.imul(b,x)|0,i=Math.imul(b,G),o=o+Math.imul(p,z)|0,n=(n=n+Math.imul(p,V)|0)+Math.imul(m,z)|0,i=i+Math.imul(m,V)|0;var be=(u+(o=o+Math.imul(h,j)|0)|0)+((8191&(n=(n=n+Math.imul(h,K)|0)+Math.imul(d,j)|0))<<13)|0;u=((i=i+Math.imul(d,K)|0)+(n>>>13)|0)+(be>>>26)|0,be&=67108863,o=Math.imul(A,x),n=(n=Math.imul(A,G))+Math.imul(T,x)|0,i=Math.imul(T,G),o=o+Math.imul(v,z)|0,n=(n=n+Math.imul(v,V)|0)+Math.imul(b,z)|0,i=i+Math.imul(b,V)|0,o=o+Math.imul(p,j)|0,n=(n=n+Math.imul(p,K)|0)+Math.imul(m,j)|0,i=i+Math.imul(m,K)|0;var ye=(u+(o=o+Math.imul(h,q)|0)|0)+((8191&(n=(n=n+Math.imul(h,Y)|0)+Math.imul(d,q)|0))<<13)|0;u=((i=i+Math.imul(d,Y)|0)+(n>>>13)|0)+(ye>>>26)|0,ye&=67108863,o=Math.imul(w,x),n=(n=Math.imul(w,G))+Math.imul(M,x)|0,i=Math.imul(M,G),o=o+Math.imul(A,z)|0,n=(n=n+Math.imul(A,V)|0)+Math.imul(T,z)|0,i=i+Math.imul(T,V)|0,o=o+Math.imul(v,j)|0,n=(n=n+Math.imul(v,K)|0)+Math.imul(b,j)|0,i=i+Math.imul(b,K)|0,o=o+Math.imul(p,q)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,q)|0,i=i+Math.imul(m,Y)|0;var Ae=(u+(o=o+Math.imul(h,$)|0)|0)+((8191&(n=(n=n+Math.imul(h,ee)|0)+Math.imul(d,$)|0))<<13)|0;u=((i=i+Math.imul(d,ee)|0)+(n>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,o=Math.imul(F,x),n=(n=Math.imul(F,G))+Math.imul(C,x)|0,i=Math.imul(C,G),o=o+Math.imul(w,z)|0,n=(n=n+Math.imul(w,V)|0)+Math.imul(M,z)|0,i=i+Math.imul(M,V)|0,o=o+Math.imul(A,j)|0,n=(n=n+Math.imul(A,K)|0)+Math.imul(T,j)|0,i=i+Math.imul(T,K)|0,o=o+Math.imul(v,q)|0,n=(n=n+Math.imul(v,Y)|0)+Math.imul(b,q)|0,i=i+Math.imul(b,Y)|0,o=o+Math.imul(p,$)|0,n=(n=n+Math.imul(p,ee)|0)+Math.imul(m,$)|0,i=i+Math.imul(m,ee)|0;var Te=(u+(o=o+Math.imul(h,re)|0)|0)+((8191&(n=(n=n+Math.imul(h,oe)|0)+Math.imul(d,re)|0))<<13)|0;u=((i=i+Math.imul(d,oe)|0)+(n>>>13)|0)+(Te>>>26)|0,Te&=67108863,o=Math.imul(B,x),n=(n=Math.imul(B,G))+Math.imul(P,x)|0,i=Math.imul(P,G),o=o+Math.imul(F,z)|0,n=(n=n+Math.imul(F,V)|0)+Math.imul(C,z)|0,i=i+Math.imul(C,V)|0,o=o+Math.imul(w,j)|0,n=(n=n+Math.imul(w,K)|0)+Math.imul(M,j)|0,i=i+Math.imul(M,K)|0,o=o+Math.imul(A,q)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(T,q)|0,i=i+Math.imul(T,Y)|0,o=o+Math.imul(v,$)|0,n=(n=n+Math.imul(v,ee)|0)+Math.imul(b,$)|0,i=i+Math.imul(b,ee)|0,o=o+Math.imul(p,re)|0,n=(n=n+Math.imul(p,oe)|0)+Math.imul(m,re)|0,i=i+Math.imul(m,oe)|0;var Se=(u+(o=o+Math.imul(h,ie)|0)|0)+((8191&(n=(n=n+Math.imul(h,ae)|0)+Math.imul(d,ie)|0))<<13)|0;u=((i=i+Math.imul(d,ae)|0)+(n>>>13)|0)+(Se>>>26)|0,Se&=67108863,o=Math.imul(L,x),n=(n=Math.imul(L,G))+Math.imul(R,x)|0,i=Math.imul(R,G),o=o+Math.imul(B,z)|0,n=(n=n+Math.imul(B,V)|0)+Math.imul(P,z)|0,i=i+Math.imul(P,V)|0,o=o+Math.imul(F,j)|0,n=(n=n+Math.imul(F,K)|0)+Math.imul(C,j)|0,i=i+Math.imul(C,K)|0,o=o+Math.imul(w,q)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,q)|0,i=i+Math.imul(M,Y)|0,o=o+Math.imul(A,$)|0,n=(n=n+Math.imul(A,ee)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,ee)|0,o=o+Math.imul(v,re)|0,n=(n=n+Math.imul(v,oe)|0)+Math.imul(b,re)|0,i=i+Math.imul(b,oe)|0,o=o+Math.imul(p,ie)|0,n=(n=n+Math.imul(p,ae)|0)+Math.imul(m,ie)|0,i=i+Math.imul(m,ae)|0;var we=(u+(o=o+Math.imul(h,le)|0)|0)+((8191&(n=(n=n+Math.imul(h,ue)|0)+Math.imul(d,le)|0))<<13)|0;u=((i=i+Math.imul(d,ue)|0)+(n>>>13)|0)+(we>>>26)|0,we&=67108863,o=Math.imul(D,x),n=(n=Math.imul(D,G))+Math.imul(O,x)|0,i=Math.imul(O,G),o=o+Math.imul(L,z)|0,n=(n=n+Math.imul(L,V)|0)+Math.imul(R,z)|0,i=i+Math.imul(R,V)|0,o=o+Math.imul(B,j)|0,n=(n=n+Math.imul(B,K)|0)+Math.imul(P,j)|0,i=i+Math.imul(P,K)|0,o=o+Math.imul(F,q)|0,n=(n=n+Math.imul(F,Y)|0)+Math.imul(C,q)|0,i=i+Math.imul(C,Y)|0,o=o+Math.imul(w,$)|0,n=(n=n+Math.imul(w,ee)|0)+Math.imul(M,$)|0,i=i+Math.imul(M,ee)|0,o=o+Math.imul(A,re)|0,n=(n=n+Math.imul(A,oe)|0)+Math.imul(T,re)|0,i=i+Math.imul(T,oe)|0,o=o+Math.imul(v,ie)|0,n=(n=n+Math.imul(v,ae)|0)+Math.imul(b,ie)|0,i=i+Math.imul(b,ae)|0,o=o+Math.imul(p,le)|0,n=(n=n+Math.imul(p,ue)|0)+Math.imul(m,le)|0,i=i+Math.imul(m,ue)|0;var Me=(u+(o=o+Math.imul(h,he)|0)|0)+((8191&(n=(n=n+Math.imul(h,de)|0)+Math.imul(d,he)|0))<<13)|0;u=((i=i+Math.imul(d,de)|0)+(n>>>13)|0)+(Me>>>26)|0,Me&=67108863,o=Math.imul(_,x),n=(n=Math.imul(_,G))+Math.imul(X,x)|0,i=Math.imul(X,G),o=o+Math.imul(D,z)|0,n=(n=n+Math.imul(D,V)|0)+Math.imul(O,z)|0,i=i+Math.imul(O,V)|0,o=o+Math.imul(L,j)|0,n=(n=n+Math.imul(L,K)|0)+Math.imul(R,j)|0,i=i+Math.imul(R,K)|0,o=o+Math.imul(B,q)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(P,q)|0,i=i+Math.imul(P,Y)|0,o=o+Math.imul(F,$)|0,n=(n=n+Math.imul(F,ee)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,ee)|0,o=o+Math.imul(w,re)|0,n=(n=n+Math.imul(w,oe)|0)+Math.imul(M,re)|0,i=i+Math.imul(M,oe)|0,o=o+Math.imul(A,ie)|0,n=(n=n+Math.imul(A,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,o=o+Math.imul(v,le)|0,n=(n=n+Math.imul(v,ue)|0)+Math.imul(b,le)|0,i=i+Math.imul(b,ue)|0,o=o+Math.imul(p,he)|0,n=(n=n+Math.imul(p,de)|0)+Math.imul(m,he)|0,i=i+Math.imul(m,de)|0;var Ee=(u+(o=o+Math.imul(h,pe)|0)|0)+((8191&(n=(n=n+Math.imul(h,me)|0)+Math.imul(d,pe)|0))<<13)|0;u=((i=i+Math.imul(d,me)|0)+(n>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,o=Math.imul(_,z),n=(n=Math.imul(_,V))+Math.imul(X,z)|0,i=Math.imul(X,V),o=o+Math.imul(D,j)|0,n=(n=n+Math.imul(D,K)|0)+Math.imul(O,j)|0,i=i+Math.imul(O,K)|0,o=o+Math.imul(L,q)|0,n=(n=n+Math.imul(L,Y)|0)+Math.imul(R,q)|0,i=i+Math.imul(R,Y)|0,o=o+Math.imul(B,$)|0,n=(n=n+Math.imul(B,ee)|0)+Math.imul(P,$)|0,i=i+Math.imul(P,ee)|0,o=o+Math.imul(F,re)|0,n=(n=n+Math.imul(F,oe)|0)+Math.imul(C,re)|0,i=i+Math.imul(C,oe)|0,o=o+Math.imul(w,ie)|0,n=(n=n+Math.imul(w,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,o=o+Math.imul(A,le)|0,n=(n=n+Math.imul(A,ue)|0)+Math.imul(T,le)|0,i=i+Math.imul(T,ue)|0,o=o+Math.imul(v,he)|0,n=(n=n+Math.imul(v,de)|0)+Math.imul(b,he)|0,i=i+Math.imul(b,de)|0;var Fe=(u+(o=o+Math.imul(p,pe)|0)|0)+((8191&(n=(n=n+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;u=((i=i+Math.imul(m,me)|0)+(n>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,o=Math.imul(_,j),n=(n=Math.imul(_,K))+Math.imul(X,j)|0,i=Math.imul(X,K),o=o+Math.imul(D,q)|0,n=(n=n+Math.imul(D,Y)|0)+Math.imul(O,q)|0,i=i+Math.imul(O,Y)|0,o=o+Math.imul(L,$)|0,n=(n=n+Math.imul(L,ee)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,ee)|0,o=o+Math.imul(B,re)|0,n=(n=n+Math.imul(B,oe)|0)+Math.imul(P,re)|0,i=i+Math.imul(P,oe)|0,o=o+Math.imul(F,ie)|0,n=(n=n+Math.imul(F,ae)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,ae)|0,o=o+Math.imul(w,le)|0,n=(n=n+Math.imul(w,ue)|0)+Math.imul(M,le)|0,i=i+Math.imul(M,ue)|0,o=o+Math.imul(A,he)|0,n=(n=n+Math.imul(A,de)|0)+Math.imul(T,he)|0,i=i+Math.imul(T,de)|0;var Ce=(u+(o=o+Math.imul(v,pe)|0)|0)+((8191&(n=(n=n+Math.imul(v,me)|0)+Math.imul(b,pe)|0))<<13)|0;u=((i=i+Math.imul(b,me)|0)+(n>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,o=Math.imul(_,q),n=(n=Math.imul(_,Y))+Math.imul(X,q)|0,i=Math.imul(X,Y),o=o+Math.imul(D,$)|0,n=(n=n+Math.imul(D,ee)|0)+Math.imul(O,$)|0,i=i+Math.imul(O,ee)|0,o=o+Math.imul(L,re)|0,n=(n=n+Math.imul(L,oe)|0)+Math.imul(R,re)|0,i=i+Math.imul(R,oe)|0,o=o+Math.imul(B,ie)|0,n=(n=n+Math.imul(B,ae)|0)+Math.imul(P,ie)|0,i=i+Math.imul(P,ae)|0,o=o+Math.imul(F,le)|0,n=(n=n+Math.imul(F,ue)|0)+Math.imul(C,le)|0,i=i+Math.imul(C,ue)|0,o=o+Math.imul(w,he)|0,n=(n=n+Math.imul(w,de)|0)+Math.imul(M,he)|0,i=i+Math.imul(M,de)|0;var ke=(u+(o=o+Math.imul(A,pe)|0)|0)+((8191&(n=(n=n+Math.imul(A,me)|0)+Math.imul(T,pe)|0))<<13)|0;u=((i=i+Math.imul(T,me)|0)+(n>>>13)|0)+(ke>>>26)|0,ke&=67108863,o=Math.imul(_,$),n=(n=Math.imul(_,ee))+Math.imul(X,$)|0,i=Math.imul(X,ee),o=o+Math.imul(D,re)|0,n=(n=n+Math.imul(D,oe)|0)+Math.imul(O,re)|0,i=i+Math.imul(O,oe)|0,o=o+Math.imul(L,ie)|0,n=(n=n+Math.imul(L,ae)|0)+Math.imul(R,ie)|0,i=i+Math.imul(R,ae)|0,o=o+Math.imul(B,le)|0,n=(n=n+Math.imul(B,ue)|0)+Math.imul(P,le)|0,i=i+Math.imul(P,ue)|0,o=o+Math.imul(F,he)|0,n=(n=n+Math.imul(F,de)|0)+Math.imul(C,he)|0,i=i+Math.imul(C,de)|0;var Be=(u+(o=o+Math.imul(w,pe)|0)|0)+((8191&(n=(n=n+Math.imul(w,me)|0)+Math.imul(M,pe)|0))<<13)|0;u=((i=i+Math.imul(M,me)|0)+(n>>>13)|0)+(Be>>>26)|0,Be&=67108863,o=Math.imul(_,re),n=(n=Math.imul(_,oe))+Math.imul(X,re)|0,i=Math.imul(X,oe),o=o+Math.imul(D,ie)|0,n=(n=n+Math.imul(D,ae)|0)+Math.imul(O,ie)|0,i=i+Math.imul(O,ae)|0,o=o+Math.imul(L,le)|0,n=(n=n+Math.imul(L,ue)|0)+Math.imul(R,le)|0,i=i+Math.imul(R,ue)|0,o=o+Math.imul(B,he)|0,n=(n=n+Math.imul(B,de)|0)+Math.imul(P,he)|0,i=i+Math.imul(P,de)|0;var Pe=(u+(o=o+Math.imul(F,pe)|0)|0)+((8191&(n=(n=n+Math.imul(F,me)|0)+Math.imul(C,pe)|0))<<13)|0;u=((i=i+Math.imul(C,me)|0)+(n>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,o=Math.imul(_,ie),n=(n=Math.imul(_,ae))+Math.imul(X,ie)|0,i=Math.imul(X,ae),o=o+Math.imul(D,le)|0,n=(n=n+Math.imul(D,ue)|0)+Math.imul(O,le)|0,i=i+Math.imul(O,ue)|0,o=o+Math.imul(L,he)|0,n=(n=n+Math.imul(L,de)|0)+Math.imul(R,he)|0,i=i+Math.imul(R,de)|0;var Je=(u+(o=o+Math.imul(B,pe)|0)|0)+((8191&(n=(n=n+Math.imul(B,me)|0)+Math.imul(P,pe)|0))<<13)|0;u=((i=i+Math.imul(P,me)|0)+(n>>>13)|0)+(Je>>>26)|0,Je&=67108863,o=Math.imul(_,le),n=(n=Math.imul(_,ue))+Math.imul(X,le)|0,i=Math.imul(X,ue),o=o+Math.imul(D,he)|0,n=(n=n+Math.imul(D,de)|0)+Math.imul(O,he)|0,i=i+Math.imul(O,de)|0;var Le=(u+(o=o+Math.imul(L,pe)|0)|0)+((8191&(n=(n=n+Math.imul(L,me)|0)+Math.imul(R,pe)|0))<<13)|0;u=((i=i+Math.imul(R,me)|0)+(n>>>13)|0)+(Le>>>26)|0,Le&=67108863,o=Math.imul(_,he),n=(n=Math.imul(_,de))+Math.imul(X,he)|0,i=Math.imul(X,de);var Re=(u+(o=o+Math.imul(D,pe)|0)|0)+((8191&(n=(n=n+Math.imul(D,me)|0)+Math.imul(O,pe)|0))<<13)|0;u=((i=i+Math.imul(O,me)|0)+(n>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ne=(u+(o=Math.imul(_,pe))|0)+((8191&(n=(n=Math.imul(_,me))+Math.imul(X,pe)|0))<<13)|0;return u=((i=Math.imul(X,me))+(n>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,l[0]=ge,l[1]=ve,l[2]=be,l[3]=ye,l[4]=Ae,l[5]=Te,l[6]=Se,l[7]=we,l[8]=Me,l[9]=Ee,l[10]=Fe,l[11]=Ce,l[12]=ke,l[13]=Be,l[14]=Pe,l[15]=Je,l[16]=Le,l[17]=Re,l[18]=Ne,0!==u&&(l[19]=u,r.length++),r};function p(e,t,r){return(new m).mulp(e,t,r)}function m(e,t){this.x=e,this.y=t}Math.imul||(f=d),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):r<63?d(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var o=0,n=0,i=0;i>>26)|0)>>>26,a&=67108863}r.words[i]=s,o=a,a=n}return 0!==o?r.words[i]=o:r.length--,r.strip()}(this,e,t):p(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),r=i.prototype._countBits(e)-1,o=0;o>=1;return o},m.prototype.permute=function(e,t,r,o,n,i){for(var a=0;a>>=1)n++;return 1<>>=13,o[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=n/67108864|0,t+=i>>>26,this.words[o]=67108863&i}return 0!==t&&(this.words[o]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>n}return t}(e);if(0===t.length)return new i(1);for(var r=this,o=0;o=0);var t,o=e%26,n=(e-o)/26,i=67108863>>>26-o<<26-o;if(0!==o){var a=0;for(t=0;t>>26-o}a&&(this.words[t]=a,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t=0),n=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,u=0;u=0&&(0!==c||u>=n);u--){var h=0|this.words[u];this.words[u]=c<<26-i|h>>>i,c=h&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,o){return r(0===this.negative),this.iushrn(e,t,o)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,o=(e-t)/26,n=1<=0);var t=e%26,o=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=o)return this;if(0!==t&&o++,this.length=Math.min(o,this.length),0!==t){var n=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(l/67108864|0),this.words[n+o]=67108863&i}for(;n>26,this.words[n+o]=67108863&i;if(0===s)return this.strip();for(r(-1===s),s=0,n=0;n>26,this.words[n]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r=(this.length,e.length),o=this.clone(),n=e,a=0|n.words[n.length-1];0!==(r=26-this._countBits(a))&&(n=n.ushln(r),o.iushln(r),a=0|n.words[n.length-1]);var s,l=o.length-n.length;if("mod"!==t){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;h--){var d=67108864*(0|o.words[n.length+h])+(0|o.words[n.length+h-1]);for(d=Math.min(d/a|0,67108863),o._ishlnsubmul(n,d,h);0!==o.negative;)d--,o.negative=0,o._ishlnsubmul(n,1,h),o.isZero()||(o.negative^=1);s&&(s.words[h]=d)}return s&&s.strip(),o.strip(),"div"!==t&&0!==r&&o.iushrn(r),{div:s||null,mod:o}},i.prototype.divmod=function(e,t,o){return r(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(n=s.div.neg()),"div"!==t&&(a=s.mod.neg(),o&&0!==a.negative&&a.iadd(e)),{div:n,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(n=s.div.neg()),{div:n,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),o&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var n,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,o=e.ushrn(1),n=e.andln(1),i=r.cmp(o);return i<0||1===n&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,o=0,n=this.length-1;n>=0;n--)o=(t*o+(0|this.words[n]))%e;return o},i.prototype.idivn=function(e){r(e<=67108863);for(var t=0,o=this.length-1;o>=0;o--){var n=(0|this.words[o])+67108864*t;this.words[o]=n/e|0,t=n%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,o=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new i(1),a=new i(0),s=new i(0),l=new i(1),u=0;t.isEven()&&o.isEven();)t.iushrn(1),o.iushrn(1),++u;for(var c=o.clone(),h=t.clone();!t.isZero();){for(var d=0,f=1;0==(t.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(n.isOdd()||a.isOdd())&&(n.iadd(c),a.isub(h)),n.iushrn(1),a.iushrn(1);for(var p=0,m=1;0==(o.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(o.iushrn(p);p-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(h)),s.iushrn(1),l.iushrn(1);t.cmp(o)>=0?(t.isub(o),n.isub(s),a.isub(l)):(o.isub(t),s.isub(n),l.isub(a))}return{a:s,b:l,gcd:o.iushln(u)}},i.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,o=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,a=new i(1),s=new i(0),l=o.clone();t.cmpn(1)>0&&o.cmpn(1)>0;){for(var u=0,c=1;0==(t.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(t.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);for(var h=0,d=1;0==(o.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(o.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);t.cmp(o)>=0?(t.isub(o),a.isub(s)):(o.isub(t),s.isub(a))}return(n=0===t.cmpn(1)?a:s).cmpn(0)<0&&n.iadd(e),n},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var o=0;t.isEven()&&r.isEven();o++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=t.cmp(r);if(n<0){var i=t;t=r,r=i}else if(0===n||0===r.cmpn(1))break;t.isub(r)}return r.iushln(o)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,o=(e-t)/26,n=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,o=e<0;if(0!==this.negative&&!o)return-1;if(0===this.negative&&o)return 1;if(this.strip(),this.length>1)t=1;else{o&&(e=-e),r(e<=67108863,"Number is too big");var n=0|this.words[0];t=n===e?0:ne.length)return 1;if(this.length=0;r--){var o=0|this.words[r],n=0|e.words[r];if(o!==n){on&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new S(e)},i.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function T(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function w(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var o=t0?r.isub(this.p):r.strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},o(b,v),b.prototype.split=function(e,t){for(var r=Math.min(e.length,9),o=0;o>>22,n=i}n>>>=22,e.words[o-10]=n,0===n&&e.length>10?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=n,t=o}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new y;else if("p192"===e)t=new A;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new T}return g[e]=t,t},S.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},S.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var o=this.m.add(new i(1)).iushrn(2);return this.pow(e,o)}for(var n=this.m.subn(1),a=0;!n.isZero()&&0===n.andln(1);)a++,n.iushrn(1);r(!n.isZero());var s=new i(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var h=this.pow(c,n),d=this.pow(e,n.addn(1).iushrn(1)),f=this.pow(e,n),p=a;0!==f.cmp(s);){for(var m=f,g=0;0!==m.cmp(s);g++)m=m.redSqr();r(g=0;o--){for(var u=t.words[o],c=l-1;c>=0;c--){var h=u>>c&1;n!==r[0]&&(n=this.sqr(n)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===o&&0===c)&&(n=this.mul(n,r[a]),s=0,a=0)):s=0}l=26}return n},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new w(e)},o(w,S),w.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},w.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},w.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),o=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(o).iushrn(this.shift),i=n;return n.cmp(this.m)>=0?i=n.isub(this.m):n.cmpn(0)<0&&(i=n.iadd(this.m)),i._forceRed(this)},w.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),o=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(o).iushrn(this.shift),a=n;return n.cmp(this.m)>=0?a=n.isub(this.m):n.cmpn(0)<0&&(a=n.iadd(this.m)),a._forceRed(this)},w.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,e)})),a=i.BN;let s=!1,l=!1;const u={debug:1,default:2,info:2,warning:3,error:4,off:5};let c=u.default,h=null;const d=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}}),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var f,p;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(f||(f={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(p||(p={}));class m{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const r=e.toLowerCase();null==u[r]&&this.throwArgumentError("invalid log level name","logLevel",e),c>u[r]||console.log.apply(console,t)}debug(...e){this._log(m.levels.DEBUG,e)}info(...e){this._log(m.levels.INFO,e)}warn(...e){this._log(m.levels.WARNING,e)}makeError(e,t,r){if(l)return this.makeError("censored error",t,{});t||(t=m.errors.UNKNOWN_ERROR),r||(r={});const o=[];Object.keys(r).forEach(e=>{try{o.push(e+"="+JSON.stringify(r[e]))}catch(t){o.push(e+"="+JSON.stringify(r[e].toString()))}}),o.push("code="+t),o.push("version="+this.version);const n=e;o.length&&(e+=" ("+o.join(", ")+")");const i=new Error(e);return i.reason=n,i.code=t,Object.keys(r).forEach((function(e){i[e]=r[e]})),i}throwError(e,t,r){throw this.makeError(e,t,r)}throwArgumentError(e,t,r){return this.throwError(e,m.errors.INVALID_ARGUMENT,{argument:t,value:r})}checkNormalize(e){null==e&&(e="platform missing String.prototype.normalize"),d&&this.throwError("platform missing String.prototype.normalize",m.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:d})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,r){r=r?": "+r:"",et&&this.throwError("too many arguments"+r,m.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError("missing new",m.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",m.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",m.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return h||(h=new m("logger/5.0.1")),h}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),s){if(!e)return;this.globalLogger().throwError("error censorship permanent",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}l=!!e,s=!!t}static setLogLevel(e){const t=u[e];null!=t?c=t:m.globalLogger().warn("invalid log level - "+e)}}m.errors=p,m.levels=f;var g=Object.freeze({get LogLevel(){return f},get ErrorCode(){return p},Logger:m});const v=new m("bytes/5.0.1");function b(e){return!!e.toHexString}function y(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return y(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function A(e){return F(e)&&!(e.length%2)||T(e)}function T(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(let t=0;t=256||r%1)return!1}return!0}function S(e,t){if(t||(t={}),"number"==typeof e){v.checkSafeUint53(e,"invalid arrayify value");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),y(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),b(e)&&(e=e.toHexString()),F(e)){let r=e.substring(2);r.length%2&&("left"===t.hexPad?r="0x0"+r.substring(2):"right"===t.hexPad?r+="0":v.throwArgumentError("hex data is odd-length","value",e));const o=[];for(let e=0;eS(e)),r=t.reduce((e,t)=>e+t.length,0),o=new Uint8Array(r);return t.reduce((e,t)=>(o.set(t,e),e+t.length),0),y(o)}function M(e){let t=S(e);if(0===t.length)return t;let r=0;for(;rt&&v.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(t);return r.set(e,t-e.length),y(r)}function F(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}function C(e,t){if(t||(t={}),"number"==typeof e){v.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t="0123456789abcdef"[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),b(e))return e.toHexString();if(F(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":v.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(T(e)){let t="0x";for(let r=0;r>4]+"0123456789abcdef"[15&o]}return t}return v.throwArgumentError("invalid hexlify value","value",e)}function k(e){if("string"!=typeof e)e=C(e);else if(!F(e)||e.length%2)return null;return(e.length-2)/2}function B(e,t,r){return"string"!=typeof e?e=C(e):(!F(e)||e.length%2)&&v.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)}function P(e){const t=J(C(e,{hexPad:"left"}));return"0x"===t?"0x0":t}function J(e){"string"!=typeof e&&(e=C(e)),F(e)||v.throwArgumentError("invalid hex string","value",e),e=e.substring(2);let t=0;for(;t2*t+2&&v.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function R(e){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(A(e)){const r=S(e);65!==r.length&&v.throwArgumentError("invalid signature string; must be 65 bytes","signature",e),t.r=C(r.slice(0,32)),t.s=C(r.slice(32,64)),t.v=r[64],t.recoveryParam=1-t.v%2,t.v<27&&(0===t.v||1===t.v?t.v+=27:v.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam&&(r[32]|=128),t._vs=C(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){const r=E(S(t._vs),32);t._vs=C(r);const o=r[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=o:t.recoveryParam!==o&&v.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),r[0]&=127;const n=C(r);null==t.s?t.s=n:t.s!==n&&v.throwArgumentError("signature v mismatch _vs","signature",e)}null==t.recoveryParam?null==t.v?v.throwArgumentError("signature missing v and recoveryParam","signature",e):t.recoveryParam=1-t.v%2:null==t.v?t.v=27+t.recoveryParam:t.recoveryParam!==1-t.v%2&&v.throwArgumentError("signature recoveryParam mismatch v","signature",e),null!=t.r&&F(t.r)?t.r=L(t.r,32):v.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&F(t.s)?t.s=L(t.s,32):v.throwArgumentError("signature missing or invalid s","signature",e);const r=S(t.s);r[0]>=128&&v.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(r[0]|=128);const o=C(r);t._vs&&(F(t._vs)||v.throwArgumentError("signature invalid _vs","signature",e),t._vs=L(t._vs,32)),null==t._vs?t._vs=o:t._vs!==o&&v.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t}function N(e){return C(w([(e=R(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}var D=Object.freeze({isBytesLike:A,isBytes:T,arrayify:S,concat:w,stripZeros:M,zeroPad:E,isHexString:F,hexlify:C,hexDataLength:k,hexDataSlice:B,hexConcat:function(e){let t="0x";return e.forEach(e=>{t+=C(e).substring(2)}),t},hexValue:P,hexStripZeros:J,hexZeroPad:L,splitSignature:R,joinSignature:N});const O=new m("bignumber/5.0.1"),I={};class _{constructor(e,t){O.checkNew(new.target,_),e!==I&&O.throwError("cannot call constructor directly; use BigNumber.from",m.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return H(x(this).fromTwos(e))}toTwos(e){return H(x(this).toTwos(e))}abs(){return"-"===this._hex[0]?_.from(this._hex.substring(1)):this}add(e){return H(x(this).add(x(e)))}sub(e){return H(x(this).sub(x(e)))}div(e){return _.from(e).isZero()&&G("division by zero","div"),H(x(this).div(x(e)))}mul(e){return H(x(this).mul(x(e)))}mod(e){const t=x(e);return t.isNeg()&&G("cannot modulo negative values","mod"),H(x(this).umod(t))}pow(e){return H(x(this).pow(x(e)))}and(e){const t=x(e);return(this.isNegative()||t.isNeg())&&G("cannot 'and' negative values","and"),H(x(this).and(t))}or(e){const t=x(e);return(this.isNegative()||t.isNeg())&&G("cannot 'or' negative values","or"),H(x(this).or(t))}xor(e){const t=x(e);return(this.isNegative()||t.isNeg())&&G("cannot 'xor' negative values","xor"),H(x(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&G("cannot mask negative values","mask"),H(x(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&G("cannot shift negative values","shl"),H(x(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&G("cannot shift negative values","shr"),H(x(this).shrn(e))}eq(e){return x(this).eq(x(e))}lt(e){return x(this).lt(x(e))}lte(e){return x(this).lte(x(e))}gt(e){return x(this).gt(x(e))}gte(e){return x(this).gte(x(e))}isNegative(){return"-"===this._hex[0]}isZero(){return x(this).isZero()}toNumber(){try{return x(this).toNumber()}catch(e){G("overflow","toNumber",this.toString())}return null}toString(){return 0!==arguments.length&&O.throwError("bigNumber.toString does not accept parameters",m.errors.UNEXPECTED_ARGUMENT,{}),x(this).toString(10)}toHexString(){return this._hex}static from(e){return e instanceof _?e:"string"==typeof e?e.match(/-?0x[0-9a-f]+/i)?new _(I,X(e)):e.match(/^-?[0-9]+$/)?new _(I,X(new a(e))):O.throwArgumentError("invalid BigNumber string","value",e):"number"==typeof e?(e%1&&G("underflow","BigNumber.from",e),(e>=9007199254740991||e<=-9007199254740991)&&G("overflow","BigNumber.from",e),_.from(String(e))):"bigint"==typeof e?_.from(e.toString()):T(e)?_.from(C(e)):e._hex&&F(e._hex)?_.from(e._hex):e.toHexString&&"string"==typeof(e=e.toHexString())?_.from(e):O.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function X(e){if("string"!=typeof e)return X(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&O.throwArgumentError("invalid hex","value",e),"0x00"===(e=X(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function H(e){return _.from(X(e))}function x(e){const t=_.from(e).toHexString();return"-"===t[0]?new a("-"+t.substring(3),16):new a(t.substring(2),16)}function G(e,t,r){const o={fault:e,operation:t};return null!=r&&(o.value=r),O.throwError(e,m.errors.NUMERIC_FAULT,o)}const U=new m("bignumber/5.0.1"),z={},V=_.from(0),Z=_.from(-1);function j(e,t,r,o){const n={fault:t,operation:r};return void 0!==o&&(n.value=o),U.throwError(e,m.errors.NUMERIC_FAULT,n)}let K="0";for(;K.length<256;)K+=K;function Q(e){if("number"!=typeof e)try{e=_.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+K.substring(0,e):U.throwArgumentError("invalid decimal size","decimals",e)}function q(e,t){null==t&&(t=0);const r=Q(t),o=(e=_.from(e)).lt(V);o&&(e=e.mul(Z));let n=e.mod(r).toString();for(;n.length2&&U.throwArgumentError("too many decimal points","value",e);let i=n[0],a=n[1];for(i||(i="0"),a||(a="0"),a.length>r.length-1&&j("fractional component exceeds decimals","underflow","parseFixed");a.lengthnull==e[t]?o:(typeof e[t]!==r&&U.throwArgumentError("invalid fixed format ("+t+" not "+r+")","format."+t,e[t]),e[t]);t=n("signed","boolean",t),r=n("width","number",r),o=n("decimals","number",o)}return r%8&&U.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),o>80&&U.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",o),new W(z,t,r,o)}}class ${constructor(e,t,r,o){U.checkNew(new.target,$),this.format=o,this._hex=t,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&U.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=Y(this._value,this.format.decimals),r=Y(e._value,e.format.decimals);return $.fromValue(t.add(r),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=Y(this._value,this.format.decimals),r=Y(e._value,e.format.decimals);return $.fromValue(t.sub(r),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=Y(this._value,this.format.decimals),r=Y(e._value,e.format.decimals);return $.fromValue(t.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=Y(this._value,this.format.decimals),r=Y(e._value,e.format.decimals);return $.fromValue(t.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}round(e){null==e&&(e=0),(e<0||e>80||e%1)&&U.throwArgumentError("invalid decimal count","decimals",e);let t=this.toString().split(".");if(t[1].length<=e)return this;const r="0."+K.substring(0,e)+"5";return t=this.addUnsafe($.fromString(r,this.format))._value.split("."),$.fromString(t[0]+"."+t[1].substring(0,e))}toString(){return this._value}toHexString(e){if(null==e)return this._hex;return e%8&&U.throwArgumentError("invalid byte width","width",e),L(_.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString(),e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return $.fromString(this._value,e)}static fromValue(e,t,r){return null!=r||null==t||function(e){return null!=e&&(_.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||F(e)||"bigint"==typeof e||T(e))}(t)||(r=t,t=null),null==t&&(t=0),null==r&&(r="fixed"),$.fromString(q(e,t),W.from(r))}static fromString(e,t){null==t&&(t="fixed");const r=W.from(t),o=Y(e,r.decimals);!r.signed&&o.lt(V)&&j("unsigned value cannot be negative","overflow","value",e);let n=null;r.signed?n=o.toTwos(r.width).toHexString():(n=o.toHexString(),n=L(n,r.width/8));const i=q(o,r.decimals);return new $(z,n,i,r)}static fromBytes(e,t){null==t&&(t="fixed");const r=W.from(t);if(S(e).length>r.width/8)throw new Error("overflow");let o=_.from(e);r.signed&&(o=o.fromTwos(r.width));const n=o.toTwos((r.signed?0:1)+r.width).toHexString(),i=q(o,r.decimals);return new $(z,n,i,r)}static from(e,t){if("string"==typeof e)return $.fromString(e,t);if(T(e))return $.fromBytes(e,t);try{return $.fromValue(e,0,t)}catch(e){if(e.code!==m.errors.INVALID_ARGUMENT)throw e}return U.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!(!e||!e._isFixedNumber)}}var ee=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const te=new m("properties/5.0.1");function re(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function oe(e,t){for(let r=0;r<32;r++){if(e[t])return e[t];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function ne(e){return ee(this,void 0,void 0,(function*(){const t=Object.keys(e).map(t=>{const r=e[t];return Promise.resolve(r).then(e=>({key:t,value:e}))});return(yield Promise.all(t)).reduce((e,t)=>(e[t.key]=t.value,e),{})}))}function ie(e,t){e&&"object"==typeof e||te.throwArgumentError("invalid object","object",e),Object.keys(e).forEach(r=>{t[r]||te.throwArgumentError("invalid object key - "+r,"transaction:"+r,e)})}function ae(e){const t={};for(const r in e)t[r]=e[r];return t}const se={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function le(e){if(function e(t){if(null==t||se[typeof t])return!0;if(Array.isArray(t)||"object"==typeof t){if(!Object.isFrozen(t))return!1;const r=Object.keys(t);for(let o=0;oue(e)));if("object"==typeof e){const t={};for(const r in e){const o=e[r];void 0!==o&&re(t,r,ue(o))}return t}return te.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function ue(e){return le(e)}class ce{constructor(e){for(const t in e)this[t]=ue(e[t])}}const he=new m("abi/5.0.1"),de={};let fe={calldata:!0,memory:!0,storage:!0},pe={calldata:!0,memory:!0};function me(e,t){if("bytes"===e||"string"===e){if(fe[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&pe[t])return!0;return(fe[t]||"payable"===t)&&he.throwArgumentError("invalid modifier","name",t),!1}function ge(e,t){for(let r in t)re(e,r,t[r])}const ve=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),be=new RegExp(/^(.*)\[([0-9]*)\]$/);class ye{constructor(e,t){e!==de&&he.throwError("use fromString",m.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),ge(this,t);let r=this.type.match(be);ge(this,r?{arrayLength:parseInt(r[2]||"-1"),arrayChildren:ye.fromObject({type:r[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=ve.sighash),ve[e]||he.throwArgumentError("invalid format type","format",e),e===ve.json){let t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map(t=>JSON.parse(t.format(e)))),JSON.stringify(t)}let t="";return"array"===this.baseType?(t+=this.arrayChildren.format(e),t+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==ve.sighash&&(t+=this.type),t+="("+this.components.map(t=>t.format(e)).join(e===ve.full?", ":",")+")"):t+=this.type,e!==ve.sighash&&(!0===this.indexed&&(t+=" indexed"),e===ve.full&&this.name&&(t+=" "+this.name)),t}static from(e,t){return"string"==typeof e?ye.fromString(e,t):ye.fromObject(e)}static fromObject(e){return ye.isParamType(e)?e:new ye(de,{name:e.name||null,type:ke(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(ye.fromObject):null})}static fromString(e,t){return function(e){return ye.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(e,t){let r=e;function o(t){he.throwArgumentError("unexpected character at position "+t,"param",e)}function n(e){let r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");let i={type:"",name:"",state:{allowType:!0}},a=i;for(let r=0;rye.fromString(e,t))}class Te{constructor(e,t){e!==de&&he.throwError("use a static from method",m.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),ge(this,t),this._isFragment=!0,Object.freeze(this)}static from(e){return Te.isFragment(e)?e:"string"==typeof e?Te.fromString(e):Te.fromObject(e)}static fromObject(e){if(Te.isFragment(e))return e;switch(e.type){case"function":return Ce.fromObject(e);case"event":return Se.fromObject(e);case"constructor":return Fe.fromObject(e);case"fallback":case"receive":return null}return he.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Se.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?Ce.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?Fe.fromString(e.trim()):he.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!(!e||!e._isFragment)}}class Se extends Te{format(e){if(e||(e=ve.sighash),ve[e]||he.throwArgumentError("invalid format type","format",e),e===ve.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==ve.sighash&&(t+="event "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===ve.full?", ":",")+") ",e!==ve.sighash&&this.anonymous&&(t+="anonymous "),t.trim()}static from(e){return"string"==typeof e?Se.fromString(e):Se.fromObject(e)}static fromObject(e){if(Se.isEventFragment(e))return e;"event"!==e.type&&he.throwArgumentError("invalid event object","value",e);const t={name:Pe(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(ye.fromObject):[],type:"event"};return new Se(de,t)}static fromString(e){let t=e.match(Je);t||he.throwArgumentError("invalid event string","value",e);let r=!1;return t[3].split(" ").forEach(e=>{switch(e.trim()){case"anonymous":r=!0;break;case"":break;default:he.warn("unknown modifier: "+e)}}),Se.fromObject({name:t[1].trim(),anonymous:r,inputs:Ae(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function we(e,t){t.gas=null;let r=e.split("@");return 1!==r.length?(r.length>2&&he.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||he.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=_.from(r[1]),r[0]):e}function Me(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach(e=>{switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}})}function Ee(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&he.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&he.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||he.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&he.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&he.throwArgumentError("unable to determine stateMutability","value",e),t}class Fe extends Te{format(e){if(e||(e=ve.sighash),ve[e]||he.throwArgumentError("invalid format type","format",e),e===ve.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});e===ve.sighash&&he.throwError("cannot format a constructor for sighash",m.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let t="constructor("+this.inputs.map(t=>t.format(e)).join(e===ve.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}static from(e){return"string"==typeof e?Fe.fromString(e):Fe.fromObject(e)}static fromObject(e){if(Fe.isConstructorFragment(e))return e;"constructor"!==e.type&&he.throwArgumentError("invalid constructor object","value",e);let t=Ee(e);t.constant&&he.throwArgumentError("constructor cannot be constant","value",e);const r={name:null,type:e.type,inputs:e.inputs?e.inputs.map(ye.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?_.from(e.gas):null};return new Fe(de,r)}static fromString(e){let t={type:"constructor"},r=(e=we(e,t)).match(Je);return r&&"constructor"===r[1].trim()||he.throwArgumentError("invalid constructor string","value",e),t.inputs=Ae(r[2].trim(),!1),Me(r[3].trim(),t),Fe.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class Ce extends Fe{format(e){if(e||(e=ve.sighash),ve[e]||he.throwArgumentError("invalid format type","format",e),e===ve.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e))),ouputs:this.outputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==ve.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===ve.full?", ":",")+") ",e!==ve.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map(t=>t.format(e)).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}static from(e){return"string"==typeof e?Ce.fromString(e):Ce.fromObject(e)}static fromObject(e){if(Ce.isFunctionFragment(e))return e;"function"!==e.type&&he.throwArgumentError("invalid function object","value",e);let t=Ee(e);const r={type:e.type,name:Pe(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(ye.fromObject):[],outputs:e.outputs?e.outputs.map(ye.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?_.from(e.gas):null};return new Ce(de,r)}static fromString(e){let t={type:"function"},r=(e=we(e,t)).split(" returns ");r.length>2&&he.throwArgumentError("invalid function string","value",e);let o=r[0].match(Je);if(o||he.throwArgumentError("invalid function signature","value",e),t.name=o[1].trim(),t.name&&Pe(t.name),t.inputs=Ae(o[2],!1),Me(o[3].trim(),t),r.length>1){let o=r[1].match(Je);""==o[1].trim()&&""==o[3].trim()||he.throwArgumentError("unexpected tokens","value",e),t.outputs=Ae(o[2],!1)}else t.outputs=[];return Ce.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function ke(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}const Be=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function Pe(e){return e&&e.match(Be)||he.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const Je=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const Le=new m("abi/5.0.1");function Re(e){const t=[],r=function(e,o){if(Array.isArray(o))for(let n in o){const i=e.slice();i.push(n);try{r(i,o[n])}catch(e){t.push({path:i,error:e})}}};return r([],e),t}class Ne{constructor(e,t,r,o){this.name=e,this.type=t,this.localName=r,this.dynamic=o}_throwError(e,t){Le.throwArgumentError(e,this.localName,t)}}class De{constructor(e){re(this,"wordSize",e||32),this._data=S([]),this._padding=new Uint8Array(e)}get data(){return C(this._data)}get length(){return this._data.length}_writeData(e){return this._data=w([this._data,e]),e.length}writeBytes(e){let t=S(e);return t.length%this.wordSize&&(t=w([t,this._padding.slice(t.length%this.wordSize)])),this._writeData(t)}_getValue(e){let t=S(_.from(e));return t.length>this.wordSize&&Le.throwError("value out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=w([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){let e=this.length;return this.writeValue(0),t=>{this._data.set(this._getValue(t),e)}}}class Oe{constructor(e,t,r){re(this,"_data",S(e)),re(this,"wordSize",t||32),re(this,"_coerceFunc",r),this._offset=0}get data(){return C(this._data)}get consumed(){return this._offset}static coerce(e,t){let r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):Oe.coerce(e,t)}_peekBytes(e,t){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&Le.throwError("data out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r}),this._data.slice(this._offset,this._offset+r)}subReader(e){return new Oe(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc)}readBytes(e){let t=this._peekBytes(0,e);return this._offset+=t.length,t.slice(0,e)}readValue(){return _.from(this.readBytes(this.wordSize))}}var Ie=r((function(t){ +var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e,t){return e(t={exports:{}},t.exports),t.exports}function n(e){return e&&e.default||e}var i=n(Object.freeze({default:{}})),o=r((function(t){!function(e,t){function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function o(e,t,r){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var a;"object"==typeof e?e.exports=o:t.BN=o,o.BN=o,o.wordSize=26;try{a=i.Buffer}catch(e){}function s(e,t,r){for(var n=0,i=Math.min(e.length,r),o=t;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function l(e,t,r,n){for(var i=0,o=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)a=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)i=s(e,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==t&&(i=s(e,t,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,l=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&l,d=Math.min(u,t.length-1),f=Math.max(0,u-e.length+1);f<=d;f++){var m=u-f|0;h+=(a=(i=0|e.words[m])*(o=0|t.words[f])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,l=0|h}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?u[6-l.length]+l+n:l+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var d=h[e],f=c[e];n="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modn(f).toString(e);n=(m=m.idivn(f)).isZero()?p+n:u[d-p.length]+p+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==a),this.toArrayLike(a,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var a,s,l="le"===t,u=new e(o),h=this.clone();if(l){for(s=0;!h.isZero();s++)a=h.andln(255),h.iushrn(8),u[s]=a;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==o&&a>26,this.words[a]=67108863&t;if(0===o&&a>>13,f=0|a[1],m=8191&f,p=f>>>13,g=0|a[2],v=8191&g,b=g>>>13,y=0|a[3],M=8191&y,A=y>>>13,w=0|a[4],S=8191&w,T=w>>>13,E=0|a[5],F=8191&E,k=E>>>13,C=0|a[6],B=8191&C,P=C>>>13,L=0|a[7],J=8191&L,R=L>>>13,N=0|a[8],D=8191&N,O=N>>>13,_=0|a[9],I=8191&_,X=_>>>13,x=0|s[0],H=8191&x,G=x>>>13,U=0|s[1],z=8191&U,V=U>>>13,Z=0|s[2],j=8191&Z,K=Z>>>13,Q=0|s[3],q=8191&Q,Y=Q>>>13,W=0|s[4],$=8191&W,ee=W>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],le=8191&se,ue=se>>>13,he=0|s[8],ce=8191&he,de=he>>>13,fe=0|s[9],me=8191&fe,pe=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(u+(n=Math.imul(c,H))|0)+((8191&(i=(i=Math.imul(c,G))+Math.imul(d,H)|0))<<13)|0;u=((o=Math.imul(d,G))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(m,H),i=(i=Math.imul(m,G))+Math.imul(p,H)|0,o=Math.imul(p,G);var ve=(u+(n=n+Math.imul(c,z)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,z)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(v,H),i=(i=Math.imul(v,G))+Math.imul(b,H)|0,o=Math.imul(b,G),n=n+Math.imul(m,z)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,V)|0;var be=(u+(n=n+Math.imul(c,j)|0)|0)+((8191&(i=(i=i+Math.imul(c,K)|0)+Math.imul(d,j)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(M,H),i=(i=Math.imul(M,G))+Math.imul(A,H)|0,o=Math.imul(A,G),n=n+Math.imul(v,z)|0,i=(i=i+Math.imul(v,V)|0)+Math.imul(b,z)|0,o=o+Math.imul(b,V)|0,n=n+Math.imul(m,j)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(p,j)|0,o=o+Math.imul(p,K)|0;var ye=(u+(n=n+Math.imul(c,q)|0)|0)+((8191&(i=(i=i+Math.imul(c,Y)|0)+Math.imul(d,q)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(S,H),i=(i=Math.imul(S,G))+Math.imul(T,H)|0,o=Math.imul(T,G),n=n+Math.imul(M,z)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(A,z)|0,o=o+Math.imul(A,V)|0,n=n+Math.imul(v,j)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(b,j)|0,o=o+Math.imul(b,K)|0,n=n+Math.imul(m,q)|0,i=(i=i+Math.imul(m,Y)|0)+Math.imul(p,q)|0,o=o+Math.imul(p,Y)|0;var Me=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,ee)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(k,H)|0,o=Math.imul(k,G),n=n+Math.imul(S,z)|0,i=(i=i+Math.imul(S,V)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,V)|0,n=n+Math.imul(M,j)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,j)|0,o=o+Math.imul(A,K)|0,n=n+Math.imul(v,q)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(b,q)|0,o=o+Math.imul(b,Y)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(p,$)|0,o=o+Math.imul(p,ee)|0;var Ae=(u+(n=n+Math.imul(c,re)|0)|0)+((8191&(i=(i=i+Math.imul(c,ne)|0)+Math.imul(d,re)|0))<<13)|0;u=((o=o+Math.imul(d,ne)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(P,H)|0,o=Math.imul(P,G),n=n+Math.imul(F,z)|0,i=(i=i+Math.imul(F,V)|0)+Math.imul(k,z)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(S,j)|0,i=(i=i+Math.imul(S,K)|0)+Math.imul(T,j)|0,o=o+Math.imul(T,K)|0,n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,Y)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,ee)|0,n=n+Math.imul(m,re)|0,i=(i=i+Math.imul(m,ne)|0)+Math.imul(p,re)|0,o=o+Math.imul(p,ne)|0;var we=(u+(n=n+Math.imul(c,oe)|0)|0)+((8191&(i=(i=i+Math.imul(c,ae)|0)+Math.imul(d,oe)|0))<<13)|0;u=((o=o+Math.imul(d,ae)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(J,H),i=(i=Math.imul(J,G))+Math.imul(R,H)|0,o=Math.imul(R,G),n=n+Math.imul(B,z)|0,i=(i=i+Math.imul(B,V)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,V)|0,n=n+Math.imul(F,j)|0,i=(i=i+Math.imul(F,K)|0)+Math.imul(k,j)|0,o=o+Math.imul(k,K)|0,n=n+Math.imul(S,q)|0,i=(i=i+Math.imul(S,Y)|0)+Math.imul(T,q)|0,o=o+Math.imul(T,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,ee)|0,n=n+Math.imul(v,re)|0,i=(i=i+Math.imul(v,ne)|0)+Math.imul(b,re)|0,o=o+Math.imul(b,ne)|0,n=n+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,ae)|0)+Math.imul(p,oe)|0,o=o+Math.imul(p,ae)|0;var Se=(u+(n=n+Math.imul(c,le)|0)|0)+((8191&(i=(i=i+Math.imul(c,ue)|0)+Math.imul(d,le)|0))<<13)|0;u=((o=o+Math.imul(d,ue)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,G))+Math.imul(O,H)|0,o=Math.imul(O,G),n=n+Math.imul(J,z)|0,i=(i=i+Math.imul(J,V)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,V)|0,n=n+Math.imul(B,j)|0,i=(i=i+Math.imul(B,K)|0)+Math.imul(P,j)|0,o=o+Math.imul(P,K)|0,n=n+Math.imul(F,q)|0,i=(i=i+Math.imul(F,Y)|0)+Math.imul(k,q)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(S,$)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,ee)|0,n=n+Math.imul(M,re)|0,i=(i=i+Math.imul(M,ne)|0)+Math.imul(A,re)|0,o=o+Math.imul(A,ne)|0,n=n+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,ae)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,ae)|0,n=n+Math.imul(m,le)|0,i=(i=i+Math.imul(m,ue)|0)+Math.imul(p,le)|0,o=o+Math.imul(p,ue)|0;var Te=(u+(n=n+Math.imul(c,ce)|0)|0)+((8191&(i=(i=i+Math.imul(c,de)|0)+Math.imul(d,ce)|0))<<13)|0;u=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(I,H),i=(i=Math.imul(I,G))+Math.imul(X,H)|0,o=Math.imul(X,G),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,V)|0)+Math.imul(O,z)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(J,j)|0,i=(i=i+Math.imul(J,K)|0)+Math.imul(R,j)|0,o=o+Math.imul(R,K)|0,n=n+Math.imul(B,q)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(P,q)|0,o=o+Math.imul(P,Y)|0,n=n+Math.imul(F,$)|0,i=(i=i+Math.imul(F,ee)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(T,re)|0,o=o+Math.imul(T,ne)|0,n=n+Math.imul(M,oe)|0,i=(i=i+Math.imul(M,ae)|0)+Math.imul(A,oe)|0,o=o+Math.imul(A,ae)|0,n=n+Math.imul(v,le)|0,i=(i=i+Math.imul(v,ue)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,ue)|0,n=n+Math.imul(m,ce)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(p,ce)|0,o=o+Math.imul(p,de)|0;var Ee=(u+(n=n+Math.imul(c,me)|0)|0)+((8191&(i=(i=i+Math.imul(c,pe)|0)+Math.imul(d,me)|0))<<13)|0;u=((o=o+Math.imul(d,pe)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,V))+Math.imul(X,z)|0,o=Math.imul(X,V),n=n+Math.imul(D,j)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(O,j)|0,o=o+Math.imul(O,K)|0,n=n+Math.imul(J,q)|0,i=(i=i+Math.imul(J,Y)|0)+Math.imul(R,q)|0,o=o+Math.imul(R,Y)|0,n=n+Math.imul(B,$)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,ee)|0,n=n+Math.imul(F,re)|0,i=(i=i+Math.imul(F,ne)|0)+Math.imul(k,re)|0,o=o+Math.imul(k,ne)|0,n=n+Math.imul(S,oe)|0,i=(i=i+Math.imul(S,ae)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,ae)|0,n=n+Math.imul(M,le)|0,i=(i=i+Math.imul(M,ue)|0)+Math.imul(A,le)|0,o=o+Math.imul(A,ue)|0,n=n+Math.imul(v,ce)|0,i=(i=i+Math.imul(v,de)|0)+Math.imul(b,ce)|0,o=o+Math.imul(b,de)|0;var Fe=(u+(n=n+Math.imul(m,me)|0)|0)+((8191&(i=(i=i+Math.imul(m,pe)|0)+Math.imul(p,me)|0))<<13)|0;u=((o=o+Math.imul(p,pe)|0)+(i>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(I,j),i=(i=Math.imul(I,K))+Math.imul(X,j)|0,o=Math.imul(X,K),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,Y)|0)+Math.imul(O,q)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(J,$)|0,i=(i=i+Math.imul(J,ee)|0)+Math.imul(R,$)|0,o=o+Math.imul(R,ee)|0,n=n+Math.imul(B,re)|0,i=(i=i+Math.imul(B,ne)|0)+Math.imul(P,re)|0,o=o+Math.imul(P,ne)|0,n=n+Math.imul(F,oe)|0,i=(i=i+Math.imul(F,ae)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,ae)|0,n=n+Math.imul(S,le)|0,i=(i=i+Math.imul(S,ue)|0)+Math.imul(T,le)|0,o=o+Math.imul(T,ue)|0,n=n+Math.imul(M,ce)|0,i=(i=i+Math.imul(M,de)|0)+Math.imul(A,ce)|0,o=o+Math.imul(A,de)|0;var ke=(u+(n=n+Math.imul(v,me)|0)|0)+((8191&(i=(i=i+Math.imul(v,pe)|0)+Math.imul(b,me)|0))<<13)|0;u=((o=o+Math.imul(b,pe)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,Y))+Math.imul(X,q)|0,o=Math.imul(X,Y),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,ee)|0,n=n+Math.imul(J,re)|0,i=(i=i+Math.imul(J,ne)|0)+Math.imul(R,re)|0,o=o+Math.imul(R,ne)|0,n=n+Math.imul(B,oe)|0,i=(i=i+Math.imul(B,ae)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,ae)|0,n=n+Math.imul(F,le)|0,i=(i=i+Math.imul(F,ue)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,ue)|0,n=n+Math.imul(S,ce)|0,i=(i=i+Math.imul(S,de)|0)+Math.imul(T,ce)|0,o=o+Math.imul(T,de)|0;var Ce=(u+(n=n+Math.imul(M,me)|0)|0)+((8191&(i=(i=i+Math.imul(M,pe)|0)+Math.imul(A,me)|0))<<13)|0;u=((o=o+Math.imul(A,pe)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(I,$),i=(i=Math.imul(I,ee))+Math.imul(X,$)|0,o=Math.imul(X,ee),n=n+Math.imul(D,re)|0,i=(i=i+Math.imul(D,ne)|0)+Math.imul(O,re)|0,o=o+Math.imul(O,ne)|0,n=n+Math.imul(J,oe)|0,i=(i=i+Math.imul(J,ae)|0)+Math.imul(R,oe)|0,o=o+Math.imul(R,ae)|0,n=n+Math.imul(B,le)|0,i=(i=i+Math.imul(B,ue)|0)+Math.imul(P,le)|0,o=o+Math.imul(P,ue)|0,n=n+Math.imul(F,ce)|0,i=(i=i+Math.imul(F,de)|0)+Math.imul(k,ce)|0,o=o+Math.imul(k,de)|0;var Be=(u+(n=n+Math.imul(S,me)|0)|0)+((8191&(i=(i=i+Math.imul(S,pe)|0)+Math.imul(T,me)|0))<<13)|0;u=((o=o+Math.imul(T,pe)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(I,re),i=(i=Math.imul(I,ne))+Math.imul(X,re)|0,o=Math.imul(X,ne),n=n+Math.imul(D,oe)|0,i=(i=i+Math.imul(D,ae)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,ae)|0,n=n+Math.imul(J,le)|0,i=(i=i+Math.imul(J,ue)|0)+Math.imul(R,le)|0,o=o+Math.imul(R,ue)|0,n=n+Math.imul(B,ce)|0,i=(i=i+Math.imul(B,de)|0)+Math.imul(P,ce)|0,o=o+Math.imul(P,de)|0;var Pe=(u+(n=n+Math.imul(F,me)|0)|0)+((8191&(i=(i=i+Math.imul(F,pe)|0)+Math.imul(k,me)|0))<<13)|0;u=((o=o+Math.imul(k,pe)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(I,oe),i=(i=Math.imul(I,ae))+Math.imul(X,oe)|0,o=Math.imul(X,ae),n=n+Math.imul(D,le)|0,i=(i=i+Math.imul(D,ue)|0)+Math.imul(O,le)|0,o=o+Math.imul(O,ue)|0,n=n+Math.imul(J,ce)|0,i=(i=i+Math.imul(J,de)|0)+Math.imul(R,ce)|0,o=o+Math.imul(R,de)|0;var Le=(u+(n=n+Math.imul(B,me)|0)|0)+((8191&(i=(i=i+Math.imul(B,pe)|0)+Math.imul(P,me)|0))<<13)|0;u=((o=o+Math.imul(P,pe)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(I,le),i=(i=Math.imul(I,ue))+Math.imul(X,le)|0,o=Math.imul(X,ue),n=n+Math.imul(D,ce)|0,i=(i=i+Math.imul(D,de)|0)+Math.imul(O,ce)|0,o=o+Math.imul(O,de)|0;var Je=(u+(n=n+Math.imul(J,me)|0)|0)+((8191&(i=(i=i+Math.imul(J,pe)|0)+Math.imul(R,me)|0))<<13)|0;u=((o=o+Math.imul(R,pe)|0)+(i>>>13)|0)+(Je>>>26)|0,Je&=67108863,n=Math.imul(I,ce),i=(i=Math.imul(I,de))+Math.imul(X,ce)|0,o=Math.imul(X,de);var Re=(u+(n=n+Math.imul(D,me)|0)|0)+((8191&(i=(i=i+Math.imul(D,pe)|0)+Math.imul(O,me)|0))<<13)|0;u=((o=o+Math.imul(O,pe)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ne=(u+(n=Math.imul(I,me))|0)+((8191&(i=(i=Math.imul(I,pe))+Math.imul(X,me)|0))<<13)|0;return u=((o=Math.imul(X,pe))+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,l[0]=ge,l[1]=ve,l[2]=be,l[3]=ye,l[4]=Me,l[5]=Ae,l[6]=we,l[7]=Se,l[8]=Te,l[9]=Ee,l[10]=Fe,l[11]=ke,l[12]=Ce,l[13]=Be,l[14]=Pe,l[15]=Le,l[16]=Je,l[17]=Re,l[18]=Ne,0!==u&&(l[19]=u,r.length++),r};function m(e,t,r){return(new p).mulp(e,t,r)}function p(e,t){this.x=e,this.y=t}Math.imul||(f=d),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):r<63?d(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,e,t):m(this,e,t)},p.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},p.prototype.permute=function(e,t,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*t;a>=26,t+=i/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(l/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==t){(s=new o(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[i.length+c])+(0|n.words[i.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(i,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),a=new o(0),s=new o(0),l=new o(1),u=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=t.clone();!t.isZero();){for(var d=0,f=1;0==(t.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(h),a.isub(c)),i.iushrn(1),a.iushrn(1);for(var m=0,p=1;0==(n.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(n.iushrn(m);m-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(h),l.isub(c)),s.iushrn(1),l.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(s),a.isub(l)):(n.isub(t),s.isub(i),l.isub(a))}return{a:s,b:l,gcd:n.iushln(u)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,a=new o(1),s=new o(0),l=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(t.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(t.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(i=0===t.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new w(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){w.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},n(b,v),b.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=o}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new y;else if("p192"===e)t=new M;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new A}return g[e]=t,t},w.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},w.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},w.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},w.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},w.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},w.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},w.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},w.prototype.isqr=function(e){return this.imul(e,e.clone())},w.prototype.sqr=function(e){return this.mul(e,e)},w.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);r(!i.isZero());var s=new o(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(l);)h.redIAdd(l);for(var c=this.pow(h,i),d=this.pow(e,i.addn(1).iushrn(1)),f=this.pow(e,i),m=a;0!==f.cmp(s);){for(var p=f,g=0;0!==p.cmp(s);g++)p=p.redSqr();r(g=0;n--){for(var u=t.words[n],h=l-1;h>=0;h--){var c=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}l=26}return i},w.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},w.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new S(e)},n(S,w),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,e)})).BN;let a=!1,s=!1;const l={debug:1,default:2,info:2,warning:3,error:4,off:5};let u=l.default,h=null;const c=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}}),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var d,f;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(d||(d={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(f||(f={}));class m{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const r=e.toLowerCase();null==l[r]&&this.throwArgumentError("invalid log level name","logLevel",e),u>l[r]||console.log.apply(console,t)}debug(...e){this._log(m.levels.DEBUG,e)}info(...e){this._log(m.levels.INFO,e)}warn(...e){this._log(m.levels.WARNING,e)}makeError(e,t,r){if(s)return this.makeError("censored error",t,{});t||(t=m.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach(e=>{try{n.push(e+"="+JSON.stringify(r[e]))}catch(t){n.push(e+"="+JSON.stringify(r[e].toString()))}}),n.push("code="+t),n.push("version="+this.version);const i=e;n.length&&(e+=" ("+n.join(", ")+")");const o=new Error(e);return o.reason=i,o.code=t,Object.keys(r).forEach((function(e){o[e]=r[e]})),o}throwError(e,t,r){throw this.makeError(e,t,r)}throwArgumentError(e,t,r){return this.throwError(e,m.errors.INVALID_ARGUMENT,{argument:t,value:r})}checkNormalize(e){null==e&&(e="platform missing String.prototype.normalize"),c&&this.throwError("platform missing String.prototype.normalize",m.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:c})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,r){r=r?": "+r:"",et&&this.throwError("too many arguments"+r,m.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError("missing new",m.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",m.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",m.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return h||(h=new m("logger/5.0.2")),h}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),a){if(!e)return;this.globalLogger().throwError("error censorship permanent",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}s=!!e,a=!!t}static setLogLevel(e){const t=l[e];null!=t?u=t:m.globalLogger().warn("invalid log level - "+e)}}m.errors=f,m.levels=d;var p=Object.freeze({get LogLevel(){return d},get ErrorCode(){return f},Logger:m});const g=new m("bytes/5.0.1");function v(e){return!!e.toHexString}function b(e){return e.slice||(e.slice=function(){const t=Array.prototype.slice.call(arguments);return b(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function y(e){return E(e)&&!(e.length%2)||M(e)}function M(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(let t=0;t=256||r%1)return!1}return!0}function A(e,t){if(t||(t={}),"number"==typeof e){g.checkSafeUint53(e,"invalid arrayify value");const t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),b(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),v(e)&&(e=e.toHexString()),E(e)){let r=e.substring(2);r.length%2&&("left"===t.hexPad?r="0x0"+r.substring(2):"right"===t.hexPad?r+="0":g.throwArgumentError("hex data is odd-length","value",e));const n=[];for(let e=0;eA(e)),r=t.reduce((e,t)=>e+t.length,0),n=new Uint8Array(r);return t.reduce((e,t)=>(n.set(t,e),e+t.length),0),b(n)}function S(e){let t=A(e);if(0===t.length)return t;let r=0;for(;rt&&g.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(t);return r.set(e,t-e.length),b(r)}function E(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}function F(e,t){if(t||(t={}),"number"==typeof e){g.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t="0123456789abcdef"[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),v(e))return e.toHexString();if(E(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":g.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(M(e)){let t="0x";for(let r=0;r>4]+"0123456789abcdef"[15&n]}return t}return g.throwArgumentError("invalid hexlify value","value",e)}function k(e){if("string"!=typeof e)e=F(e);else if(!E(e)||e.length%2)return null;return(e.length-2)/2}function C(e,t,r){return"string"!=typeof e?e=F(e):(!E(e)||e.length%2)&&g.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)}function B(e){const t=P(F(e,{hexPad:"left"}));return"0x"===t?"0x0":t}function P(e){"string"!=typeof e&&(e=F(e)),E(e)||g.throwArgumentError("invalid hex string","value",e),e=e.substring(2);let t=0;for(;t2*t+2&&g.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function J(e){const t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(y(e)){const r=A(e);65!==r.length&&g.throwArgumentError("invalid signature string; must be 65 bytes","signature",e),t.r=F(r.slice(0,32)),t.s=F(r.slice(32,64)),t.v=r[64],t.recoveryParam=1-t.v%2,t.v<27&&(0===t.v||1===t.v?t.v+=27:g.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam&&(r[32]|=128),t._vs=F(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){const r=T(A(t._vs),32);t._vs=F(r);const n=r[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=n:t.recoveryParam!==n&&g.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),r[0]&=127;const i=F(r);null==t.s?t.s=i:t.s!==i&&g.throwArgumentError("signature v mismatch _vs","signature",e)}null==t.recoveryParam?null==t.v?g.throwArgumentError("signature missing v and recoveryParam","signature",e):t.recoveryParam=1-t.v%2:null==t.v?t.v=27+t.recoveryParam:t.recoveryParam!==1-t.v%2&&g.throwArgumentError("signature recoveryParam mismatch v","signature",e),null!=t.r&&E(t.r)?t.r=L(t.r,32):g.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&E(t.s)?t.s=L(t.s,32):g.throwArgumentError("signature missing or invalid s","signature",e);const r=A(t.s);r[0]>=128&&g.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(r[0]|=128);const n=F(r);t._vs&&(E(t._vs)||g.throwArgumentError("signature invalid _vs","signature",e),t._vs=L(t._vs,32)),null==t._vs?t._vs=n:t._vs!==n&&g.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t}function R(e){return F(w([(e=J(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}var N=Object.freeze({isBytesLike:y,isBytes:M,arrayify:A,concat:w,stripZeros:S,zeroPad:T,isHexString:E,hexlify:F,hexDataLength:k,hexDataSlice:C,hexConcat:function(e){let t="0x";return e.forEach(e=>{t+=F(e).substring(2)}),t},hexValue:B,hexStripZeros:P,hexZeroPad:L,splitSignature:J,joinSignature:R});const D=new m("bignumber/5.0.1"),O={};class _{constructor(e,t){D.checkNew(new.target,_),e!==O&&D.throwError("cannot call constructor directly; use BigNumber.from",m.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return X(x(this).fromTwos(e))}toTwos(e){return X(x(this).toTwos(e))}abs(){return"-"===this._hex[0]?_.from(this._hex.substring(1)):this}add(e){return X(x(this).add(x(e)))}sub(e){return X(x(this).sub(x(e)))}div(e){return _.from(e).isZero()&&H("division by zero","div"),X(x(this).div(x(e)))}mul(e){return X(x(this).mul(x(e)))}mod(e){const t=x(e);return t.isNeg()&&H("cannot modulo negative values","mod"),X(x(this).umod(t))}pow(e){return X(x(this).pow(x(e)))}and(e){const t=x(e);return(this.isNegative()||t.isNeg())&&H("cannot 'and' negative values","and"),X(x(this).and(t))}or(e){const t=x(e);return(this.isNegative()||t.isNeg())&&H("cannot 'or' negative values","or"),X(x(this).or(t))}xor(e){const t=x(e);return(this.isNegative()||t.isNeg())&&H("cannot 'xor' negative values","xor"),X(x(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&H("cannot mask negative values","mask"),X(x(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&H("cannot shift negative values","shl"),X(x(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&H("cannot shift negative values","shr"),X(x(this).shrn(e))}eq(e){return x(this).eq(x(e))}lt(e){return x(this).lt(x(e))}lte(e){return x(this).lte(x(e))}gt(e){return x(this).gt(x(e))}gte(e){return x(this).gte(x(e))}isNegative(){return"-"===this._hex[0]}isZero(){return x(this).isZero()}toNumber(){try{return x(this).toNumber()}catch(e){H("overflow","toNumber",this.toString())}return null}toString(){return 0!==arguments.length&&D.throwError("bigNumber.toString does not accept parameters",m.errors.UNEXPECTED_ARGUMENT,{}),x(this).toString(10)}toHexString(){return this._hex}static from(e){return e instanceof _?e:"string"==typeof e?e.match(/-?0x[0-9a-f]+/i)?new _(O,I(e)):e.match(/^-?[0-9]+$/)?new _(O,I(new o(e))):D.throwArgumentError("invalid BigNumber string","value",e):"number"==typeof e?(e%1&&H("underflow","BigNumber.from",e),(e>=9007199254740991||e<=-9007199254740991)&&H("overflow","BigNumber.from",e),_.from(String(e))):"bigint"==typeof e?_.from(e.toString()):M(e)?_.from(F(e)):e._hex&&E(e._hex)?_.from(e._hex):e.toHexString&&"string"==typeof(e=e.toHexString())?_.from(e):D.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!(!e||!e._isBigNumber)}}function I(e){if("string"!=typeof e)return I(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&D.throwArgumentError("invalid hex","value",e),"0x00"===(e=I(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function X(e){return _.from(I(e))}function x(e){const t=_.from(e).toHexString();return"-"===t[0]?new o("-"+t.substring(3),16):new o(t.substring(2),16)}function H(e,t,r){const n={fault:e,operation:t};return null!=r&&(n.value=r),D.throwError(e,m.errors.NUMERIC_FAULT,n)}const G=new m("bignumber/5.0.1"),U={},z=_.from(0),V=_.from(-1);function Z(e,t,r,n){const i={fault:t,operation:r};return void 0!==n&&(i.value=n),G.throwError(e,m.errors.NUMERIC_FAULT,i)}let j="0";for(;j.length<256;)j+=j;function K(e){if("number"!=typeof e)try{e=_.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+j.substring(0,e):G.throwArgumentError("invalid decimal size","decimals",e)}function Q(e,t){null==t&&(t=0);const r=K(t),n=(e=_.from(e)).lt(z);n&&(e=e.mul(V));let i=e.mod(r).toString();for(;i.length2&&G.throwArgumentError("too many decimal points","value",e);let o=i[0],a=i[1];for(o||(o="0"),a||(a="0"),a.length>r.length-1&&Z("fractional component exceeds decimals","underflow","parseFixed");a.lengthnull==e[t]?n:(typeof e[t]!==r&&G.throwArgumentError("invalid fixed format ("+t+" not "+r+")","format."+t,e[t]),e[t]);t=i("signed","boolean",t),r=i("width","number",r),n=i("decimals","number",n)}return r%8&&G.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),n>80&&G.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new Y(U,t,r,n)}}class W{constructor(e,t,r,n){G.checkNew(new.target,W),this.format=n,this._hex=t,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&G.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const t=q(this._value,this.format.decimals),r=q(e._value,e.format.decimals);return W.fromValue(t.add(r),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const t=q(this._value,this.format.decimals),r=q(e._value,e.format.decimals);return W.fromValue(t.sub(r),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const t=q(this._value,this.format.decimals),r=q(e._value,e.format.decimals);return W.fromValue(t.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const t=q(this._value,this.format.decimals),r=q(e._value,e.format.decimals);return W.fromValue(t.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}round(e){null==e&&(e=0),(e<0||e>80||e%1)&&G.throwArgumentError("invalid decimal count","decimals",e);let t=this.toString().split(".");if(t[1].length<=e)return this;const r="0."+j.substring(0,e)+"5";return t=this.addUnsafe(W.fromString(r,this.format))._value.split("."),W.fromString(t[0]+"."+t[1].substring(0,e))}toString(){return this._value}toHexString(e){if(null==e)return this._hex;e%8&&G.throwArgumentError("invalid byte width","width",e);return L(_.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString(),e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return W.fromString(this._value,e)}static fromValue(e,t,r){return null!=r||null==t||function(e){return null!=e&&(_.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||E(e)||"bigint"==typeof e||M(e))}(t)||(r=t,t=null),null==t&&(t=0),null==r&&(r="fixed"),W.fromString(Q(e,t),Y.from(r))}static fromString(e,t){null==t&&(t="fixed");const r=Y.from(t),n=q(e,r.decimals);!r.signed&&n.lt(z)&&Z("unsigned value cannot be negative","overflow","value",e);let i=null;r.signed?i=n.toTwos(r.width).toHexString():(i=n.toHexString(),i=L(i,r.width/8));const o=Q(n,r.decimals);return new W(U,i,o,r)}static fromBytes(e,t){null==t&&(t="fixed");const r=Y.from(t);if(A(e).length>r.width/8)throw new Error("overflow");let n=_.from(e);r.signed&&(n=n.fromTwos(r.width));const i=n.toTwos((r.signed?0:1)+r.width).toHexString(),o=Q(n,r.decimals);return new W(U,i,o,r)}static from(e,t){if("string"==typeof e)return W.fromString(e,t);if(M(e))return W.fromBytes(e,t);try{return W.fromValue(e,0,t)}catch(e){if(e.code!==m.errors.INVALID_ARGUMENT)throw e}return G.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!(!e||!e._isFixedNumber)}}var $=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const ee=new m("properties/5.0.1");function te(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function re(e,t){for(let r=0;r<32;r++){if(e[t])return e[t];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function ne(e){return $(this,void 0,void 0,(function*(){const t=Object.keys(e).map(t=>{const r=e[t];return Promise.resolve(r).then(e=>({key:t,value:e}))});return(yield Promise.all(t)).reduce((e,t)=>(e[t.key]=t.value,e),{})}))}function ie(e,t){e&&"object"==typeof e||ee.throwArgumentError("invalid object","object",e),Object.keys(e).forEach(r=>{t[r]||ee.throwArgumentError("invalid object key - "+r,"transaction:"+r,e)})}function oe(e){const t={};for(const r in e)t[r]=e[r];return t}const ae={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function se(e){if(function e(t){if(null==t||ae[typeof t])return!0;if(Array.isArray(t)||"object"==typeof t){if(!Object.isFrozen(t))return!1;const r=Object.keys(t);for(let n=0;nle(e)));if("object"==typeof e){const t={};for(const r in e){const n=e[r];void 0!==n&&te(t,r,le(n))}return t}return ee.throwArgumentError("Cannot deepCopy "+typeof e,"object",e)}function le(e){return se(e)}class ue{constructor(e){for(const t in e)this[t]=le(e[t])}}const he=new m("abi/5.0.1"),ce={};let de={calldata:!0,memory:!0,storage:!0},fe={calldata:!0,memory:!0};function me(e,t){if("bytes"===e||"string"===e){if(de[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&fe[t])return!0;return(de[t]||"payable"===t)&&he.throwArgumentError("invalid modifier","name",t),!1}function pe(e,t){for(let r in t)te(e,r,t[r])}const ge=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),ve=new RegExp(/^(.*)\[([0-9]*)\]$/);class be{constructor(e,t){e!==ce&&he.throwError("use fromString",m.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),pe(this,t);let r=this.type.match(ve);pe(this,r?{arrayLength:parseInt(r[2]||"-1"),arrayChildren:be.fromObject({type:r[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=ge.sighash),ge[e]||he.throwArgumentError("invalid format type","format",e),e===ge.json){let t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map(t=>JSON.parse(t.format(e)))),JSON.stringify(t)}let t="";return"array"===this.baseType?(t+=this.arrayChildren.format(e),t+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==ge.sighash&&(t+=this.type),t+="("+this.components.map(t=>t.format(e)).join(e===ge.full?", ":",")+")"):t+=this.type,e!==ge.sighash&&(!0===this.indexed&&(t+=" indexed"),e===ge.full&&this.name&&(t+=" "+this.name)),t}static from(e,t){return"string"==typeof e?be.fromString(e,t):be.fromObject(e)}static fromObject(e){return be.isParamType(e)?e:new be(ce,{name:e.name||null,type:ke(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(be.fromObject):null})}static fromString(e,t){return function(e){return be.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(e,t){let r=e;function n(t){he.throwArgumentError("unexpected character at position "+t,"param",e)}function i(e){let r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");let o={type:"",name:"",state:{allowType:!0}},a=o;for(let r=0;rbe.fromString(e,t))}class Me{constructor(e,t){e!==ce&&he.throwError("use a static from method",m.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),pe(this,t),this._isFragment=!0,Object.freeze(this)}static from(e){return Me.isFragment(e)?e:"string"==typeof e?Me.fromString(e):Me.fromObject(e)}static fromObject(e){if(Me.isFragment(e))return e;switch(e.type){case"function":return Fe.fromObject(e);case"event":return Ae.fromObject(e);case"constructor":return Ee.fromObject(e);case"fallback":case"receive":return null}return he.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Ae.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?Fe.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?Ee.fromString(e.trim()):he.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!(!e||!e._isFragment)}}class Ae extends Me{format(e){if(e||(e=ge.sighash),ge[e]||he.throwArgumentError("invalid format type","format",e),e===ge.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==ge.sighash&&(t+="event "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===ge.full?", ":",")+") ",e!==ge.sighash&&this.anonymous&&(t+="anonymous "),t.trim()}static from(e){return"string"==typeof e?Ae.fromString(e):Ae.fromObject(e)}static fromObject(e){if(Ae.isEventFragment(e))return e;"event"!==e.type&&he.throwArgumentError("invalid event object","value",e);const t={name:Be(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(be.fromObject):[],type:"event"};return new Ae(ce,t)}static fromString(e){let t=e.match(Pe);t||he.throwArgumentError("invalid event string","value",e);let r=!1;return t[3].split(" ").forEach(e=>{switch(e.trim()){case"anonymous":r=!0;break;case"":break;default:he.warn("unknown modifier: "+e)}}),Ae.fromObject({name:t[1].trim(),anonymous:r,inputs:ye(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function we(e,t){t.gas=null;let r=e.split("@");return 1!==r.length?(r.length>2&&he.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||he.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=_.from(r[1]),r[0]):e}function Se(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach(e=>{switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}})}function Te(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&he.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&he.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||he.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&he.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&he.throwArgumentError("unable to determine stateMutability","value",e),t}class Ee extends Me{format(e){if(e||(e=ge.sighash),ge[e]||he.throwArgumentError("invalid format type","format",e),e===ge.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});e===ge.sighash&&he.throwError("cannot format a constructor for sighash",m.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let t="constructor("+this.inputs.map(t=>t.format(e)).join(e===ge.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}static from(e){return"string"==typeof e?Ee.fromString(e):Ee.fromObject(e)}static fromObject(e){if(Ee.isConstructorFragment(e))return e;"constructor"!==e.type&&he.throwArgumentError("invalid constructor object","value",e);let t=Te(e);t.constant&&he.throwArgumentError("constructor cannot be constant","value",e);const r={name:null,type:e.type,inputs:e.inputs?e.inputs.map(be.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?_.from(e.gas):null};return new Ee(ce,r)}static fromString(e){let t={type:"constructor"},r=(e=we(e,t)).match(Pe);return r&&"constructor"===r[1].trim()||he.throwArgumentError("invalid constructor string","value",e),t.inputs=ye(r[2].trim(),!1),Se(r[3].trim(),t),Ee.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class Fe extends Ee{format(e){if(e||(e=ge.sighash),ge[e]||he.throwArgumentError("invalid format type","format",e),e===ge.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e))),ouputs:this.outputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==ge.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===ge.full?", ":",")+") ",e!==ge.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map(t=>t.format(e)).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}static from(e){return"string"==typeof e?Fe.fromString(e):Fe.fromObject(e)}static fromObject(e){if(Fe.isFunctionFragment(e))return e;"function"!==e.type&&he.throwArgumentError("invalid function object","value",e);let t=Te(e);const r={type:e.type,name:Be(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(be.fromObject):[],outputs:e.outputs?e.outputs.map(be.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?_.from(e.gas):null};return new Fe(ce,r)}static fromString(e){let t={type:"function"},r=(e=we(e,t)).split(" returns ");r.length>2&&he.throwArgumentError("invalid function string","value",e);let n=r[0].match(Pe);if(n||he.throwArgumentError("invalid function signature","value",e),t.name=n[1].trim(),t.name&&Be(t.name),t.inputs=ye(n[2],!1),Se(n[3].trim(),t),r.length>1){let n=r[1].match(Pe);""==n[1].trim()&&""==n[3].trim()||he.throwArgumentError("unexpected tokens","value",e),t.outputs=ye(n[2],!1)}else t.outputs=[];return Fe.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function ke(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}const Ce=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function Be(e){return e&&e.match(Ce)||he.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}const Pe=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const Le=new m("abi/5.0.1");function Je(e){const t=[],r=function(e,n){if(Array.isArray(n))for(let i in n){const o=e.slice();o.push(i);try{r(o,n[i])}catch(e){t.push({path:o,error:e})}}};return r([],e),t}class Re{constructor(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}_throwError(e,t){Le.throwArgumentError(e,this.localName,t)}}class Ne{constructor(e){te(this,"wordSize",e||32),this._data=A([]),this._padding=new Uint8Array(e)}get data(){return F(this._data)}get length(){return this._data.length}_writeData(e){return this._data=w([this._data,e]),e.length}writeBytes(e){let t=A(e);return t.length%this.wordSize&&(t=w([t,this._padding.slice(t.length%this.wordSize)])),this._writeData(t)}_getValue(e){let t=A(_.from(e));return t.length>this.wordSize&&Le.throwError("value out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=w([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){let e=this.length;return this.writeValue(0),t=>{this._data.set(this._getValue(t),e)}}}class De{constructor(e,t,r){te(this,"_data",A(e)),te(this,"wordSize",t||32),te(this,"_coerceFunc",r),this._offset=0}get data(){return F(this._data)}get consumed(){return this._offset}static coerce(e,t){let r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):De.coerce(e,t)}_peekBytes(e,t){let r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&Le.throwError("data out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r}),this._data.slice(this._offset,this._offset+r)}subReader(e){return new De(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc)}readBytes(e){let t=this._peekBytes(0,e);return this._offset+=t.length,t.slice(0,e)}readValue(){return _.from(this.readBytes(this.wordSize))}}var Oe=r((function(t){ /** * [js-sha3]{@link https://github.com/emn178/js-sha3} * @@ -7,4 +7,4 @@ var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo * @copyright Chen, Yi-Cyuan 2015-2016 * @license MIT */ -!function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=e);for(var o=!r.JS_SHA3_NO_COMMON_JS&&t.exports,n="0123456789abcdef".split(""),i=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],s=[224,256,384,512],l=["hex","buffer","arrayBuffer","array"],u=function(e,t,r){return function(o){return new A(e,t,e).update(o)[r]()}},c=function(e,t,r){return function(o,n){return new A(e,t,n).update(o)[r]()}},h=function(e,t){var r=u(e,t,"hex");r.create=function(){return new A(e,t,e)},r.update=function(e){return r.create().update(e)};for(var o=0;o>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var o=0;o<50;++o)this.s[o]=0}A.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,o,n=e.length,a=this.blocks,s=this.byteCount,l=this.blockCount,u=0,c=this.s;u>2]|=e[u]<>2]|=o<>2]|=(192|o>>6)<>2]|=(128|63&o)<=57344?(a[r>>2]|=(224|o>>12)<>2]|=(128|o>>6&63)<>2]|=(128|63&o)<>2]|=(240|o>>18)<>2]|=(128|o>>12&63)<>2]|=(128|o>>6&63)<>2]|=(128|63&o)<=s){for(this.start=r-s,this.block=a[l],r=0;r>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+n[15&e]+n[e>>12&15]+n[e>>8&15]+n[e>>20&15]+n[e>>16&15]+n[e>>28&15]+n[e>>24&15];s%t==0&&(T(r),a=0)}return i&&(e=r[a],i>0&&(l+=n[e>>4&15]+n[15&e]),i>1&&(l+=n[e>>12&15]+n[e>>8&15]),i>2&&(l+=n[e>>20&15]+n[e>>16&15])),l},A.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,o=this.outputBlocks,n=this.extraBytes,i=0,a=0,s=this.outputBits>>3;e=n?new ArrayBuffer(o+1<<2):new ArrayBuffer(s);for(var l=new Uint32Array(e);a>8&255,l[e+2]=t>>16&255,l[e+3]=t>>24&255;s%r==0&&T(o)}return i&&(e=s<<2,t=o[a],i>0&&(l[e]=255&t),i>1&&(l[e+1]=t>>8&255),i>2&&(l[e+2]=t>>16&255)),l};var T=function(e){var t,r,o,n,i,s,l,u,c,h,d,f,p,m,g,v,b,y,A,T,S,w,M,E,F,C,k,B,P,J,L,R,N,D,O,I,_,X,H,x,G,U,z,V,Z,j,K,Q,q,Y,W,$,ee,te,re,oe,ne,ie,ae,se,le,ue,ce;for(o=0;o<48;o+=2)n=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],l=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],h=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],t=(f=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|l>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(l<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=n^(u<<1|c>>>31),r=i^(c<<1|u>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(h<<1|d>>>31),r=l^(d<<1|h>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=u^(f<<1|p>>>31),r=c^(p<<1|f>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=h^(n<<1|i>>>31),r=d^(i<<1|n>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,m=e[0],g=e[1],j=e[11]<<4|e[10]>>>28,K=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,P=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,le=e[30]<<9|e[31]>>>23,U=e[40]<<18|e[41]>>>14,z=e[41]<<18|e[40]>>>14,D=e[2]<<1|e[3]>>>31,O=e[3]<<1|e[2]>>>31,v=e[13]<<12|e[12]>>>20,b=e[12]<<12|e[13]>>>20,Q=e[22]<<10|e[23]>>>22,q=e[23]<<10|e[22]>>>22,J=e[33]<<13|e[32]>>>19,L=e[32]<<13|e[33]>>>19,ue=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,I=e[14]<<6|e[15]>>>26,_=e[15]<<6|e[14]>>>26,y=e[25]<<11|e[24]>>>21,A=e[24]<<11|e[25]>>>21,Y=e[34]<<15|e[35]>>>17,W=e[35]<<15|e[34]>>>17,R=e[45]<<29|e[44]>>>3,N=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,F=e[7]<<28|e[6]>>>4,oe=e[17]<<23|e[16]>>>9,ne=e[16]<<23|e[17]>>>9,X=e[26]<<25|e[27]>>>7,H=e[27]<<25|e[26]>>>7,T=e[36]<<21|e[37]>>>11,S=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,V=e[8]<<27|e[9]>>>5,Z=e[9]<<27|e[8]>>>5,C=e[18]<<20|e[19]>>>12,k=e[19]<<20|e[18]>>>12,ie=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,x=e[38]<<8|e[39]>>>24,G=e[39]<<8|e[38]>>>24,w=e[48]<<14|e[49]>>>18,M=e[49]<<14|e[48]>>>18,e[0]=m^~v&y,e[1]=g^~b&A,e[10]=E^~C&B,e[11]=F^~k&P,e[20]=D^~I&X,e[21]=O^~_&H,e[30]=V^~j&Q,e[31]=Z^~K&q,e[40]=te^~oe&ie,e[41]=re^~ne&ae,e[2]=v^~y&T,e[3]=b^~A&S,e[12]=C^~B&J,e[13]=k^~P&L,e[22]=I^~X&x,e[23]=_^~H&G,e[32]=j^~Q&Y,e[33]=K^~q&W,e[42]=oe^~ie&se,e[43]=ne^~ae&le,e[4]=y^~T&w,e[5]=A^~S&M,e[14]=B^~J&R,e[15]=P^~L&N,e[24]=X^~x&U,e[25]=H^~G&z,e[34]=Q^~Y&$,e[35]=q^~W&ee,e[44]=ie^~se&ue,e[45]=ae^~le&ce,e[6]=T^~w&m,e[7]=S^~M&g,e[16]=J^~R&E,e[17]=L^~N&F,e[26]=x^~U&D,e[27]=G^~z&O,e[36]=Y^~$&V,e[37]=W^~ee&Z,e[46]=se^~ue&te,e[47]=le^~ce&re,e[8]=w^~m&v,e[9]=M^~g&b,e[18]=R^~E&C,e[19]=N^~F&k,e[28]=U^~D&I,e[29]=z^~O&_,e[38]=$^~V&j,e[39]=ee^~Z&K,e[48]=ue^~te&oe,e[49]=ce^~re&ne,e[0]^=a[o],e[1]^=a[o+1]};if(o)t.exports=f;else for(m=0;m>=8;return t}function xe(e,t,r){let o=0;for(let n=0;nt+1+o&&Xe.throwError("child data too short",m.errors.BUFFER_OVERRUN,{})}return{consumed:1+o,result:n}}function ze(e,t){if(0===e.length&&Xe.throwError("data too short",m.errors.BUFFER_OVERRUN,{}),e[t]>=248){const r=e[t]-247;t+1+r>e.length&&Xe.throwError("data short segment too short",m.errors.BUFFER_OVERRUN,{});const o=xe(e,t+1,r);return t+1+r+o>e.length&&Xe.throwError("data long segment too short",m.errors.BUFFER_OVERRUN,{}),Ue(e,t,t+1+r,r+o)}if(e[t]>=192){const r=e[t]-192;return t+1+r>e.length&&Xe.throwError("data array too short",m.errors.BUFFER_OVERRUN,{}),Ue(e,t,t+1,r)}if(e[t]>=184){const r=e[t]-183;t+1+r>e.length&&Xe.throwError("data array too short",m.errors.BUFFER_OVERRUN,{});const o=xe(e,t+1,r);return t+1+r+o>e.length&&Xe.throwError("data array too short",m.errors.BUFFER_OVERRUN,{}),{consumed:1+r+o,result:C(e.slice(t+1+r,t+1+r+o))}}if(e[t]>=128){const r=e[t]-128;return t+1+r>e.length&&Xe.throwError("data too short",m.errors.BUFFER_OVERRUN,{}),{consumed:1+r,result:C(e.slice(t+1,t+1+r))}}return{consumed:1,result:C(e[t])}}function Ve(e){const t=S(e),r=ze(t,0);return r.consumed!==t.length&&Xe.throwArgumentError("invalid rlp data","data",e),r.result}var Ze=Object.freeze({encode:Ge,decode:Ve});const je=new m("address/5.0.1");function Ke(e){F(e,20)||je.throwArgumentError("invalid address","address",e);const t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let e=0;e<40;e++)r[e]=t[e].charCodeAt(0);const o=S(_e(r));for(let e=0;e<40;e+=2)o[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&o[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}const Qe={};for(let e=0;e<10;e++)Qe[String(e)]=String(e);for(let e=0;e<26;e++)Qe[String.fromCharCode(65+e)]=String(10+e);const qe=Math.floor((Ye=9007199254740991,Math.log10?Math.log10(Ye):Math.log(Ye)/Math.LN10));var Ye;function We(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map(e=>Qe[e]).join("");for(;t.length>=qe;){let e=t.substring(0,qe);t=parseInt(e,10)%97+t.substring(e.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r="0"+r;return r}function $e(e){let t=null;if("string"!=typeof e&&je.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=Ke(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&je.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==We(e)&&je.throwArgumentError("bad icap checksum","address",e),t=new a(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=Ke("0x"+t)}else je.throwArgumentError("invalid address","address",e);return t}function et(e){let t=null;try{t=$e(e.from)}catch(t){je.throwArgumentError("missing from address","transaction",e)}return $e(B(_e(Ge([t,M(S(_.from(e.nonce).toHexString()))])),12))}class tt extends Ne{constructor(e){super("address","address",e,!1)}encode(e,t){try{$e(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return $e(L(e.readValue().toHexString(),20))}}class rt extends Ne{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}}const ot=new m("abi/5.0.1");function nt(e,t,r){let o=null;if(Array.isArray(r))o=r;else if(r&&"object"==typeof r){let e={};o=t.map(t=>{const o=t.localName;return o||ot.throwError("cannot encode object for signature with missing names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[o]&&ot.throwError("cannot encode object for signature with duplicate names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[o]=!0,r[o]})}else ot.throwArgumentError("invalid tuple value","tuple",r);t.length!==o.length&&ot.throwArgumentError("types/value length mismatch","tuple",r);let n=new De(e.wordSize),i=new De(e.wordSize),a=[];t.forEach((e,t)=>{let r=o[t];if(e.dynamic){let t=i.length;e.encode(i,r);let o=n.writeUpdatableValue();a.push(e=>{o(e+t)})}else e.encode(n,r)}),a.forEach(e=>{e(n.length)});let s=e.writeBytes(n.data);return s+=e.writeBytes(i.data),s}function it(e,t){let r=[],o=e.subReader(0),n=0;t.forEach(t=>{let i=null;if(t.dynamic){let r=e.readValue(),a=o.subReader(r.toNumber());try{i=t.decode(a)}catch(e){if(e.code===m.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}n+=a.consumed}else try{i=t.decode(e)}catch(e){if(e.code===m.errors.BUFFER_OVERRUN)throw e;i=e,i.baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&r.push(i)}),e.readBytes(n);const i=t.reduce((e,t)=>{const r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e},{});t.forEach((e,t)=>{let o=e.localName;if(!o||1!==i[o])return;if("length"===o&&(o="_length"),null!=r[o])return;const n=r[t];n instanceof Error?Object.defineProperty(r,o,{get:()=>{throw n}}):r[o]=n});for(let e=0;e{throw t}})}return Object.freeze(r)}class at extends Ne{constructor(e,t,r){super("array",e.type+"["+(t>=0?t:"")+"]",r,-1===t||e.dynamic),this.coder=e,this.length=t}encode(e,t){Array.isArray(t)||this._throwError("expected array value",t);let r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),ot.checkArgumentCount(r,t.length,"coder array"+(this.localName?" "+this.localName:""));let o=[];for(let e=0;e>6==2;o++)e++;return e}return e===Mt.OVERRUN?r.length-t-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(wt||(wt={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(Mt||(Mt={}));const Ft=Object.freeze({error:function(e,t,r,o,n){return St.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",r)},ignore:Et,replace:function(e,t,r,o,n){return e===Mt.OVERLONG?(o.push(n),0):(o.push(65533),Et(e,t,r))}});function Ct(e,t){null==t&&(t=Ft.error),e=S(e);const r=[];let o=0;for(;o>7==0){r.push(n);continue}let i=null,a=null;if(192==(224&n))i=1,a=127;else if(224==(240&n))i=2,a=2047;else{if(240!=(248&n)){o+=t(128==(192&n)?Mt.UNEXPECTED_CONTINUE:Mt.BAD_PREFIX,o-1,e,r);continue}i=3,a=65535}if(o-1+i>=e.length){o+=t(Mt.OVERRUN,o-1,e,r);continue}let s=n&(1<<8-i-1)-1;for(let n=0;n1114111?o+=t(Mt.OUT_OF_RANGE,o-1-i,e,r,s):s>=55296&&s<=57343?o+=t(Mt.UTF16_SURROGATE,o-1-i,e,r,s):s<=a?o+=t(Mt.OVERLONG,o-1-i,e,r,s):r.push(s))}return r}function kt(e,t=wt.current){t!=wt.current&&(St.checkNormalize(),e=e.normalize(t));let r=[];for(let t=0;t>6|192),r.push(63&o|128);else if(55296==(64512&o)){t++;const n=e.charCodeAt(t);if(t>=e.length||56320!=(64512&n))throw new Error("invalid utf-8 string");const i=65536+((1023&o)<<10)+(1023&n);r.push(i>>18|240),r.push(i>>12&63|128),r.push(i>>6&63|128),r.push(63&i|128)}else r.push(o>>12|224),r.push(o>>6&63|128),r.push(63&o|128)}return S(r)}function Bt(e){const t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function Pt(e){return e.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))).join("")}function Jt(e,t){return Pt(Ct(e,t))}function Lt(e,t=wt.current){return Ct(kt(e,t))}function Rt(e,t){t||(t=function(e){return[parseInt(e,16)]});let r=0,o={};return e.split(",").forEach(e=>{let n=e.split(":");r+=parseInt(n[0],16),o[r]=t(n[1])}),o}function Nt(e){let t=0;return e.split(",").map(e=>{let r=e.split("-");1===r.length?r[1]="0":""===r[1]&&(r[1]="1");let o=t+parseInt(r[0],16);return t=parseInt(r[1],16),{l:o,h:t}})}function Dt(e,t){let r=0;for(let o=0;o=r&&e<=r+n.h&&(e-r)%(n.d||1)==0){if(n.e&&-1!==n.e.indexOf(e-r))continue;return n}}return null}const Ot=Nt("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),It="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(e=>parseInt(e,16)),_t=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Xt=Rt("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),Ht=Rt("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),xt=Rt("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(e){if(e.length%4!=0)throw new Error("bad data");let t=[];for(let r=0;r{if(It.indexOf(e)>=0)return[];if(e>=65024&&e<=65039)return[];let t=function(e){let t=Dt(e,_t);if(t)return[e+t.s];let r=Xt[e];if(r)return r;let o=Ht[e];if(o)return[e+o[0]];let n=xt[e];return n||null}(e);return t||[e]}),t=r.reduce((e,t)=>(t.forEach(t=>{e.push(t)}),e),[]),t=Lt(Pt(t),wt.NFKC),t.forEach(e=>{if(Dt(e,Gt))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),t.forEach(e=>{if(Dt(e,Ot))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let o=Pt(t);if("-"===o.substring(0,1)||"--"===o.substring(2,4)||"-"===o.substring(o.length-1))throw new Error("invalid hyphen");if(o.length>63)throw new Error("too long");return o}class zt extends lt{constructor(e){super("string",e)}encode(e,t){return super.encode(e,kt(t))}decode(e){return Jt(super.decode(e))}}class Vt extends Ne{constructor(e,t){let r=!1;const o=[];e.forEach(e=>{e.dynamic&&(r=!0),o.push(e.type)}),super("tuple","tuple("+o.join(",")+")",t,r),this.coders=e}encode(e,t){return nt(e,this.coders,t)}decode(e){return e.coerce(this.name,it(e,this.coders))}}const Zt=new m("abi/5.0.1"),jt=new RegExp(/^bytes([0-9]*)$/),Kt=new RegExp(/^(u?int)([0-9]*)$/);class Qt{constructor(e){Zt.checkNew(new.target,Qt),re(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new tt(e.name);case"bool":return new st(e.name);case"string":return new zt(e.name);case"bytes":return new ut(e.name);case"array":return new at(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new Vt((e.components||[]).map(e=>this._getCoder(e)),e.name);case"":return new ht(e.name)}let t=e.type.match(Kt);if(t){let r=parseInt(t[2]||"256");return(0===r||r>256||r%8!=0)&&Zt.throwArgumentError("invalid "+t[1]+" bit length","param",e),new Tt(r/8,"int"===t[1],e.name)}if(t=e.type.match(jt),t){let r=parseInt(t[1]);return(0===r||r>32)&&Zt.throwArgumentError("invalid bytes length","param",e),new ct(r,e.name)}return Zt.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e){return new Oe(e,this._getWordSize(),this.coerceFunc)}_getWriter(){return new De(this._getWordSize())}encode(e,t){e.length!==t.length&&Zt.throwError("types/values length mismatch",m.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});const r=e.map(e=>this._getCoder(ye.from(e))),o=new Vt(r,"_"),n=this._getWriter();return o.encode(n,t),n.data}decode(e,t){const r=e.map(e=>this._getCoder(ye.from(e)));return new Vt(r,"_").decode(this._getReader(S(t)))}}const qt=new Qt,Yt=new m("hash/5.0.1"),Wt=new Uint8Array([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]),$t=new RegExp("^((.*)\\.)?([^.]+)$");function er(e){"string"!=typeof e&&Yt.throwArgumentError("invalid address - "+String(e),"name",e);let t=Wt;for(;e.length;){const r=e.match($t);t=_e(w([t,_e(kt(Ut(r[3])))])),e=r[2]||""}return C(t)}function tr(e){return _e(kt(e))}function rr(e){return"string"==typeof e&&(e=kt(e)),_e(w([kt("Ethereum Signed Message:\n"),kt(String(e.length)),e]))}const or=new m("abi/5.0.1");class nr extends ce{}class ir extends ce{}class ar extends ce{static isIndexed(e){return!(!e||!e._isIndexed)}}function sr(e,t){const r=new Error("deferred error during ABI decoding triggered accessing "+e);return r.error=t,r}class lr{constructor(e){or.checkNew(new.target,lr);let t=[];t="string"==typeof e?JSON.parse(e):e,re(this,"fragments",t.map(e=>Te.from(e)).filter(e=>null!=e)),re(this,"_abiCoder",oe(new.target,"getAbiCoder")()),re(this,"functions",{}),re(this,"errors",{}),re(this,"events",{}),re(this,"structs",{}),this.fragments.forEach(e=>{let t=null;switch(e.type){case"constructor":return this.deploy?void or.warn("duplicate definition - constructor"):void re(this,"deploy",e);case"function":t=this.functions;break;case"event":t=this.events;break;default:return}let r=e.format();t[r]?or.warn("duplicate definition - "+r):t[r]=e}),this.deploy||re(this,"deploy",Fe.from({payable:!1,type:"constructor"})),re(this,"_isInterface",!0)}format(e){e||(e=ve.full),e===ve.sighash&&or.throwArgumentError("interface does not support formatting sighash","format",e);const t=this.fragments.map(t=>t.format(e));return e===ve.json?JSON.stringify(t.map(e=>JSON.parse(e))):t}static getAbiCoder(){return qt}static getAddress(e){return $e(e)}static getSighash(e){return B(tr(e.format()),0,4)}static getEventTopic(e){return tr(e.format())}getFunction(e){if(F(e)){for(const t in this.functions)if(e===this.getSighash(t))return this.functions[t];or.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),r=Object.keys(this.functions).filter(e=>e.split("(")[0]===t);return 0===r.length?or.throwArgumentError("no matching function","name",t):r.length>1&&or.throwArgumentError("multiple matching functions","name",t),this.functions[r[0]]}const t=this.functions[Ce.fromString(e).format()];return t||or.throwArgumentError("no matching function","signature",e),t}getEvent(e){if(F(e)){const t=e.toLowerCase();for(const e in this.events)if(t===this.getEventTopic(e))return this.events[e];or.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){const t=e.trim(),r=Object.keys(this.events).filter(e=>e.split("(")[0]===t);return 0===r.length?or.throwArgumentError("no matching event","name",t):r.length>1&&or.throwArgumentError("multiple matching events","name",t),this.events[r[0]]}const t=this.events[Se.fromString(e).format()];return t||or.throwArgumentError("no matching event","signature",e),t}getSighash(e){return"string"==typeof e&&(e=this.getFunction(e)),oe(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),oe(this.constructor,"getEventTopic")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeFunctionData(e,t){"string"==typeof e&&(e=this.getFunction(e));const r=S(t);return C(r.slice(0,4))!==this.getSighash(e)&&or.throwArgumentError(`data signature does not match function ${e.name}.`,"data",C(r)),this._decodeParams(e.inputs,r.slice(4))}encodeFunctionData(e,t){return"string"==typeof e&&(e=this.getFunction(e)),C(w([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){"string"==typeof e&&(e=this.getFunction(e));let r=S(t),o=null,n=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:"0x08c379a0"===C(r.slice(0,4))&&(n="Error(string)",o=this._abiCoder.decode(["string"],r.slice(4))[0])}return or.throwError("call revert exception",m.errors.CALL_EXCEPTION,{method:e.format(),errorSignature:n,errorArgs:[o],reason:o})}encodeFunctionResult(e,t){return"string"==typeof e&&(e=this.getFunction(e)),C(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&or.throwError("too many arguments for "+e.format(),m.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});let r=[];e.anonymous||r.push(this.getEventTopic(e));const o=(e,t)=>"string"===e.type?tr(t):"bytes"===e.type?_e(C(t)):("address"===e.type&&this._abiCoder.encode(["address"],[t]),L(C(t),32));for(t.forEach((t,n)=>{let i=e.inputs[n];i.indexed?null==t?r.push(null):"array"===i.baseType||"tuple"===i.baseType?or.throwArgumentError("filtering with tuples or arrays not supported","contract."+i.name,t):Array.isArray(t)?r.push(t.map(e=>o(i,e))):r.push(o(i,t)):null!=t&&or.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+i.name,t)});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));const r=[],o=[],n=[];return e.anonymous||r.push(this.getEventTopic(e)),t.length!==e.inputs.length&&or.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((e,i)=>{const a=t[i];if(e.indexed)if("string"===e.type)r.push(tr(a));else if("bytes"===e.type)r.push(_e(a));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");r.push(this._abiCoder.encode([e.type],[a]))}else o.push(e),n.push(a)}),{data:this._abiCoder.encode(o,n),topics:r}}decodeEventLog(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){let t=this.getEventTopic(e);F(r[0],32)&&r[0].toLowerCase()===t||or.throwError("fragment/topic mismatch",m.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:r[0]}),r=r.slice(1)}let o=[],n=[],i=[];e.inputs.forEach((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(o.push(ye.fromObject({type:"bytes32",name:e.name})),i.push(!0)):(o.push(e),i.push(!1)):(n.push(e),i.push(!1))});let a=null!=r?this._abiCoder.decode(o,w(r)):null,s=this._abiCoder.decode(n,t),l=[],u=0,c=0;e.inputs.forEach((e,t)=>{if(e.indexed)if(null==a)l[t]=new ar({_isIndexed:!0,hash:null});else if(i[t])l[t]=new ar({_isIndexed:!0,hash:a[c++]});else try{l[t]=a[c++]}catch(e){l[t]=e}else try{l[t]=s[u++]}catch(e){l[t]=e}if(e.name&&null==l[e.name]){const r=l[t];r instanceof Error?Object.defineProperty(l,e.name,{get:()=>{throw sr("property "+JSON.stringify(e.name),r)}}):l[e.name]=r}});for(let e=0;e{throw sr("index "+e,t)}})}return Object.freeze(l)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new ir({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:_.from(e.value||"0")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new nr({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}static isInterface(e){return!(!e||!e._isInterface)}}const ur=new m("abstract-provider/5.0.1");class cr extends ce{static isForkEvent(e){return!(!e||!e._isForkEvent)}}class hr{constructor(){ur.checkAbstract(new.target,hr),re(this,"_isProvider",!0)}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!(!e||!e._isProvider)}}var dr=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const fr=new m("abstract-signer/5.0.1"),pr=["chainId","data","from","gasLimit","gasPrice","nonce","to","value"];class mr{constructor(){fr.checkAbstract(new.target,mr),re(this,"_isSigner",!0)}getBalance(e){return dr(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)}))}getTransactionCount(e){return dr(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)}))}estimateGas(e){return dr(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const t=yield ne(this.checkTransaction(e));return yield this.provider.estimateGas(t)}))}call(e,t){return dr(this,void 0,void 0,(function*(){this._checkProvider("call");const r=yield ne(this.checkTransaction(e));return yield this.provider.call(r,t)}))}sendTransaction(e){return this._checkProvider("sendTransaction"),this.populateTransaction(e).then(e=>this.signTransaction(e).then(e=>this.provider.sendTransaction(e)))}getChainId(){return dr(this,void 0,void 0,(function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return dr(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}resolveName(e){return dr(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)}))}checkTransaction(e){for(const t in e)-1===pr.indexOf(t)&&fr.throwArgumentError("invalid transaction key: "+t,"transaction",e);const t=ae(e);return null==t.from?t.from=this.getAddress():t.from=Promise.all([Promise.resolve(t.from),this.getAddress()]).then(t=>(t[0]!==t[1]&&fr.throwArgumentError("from address mismatch","transaction",e),t[0])),t}populateTransaction(e){return dr(this,void 0,void 0,(function*(){const t=yield ne(this.checkTransaction(e));return null!=t.to&&(t.to=Promise.resolve(t.to).then(e=>this.resolveName(e))),null==t.gasPrice&&(t.gasPrice=this.getGasPrice()),null==t.nonce&&(t.nonce=this.getTransactionCount("pending")),null==t.gasLimit&&(t.gasLimit=this.estimateGas(t).catch(e=>fr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",m.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,tx:t}))),null==t.chainId?t.chainId=this.getChainId():t.chainId=Promise.all([Promise.resolve(t.chainId),this.getChainId()]).then(t=>(0!==t[1]&&t[0]!==t[1]&&fr.throwArgumentError("chainId address mismatch","transaction",e),t[0])),yield ne(t)}))}_checkProvider(e){this.provider||fr.throwError("missing provider",m.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!(!e||!e._isSigner)}}class gr extends mr{constructor(e,t){fr.checkNew(new.target,gr),super(),re(this,"address",e),re(this,"provider",t||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,t){return Promise.resolve().then(()=>{fr.throwError(e,m.errors.UNSUPPORTED_OPERATION,{operation:t})})}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}connect(e){return new gr(this.address,e)}}var vr=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const br=new m("contracts/5.0.1"),yr={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function Ar(e,t){return vr(this,void 0,void 0,(function*(){const r=yield t;try{return $e(r)}catch(e){}return e||br.throwError("a provider or signer is needed to resolve ENS names",m.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"}),yield e.resolveName(r)}))}function Tr(e,t,r){if(Array.isArray(r))return Promise.all(r.map((r,o)=>Tr(e,Array.isArray(t)?t[o]:t[r.name],r)));if("address"===r.type)return Ar(e,t);if("tuple"===r.type)return Tr(e,t,r.components);if("array"===r.baseType){if(!Array.isArray(t))throw new Error("invalid value for array");return Promise.all(t.map(t=>Tr(e,t,r.arrayChildren)))}return Promise.resolve(t)}function Sr(e,t,r){return vr(this,void 0,void 0,(function*(){let o={};r.length===t.inputs.length+1&&"object"==typeof r[r.length-1]&&(o=ae(r.pop())),br.checkArgumentCount(r.length,t.inputs.length,"passed to contract"),e.signer?o.from?o.from=ne({override:Ar(e.signer,o.from),signer:e.signer.getAddress()}).then(e=>vr(this,void 0,void 0,(function*(){return $e(e.signer)!==e.override&&br.throwError("Contract with a Signer cannot override from",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),e.override}))):o.from=e.signer.getAddress():o.from&&(o.from=Ar(e.provider,o.from));const n=yield ne({args:Tr(e.signer||e.provider,r,t.inputs),address:e.resolvedAddress,overrides:ne(o)||{}}),i={data:e.interface.encodeFunctionData(t,n.args),to:n.address},a=n.overrides;if(null!=a.nonce&&(i.nonce=_.from(a.nonce).toNumber()),null!=a.gasLimit&&(i.gasLimit=_.from(a.gasLimit)),null!=a.gasPrice&&(i.gasPrice=_.from(a.gasPrice)),null!=a.from&&(i.from=a.from),null==i.gasLimit&&null!=t.gas&&(i.gasLimit=_.from(t.gas).add(21e3)),a.value){const e=_.from(a.value);e.isZero()||t.payable||br.throwError("non-payable method cannot override value",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:o.value}),i.value=e}delete o.nonce,delete o.gasLimit,delete o.gasPrice,delete o.from,delete o.value;const s=Object.keys(o).filter(e=>null!=o[e]);return s.length&&br.throwError("cannot override "+s.map(e=>JSON.stringify(e)).join(","),m.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:s}),i}))}function wr(e,t,r){const o=e.signer||e.provider;return function(...n){return vr(this,void 0,void 0,(function*(){let i=void 0;if(n.length===t.inputs.length+1&&"object"==typeof n[n.length-1]){const e=ae(n.pop());null!=e.blockTag&&(i=yield e.blockTag),delete e.blockTag,n.push(e)}null!=e.deployTransaction&&(yield e._deployed(i));const a=yield Sr(e,t,n),s=yield o.call(a,i);try{let o=e.interface.decodeFunctionResult(t,s);return r&&1===t.outputs.length&&(o=o[0]),o}catch(t){throw t.code===m.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=n,t.transaction=a),t}}))}}function Mr(e,t,r){return t.constant?wr(e,t,r):function(e,t){return function(...r){return vr(this,void 0,void 0,(function*(){e.signer||br.throwError("sending a transaction requires a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=e.deployTransaction&&(yield e._deployed());const o=yield Sr(e,t,r),n=yield e.signer.sendTransaction(o),i=n.wait.bind(n);return n.wait=t=>i(t).then(t=>(t.events=t.logs.map(r=>{let o=ue(r),n=null;try{n=e.interface.parseLog(r)}catch(e){}return n&&(o.args=n.args,o.decode=(t,r)=>e.interface.decodeEventLog(n.eventFragment,t,r),o.event=n.name,o.eventSignature=n.signature),o.removeListener=()=>e.provider,o.getBlock=()=>e.provider.getBlock(t.blockHash),o.getTransaction=()=>e.provider.getTransaction(t.transactionHash),o.getTransactionReceipt=()=>Promise.resolve(t),o}),t)),n}))}}(e,t)}function Er(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):""):"*"}class Fr{constructor(e,t){re(this,"tag",e),re(this,"filter",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter(r=>!(!t&&r.listener===e)||(t=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){const t=this.listenerCount();return this._listeners=this._listeners.filter(t=>{const r=e.slice();return setTimeout(()=>{t.listener.apply(this,r)},0),!t.once}),t}prepareEvent(e){}getEmit(e){return[e]}}class Cr extends Fr{constructor(){super("error",null)}}class kr extends Fr{constructor(e,t,r,o){const n={address:e};let i=t.getEventTopic(r);o?(i!==o[0]&&br.throwArgumentError("topic mismatch","topics",o),n.topics=o.slice()):n.topics=[i],super(Er(n),n),re(this,"address",e),re(this,"interface",t),re(this,"fragment",r)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){const t=Re(e.args);if(t.length)throw t[0].error;const r=(e.args||[]).slice();return r.push(e),r}}class Br extends Fr{constructor(e,t){super("*",{address:e}),re(this,"address",e),re(this,"interface",t)}prepareEvent(e){super.prepareEvent(e);try{const t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,r)=>this.interface.decodeEventLog(t.eventFragment,e,r),e.args=t.args}catch(e){}}}class Pr{constructor(e,t,r){br.checkNew(new.target,Pr),re(this,"interface",oe(new.target,"getInterface")(t)),null==r?(re(this,"provider",null),re(this,"signer",null)):mr.isSigner(r)?(re(this,"provider",r.provider||null),re(this,"signer",r)):hr.isProvider(r)?(re(this,"provider",r),re(this,"signer",null)):br.throwArgumentError("invalid signer or provider","signerOrProvider",r),re(this,"callStatic",{}),re(this,"estimateGas",{}),re(this,"functions",{}),re(this,"populateTransaction",{}),re(this,"filters",{});{const e={};Object.keys(this.interface.events).forEach(t=>{const r=this.interface.events[t];re(this.filters,t,(...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(r,e)})),e[r.name]||(e[r.name]=[]),e[r.name].push(t)}),Object.keys(e).forEach(t=>{const r=e[t];1===r.length?re(this.filters,t,this.filters[r[0]]):br.warn(`Duplicate definition of ${t} (${r.join(", ")})`)})}if(re(this,"_runningEvents",{}),re(this,"_wrappedEmits",{}),re(this,"address",e),this.provider)re(this,"resolvedAddress",this.provider.resolveName(e).then(e=>{if(null==e)throw new Error("name not found");return e}).catch(t=>{throw console.log("ERROR: Cannot find Contract - "+e),t}));else try{re(this,"resolvedAddress",Promise.resolve($e(e)))}catch(e){br.throwError("provider is required to use ENS name as contract address",m.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}const o={},n={};Object.keys(this.interface.functions).forEach(e=>{const t=this.interface.functions[e];if(n[e])br.warn("Duplicate ABI entry for "+JSON.stringify(name));else{n[e]=!0;{const r=t.name;o[r]||(o[r]=[]),o[r].push(e)}null==this[e]&&re(this,e,Mr(this,t,!0)),null==this.functions[e]&&re(this.functions,e,Mr(this,t,!1)),null==this.callStatic[e]&&re(this.callStatic,e,wr(this,t,!0)),null==this.populateTransaction[e]&&re(this.populateTransaction,e,function(e,t){return function(...r){return vr(this,void 0,void 0,(function*(){return Sr(e,t,r)}))}}(this,t)),null==this.estimateGas[e]&&re(this.estimateGas,e,function(e,t){const r=e.signer||e.provider;return function(...o){return vr(this,void 0,void 0,(function*(){r||br.throwError("estimate require a provider or signer",m.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const n=yield Sr(e,t,o);return yield r.estimateGas(n)}))}}(this,t))}}),Object.keys(o).forEach(e=>{const t=o[e];if(t.length>1)return;const r=t[0];null==this[e]&&re(this,e,this[r]),null==this.functions[e]&&re(this.functions,e,this.functions[r]),null==this.callStatic[e]&&re(this.callStatic,e,this.callStatic[r]),null==this.populateTransaction[e]&&re(this.populateTransaction,e,this.populateTransaction[r]),null==this.estimateGas[e]&&re(this.estimateGas,e,this.estimateGas[r])})}static getContractAddress(e){return et(e)}static getInterface(e){return lr.isInterface(e)?e:new lr(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(e=>("0x"===e&&br.throwError("contract not deployed",m.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||br.throwError("sending a transactions require a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const t=ae(e||{});return["from","to"].forEach((function(e){null!=t[e]&&br.throwError("cannot override "+e,m.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(t))}connect(e){"string"==typeof e&&(e=new gr(e,this.provider));const t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&re(t,"deployTransaction",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return ar.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new Cr);if("event"===e)return this._normalizeRunningEvent(new Fr("event",null));if("*"===e)return this._normalizeRunningEvent(new Br(this.address,this.interface));const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new kr(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{const t=e.topics[0];if("string"!=typeof t)throw new Error("invalid topic");const r=this.interface.getEvent(t);return this._normalizeRunningEvent(new kr(this.address,this.interface,r,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new Fr(Er(t),t))}return this._normalizeRunningEvent(new Br(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];const t=this._wrappedEmits[e.tag];t&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,r){const o=ue(t);return o.removeListener=()=>{r&&(e.removeListener(r),this._checkRunningEvents(e))},o.getBlock=()=>this.provider.getBlock(t.blockHash),o.getTransaction=()=>this.provider.getTransaction(t.transactionHash),o.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(o),o}_addEventListener(e,t,r){if(this.provider||br.throwError("events require a provider or a signer with a provider",m.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,r),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const r=r=>{let o=this._wrapEvent(e,r,t);if(null==o.decodeError)try{const t=e.getEmit(o);this.emit(e.filter,...t)}catch(e){o.decodeError=e.error}null!=e.filter&&this.emit("event",o),null!=o.decodeError&&this.emit("error",o.decodeError,o)};this._wrappedEmits[e.tag]=r,null!=e.filter&&this.provider.on(e.filter,r)}}queryFilter(e,t,r){const o=this._getRunningEvent(e),n=ae(o.filter);return"string"==typeof t&&F(t,32)?(null!=r&&br.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),n.blockHash=t):(n.fromBlock=null!=t?t:0,n.toBlock=null!=r?r:"latest"),this.provider.getLogs(n).then(e=>e.map(e=>this._wrapEvent(o,e,null)))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;const r=this._getRunningEvent(e),o=r.run(t)>0;return this._checkRunningEvents(r),o}listenerCount(e){return this.provider?this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){const e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach(t=>{e.push(t)});return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(const e in this._runningEvents){const t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}const t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;const r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this}removeListener(e,t){return this.off(e,t)}}class Jr{constructor(e,t,r){let o=null;o="string"==typeof t?t:T(t)?C(t):t&&"string"==typeof t.object?t.object:"!","0x"!==o.substring(0,2)&&(o="0x"+o),(!F(o)||o.length%2)&&br.throwArgumentError("invalid bytecode","bytecode",t),r&&!mr.isSigner(r)&&br.throwArgumentError("invalid signer","signer",r),re(this,"bytecode",o),re(this,"interface",oe(new.target,"getInterface")(e)),re(this,"signer",r||null)}getDeployTransaction(...e){let t={};if(e.length===this.interface.deploy.inputs.length+1&&"object"==typeof e[e.length-1]){t=ae(e.pop());for(const e in t)if(!yr[e])throw new Error("unknown transaction override "+e)}return["data","from","to"].forEach(e=>{null!=t[e]&&br.throwError("cannot override "+e,m.errors.UNSUPPORTED_OPERATION,{operation:e})}),br.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor"),t.data=C(w([this.bytecode,this.interface.encodeDeploy(e)])),t}deploy(...e){return vr(this,void 0,void 0,(function*(){let t={};e.length===this.interface.deploy.inputs.length+1&&(t=e.pop()),br.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor");const r=yield Tr(this.signer,e,this.interface.deploy.inputs);r.push(t);const o=this.getDeployTransaction(...r),n=yield this.signer.sendTransaction(o),i=oe(this.constructor,"getContractAddress")(n),a=oe(this.constructor,"getContract")(i,this.interface,this.signer);return re(a,"deployTransaction",n),a}))}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,t){null==e&&br.throwError("missing compiler output",m.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof e&&(e=JSON.parse(e));const r=e.abi;let o=null;return e.bytecode?o=e.bytecode:e.evm&&e.evm.bytecode&&(o=e.evm.bytecode),new this(r,o,t)}static getInterface(e){return Pr.getInterface(e)}static getContractAddress(e){return et(e)}static getContract(e,t,r){return new Pr(e,t,r)}}class Lr{constructor(e){re(this,"alphabet",e),re(this,"base",e.length),re(this,"_alphabetMap",{}),re(this,"_leader",e.charAt(0));for(let t=0;t0;)r.push(o%this.base),o=o/this.base|0}let o="";for(let e=0;0===t[e]&&e=0;--e)o+=this.alphabet[r[e]];return o}decode(e){if("string"!=typeof e)throw new TypeError("Expected String");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let r=0;r>=8;for(;n>0;)t.push(255&n),n>>=8}for(let r=0;e[r]===this._leader&&r>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function _r(e){return 1===e.length?"0"+e:e}function Xr(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var Hr={inherits:Or,toArray:function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),o=0;o>8,a=255&n;i?r.push(i,a):r.push(a)}else for(o=0;o>>0}return i},split32:function(e,t){for(var r=new Array(4*e.length),o=0,n=0;o>>24,r[n+1]=i>>>16&255,r[n+2]=i>>>8&255,r[n+3]=255&i):(r[n+3]=i>>>24,r[n+2]=i>>>16&255,r[n+1]=i>>>8&255,r[n]=255&i)}return r},rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,o){return e+t+r+o>>>0},sum32_5:function(e,t,r,o,n){return e+t+r+o+n>>>0},sum64:function(e,t,r,o){var n=e[t],i=o+e[t+1]>>>0,a=(i>>0,e[t+1]=i},sum64_hi:function(e,t,r,o){return(t+o>>>0>>0},sum64_lo:function(e,t,r,o){return t+o>>>0},sum64_4_hi:function(e,t,r,o,n,i,a,s){var l=0,u=t;return l+=(u=u+o>>>0)>>0)>>0)>>0},sum64_4_lo:function(e,t,r,o,n,i,a,s){return t+o+i+s>>>0},sum64_5_hi:function(e,t,r,o,n,i,a,s,l,u){var c=0,h=t;return c+=(h=h+o>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(e,t,r,o,n,i,a,s,l,u){return t+o+i+s+u>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function xr(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var Gr=xr;xr.prototype.update=function(e,t){if(e=Hr.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=Hr.join32(e,0,e.length-r,this.endian);for(var o=0;o>>24&255,o[n++]=e>>>16&255,o[n++]=e>>>8&255,o[n++]=255&e}else for(o[n++]=255&e,o[n++]=e>>>8&255,o[n++]=e>>>16&255,o[n++]=e>>>24&255,o[n++]=0,o[n++]=0,o[n++]=0,o[n++]=0,i=8;i>>3},g1_256:function(e){return zr(e,17)^zr(e,19)^e>>>10}},Qr=Hr.sum32,qr=Hr.sum32_4,Yr=Hr.sum32_5,Wr=Kr.ch32,$r=Kr.maj32,eo=Kr.s0_256,to=Kr.s1_256,ro=Kr.g0_256,oo=Kr.g1_256,no=Ur.BlockHash,io=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function ao(){if(!(this instanceof ao))return new ao;no.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=io,this.W=new Array(64)}Hr.inherits(ao,no);var so=ao;ao.blockSize=512,ao.outSize=256,ao.hmacStrength=192,ao.padLength=64,ao.prototype._update=function(e,t){for(var r=this.W,o=0;o<16;o++)r[o]=e[t+o];for(;othis.blockSize&&(e=(new this.Hash).update(e).digest()),Nr(e.length<=this.blockSize);for(var t=e.length;t>24&255,l[t.length+1]=h>>16&255,l[t.length+2]=h>>8&255,l[t.length+3]=255&h;let d=S(ln(n,e,l));i||(i=d.length,c=new Uint8Array(i),a=Math.ceil(o/i),u=o-(a-1)*i),c.set(d);for(let t=1;t>8,a=255&n;i?r.push(i,a):r.push(a)}return r},r.zero2=o,r.toHex=n,r.encode=function(e,t){return"hex"===t?n(e):e}})),fn=r((function(e,t){var r=t;r.assert=Nr,r.toArray=dn.toArray,r.zero2=dn.zero2,r.toHex=dn.toHex,r.encode=dn.encode,r.getNAF=function(e,t,r){var o=new Array(Math.max(e.bitLength(),r)+1);o.fill(0);for(var n=1<(n>>1)-1?(n>>1)-l:l,i.isubn(s)):s=0,o[a]=s,i.iushrn(1)}return o},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var o=0,n=0;e.cmpn(-o)>0||t.cmpn(-n)>0;){var i,a,s,l=e.andln(3)+o&3,u=t.andln(3)+n&3;if(3===l&&(l=-1),3===u&&(u=-1),0==(1&l))i=0;else i=3!==(s=e.andln(7)+o&7)&&5!==s||2!==u?l:-l;if(r[0].push(i),0==(1&u))a=0;else a=3!==(s=t.andln(7)+n&7)&&5!==s||2!==l?u:-u;r[1].push(a),2*o===i+1&&(o=1-o),2*n===a+1&&(n=1-n),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var o="_"+t;e.prototype[t]=function(){return void 0!==this[o]?this[o]:this[o]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new i(e,"hex","le")}})),pn=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r},mn=fn.getNAF,gn=fn.getJSF,vn=fn.assert;function bn(e,t){this.type=e,this.p=new i(t.p,16),this.red=t.prime?i.red(t.prime):i.mont(this.p),this.zero=new i(0).toRed(this.red),this.one=new i(1).toRed(this.red),this.two=new i(2).toRed(this.red),this.n=t.n&&new i(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var yn=bn;function An(e,t){this.curve=e,this.type=t,this.precomputed=null}bn.prototype.point=function(){throw new Error("Not implemented")},bn.prototype.validate=function(){throw new Error("Not implemented")},bn.prototype._fixedNafMul=function(e,t){vn(e.precomputed);var r=e._getDoubles(),o=mn(t,1,this._bitLength),n=(1<=a;t--)s=(s<<1)+o[t];i.push(s)}for(var l=this.jpoint(null,null,null),u=this.jpoint(null,null,null),c=n;c>0;c--){for(a=0;a=0;s--){for(t=0;s>=0&&0===i[s];s--)t++;if(s>=0&&t++,a=a.dblp(t),s<0)break;var l=i[s];vn(0!==l),a="affine"===e.type?l>0?a.mixedAdd(n[l-1>>1]):a.mixedAdd(n[-l-1>>1].neg()):l>0?a.add(n[l-1>>1]):a.add(n[-l-1>>1].neg())}return"affine"===e.type?a.toP():a},bn.prototype._wnafMulAdd=function(e,t,r,o,n){for(var i=this._wnafT1,a=this._wnafT2,s=this._wnafT3,l=0,u=0;u=1;u-=2){var h=u-1,d=u;if(1===i[h]&&1===i[d]){var f=[t[h],null,null,t[d]];0===t[h].y.cmp(t[d].y)?(f[1]=t[h].add(t[d]),f[2]=t[h].toJ().mixedAdd(t[d].neg())):0===t[h].y.cmp(t[d].y.redNeg())?(f[1]=t[h].toJ().mixedAdd(t[d]),f[2]=t[h].add(t[d].neg())):(f[1]=t[h].toJ().mixedAdd(t[d]),f[2]=t[h].toJ().mixedAdd(t[d].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],m=gn(r[h],r[d]);l=Math.max(m[0].length,l),s[h]=new Array(l),s[d]=new Array(l);for(var g=0;g=0;u--){for(var T=0;u>=0;){var S=!0;for(g=0;g=0&&T++,y=y.dblp(T),u<0)break;for(g=0;g0?w=a[g][M-1>>1]:M<0&&(w=a[g][-M-1>>1].neg()),y="affine"===w.type?y.mixedAdd(w):y.add(w))}}for(u=0;u=Math.ceil((e.bitLength()+1)/t.step)},An.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],o=this,n=0;n=0&&(a=t,s=r),o.negative&&(o=o.neg(),n=n.neg()),a.negative&&(a=a.neg(),s=s.neg()),[{a:o,b:n},{a:a,b:s}]},Sn.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],o=t[1],n=o.b.mul(e).divRound(this.n),i=r.b.neg().mul(e).divRound(this.n),a=n.mul(r.a),s=i.mul(o.a),l=n.mul(r.b),u=i.mul(o.b);return{k1:e.sub(a).sub(s),k2:l.add(u).neg()}},Sn.prototype.pointFromX=function(e,t){(e=new i(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),o=r.redSqrt();if(0!==o.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var n=o.fromRed().isOdd();return(t&&!n||!t&&n)&&(o=o.redNeg()),this.point(e,o)},Sn.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,o=this.a.redMul(t),n=t.redSqr().redMul(t).redIAdd(o).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},Sn.prototype._endoWnafMulAdd=function(e,t,r){for(var o=this._endoWnafT1,n=this._endoWnafT2,i=0;i":""},Mn.prototype.isInfinity=function(){return this.inf},Mn.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),o=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,o)},Mn.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),o=e.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(o),i=n.redSqr().redISub(this.x.redAdd(this.x)),a=n.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,a)},Mn.prototype.getX=function(){return this.x.fromRed()},Mn.prototype.getY=function(){return this.y.fromRed()},Mn.prototype.mul=function(e){return e=new i(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Mn.prototype.mulAdd=function(e,t,r){var o=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(o,n):this.curve._wnafMulAdd(1,o,n,2)},Mn.prototype.jmulAdd=function(e,t,r){var o=[this,t],n=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(o,n,!0):this.curve._wnafMulAdd(1,o,n,2,!0)},Mn.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},Mn.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,o=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(o)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(o)}}}return t},Mn.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Or(En,yn.BasePoint),Sn.prototype.jpoint=function(e,t,r){return new En(this,e,t,r)},En.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),o=this.y.redMul(t).redMul(e);return this.curve.point(r,o)},En.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},En.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),o=this.x.redMul(t),n=e.x.redMul(r),i=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=o.redSub(n),l=i.redSub(a);if(0===s.cmpn(0))return 0!==l.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),h=o.redMul(u),d=l.redSqr().redIAdd(c).redISub(h).redISub(h),f=l.redMul(h.redISub(d)).redISub(i.redMul(c)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(d,f,p)},En.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,o=e.x.redMul(t),n=this.y,i=e.y.redMul(t).redMul(this.z),a=r.redSub(o),s=n.redSub(i);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),u=l.redMul(a),c=r.redMul(l),h=s.redSqr().redIAdd(u).redISub(c).redISub(c),d=s.redMul(c.redISub(h)).redISub(n.redMul(u)),f=this.z.redMul(a);return this.curve.jpoint(h,d,f)},En.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},En.prototype.inspect=function(){return this.isInfinity()?"":""},En.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Fn={},Cn={},kn=r((function(e,t){var r=t;r.base=yn,r.short=wn,r.mont=Fn,r.edwards=Cn})),Bn=r((function(e,t){var r,o=t,n=fn.assert;function i(e){"short"===e.type?this.curve=new kn.short(e):"edwards"===e.type?this.curve=new kn.edwards(e):this.curve=new kn.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(o,e,{configurable:!0,enumerable:!0,get:function(){var r=new i(t);return Object.defineProperty(o,e,{configurable:!0,enumerable:!0,value:r}),r}})}o.PresetCurve=i,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:en.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:en.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:en.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:en.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:en.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:en.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:en.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=void 0}catch(e){r=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:en.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function Pn(e){if(!(this instanceof Pn))return new Pn(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=dn.toArray(e.entropy,e.entropyEnc||"hex"),r=dn.toArray(e.nonce,e.nonceEnc||"hex"),o=dn.toArray(e.pers,e.persEnc||"hex");Nr(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,o)}var Jn=Pn;Pn.prototype._init=function(e,t,r){var o=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},Pn.prototype.generate=function(e,t,r,o){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(o=r,r=t,t=null),r&&(r=dn.toArray(r,o||"hex"),this._update(r));for(var n=[];n.length"};var Dn=fn.assert;function On(e,t){if(e instanceof On)return e;this._importDER(e,t)||(Dn(e.r&&e.s,"Signature without r or s"),this.r=new i(e.r,16),this.s=new i(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var In=On;function _n(){this.place=0}function Xn(e,t){var r=e[t.place++];if(!(128&r))return r;for(var o=15&r,n=0,i=0,a=t.place;i>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}On.prototype._importDER=function(e,t){e=fn.toArray(e,t);var r=new _n;if(48!==e[r.place++])return!1;if(Xn(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=Xn(e,r),n=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var a=Xn(e,r);if(e.length!==a+r.place)return!1;var s=e.slice(r.place,a+r.place);return 0===n[0]&&128&n[1]&&(n=n.slice(1)),0===s[0]&&128&s[1]&&(s=s.slice(1)),this.r=new i(n),this.s=new i(s),this.recoveryParam=null,!0},On.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=Hn(t),r=Hn(r);!(r[0]||128&r[1]);)r=r.slice(1);var o=[2];xn(o,t.length),(o=o.concat(t)).push(2),xn(o,r.length);var n=o.concat(r),i=[48];return xn(i,n.length),i=i.concat(n),fn.encode(i,e)};var Gn=fn.assert;function Un(e){if(!(this instanceof Un))return new Un(e);"string"==typeof e&&(Gn(Bn.hasOwnProperty(e),"Unknown curve "+e),e=Bn[e]),e instanceof Bn.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var zn=Un;Un.prototype.keyPair=function(e){return new Nn(this,e)},Un.prototype.keyFromPrivate=function(e,t){return Nn.fromPrivate(this,e,t)},Un.prototype.keyFromPublic=function(e,t){return Nn.fromPublic(this,e,t)},Un.prototype.genKeyPair=function(e){e||(e={});for(var t=new Jn({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||pn(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new i(2));;){var n=new i(t.generate(r));if(!(n.cmp(o)>0))return n.iaddn(1),this.keyFromPrivate(n)}},Un.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},Un.prototype.sign=function(e,t,r,o){"object"==typeof r&&(o=r,r=null),o||(o={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new i(e,16));for(var n=this.n.byteLength(),a=t.getPrivate().toArray("be",n),s=e.toArray("be",n),l=new Jn({hash:this.hash,entropy:a,nonce:s,pers:o.pers,persEnc:o.persEnc||"utf8"}),u=this.n.sub(new i(1)),c=0;;c++){var h=o.k?o.k(c):new i(l.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(u)>=0)){var d=this.g.mul(h);if(!d.isInfinity()){var f=d.getX(),p=f.umod(this.n);if(0!==p.cmpn(0)){var m=h.invm(this.n).mul(p.mul(t.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var g=(d.getY().isOdd()?1:0)|(0!==f.cmp(p)?2:0);return o.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),g^=1),new In({r:p,s:m,recoveryParam:g})}}}}}},Un.prototype.verify=function(e,t,r,o){e=this._truncateToN(new i(e,16)),r=this.keyFromPublic(r,o);var n=(t=new In(t,"hex")).r,a=t.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return!1;var s,l=a.invm(this.n),u=l.mul(e).umod(this.n),c=l.mul(n).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(u,r.getPublic(),c)).isInfinity()&&s.eqXToP(n):!(s=this.g.mulAdd(u,r.getPublic(),c)).isInfinity()&&0===s.getX().umod(this.n).cmp(n)},Un.prototype.recoverPubKey=function(e,t,r,o){Gn((3&r)===r,"The recovery param is more than two bits"),t=new In(t,o);var n=this.n,a=new i(e),s=t.r,l=t.s,u=1&r,c=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");s=c?this.curve.pointFromX(s.add(this.curve.n),u):this.curve.pointFromX(s,u);var h=t.r.invm(n),d=n.sub(a).mul(h).umod(n),f=l.mul(h).umod(n);return this.g.mulAdd(d,s,f)},Un.prototype.getKeyRecoveryParam=function(e,t,r,o){if(null!==(t=new In(t,o)).recoveryParam)return t.recoveryParam;for(var n=0;n<4;n++){var i;try{i=this.recoverPubKey(e,t,n)}catch(e){continue}if(i.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var Vn={},Zn=o(hn),jn=r((function(e,t){var r=t;r.version=Zn.version,r.utils=fn,r.rand=pn,r.curve=kn,r.curves=Bn,r.ec=zn,r.eddsa=Vn})).ec;const Kn=new m("signing-key/5.0.1");let Qn=null;function qn(){return Qn||(Qn=new jn("secp256k1")),Qn}class Yn{constructor(e){re(this,"curve","secp256k1"),re(this,"privateKey",C(e));const t=qn().keyFromPrivate(S(this.privateKey));re(this,"publicKey","0x"+t.getPublic(!1,"hex")),re(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),re(this,"_isSigningKey",!0)}_addPoint(e){const t=qn().keyFromPublic(S(this.publicKey)),r=qn().keyFromPublic(S(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")}signDigest(e){const t=qn().keyFromPrivate(S(this.privateKey)).sign(S(e),{canonical:!0});return R({recoveryParam:t.recoveryParam,r:L("0x"+t.r.toString(16),32),s:L("0x"+t.s.toString(16),32)})}computeSharedSecret(e){const t=qn().keyFromPrivate(S(this.privateKey)),r=qn().keyFromPublic(S($n(e)));return L("0x"+t.derive(r.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function Wn(e,t){const r=R(t),o={r:S(r.r),s:S(r.s)};return"0x"+qn().recoverPubKey(S(e),o,r.recoveryParam).encode("hex",!1)}function $n(e,t){const r=S(e);if(32===r.length){const e=new Yn(r);return t?"0x"+qn().keyFromPrivate(r).getPublic(!0,"hex"):e.publicKey}return 33===r.length?t?C(r):"0x"+qn().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+qn().keyFromPublic(r).getPublic(!0,"hex"):C(r):Kn.throwArgumentError("invalid public or private key","key","[REDACTED]")}const ei=new m("transactions/5.0.1");function ti(e){return"0x"===e?mt:_.from(e)}const ri=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],oi={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function ni(e){return $e(B(_e(B($n(e),1)),12))}function ii(e,t){return ni(Wn(S(e),t))}function ai(e,t){ie(e,oi);const r=[];ri.forEach((function(t){let o=e[t.name]||[];const n={};t.numeric&&(n.hexPad="left"),o=S(C(o,n)),t.length&&o.length!==t.length&&o.length>0&&ei.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,o),t.maxLength&&(o=M(o),o.length>t.maxLength&&ei.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,o)),r.push(C(o))}));let o=0;if(null!=e.chainId?(o=e.chainId,"number"!=typeof o&&ei.throwArgumentError("invalid transaction.chainId","transaction",e)):t&&!A(t)&&t.v>28&&(o=Math.floor((t.v-35)/2)),0!==o&&(r.push(C(o)),r.push("0x"),r.push("0x")),!t)return Ge(r);const n=R(t);let i=27+n.recoveryParam;return 0!==o?(r.pop(),r.pop(),r.pop(),i+=2*o+8,n.v>28&&n.v!==i&&ei.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):n.v!==i&&ei.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),r.push(C(i)),r.push(M(S(n.r))),r.push(M(S(n.s))),Ge(r)}function si(e){const t=Ve(e);9!==t.length&&6!==t.length&&ei.throwArgumentError("invalid raw transaction","rawTransaction",e);const r={nonce:ti(t[0]).toNumber(),gasPrice:ti(t[1]),gasLimit:ti(t[2]),to:(o=t[3],"0x"===o?null:$e(o)),value:ti(t[4]),data:t[5],chainId:0};var o;if(6===t.length)return r;try{r.v=_.from(t[6]).toNumber()}catch(e){return console.log(e),r}if(r.r=L(t[7],32),r.s=L(t[8],32),_.from(r.r).isZero()&&_.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let o=r.v-27;const n=t.slice(0,6);0!==r.chainId&&(n.push(C(r.chainId)),n.push("0x"),n.push("0x"),o-=2*r.chainId+8);const i=_e(Ge(n));try{r.from=ii(i,{r:C(r.r),s:C(r.s),recoveryParam:o})}catch(e){console.log(e)}r.hash=_e(e)}return r}const li=new m("wordlists/5.0.1");class ui{constructor(e){li.checkAbstract(new.target,ui),re(this,"locale",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(" ")}static check(e){const t=[];for(let r=0;r<2048;r++){const o=e.getWord(r);if(r!==e.getWordIndex(o))return"0x";t.push(o)}return tr(t.join("\n")+"\n")}static register(e,t){t||(t=e.locale)}}let ci=null;function hi(e){if(null==ci&&(ci="AbdikaceAbecedaAdresaAgreseAkceAktovkaAlejAlkoholAmputaceAnanasAndulkaAnekdotaAnketaAntikaAnulovatArchaAroganceAsfaltAsistentAspiraceAstmaAstronomAtlasAtletikaAtolAutobusAzylBabkaBachorBacilBaculkaBadatelBagetaBagrBahnoBakterieBaladaBaletkaBalkonBalonekBalvanBalzaBambusBankomatBarbarBaretBarmanBarokoBarvaBaterkaBatohBavlnaBazalkaBazilikaBazukaBednaBeranBesedaBestieBetonBezinkaBezmocBeztakBicyklBidloBiftekBikinyBilanceBiografBiologBitvaBizonBlahobytBlatouchBlechaBleduleBleskBlikatBliznaBlokovatBlouditBludBobekBobrBodlinaBodnoutBohatostBojkotBojovatBokorysBolestBorecBoroviceBotaBoubelBouchatBoudaBouleBouratBoxerBradavkaBramboraBrankaBratrBreptaBriketaBrkoBrlohBronzBroskevBrunetkaBrusinkaBrzdaBrzyBublinaBubnovatBuchtaBuditelBudkaBudovaBufetBujarostBukviceBuldokBulvaBundaBunkrBurzaButikBuvolBuzolaBydletBylinaBytovkaBzukotCapartCarevnaCedrCeduleCejchCejnCelaCelerCelkemCelniceCeninaCennostCenovkaCentrumCenzorCestopisCetkaChalupaChapadloCharitaChataChechtatChemieChichotChirurgChladChlebaChlubitChmelChmuraChobotChocholChodbaCholeraChomoutChopitChorobaChovChrapotChrlitChrtChrupChtivostChudinaChutnatChvatChvilkaChvostChybaChystatChytitCibuleCigaretaCihelnaCihlaCinkotCirkusCisternaCitaceCitrusCizinecCizostClonaCokolivCouvatCtitelCtnostCudnostCuketaCukrCupotCvaknoutCvalCvikCvrkotCyklistaDalekoDarebaDatelDatumDceraDebataDechovkaDecibelDeficitDeflaceDeklDekretDemokratDepreseDerbyDeskaDetektivDikobrazDiktovatDiodaDiplomDiskDisplejDivadloDivochDlahaDlouhoDluhopisDnesDobroDobytekDocentDochutitDodnesDohledDohodaDohraDojemDojniceDokladDokolaDoktorDokumentDolarDolevaDolinaDomaDominantDomluvitDomovDonutitDopadDopisDoplnitDoposudDoprovodDopustitDorazitDorostDortDosahDoslovDostatekDosudDosytaDotazDotekDotknoutDoufatDoutnatDovozceDozaduDoznatDozorceDrahotaDrakDramatikDravecDrazeDrdolDrobnostDrogerieDrozdDrsnostDrtitDrzostDubenDuchovnoDudekDuhaDuhovkaDusitDusnoDutostDvojiceDvorecDynamitEkologEkonomieElektronElipsaEmailEmiseEmoceEmpatieEpizodaEpochaEpopejEposEsejEsenceEskortaEskymoEtiketaEuforieEvoluceExekuceExkurzeExpediceExplozeExportExtraktFackaFajfkaFakultaFanatikFantazieFarmacieFavoritFazoleFederaceFejetonFenkaFialkaFigurantFilozofFiltrFinanceFintaFixaceFjordFlanelFlirtFlotilaFondFosforFotbalFotkaFotonFrakceFreskaFrontaFukarFunkceFyzikaGalejeGarantGenetikaGeologGilotinaGlazuraGlejtGolemGolfistaGotikaGrafGramofonGranuleGrepGrilGrogGroteskaGumaHadiceHadrHalaHalenkaHanbaHanopisHarfaHarpunaHavranHebkostHejkalHejnoHejtmanHektarHelmaHematomHerecHernaHesloHezkyHistorikHladovkaHlasivkyHlavaHledatHlenHlodavecHlohHloupostHltatHlubinaHluchotaHmatHmotaHmyzHnisHnojivoHnoutHoblinaHobojHochHodinyHodlatHodnotaHodovatHojnostHokejHolinkaHolkaHolubHomoleHonitbaHonoraceHoralHordaHorizontHorkoHorlivecHormonHorninaHoroskopHorstvoHospodaHostinaHotovostHoubaHoufHoupatHouskaHovorHradbaHraniceHravostHrazdaHrbolekHrdinaHrdloHrdostHrnekHrobkaHromadaHrotHroudaHrozenHrstkaHrubostHryzatHubenostHubnoutHudbaHukotHumrHusitaHustotaHvozdHybnostHydrantHygienaHymnaHysterikIdylkaIhnedIkonaIluzeImunitaInfekceInflaceInkasoInovaceInspekceInternetInvalidaInvestorInzerceIronieJablkoJachtaJahodaJakmileJakostJalovecJantarJarmarkJaroJasanJasnoJatkaJavorJazykJedinecJedleJednatelJehlanJekotJelenJelitoJemnostJenomJepiceJeseterJevitJezdecJezeroJinakJindyJinochJiskraJistotaJitrniceJizvaJmenovatJogurtJurtaKabaretKabelKabinetKachnaKadetKadidloKahanKajakKajutaKakaoKaktusKalamitaKalhotyKalibrKalnostKameraKamkolivKamnaKanibalKanoeKantorKapalinaKapelaKapitolaKapkaKapleKapotaKaprKapustaKapybaraKaramelKarotkaKartonKasaKatalogKatedraKauceKauzaKavalecKazajkaKazetaKazivostKdekolivKdesiKedlubenKempKeramikaKinoKlacekKladivoKlamKlapotKlasikaKlaunKlecKlenbaKlepatKlesnoutKlidKlimaKlisnaKloboukKlokanKlopaKloubKlubovnaKlusatKluzkostKmenKmitatKmotrKnihaKnotKoaliceKoberecKobkaKoblihaKobylaKocourKohoutKojenecKokosKoktejlKolapsKoledaKolizeKoloKomandoKometaKomikKomnataKomoraKompasKomunitaKonatKonceptKondiceKonecKonfeseKongresKoninaKonkursKontaktKonzervaKopanecKopieKopnoutKoprovkaKorbelKorektorKormidloKoroptevKorpusKorunaKorytoKorzetKosatecKostkaKotelKotletaKotoulKoukatKoupelnaKousekKouzloKovbojKozaKozorohKrabiceKrachKrajinaKralovatKrasopisKravataKreditKrejcarKresbaKrevetaKriketKritikKrizeKrkavecKrmelecKrmivoKrocanKrokKronikaKropitKroupaKrovkaKrtekKruhadloKrupiceKrutostKrvinkaKrychleKryptaKrystalKrytKudlankaKufrKujnostKuklaKulajdaKulichKulkaKulometKulturaKunaKupodivuKurtKurzorKutilKvalitaKvasinkaKvestorKynologKyselinaKytaraKyticeKytkaKytovecKyvadloLabradorLachtanLadnostLaikLakomecLamelaLampaLanovkaLasiceLasoLasturaLatinkaLavinaLebkaLeckdyLedenLedniceLedovkaLedvinaLegendaLegieLegraceLehceLehkostLehnoutLektvarLenochodLentilkaLepenkaLepidloLetadloLetecLetmoLetokruhLevhartLevitaceLevobokLibraLichotkaLidojedLidskostLihovinaLijavecLilekLimetkaLinieLinkaLinoleumListopadLitinaLitovatLobistaLodivodLogikaLogopedLokalitaLoketLomcovatLopataLopuchLordLososLotrLoudalLouhLoukaLouskatLovecLstivostLucernaLuciferLumpLuskLustraceLviceLyraLyrikaLysinaMadamMadloMagistrMahagonMajetekMajitelMajoritaMakakMakoviceMakrelaMalbaMalinaMalovatMalviceMaminkaMandleMankoMarnostMasakrMaskotMasopustMaticeMatrikaMaturitaMazanecMazivoMazlitMazurkaMdlobaMechanikMeditaceMedovinaMelasaMelounMentolkaMetlaMetodaMetrMezeraMigraceMihnoutMihuleMikinaMikrofonMilenecMilimetrMilostMimikaMincovnaMinibarMinometMinulostMiskaMistrMixovatMladostMlhaMlhovinaMlokMlsatMluvitMnichMnohemMobilMocnostModelkaModlitbaMohylaMokroMolekulaMomentkaMonarchaMonoklMonstrumMontovatMonzunMosazMoskytMostMotivaceMotorkaMotykaMouchaMoudrostMozaikaMozekMozolMramorMravenecMrkevMrtvolaMrzetMrzutostMstitelMudrcMuflonMulatMumieMuniceMusetMutaceMuzeumMuzikantMyslivecMzdaNabouratNachytatNadaceNadbytekNadhozNadobroNadpisNahlasNahnatNahodileNahraditNaivitaNajednouNajistoNajmoutNaklonitNakonecNakrmitNalevoNamazatNamluvitNanometrNaokoNaopakNaostroNapadatNapevnoNaplnitNapnoutNaposledNaprostoNaroditNarubyNarychloNasaditNasekatNaslepoNastatNatolikNavenekNavrchNavzdoryNazvatNebeNechatNeckyNedalekoNedbatNeduhNegaceNehetNehodaNejenNejprveNeklidNelibostNemilostNemocNeochotaNeonkaNepokojNerostNervNesmyslNesouladNetvorNeuronNevinaNezvykleNicotaNijakNikamNikdyNiklNikterakNitroNoclehNohaviceNominaceNoraNorekNositelNosnostNouzeNovinyNovotaNozdraNudaNudleNugetNutitNutnostNutrieNymfaObalObarvitObavaObdivObecObehnatObejmoutObezitaObhajobaObilniceObjasnitObjektObklopitOblastOblekOblibaOblohaObludaObnosObohatitObojekOboutObrazecObrnaObrubaObrysObsahObsluhaObstaratObuvObvazObvinitObvodObvykleObyvatelObzorOcasOcelOcenitOchladitOchotaOchranaOcitnoutOdbojOdbytOdchodOdcizitOdebratOdeslatOdevzdatOdezvaOdhadceOdhoditOdjetOdjinudOdkazOdkoupitOdlivOdlukaOdmlkaOdolnostOdpadOdpisOdploutOdporOdpustitOdpykatOdrazkaOdsouditOdstupOdsunOdtokOdtudOdvahaOdvetaOdvolatOdvracetOdznakOfinaOfsajdOhlasOhniskoOhradaOhrozitOhryzekOkapOkeniceOklikaOknoOkouzlitOkovyOkrasaOkresOkrsekOkruhOkupantOkurkaOkusitOlejninaOlizovatOmakOmeletaOmezitOmladinaOmlouvatOmluvaOmylOnehdyOpakovatOpasekOperaceOpiceOpilostOpisovatOporaOpoziceOpravduOprotiOrbitalOrchestrOrgieOrliceOrlojOrtelOsadaOschnoutOsikaOsivoOslavaOslepitOslnitOslovitOsnovaOsobaOsolitOspalecOstenOstrahaOstudaOstychOsvojitOteplitOtiskOtopOtrhatOtrlostOtrokOtrubyOtvorOvanoutOvarOvesOvlivnitOvoceOxidOzdobaPachatelPacientPadouchPahorekPaktPalandaPalecPalivoPalubaPamfletPamlsekPanenkaPanikaPannaPanovatPanstvoPantoflePaprikaParketaParodiePartaParukaParybaPasekaPasivitaPastelkaPatentPatronaPavoukPaznehtPazourekPeckaPedagogPejsekPekloPelotonPenaltaPendrekPenzePeriskopPeroPestrostPetardaPeticePetrolejPevninaPexesoPianistaPihaPijavicePiklePiknikPilinaPilnostPilulkaPinzetaPipetaPisatelPistolePitevnaPivnicePivovarPlacentaPlakatPlamenPlanetaPlastikaPlatitPlavidloPlazPlechPlemenoPlentaPlesPletivoPlevelPlivatPlnitPlnoPlochaPlodinaPlombaPloutPlukPlynPobavitPobytPochodPocitPoctivecPodatPodcenitPodepsatPodhledPodivitPodkladPodmanitPodnikPodobaPodporaPodrazPodstataPodvodPodzimPoeziePohankaPohnutkaPohovorPohromaPohybPointaPojistkaPojmoutPokazitPoklesPokojPokrokPokutaPokynPolednePolibekPolknoutPolohaPolynomPomaluPominoutPomlkaPomocPomstaPomysletPonechatPonorkaPonurostPopadatPopelPopisekPoplachPoprositPopsatPopudPoradcePorcePorodPoruchaPoryvPosaditPosedPosilaPoskokPoslanecPosouditPospoluPostavaPosudekPosypPotahPotkanPotleskPotomekPotravaPotupaPotvoraPoukazPoutoPouzdroPovahaPovidlaPovlakPovozPovrchPovstatPovykPovzdechPozdravPozemekPoznatekPozorPozvatPracovatPrahoryPraktikaPralesPraotecPraporekPrasePravdaPrincipPrknoProbuditProcentoProdejProfeseProhraProjektProlomitPromilePronikatPropadProrokProsbaProtonProutekProvazPrskavkaPrstenPrudkostPrutPrvekPrvohoryPsanecPsovodPstruhPtactvoPubertaPuchPudlPukavecPuklinaPukrlePultPumpaPuncPupenPusaPusinkaPustinaPutovatPutykaPyramidaPyskPytelRacekRachotRadiaceRadniceRadonRaftRagbyRaketaRakovinaRamenoRampouchRandeRarachRaritaRasovnaRastrRatolestRazanceRazidloReagovatReakceReceptRedaktorReferentReflexRejnokReklamaRekordRekrutRektorReputaceRevizeRevmaRevolverRezervaRiskovatRizikoRobotikaRodokmenRohovkaRokleRokokoRomanetoRopovodRopuchaRorejsRosolRostlinaRotmistrRotopedRotundaRoubenkaRouchoRoupRouraRovinaRovniceRozborRozchodRozdatRozeznatRozhodceRozinkaRozjezdRozkazRozlohaRozmarRozpadRozruchRozsahRoztokRozumRozvodRubrikaRuchadloRukaviceRukopisRybaRybolovRychlostRydloRypadloRytinaRyzostSadistaSahatSakoSamecSamizdatSamotaSanitkaSardinkaSasankaSatelitSazbaSazeniceSborSchovatSebrankaSeceseSedadloSedimentSedloSehnatSejmoutSekeraSektaSekundaSekvojeSemenoSenoServisSesaditSeshoraSeskokSeslatSestraSesuvSesypatSetbaSetinaSetkatSetnoutSetrvatSeverSeznamShodaShrnoutSifonSilniceSirkaSirotekSirupSituaceSkafandrSkaliskoSkanzenSkautSkeptikSkicaSkladbaSkleniceSkloSkluzSkobaSkokanSkoroSkriptaSkrzSkupinaSkvostSkvrnaSlabikaSladidloSlaninaSlastSlavnostSledovatSlepecSlevaSlezinaSlibSlinaSlizniceSlonSloupekSlovoSluchSluhaSlunceSlupkaSlzaSmaragdSmetanaSmilstvoSmlouvaSmogSmradSmrkSmrtkaSmutekSmyslSnadSnahaSnobSobotaSochaSodovkaSokolSopkaSotvaSoubojSoucitSoudceSouhlasSouladSoumrakSoupravaSousedSoutokSouvisetSpalovnaSpasitelSpisSplavSpodekSpojenecSpoluSponzorSpornostSpoustaSprchaSpustitSrandaSrazSrdceSrnaSrnecSrovnatSrpenSrstSrubStaniceStarostaStatikaStavbaStehnoStezkaStodolaStolekStopaStornoStoupatStrachStresStrhnoutStromStrunaStudnaStupniceStvolStykSubjektSubtropySucharSudostSuknoSundatSunoutSurikataSurovinaSvahSvalstvoSvetrSvatbaSvazekSvisleSvitekSvobodaSvodidloSvorkaSvrabSykavkaSykotSynekSynovecSypatSypkostSyrovostSyselSytostTabletkaTabuleTahounTajemnoTajfunTajgaTajitTajnostTaktikaTamhleTamponTancovatTanecTankerTapetaTaveninaTazatelTechnikaTehdyTekutinaTelefonTemnotaTendenceTenistaTenorTeplotaTepnaTeprveTerapieTermoskaTextilTichoTiskopisTitulekTkadlecTkaninaTlapkaTleskatTlukotTlupaTmelToaletaTopinkaTopolTorzoTouhaToulecTradiceTraktorTrampTrasaTraverzaTrefitTrestTrezorTrhavinaTrhlinaTrochuTrojiceTroskaTroubaTrpceTrpitelTrpkostTrubecTruchlitTruhliceTrusTrvatTudyTuhnoutTuhostTundraTuristaTurnajTuzemskoTvarohTvorbaTvrdostTvrzTygrTykevUbohostUbozeUbratUbrousekUbrusUbytovnaUchoUctivostUdivitUhraditUjednatUjistitUjmoutUkazatelUklidnitUklonitUkotvitUkrojitUliceUlitaUlovitUmyvadloUnavitUniformaUniknoutUpadnoutUplatnitUplynoutUpoutatUpravitUranUrazitUsednoutUsilovatUsmrtitUsnadnitUsnoutUsouditUstlatUstrnoutUtahovatUtkatUtlumitUtonoutUtopenecUtrousitUvalitUvolnitUvozovkaUzdravitUzelUzeninaUzlinaUznatVagonValchaValounVanaVandalVanilkaVaranVarhanyVarovatVcelkuVchodVdovaVedroVegetaceVejceVelbloudVeletrhVelitelVelmocVelrybaVenkovVerandaVerzeVeselkaVeskrzeVesniceVespoduVestaVeterinaVeverkaVibraceVichrVideohraVidinaVidleVilaViniceVisetVitalitaVizeVizitkaVjezdVkladVkusVlajkaVlakVlasecVlevoVlhkostVlivVlnovkaVloupatVnucovatVnukVodaVodivostVodoznakVodstvoVojenskyVojnaVojskoVolantVolbaVolitVolnoVoskovkaVozidloVozovnaVpravoVrabecVracetVrahVrataVrbaVrcholekVrhatVrstvaVrtuleVsaditVstoupitVstupVtipVybavitVybratVychovatVydatVydraVyfotitVyhledatVyhnoutVyhoditVyhraditVyhubitVyjasnitVyjetVyjmoutVyklopitVykonatVylekatVymazatVymezitVymizetVymysletVynechatVynikatVynutitVypadatVyplatitVypravitVypustitVyrazitVyrovnatVyrvatVyslovitVysokoVystavitVysunoutVysypatVytasitVytesatVytratitVyvinoutVyvolatVyvrhelVyzdobitVyznatVzaduVzbuditVzchopitVzdorVzduchVzdychatVzestupVzhledemVzkazVzlykatVznikVzorekVzpouraVztahVztekXylofonZabratZabydletZachovatZadarmoZadusitZafoukatZahltitZahoditZahradaZahynoutZajatecZajetZajistitZaklepatZakoupitZalepitZamezitZamotatZamysletZanechatZanikatZaplatitZapojitZapsatZarazitZastavitZasunoutZatajitZatemnitZatknoutZaujmoutZavalitZaveletZavinitZavolatZavrtatZazvonitZbavitZbrusuZbudovatZbytekZdalekaZdarmaZdatnostZdivoZdobitZdrojZdvihZdymadloZeleninaZemanZeminaZeptatZezaduZezdolaZhatitZhltnoutZhlubokaZhotovitZhrubaZimaZimniceZjemnitZklamatZkoumatZkratkaZkumavkaZlatoZlehkaZlobaZlomZlostZlozvykZmapovatZmarZmatekZmijeZmizetZmocnitZmodratZmrzlinaZmutovatZnakZnalostZnamenatZnovuZobrazitZotavitZoubekZoufaleZploditZpomalitZpravaZprostitZprudkaZprvuZradaZranitZrcadloZrnitostZrnoZrovnaZrychlitZrzavostZtichaZtratitZubovinaZubrZvednoutZvenkuZveselaZvonZvratZvukovodZvyk".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a"!==ui.check(e)))throw ci=null,new Error("BIP39 Wordlist for en (English) FAILED")}const di=new class extends ui{constructor(){super("cz")}getWord(e){return hi(this),ci[e]}getWordIndex(e){return hi(this),ci.indexOf(e)}};ui.register(di);let fi=null;function pi(e){if(null==fi&&(fi="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==ui.check(e)))throw fi=null,new Error("BIP39 Wordlist for en (English) FAILED")}const mi=new class extends ui{constructor(){super("en")}getWord(e){return pi(this),fi[e]}getWordIndex(e){return pi(this),fi.indexOf(e)}};ui.register(mi);const gi={};let vi=null;function bi(e){return li.checkNormalize(),Jt(Array.prototype.filter.call(kt(e.normalize("NFD").toLowerCase()),e=>e>=65&&e<=90||e>=97&&e<=123))}function yi(e){if(null==vi&&(vi="A/bacoAbdomenAbejaAbiertoAbogadoAbonoAbortoAbrazoAbrirAbueloAbusoAcabarAcademiaAccesoAccio/nAceiteAcelgaAcentoAceptarA/cidoAclararAcne/AcogerAcosoActivoActoActrizActuarAcudirAcuerdoAcusarAdictoAdmitirAdoptarAdornoAduanaAdultoAe/reoAfectarAficio/nAfinarAfirmarA/gilAgitarAgoni/aAgostoAgotarAgregarAgrioAguaAgudoA/guilaAgujaAhogoAhorroAireAislarAjedrezAjenoAjusteAlacra/nAlambreAlarmaAlbaA/lbumAlcaldeAldeaAlegreAlejarAlertaAletaAlfilerAlgaAlgodo/nAliadoAlientoAlivioAlmaAlmejaAlmi/barAltarAltezaAltivoAltoAlturaAlumnoAlzarAmableAmanteAmapolaAmargoAmasarA/mbarA/mbitoAmenoAmigoAmistadAmorAmparoAmplioAnchoAncianoAnclaAndarAnde/nAnemiaA/nguloAnilloA/nimoAni/sAnotarAntenaAntiguoAntojoAnualAnularAnuncioA~adirA~ejoA~oApagarAparatoApetitoApioAplicarApodoAporteApoyoAprenderAprobarApuestaApuroAradoAra~aArarA/rbitroA/rbolArbustoArchivoArcoArderArdillaArduoA/reaA/ridoAriesArmoni/aArne/sAromaArpaArpo/nArregloArrozArrugaArteArtistaAsaAsadoAsaltoAscensoAsegurarAseoAsesorAsientoAsiloAsistirAsnoAsombroA/speroAstillaAstroAstutoAsumirAsuntoAtajoAtaqueAtarAtentoAteoA/ticoAtletaA/tomoAtraerAtrozAtu/nAudazAudioAugeAulaAumentoAusenteAutorAvalAvanceAvaroAveAvellanaAvenaAvestruzAvio/nAvisoAyerAyudaAyunoAzafra/nAzarAzoteAzu/carAzufreAzulBabaBaborBacheBahi/aBaileBajarBalanzaBalco/nBaldeBambu/BancoBandaBa~oBarbaBarcoBarnizBarroBa/sculaBasto/nBasuraBatallaBateri/aBatirBatutaBau/lBazarBebe/BebidaBelloBesarBesoBestiaBichoBienBingoBlancoBloqueBlusaBoaBobinaBoboBocaBocinaBodaBodegaBoinaBolaBoleroBolsaBombaBondadBonitoBonoBonsa/iBordeBorrarBosqueBoteBoti/nBo/vedaBozalBravoBrazoBrechaBreveBrilloBrincoBrisaBrocaBromaBronceBroteBrujaBruscoBrutoBuceoBucleBuenoBueyBufandaBufo/nBu/hoBuitreBultoBurbujaBurlaBurroBuscarButacaBuzo/nCaballoCabezaCabinaCabraCacaoCada/verCadenaCaerCafe/Cai/daCaima/nCajaCajo/nCalCalamarCalcioCaldoCalidadCalleCalmaCalorCalvoCamaCambioCamelloCaminoCampoCa/ncerCandilCanelaCanguroCanicaCantoCa~aCa~o/nCaobaCaosCapazCapita/nCapoteCaptarCapuchaCaraCarbo/nCa/rcelCaretaCargaCari~oCarneCarpetaCarroCartaCasaCascoCaseroCaspaCastorCatorceCatreCaudalCausaCazoCebollaCederCedroCeldaCe/lebreCelosoCe/lulaCementoCenizaCentroCercaCerdoCerezaCeroCerrarCertezaCe/spedCetroChacalChalecoChampu/ChanclaChapaCharlaChicoChisteChivoChoqueChozaChuletaChuparCiclo/nCiegoCieloCienCiertoCifraCigarroCimaCincoCineCintaCipre/sCircoCiruelaCisneCitaCiudadClamorClanClaroClaseClaveClienteClimaCli/nicaCobreCoccio/nCochinoCocinaCocoCo/digoCodoCofreCogerCoheteCoji/nCojoColaColchaColegioColgarColinaCollarColmoColumnaCombateComerComidaCo/modoCompraCondeConejoCongaConocerConsejoContarCopaCopiaCorazo/nCorbataCorchoCordo/nCoronaCorrerCoserCosmosCostaCra/neoCra/terCrearCrecerCrei/doCremaCri/aCrimenCriptaCrisisCromoCro/nicaCroquetaCrudoCruzCuadroCuartoCuatroCuboCubrirCucharaCuelloCuentoCuerdaCuestaCuevaCuidarCulebraCulpaCultoCumbreCumplirCunaCunetaCuotaCupo/nCu/pulaCurarCuriosoCursoCurvaCutisDamaDanzaDarDardoDa/tilDeberDe/bilDe/cadaDecirDedoDefensaDefinirDejarDelfi/nDelgadoDelitoDemoraDensoDentalDeporteDerechoDerrotaDesayunoDeseoDesfileDesnudoDestinoDesvi/oDetalleDetenerDeudaDi/aDiabloDiademaDiamanteDianaDiarioDibujoDictarDienteDietaDiezDifi/cilDignoDilemaDiluirDineroDirectoDirigirDiscoDise~oDisfrazDivaDivinoDobleDoceDolorDomingoDonDonarDoradoDormirDorsoDosDosisDrago/nDrogaDuchaDudaDueloDue~oDulceDu/oDuqueDurarDurezaDuroE/banoEbrioEcharEcoEcuadorEdadEdicio/nEdificioEditorEducarEfectoEficazEjeEjemploElefanteElegirElementoElevarElipseE/liteElixirElogioEludirEmbudoEmitirEmocio/nEmpateEmpe~oEmpleoEmpresaEnanoEncargoEnchufeEnci/aEnemigoEneroEnfadoEnfermoEnga~oEnigmaEnlaceEnormeEnredoEnsayoEnse~arEnteroEntrarEnvaseEnvi/oE/pocaEquipoErizoEscalaEscenaEscolarEscribirEscudoEsenciaEsferaEsfuerzoEspadaEspejoEspi/aEsposaEspumaEsqui/EstarEsteEstiloEstufaEtapaEternoE/ticaEtniaEvadirEvaluarEventoEvitarExactoExamenExcesoExcusaExentoExigirExilioExistirE/xitoExpertoExplicarExponerExtremoFa/bricaFa/bulaFachadaFa/cilFactorFaenaFajaFaldaFalloFalsoFaltarFamaFamiliaFamosoFarao/nFarmaciaFarolFarsaFaseFatigaFaunaFavorFaxFebreroFechaFelizFeoFeriaFerozFe/rtilFervorFesti/nFiableFianzaFiarFibraFiccio/nFichaFideoFiebreFielFieraFiestaFiguraFijarFijoFilaFileteFilialFiltroFinFincaFingirFinitoFirmaFlacoFlautaFlechaFlorFlotaFluirFlujoFlu/orFobiaFocaFogataFogo/nFolioFolletoFondoFormaForroFortunaForzarFosaFotoFracasoFra/gilFranjaFraseFraudeFrei/rFrenoFresaFri/oFritoFrutaFuegoFuenteFuerzaFugaFumarFuncio/nFundaFurgo/nFuriaFusilFu/tbolFuturoGacelaGafasGaitaGajoGalaGaleri/aGalloGambaGanarGanchoGangaGansoGarajeGarzaGasolinaGastarGatoGavila/nGemeloGemirGenGe/neroGenioGenteGeranioGerenteGermenGestoGiganteGimnasioGirarGiroGlaciarGloboGloriaGolGolfoGolosoGolpeGomaGordoGorilaGorraGotaGoteoGozarGradaGra/ficoGranoGrasaGratisGraveGrietaGrilloGripeGrisGritoGrosorGru/aGruesoGrumoGrupoGuanteGuapoGuardiaGuerraGui/aGui~oGuionGuisoGuitarraGusanoGustarHaberHa/bilHablarHacerHachaHadaHallarHamacaHarinaHazHaza~aHebillaHebraHechoHeladoHelioHembraHerirHermanoHe/roeHervirHieloHierroHi/gadoHigieneHijoHimnoHistoriaHocicoHogarHogueraHojaHombreHongoHonorHonraHoraHormigaHornoHostilHoyoHuecoHuelgaHuertaHuesoHuevoHuidaHuirHumanoHu/medoHumildeHumoHundirHuraca/nHurtoIconoIdealIdiomaI/doloIglesiaIglu/IgualIlegalIlusio/nImagenIma/nImitarImparImperioImponerImpulsoIncapazI/ndiceInerteInfielInformeIngenioInicioInmensoInmuneInnatoInsectoInstanteIntere/sI/ntimoIntuirInu/tilInviernoIraIrisIroni/aIslaIsloteJabali/Jabo/nJamo/nJarabeJardi/nJarraJaulaJazmi/nJefeJeringaJineteJornadaJorobaJovenJoyaJuergaJuevesJuezJugadorJugoJugueteJuicioJuncoJunglaJunioJuntarJu/piterJurarJustoJuvenilJuzgarKiloKoalaLabioLacioLacraLadoLadro/nLagartoLa/grimaLagunaLaicoLamerLa/minaLa/mparaLanaLanchaLangostaLanzaLa/pizLargoLarvaLa/stimaLataLa/texLatirLaurelLavarLazoLealLeccio/nLecheLectorLeerLegio/nLegumbreLejanoLenguaLentoLe~aLeo/nLeopardoLesio/nLetalLetraLeveLeyendaLibertadLibroLicorLi/derLidiarLienzoLigaLigeroLimaLi/miteLimo/nLimpioLinceLindoLi/neaLingoteLinoLinternaLi/quidoLisoListaLiteraLitioLitroLlagaLlamaLlantoLlaveLlegarLlenarLlevarLlorarLloverLluviaLoboLocio/nLocoLocuraLo/gicaLogroLombrizLomoLonjaLoteLuchaLucirLugarLujoLunaLunesLupaLustroLutoLuzMacetaMachoMaderaMadreMaduroMaestroMafiaMagiaMagoMai/zMaldadMaletaMallaMaloMama/MamboMamutMancoMandoManejarMangaManiqui/ManjarManoMansoMantaMa~anaMapaMa/quinaMarMarcoMareaMarfilMargenMaridoMa/rmolMarro/nMartesMarzoMasaMa/scaraMasivoMatarMateriaMatizMatrizMa/ximoMayorMazorcaMechaMedallaMedioMe/dulaMejillaMejorMelenaMelo/nMemoriaMenorMensajeMenteMenu/MercadoMerengueMe/ritoMesMeso/nMetaMeterMe/todoMetroMezclaMiedoMielMiembroMigaMilMilagroMilitarMillo/nMimoMinaMineroMi/nimoMinutoMiopeMirarMisaMiseriaMisilMismoMitadMitoMochilaMocio/nModaModeloMohoMojarMoldeMolerMolinoMomentoMomiaMonarcaMonedaMonjaMontoMo~oMoradaMorderMorenoMorirMorroMorsaMortalMoscaMostrarMotivoMoverMo/vilMozoMuchoMudarMuebleMuelaMuerteMuestraMugreMujerMulaMuletaMultaMundoMu~ecaMuralMuroMu/sculoMuseoMusgoMu/sicaMusloNa/carNacio/nNadarNaipeNaranjaNarizNarrarNasalNatalNativoNaturalNa/useaNavalNaveNavidadNecioNe/ctarNegarNegocioNegroNeo/nNervioNetoNeutroNevarNeveraNichoNidoNieblaNietoNi~ezNi~oNi/tidoNivelNoblezaNocheNo/minaNoriaNormaNorteNotaNoticiaNovatoNovelaNovioNubeNucaNu/cleoNudilloNudoNueraNueveNuezNuloNu/meroNutriaOasisObesoObispoObjetoObraObreroObservarObtenerObvioOcaOcasoOce/anoOchentaOchoOcioOcreOctavoOctubreOcultoOcuparOcurrirOdiarOdioOdiseaOesteOfensaOfertaOficioOfrecerOgroOi/doOi/rOjoOlaOleadaOlfatoOlivoOllaOlmoOlorOlvidoOmbligoOndaOnzaOpacoOpcio/nO/peraOpinarOponerOptarO/pticaOpuestoOracio/nOradorOralO/rbitaOrcaOrdenOrejaO/rganoOrgi/aOrgulloOrienteOrigenOrillaOroOrquestaOrugaOsadi/aOscuroOseznoOsoOstraOto~oOtroOvejaO/vuloO/xidoOxi/genoOyenteOzonoPactoPadrePaellaPa/ginaPagoPai/sPa/jaroPalabraPalcoPaletaPa/lidoPalmaPalomaPalparPanPanalPa/nicoPanteraPa~ueloPapa/PapelPapillaPaquetePararParcelaParedParirParoPa/rpadoParquePa/rrafoPartePasarPaseoPasio/nPasoPastaPataPatioPatriaPausaPautaPavoPayasoPeato/nPecadoPeceraPechoPedalPedirPegarPeinePelarPelda~oPeleaPeligroPellejoPeloPelucaPenaPensarPe~o/nPeo/nPeorPepinoPeque~oPeraPerchaPerderPerezaPerfilPericoPerlaPermisoPerroPersonaPesaPescaPe/simoPesta~aPe/taloPetro/leoPezPezu~aPicarPicho/nPiePiedraPiernaPiezaPijamaPilarPilotoPimientaPinoPintorPinzaPi~aPiojoPipaPirataPisarPiscinaPisoPistaPito/nPizcaPlacaPlanPlataPlayaPlazaPleitoPlenoPlomoPlumaPluralPobrePocoPoderPodioPoemaPoesi/aPoetaPolenPolici/aPolloPolvoPomadaPomeloPomoPompaPonerPorcio/nPortalPosadaPoseerPosiblePostePotenciaPotroPozoPradoPrecozPreguntaPremioPrensaPresoPrevioPrimoPri/ncipePrisio/nPrivarProaProbarProcesoProductoProezaProfesorProgramaProlePromesaProntoPropioPro/ximoPruebaPu/blicoPucheroPudorPuebloPuertaPuestoPulgaPulirPulmo/nPulpoPulsoPumaPuntoPu~alPu~oPupaPupilaPure/QuedarQuejaQuemarQuererQuesoQuietoQui/micaQuinceQuitarRa/banoRabiaRaboRacio/nRadicalRai/zRamaRampaRanchoRangoRapazRa/pidoRaptoRasgoRaspaRatoRayoRazaRazo/nReaccio/nRealidadReba~oReboteRecaerRecetaRechazoRecogerRecreoRectoRecursoRedRedondoReducirReflejoReformaRefra/nRefugioRegaloRegirReglaRegresoRehe/nReinoRei/rRejaRelatoRelevoRelieveRellenoRelojRemarRemedioRemoRencorRendirRentaRepartoRepetirReposoReptilResRescateResinaRespetoRestoResumenRetiroRetornoRetratoReunirReve/sRevistaReyRezarRicoRiegoRiendaRiesgoRifaRi/gidoRigorRinco/nRi~o/nRi/oRiquezaRisaRitmoRitoRizoRobleRoceRociarRodarRodeoRodillaRoerRojizoRojoRomeroRomperRonRoncoRondaRopaRoperoRosaRoscaRostroRotarRubi/RuborRudoRuedaRugirRuidoRuinaRuletaRuloRumboRumorRupturaRutaRutinaSa/badoSaberSabioSableSacarSagazSagradoSalaSaldoSaleroSalirSalmo/nSalo/nSalsaSaltoSaludSalvarSambaSancio/nSandi/aSanearSangreSanidadSanoSantoSapoSaqueSardinaSarte/nSastreSata/nSaunaSaxofo/nSeccio/nSecoSecretoSectaSedSeguirSeisSelloSelvaSemanaSemillaSendaSensorSe~alSe~orSepararSepiaSequi/aSerSerieSermo/nServirSesentaSesio/nSetaSetentaSeveroSexoSextoSidraSiestaSieteSigloSignoSi/labaSilbarSilencioSillaSi/mboloSimioSirenaSistemaSitioSituarSobreSocioSodioSolSolapaSoldadoSoledadSo/lidoSoltarSolucio/nSombraSondeoSonidoSonoroSonrisaSopaSoplarSoporteSordoSorpresaSorteoSoste/nSo/tanoSuaveSubirSucesoSudorSuegraSueloSue~oSuerteSufrirSujetoSulta/nSumarSuperarSuplirSuponerSupremoSurSurcoSure~oSurgirSustoSutilTabacoTabiqueTablaTabu/TacoTactoTajoTalarTalcoTalentoTallaTalo/nTama~oTamborTangoTanqueTapaTapeteTapiaTapo/nTaquillaTardeTareaTarifaTarjetaTarotTarroTartaTatuajeTauroTazaTazo/nTeatroTechoTeclaTe/cnicaTejadoTejerTejidoTelaTele/fonoTemaTemorTemploTenazTenderTenerTenisTensoTeori/aTerapiaTercoTe/rminoTernuraTerrorTesisTesoroTestigoTeteraTextoTezTibioTiburo/nTiempoTiendaTierraTiesoTigreTijeraTildeTimbreTi/midoTimoTintaTi/oTi/picoTipoTiraTiro/nTita/nTi/tereTi/tuloTizaToallaTobilloTocarTocinoTodoTogaToldoTomarTonoTontoToparTopeToqueTo/raxToreroTormentaTorneoToroTorpedoTorreTorsoTortugaTosToscoToserTo/xicoTrabajoTractorTraerTra/ficoTragoTrajeTramoTranceTratoTraumaTrazarTre/bolTreguaTreintaTrenTreparTresTribuTrigoTripaTristeTriunfoTrofeoTrompaTroncoTropaTroteTrozoTrucoTruenoTrufaTuberi/aTuboTuertoTumbaTumorTu/nelTu/nicaTurbinaTurismoTurnoTutorUbicarU/lceraUmbralUnidadUnirUniversoUnoUntarU~aUrbanoUrbeUrgenteUrnaUsarUsuarioU/tilUtopi/aUvaVacaVaci/oVacunaVagarVagoVainaVajillaValeVa/lidoValleValorVa/lvulaVampiroVaraVariarVaro/nVasoVecinoVectorVehi/culoVeinteVejezVelaVeleroVelozVenaVencerVendaVenenoVengarVenirVentaVenusVerVeranoVerboVerdeVeredaVerjaVersoVerterVi/aViajeVibrarVicioVi/ctimaVidaVi/deoVidrioViejoViernesVigorVilVillaVinagreVinoVi~edoVioli/nViralVirgoVirtudVisorVi/speraVistaVitaminaViudoVivazViveroVivirVivoVolca/nVolumenVolverVorazVotarVotoVozVueloVulgarYacerYateYeguaYemaYernoYesoYodoYogaYogurZafiroZanjaZapatoZarzaZonaZorroZumoZurdo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map(e=>function(e){const t=[];return Array.prototype.forEach.call(kt(e),e=>{47===e?(t.push(204),t.push(129)):126===e?(t.push(110),t.push(204),t.push(131)):t.push(e)}),Jt(t)}(e)),vi.forEach((e,t)=>{gi[bi(e)]=t}),"0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300"!==ui.check(e)))throw vi=null,new Error("BIP39 Wordlist for es (Spanish) FAILED")}const Ai=new class extends ui{constructor(){super("es")}getWord(e){return yi(this),vi[e]}getWordIndex(e){yi(this);const t=gi[bi(e)];return"number"!=typeof t?-1:t}};ui.register(Ai);let Ti=null;const Si={};function wi(e){return li.checkNormalize(),Jt(Array.prototype.filter.call(kt(e.normalize("NFD").toLowerCase()),e=>e>=65&&e<=90||e>=97&&e<=123))}function Mi(e){if(null==Ti&&(Ti="AbaisserAbandonAbdiquerAbeilleAbolirAborderAboutirAboyerAbrasifAbreuverAbriterAbrogerAbruptAbsenceAbsoluAbsurdeAbusifAbyssalAcade/mieAcajouAcarienAccablerAccepterAcclamerAccoladeAccrocheAccuserAcerbeAchatAcheterAcidulerAcierAcompteAcque/rirAcronymeActeurActifActuelAdepteAde/quatAdhe/sifAdjectifAdjugerAdmettreAdmirerAdopterAdorerAdoucirAdresseAdroitAdulteAdverbeAe/rerAe/ronefAffaireAffecterAfficheAffreuxAffublerAgacerAgencerAgileAgiterAgraferAgre/ableAgrumeAiderAiguilleAilierAimableAisanceAjouterAjusterAlarmerAlchimieAlerteAlge-breAlgueAlie/nerAlimentAlle/gerAlliageAllouerAllumerAlourdirAlpagaAltesseAlve/oleAmateurAmbiguAmbreAme/nagerAmertumeAmidonAmiralAmorcerAmourAmovibleAmphibieAmpleurAmusantAnalyseAnaphoreAnarchieAnatomieAncienAne/antirAngleAngoisseAnguleuxAnimalAnnexerAnnonceAnnuelAnodinAnomalieAnonymeAnormalAntenneAntidoteAnxieuxApaiserApe/ritifAplanirApologieAppareilAppelerApporterAppuyerAquariumAqueducArbitreArbusteArdeurArdoiseArgentArlequinArmatureArmementArmoireArmureArpenterArracherArriverArroserArsenicArte/rielArticleAspectAsphalteAspirerAssautAsservirAssietteAssocierAssurerAsticotAstreAstuceAtelierAtomeAtriumAtroceAttaqueAttentifAttirerAttraperAubaineAubergeAudaceAudibleAugurerAuroreAutomneAutrucheAvalerAvancerAvariceAvenirAverseAveugleAviateurAvideAvionAviserAvoineAvouerAvrilAxialAxiomeBadgeBafouerBagageBaguetteBaignadeBalancerBalconBaleineBalisageBambinBancaireBandageBanlieueBannie-reBanquierBarbierBarilBaronBarqueBarrageBassinBastionBatailleBateauBatterieBaudrierBavarderBeletteBe/lierBeloteBe/ne/ficeBerceauBergerBerlineBermudaBesaceBesogneBe/tailBeurreBiberonBicycleBiduleBijouBilanBilingueBillardBinaireBiologieBiopsieBiotypeBiscuitBisonBistouriBitumeBizarreBlafardBlagueBlanchirBlessantBlinderBlondBloquerBlousonBobardBobineBoireBoiserBolideBonbonBondirBonheurBonifierBonusBordureBorneBotteBoucleBoueuxBougieBoulonBouquinBourseBoussoleBoutiqueBoxeurBrancheBrasierBraveBrebisBre-cheBreuvageBricolerBrigadeBrillantBriocheBriqueBrochureBroderBronzerBrousseBroyeurBrumeBrusqueBrutalBruyantBuffleBuissonBulletinBureauBurinBustierButinerButoirBuvableBuvetteCabanonCabineCachetteCadeauCadreCafe/ineCaillouCaissonCalculerCalepinCalibreCalmerCalomnieCalvaireCamaradeCame/raCamionCampagneCanalCanetonCanonCantineCanularCapableCaporalCapriceCapsuleCapterCapucheCarabineCarboneCaresserCaribouCarnageCarotteCarreauCartonCascadeCasierCasqueCassureCauserCautionCavalierCaverneCaviarCe/dilleCeintureCe/lesteCelluleCendrierCensurerCentralCercleCe/re/bralCeriseCernerCerveauCesserChagrinChaiseChaleurChambreChanceChapitreCharbonChasseurChatonChaussonChavirerChemiseChenilleChe/quierChercherChevalChienChiffreChignonChime-reChiotChlorureChocolatChoisirChoseChouetteChromeChuteCigareCigogneCimenterCine/maCintrerCirculerCirerCirqueCiterneCitoyenCitronCivilClaironClameurClaquerClasseClavierClientClignerClimatClivageClocheClonageCloporteCobaltCobraCocasseCocotierCoderCodifierCoffreCognerCohe/sionCoifferCoincerCole-reColibriCollineColmaterColonelCombatCome/dieCommandeCompactConcertConduireConfierCongelerConnoterConsonneContactConvexeCopainCopieCorailCorbeauCordageCornicheCorpusCorrectCorte-geCosmiqueCostumeCotonCoudeCoupureCourageCouteauCouvrirCoyoteCrabeCrainteCravateCrayonCre/atureCre/diterCre/meuxCreuserCrevetteCriblerCrierCristalCrite-reCroireCroquerCrotaleCrucialCruelCrypterCubiqueCueillirCuille-reCuisineCuivreCulminerCultiverCumulerCupideCuratifCurseurCyanureCycleCylindreCyniqueDaignerDamierDangerDanseurDauphinDe/battreDe/biterDe/borderDe/briderDe/butantDe/calerDe/cembreDe/chirerDe/ciderDe/clarerDe/corerDe/crireDe/cuplerDe/daleDe/ductifDe/esseDe/fensifDe/filerDe/frayerDe/gagerDe/givrerDe/glutirDe/graferDe/jeunerDe/liceDe/logerDemanderDemeurerDe/molirDe/nicherDe/nouerDentelleDe/nuderDe/partDe/penserDe/phaserDe/placerDe/poserDe/rangerDe/roberDe/sastreDescenteDe/sertDe/signerDe/sobe/irDessinerDestrierDe/tacherDe/testerDe/tourerDe/tresseDevancerDevenirDevinerDevoirDiableDialogueDiamantDicterDiffe/rerDige/rerDigitalDigneDiluerDimancheDiminuerDioxydeDirectifDirigerDiscuterDisposerDissiperDistanceDivertirDiviserDocileDocteurDogmeDoigtDomaineDomicileDompterDonateurDonjonDonnerDopamineDortoirDorureDosageDoseurDossierDotationDouanierDoubleDouceurDouterDoyenDragonDraperDresserDribblerDroitureDuperieDuplexeDurableDurcirDynastieE/blouirE/carterE/charpeE/chelleE/clairerE/clipseE/cloreE/cluseE/coleE/conomieE/corceE/couterE/craserE/cre/merE/crivainE/crouE/cumeE/cureuilE/difierE/duquerEffacerEffectifEffigieEffortEffrayerEffusionE/galiserE/garerE/jecterE/laborerE/largirE/lectronE/le/gantE/le/phantE/le-veE/ligibleE/litismeE/logeE/luciderE/luderEmballerEmbellirEmbryonE/meraudeE/missionEmmenerE/motionE/mouvoirEmpereurEmployerEmporterEmpriseE/mulsionEncadrerEnche-reEnclaveEncocheEndiguerEndosserEndroitEnduireE/nergieEnfanceEnfermerEnfouirEngagerEnginEngloberE/nigmeEnjamberEnjeuEnleverEnnemiEnnuyeuxEnrichirEnrobageEnseigneEntasserEntendreEntierEntourerEntraverE/nume/rerEnvahirEnviableEnvoyerEnzymeE/olienE/paissirE/pargneE/patantE/pauleE/picerieE/pide/mieE/pierE/pilogueE/pineE/pisodeE/pitapheE/poqueE/preuveE/prouverE/puisantE/querreE/quipeE/rigerE/rosionErreurE/ruptionEscalierEspadonEspe-ceEspie-gleEspoirEspritEsquiverEssayerEssenceEssieuEssorerEstimeEstomacEstradeE/tage-reE/talerE/tancheE/tatiqueE/teindreE/tendoirE/ternelE/thanolE/thiqueEthnieE/tirerE/tofferE/toileE/tonnantE/tourdirE/trangeE/troitE/tudeEuphorieE/valuerE/vasionE/ventailE/videnceE/viterE/volutifE/voquerExactExage/rerExaucerExcellerExcitantExclusifExcuseExe/cuterExempleExercerExhalerExhorterExigenceExilerExisterExotiqueExpe/dierExplorerExposerExprimerExquisExtensifExtraireExulterFableFabuleuxFacetteFacileFactureFaiblirFalaiseFameuxFamilleFarceurFarfeluFarineFaroucheFascinerFatalFatigueFauconFautifFaveurFavoriFe/brileFe/conderFe/de/rerFe/linFemmeFe/murFendoirFe/odalFermerFe/roceFerveurFestivalFeuilleFeutreFe/vrierFiascoFicelerFictifFide-leFigureFilatureFiletageFilie-reFilleulFilmerFilouFiltrerFinancerFinirFioleFirmeFissureFixerFlairerFlammeFlasqueFlatteurFle/auFle-cheFleurFlexionFloconFloreFluctuerFluideFluvialFolieFonderieFongibleFontaineForcerForgeronFormulerFortuneFossileFoudreFouge-reFouillerFoulureFourmiFragileFraiseFranchirFrapperFrayeurFre/gateFreinerFrelonFre/mirFre/ne/sieFre-reFriableFrictionFrissonFrivoleFroidFromageFrontalFrotterFruitFugitifFuiteFureurFurieuxFurtifFusionFuturGagnerGalaxieGalerieGambaderGarantirGardienGarnirGarrigueGazelleGazonGe/antGe/latineGe/luleGendarmeGe/ne/ralGe/nieGenouGentilGe/ologieGe/ome-treGe/raniumGermeGestuelGeyserGibierGiclerGirafeGivreGlaceGlaiveGlisserGlobeGloireGlorieuxGolfeurGommeGonflerGorgeGorilleGoudronGouffreGoulotGoupilleGourmandGoutteGraduelGraffitiGraineGrandGrappinGratuitGravirGrenatGriffureGrillerGrimperGrognerGronderGrotteGroupeGrugerGrutierGruye-reGue/pardGuerrierGuideGuimauveGuitareGustatifGymnasteGyrostatHabitudeHachoirHalteHameauHangarHannetonHaricotHarmonieHarponHasardHe/liumHe/matomeHerbeHe/rissonHermineHe/ronHe/siterHeureuxHibernerHibouHilarantHistoireHiverHomardHommageHomoge-neHonneurHonorerHonteuxHordeHorizonHorlogeHormoneHorribleHouleuxHousseHublotHuileuxHumainHumbleHumideHumourHurlerHydromelHygie-neHymneHypnoseIdylleIgnorerIguaneIlliciteIllusionImageImbiberImiterImmenseImmobileImmuableImpactImpe/rialImplorerImposerImprimerImputerIncarnerIncendieIncidentInclinerIncoloreIndexerIndiceInductifIne/ditIneptieInexactInfiniInfligerInformerInfusionInge/rerInhalerInhiberInjecterInjureInnocentInoculerInonderInscrireInsecteInsigneInsoliteInspirerInstinctInsulterIntactIntenseIntimeIntrigueIntuitifInutileInvasionInventerInviterInvoquerIroniqueIrradierIrre/elIrriterIsolerIvoireIvresseJaguarJaillirJambeJanvierJardinJaugerJauneJavelotJetableJetonJeudiJeunesseJoindreJoncherJonglerJoueurJouissifJournalJovialJoyauJoyeuxJubilerJugementJuniorJuponJuristeJusticeJuteuxJuve/nileKayakKimonoKiosqueLabelLabialLabourerLace/rerLactoseLaguneLaineLaisserLaitierLambeauLamelleLampeLanceurLangageLanterneLapinLargeurLarmeLaurierLavaboLavoirLectureLe/galLe/gerLe/gumeLessiveLettreLevierLexiqueLe/zardLiasseLibe/rerLibreLicenceLicorneLie-geLie-vreLigatureLigoterLigueLimerLimiteLimonadeLimpideLine/aireLingotLionceauLiquideLisie-reListerLithiumLitigeLittoralLivreurLogiqueLointainLoisirLombricLoterieLouerLourdLoutreLouveLoyalLubieLucideLucratifLueurLugubreLuisantLumie-reLunaireLundiLuronLutterLuxueuxMachineMagasinMagentaMagiqueMaigreMaillonMaintienMairieMaisonMajorerMalaxerMale/ficeMalheurMaliceMalletteMammouthMandaterManiableManquantManteauManuelMarathonMarbreMarchandMardiMaritimeMarqueurMarronMartelerMascotteMassifMate/rielMatie-reMatraqueMaudireMaussadeMauveMaximalMe/chantMe/connuMe/dailleMe/decinMe/diterMe/duseMeilleurMe/langeMe/lodieMembreMe/moireMenacerMenerMenhirMensongeMentorMercrediMe/riteMerleMessagerMesureMe/talMe/te/oreMe/thodeMe/tierMeubleMiaulerMicrobeMietteMignonMigrerMilieuMillionMimiqueMinceMine/ralMinimalMinorerMinuteMiracleMiroiterMissileMixteMobileModerneMoelleuxMondialMoniteurMonnaieMonotoneMonstreMontagneMonumentMoqueurMorceauMorsureMortierMoteurMotifMoucheMoufleMoulinMoussonMoutonMouvantMultipleMunitionMurailleMure-neMurmureMuscleMuse/umMusicienMutationMuterMutuelMyriadeMyrtilleMyste-reMythiqueNageurNappeNarquoisNarrerNatationNationNatureNaufrageNautiqueNavireNe/buleuxNectarNe/fasteNe/gationNe/gligerNe/gocierNeigeNerveuxNettoyerNeuroneNeutronNeveuNicheNickelNitrateNiveauNobleNocifNocturneNoirceurNoisetteNomadeNombreuxNommerNormatifNotableNotifierNotoireNourrirNouveauNovateurNovembreNoviceNuageNuancerNuireNuisibleNume/roNuptialNuqueNutritifObe/irObjectifObligerObscurObserverObstacleObtenirObturerOccasionOccuperOce/anOctobreOctroyerOctuplerOculaireOdeurOdorantOffenserOfficierOffrirOgiveOiseauOisillonOlfactifOlivierOmbrageOmettreOnctueuxOndulerOne/reuxOniriqueOpaleOpaqueOpe/rerOpinionOpportunOpprimerOpterOptiqueOrageuxOrangeOrbiteOrdonnerOreilleOrganeOrgueilOrificeOrnementOrqueOrtieOscillerOsmoseOssatureOtarieOuraganOursonOutilOutragerOuvrageOvationOxydeOxyge-neOzonePaisiblePalacePalmare-sPalourdePalperPanachePandaPangolinPaniquerPanneauPanoramaPantalonPapayePapierPapoterPapyrusParadoxeParcelleParesseParfumerParlerParoleParrainParsemerPartagerParureParvenirPassionPaste-quePaternelPatiencePatronPavillonPavoiserPayerPaysagePeignePeintrePelagePe/licanPellePelousePeluchePendulePe/ne/trerPe/niblePensifPe/nuriePe/pitePe/plumPerdrixPerforerPe/riodePermuterPerplexePersilPertePeserPe/talePetitPe/trirPeuplePharaonPhobiePhoquePhotonPhrasePhysiquePianoPicturalPie-cePierrePieuvrePilotePinceauPipettePiquerPiroguePiscinePistonPivoterPixelPizzaPlacardPlafondPlaisirPlanerPlaquePlastronPlateauPleurerPlexusPliagePlombPlongerPluiePlumagePochettePoe/siePoe-tePointePoirierPoissonPoivrePolairePolicierPollenPolygonePommadePompierPonctuelPonde/rerPoneyPortiquePositionPosse/derPosturePotagerPoteauPotionPoucePoulainPoumonPourprePoussinPouvoirPrairiePratiquePre/cieuxPre/direPre/fixePre/ludePre/nomPre/sencePre/textePre/voirPrimitifPrincePrisonPriverProble-meProce/derProdigeProfondProgre-sProieProjeterProloguePromenerPropreProspe-reProte/gerProuesseProverbePrudencePruneauPsychosePublicPuceronPuiserPulpePulsarPunaisePunitifPupitrePurifierPuzzlePyramideQuasarQuerelleQuestionQuie/tudeQuitterQuotientRacineRaconterRadieuxRagondinRaideurRaisinRalentirRallongeRamasserRapideRasageRatisserRavagerRavinRayonnerRe/actifRe/agirRe/aliserRe/animerRecevoirRe/citerRe/clamerRe/colterRecruterReculerRecyclerRe/digerRedouterRefaireRe/flexeRe/formerRefrainRefugeRe/galienRe/gionRe/glageRe/gulierRe/ite/rerRejeterRejouerRelatifReleverReliefRemarqueReme-deRemiseRemonterRemplirRemuerRenardRenfortReniflerRenoncerRentrerRenvoiReplierReporterRepriseReptileRequinRe/serveRe/sineuxRe/soudreRespectResterRe/sultatRe/tablirRetenirRe/ticuleRetomberRetracerRe/unionRe/ussirRevancheRevivreRe/volteRe/vulsifRichesseRideauRieurRigideRigolerRincerRiposterRisibleRisqueRituelRivalRivie-reRocheuxRomanceRompreRonceRondinRoseauRosierRotatifRotorRotuleRougeRouilleRouleauRoutineRoyaumeRubanRubisRucheRuelleRugueuxRuinerRuisseauRuserRustiqueRythmeSablerSaboterSabreSacocheSafariSagesseSaisirSaladeSaliveSalonSaluerSamediSanctionSanglierSarcasmeSardineSaturerSaugrenuSaumonSauterSauvageSavantSavonnerScalpelScandaleSce/le/ratSce/narioSceptreSche/maScienceScinderScoreScrutinSculpterSe/anceSe/cableSe/cherSecouerSe/cre/terSe/datifSe/duireSeigneurSe/jourSe/lectifSemaineSemblerSemenceSe/minalSe/nateurSensibleSentenceSe/parerSe/quenceSereinSergentSe/rieuxSerrureSe/rumServiceSe/sameSe/virSevrageSextupleSide/ralSie-cleSie/gerSifflerSigleSignalSilenceSiliciumSimpleSince-reSinistreSiphonSiropSismiqueSituerSkierSocialSocleSodiumSoigneuxSoldatSoleilSolitudeSolubleSombreSommeilSomnolerSondeSongeurSonnetteSonoreSorcierSortirSosieSottiseSoucieuxSoudureSouffleSouleverSoupapeSourceSoutirerSouvenirSpacieuxSpatialSpe/cialSphe-reSpiralStableStationSternumStimulusStipulerStrictStudieuxStupeurStylisteSublimeSubstratSubtilSubvenirSucce-sSucreSuffixeSugge/rerSuiveurSulfateSuperbeSupplierSurfaceSuricateSurmenerSurpriseSursautSurvieSuspectSyllabeSymboleSyme/trieSynapseSyntaxeSyste-meTabacTablierTactileTaillerTalentTalismanTalonnerTambourTamiserTangibleTapisTaquinerTarderTarifTartineTasseTatamiTatouageTaupeTaureauTaxerTe/moinTemporelTenailleTendreTeneurTenirTensionTerminerTerneTerribleTe/tineTexteThe-meThe/orieThe/rapieThoraxTibiaTie-deTimideTirelireTiroirTissuTitaneTitreTituberTobogganTole/rantTomateToniqueTonneauToponymeTorcheTordreTornadeTorpilleTorrentTorseTortueTotemToucherTournageTousserToxineTractionTraficTragiqueTrahirTrainTrancherTravailTre-fleTremperTre/sorTreuilTriageTribunalTricoterTrilogieTriompheTriplerTriturerTrivialTromboneTroncTropicalTroupeauTuileTulipeTumulteTunnelTurbineTuteurTutoyerTuyauTympanTyphonTypiqueTyranUbuesqueUltimeUltrasonUnanimeUnifierUnionUniqueUnitaireUniversUraniumUrbainUrticantUsageUsineUsuelUsureUtileUtopieVacarmeVaccinVagabondVagueVaillantVaincreVaisseauValableValiseVallonValveVampireVanilleVapeurVarierVaseuxVassalVasteVecteurVedetteVe/ge/talVe/hiculeVeinardVe/loceVendrediVe/ne/rerVengerVenimeuxVentouseVerdureVe/rinVernirVerrouVerserVertuVestonVe/te/ranVe/tusteVexantVexerViaducViandeVictoireVidangeVide/oVignetteVigueurVilainVillageVinaigreViolonVipe-reVirementVirtuoseVirusVisageViseurVisionVisqueuxVisuelVitalVitesseViticoleVitrineVivaceVivipareVocationVoguerVoileVoisinVoitureVolailleVolcanVoltigerVolumeVoraceVortexVoterVouloirVoyageVoyelleWagonXe/nonYachtZe-breZe/nithZesteZoologie".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map(e=>function(e){const t=[];return Array.prototype.forEach.call(kt(e),e=>{47===e?(t.push(204),t.push(129)):45===e?(t.push(204),t.push(128)):t.push(e)}),Jt(t)}(e)),Ti.forEach((e,t)=>{Si[wi(e)]=t}),"0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045"!==ui.check(e)))throw Ti=null,new Error("BIP39 Wordlist for fr (French) FAILED")}const Ei=new class extends ui{constructor(){super("fr")}getWord(e){return Mi(this),Ti[e]}getWordIndex(e){Mi(this);const t=Si[wi(e)];return"number"!=typeof t?-1:t}};ui.register(Ei);const Fi=["AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR","ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR","AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm","ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC","BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD","QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD","IJBEJqXZJ"];let Ci=null;function ki(e){return C(kt(e))}function Bi(e){if(null!==Ci)return;Ci=[];const t={};function r(e){let r="";for(let o=0;ot?1:0})),"0xe3818de38284e3818f"===ki(Ci[442])&&"0xe3818de38283e3818f"===ki(Ci[443])){const e=Ci[442];Ci[442]=Ci[443],Ci[443]=e}if("0xcb36b09e6baa935787fd762ce65e80b0c6a8dabdfbc3a7f86ac0e2c4fd111600"!==ui.check(e))throw Ci=null,new Error("BIP39 Wordlist for ja (Japanese) FAILED")}const Pi=new class extends ui{constructor(){super("ja")}getWord(e){return Bi(this),Ci[e]}getWordIndex(e){return Bi(this),Ci.indexOf(e)}split(e){return li.checkNormalize(),e.split(/(?:\u3000| )+/g)}join(e){return e.join(" ")}};ui.register(Pi);const Ji=["OYAa","ATAZoATBl3ATCTrATCl8ATDloATGg3ATHT8ATJT8ATJl3ATLlvATLn4ATMT8ATMX8ATMboATMgoAToLbAToMTATrHgATvHnAT3AnAT3JbAT3MTAT8DbAT8JTAT8LmAT8MYAT8MbAT#LnAUHT8AUHZvAUJXrAUJX8AULnrAXJnvAXLUoAXLgvAXMn6AXRg3AXrMbAX3JTAX3QbAYLn3AZLgvAZrSUAZvAcAZ8AaAZ8AbAZ8AnAZ8HnAZ8LgAZ8MYAZ8MgAZ8OnAaAboAaDTrAaFTrAaJTrAaJboAaLVoAaMXvAaOl8AaSeoAbAUoAbAg8AbAl4AbGnrAbMT8AbMXrAbMn4AbQb8AbSV8AbvRlAb8AUAb8AnAb8HgAb8JTAb8NTAb8RbAcGboAcLnvAcMT8AcMX8AcSToAcrAaAcrFnAc8AbAc8MgAfGgrAfHboAfJnvAfLV8AfLkoAfMT8AfMnoAfQb8AfScrAfSgrAgAZ8AgFl3AgGX8AgHZvAgHgrAgJXoAgJX8AgJboAgLZoAgLn4AgOX8AgoATAgoAnAgoCUAgoJgAgoLXAgoMYAgoSeAgrDUAgrJTAhrFnAhrLjAhrQgAjAgoAjJnrAkMX8AkOnoAlCTvAlCV8AlClvAlFg4AlFl6AlFn3AloSnAlrAXAlrAfAlrFUAlrFbAlrGgAlrOXAlvKnAlvMTAl3AbAl3MnAnATrAnAcrAnCZ3AnCl8AnDg8AnFboAnFl3AnHX4AnHbrAnHgrAnIl3AnJgvAnLXoAnLX4AnLbrAnLgrAnLhrAnMXoAnMgrAnOn3AnSbrAnSeoAnvLnAn3OnCTGgvCTSlvCTvAUCTvKnCTvNTCT3CZCT3GUCT3MTCT8HnCUCZrCULf8CULnvCU3HnCU3JUCY6NUCbDb8CbFZoCbLnrCboOTCboScCbrFnCbvLnCb8AgCb8HgCb$LnCkLfoClBn3CloDUDTHT8DTLl3DTSU8DTrAaDTrLXDTrLjDTrOYDTrOgDTvFXDTvFnDT3HUDT3LfDUCT9DUDT4DUFVoDUFV8DUFkoDUGgrDUJnrDULl8DUMT8DUMXrDUMX4DUMg8DUOUoDUOgvDUOg8DUSToDUSZ8DbDXoDbDgoDbGT8DbJn3DbLg3DbLn4DbMXrDbMg8DbOToDboJXGTClvGTDT8GTFZrGTLVoGTLlvGTLl3GTMg8GTOTvGTSlrGToCUGTrDgGTrJYGTrScGTtLnGTvAnGTvQgGUCZrGUDTvGUFZoGUHXrGULnvGUMT8GUoMgGXoLnGXrMXGXrMnGXvFnGYLnvGZOnvGZvOnGZ8LaGZ8LmGbAl3GbDYvGbDlrGbHX3GbJl4GbLV8GbLn3GbMn4GboJTGboRfGbvFUGb3GUGb4JnGgDX3GgFl$GgJlrGgLX6GgLZoGgLf8GgOXoGgrAgGgrJXGgrMYGgrScGgvATGgvOYGnAgoGnJgvGnLZoGnLg3GnLnrGnQn8GnSbrGnrMgHTClvHTDToHTFT3HTQT8HToJTHToJgHTrDUHTrMnHTvFYHTvRfHT8MnHT8SUHUAZ8HUBb4HUDTvHUoMYHXFl6HXJX6HXQlrHXrAUHXrMnHXrSbHXvFYHXvKXHX3LjHX3MeHYvQlHZrScHZvDbHbAcrHbFT3HbFl3HbJT8HbLTrHbMT8HbMXrHbMbrHbQb8HbSX3HboDbHboJTHbrFUHbrHgHbrJTHb8JTHb8MnHb8QgHgAlrHgDT3HgGgrHgHgrHgJTrHgJT8HgLX@HgLnrHgMT8HgMX8HgMboHgOnrHgQToHgRg3HgoHgHgrCbHgrFnHgrLVHgvAcHgvAfHnAloHnCTrHnCnvHnGTrHnGZ8HnGnvHnJT8HnLf8HnLkvHnMg8HnRTrITvFUITvFnJTAXrJTCV8JTFT3JTFT8JTFn4JTGgvJTHT8JTJT8JTJXvJTJl3JTJnvJTLX4JTLf8JTLhvJTMT8JTMXrJTMnrJTObrJTQT8JTSlvJT8DUJT8FkJT8MTJT8OXJT8OgJT8QUJT8RfJUHZoJXFT4JXFlrJXGZ8JXGnrJXLV8JXLgvJXMXoJXMX3JXNboJXPlvJXoJTJXoLkJXrAXJXrHUJXrJgJXvJTJXvOnJX4KnJYAl3JYJT8JYLhvJYQToJYrQXJY6NUJbAl3JbCZrJbDloJbGT8JbGgrJbJXvJbJboJbLf8JbLhrJbLl3JbMnvJbRg8JbSZ8JboDbJbrCZJbrSUJb3KnJb8LnJfRn8JgAXrJgCZrJgDTrJgGZrJgGZ8JgHToJgJT8JgJXoJgJgvJgLX4JgLZ3JgLZ8JgLn4JgMgrJgMn4JgOgvJgPX6JgRnvJgSToJgoCZJgoJbJgoMYJgrJXJgrJgJgrLjJg6MTJlCn3JlGgvJlJl8Jl4AnJl8FnJl8HgJnAToJnATrJnAbvJnDUoJnGnrJnJXrJnJXvJnLhvJnLnrJnLnvJnMToJnMT8JnMXvJnMX3JnMg8JnMlrJnMn4JnOX8JnST4JnSX3JnoAgJnoAnJnoJTJnoObJnrAbJnrAkJnrHnJnrJTJnrJYJnrOYJnrScJnvCUJnvFaJnvJgJnvJnJnvOYJnvQUJnvRUJn3FnJn3JTKnFl3KnLT6LTDlvLTMnoLTOn3LTRl3LTSb4LTSlrLToAnLToJgLTrAULTrAcLTrCULTrHgLTrMgLT3JnLULnrLUMX8LUoJgLVATrLVDTrLVLb8LVoJgLV8MgLV8RTLXDg3LXFlrLXrCnLXrLXLX3GTLX4GgLX4OYLZAXrLZAcrLZAgrLZAhrLZDXyLZDlrLZFbrLZFl3LZJX6LZJX8LZLc8LZLnrLZSU8LZoJTLZoJnLZrAgLZrAnLZrJYLZrLULZrMgLZrSkLZvAnLZvGULZvJeLZvOTLZ3FZLZ4JXLZ8STLZ8ScLaAT3LaAl3LaHT8LaJTrLaJT8LaJXrLaJgvLaJl4LaLVoLaMXrLaMXvLaMX8LbClvLbFToLbHlrLbJn4LbLZ3LbLhvLbMXrLbMnoLbvSULcLnrLc8HnLc8MTLdrMnLeAgoLeOgvLeOn3LfAl3LfLnvLfMl3LfOX8Lf8AnLf8JXLf8LXLgJTrLgJXrLgJl8LgMX8LgRZrLhCToLhrAbLhrFULhrJXLhvJYLjHTrLjHX4LjJX8LjLhrLjSX3LjSZ4LkFX4LkGZ8LkGgvLkJTrLkMXoLkSToLkSU8LkSZ8LkoOYLl3FfLl3MgLmAZrLmCbrLmGgrLmHboLmJnoLmJn3LmLfoLmLhrLmSToLnAX6LnAb6LnCZ3LnCb3LnDTvLnDb8LnFl3LnGnrLnHZvLnHgvLnITvLnJT8LnJX8LnJlvLnLf8LnLg6LnLhvLnLnoLnMXrLnMg8LnQlvLnSbrLnrAgLnrAnLnrDbLnrFkLnrJdLnrMULnrOYLnrSTLnvAnLnvDULnvHgLnvOYLnvOnLn3GgLn4DULn4JTLn4JnMTAZoMTAloMTDb8MTFT8MTJnoMTJnrMTLZrMTLhrMTLkvMTMX8MTRTrMToATMTrDnMTrOnMT3JnMT4MnMT8FUMT8FaMT8FlMT8GTMT8GbMT8GnMT8HnMT8JTMT8JbMT8OTMUCl8MUJTrMUJU8MUMX8MURTrMUSToMXAX6MXAb6MXCZoMXFXrMXHXrMXLgvMXOgoMXrAUMXrAnMXrHgMXrJYMXrJnMXrMTMXrMgMXrOYMXrSZMXrSgMXvDUMXvOTMX3JgMX3OTMX4JnMX8DbMX8FnMX8HbMX8HgMX8HnMX8LbMX8MnMX8OnMYAb8MYGboMYHTvMYHX4MYLTrMYLnvMYMToMYOgvMYRg3MYSTrMbAToMbAXrMbAl3MbAn8MbGZ8MbJT8MbJXrMbMXvMbMX8MbMnoMbrMUMb8AfMb8FbMb8FkMcJXoMeLnrMgFl3MgGTvMgGXoMgGgrMgGnrMgHT8MgHZrMgJnoMgLnrMgLnvMgMT8MgQUoMgrHnMgvAnMg8HgMg8JYMg8LfMloJnMl8ATMl8AXMl8JYMnAToMnAT4MnAZ8MnAl3MnAl4MnCl8MnHT8MnHg8MnJnoMnLZoMnLhrMnMXoMnMX3MnMnrMnOgvMnrFbMnrFfMnrFnMnrNTMnvJXNTMl8OTCT3OTFV8OTFn3OTHZvOTJXrOTOl3OT3ATOT3JUOT3LZOT3LeOT3MbOT8ATOT8AbOT8AgOT8MbOUCXvOUMX3OXHXvOXLl3OXrMUOXvDbOX6NUOX8JbOYFZoOYLbrOYLkoOYMg8OYSX3ObHTrObHT4ObJgrObLhrObMX3ObOX8Ob8FnOeAlrOeJT8OeJXrOeJnrOeLToOeMb8OgJXoOgLXoOgMnrOgOXrOgOloOgoAgOgoJbOgoMYOgoSTOg8AbOjLX4OjMnoOjSV8OnLVoOnrAgOn3DUPXQlrPXvFXPbvFTPdAT3PlFn3PnvFbQTLn4QToAgQToMTQULV8QURg8QUoJnQXCXvQbFbrQb8AaQb8AcQb8FbQb8MYQb8ScQeAlrQeLhrQjAn3QlFXoQloJgQloSnRTLnvRTrGURTrJTRUJZrRUoJlRUrQnRZrLmRZrMnRZrSnRZ8ATRZ8JbRZ8ScRbMT8RbST3RfGZrRfMX8RfMgrRfSZrRnAbrRnGT8RnvJgRnvLfRnvMTRn8AaSTClvSTJgrSTOXrSTRg3STRnvSToAcSToAfSToAnSToHnSToLjSToMTSTrAaSTrEUST3BYST8AgST8LmSUAZvSUAgrSUDT4SUDT8SUGgvSUJXoSUJXvSULTrSU8JTSU8LjSV8AnSV8JgSXFToSXLf8SYvAnSZrDUSZrMUSZrMnSZ8HgSZ8JTSZ8JgSZ8MYSZ8QUSaQUoSbCT3SbHToSbQYvSbSl4SboJnSbvFbSb8HbSb8JgSb8OTScGZrScHgrScJTvScMT8ScSToScoHbScrMTScvAnSeAZrSeAcrSeHboSeJUoSeLhrSeMT8SeMXrSe6JgSgHTrSkJnoSkLnvSk8CUSlFl3SlrSnSl8GnSmAboSmGT8SmJU8","ATLnDlATrAZoATrJX4ATrMT8ATrMX4ATrRTrATvDl8ATvJUoATvMl8AT3AToAT3MX8AT8CT3AT8DT8AT8HZrAT8HgoAUAgFnAUCTFnAXoMX8AXrAT8AXrGgvAXrJXvAXrOgoAXvLl3AZvAgoAZvFbrAZvJXoAZvJl8AZvJn3AZvMX8AZvSbrAZ8FZoAZ8LZ8AZ8MU8AZ8OTvAZ8SV8AZ8SX3AbAgFZAboJnoAbvGboAb8ATrAb8AZoAb8AgrAb8Al4Ab8Db8Ab8JnoAb8LX4Ab8LZrAb8LhrAb8MT8Ab8OUoAb8Qb8Ab8ST8AcrAUoAcrAc8AcrCZ3AcrFT3AcrFZrAcrJl4AcrJn3AcrMX3AcrOTvAc8AZ8Ac8MT8AfAcJXAgoFn4AgoGgvAgoGnrAgoLc8AgoMXoAgrLnrAkrSZ8AlFXCTAloHboAlrHbrAlrLhrAlrLkoAl3CZrAl3LUoAl3LZrAnrAl4AnrMT8An3HT4BT3IToBX4MnvBb!Ln$CTGXMnCToLZ4CTrHT8CT3JTrCT3RZrCT#GTvCU6GgvCU8Db8CU8GZrCU8HT8CboLl3CbrGgrCbrMU8Cb8DT3Cb8GnrCb8LX4Cb8MT8Cb8ObrCgrGgvCgrKX4Cl8FZoDTrAbvDTrDboDTrGT6DTrJgrDTrMX3DTrRZrDTrRg8DTvAVvDTvFZoDT3DT8DT3Ln3DT4HZrDT4MT8DT8AlrDT8MT8DUAkGbDUDbJnDYLnQlDbDUOYDbMTAnDbMXSnDboAT3DboFn4DboLnvDj6JTrGTCgFTGTGgFnGTJTMnGTLnPlGToJT8GTrCT3GTrLVoGTrLnvGTrMX3GTrMboGTvKl3GZClFnGZrDT3GZ8DTrGZ8FZ8GZ8MXvGZ8On8GZ8ST3GbCnQXGbMbFnGboFboGboJg3GboMXoGb3JTvGb3JboGb3Mn6Gb3Qb8GgDXLjGgMnAUGgrDloGgrHX4GgrSToGgvAXrGgvAZvGgvFbrGgvLl3GgvMnvGnDnLXGnrATrGnrMboGnuLl3HTATMnHTAgCnHTCTCTHTrGTvHTrHTvHTrJX8HTrLl8HTrMT8HTrMgoHTrOTrHTuOn3HTvAZrHTvDTvHTvGboHTvJU8HTvLl3HTvMXrHTvQb4HT4GT6HT4JT8HT4Jb#HT8Al3HT8GZrHT8GgrHT8HX4HT8Jb8HT8JnoHT8LTrHT8LgvHT8SToHT8SV8HUoJUoHUoJX8HUoLnrHXrLZoHXvAl3HX3LnrHX4FkvHX4LhrHX4MXoHX4OnoHZrAZ8HZrDb8HZrGZ8HZrJnrHZvGZ8HZvLnvHZ8JnvHZ8LhrHbCXJlHbMTAnHboJl4HbpLl3HbrJX8HbrLnrHbrMnvHbvRYrHgoSTrHgrFV8HgrGZ8HgrJXoHgrRnvHgvBb!HgvGTrHgvHX4HgvHn!HgvLTrHgvSU8HnDnLbHnFbJbHnvDn8Hn6GgvHn!BTvJTCTLnJTQgFnJTrAnvJTrLX4JTrOUoJTvFn3JTvLnrJTvNToJT3AgoJT3Jn4JT3LhvJT3ObrJT8AcrJT8Al3JT8JT8JT8JnoJT8LX4JT8LnrJT8MX3JT8Rg3JT8Sc8JUoBTvJU8AToJU8GZ8JU8GgvJU8JTrJU8JXrJU8JnrJU8LnvJU8ScvJXHnJlJXrGgvJXrJU8JXrLhrJXrMT8JXrMXrJXrQUoJXvCTvJXvGZ8JXvGgrJXvQT8JX8Ab8JX8DT8JX8GZ8JX8HZvJX8LnrJX8MT8JX8MXoJX8MnvJX8ST3JYGnCTJbAkGbJbCTAnJbLTAcJboDT3JboLb6JbrAnvJbrCn3JbrDl8JbrGboJbrIZoJbrJnvJbrMnvJbrQb4Jb8RZrJeAbAnJgJnFbJgScAnJgrATrJgvHZ8JgvMn4JlJlFbJlLiQXJlLjOnJlRbOlJlvNXoJlvRl3Jl4AcrJl8AUoJl8MnrJnFnMlJnHgGbJnoDT8JnoFV8JnoGgvJnoIT8JnoQToJnoRg3JnrCZ3JnrGgrJnrHTvJnrLf8JnrOX8JnvAT3JnvFZoJnvGT8JnvJl4JnvMT8JnvMX8JnvOXrJnvPX6JnvSX3JnvSZrJn3MT8Jn3MX8Jn3RTrLTATKnLTJnLTLTMXKnLTRTQlLToGb8LTrAZ8LTrCZ8LTrDb8LTrHT8LT3PX6LT4FZoLT$CTvLT$GgrLUvHX3LVoATrLVoAgoLVoJboLVoMX3LVoRg3LV8CZ3LV8FZoLV8GTvLXrDXoLXrFbrLXvAgvLXvFlrLXvLl3LXvRn6LX4Mb8LX8GT8LYCXMnLYrMnrLZoSTvLZrAZvLZrAloLZrFToLZrJXvLZrJboLZrJl4LZrLnrLZrMT8LZrOgvLZrRnvLZrST4LZvMX8LZvSlvLZ8AgoLZ8CT3LZ8JT8LZ8LV8LZ8LZoLZ8Lg8LZ8SV8LZ8SbrLZ$HT8LZ$Mn4La6CTvLbFbMnLbRYFTLbSnFZLboJT8LbrAT9LbrGb3LbrQb8LcrJX8LcrMXrLerHTvLerJbrLerNboLgrDb8LgrGZ8LgrHTrLgrMXrLgrSU8LgvJTrLgvLl3Lg6Ll3LhrLnrLhrMT8LhvAl4LiLnQXLkoAgrLkoJT8LkoJn4LlrSU8Ll3FZoLl3HTrLl3JX8Ll3JnoLl3LToLmLeFbLnDUFbLnLVAnLnrATrLnrAZoLnrAb8LnrAlrLnrGgvLnrJU8LnrLZrLnrLhrLnrMb8LnrOXrLnrSZ8LnvAb4LnvDTrLnvDl8LnvHTrLnvHbrLnvJT8LnvJU8LnvJbrLnvLhvLnvMX8LnvMb8LnvNnoLnvSU8Ln3Al3Ln4FZoLn4GT6Ln4JgvLn4LhrLn4MT8Ln4SToMToCZrMToJX8MToLX4MToLf8MToRg3MTrEloMTvGb6MT3BTrMT3Lb6MT8AcrMT8AgrMT8GZrMT8JnoMT8LnrMT8MX3MUOUAnMXAbFnMXoAloMXoJX8MXoLf8MXoLl8MXrAb8MXrDTvMXrGT8MXrGgrMXrHTrMXrLf8MXrMU8MXrOXvMXrQb8MXvGT8MXvHTrMXvLVoMX3AX3MX3Jn3MX3LhrMX3MX3MX4AlrMX4OboMX8GTvMX8GZrMX8GgrMX8JT8MX8JX8MX8LhrMX8MT8MYDUFbMYMgDbMbGnFfMbvLX4MbvLl3Mb8Mb8Mb8ST4MgGXCnMg8ATrMg8AgoMg8CZrMg8DTrMg8DboMg8HTrMg8JgrMg8LT8MloJXoMl8AhrMl8JT8MnLgAUMnoJXrMnoLX4MnoLhrMnoMT8MnrAl4MnrDb8MnrOTvMnrOgvMnrQb8MnrSU8MnvGgrMnvHZ8Mn3MToMn4DTrMn4LTrMn4Mg8NnBXAnOTFTFnOToAToOTrGgvOTrJX8OT3JXoOT6MTrOT8GgrOT8HTpOT8MToOUoHT8OUoJT8OUoLn3OXrAgoOXrDg8OXrMT8OXvSToOX6CTvOX8CZrOX8OgrOb6HgvOb8AToOb8MT8OcvLZ8OgvAlrOgvHTvOgvJTrOgvJnrOgvLZrOgvLn4OgvMT8OgvRTrOg8AZoOg8DbvOnrOXoOnvJn4OnvLhvOnvRTrOn3GgoOn3JnvOn6JbvOn8OTrPTGYFTPbBnFnPbGnDnPgDYQTPlrAnvPlrETvPlrLnvPlrMXvPlvFX4QTMTAnQTrJU8QYCnJlQYJlQlQbGTQbQb8JnrQb8LZoQb8LnvQb8MT8Qb8Ml8Qb8ST4QloAl4QloHZvQloJX8QloMn8QnJZOlRTrAZvRTrDTrRTvJn4RTvLhvRT4Jb8RZrAZrRZ8AkrRZ8JU8RZ8LV8RZ8LnvRbJlQXRg3GboRg3MnvRg8AZ8Rg8JboRg8Jl4RnLTCbRnvFl3RnvQb8SToAl4SToCZrSToFZoSToHXrSToJU8SToJgvSToJl4SToLhrSToMX3STrAlvSTrCT9STrCgrSTrGgrSTrHXrSTrHboSTrJnoSTrNboSTvLnrST4AZoST8Ab8ST8JT8SUoJn3SU6HZ#SU6JTvSU8Db8SU8HboSU8LgrSV8JT8SZrAcrSZrAl3SZrJT8SZrJnvSZrMT8SZvLUoSZ4FZoSZ8JnoSZ8RZrScoLnrScoMT8ScoMX8ScrAT4ScrAZ8ScrLZ8ScrLkvScvDb8ScvLf8ScvNToSgrFZrShvKnrSloHUoSloLnrSlrMXoSl8HgrSmrJUoSn3BX6","ATFlOn3ATLgrDYAT4MTAnAT8LTMnAYJnRTrAbGgJnrAbLV8LnAbvNTAnAeFbLg3AgOYMXoAlQbFboAnDboAfAnJgoJTBToDgAnBUJbAl3BboDUAnCTDlvLnCTFTrSnCYoQTLnDTwAbAnDUDTrSnDUHgHgrDX8LXFnDbJXAcrETvLTLnGTFTQbrGTMnGToGT3DUFbGUJlPX3GbQg8LnGboJbFnGb3GgAYGgAg8ScGgMbAXrGgvAbAnGnJTLnvGnvATFgHTDT6ATHTrDlJnHYLnMn8HZrSbJTHZ8LTFnHbFTJUoHgSeMT8HgrLjAnHgvAbAnHlFUrDlHnDgvAnHnHTFT3HnQTGnrJTAaMXvJTGbCn3JTOgrAnJXvAXMnJbMg8SnJbMnRg3Jb8LTMnJnAl3OnJnGYrQlJnJlQY3LTDlCn3LTJjLg3LTLgvFXLTMg3GTLV8HUOgLXFZLg3LXNXrMnLX8QXFnLX9AlMYLYLXPXrLZAbJU8LZDUJU8LZMXrSnLZ$AgFnLaPXrDULbFYrMnLbMn8LXLboJgJgLeFbLg3LgLZrSnLgOYAgoLhrRnJlLkCTrSnLkOnLhrLnFX%AYLnFZoJXLnHTvJbLnLloAbMTATLf8MTHgJn3MTMXrAXMT3MTFnMUITvFnMXFX%AYMXMXvFbMXrFTDbMYAcMX3MbLf8SnMb8JbFnMgMXrMTMgvAXFnMgvGgCmMnAloSnMnFnJTrOXvMXSnOX8HTMnObJT8ScObLZFl3ObMXCZoPTLgrQXPUFnoQXPU3RXJlPX3RkQXPbrJXQlPlrJbFnQUAhrDbQXGnCXvQYLnHlvQbLfLnvRTOgvJbRXJYrQlRYLnrQlRbLnrQlRlFT8JlRlFnrQXSTClCn3STHTrAnSTLZQlrSTMnGTrSToHgGbSTrGTDnSTvGXCnST3HgFbSU3HXAXSbAnJn3SbFT8LnScLfLnv","AT3JgJX8AT8FZoSnAT8JgFV8AT8LhrDbAZ8JT8DbAb8GgLhrAb8SkLnvAe8MT8SnAlMYJXLVAl3GYDTvAl3LfLnvBUDTvLl3CTOn3HTrCT3DUGgrCU8MT8AbCbFTrJUoCgrDb8MTDTLV8JX8DTLnLXQlDT8LZrSnDUQb8FZ8DUST4JnvDb8ScOUoDj6GbJl4GTLfCYMlGToAXvFnGboAXvLnGgAcrJn3GgvFnSToGnLf8JnvGn#HTDToHTLnFXJlHTvATFToHTvHTDToHTvMTAgoHT3STClvHT4AlFl6HT8HTDToHUoDgJTrHUoScMX3HbRZrMXoHboJg8LTHgDb8JTrHgMToLf8HgvLnLnoHnHn3HT4Hn6MgvAnJTJU8ScvJT3AaQT8JT8HTrAnJXrRg8AnJbAloMXoJbrATFToJbvMnoSnJgDb6GgvJgDb8MXoJgSX3JU8JguATFToJlPYLnQlJlQkDnLbJlQlFYJlJl8Lf8OTJnCTFnLbJnLTHXMnJnLXGXCnJnoFfRg3JnrMYRg3Jn3HgFl3KT8Dg8LnLTRlFnPTLTvPbLbvLVoSbrCZLXMY6HT3LXNU7DlrLXNXDTATLX8DX8LnLZDb8JU8LZMnoLhrLZSToJU8LZrLaLnrLZvJn3SnLZ8LhrSnLaJnoMT8LbFlrHTvLbrFTLnrLbvATLlvLb6OTFn3LcLnJZOlLeAT6Mn4LeJT3ObrLg6LXFlrLhrJg8LnLhvDlPX4LhvLfLnvLj6JTFT3LnFbrMXoLnQluCTvLnrQXCY6LnvLfLnvLnvMgLnvLnvSeLf8MTMbrJn3MT3JgST3MT8AnATrMT8LULnrMUMToCZrMUScvLf8MXoDT8SnMX6ATFToMX8AXMT8MX8FkMT8MX8HTrDUMX8ScoSnMYJT6CTvMgAcrMXoMg8SToAfMlvAXLg3MnFl3AnvOT3AnFl3OUoATHT8OU3RnLXrOXrOXrSnObPbvFn6Og8HgrSnOg8OX8DbPTvAgoJgPU3RYLnrPXrDnJZrPb8CTGgvPlrLTDlvPlvFUJnoQUvFXrQlQeMnoAl3QlrQlrSnRTFTrJUoSTDlLiLXSTFg6HT3STJgoMn4STrFTJTrSTrLZFl3ST4FnMXoSUrDlHUoScvHTvSnSfLkvMXo","AUoAcrMXoAZ8HboAg8AbOg6ATFgAg8AloMXoAl3AT8JTrAl8MX8MXoCT3SToJU8Cl8Db8MXoDT8HgrATrDboOT8MXoGTOTrATMnGT8LhrAZ8GnvFnGnQXHToGgvAcrHTvAXvLl3HbrAZoMXoHgBlFXLg3HgMnFXrSnHgrSb8JUoHn6HT8LgvITvATrJUoJUoLZrRnvJU8HT8Jb8JXvFX8QT8JXvLToJTrJYrQnGnQXJgrJnoATrJnoJU8ScvJnvMnvMXoLTCTLgrJXLTJlRTvQlLbRnJlQYvLbrMb8LnvLbvFn3RnoLdCVSTGZrLeSTvGXCnLg3MnoLn3MToLlrETvMT8SToAl3MbrDU6GTvMb8LX4LhrPlrLXGXCnSToLf8Rg3STrDb8LTrSTvLTHXMnSb3RYLnMnSgOg6ATFg","HUDlGnrQXrJTrHgLnrAcJYMb8DULc8LTvFgGnCk3Mg8JbAnLX4QYvFYHnMXrRUoJnGnvFnRlvFTJlQnoSTrBXHXrLYSUJgLfoMT8Se8DTrHbDb","AbDl8SToJU8An3RbAb8ST8DUSTrGnrAgoLbFU6Db8LTrMg8AaHT8Jb8ObDl8SToJU8Pb3RlvFYoJl"];let Li=null;function Ri(e){if(null==Li&&(Li=[],Ji.forEach((e,t)=>{t+=4;for(let o=0;o=40?r=r+168-40:r>=19&&(r=r+97-19),Jt([225,132+(r>>6),128+(63&r)]));Li.push(n)}var r}),Li.sort(),"0xf9eddeace9c5d3da9c93cf7d3cd38f6a13ed3affb933259ae865714e8a3ae71a"!==ui.check(e)))throw Li=null,new Error("BIP39 Wordlist for ko (Korean) FAILED")}const Ni=new class extends ui{constructor(){super("ko")}getWord(e){return Ri(this),Li[e]}getWordIndex(e){return Ri(this),Li.indexOf(e)}};ui.register(Ni);let Di=null;function Oi(e){if(null==Di&&(Di="AbacoAbbaglioAbbinatoAbeteAbissoAbolireAbrasivoAbrogatoAccadereAccennoAccusatoAcetoneAchilleAcidoAcquaAcreAcrilicoAcrobataAcutoAdagioAddebitoAddomeAdeguatoAderireAdipeAdottareAdulareAffabileAffettoAffissoAffrantoAforismaAfosoAfricanoAgaveAgenteAgevoleAggancioAgireAgitareAgonismoAgricoloAgrumetoAguzzoAlabardaAlatoAlbatroAlberatoAlboAlbumeAlceAlcolicoAlettoneAlfaAlgebraAlianteAlibiAlimentoAllagatoAllegroAllievoAllodolaAllusivoAlmenoAlogenoAlpacaAlpestreAltalenaAlternoAlticcioAltroveAlunnoAlveoloAlzareAmalgamaAmanitaAmarenaAmbitoAmbratoAmebaAmericaAmetistaAmicoAmmassoAmmendaAmmirareAmmonitoAmoreAmpioAmpliareAmuletoAnacardoAnagrafeAnalistaAnarchiaAnatraAncaAncellaAncoraAndareAndreaAnelloAngeloAngolareAngustoAnimaAnnegareAnnidatoAnnoAnnuncioAnonimoAnticipoAnziApaticoAperturaApodeApparireAppetitoAppoggioApprodoAppuntoAprileArabicaArachideAragostaAraldicaArancioAraturaArazzoArbitroArchivioArditoArenileArgentoArgineArgutoAriaArmoniaArneseArredatoArringaArrostoArsenicoArsoArteficeArzilloAsciuttoAscoltoAsepsiAsetticoAsfaltoAsinoAsolaAspiratoAsproAssaggioAsseAssolutoAssurdoAstaAstenutoAsticeAstrattoAtavicoAteismoAtomicoAtonoAttesaAttivareAttornoAttritoAttualeAusilioAustriaAutistaAutonomoAutunnoAvanzatoAvereAvvenireAvvisoAvvolgereAzioneAzotoAzzimoAzzurroBabeleBaccanoBacinoBacoBadessaBadilataBagnatoBaitaBalconeBaldoBalenaBallataBalzanoBambinoBandireBaraondaBarbaroBarcaBaritonoBarlumeBaroccoBasilicoBassoBatostaBattutoBauleBavaBavosaBeccoBeffaBelgioBelvaBendaBenevoleBenignoBenzinaBereBerlinaBetaBibitaBiciBidoneBifidoBigaBilanciaBimboBinocoloBiologoBipedeBipolareBirbanteBirraBiscottoBisestoBisnonnoBisonteBisturiBizzarroBlandoBlattaBollitoBonificoBordoBoscoBotanicoBottinoBozzoloBraccioBradipoBramaBrancaBravuraBretellaBrevettoBrezzaBrigliaBrillanteBrindareBroccoloBrodoBronzinaBrulloBrunoBubboneBucaBudinoBuffoneBuioBulboBuonoBurloneBurrascaBussolaBustaCadettoCaducoCalamaroCalcoloCalesseCalibroCalmoCaloriaCambusaCamerataCamiciaCamminoCamolaCampaleCanapaCandelaCaneCaninoCanottoCantinaCapaceCapelloCapitoloCapogiroCapperoCapraCapsulaCarapaceCarcassaCardoCarismaCarovanaCarrettoCartolinaCasaccioCascataCasermaCasoCassoneCastelloCasualeCatastaCatenaCatrameCautoCavilloCedibileCedrataCefaloCelebreCellulareCenaCenoneCentesimoCeramicaCercareCertoCerumeCervelloCesoiaCespoCetoChelaChiaroChiccaChiedereChimeraChinaChirurgoChitarraCiaoCiclismoCifrareCignoCilindroCiottoloCircaCirrosiCitricoCittadinoCiuffoCivettaCivileClassicoClinicaCloroCoccoCodardoCodiceCoerenteCognomeCollareColmatoColoreColposoColtivatoColzaComaCometaCommandoComodoComputerComuneConcisoCondurreConfermaCongelareConiugeConnessoConoscereConsumoContinuoConvegnoCopertoCopioneCoppiaCopricapoCorazzaCordataCoricatoCorniceCorollaCorpoCorredoCorsiaCorteseCosmicoCostanteCotturaCovatoCratereCravattaCreatoCredereCremosoCrescitaCretaCricetoCrinaleCrisiCriticoCroceCronacaCrostataCrucialeCruscaCucireCuculoCuginoCullatoCupolaCuratoreCursoreCurvoCuscinoCustodeDadoDainoDalmataDamerinoDanielaDannosoDanzareDatatoDavantiDavveroDebuttoDecennioDecisoDeclinoDecolloDecretoDedicatoDefinitoDeformeDegnoDelegareDelfinoDelirioDeltaDemenzaDenotatoDentroDepositoDerapataDerivareDerogaDescrittoDesertoDesiderioDesumereDetersivoDevotoDiametroDicembreDiedroDifesoDiffusoDigerireDigitaleDiluvioDinamicoDinnanziDipintoDiplomaDipoloDiradareDireDirottoDirupoDisagioDiscretoDisfareDisgeloDispostoDistanzaDisumanoDitoDivanoDiveltoDividereDivoratoDobloneDocenteDoganaleDogmaDolceDomatoDomenicaDominareDondoloDonoDormireDoteDottoreDovutoDozzinaDragoDruidoDubbioDubitareDucaleDunaDuomoDupliceDuraturoEbanoEccessoEccoEclissiEconomiaEderaEdicolaEdileEditoriaEducareEgemoniaEgliEgoismoEgregioElaboratoElargireEleganteElencatoElettoElevareElficoElicaElmoElsaElusoEmanatoEmblemaEmessoEmiroEmotivoEmozioneEmpiricoEmuloEndemicoEnduroEnergiaEnfasiEnotecaEntrareEnzimaEpatiteEpilogoEpisodioEpocaleEppureEquatoreErarioErbaErbosoEredeEremitaErigereErmeticoEroeErosivoErranteEsagonoEsameEsanimeEsaudireEscaEsempioEsercitoEsibitoEsigenteEsistereEsitoEsofagoEsortatoEsosoEspansoEspressoEssenzaEssoEstesoEstimareEstoniaEstrosoEsultareEtilicoEtnicoEtruscoEttoEuclideoEuropaEvasoEvidenzaEvitatoEvolutoEvvivaFabbricaFaccendaFachiroFalcoFamigliaFanaleFanfaraFangoFantasmaFareFarfallaFarinosoFarmacoFasciaFastosoFasulloFaticareFatoFavolosoFebbreFecolaFedeFegatoFelpaFeltroFemminaFendereFenomenoFermentoFerroFertileFessuraFestivoFettaFeudoFiabaFiduciaFifaFiguratoFiloFinanzaFinestraFinireFioreFiscaleFisicoFiumeFlaconeFlamencoFleboFlemmaFloridoFluenteFluoroFobicoFocacciaFocosoFoderatoFoglioFolataFolcloreFolgoreFondenteFoneticoFoniaFontanaForbitoForchettaForestaFormicaFornaioForoFortezzaForzareFosfatoFossoFracassoFranaFrassinoFratelloFreccettaFrenataFrescoFrigoFrollinoFrondeFrugaleFruttaFucilataFucsiaFuggenteFulmineFulvoFumanteFumettoFumosoFuneFunzioneFuocoFurboFurgoneFuroreFusoFutileGabbianoGaffeGalateoGallinaGaloppoGamberoGammaGaranziaGarboGarofanoGarzoneGasdottoGasolioGastricoGattoGaudioGazeboGazzellaGecoGelatinaGelsoGemelloGemmatoGeneGenitoreGennaioGenotipoGergoGhepardoGhiaccioGhisaGialloGildaGineproGiocareGioielloGiornoGioveGiratoGironeGittataGiudizioGiuratoGiustoGlobuloGlutineGnomoGobbaGolfGomitoGommoneGonfioGonnaGovernoGracileGradoGraficoGrammoGrandeGrattareGravosoGraziaGrecaGreggeGrifoneGrigioGrinzaGrottaGruppoGuadagnoGuaioGuantoGuardareGufoGuidareIbernatoIconaIdenticoIdillioIdoloIdraIdricoIdrogenoIgieneIgnaroIgnoratoIlareIllesoIllogicoIlludereImballoImbevutoImboccoImbutoImmaneImmersoImmolatoImpaccoImpetoImpiegoImportoImprontaInalareInarcareInattivoIncantoIncendioInchinoIncisivoInclusoIncontroIncrocioIncuboIndagineIndiaIndoleIneditoInfattiInfilareInflittoIngaggioIngegnoIngleseIngordoIngrossoInnescoInodoreInoltrareInondatoInsanoInsettoInsiemeInsonniaInsulinaIntasatoInteroIntonacoIntuitoInumidireInvalidoInveceInvitoIperboleIpnoticoIpotesiIppicaIrideIrlandaIronicoIrrigatoIrrorareIsolatoIsotopoIstericoIstitutoIstriceItaliaIterareLabbroLabirintoLaccaLaceratoLacrimaLacunaLaddoveLagoLampoLancettaLanternaLardosoLargaLaringeLastraLatenzaLatinoLattugaLavagnaLavoroLegaleLeggeroLemboLentezzaLenzaLeoneLepreLesivoLessatoLestoLetteraleLevaLevigatoLiberoLidoLievitoLillaLimaturaLimitareLimpidoLineareLinguaLiquidoLiraLiricaLiscaLiteLitigioLivreaLocandaLodeLogicaLombareLondraLongevoLoquaceLorenzoLotoLotteriaLuceLucidatoLumacaLuminosoLungoLupoLuppoloLusingaLussoLuttoMacabroMacchinaMaceroMacinatoMadamaMagicoMagliaMagneteMagroMaiolicaMalafedeMalgradoMalintesoMalsanoMaltoMalumoreManaManciaMandorlaMangiareManifestoMannaroManovraMansardaMantideManubrioMappaMaratonaMarcireMarettaMarmoMarsupioMascheraMassaiaMastinoMaterassoMatricolaMattoneMaturoMazurcaMeandroMeccanicoMecenateMedesimoMeditareMegaMelassaMelisMelodiaMeningeMenoMensolaMercurioMerendaMerloMeschinoMeseMessereMestoloMetalloMetodoMettereMiagolareMicaMicelioMicheleMicroboMidolloMieleMiglioreMilanoMiliteMimosaMineraleMiniMinoreMirinoMirtilloMiscelaMissivaMistoMisurareMitezzaMitigareMitraMittenteMnemonicoModelloModificaModuloMoganoMogioMoleMolossoMonasteroMoncoMondinaMonetarioMonileMonotonoMonsoneMontatoMonvisoMoraMordereMorsicatoMostroMotivatoMotosegaMottoMovenzaMovimentoMozzoMuccaMucosaMuffaMughettoMugnaioMulattoMulinelloMultiploMummiaMuntoMuovereMuraleMusaMuscoloMusicaMutevoleMutoNababboNaftaNanometroNarcisoNariceNarratoNascereNastrareNaturaleNauticaNaviglioNebulosaNecrosiNegativoNegozioNemmenoNeofitaNerettoNervoNessunoNettunoNeutraleNeveNevroticoNicchiaNinfaNitidoNobileNocivoNodoNomeNominaNordicoNormaleNorvegeseNostranoNotareNotiziaNotturnoNovellaNucleoNullaNumeroNuovoNutrireNuvolaNuzialeOasiObbedireObbligoObeliscoOblioOboloObsoletoOccasioneOcchioOccidenteOccorrereOccultareOcraOculatoOdiernoOdorareOffertaOffrireOffuscatoOggettoOggiOgnunoOlandeseOlfattoOliatoOlivaOlogrammaOltreOmaggioOmbelicoOmbraOmegaOmissioneOndosoOnereOniceOnnivoroOnorevoleOntaOperatoOpinioneOppostoOracoloOrafoOrdineOrecchinoOreficeOrfanoOrganicoOrigineOrizzonteOrmaOrmeggioOrnativoOrologioOrrendoOrribileOrtensiaOrticaOrzataOrzoOsareOscurareOsmosiOspedaleOspiteOssaOssidareOstacoloOsteOtiteOtreOttagonoOttimoOttobreOvaleOvestOvinoOviparoOvocitoOvunqueOvviareOzioPacchettoPacePacificoPadellaPadronePaesePagaPaginaPalazzinaPalesarePallidoPaloPaludePandoroPannelloPaoloPaonazzoPapricaParabolaParcellaParerePargoloPariParlatoParolaPartireParvenzaParzialePassivoPasticcaPataccaPatologiaPattumePavonePeccatoPedalarePedonalePeggioPelosoPenarePendicePenisolaPennutoPenombraPensarePentolaPepePepitaPerbenePercorsoPerdonatoPerforarePergamenaPeriodoPermessoPernoPerplessoPersuasoPertugioPervasoPesatorePesistaPesoPestiferoPetaloPettinePetulantePezzoPiacerePiantaPiattinoPiccinoPicozzaPiegaPietraPifferoPigiamaPigolioPigroPilaPiliferoPillolaPilotaPimpantePinetaPinnaPinoloPioggiaPiomboPiramidePireticoPiritePirolisiPitonePizzicoPlaceboPlanarePlasmaPlatanoPlenarioPochezzaPoderosoPodismoPoesiaPoggiarePolentaPoligonoPollicePolmonitePolpettaPolsoPoltronaPolverePomicePomodoroPontePopolosoPorfidoPorosoPorporaPorrePortataPosaPositivoPossessoPostulatoPotassioPoterePranzoPrassiPraticaPreclusoPredicaPrefissoPregiatoPrelievoPremerePrenotarePreparatoPresenzaPretestoPrevalsoPrimaPrincipePrivatoProblemaProcuraProdurreProfumoProgettoProlungaPromessaPronomePropostaProrogaProtesoProvaPrudentePrugnaPruritoPsichePubblicoPudicaPugilatoPugnoPulcePulitoPulsantePuntarePupazzoPupillaPuroQuadroQualcosaQuasiQuerelaQuotaRaccoltoRaddoppioRadicaleRadunatoRafficaRagazzoRagioneRagnoRamarroRamingoRamoRandagioRantolareRapatoRapinaRappresoRasaturaRaschiatoRasenteRassegnaRastrelloRataRavvedutoRealeRecepireRecintoReclutaReconditoRecuperoRedditoRedimereRegalatoRegistroRegolaRegressoRelazioneRemareRemotoRennaReplicaReprimereReputareResaResidenteResponsoRestauroReteRetinaRetoricaRettificaRevocatoRiassuntoRibadireRibelleRibrezzoRicaricaRiccoRicevereRiciclatoRicordoRicredutoRidicoloRidurreRifasareRiflessoRiformaRifugioRigareRigettatoRighelloRilassatoRilevatoRimanereRimbalzoRimedioRimorchioRinascitaRincaroRinforzoRinnovoRinomatoRinsavitoRintoccoRinunciaRinvenireRiparatoRipetutoRipienoRiportareRipresaRipulireRisataRischioRiservaRisibileRisoRispettoRistoroRisultatoRisvoltoRitardoRitegnoRitmicoRitrovoRiunioneRivaRiversoRivincitaRivoltoRizomaRobaRoboticoRobustoRocciaRocoRodaggioRodereRoditoreRogitoRollioRomanticoRompereRonzioRosolareRospoRotanteRotondoRotulaRovescioRubizzoRubricaRugaRullinoRumineRumorosoRuoloRupeRussareRusticoSabatoSabbiareSabotatoSagomaSalassoSaldaturaSalgemmaSalivareSalmoneSaloneSaltareSalutoSalvoSapereSapidoSaporitoSaracenoSarcasmoSartoSassosoSatelliteSatiraSatolloSaturnoSavanaSavioSaziatoSbadiglioSbalzoSbancatoSbarraSbattereSbavareSbendareSbirciareSbloccatoSbocciatoSbrinareSbruffoneSbuffareScabrosoScadenzaScalaScambiareScandaloScapolaScarsoScatenareScavatoSceltoScenicoScettroSchedaSchienaSciarpaScienzaScindereScippoSciroppoScivoloSclerareScodellaScolpitoScompartoSconfortoScoprireScortaScossoneScozzeseScribaScrollareScrutinioScuderiaScultoreScuolaScuroScusareSdebitareSdoganareSeccaturaSecondoSedanoSeggiolaSegnalatoSegregatoSeguitoSelciatoSelettivoSellaSelvaggioSemaforoSembrareSemeSeminatoSempreSensoSentireSepoltoSequenzaSerataSerbatoSerenoSerioSerpenteSerraglioServireSestinaSetolaSettimanaSfaceloSfaldareSfamatoSfarzosoSfaticatoSferaSfidaSfilatoSfingeSfocatoSfoderareSfogoSfoltireSforzatoSfrattoSfruttatoSfuggitoSfumareSfusoSgabelloSgarbatoSgonfiareSgorbioSgrassatoSguardoSibiloSiccomeSierraSiglaSignoreSilenzioSillabaSimboloSimpaticoSimulatoSinfoniaSingoloSinistroSinoSintesiSinusoideSiparioSismaSistoleSituatoSlittaSlogaturaSlovenoSmarritoSmemoratoSmentitoSmeraldoSmilzoSmontareSmottatoSmussatoSnellireSnervatoSnodoSobbalzoSobrioSoccorsoSocialeSodaleSoffittoSognoSoldatoSolenneSolidoSollazzoSoloSolubileSolventeSomaticoSommaSondaSonettoSonniferoSopireSoppesoSopraSorgereSorpassoSorrisoSorsoSorteggioSorvolatoSospiroSostaSottileSpadaSpallaSpargereSpatolaSpaventoSpazzolaSpecieSpedireSpegnereSpelaturaSperanzaSpessoreSpettraleSpezzatoSpiaSpigolosoSpillatoSpinosoSpiraleSplendidoSportivoSposoSprangaSprecareSpronatoSpruzzoSpuntinoSquilloSradicareSrotolatoStabileStaccoStaffaStagnareStampatoStantioStarnutoStaseraStatutoSteloSteppaSterzoStilettoStimaStirpeStivaleStizzosoStonatoStoricoStrappoStregatoStriduloStrozzareStruttoStuccareStufoStupendoSubentroSuccosoSudoreSuggeritoSugoSultanoSuonareSuperboSupportoSurgelatoSurrogatoSussurroSuturaSvagareSvedeseSveglioSvelareSvenutoSveziaSviluppoSvistaSvizzeraSvoltaSvuotareTabaccoTabulatoTacciareTaciturnoTaleTalismanoTamponeTanninoTaraTardivoTargatoTariffaTarpareTartarugaTastoTatticoTavernaTavolataTazzaTecaTecnicoTelefonoTemerarioTempoTemutoTendoneTeneroTensioneTentacoloTeoremaTermeTerrazzoTerzettoTesiTesseratoTestatoTetroTettoiaTifareTigellaTimbroTintoTipicoTipografoTiraggioTiroTitanioTitoloTitubanteTizioTizzoneToccareTollerareToltoTombolaTomoTonfoTonsillaTopazioTopologiaToppaTorbaTornareTorroneTortoraToscanoTossireTostaturaTotanoTraboccoTracheaTrafilaTragediaTralcioTramontoTransitoTrapanoTrarreTraslocoTrattatoTraveTrecciaTremolioTrespoloTributoTrichecoTrifoglioTrilloTrinceaTrioTristezzaTrituratoTrivellaTrombaTronoTroppoTrottolaTrovareTruccatoTubaturaTuffatoTulipanoTumultoTunisiaTurbareTurchinoTutaTutelaUbicatoUccelloUccisoreUdireUditivoUffaUfficioUgualeUlisseUltimatoUmanoUmileUmorismoUncinettoUngereUnghereseUnicornoUnificatoUnisonoUnitarioUnteUovoUpupaUraganoUrgenzaUrloUsanzaUsatoUscitoUsignoloUsuraioUtensileUtilizzoUtopiaVacanteVaccinatoVagabondoVagliatoValangaValgoValicoVallettaValorosoValutareValvolaVampataVangareVanitosoVanoVantaggioVanveraVaporeVaranoVarcatoVarianteVascaVedettaVedovaVedutoVegetaleVeicoloVelcroVelinaVellutoVeloceVenatoVendemmiaVentoVeraceVerbaleVergognaVerificaVeroVerrucaVerticaleVescicaVessilloVestaleVeteranoVetrinaVetustoViandanteVibranteVicendaVichingoVicinanzaVidimareVigiliaVignetoVigoreVileVillanoViminiVincitoreViolaViperaVirgolaVirologoVirulentoViscosoVisioneVispoVissutoVisuraVitaVitelloVittimaVivandaVividoViziareVoceVogaVolatileVolereVolpeVoragineVulcanoZampognaZannaZappatoZatteraZavorraZefiroZelanteZeloZenzeroZerbinoZibettoZincoZirconeZittoZollaZoticoZuccheroZufoloZuluZuppa".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620"!==ui.check(e)))throw Di=null,new Error("BIP39 Wordlist for it (Italian) FAILED")}const Ii=new class extends ui{constructor(){super("it")}getWord(e){return Oi(this),Di[e]}getWordIndex(e){return Oi(this),Di.indexOf(e)}};ui.register(Ii);const _i="}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN>2),128+xi.indexOf(_i[3*r+1]),128+xi.indexOf(_i[3*r+2])];if("zh_tw"===e.locale){for(let e=o%4;e<3;e++)n[e]=xi.indexOf("FAZDC6BALcLZCA+GBARCW8wNCcDDZ8LVFBOqqDUiou+M42TFAyERXFb7EjhP+vmBFpFrUpfDV2F7eB+eCltCHJFWLFCED+pWTojEIHFXc3aFn4F68zqjEuKidS1QBVPDEhE7NA4mhMF7oThD49ot3FgtzHFCK0acW1x8DH1EmLoIlrWFBLE+y5+NA3Cx65wJHTaEZVaK1mWAmPGxgYCdxwOjTDIt/faOEhTl1vqNsKtJCOhJWuio2g07KLZEQsFBUpNtwEByBgxFslFheFbiEPvi61msDvApxCzB6rBCzox7joYA5UdDc+Cb4FSgIabpXFAj3bjkmFAxCZE+mD/SFf/0ELecYCt3nLoxC6WEZf2tKDB4oZvrEmqFkKk7BwILA7gtYBpsTq//D4jD0F0wEB9pyQ1BD5Ba0oYHDI+sbDFhvrHXdDHfgFEIJLi5r8qercNFBgFLC4bo5ERJtamWBDFy73KCEb6M8VpmEt330ygCTK58EIIFkYgF84gtGA9Uyh3m68iVrFbWFbcbqiCYHZ9J1jeRPbL8yswhMiDbhEhdNoSwFbZrLT740ABEqgCkO8J1BLd1VhKKR4sD1yUo0z+FF59Mvg71CFbyEhbHSFBKEIKyoQNgQppq9T0KAqePu0ZFGrXOHdKJqkoTFhYvpDNyuuznrN84thJbsCoO6Cu6Xlvntvy0QYuAExQEYtTUBf3CoCqwgGFZ4u1HJFzDVwEy3cjcpV4QvsPaBC3rCGyCF23o4K3pp2gberGgFEJEHo4nHICtyKH2ZqyxhN05KBBJIQlKh/Oujv/DH32VrlqFdIFC7Fz9Ct4kaqFME0UETLprnN9kfy+kFmtQBB0+5CFu0N9Ij8l/VvJDh2oq3hT6EzjTHKFN7ZjZwoTsAZ4Exsko6Fpa6WC+sduz8jyrLpegTv2h1EBeYpLpm2czQW0KoCcS0bCVXCmuWJDBjN1nQNLdF58SFJ0h7i3pC3oEOKy/FjBklL70XvBEEIWp2yZ04xObzAWDDJG7f+DbqBEA7LyiR95j7MDVdDViz2RE5vWlBMv5e4+VfhP3aXNPhvLSynb9O2x4uFBV+3jqu6d5pCG28/sETByvmu/+IJ0L3wb4rj9DNOLBF6XPIODr4L19U9RRofAG6Nxydi8Bki8BhGJbBAJKzbJxkZSlF9Q2Cu8oKqggB9hBArwLLqEBWEtFowy8XK8bEyw9snT+BeyFk1ZCSrdmgfEwFePTgCjELBEnIbjaDDPJm36rG9pztcEzT8dGk23SBhXBB1H4z+OWze0ooFzz8pDBYFvp9j9tvFByf9y4EFdVnz026CGR5qMr7fxMHN8UUdlyJAzlTBDRC28k+L4FB8078ljyD91tUj1ocnTs8vdEf7znbzm+GIjEZnoZE5rnLL700Xc7yHfz05nWxy03vBB9YGHYOWxgMQGBCR24CVYNE1hpfKxN0zKnfJDmmMgMmBWqNbjfSyFCBWSCGCgR8yFXiHyEj+VtD1FB3FpC1zI0kFbzifiKTLm9yq5zFmur+q8FHqjoOBWsBPiDbnCC2ErunV6cJ6TygXFYHYp7MKN9RUlSIS8/xBAGYLzeqUnBF4QbsTuUkUqGs6CaiDWKWjQK9EJkjpkTmNCPYXL"[t++])+(0==e?228:128)}Xi[e.locale].push(Jt(n))}if(ui.check(e)!==Hi[e.locale])throw Xi[e.locale]=null,new Error("BIP39 Wordlist for "+e.locale+" (Chinese) FAILED")}class Ui extends ui{constructor(e){super("zh_"+e)}getWord(e){return Gi(this),Xi[this.locale][e]}getWordIndex(e){return Gi(this),Xi[this.locale].indexOf(e)}split(e){return(e=e.replace(/(?:\u3000| )+/g,"")).split("")}}const zi=new Ui("cn");ui.register(zi),ui.register(zi,"zh");const Vi=new Ui("tw");ui.register(Vi);const Zi={cz:di,en:mi,es:Ai,fr:Ei,it:Ii,ja:Pi,ko:Ni,zh:zi,zh_cn:zi,zh_tw:Vi},ji=new m("hdnode/5.0.1"),Ki=_.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Qi=kt("Bitcoin seed");function qi(e){return(1<=256)throw new Error("Depth too large!");return Wi(w([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",C(this.depth),this.parentFingerprint,L(C(this.index),4),this.chainCode,null!=this.privateKey?w(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new ra(ea,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error("invalid index - "+String(e));let t=this.path;t&&(t+="/"+(2147483647&e));const r=new Uint8Array(37);if(2147483648&e){if(!this.privateKey)throw new Error("cannot derive child of neutered node");r.set(S(this.privateKey),1),t&&(t+="'")}else r.set(S(this.publicKey));for(let t=24;t>=0;t-=8)r[33+(t>>3)]=e>>24-t&255;const o=S(ln(on.sha512,this.chainCode,r)),n=o.slice(0,32),i=o.slice(32);let a=null,s=null;if(this.privateKey)a=Yi(_.from(n).add(this.privateKey).mod(Ki));else{s=new Yn(C(n))._addPoint(this.publicKey)}let l=t;const u=this.mnemonic;return u&&(l=Object.freeze({phrase:u.phrase,path:t,locale:u.locale||"en"})),new ra(ea,a,s,this.fingerprint,Yi(i),e,this.depth+1,l)}derivePath(e){const t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();let r=this;for(let e=0;e=2147483648)throw new Error("invalid path index - "+o);r=r._derive(2147483648+e)}else{if(!o.match(/^[0-9]+$/))throw new Error("invalid path component - "+o);{const e=parseInt(o);if(e>=2147483648)throw new Error("invalid path index - "+o);r=r._derive(e)}}}return r}static _fromSeed(e,t){const r=S(e);if(r.length<16||r.length>64)throw new Error("invalid seed");const o=S(ln(on.sha512,Qi,r));return new ra(ea,Yi(o.slice(0,32)),null,"0x00000000",Yi(o.slice(32)),0,0,t)}static fromMnemonic(e,t,r){return e=ia(na(e,r=$i(r)),r),ra._fromSeed(oa(e,t),{phrase:e,path:"m",locale:r.locale})}static fromSeed(e){return ra._fromSeed(e,null)}static fromExtendedKey(e){const t=Rr.decode(e);82===t.length&&Wi(t.slice(0,78))===e||ji.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const r=t[4],o=C(t.slice(5,9)),n=parseInt(C(t.slice(9,13)).substring(2),16),i=C(t.slice(13,45)),a=t.slice(45,78);switch(C(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new ra(ea,null,C(a),o,i,n,r,null);case"0x0488ade4":case"0x04358394 ":if(0!==a[0])break;return new ra(ea,C(a.slice(1)),null,o,i,n,r,null)}return ji.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function oa(e,t){t||(t="");const r=kt("mnemonic"+t,wt.NFKD);return un(kt(e,wt.NFKD),r,2048,64,"sha512")}function na(e,t){t=$i(t),ji.checkNormalize();const r=t.split(e);if(r.length%3!=0)throw new Error("invalid mnemonic");const o=S(new Uint8Array(Math.ceil(11*r.length/8)));let n=0;for(let e=0;e>3]|=1<<7-n%8),n++}const i=32*r.length/3,a=qi(r.length/3);if((S(an(o.slice(0,i/8)))[0]&a)!==(o[o.length-1]&a))throw new Error("invalid checksum");return C(o.slice(0,i/8))}function ia(e,t){if(t=$i(t),(e=S(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");const r=[0];let o=11;for(let t=0;t8?(r[r.length-1]<<=8,r[r.length-1]|=e[t],o-=8):(r[r.length-1]<<=o,r[r.length-1]|=e[t]>>8-o,r.push(e[t]&(1<<8-o)-1),o+=3);const n=e.length/4,i=S(an(e))[0]&qi(n);return r[r.length-1]<<=n,r[r.length-1]|=i>>8-n,t.join(r.map(e=>t.getWord(e)))}function aa(e){for(let t=(e=e.slice()).length-1;t>0;t--){const r=Math.floor(Math.random()*(t+1)),o=e[t];e[t]=e[r],e[r]=o}return e}const sa=new m("random/5.0.1");let la=null;try{if(la=window,null==la)throw new Error("try next")}catch(e){try{if(la=global,null==la)throw new Error("try next")}catch(e){la={}}}let ua=la.crypto||la.msCrypto;function ca(e){(e<=0||e>1024||e%1)&&sa.throwArgumentError("invalid length","length",e);const t=new Uint8Array(e);return ua.getRandomValues(t),S(t)}ua&&ua.getRandomValues||(sa.warn("WARNING: Missing strong random number source"),ua={getRandomValues:function(e){return sa.throwError("no secure random source avaialble",m.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var ha=r((function(e,t){!function(t){function r(e){return parseInt(e)===e}function o(e){if(!r(e.length))return!1;for(var t=0;t255)return!1;return!0}function n(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!o(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(r(e.length)&&o(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function i(e){return new Uint8Array(e)}function a(e,t,r,o,n){null==o&&null==n||(e=e.slice?e.slice(o,n):Array.prototype.slice.call(e,o,n)),t.set(e,r)}var s,l={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&o<224?(t.push(String.fromCharCode((31&o)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&o)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},u=(s="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+s[15&o])}return t.join("")}}),c={16:10,24:12,32:14},h=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],d=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],f=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],g=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],b=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],y=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],A=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],T=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],S=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],w=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],M=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],E=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function F(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=i[t],this._Kd[e-r][t%4]=i[t];for(var a,s=0,l=n;l>16&255]<<24^d[a>>8&255]<<16^d[255&a]<<8^d[a>>24&255]^h[s]<<24,s+=1,8!=n)for(t=1;t>8&255]<<8^d[a>>16&255]<<16^d[a>>24&255]<<24;for(t=n/2+1;t>2,f=l%4,this._Ke[u][f]=i[t],this._Kd[e-u][f]=i[t++],l++}for(var u=1;u>24&255]^w[a>>16&255]^M[a>>8&255]^E[255&a]},C.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],o=F(e),n=0;n<4;n++)o[n]^=this._Ke[0][n];for(var a=1;a>24&255]^m[o[(n+1)%4]>>16&255]^g[o[(n+2)%4]>>8&255]^v[255&o[(n+3)%4]]^this._Ke[a][n];o=r.slice()}var s,l=i(16);for(n=0;n<4;n++)s=this._Ke[t][n],l[4*n]=255&(d[o[n]>>24&255]^s>>24),l[4*n+1]=255&(d[o[(n+1)%4]>>16&255]^s>>16),l[4*n+2]=255&(d[o[(n+2)%4]>>8&255]^s>>8),l[4*n+3]=255&(d[255&o[(n+3)%4]]^s);return l},C.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],o=F(e),n=0;n<4;n++)o[n]^=this._Kd[0][n];for(var a=1;a>24&255]^y[o[(n+3)%4]>>16&255]^A[o[(n+2)%4]>>8&255]^T[255&o[(n+1)%4]]^this._Kd[a][n];o=r.slice()}var s,l=i(16);for(n=0;n<4;n++)s=this._Kd[t][n],l[4*n]=255&(f[o[n]>>24&255]^s>>24),l[4*n+1]=255&(f[o[(n+3)%4]>>16&255]^s>>16),l[4*n+2]=255&(f[o[(n+2)%4]>>8&255]^s>>8),l[4*n+3]=255&(f[255&o[(n+1)%4]]^s);return l};var k=function(e){if(!(this instanceof k))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new C(e)};k.prototype.encrypt=function(e){if((e=n(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=i(e.length),r=i(16),o=0;o=0;--t)this._counter[t]=e%256,e>>=8},L.prototype.setBytes=function(e){if(16!=(e=n(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},L.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var R=function(e,t){if(!(this instanceof R))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof L||(t=new L(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new C(e)};R.prototype.encrypt=function(e){for(var t=n(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,o=0;o=64;){let f,p,m,g,v,b=r,y=o,A=n,T=i,S=a,w=s,M=l,E=u;for(p=0;p<16;p++)m=h+4*p,c[p]=(255&e[m])<<24|(255&e[m+1])<<16|(255&e[m+2])<<8|255&e[m+3];for(p=16;p<64;p++)f=c[p-2],g=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,f=c[p-15],v=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,c[p]=(g+c[p-7]|0)+(v+c[p-16]|0)|0;for(p=0;p<64;p++)g=(((S>>>6|S<<26)^(S>>>11|S<<21)^(S>>>25|S<<7))+(S&w^~S&M)|0)+(E+(t[p]+c[p]|0)|0)|0,v=((b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10))+(b&y^b&A^y&A)|0,E=M,M=w,w=S,S=T+g|0,T=A,A=y,y=b,b=g+v|0;r=r+b|0,o=o+y|0,n=n+A|0,i=i+T|0,a=a+S|0,s=s+w|0,l=l+M|0,u=u+E|0,h+=64,d-=64}}h(e);let d,f=e.length%64,p=e.length/536870912|0,m=e.length<<3,g=f<56?56:120,v=e.slice(e.length-f,e.length);for(v.push(128),d=f+1;d>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),v.push(m>>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),h(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255]}function o(e,t,o){e=e.length<=64?e:r(e);const n=64+t.length+4,i=new Array(n),a=new Array(64);let s,l=[];for(s=0;s<64;s++)i[s]=54;for(s=0;s=n-4;e--){if(i[e]++,i[e]<=255)return;i[e]=0}}for(;o>=32;)u(),l=l.concat(r(a.concat(r(i)))),o-=32;return o>0&&(u(),l=l.concat(r(a.concat(r(i))).slice(0,o))),l}function n(e,t,r,o,n){let i;for(l(e,16*(2*r-1),n,0,16),i=0;i<2*r;i++)s(e,16*i,n,16),a(n,o),l(n,0,e,t+16*i,16);for(i=0;i>>32-t}function a(e,t){l(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=i(t[0]+t[12],7),t[8]^=i(t[4]+t[0],9),t[12]^=i(t[8]+t[4],13),t[0]^=i(t[12]+t[8],18),t[9]^=i(t[5]+t[1],7),t[13]^=i(t[9]+t[5],9),t[1]^=i(t[13]+t[9],13),t[5]^=i(t[1]+t[13],18),t[14]^=i(t[10]+t[6],7),t[2]^=i(t[14]+t[10],9),t[6]^=i(t[2]+t[14],13),t[10]^=i(t[6]+t[2],18),t[3]^=i(t[15]+t[11],7),t[7]^=i(t[3]+t[15],9),t[11]^=i(t[7]+t[3],13),t[15]^=i(t[11]+t[7],18),t[1]^=i(t[0]+t[3],7),t[2]^=i(t[1]+t[0],9),t[3]^=i(t[2]+t[1],13),t[0]^=i(t[3]+t[2],18),t[6]^=i(t[5]+t[4],7),t[7]^=i(t[6]+t[5],9),t[4]^=i(t[7]+t[6],13),t[5]^=i(t[4]+t[7],18),t[11]^=i(t[10]+t[9],7),t[8]^=i(t[11]+t[10],9),t[9]^=i(t[8]+t[11],13),t[10]^=i(t[9]+t[8],18),t[12]^=i(t[15]+t[14],7),t[13]^=i(t[12]+t[15],9),t[14]^=i(t[13]+t[12],13),t[15]^=i(t[14]+t[13],18);for(let r=0;r<16;++r)e[r]+=t[r]}function s(e,t,r,o){for(let n=0;n=256)return!1}return!0}function c(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function h(e,t,r,i,a,h,d){if(r=c(r,"N"),i=c(i,"r"),a=c(a,"p"),h=c(h,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>2147483647/128/i)throw new Error("N too large");if(i>2147483647/128/a)throw new Error("r too large");if(!u(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!u(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);let f=o(e,t,128*a*i);const p=new Uint32Array(32*a*i);for(let e=0;ek&&(t=k);for(let e=0;ek&&(t=k);for(let e=0;e>0&255),f.push(p[e]>>8&255),f.push(p[e]>>16&255),f.push(p[e]>>24&255);const u=o(e,f,h);return d&&d(null,1,u),u}d&&B(P)};if(!d)for(;;){const e=P();if(null!=e)return e}P()}const d={scrypt:function(e,t,r,o,n,i,a){return new Promise((function(s,l){let u=0;a&&a(0),h(e,t,r,o,n,i,(function(e,t,r){if(e)l(e);else if(r)a&&1!==u&&a(1),s(new Uint8Array(r));else if(a&&t!==u)return u=t,a(t)}))}))},syncScrypt:function(e,t,r,o,n,i){return new Uint8Array(h(e,t,r,o,n,i))}};e.exports=d}()})),wa=Sa.scrypt,Ma=Sa.syncScrypt;if(e.crypto&&crypto.getRandomValues){var Ea=new Uint8Array(16);Ta=function(){return crypto.getRandomValues(Ea),Ea}}if(!Ta){var Fa=new Array(16);Ta=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),Fa[t]=e>>>((3&t)<<3)&255;return Fa}}for(var Ca=Ta,ka=[],Ba={},Pa=0;Pa<256;Pa++)ka[Pa]=(Pa+256).toString(16).substr(1),Ba[ka[Pa]]=Pa;function Ja(e,t){var r=t||0,o=ka;return o[e[r++]]+o[e[r++]]+o[e[r++]]+o[e[r++]]+"-"+o[e[r++]]+o[e[r++]]+"-"+o[e[r++]]+o[e[r++]]+"-"+o[e[r++]]+o[e[r++]]+"-"+o[e[r++]]+o[e[r++]]+o[e[r++]]+o[e[r++]]+o[e[r++]]+o[e[r++]]}var La=Ca(),Ra=[1|La[0],La[1],La[2],La[3],La[4],La[5]],Na=16383&(La[6]<<8|La[7]),Da=0,Oa=0;function Ia(e,t,r){var o=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var n=(e=e||{}).random||(e.rng||Ca)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t)for(var i=0;i<16;i++)t[o+i]=n[i];return t||Ja(n)}var _a=Ia;_a.v1=function(e,t,r){var o=t&&r||0,n=t||[],i=void 0!==(e=e||{}).clockseq?e.clockseq:Na,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),s=void 0!==e.nsecs?e.nsecs:Oa+1,l=a-Da+(s-Oa)/1e4;if(l<0&&void 0===e.clockseq&&(i=i+1&16383),(l<0||a>Da)&&void 0===e.nsecs&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Da=a,Oa=s,Na=i;var u=(1e4*(268435455&(a+=122192928e5))+s)%4294967296;n[o++]=u>>>24&255,n[o++]=u>>>16&255,n[o++]=u>>>8&255,n[o++]=255&u;var c=a/4294967296*1e4&268435455;n[o++]=c>>>8&255,n[o++]=255&c,n[o++]=c>>>24&15|16,n[o++]=c>>>16&255,n[o++]=i>>>8|128,n[o++]=255&i;for(var h=e.node||Ra,d=0;d<6;d++)n[o+d]=h[d];return t||Ja(n)},_a.v4=Ia,_a.parse=function(e,t,r){var o=t&&r||0,n=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,(function(e){n<16&&(t[o+n++]=Ba[e])}));n<16;)t[o+n++]=0;return t},_a.unparse=Ja;var Xa=_a,Ha=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const xa=new m("json-wallets/5.0.1");function Ga(e){return null!=e&&e.mnemonic&&e.mnemonic.phrase}class Ua extends ce{isKeystoreAccount(e){return!(!e||!e._isKeystoreAccount)}}function za(e,t){const r=da(ma(e,"crypto/ciphertext"));if(C(_e(w([t.slice(16,32),r]))).substring(2)!==ma(e,"crypto/mac").toLowerCase())throw new Error("invalid password");const o=function(e,t,r){if("aes-128-ctr"===ma(e,"crypto/cipher")){const o=da(ma(e,"crypto/cipherparams/iv")),n=new ha.Counter(o);return S(new ha.ModeOfOperation.ctr(t,n).decrypt(r))}return null}(e,t.slice(0,16),r);o||xa.throwError("unsupported cipher",m.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const n=t.slice(32,64),i=ni(o);if(e.address){let t=e.address.toLowerCase();if("0x"!==t.substring(0,2)&&(t="0x"+t),$e(t)!==i)throw new Error("address mismatch")}const a={_isKeystoreAccount:!0,address:i,privateKey:C(o)};if("0.1"===ma(e,"x-ethers/version")){const t=da(ma(e,"x-ethers/mnemonicCiphertext")),r=da(ma(e,"x-ethers/mnemonicCounter")),o=new ha.Counter(r),i=new ha.ModeOfOperation.ctr(n,o),s=ma(e,"x-ethers/path")||ta,l=ma(e,"x-ethers/locale")||"en",u=S(i.decrypt(t));try{const e=ia(u,l),t=ra.fromMnemonic(e,null,l).derivePath(s);if(t.privateKey!=a.privateKey)throw new Error("mnemonic mismatch");a.mnemonic=t.mnemonic}catch(e){if(e.code!==m.errors.INVALID_ARGUMENT||"wordlist"!==e.argument)throw e}}return new Ua(a)}function Va(e,t,r,o,n){return S(un(e,t,r,o,n))}function Za(e,t,r,o,n){return Promise.resolve(Va(e,t,r,o,n))}function ja(e,t,r,o,n){const i=pa(t),a=ma(e,"crypto/kdf");if(a&&"string"==typeof a){const t=function(e,t){return xa.throwArgumentError("invalid key-derivation function parameters",e,t)};if("scrypt"===a.toLowerCase()){const r=da(ma(e,"crypto/kdfparams/salt")),s=parseInt(ma(e,"crypto/kdfparams/n")),l=parseInt(ma(e,"crypto/kdfparams/r")),u=parseInt(ma(e,"crypto/kdfparams/p"));s&&l&&u||t("kdf",a),0!=(s&s-1)&&t("N",s);const c=parseInt(ma(e,"crypto/kdfparams/dklen"));return 32!==c&&t("dklen",c),o(i,r,s,l,u,64,n)}if("pbkdf2"===a.toLowerCase()){const o=da(ma(e,"crypto/kdfparams/salt"));let n=null;const a=ma(e,"crypto/kdfparams/prf");"hmac-sha256"===a?n="sha256":"hmac-sha512"===a?n="sha512":t("prf",a);const s=parseInt(ma(e,"crypto/kdfparams/c")),l=parseInt(ma(e,"crypto/kdfparams/dklen"));return 32!==l&&t("dklen",l),r(i,o,s,l,n)}}return xa.throwArgumentError("unsupported key-derivation function","kdf",a)}function Ka(e,t,r){if(ya(e)){r&&r(0);const o=ba(e,t);return r&&r(1),Promise.resolve(o)}return Aa(e)?function(e,t,r){return Ha(this,void 0,void 0,(function*(){const o=JSON.parse(e);return za(o,yield ja(o,t,Za,wa,r))}))}(e,t,r):Promise.reject(new Error("invalid JSON wallet"))}function Qa(e,t){if(ya(e))return ba(e,t);if(Aa(e))return function(e,t){const r=JSON.parse(e);return za(r,ja(r,t,Va,Ma))}(e,t);throw new Error("invalid JSON wallet")}const qa=new m("wallet/5.0.1");class Ya extends mr{constructor(e,t){if(qa.checkNew(new.target,Ya),super(),null!=(r=e)&&F(r.privateKey,32)&&null!=r.address){const t=new Yn(e.privateKey);if(re(this,"_signingKey",()=>t),re(this,"address",ni(this.publicKey)),this.address!==$e(e.address)&&qa.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(e){const t=e.mnemonic;return t&&t.phrase}(e)){const t=e.mnemonic;re(this,"_mnemonic",()=>({phrase:t.phrase,path:t.path||ta,locale:t.locale||"en"}));const r=this.mnemonic;ni(ra.fromMnemonic(r.phrase,null,r.locale).derivePath(r.path).privateKey)!==this.address&&qa.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else re(this,"_mnemonic",()=>null)}else{if(Yn.isSigningKey(e))"secp256k1"!==e.curve&&qa.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),re(this,"_signingKey",()=>e);else{const t=new Yn(e);re(this,"_signingKey",()=>t)}re(this,"_mnemonic",()=>null),re(this,"address",ni(this.publicKey))}var r;t&&!hr.isProvider(t)&&qa.throwArgumentError("invalid provider","provider",t),re(this,"provider",t||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(e){return new Ya(this,e)}signTransaction(e){return ne(e).then(e=>{if(null!=e.from){if($e(e.from)!==this.address)throw new Error("transaction from address mismatch");delete e.from}const t=this._signingKey().signDigest(_e(ai(e)));return ai(e,t)})}signMessage(e){return Promise.resolve(N(this._signingKey().signDigest(rr(e))))}encrypt(e,t,r){if("function"!=typeof t||r||(r=t,t={}),r&&"function"!=typeof r)throw new Error("invalid callback");return t||(t={}),function(e,t,r,o){try{if($e(e.address)!==ni(e.privateKey))throw new Error("address/privateKey mismatch");if(Ga(e)){const t=e.mnemonic;if(ra.fromMnemonic(t.phrase,null,t.locale).derivePath(t.path||ta).privateKey!=e.privateKey)throw new Error("mnemonic mismatch")}}catch(e){return Promise.reject(e)}"function"!=typeof r||o||(o=r,r={}),r||(r={});const n=S(e.privateKey),i=pa(t);let a=null,s=null,l=null;if(Ga(e)){const t=e.mnemonic;a=S(na(t.phrase,t.locale||"en")),s=t.path||ta,l=t.locale||"en"}let u=r.client;u||(u="ethers.js");let c=null;c=r.salt?S(r.salt):ca(32);let h=null;if(r.iv){if(h=S(r.iv),16!==h.length)throw new Error("invalid iv")}else h=ca(16);let d=null;if(r.uuid){if(d=S(r.uuid),16!==d.length)throw new Error("invalid uuid")}else d=ca(16);let f=1<<17,p=8,m=1;return r.scrypt&&(r.scrypt.N&&(f=r.scrypt.N),r.scrypt.r&&(p=r.scrypt.r),r.scrypt.p&&(m=r.scrypt.p)),wa(i,c,f,p,m,64,o).then(t=>{const r=(t=S(t)).slice(0,16),o=t.slice(16,32),i=t.slice(32,64),g=new ha.Counter(h),v=S(new ha.ModeOfOperation.ctr(r,g).encrypt(n)),b=_e(w([o,v])),y={address:e.address.substring(2).toLowerCase(),id:Xa.v4({random:d}),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:C(h).substring(2)},ciphertext:C(v).substring(2),kdf:"scrypt",kdfparams:{salt:C(c).substring(2),n:f,dklen:32,p:m,r:p},mac:b.substring(2)}};if(a){const e=ca(16),t=new ha.Counter(e),r=S(new ha.ModeOfOperation.ctr(i,t).encrypt(a)),o=new Date,n=o.getUTCFullYear()+"-"+fa(o.getUTCMonth()+1,2)+"-"+fa(o.getUTCDate(),2)+"T"+fa(o.getUTCHours(),2)+"-"+fa(o.getUTCMinutes(),2)+"-"+fa(o.getUTCSeconds(),2)+".0Z";y["x-ethers"]={client:u,gethFilename:"UTC--"+n+"--"+y.address,mnemonicCounter:C(e).substring(2),mnemonicCiphertext:C(r).substring(2),path:s,locale:l,version:"0.1"}}return JSON.stringify(y)})}(this,e,t,r)}static createRandom(e){let t=ca(16);e||(e={}),e.extraEntropy&&(t=S(B(_e(w([t,e.extraEntropy])),0,16)));const r=ia(t,e.locale);return Ya.fromMnemonic(r,e.path,e.locale)}static fromEncryptedJson(e,t,r){return Ka(e,t,r).then(e=>new Ya(e))}static fromEncryptedJsonSync(e,t){return new Ya(Qa(e,t))}static fromMnemonic(e,t,r){return t||(t=ta),new Ya(ra.fromMnemonic(e,null,r).derivePath(t))}}const Wa=new m("networks/5.0.1");function $a(e){return function(t,r){null==r&&(r={});const o=[];if(t.InfuraProvider)try{o.push(new t.InfuraProvider(e,r.infura))}catch(e){}if(t.EtherscanProvider)try{o.push(new t.EtherscanProvider(e,r.etherscan))}catch(e){}if(t.AlchemyProvider)try{o.push(new t.AlchemyProvider(e,r.alchemy))}catch(e){}if(t.CloudflareProvider)try{o.push(new t.CloudflareProvider(e))}catch(e){}if(0===o.length)return null;if(t.FallbackProvider){let n=1;return null!=r.quorum?n=r.quorum:"homestead"===e&&(n=2),new t.FallbackProvider(o,n)}return o[0]}}function es(e,t){return function(r,o){return r.JsonRpcProvider?new r.JsonRpcProvider(e,t):null}}const ts={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:$a("homestead")},rs={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:$a("ropsten")},os={chainId:63,name:"classicMordor",_defaultProvider:es("https://www.ethercluster.com/mordor","classicMordor")},ns={unspecified:{chainId:0,name:"unspecified"},homestead:ts,mainnet:ts,morden:{chainId:2,name:"morden"},ropsten:rs,testnet:rs,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:$a("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:$a("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:$a("goerli")},classic:{chainId:61,name:"classic",_defaultProvider:es("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:os,classicTestnet:os,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:es("https://www.ethercluster.com/kotti","classicKotti")}};function is(e){if(null==e)return null;if("number"==typeof e){for(const t in ns){const r=ns[t];if(r.chainId===e)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){const t=ns[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}const t=ns[e.name];return t?(0!==e.chainId&&e.chainId!==t.chainId&&Wa.throwArgumentError("network chainId mismatch","network",e),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:e._defaultProvider||t._defaultProvider||null}):("number"!=typeof e.chainId&&Wa.throwArgumentError("invalid network chainId","network",e),e)}function as(e){e=S(e);let t="";for(let r=0;r0&&(s=e.timeout),e.headers)for(const t in e.headers)o[t.toLowerCase()]={key:t,value:String(e.headers[t])},["if-none-match","if-modified-since"].indexOf(t.toLowerCase())>=0&&(a=!0);if(null!=e.user&&null!=e.password){"https:"!==n.substring(0,6)&&!0!==e.allowInsecureAuthentication&&cs.throwError("basic authentication requires a secure https url",m.errors.INVALID_ARGUMENT,{argument:"url",url:n,user:e.user,password:"[REDACTED]"});const t=e.user+":"+e.password;o.authorization={key:"Authorization",value:"Basic "+as(kt(t))}}}t&&(i.method="POST",i.body=t,o["content-type"]={key:"Content-Type",value:"application/json"});const l={};Object.keys(o).forEach(e=>{const t=o[e];l[t.key]=t.value}),i.headers=l;const u=function(){let e=null;return{promise:new Promise((function(t,r){s&&(e=setTimeout(()=>{null!=e&&(e=null,r(cs.makeError("timeout",m.errors.TIMEOUT,{requestBody:i.body||null,requestMethod:i.method,timeout:s,url:n})))},s))})),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),c=function(){return us(this,void 0,void 0,(function*(){let e=null;try{e=yield function(e,t){return ls(this,void 0,void 0,(function*(){null==t&&(t={});const r={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0,mode:"cors",cache:"no-cache",credentials:"same-origin",redirect:"follow",referrer:"client"},o=yield fetch(e,r),n=yield o.text(),i={};return o.headers.forEach?o.headers.forEach((e,t)=>{i[t.toLowerCase()]=e}):o.headers.keys().forEach(e=>{i[e.toLowerCase()]=o.headers.get(e)}),{headers:i,statusCode:o.status,statusMessage:o.statusText,body:n}}))}(n,i)}catch(t){e=t.response,null==e&&(u.cancel(),cs.throwError("missing response",m.errors.SERVER_ERROR,{requestBody:i.body||null,requestMethod:i.method,serverError:t,url:n}))}let t=e.body;a&&304===e.statusCode?t=null:(e.statusCode<200||e.statusCode>=300)&&(u.cancel(),cs.throwError("bad response",m.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:t,requestBody:i.body||null,requestMethod:i.method,url:n})),u.cancel();let o=null;if(null!=t)try{o=JSON.parse(t)}catch(e){cs.throwError("invalid JSON",m.errors.SERVER_ERROR,{body:t,error:e,requestBody:i.body||null,requestMethod:i.method,url:n})}if(r)try{o=yield r(o,e)}catch(e){cs.throwError("processing response error",m.errors.SERVER_ERROR,{body:o,error:e,requestBody:i.body||null,requestMethod:i.method,url:n})}return o}))}();return Promise.race([u.promise,c])}function ds(e,t){return t||(t={}),null==(t=ae(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(r,o){let n=null,i=!1;const a=()=>!i&&(i=!0,n&&clearTimeout(n),!0);t.timeout&&(n=setTimeout(()=>{a()&&o(new Error("timeout"))},t.timeout));const s=t.retryLimit;let l=0;!function n(){return e().then((function(e){if(void 0!==e)a()&&r(e);else if(t.oncePoll)t.oncePoll.once("poll",n);else if(t.onceBlock)t.onceBlock.once("block",n);else if(!i){if(l++,l>s)return void(a()&&o(new Error("retry limit reached")));let e=t.interval*parseInt(String(Math.random()*Math.pow(2,l)));et.ceiling&&(e=t.ceiling),setTimeout(n,e)}return null}),(function(e){a()&&o(e)}))}()}))}const fs="providers/5.0.1",ps=new m(fs);class ms{constructor(){ps.checkNew(new.target,ms),this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),r=this.bigNumber.bind(this),o=this.blockTag.bind(this),n=this.data.bind(this),i=this.hash.bind(this),a=this.hex.bind(this),s=this.number.bind(this);return e.transaction={hash:i,blockHash:ms.allowNull(i,null),blockNumber:ms.allowNull(s,null),transactionIndex:ms.allowNull(s,null),confirmations:ms.allowNull(s,null),from:t,gasPrice:r,gasLimit:r,to:ms.allowNull(t,null),value:r,nonce:s,data:n,r:ms.allowNull(this.uint256),s:ms.allowNull(this.uint256),v:ms.allowNull(s),creates:ms.allowNull(t,null),raw:ms.allowNull(n)},e.transactionRequest={from:ms.allowNull(t),nonce:ms.allowNull(s),gasLimit:ms.allowNull(r),gasPrice:ms.allowNull(r),to:ms.allowNull(t),value:ms.allowNull(r),data:ms.allowNull(e=>this.data(e,!0))},e.receiptLog={transactionIndex:s,blockNumber:s,transactionHash:i,address:t,topics:ms.arrayOf(i),data:n,logIndex:s,blockHash:i},e.receipt={to:ms.allowNull(this.address,null),from:ms.allowNull(this.address,null),contractAddress:ms.allowNull(t,null),transactionIndex:s,root:ms.allowNull(i),gasUsed:r,logsBloom:ms.allowNull(n),blockHash:i,transactionHash:i,logs:ms.arrayOf(this.receiptLog.bind(this)),blockNumber:s,confirmations:ms.allowNull(s,null),cumulativeGasUsed:r,status:ms.allowNull(s)},e.block={hash:i,parentHash:i,number:s,timestamp:s,nonce:ms.allowNull(a),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:t,extraData:n,transactions:ms.allowNull(ms.arrayOf(i))},e.blockWithTransactions=ae(e.block),e.blockWithTransactions.transactions=ms.allowNull(ms.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:ms.allowNull(o,void 0),toBlock:ms.allowNull(o,void 0),blockHash:ms.allowNull(i,void 0),address:ms.allowNull(t,void 0),topics:ms.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:ms.allowNull(s),blockHash:ms.allowNull(i),transactionIndex:s,removed:ms.allowNull(this.boolean.bind(this)),address:t,data:ms.allowFalsish(n,"0x"),topics:ms.arrayOf(i),transactionHash:i,logIndex:s},e}number(e){return _.from(e).toNumber()}bigNumber(e){return _.from(e)}boolean(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)}hex(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),F(e))?e.toLowerCase():ps.throwArgumentError("invalid hash","value",e)}data(e,t){const r=this.hex(e,t);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+e);return r}address(e){return $e(e)}callAddress(e){if(!F(e,32))return null;const t=$e(B(e,12));return t===dt?null:t}contractAddress(e){return et(e)}blockTag(e){if(null==e)return"latest";if("earliest"===e)return"0x0";if("latest"===e||"pending"===e)return e;if("number"==typeof e||F(e))return P(e);throw new Error("invalid blockTag")}hash(e,t){const r=this.hex(e,t);return 32!==k(r)?ps.throwArgumentError("invalid hash","value",e):r}difficulty(e){if(null==e)return null;const t=_.from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!F(e))throw new Error("invalid uint256");return L(e,32)}_block(e,t){return null!=e.author&&null==e.miner&&(e.miner=e.author),ms.check(t,e)}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return ms.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&_.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e));const t=ms.check(this.formats.transaction,e);if(null!=e.chainId){let r=e.chainId;F(r)&&(r=_.from(r).toNumber()),t.chainId=r}else{let r=e.networkId;null==r&&null==t.v&&(r=e.chainId),F(r)&&(r=_.from(r).toNumber()),"number"!=typeof r&&null!=t.v&&(r=(t.v-35)/2,r<0&&(r=0),r=parseInt(r)),"number"!=typeof r&&(r=0),t.chainId=r}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return si(e)}receiptLog(e){return ms.check(this.formats.receiptLog,e)}receipt(e){const t=ms.check(this.formats.receipt,e);return null!=e.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map(e=>this.topics(e)):null!=e?this.hash(e,!0):null}filter(e){return ms.check(this.formats.filter,e)}filterLog(e){return ms.check(this.formats.filterLog,e)}static check(e,t){const r={};for(const o in e)try{const n=e[o](t[o]);void 0!==n&&(r[o]=n)}catch(e){throw e.checkKey=o,e.checkValue=t[o],e}return r}static allowNull(e,t){return function(r){return null==r?t:e(r)}}static allowFalsish(e,t){return function(r){return r?e(r):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");const r=[];return t.forEach((function(t){r.push(e(t))})),r}}}var gs=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const vs=new m(fs);function bs(e){return null==e?"null":(32!==k(e)&&vs.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function ys(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map(e=>{if(Array.isArray(e)){const t={};e.forEach(e=>{t[bs(e)]=!0});const r=Object.keys(t);return r.sort(),r.join("|")}return bs(e)}).join("&")}function As(e){if("string"==typeof e){if(32===k(e=e.toLowerCase()))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+ys(e);if(cr.isForkEvent(e))throw vs.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+ys(e.topics||[])}throw new Error("invalid event - "+e)}function Ts(){return(new Date).getTime()}const Ss=["block","network","pending","poll"];class ws{constructor(e,t,r){re(this,"tag",e),re(this,"listener",t),re(this,"once",r)}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return"tx"!==e[0]?null:e[1]}get filter(){const e=this.tag.split(":");if("filter"!==e[0])return null;const t=e[1],r=function(e){return""===e?[]:e.split(/&/g).map(e=>{if(""===e)return[];const t=e.split("|").map(e=>"null"===e?null:e);return 1===t.length?t[0]:t})}(e[2]),o={};return r.length>0&&(o.topics=r),t&&"*"!==t&&(o.address=t),o}pollable(){return this.tag.indexOf(":")>=0||Ss.indexOf(this.tag)>=0}}let Ms=null,Es=1;class Fs extends hr{constructor(e){if(vs.checkNew(new.target,hr),super(),this._events=[],this._emitted={block:-2},this.formatter=new.target.getFormatter(),re(this,"anyNetwork","any"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(e=>{}),this._ready();else{const t=oe(new.target,"getNetwork")(e);t?(re(this,"_network",t),this.emit("network",t,null)):vs.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return gs(this,void 0,void 0,(function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||vs.throwError("no network detected",m.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:re(this,"_network",e),this.emit("network",e,null))}return this._network}))}get ready(){return this._ready()}static getFormatter(){return null==Ms&&(Ms=new ms),Ms}static getNetwork(e){return is(null==e?"homestead":e)}_getInternalBlockNumber(e){return gs(this,void 0,void 0,(function*(){yield this.ready;const t=this._internalBlockNumber;if(e>0&&this._internalBlockNumber){const r=yield t;if(Ts()-r.respTime<=e)return r.blockNumber}const r=Ts(),o=ne({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(e=>null,e=>e)}).then(({blockNumber:e,networkError:t})=>{if(t)throw this._internalBlockNumber===o&&(this._internalBlockNumber=null),t;const n=Ts();return(e=_.from(e).toNumber())1e3)vs.warn("network block skew detected; skipping block events"),this.emit("error",vs.makeError("network block skew detected",m.errors.NETWORK_ERROR,{blockNumber:r,previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(let e=this._emitted.block+1;e<=r;e++)this.emit("block",e);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach(e=>{if("block"===e)return;const t=this._emitted[e];"pending"!==t&&r-t>12&&delete this._emitted[e]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach(e=>{switch(e.type){case"tx":{const r=e.hash;let o=this.getTransactionReceipt(r).then(e=>e&&null!=e.blockNumber?(this._emitted["t:"+r]=e.blockNumber,this.emit(r,e),null):null).catch(e=>{this.emit("error",e)});t.push(o);break}case"filter":{const o=e.filter;o.fromBlock=this._lastBlockNumber+1,o.toBlock=r;const n=this.getLogs(o).then(e=>{0!==e.length&&e.forEach(e=>{this._emitted["b:"+e.blockHash]=e.blockNumber,this._emitted["t:"+e.transactionHash]=e.blockNumber,this.emit(o,e)})}).catch(e=>{this.emit("error",e)});t.push(n);break}}}),this._lastBlockNumber=r,Promise.all(t).then(()=>{this.emit("didPoll",e)}),null}this.emit("didPoll",e)}))}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return gs(this,void 0,void 0,(function*(){return vs.throwError("provider does not support network detection",m.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return gs(this,void 0,void 0,(function*(){const e=yield this.ready,t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),yield(r=0,new Promise(e=>{setTimeout(e,r)})),this._network;const o=vs.makeError("underlying network changed",m.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",o),o}var r;return e}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const e=Ts();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){null!=this._fastBlockNumber&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,r){return gs(this,void 0,void 0,(function*(){null==t&&(t=1);const o=yield this.getTransactionReceipt(e);return(o?o.confirmations:0)>=t?o:new Promise((o,n)=>{let i=null,a=!1;const s=r=>{r.confirmations0&&(i=setTimeout(()=>{a||(i=null,a=!0,this.removeListener(e,s),n(vs.makeError("timeout exceeded",m.errors.TIMEOUT,{timeout:r})))},r),i.unref&&i.unref())})}))}getBlockNumber(){return gs(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return gs(this,void 0,void 0,(function*(){return yield this.getNetwork(),_.from(yield this.perform("getGasPrice",{}))}))}getBalance(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)});return _.from(yield this.perform("getBalance",r))}))}getTransactionCount(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)});return _.from(yield this.perform("getTransactionCount",r)).toNumber()}))}getCode(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)});return C(yield this.perform("getCode",r))}))}getStorageAt(e,t,r){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const o=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(r),position:Promise.resolve(t).then(e=>P(e))});return C(yield this.perform("getStorageAt",o))}))}_wrapTransaction(e,t){if(null!=t&&32!==k(t))throw new Error("invalid response - sendTransaction");const r=e;return null!=t&&e.hash!==t&&vs.throwError("Transaction hash mismatch from Provider.sendTransaction.",m.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),r.wait=t=>gs(this,void 0,void 0,(function*(){0!==t&&(this._emitted["t:"+e.hash]="pending");const r=yield this.waitForTransaction(e.hash,t);return null==r&&0===t?null:(this._emitted["t:"+e.hash]=r.blockNumber,0===r.status&&vs.throwError("transaction failed",m.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:r}),r)})),r}sendTransaction(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then(e=>C(e)),r=this.formatter.transaction(e);try{const e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(r,e)}catch(e){throw e.transaction=r,e.transactionHash=r.hash,e}}))}_getTransactionRequest(e){return gs(this,void 0,void 0,(function*(){const t=yield e,r={};return["from","to"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?this._getAddress(e):null))}),["gasLimit","gasPrice","value"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?_.from(e):null))}),["data"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?C(e):null))}),this.formatter.transactionRequest(yield ne(r))}))}_getFilter(e){return gs(this,void 0,void 0,(function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach(r=>{null!=e[r]&&(t[r]=e[r])}),["fromBlock","toBlock"].forEach(r=>{null!=e[r]&&(t[r]=this._getBlockTag(e[r]))}),this.formatter.filter(yield ne(t))}))}call(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t)});return C(yield this.perform("call",r))}))}estimateGas(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield ne({transaction:this._getTransactionRequest(e)});return _.from(yield this.perform("estimateGas",t))}))}_getAddress(e){return gs(this,void 0,void 0,(function*(){const t=yield this.resolveName(e);return null==t&&vs.throwError("ENS name not configured",m.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t}))}_getBlock(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;let r=-128;const o={includeTransactions:!!t};if(F(e,32))o.blockHash=e;else try{o.blockTag=this.formatter.blockTag(yield this._getBlockTag(e)),F(o.blockTag)&&(r=parseInt(o.blockTag.substring(2),16))}catch(t){vs.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e)}return ds(()=>gs(this,void 0,void 0,(function*(){const e=yield this.perform("getBlock",o);if(null==e)return null!=o.blockHash&&null==this._emitted["b:"+o.blockHash]||null!=o.blockTag&&r>this._emitted.block?null:void 0;if(t){let t=null;for(let r=0;rgs(this,void 0,void 0,(function*(){const r=yield this.perform("getTransaction",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;const o=this.formatter.transactionResponse(r);if(null==o.blockNumber)o.confirmations=0;else if(null==o.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-o.blockNumber+1;e<=0&&(e=1),o.confirmations=e}return this._wrapTransaction(o)})),{oncePoll:this})}))}getTransactionReceipt(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return ds(()=>gs(this,void 0,void 0,(function*(){const r=yield this.perform("getTransactionReceipt",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;if(null==r.blockHash)return;const o=this.formatter.receipt(r);if(null==o.blockNumber)o.confirmations=0;else if(null==o.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-o.blockNumber+1;e<=0&&(e=1),o.confirmations=e}return o})),{oncePoll:this})}))}getLogs(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield ne({filter:this._getFilter(e)}),r=yield this.perform("getLogs",t);return r.forEach(e=>{null==e.removed&&(e.removed=!1)}),ms.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)}))}getEtherPrice(){return gs(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(e){return gs(this,void 0,void 0,(function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&vs.throwArgumentError("invalid BlockTag","blockTag",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return t+=e,t<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)}))}_getResolver(e){return gs(this,void 0,void 0,(function*(){const t=yield this.getNetwork();t.ensAddress||vs.throwError("network does not support ENS",m.errors.UNSUPPORTED_OPERATION,{operation:"ENS",network:t.name});const r={to:t.ensAddress,data:"0x0178b8bf"+er(e).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}resolveName(e){return gs(this,void 0,void 0,(function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if(F(e))throw t}"string"!=typeof e&&vs.throwArgumentError("invalid ENS name","name",e);const t=yield this._getResolver(e);if(!t)return null;const r={to:t,data:"0x3b3b57de"+er(e).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}lookupAddress(e){return gs(this,void 0,void 0,(function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(t);if(!r)return null;let o=S(yield this.call({to:r,data:"0x691f3431"+er(t).substring(2)}));if(o.length<32||!_.from(o.slice(0,32)).eq(32))return null;if(o=o.slice(32),o.length<32)return null;const n=_.from(o.slice(0,32)).toNumber();if(o=o.slice(32),n>o.length)return null;const i=Jt(o.slice(0,n));return(yield this.resolveName(i))!=e?null:i}))}perform(e,t){return vs.throwError(e+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_addEventListener(e,t,r){const o=new ws(As(e),t,r);return this._events.push(o),this._startEvent(o),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let r=!1,o=[],n=As(e);return this._events=this._events.filter(e=>e.tag!==n||(setTimeout(()=>{e.listener.apply(this,t)},0),r=!0,!e.once||(o.push(e),!1))),o.forEach(e=>{this._stopEvent(e)}),r}listenerCount(e){if(!e)return this._events.length;let t=As(e);return this._events.filter(e=>e.tag===t).length}listeners(e){if(null==e)return this._events.map(e=>e.listener);let t=As(e);return this._events.filter(e=>e.tag===t).map(e=>e.listener)}off(e,t){if(null==t)return this.removeAllListeners(e);const r=[];let o=!1,n=As(e);return this._events=this._events.filter(e=>e.tag!==n||e.listener!=t||(!!o||(o=!0,r.push(e),!1))),r.forEach(e=>{this._stopEvent(e)}),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const r=As(e);this._events=this._events.filter(e=>e.tag!==r||(t.push(e),!1))}return t.forEach(e=>{this._stopEvent(e)}),this}}var Cs=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const ks=new m(fs);function Bs(e){return new Promise((function(t){setTimeout(t,e)}))}function Ps(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function Js(e){return e?e.toLowerCase():e}const Ls={};class Rs extends mr{constructor(e,t,r){if(ks.checkNew(new.target,Rs),super(),e!==Ls)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");re(this,"provider",t),null==r&&(r=0),"string"==typeof r?(re(this,"_address",this.provider.formatter.address(r)),re(this,"_index",null)):"number"==typeof r?(re(this,"_index",r),re(this,"_address",null)):ks.throwArgumentError("invalid address or index","addressOrIndex",r)}connect(e){return ks.throwError("cannot alter JSON-RPC Signer connection",m.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new Ns(Ls,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(e=>(e.length<=this._index&&ks.throwError("unknown account #"+this._index,m.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=ae(e);const t=this.getAddress().then(e=>(e&&(e=e.toLowerCase()),e));if(null==e.gasLimit){const r=ae(e);r.from=t,e.gasLimit=this.provider.estimateGas(r)}return ne({tx:ne(e),sender:t}).then(({tx:t,sender:r})=>{null!=t.from?t.from.toLowerCase()!==r&&ks.throwArgumentError("from address mismatch","transaction",e):t.from=r;const o=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[o]).then(e=>e,e=>{throw e.responseText&&(e.responseText.indexOf("insufficient funds")>=0&&ks.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{transaction:t}),e.responseText.indexOf("nonce too low")>=0&&ks.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{transaction:t}),e.responseText.indexOf("replacement transaction underpriced")>=0&&ks.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{transaction:t})),e})})}signTransaction(e){return ks.throwError("signing transactions is unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return this.sendUncheckedTransaction(e).then(e=>ds(()=>this.provider.getTransaction(e).then(t=>{if(null!==t)return this.provider._wrapTransaction(t,e)}),{onceBlock:this.provider}).catch(t=>{throw t.transactionHash=e,t}))}signMessage(e){const t="string"==typeof e?kt(e):e;return this.getAddress().then(e=>this.provider.send("eth_sign",[e.toLowerCase(),C(t)]))}unlock(e){const t=this.provider;return this.getAddress().then((function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])}))}}class Ns extends Rs{sendTransaction(e){return this.sendUncheckedTransaction(e).then(e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)}))}}const Ds={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};class Os extends Fs{constructor(e,t){ks.checkNew(new.target,Os);let r=t;null==r&&(r=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(t=>{e(t)},e=>{t(e)})},0)})),super(r),e||(e=oe(this.constructor,"defaultUrl")()),re(this,"connection","string"==typeof e?Object.freeze({url:e}):Object.freeze(ae(e))),this._nextId=42}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return Cs(this,void 0,void 0,(function*(){yield Bs(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch(t){try{e=yield this.send("net_version",[])}catch(e){}}if(null!=e){const t=oe(this.constructor,"getNetwork");try{return t(_.from(e).toNumber())}catch(t){return ks.throwError("could not detect network",m.errors.NETWORK_ERROR,{chainId:e,serverError:t})}}return ks.throwError("could not detect network",m.errors.NETWORK_ERROR)}))}getSigner(e){return new Rs(Ls,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(e=>e.map(e=>this.formatter.address(e)))}send(e,t){const r={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:ue(r),provider:this}),hs(this.connection,JSON.stringify(r),Ps).then(e=>(this.emit("debug",{action:"response",request:r,response:e,provider:this}),e),e=>{throw this.emit("debug",{action:"response",error:e,request:r,provider:this}),e})}prepareRequest(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Js(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Js(t.address),t.blockTag]];case"getCode":return["eth_getCode",[Js(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Js(t.address),t.position,t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[oe(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[oe(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=Js(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){const r=this.prepareRequest(e,t);return null==r&&ks.throwError(e+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:e}),"sendTransaction"===e?this.send(r[0],r[1]).catch(e=>{throw e.responseText&&(e.responseText.indexOf("insufficient funds")>0&&ks.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("nonce too low")>0&&ks.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("replacement transaction underpriced")>0&&ks.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),e}):this.send(r[0],r[1])}_startEvent(e){"pending"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;const e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then((function(r){return function o(){e.send("eth_getFilterChanges",[r]).then((function(r){if(e._pendingFilter!=t)return null;let o=Promise.resolve();return r.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",o=o.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),o.then((function(){return Bs(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){o()}),0),null;e.send("eth_uninstallFilter",[r])})).catch(e=>{})}(),r})).catch(e=>{})}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const r=ae(Ds);if(t)for(const e in t)t[e]&&(r[e]=!0);ie(e,r);const o={};return["gasLimit","gasPrice","nonce","value"].forEach((function(t){if(null==e[t])return;const r=P(e[t]);"gasLimit"===t&&(t="gas"),o[t]=r})),["from","to","data"].forEach((function(t){null!=e[t]&&(o[t]=C(e[t]))})),o}}var Is=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const _s=new m(fs);class Xs extends Os{constructor(e,t){_s.checkAbstract(new.target,Xs),e=oe(new.target,"getNetwork")(e),t=oe(new.target,"getApiKey")(t),super(oe(new.target,"getUrl")(e,t),e),"string"==typeof t?re(this,"apiKey",t):null!=t&&Object.keys(t).forEach(e=>{re(this,e,t[e])})}detectNetwork(){return Is(this,void 0,void 0,(function*(){return this.network}))}_startPending(){_s.warn("WARNING: API provider does not support pending filters")}getSigner(e){return _s.throwError("API provider does not support signing",m.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,t){return _s.throwError("not implemented; sub-classes must override getUrl",m.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const Hs=new m(fs);class xs extends Xs{static getApiKey(e){return null==e?"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC":(e&&"string"!=typeof e&&Hs.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,t){let r=null;switch(e.name){case"homestead":r="eth-mainnet.alchemyapi.io/jsonrpc/";break;case"ropsten":r="eth-ropsten.alchemyapi.io/jsonrpc/";break;case"rinkeby":r="eth-rinkeby.alchemyapi.io/jsonrpc/";break;case"goerli":r="eth-goerli.alchemyapi.io/jsonrpc/";break;case"kovan":r="eth-kovan.alchemyapi.io/jsonrpc/";break;default:Hs.throwArgumentError("unsupported network","network",arguments[0])}return"https://"+r+t}}var Gs=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const Us=new m(fs);class zs extends Xs{static getApiKey(e){return null!=e&&Us.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,t){let r=null;switch(e.name){case"homestead":r="https://cloudflare-eth.com/";break;default:Us.throwArgumentError("unsupported network","network",arguments[0])}return r}perform(e,t){const r=Object.create(null,{perform:{get:()=>super.perform}});return Gs(this,void 0,void 0,(function*(){if("getBlockNumber"===e){return(yield r.perform.call(this,"getBlock",{blockTag:"latest"})).number}return r.perform.call(this,e,t)}))}}var Vs=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const Zs=new m(fs);function js(e){const t=[];for(let r in e){if(null==e[r])continue;let o=C(e[r]);({gasLimit:!0,gasPrice:!0,nonce:!0,value:!0})[r]&&(o=P(o)),t.push(r+"="+o)}return t.join("&")}function Ks(e){if(0==e.status&&("No records found"===e.message||"No transactions found"===e.message))return e.result;if(1!=e.status||"OK"!=e.message){const t=new Error("invalid response");throw t.result=JSON.stringify(e),t}return e.result}function Qs(e){if("2.0"!=e.jsonrpc){const t=new Error("invalid response");throw t.result=JSON.stringify(e),t}if(e.error){const t=new Error(e.error.message||"unknown error");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function qs(e){if("pending"===e)throw new Error("pending not supported");return"latest"===e?e:parseInt(e.substring(2),16)}class Ys extends Fs{constructor(e,t){Zs.checkNew(new.target,Ys),super(e);let r="invalid";this.network&&(r=this.network.name);let o=null;switch(r){case"homestead":o="https://api.etherscan.io";break;case"ropsten":o="https://api-ropsten.etherscan.io";break;case"rinkeby":o="https://api-rinkeby.etherscan.io";break;case"kovan":o="https://api-kovan.etherscan.io";break;case"goerli":o="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}re(this,"baseUrl",o),re(this,"apiKey",t||"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB")}detectNetwork(){return Vs(this,void 0,void 0,(function*(){return this.network}))}perform(e,t){const r=Object.create(null,{perform:{get:()=>super.perform}});return Vs(this,void 0,void 0,(function*(){let o=this.baseUrl,n="";this.apiKey&&(n+="&apikey="+this.apiKey);const i=(e,t)=>Vs(this,void 0,void 0,(function*(){this.emit("debug",{action:"request",request:e,provider:this});const r=yield hs(e,null,t||Qs);return this.emit("debug",{action:"response",request:e,response:ue(r),provider:this}),r}));switch(e){case"getBlockNumber":return o+="/api?module=proxy&action=eth_blockNumber"+n,i(o);case"getGasPrice":return o+="/api?module=proxy&action=eth_gasPrice"+n,i(o);case"getBalance":return o+="/api?module=account&action=balance&address="+t.address,o+="&tag="+t.blockTag+n,i(o,Ks);case"getTransactionCount":return o+="/api?module=proxy&action=eth_getTransactionCount&address="+t.address,o+="&tag="+t.blockTag+n,i(o);case"getCode":return o+="/api?module=proxy&action=eth_getCode&address="+t.address,o+="&tag="+t.blockTag+n,i(o,Qs);case"getStorageAt":return o+="/api?module=proxy&action=eth_getStorageAt&address="+t.address,o+="&position="+t.position,o+="&tag="+t.blockTag+n,i(o,Qs);case"sendTransaction":return o+="/api?module=proxy&action=eth_sendRawTransaction&hex="+t.signedTransaction,o+=n,i(o).catch(e=>{throw e.responseText&&(e.responseText.toLowerCase().indexOf("insufficient funds")>=0&&Zs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("same hash was already imported")>=0&&Zs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("another transaction with same nonce")>=0&&Zs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),e});case"getBlock":if(t.blockTag)return o+="/api?module=proxy&action=eth_getBlockByNumber&tag="+t.blockTag,t.includeTransactions?o+="&boolean=true":o+="&boolean=false",o+=n,i(o);throw new Error("getBlock by blockHash not implemented");case"getTransaction":return o+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+t.transactionHash,o+=n,i(o);case"getTransactionReceipt":return o+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+t.transactionHash,o+=n,i(o);case"call":{let e=js(t.transaction);if(e&&(e="&"+e),o+="/api?module=proxy&action=eth_call"+e,"latest"!==t.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return o+=n,i(o)}case"estimateGas":{let e=js(t.transaction);return e&&(e="&"+e),o+="/api?module=proxy&action=eth_estimateGas&"+e,o+=n,i(o)}case"getLogs":{if(o+="/api?module=logs&action=getLogs",t.filter.fromBlock&&(o+="&fromBlock="+qs(t.filter.fromBlock)),t.filter.toBlock&&(o+="&toBlock="+qs(t.filter.toBlock)),t.filter.address&&(o+="&address="+t.filter.address),t.filter.topics&&t.filter.topics.length>0&&(t.filter.topics.length>1&&Zs.throwError("unsupported topic count",m.errors.UNSUPPORTED_OPERATION,{topics:t.filter.topics}),1===t.filter.topics.length)){const e=t.filter.topics[0];"string"==typeof e&&66===e.length||Zs.throwError("unsupported topic format",m.errors.UNSUPPORTED_OPERATION,{topic0:e}),o+="&topic0="+e}o+=n;const e=yield i(o,Ks);let r={};for(let t=0;t(o+="/api?module=account&action=txlist&address="+e,o+="&startblock="+t,o+="&endblock="+r,o+="&sort=asc"+n,this.emit("debug",{action:"request",request:o,provider:this}),hs(o,null,Ks).then(e=>{this.emit("debug",{action:"response",request:o,response:ue(e),provider:this});let t=[];return e.forEach(e=>{["contractAddress","to"].forEach((function(t){""==e[t]&&delete e[t]})),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);let r=this.formatter.transactionResponse(e);e.timeStamp&&(r.timestamp=parseInt(e.timeStamp)),t.push(r)}),t})))}}var Ws=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const $s=new m(fs);function el(){return(new Date).getTime()}function tl(e){let t=null;for(let r=0;rt?null:(o+n)/2}function ol(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if(_.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map(e=>ol(e)));if("object"==typeof e){const t=Object.keys(e);return t.sort(),"{"+t.map(t=>{let r=e[t];return r="function"==typeof r?"[function]":ol(r),JSON.stringify(t)+":"+r}).join(",")+"}"}throw new Error("unknown value type: "+typeof e)}let nl=1;function il(e){let t=null,r=null,o=new Promise(o=>{t=function(){r&&(clearTimeout(r),r=null),o()},r=setTimeout(t,e)});return{cancel:t,getPromise:function(){return o},wait:e=>(o=o.then(e),o)}}function al(e,t){const r={provider:e.provider,weight:e.weight};return e.start&&(r.start=e.start),t&&(r.duration=t-e.start),e.done&&(e.error?r.error=e.error:r.result=e.result||null),r}function sl(e,t,r){let o=ol;switch(t){case"getBlockNumber":return function(t){const r=t.map(e=>e.result);let o=rl(t.map(e=>e.result),2);if(null!=o)return o=Math.ceil(o),r.indexOf(o+1)>=0&&o++,o>=e._highestBlockNumber&&(e._highestBlockNumber=o),e._highestBlockNumber};case"getGasPrice":return function(e){const t=e.map(e=>e.result);return t.sort(),t[Math.floor(t.length/2)]};case"getEtherPrice":return function(e){return rl(e.map(e=>e.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":o=function(e){return null==e?null:((e=ae(e)).confirmations=-1,ol(e))};break;case"getBlock":o=r.includeTransactions?function(e){return null==e?null:((e=ae(e)).transactions=e.transactions.map(e=>((e=ae(e)).confirmations=-1,e)),ol(e))}:function(e){return null==e?null:ol(e)};break;default:throw new Error("unknown method: "+t)}return function(e,t){return function(r){const o={};r.forEach(t=>{const r=e(t.result);o[r]||(o[r]={count:0,result:t.result}),o[r].count++});const n=Object.keys(o);for(let e=0;e=t)return r.result}}}(o,e.quorum)}function ll(e,t){return Ws(this,void 0,void 0,(function*(){const r=e.provider;return null!=r.blockNumber&&r.blockNumber>=t||-1===t?r:ds(()=>new Promise((o,n)=>{setTimeout((function(){return r.blockNumber>=t?o(r):e.cancelled?o(null):o(void 0)}),0)}),{oncePoll:r})}))}function ul(e,t,r,o){return Ws(this,void 0,void 0,(function*(){let n=e.provider;switch(r){case"getBlockNumber":case"getGasPrice":return n[r]();case"getEtherPrice":if(n.getEtherPrice)return n.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return o.blockTag&&F(o.blockTag)&&(n=yield ll(e,t)),n[r](o.address,o.blockTag||"latest");case"getStorageAt":return o.blockTag&&F(o.blockTag)&&(n=yield ll(e,t)),n.getStorageAt(o.address,o.position,o.blockTag||"latest");case"getBlock":return o.blockTag&&F(o.blockTag)&&(n=yield ll(e,t)),n[o.includeTransactions?"getBlockWithTransactions":"getBlock"](o.blockTag||o.blockHash);case"call":case"estimateGas":return o.blockTag&&F(o.blockTag)&&(n=yield ll(e,t)),n[r](o.transaction);case"getTransaction":case"getTransactionReceipt":return n[r](o.transactionHash);case"getLogs":{let r=o.filter;return(r.fromBlock&&F(r.fromBlock)||r.toBlock&&F(r.toBlock))&&(n=yield ll(e,t)),n.getLogs(r)}}return $s.throwError("unknown method error",m.errors.UNKNOWN_ERROR,{method:r,params:o})}))}class cl extends Fs{constructor(e,t){$s.checkNew(new.target,cl),0===e.length&&$s.throwArgumentError("missing providers","providers",e);const r=e.map((e,t)=>{if(hr.isProvider(e))return Object.freeze({provider:e,weight:1,stallTimeout:750,priority:1});const r=ae(e);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);const o=r.weight;return(o%1||o>512||o<1)&&$s.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${t}].weight`,o),Object.freeze(r)}),o=r.reduce((e,t)=>e+t.weight,0);null==t?t=o/2:t>o&&$s.throwArgumentError("quorum will always fail; larger than total weight","quorum",t);let n=tl(r.map(e=>e.provider.network));null==n&&(n=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(e,t)},0)})),super(n),re(this,"providerConfigs",Object.freeze(r)),re(this,"quorum",t),this._highestBlockNumber=-1}detectNetwork(){return Ws(this,void 0,void 0,(function*(){return tl(yield Promise.all(this.providerConfigs.map(e=>e.provider.getNetwork())))}))}perform(e,t){return Ws(this,void 0,void 0,(function*(){if("sendTransaction"===e){const e=yield Promise.all(this.providerConfigs.map(e=>e.provider.sendTransaction(t.signedTransaction).then(e=>e.hash,e=>e)));for(let t=0;te.priority-t.priority);const n=this._highestBlockNumber;let i=0,a=!0;for(;;){const s=el();let l=o.filter(e=>e.runner&&s-e.starte+t.weight,0);for(;l{r.staller=null}),r.runner=ul(r,n,e,t).then(o=>{r.done=!0,r.result=o,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:al(r,el()),request:{method:e,params:ue(t)},provider:this})},o=>{r.done=!0,r.error=o,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:al(r,el()),request:{method:e,params:ue(t)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:al(r,null),request:{method:e,params:ue(t)},provider:this}),l+=r.weight}const u=[];o.forEach(e=>{!e.done&&e.runner&&(u.push(e.runner),e.staller&&u.push(e.staller.getPromise()))}),u.length&&(yield Promise.race(u));const c=o.filter(e=>e.done&&null==e.error);if(c.length>=this.quorum){const e=r(c);if(void 0!==e)return o.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),e;a||(yield il(100).getPromise()),a=!1}if(0===o.filter(e=>!e.done).length)break}return o.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),$s.throwError("failed to meet quorum",m.errors.SERVER_ERROR,{method:e,params:t,results:o.map(e=>al(e)),provider:this})}))}}var hl=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="providers/5.0.1"})),dl=(t(hl),hl.version,t(r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(e){var o=new g.Logger(hl.version);r=function(){o.throwError("WebSockets not supported in this environment",g.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}e.exports=r})))),fl=window&&window.__awaiter||function(e,t,r,o){return new(r||(r=Promise))((function(n,i){function a(e){try{l(o.next(e))}catch(e){i(e)}}function s(e){try{l(o.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((o=o.apply(e,t||[])).next())}))};const pl=new m(fs);let ml=1;class gl extends Os{constructor(e,t){"any"===t&&pl.throwError("WebSocketProvider does not support 'any' network yet",m.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),super(e,t),this._pollingInterval=-1,re(this,"_websocket",new dl(this.connection.url)),re(this,"_requests",{}),re(this,"_subs",{}),re(this,"_subIds",{}),this._wsReady=!1,this._websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(e=>{this._websocket.send(this._requests[e].payload)})},this._websocket.onmessage=e=>{const t=e.data,r=JSON.parse(t);if(null!=r.id){const e=String(r.id),o=this._requests[e];if(delete this._requests[e],void 0!==r.result)o.callback(null,r.result);else if(r.error){const e=new Error(r.error.message||"unknown error");re(e,"code",r.error.code||null),re(e,"response",t),o.callback(e,void 0)}else o.callback(new Error("unknown error"),void 0)}else if("eth_subscription"===r.method){const e=this._subs[r.params.subscription];e&&e.processFunc(r.params.result)}else console.warn("this should not happen")};const r=setInterval(()=>{this.emit("poll")},1e3);r.unref&&r.unref()}get pollingInterval(){return 0}resetEventsBlock(e){pl.throwError("cannot reset events block on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){pl.throwError("cannot set polling interval on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return fl(this,void 0,void 0,(function*(){return null}))}set polling(e){e&&pl.throwError("cannot set polling on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,t){const r=ml++;return new Promise((o,n)=>{const i=JSON.stringify({method:e,params:t,id:r,jsonrpc:"2.0"});this._requests[String(r)]={callback:function(e,t){return e?n(e):o(t)},payload:i},this._wsReady&&this._websocket.send(i)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,t,r){return fl(this,void 0,void 0,(function*(){let o=this._subIds[e];null==o&&(o=Promise.all(t).then(e=>this.send("eth_subscribe",e)),this._subIds[e]=o);const n=yield o;this._subs[n]={tag:e,processFunc:r}}))}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],e=>{const t=_.from(e.number).toNumber();this._emitted.block=t,this.emit("block",t)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],e=>{this.emit("pending",e)});break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],t=>{null==t.removed&&(t.removed=!1),this.emit(e.filter,this.formatter.filterLog(t))});break;case"tx":{const t=e=>{const t=e.hash;this.getTransactionReceipt(t).then(e=>{e&&this.emit(t,e)})};t(e),this._subscribe("tx",["newHeads"],e=>{this._events.filter(e=>"tx"===e.type).forEach(t)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e)}}_stopEvent(e){let t=e.tag;if("tx"===e.type){if(this._events.filter(e=>"tx"===e.type).length)return;t="tx"}else if(this.listenerCount(e.event))return;const r=this._subIds[t];r&&(delete this._subIds[t],r.then(e=>{this._subs[e]&&(delete this._subs[e],this.send("eth_unsubscribe",[e]))}))}}const vl=new m(fs);class bl extends Xs{static getWebSocketProvider(e,t){const r=new bl(e,t).connection;r.password&&vl.throwError("INFURA WebSocket project secrets unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});const o=r.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");return new gl(o,e)}static getApiKey(e){const t={apiKey:"84842078b09946638c03157f83405213",projectId:"84842078b09946638c03157f83405213",projectSecret:null};return null==e||("string"==typeof e?t.projectId=e:null!=e.projectSecret?("string"!=typeof e.projectId&&vl.throwArgumentError("projectSecret requires a projectId","projectId",e.projectId),"string"!=typeof e.projectSecret&&vl.throwArgumentError("invalid projectSecret","projectSecret","[REDACTED]"),t.projectId=e.projectId,t.projectSecret=e.projectSecret):e.projectId&&(t.projectId=e.projectId),t.apiKey=t.projectId),t}static getUrl(e,t){let r=null;switch(e.name){case"homestead":r="mainnet.infura.io";break;case"ropsten":r="ropsten.infura.io";break;case"rinkeby":r="rinkeby.infura.io";break;case"kovan":r="kovan.infura.io";break;case"goerli":r="goerli.infura.io";break;default:vl.throwError("unsupported network",m.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const o={url:"https://"+r+"/v3/"+t.projectId};return null!=t.projectSecret&&(o.user="",o.password=t.projectSecret),o}}const yl=new m(fs);class Al extends Xs{static getApiKey(e){return e&&"string"!=typeof e&&yl.throwArgumentError("invalid apiKey","apiKey",e),e||"ETHERS_JS_SHARED"}static getUrl(e,t){yl.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let r=null;switch(e.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:yl.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+t}}const Tl=new m(fs);let Sl=1;function wl(e,t){return function(r,o){"eth_sign"==r&&e.isMetaMask&&(r="personal_sign",o=[o[1],o[0]]);const n={method:r,params:o,id:Sl++,jsonrpc:"2.0"};return new Promise((e,r)=>{t(n,(function(t,o){if(t)return r(t);if(o.error){const e=new Error(o.error.message);return e.code=o.error.code,e.data=o.error.data,r(e)}e(o.result)}))})}}class Ml extends Os{constructor(e,t){Tl.checkNew(new.target,Ml),null==e&&Tl.throwArgumentError("missing provider","provider",e);let r=null,o=null,n=null;"function"==typeof e?(r="unknown:",o=e):(r=e.host||e.path||"",!r&&e.isMetaMask&&(r="metamask"),n=e,e.request?(""===r&&(r="eip-1193:"),o=function(e){return function(t,r){return null==r&&(r=[]),"eth_sign"==t&&e.isMetaMask&&(t="personal_sign",r=[r[1],r[0]]),e.request({method:t,params:r})}}(e)):e.sendAsync?o=wl(e,e.sendAsync.bind(e)):e.send?o=wl(e,e.send.bind(e)):Tl.throwArgumentError("unsupported provider","provider",e),r||(r="unknown:")),super(r,t),re(this,"jsonRpcFetchFunc",o),re(this,"provider",n)}send(e,t){return this.jsonRpcFetchFunc(e,t)}}const El=new m(fs);function Fl(e,t){null==e&&(e="homestead");const r=is(e);return r&&r._defaultProvider||El.throwError("unsupported getDefaultProvider network",m.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:e}),r._defaultProvider({FallbackProvider:cl,AlchemyProvider:xs,CloudflareProvider:zs,EtherscanProvider:Ys,InfuraProvider:bl,JsonRpcProvider:Os,NodesmithProvider:Al,Web3Provider:Ml,IpcProvider:null},t)}var Cl=Object.freeze({Provider:hr,BaseProvider:Fs,FallbackProvider:cl,AlchemyProvider:xs,CloudflareProvider:zs,EtherscanProvider:Ys,InfuraProvider:bl,JsonRpcProvider:Os,NodesmithProvider:Al,Web3Provider:Ml,WebSocketProvider:gl,IpcProvider:null,JsonRpcSigner:Rs,getDefaultProvider:Fl,getNetwork:is,Formatter:ms});const kl=new RegExp("^bytes([0-9]+)$"),Bl=new RegExp("^(u?int)([0-9]*)$"),Pl=new RegExp("^(.*)\\[([0-9]*)\\]$");function Jl(e,t){if(e.length!=t.length)throw new Error("type/value count mismatch");const r=[];return e.forEach((function(e,o){r.push(function e(t,r,o){switch(t){case"address":return o?E(r,32):S(r);case"string":return kt(r);case"bytes":return S(r);case"bool":return r=r?"0x01":"0x00",o?E(r,32):S(r)}let n=t.match(Bl);if(n){let e=parseInt(n[2]||"256");if(e%8!=0||0===e||e>256)throw new Error("invalid number type - "+t);return o&&(e=256),E(r=_.from(r).toTwos(e),e/8)}if(n=t.match(kl),n){const e=parseInt(n[1]);if(String(e)!=n[1]||0===e||e>32)throw new Error("invalid number type - "+t);if(S(r).byteLength!==e)throw new Error("invalid value for "+t);return o?S((r+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):r}if(n=t.match(Pl),n&&Array.isArray(r)){const o=n[1];if(parseInt(n[2]||String(r.length))!=r.length)throw new Error("invalid value for "+t);const i=[];return r.forEach((function(t){i.push(e(o,t,!0))})),w(i)}throw new Error("unknown type - "+t)}(e,t[o]))})),C(w(r))}const Ll=new m("units/5.0.1"),Rl=["wei","kwei","mwei","gwei","szabo","finney","ether"];function Nl(e,t){if("string"==typeof t){const e=Rl.indexOf(t);-1!==e&&(t=3*e)}return q(e,null!=t?t:18)}function Dl(e,t){if("string"==typeof t){const e=Rl.indexOf(t);-1!==e&&(t=3*e)}return Y(e,null!=t?t:18)}var Ol=Object.freeze({AbiCoder:Qt,defaultAbiCoder:qt,Fragment:Te,EventFragment:Se,FunctionFragment:Ce,ParamType:ye,FormatTypes:ve,checkResultErrors:Re,Logger:m,RLP:Ze,fetchJson:hs,poll:ds,checkProperties:ie,deepCopy:ue,defineReadOnly:re,getStatic:oe,resolveProperties:ne,shallowCopy:ae,arrayify:S,concat:w,stripZeros:M,zeroPad:E,isBytes:T,isBytesLike:A,defaultPath:ta,HDNode:ra,SigningKey:Yn,Interface:lr,LogDescription:nr,TransactionDescription:ir,base64:ss,hexlify:C,isHexString:F,hexStripZeros:J,hexValue:P,hexZeroPad:L,hexDataLength:k,hexDataSlice:B,nameprep:Ut,_toEscapedUtf8String:function(e,t){return'"'+Ct(e,t).map(e=>{if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?Bt(e):Bt(55296+((e-=65536)>>10&1023))+Bt(56320+(1023&e))}).join("")+'"'},toUtf8Bytes:kt,toUtf8CodePoints:Lt,toUtf8String:Jt,Utf8ErrorFuncs:Ft,formatBytes32String:function(e){const t=kt(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return C(w([t,ft]).slice(0,32))},parseBytes32String:function(e){const t=S(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;0===t[r-1];)r--;return Jt(t.slice(0,r))},hashMessage:rr,namehash:er,isValidName:function(e){try{const t=e.split(".");for(let e=0;e2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&Ll.throwArgumentError("invalid value","value",e);let r=t[0],o="";for("-"===r.substring(0,1)&&(o="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");let n="";2===t.length&&(n="."+(t[1]||"0"));const i=[];for(;r.length;){if(r.length<=3){i.unshift(r);break}{const e=r.length-3;i.unshift(r.substring(e)),r=r.substring(0,e)}}return o+i.join(",")+n},computeHmac:ln,keccak256:_e,ripemd160:nn,sha256:an,sha512:sn,randomBytes:ca,shuffled:aa,solidityPack:Jl,solidityKeccak256:function(e,t){return _e(Jl(e,t))},soliditySha256:function(e,t){return an(Jl(e,t))},splitSignature:R,joinSignature:N,parseTransaction:si,serializeTransaction:ai,getJsonWalletAddress:function(e){if(ya(e))try{return $e(JSON.parse(e).ethaddr)}catch(e){return null}if(Aa(e))try{return $e(JSON.parse(e).address)}catch(e){return null}return null},computeAddress:ni,recoverAddress:ii,computePublicKey:$n,recoverPublicKey:Wn,verifyMessage:function(e,t){return ii(rr(e),t)},mnemonicToEntropy:na,entropyToMnemonic:ia,isValidMnemonic:function(e,t){try{return na(e,t),!0}catch(e){}return!1},mnemonicToSeed:oa,SupportedAlgorithm:on,get UnicodeNormalizationForm(){return wt},get Utf8ErrorReason(){return Mt},Indexed:ar});const Il="ethers/5.0.1",_l=new m("ethers/5.0.1");var Xl=Object.freeze({Signer:mr,Wallet:Ya,VoidSigner:gr,getDefaultProvider:Fl,providers:Cl,Contract:Pr,ContractFactory:Jr,BigNumber:_,FixedNumber:$,constants:At,get errors(){return p},logger:_l,utils:Ol,wordlists:Zi,version:"ethers/5.0.1",Wordlist:ui});try{const e=window;null==e._ethers&&(e._ethers=Xl)}catch(e){}export{_ as BigNumber,Pr as Contract,Jr as ContractFactory,$ as FixedNumber,mr as Signer,gr as VoidSigner,Ya as Wallet,ui as Wordlist,At as constants,p as errors,Xl as ethers,Fl as getDefaultProvider,_l as logger,Cl as providers,Ol as utils,Il as version,Zi as wordlists}; +!function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=e);for(var n=!r.JS_SHA3_NO_COMMON_JS&&t.exports,i="0123456789abcdef".split(""),o=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],s=[224,256,384,512],l=["hex","buffer","arrayBuffer","array"],u=function(e,t,r){return function(n){return new M(e,t,e).update(n)[r]()}},h=function(e,t,r){return function(n,i){return new M(e,t,i).update(n)[r]()}},c=function(e,t){var r=u(e,t,"hex");r.create=function(){return new M(e,t,e)},r.update=function(e){return r.create().update(e)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}M.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,a=this.blocks,s=this.byteCount,l=this.blockCount,u=0,h=this.s;u>2]|=e[u]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(a[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=s){for(this.start=r-s,this.block=a[l],r=0;r>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+i[15&e]+i[e>>12&15]+i[e>>8&15]+i[e>>20&15]+i[e>>16&15]+i[e>>28&15]+i[e>>24&15];s%t==0&&(A(r),a=0)}return o&&(e=r[a],o>0&&(l+=i[e>>4&15]+i[15&e]),o>1&&(l+=i[e>>12&15]+i[e>>8&15]),o>2&&(l+=i[e>>20&15]+i[e>>16&15])),l},M.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var l=new Uint32Array(e);a>8&255,l[e+2]=t>>16&255,l[e+3]=t>>24&255;s%r==0&&A(n)}return o&&(e=s<<2,t=n[a],o>0&&(l[e]=255&t),o>1&&(l[e+1]=t>>8&255),o>2&&(l[e+2]=t>>16&255)),l};var A=function(e){var t,r,n,i,o,s,l,u,h,c,d,f,m,p,g,v,b,y,M,A,w,S,T,E,F,k,C,B,P,L,J,R,N,D,O,_,I,X,x,H,G,U,z,V,Z,j,K,Q,q,Y,W,$,ee,te,re,ne,ie,oe,ae,se,le,ue,he;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],l=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],h=e[5]^e[15]^e[25]^e[35]^e[45],c=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],t=(f=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|l>>>31),r=(m=e[9]^e[19]^e[29]^e[39]^e[49])^(l<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(u<<1|h>>>31),r=o^(h<<1|u>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(c<<1|d>>>31),r=l^(d<<1|c>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=u^(f<<1|m>>>31),r=h^(m<<1|f>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=c^(i<<1|o>>>31),r=d^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,p=e[0],g=e[1],j=e[11]<<4|e[10]>>>28,K=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,P=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,le=e[30]<<9|e[31]>>>23,U=e[40]<<18|e[41]>>>14,z=e[41]<<18|e[40]>>>14,D=e[2]<<1|e[3]>>>31,O=e[3]<<1|e[2]>>>31,v=e[13]<<12|e[12]>>>20,b=e[12]<<12|e[13]>>>20,Q=e[22]<<10|e[23]>>>22,q=e[23]<<10|e[22]>>>22,L=e[33]<<13|e[32]>>>19,J=e[32]<<13|e[33]>>>19,ue=e[42]<<2|e[43]>>>30,he=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,_=e[14]<<6|e[15]>>>26,I=e[15]<<6|e[14]>>>26,y=e[25]<<11|e[24]>>>21,M=e[24]<<11|e[25]>>>21,Y=e[34]<<15|e[35]>>>17,W=e[35]<<15|e[34]>>>17,R=e[45]<<29|e[44]>>>3,N=e[44]<<29|e[45]>>>3,E=e[6]<<28|e[7]>>>4,F=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,X=e[26]<<25|e[27]>>>7,x=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,w=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,V=e[8]<<27|e[9]>>>5,Z=e[9]<<27|e[8]>>>5,k=e[18]<<20|e[19]>>>12,C=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,G=e[39]<<8|e[38]>>>24,S=e[48]<<14|e[49]>>>18,T=e[49]<<14|e[48]>>>18,e[0]=p^~v&y,e[1]=g^~b&M,e[10]=E^~k&B,e[11]=F^~C&P,e[20]=D^~_&X,e[21]=O^~I&x,e[30]=V^~j&Q,e[31]=Z^~K&q,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=v^~y&A,e[3]=b^~M&w,e[12]=k^~B&L,e[13]=C^~P&J,e[22]=_^~X&H,e[23]=I^~x&G,e[32]=j^~Q&Y,e[33]=K^~q&W,e[42]=ne^~oe&se,e[43]=ie^~ae&le,e[4]=y^~A&S,e[5]=M^~w&T,e[14]=B^~L&R,e[15]=P^~J&N,e[24]=X^~H&U,e[25]=x^~G&z,e[34]=Q^~Y&$,e[35]=q^~W&ee,e[44]=oe^~se&ue,e[45]=ae^~le&he,e[6]=A^~S&p,e[7]=w^~T&g,e[16]=L^~R&E,e[17]=J^~N&F,e[26]=H^~U&D,e[27]=G^~z&O,e[36]=Y^~$&V,e[37]=W^~ee&Z,e[46]=se^~ue&te,e[47]=le^~he&re,e[8]=S^~p&v,e[9]=T^~g&b,e[18]=R^~E&k,e[19]=N^~F&C,e[28]=U^~D&_,e[29]=z^~O&I,e[38]=$^~V&j,e[39]=ee^~Z&K,e[48]=ue^~te&ne,e[49]=he^~re&ie,e[0]^=a[n],e[1]^=a[n+1]};if(n)t.exports=f;else for(p=0;p>=8;return t}function xe(e,t,r){let n=0;for(let i=0;it+1+n&&Ie.throwError("child data too short",m.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:i}}function Ue(e,t){if(0===e.length&&Ie.throwError("data too short",m.errors.BUFFER_OVERRUN,{}),e[t]>=248){const r=e[t]-247;t+1+r>e.length&&Ie.throwError("data short segment too short",m.errors.BUFFER_OVERRUN,{});const n=xe(e,t+1,r);return t+1+r+n>e.length&&Ie.throwError("data long segment too short",m.errors.BUFFER_OVERRUN,{}),Ge(e,t,t+1+r,r+n)}if(e[t]>=192){const r=e[t]-192;return t+1+r>e.length&&Ie.throwError("data array too short",m.errors.BUFFER_OVERRUN,{}),Ge(e,t,t+1,r)}if(e[t]>=184){const r=e[t]-183;t+1+r>e.length&&Ie.throwError("data array too short",m.errors.BUFFER_OVERRUN,{});const n=xe(e,t+1,r);t+1+r+n>e.length&&Ie.throwError("data array too short",m.errors.BUFFER_OVERRUN,{});return{consumed:1+r+n,result:F(e.slice(t+1+r,t+1+r+n))}}if(e[t]>=128){const r=e[t]-128;t+1+r>e.length&&Ie.throwError("data too short",m.errors.BUFFER_OVERRUN,{});return{consumed:1+r,result:F(e.slice(t+1,t+1+r))}}return{consumed:1,result:F(e[t])}}function ze(e){const t=A(e),r=Ue(t,0);return r.consumed!==t.length&&Ie.throwArgumentError("invalid rlp data","data",e),r.result}var Ve=Object.freeze({encode:He,decode:ze});const Ze=new m("address/5.0.1");function je(e){E(e,20)||Ze.throwArgumentError("invalid address","address",e);const t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let e=0;e<40;e++)r[e]=t[e].charCodeAt(0);const n=A(_e(r));for(let e=0;e<40;e+=2)n[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&n[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}const Ke={};for(let e=0;e<10;e++)Ke[String(e)]=String(e);for(let e=0;e<26;e++)Ke[String.fromCharCode(65+e)]=String(10+e);const Qe=Math.floor((qe=9007199254740991,Math.log10?Math.log10(qe):Math.log(qe)/Math.LN10));var qe;function Ye(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map(e=>Ke[e]).join("");for(;t.length>=Qe;){let e=t.substring(0,Qe);t=parseInt(e,10)%97+t.substring(e.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r="0"+r;return r}function We(e){let t=null;if("string"!=typeof e&&Ze.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=je(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&Ze.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==Ye(e)&&Ze.throwArgumentError("bad icap checksum","address",e),t=new o(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=je("0x"+t)}else Ze.throwArgumentError("invalid address","address",e);return t}function $e(e){let t=null;try{t=We(e.from)}catch(t){Ze.throwArgumentError("missing from address","transaction",e)}return We(C(_e(He([t,S(A(_.from(e.nonce).toHexString()))])),12))}class et extends Re{constructor(e){super("address","address",e,!1)}encode(e,t){try{We(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return We(L(e.readValue().toHexString(),20))}}class tt extends Re{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}}const rt=new m("abi/5.0.1");function nt(e,t,r){let n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){let e={};n=t.map(t=>{const n=t.localName;return n||rt.throwError("cannot encode object for signature with missing names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[n]&&rt.throwError("cannot encode object for signature with duplicate names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[n]=!0,r[n]})}else rt.throwArgumentError("invalid tuple value","tuple",r);t.length!==n.length&&rt.throwArgumentError("types/value length mismatch","tuple",r);let i=new Ne(e.wordSize),o=new Ne(e.wordSize),a=[];t.forEach((e,t)=>{let r=n[t];if(e.dynamic){let t=o.length;e.encode(o,r);let n=i.writeUpdatableValue();a.push(e=>{n(e+t)})}else e.encode(i,r)}),a.forEach(e=>{e(i.length)});let s=e.writeBytes(i.data);return s+=e.writeBytes(o.data),s}function it(e,t){let r=[],n=e.subReader(0),i=0;t.forEach(t=>{let o=null;if(t.dynamic){let r=e.readValue(),a=n.subReader(r.toNumber());try{o=t.decode(a)}catch(e){if(e.code===m.errors.BUFFER_OVERRUN)throw e;o=e,o.baseType=t.name,o.name=t.localName,o.type=t.type}i+=a.consumed}else try{o=t.decode(e)}catch(e){if(e.code===m.errors.BUFFER_OVERRUN)throw e;o=e,o.baseType=t.name,o.name=t.localName,o.type=t.type}null!=o&&r.push(o)}),e.readBytes(i);const o=t.reduce((e,t)=>{const r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e},{});t.forEach((e,t)=>{let n=e.localName;if(!n||1!==o[n])return;if("length"===n&&(n="_length"),null!=r[n])return;const i=r[t];i instanceof Error?Object.defineProperty(r,n,{get:()=>{throw i}}):r[n]=i});for(let e=0;e{throw t}})}return Object.freeze(r)}class ot extends Re{constructor(e,t,r){super("array",e.type+"["+(t>=0?t:"")+"]",r,-1===t||e.dynamic),this.coder=e,this.length=t}encode(e,t){Array.isArray(t)||this._throwError("expected array value",t);let r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),rt.checkArgumentCount(r,t.length,"coder array"+(this.localName?" "+this.localName:""));let n=[];for(let e=0;e>6==2;n++)e++;return e}return e===St.OVERRUN?r.length-t-1:0}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(wt||(wt={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(St||(St={}));const Et=Object.freeze({error:function(e,t,r,n,i){return At.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",r)},ignore:Tt,replace:function(e,t,r,n,i){return e===St.OVERLONG?(n.push(i),0):(n.push(65533),Tt(e,t,r))}});function Ft(e,t){null==t&&(t=Et.error),e=A(e);const r=[];let n=0;for(;n>7==0){r.push(i);continue}let o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){n+=t(128==(192&i)?St.UNEXPECTED_CONTINUE:St.BAD_PREFIX,n-1,e,r);continue}o=3,a=65535}if(n-1+o>=e.length){n+=t(St.OVERRUN,n-1,e,r);continue}let s=i&(1<<8-o-1)-1;for(let i=0;i1114111?n+=t(St.OUT_OF_RANGE,n-1-o,e,r,s):s>=55296&&s<=57343?n+=t(St.UTF16_SURROGATE,n-1-o,e,r,s):s<=a?n+=t(St.OVERLONG,n-1-o,e,r,s):r.push(s))}return r}function kt(e,t=wt.current){t!=wt.current&&(At.checkNormalize(),e=e.normalize(t));let r=[];for(let t=0;t>6|192),r.push(63&n|128);else if(55296==(64512&n)){t++;const i=e.charCodeAt(t);if(t>=e.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const o=65536+((1023&n)<<10)+(1023&i);r.push(o>>18|240),r.push(o>>12&63|128),r.push(o>>6&63|128),r.push(63&o|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return A(r)}function Ct(e){const t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function Bt(e){return e.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))).join("")}function Pt(e,t){return Bt(Ft(e,t))}function Lt(e,t=wt.current){return Ft(kt(e,t))}function Jt(e,t){t||(t=function(e){return[parseInt(e,16)]});let r=0,n={};return e.split(",").forEach(e=>{let i=e.split(":");r+=parseInt(i[0],16),n[r]=t(i[1])}),n}function Rt(e){let t=0;return e.split(",").map(e=>{let r=e.split("-");1===r.length?r[1]="0":""===r[1]&&(r[1]="1");let n=t+parseInt(r[0],16);return t=parseInt(r[1],16),{l:n,h:t}})}function Nt(e,t){let r=0;for(let n=0;n=r&&e<=r+i.h&&(e-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(e-r))continue;return i}}return null}const Dt=Rt("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),Ot="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(e=>parseInt(e,16)),_t=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],It=Jt("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),Xt=Jt("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),xt=Jt("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(e){if(e.length%4!=0)throw new Error("bad data");let t=[];for(let r=0;r{if(Ot.indexOf(e)>=0)return[];if(e>=65024&&e<=65039)return[];let t=function(e){let t=Nt(e,_t);if(t)return[e+t.s];let r=It[e];if(r)return r;let n=Xt[e];if(n)return[e+n[0]];let i=xt[e];return i||null}(e);return t||[e]}),t=r.reduce((e,t)=>(t.forEach(t=>{e.push(t)}),e),[]),t=Lt(Bt(t),wt.NFKC),t.forEach(e=>{if(Nt(e,Ht))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),t.forEach(e=>{if(Nt(e,Dt))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let n=Bt(t);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}class Ut extends st{constructor(e){super("string",e)}encode(e,t){return super.encode(e,kt(t))}decode(e){return Pt(super.decode(e))}}class zt extends Re{constructor(e,t){let r=!1;const n=[];e.forEach(e=>{e.dynamic&&(r=!0),n.push(e.type)});super("tuple","tuple("+n.join(",")+")",t,r),this.coders=e}encode(e,t){return nt(e,this.coders,t)}decode(e){return e.coerce(this.name,it(e,this.coders))}}const Vt=new m("abi/5.0.1"),Zt=new RegExp(/^bytes([0-9]*)$/),jt=new RegExp(/^(u?int)([0-9]*)$/);class Kt{constructor(e){Vt.checkNew(new.target,Kt),te(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new et(e.name);case"bool":return new at(e.name);case"string":return new Ut(e.name);case"bytes":return new lt(e.name);case"array":return new ot(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new zt((e.components||[]).map(e=>this._getCoder(e)),e.name);case"":return new ht(e.name)}let t=e.type.match(jt);if(t){let r=parseInt(t[2]||"256");return(0===r||r>256||r%8!=0)&&Vt.throwArgumentError("invalid "+t[1]+" bit length","param",e),new Mt(r/8,"int"===t[1],e.name)}if(t=e.type.match(Zt),t){let r=parseInt(t[1]);return(0===r||r>32)&&Vt.throwArgumentError("invalid bytes length","param",e),new ut(r,e.name)}return Vt.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e){return new De(e,this._getWordSize(),this.coerceFunc)}_getWriter(){return new Ne(this._getWordSize())}encode(e,t){e.length!==t.length&&Vt.throwError("types/values length mismatch",m.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});const r=e.map(e=>this._getCoder(be.from(e))),n=new zt(r,"_"),i=this._getWriter();return n.encode(i,t),i.data}decode(e,t){const r=e.map(e=>this._getCoder(be.from(e)));return new zt(r,"_").decode(this._getReader(A(t)))}}const Qt=new Kt,qt=new m("hash/5.0.1"),Yt=new Uint8Array([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]),Wt=new RegExp("^((.*)\\.)?([^.]+)$");function $t(e){"string"!=typeof e&&qt.throwArgumentError("invalid address - "+String(e),"name",e);let t=Yt;for(;e.length;){const r=e.match(Wt);t=_e(w([t,_e(kt(Gt(r[3])))])),e=r[2]||""}return F(t)}function er(e){return _e(kt(e))}function tr(e){return"string"==typeof e&&(e=kt(e)),_e(w([kt("Ethereum Signed Message:\n"),kt(String(e.length)),e]))}const rr=new m("abi/5.0.1");class nr extends ue{}class ir extends ue{}class or extends ue{static isIndexed(e){return!(!e||!e._isIndexed)}}function ar(e,t){const r=new Error("deferred error during ABI decoding triggered accessing "+e);return r.error=t,r}class sr{constructor(e){rr.checkNew(new.target,sr);let t=[];t="string"==typeof e?JSON.parse(e):e,te(this,"fragments",t.map(e=>Me.from(e)).filter(e=>null!=e)),te(this,"_abiCoder",re(new.target,"getAbiCoder")()),te(this,"functions",{}),te(this,"errors",{}),te(this,"events",{}),te(this,"structs",{}),this.fragments.forEach(e=>{let t=null;switch(e.type){case"constructor":return this.deploy?void rr.warn("duplicate definition - constructor"):void te(this,"deploy",e);case"function":t=this.functions;break;case"event":t=this.events;break;default:return}let r=e.format();t[r]?rr.warn("duplicate definition - "+r):t[r]=e}),this.deploy||te(this,"deploy",Ee.from({payable:!1,type:"constructor"})),te(this,"_isInterface",!0)}format(e){e||(e=ge.full),e===ge.sighash&&rr.throwArgumentError("interface does not support formatting sighash","format",e);const t=this.fragments.map(t=>t.format(e));return e===ge.json?JSON.stringify(t.map(e=>JSON.parse(e))):t}static getAbiCoder(){return Qt}static getAddress(e){return We(e)}static getSighash(e){return C(er(e.format()),0,4)}static getEventTopic(e){return er(e.format())}getFunction(e){if(E(e)){for(const t in this.functions)if(e===this.getSighash(t))return this.functions[t];rr.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){const t=e.trim(),r=Object.keys(this.functions).filter(e=>e.split("(")[0]===t);return 0===r.length?rr.throwArgumentError("no matching function","name",t):r.length>1&&rr.throwArgumentError("multiple matching functions","name",t),this.functions[r[0]]}const t=this.functions[Fe.fromString(e).format()];return t||rr.throwArgumentError("no matching function","signature",e),t}getEvent(e){if(E(e)){const t=e.toLowerCase();for(const e in this.events)if(t===this.getEventTopic(e))return this.events[e];rr.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){const t=e.trim(),r=Object.keys(this.events).filter(e=>e.split("(")[0]===t);return 0===r.length?rr.throwArgumentError("no matching event","name",t):r.length>1&&rr.throwArgumentError("multiple matching events","name",t),this.events[r[0]]}const t=this.events[Ae.fromString(e).format()];return t||rr.throwArgumentError("no matching event","signature",e),t}getSighash(e){return"string"==typeof e&&(e=this.getFunction(e)),re(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),re(this.constructor,"getEventTopic")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeFunctionData(e,t){"string"==typeof e&&(e=this.getFunction(e));const r=A(t);return F(r.slice(0,4))!==this.getSighash(e)&&rr.throwArgumentError(`data signature does not match function ${e.name}.`,"data",F(r)),this._decodeParams(e.inputs,r.slice(4))}encodeFunctionData(e,t){return"string"==typeof e&&(e=this.getFunction(e)),F(w([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){"string"==typeof e&&(e=this.getFunction(e));let r=A(t),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:"0x08c379a0"===F(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return rr.throwError("call revert exception",m.errors.CALL_EXCEPTION,{method:e.format(),errorSignature:i,errorArgs:[n],reason:n})}encodeFunctionResult(e,t){return"string"==typeof e&&(e=this.getFunction(e)),F(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&rr.throwError("too many arguments for "+e.format(),m.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});let r=[];e.anonymous||r.push(this.getEventTopic(e));const n=(e,t)=>"string"===e.type?er(t):"bytes"===e.type?_e(F(t)):("address"===e.type&&this._abiCoder.encode(["address"],[t]),L(F(t),32));for(t.forEach((t,i)=>{let o=e.inputs[i];o.indexed?null==t?r.push(null):"array"===o.baseType||"tuple"===o.baseType?rr.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,t):Array.isArray(t)?r.push(t.map(e=>n(o,e))):r.push(n(o,t)):null!=t&&rr.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,t)});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));const r=[],n=[],i=[];return e.anonymous||r.push(this.getEventTopic(e)),t.length!==e.inputs.length&&rr.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((e,o)=>{const a=t[o];if(e.indexed)if("string"===e.type)r.push(er(a));else if("bytes"===e.type)r.push(_e(a));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");r.push(this._abiCoder.encode([e.type],[a]))}else n.push(e),i.push(a)}),{data:this._abiCoder.encode(n,i),topics:r}}decodeEventLog(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){let t=this.getEventTopic(e);E(r[0],32)&&r[0].toLowerCase()===t||rr.throwError("fragment/topic mismatch",m.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:r[0]}),r=r.slice(1)}let n=[],i=[],o=[];e.inputs.forEach((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(n.push(be.fromObject({type:"bytes32",name:e.name})),o.push(!0)):(n.push(e),o.push(!1)):(i.push(e),o.push(!1))});let a=null!=r?this._abiCoder.decode(n,w(r)):null,s=this._abiCoder.decode(i,t),l=[],u=0,h=0;e.inputs.forEach((e,t)=>{if(e.indexed)if(null==a)l[t]=new or({_isIndexed:!0,hash:null});else if(o[t])l[t]=new or({_isIndexed:!0,hash:a[h++]});else try{l[t]=a[h++]}catch(e){l[t]=e}else try{l[t]=s[u++]}catch(e){l[t]=e}if(e.name&&null==l[e.name]){const r=l[t];r instanceof Error?Object.defineProperty(l,e.name,{get:()=>{throw ar("property "+JSON.stringify(e.name),r)}}):l[e.name]=r}});for(let e=0;e{throw ar("index "+e,t)}})}return Object.freeze(l)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new ir({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:_.from(e.value||"0")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new nr({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}static isInterface(e){return!(!e||!e._isInterface)}}const lr=new m("abstract-provider/5.0.1");class ur extends ue{static isForkEvent(e){return!(!e||!e._isForkEvent)}}class hr{constructor(){lr.checkAbstract(new.target,hr),te(this,"_isProvider",!0)}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!(!e||!e._isProvider)}}var cr=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const dr=new m("abstract-signer/5.0.1"),fr=["chainId","data","from","gasLimit","gasPrice","nonce","to","value"];class mr{constructor(){dr.checkAbstract(new.target,mr),te(this,"_isSigner",!0)}getBalance(e){return cr(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)}))}getTransactionCount(e){return cr(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)}))}estimateGas(e){return cr(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const t=yield ne(this.checkTransaction(e));return yield this.provider.estimateGas(t)}))}call(e,t){return cr(this,void 0,void 0,(function*(){this._checkProvider("call");const r=yield ne(this.checkTransaction(e));return yield this.provider.call(r,t)}))}sendTransaction(e){return this._checkProvider("sendTransaction"),this.populateTransaction(e).then(e=>this.signTransaction(e).then(e=>this.provider.sendTransaction(e)))}getChainId(){return cr(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return cr(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}resolveName(e){return cr(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)}))}checkTransaction(e){for(const t in e)-1===fr.indexOf(t)&&dr.throwArgumentError("invalid transaction key: "+t,"transaction",e);const t=oe(e);return null==t.from?t.from=this.getAddress():t.from=Promise.all([Promise.resolve(t.from),this.getAddress()]).then(t=>(t[0]!==t[1]&&dr.throwArgumentError("from address mismatch","transaction",e),t[0])),t}populateTransaction(e){return cr(this,void 0,void 0,(function*(){const t=yield ne(this.checkTransaction(e));return null!=t.to&&(t.to=Promise.resolve(t.to).then(e=>this.resolveName(e))),null==t.gasPrice&&(t.gasPrice=this.getGasPrice()),null==t.nonce&&(t.nonce=this.getTransactionCount("pending")),null==t.gasLimit&&(t.gasLimit=this.estimateGas(t).catch(e=>dr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",m.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,tx:t}))),null==t.chainId?t.chainId=this.getChainId():t.chainId=Promise.all([Promise.resolve(t.chainId),this.getChainId()]).then(t=>(0!==t[1]&&t[0]!==t[1]&&dr.throwArgumentError("chainId address mismatch","transaction",e),t[0])),yield ne(t)}))}_checkProvider(e){this.provider||dr.throwError("missing provider",m.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!(!e||!e._isSigner)}}class pr extends mr{constructor(e,t){dr.checkNew(new.target,pr),super(),te(this,"address",e),te(this,"provider",t||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,t){return Promise.resolve().then(()=>{dr.throwError(e,m.errors.UNSUPPORTED_OPERATION,{operation:t})})}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}connect(e){return new pr(this.address,e)}}var gr=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const vr=new m("contracts/5.0.1"),br={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function yr(e,t){return gr(this,void 0,void 0,(function*(){const r=yield t;try{return We(r)}catch(e){}return e||vr.throwError("a provider or signer is needed to resolve ENS names",m.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"}),yield e.resolveName(r)}))}function Mr(e,t,r){if(Array.isArray(r))return Promise.all(r.map((r,n)=>Mr(e,Array.isArray(t)?t[n]:t[r.name],r)));if("address"===r.type)return yr(e,t);if("tuple"===r.type)return Mr(e,t,r.components);if("array"===r.baseType){if(!Array.isArray(t))throw new Error("invalid value for array");return Promise.all(t.map(t=>Mr(e,t,r.arrayChildren)))}return Promise.resolve(t)}function Ar(e,t,r){return gr(this,void 0,void 0,(function*(){let n={};r.length===t.inputs.length+1&&"object"==typeof r[r.length-1]&&(n=oe(r.pop())),vr.checkArgumentCount(r.length,t.inputs.length,"passed to contract"),e.signer?n.from?n.from=ne({override:yr(e.signer,n.from),signer:e.signer.getAddress()}).then(e=>gr(this,void 0,void 0,(function*(){return We(e.signer)!==e.override&&vr.throwError("Contract with a Signer cannot override from",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),e.override}))):n.from=e.signer.getAddress():n.from&&(n.from=yr(e.provider,n.from));const i=yield ne({args:Mr(e.signer||e.provider,r,t.inputs),address:e.resolvedAddress,overrides:ne(n)||{}}),o={data:e.interface.encodeFunctionData(t,i.args),to:i.address},a=i.overrides;if(null!=a.nonce&&(o.nonce=_.from(a.nonce).toNumber()),null!=a.gasLimit&&(o.gasLimit=_.from(a.gasLimit)),null!=a.gasPrice&&(o.gasPrice=_.from(a.gasPrice)),null!=a.from&&(o.from=a.from),null==o.gasLimit&&null!=t.gas&&(o.gasLimit=_.from(t.gas).add(21e3)),a.value){const e=_.from(a.value);e.isZero()||t.payable||vr.throwError("non-payable method cannot override value",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:n.value}),o.value=e}delete n.nonce,delete n.gasLimit,delete n.gasPrice,delete n.from,delete n.value;const s=Object.keys(n).filter(e=>null!=n[e]);return s.length&&vr.throwError("cannot override "+s.map(e=>JSON.stringify(e)).join(","),m.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:s}),o}))}function wr(e,t,r){const n=e.signer||e.provider;return function(...i){return gr(this,void 0,void 0,(function*(){let o=void 0;if(i.length===t.inputs.length+1&&"object"==typeof i[i.length-1]){const e=oe(i.pop());null!=e.blockTag&&(o=yield e.blockTag),delete e.blockTag,i.push(e)}null!=e.deployTransaction&&(yield e._deployed(o));const a=yield Ar(e,t,i),s=yield n.call(a,o);try{let n=e.interface.decodeFunctionResult(t,s);return r&&1===t.outputs.length&&(n=n[0]),n}catch(t){throw t.code===m.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=i,t.transaction=a),t}}))}}function Sr(e,t,r){return t.constant?wr(e,t,r):function(e,t){return function(...r){return gr(this,void 0,void 0,(function*(){e.signer||vr.throwError("sending a transaction requires a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=e.deployTransaction&&(yield e._deployed());const n=yield Ar(e,t,r),i=yield e.signer.sendTransaction(n),o=i.wait.bind(i);return i.wait=t=>o(t).then(t=>(t.events=t.logs.map(r=>{let n=le(r),i=null;try{i=e.interface.parseLog(r)}catch(e){}return i&&(n.args=i.args,n.decode=(t,r)=>e.interface.decodeEventLog(i.eventFragment,t,r),n.event=i.name,n.eventSignature=i.signature),n.removeListener=()=>e.provider,n.getBlock=()=>e.provider.getBlock(t.blockHash),n.getTransaction=()=>e.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>Promise.resolve(t),n}),t)),i}))}}(e,t)}function Tr(e){return!e.address||null!=e.topics&&0!==e.topics.length?(e.address||"*")+"@"+(e.topics?e.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):""):"*"}class Er{constructor(e,t){te(this,"tag",e),te(this,"filter",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter(r=>!(!t&&r.listener===e)||(t=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){const t=this.listenerCount();return this._listeners=this._listeners.filter(t=>{const r=e.slice();return setTimeout(()=>{t.listener.apply(this,r)},0),!t.once}),t}prepareEvent(e){}getEmit(e){return[e]}}class Fr extends Er{constructor(){super("error",null)}}class kr extends Er{constructor(e,t,r,n){const i={address:e};let o=t.getEventTopic(r);n?(o!==n[0]&&vr.throwArgumentError("topic mismatch","topics",n),i.topics=n.slice()):i.topics=[o],super(Tr(i),i),te(this,"address",e),te(this,"interface",t),te(this,"fragment",r)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){const t=Je(e.args);if(t.length)throw t[0].error;const r=(e.args||[]).slice();return r.push(e),r}}class Cr extends Er{constructor(e,t){super("*",{address:e}),te(this,"address",e),te(this,"interface",t)}prepareEvent(e){super.prepareEvent(e);try{const t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,r)=>this.interface.decodeEventLog(t.eventFragment,e,r),e.args=t.args}catch(e){}}}class Br{constructor(e,t,r){vr.checkNew(new.target,Br),te(this,"interface",re(new.target,"getInterface")(t)),null==r?(te(this,"provider",null),te(this,"signer",null)):mr.isSigner(r)?(te(this,"provider",r.provider||null),te(this,"signer",r)):hr.isProvider(r)?(te(this,"provider",r),te(this,"signer",null)):vr.throwArgumentError("invalid signer or provider","signerOrProvider",r),te(this,"callStatic",{}),te(this,"estimateGas",{}),te(this,"functions",{}),te(this,"populateTransaction",{}),te(this,"filters",{});{const e={};Object.keys(this.interface.events).forEach(t=>{const r=this.interface.events[t];te(this.filters,t,(...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(r,e)})),e[r.name]||(e[r.name]=[]),e[r.name].push(t)}),Object.keys(e).forEach(t=>{const r=e[t];1===r.length?te(this.filters,t,this.filters[r[0]]):vr.warn(`Duplicate definition of ${t} (${r.join(", ")})`)})}if(te(this,"_runningEvents",{}),te(this,"_wrappedEmits",{}),te(this,"address",e),this.provider)te(this,"resolvedAddress",this.provider.resolveName(e).then(e=>{if(null==e)throw new Error("name not found");return e}).catch(t=>{throw console.log("ERROR: Cannot find Contract - "+e),t}));else try{te(this,"resolvedAddress",Promise.resolve(We(e)))}catch(e){vr.throwError("provider is required to use ENS name as contract address",m.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}const n={},i={};Object.keys(this.interface.functions).forEach(e=>{const t=this.interface.functions[e];if(i[e])vr.warn("Duplicate ABI entry for "+JSON.stringify(name));else{i[e]=!0;{const r=t.name;n[r]||(n[r]=[]),n[r].push(e)}null==this[e]&&te(this,e,Sr(this,t,!0)),null==this.functions[e]&&te(this.functions,e,Sr(this,t,!1)),null==this.callStatic[e]&&te(this.callStatic,e,wr(this,t,!0)),null==this.populateTransaction[e]&&te(this.populateTransaction,e,function(e,t){return function(...r){return gr(this,void 0,void 0,(function*(){return Ar(e,t,r)}))}}(this,t)),null==this.estimateGas[e]&&te(this.estimateGas,e,function(e,t){const r=e.signer||e.provider;return function(...n){return gr(this,void 0,void 0,(function*(){r||vr.throwError("estimate require a provider or signer",m.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield Ar(e,t,n);return yield r.estimateGas(i)}))}}(this,t))}}),Object.keys(n).forEach(e=>{const t=n[e];if(t.length>1)return;const r=t[0];null==this[e]&&te(this,e,this[r]),null==this.functions[e]&&te(this.functions,e,this.functions[r]),null==this.callStatic[e]&&te(this.callStatic,e,this.callStatic[r]),null==this.populateTransaction[e]&&te(this.populateTransaction,e,this.populateTransaction[r]),null==this.estimateGas[e]&&te(this.estimateGas,e,this.estimateGas[r])})}static getContractAddress(e){return $e(e)}static getInterface(e){return sr.isInterface(e)?e:new sr(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(e=>("0x"===e&&vr.throwError("contract not deployed",m.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||vr.throwError("sending a transactions require a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const t=oe(e||{});return["from","to"].forEach((function(e){null!=t[e]&&vr.throwError("cannot override "+e,m.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(t))}connect(e){"string"==typeof e&&(e=new pr(e,this.provider));const t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&te(t,"deployTransaction",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return or.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new Fr);if("event"===e)return this._normalizeRunningEvent(new Er("event",null));if("*"===e)return this._normalizeRunningEvent(new Cr(this.address,this.interface));const t=this.interface.getEvent(e);return this._normalizeRunningEvent(new kr(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{const t=e.topics[0];if("string"!=typeof t)throw new Error("invalid topic");const r=this.interface.getEvent(t);return this._normalizeRunningEvent(new kr(this.address,this.interface,r,e.topics))}catch(e){}const t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new Er(Tr(t),t))}return this._normalizeRunningEvent(new Cr(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];const t=this._wrappedEmits[e.tag];t&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,r){const n=le(t);return n.removeListener=()=>{r&&(e.removeListener(r),this._checkRunningEvents(e))},n.getBlock=()=>this.provider.getBlock(t.blockHash),n.getTransaction=()=>this.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(n),n}_addEventListener(e,t,r){if(this.provider||vr.throwError("events require a provider or a signer with a provider",m.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,r),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const r=r=>{let n=this._wrapEvent(e,r,t);if(null==n.decodeError)try{const t=e.getEmit(n);this.emit(e.filter,...t)}catch(e){n.decodeError=e.error}null!=e.filter&&this.emit("event",n),null!=n.decodeError&&this.emit("error",n.decodeError,n)};this._wrappedEmits[e.tag]=r,null!=e.filter&&this.provider.on(e.filter,r)}}queryFilter(e,t,r){const n=this._getRunningEvent(e),i=oe(n.filter);return"string"==typeof t&&E(t,32)?(null!=r&&vr.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=r?r:"latest"),this.provider.getLogs(i).then(e=>e.map(e=>this._wrapEvent(n,e,null)))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;const r=this._getRunningEvent(e),n=r.run(t)>0;return this._checkRunningEvents(r),n}listenerCount(e){return this.provider?this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){const e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach(t=>{e.push(t)});return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(const e in this._runningEvents){const t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}const t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;const r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this}removeListener(e,t){return this.off(e,t)}}class Pr{constructor(e,t,r){let n=null;n="string"==typeof t?t:M(t)?F(t):t&&"string"==typeof t.object?t.object:"!","0x"!==n.substring(0,2)&&(n="0x"+n),(!E(n)||n.length%2)&&vr.throwArgumentError("invalid bytecode","bytecode",t),r&&!mr.isSigner(r)&&vr.throwArgumentError("invalid signer","signer",r),te(this,"bytecode",n),te(this,"interface",re(new.target,"getInterface")(e)),te(this,"signer",r||null)}getDeployTransaction(...e){let t={};if(e.length===this.interface.deploy.inputs.length+1&&"object"==typeof e[e.length-1]){t=oe(e.pop());for(const e in t)if(!br[e])throw new Error("unknown transaction override "+e)}return["data","from","to"].forEach(e=>{null!=t[e]&&vr.throwError("cannot override "+e,m.errors.UNSUPPORTED_OPERATION,{operation:e})}),vr.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor"),t.data=F(w([this.bytecode,this.interface.encodeDeploy(e)])),t}deploy(...e){return gr(this,void 0,void 0,(function*(){let t={};e.length===this.interface.deploy.inputs.length+1&&(t=e.pop()),vr.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor");const r=yield Mr(this.signer,e,this.interface.deploy.inputs);r.push(t);const n=this.getDeployTransaction(...r),i=yield this.signer.sendTransaction(n),o=re(this.constructor,"getContractAddress")(i),a=re(this.constructor,"getContract")(o,this.interface,this.signer);return te(a,"deployTransaction",i),a}))}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,t){null==e&&vr.throwError("missing compiler output",m.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof e&&(e=JSON.parse(e));const r=e.abi;let n=null;return e.bytecode?n=e.bytecode:e.evm&&e.evm.bytecode&&(n=e.evm.bytecode),new this(r,n,t)}static getInterface(e){return Br.getInterface(e)}static getContractAddress(e){return $e(e)}static getContract(e,t,r){return new Br(e,t,r)}}class Lr{constructor(e){te(this,"alphabet",e),te(this,"base",e.length),te(this,"_alphabetMap",{}),te(this,"_leader",e.charAt(0));for(let t=0;t0;)r.push(n%this.base),n=n/this.base|0}let n="";for(let e=0;0===t[e]&&e=0;--e)n+=this.alphabet[r[e]];return n}decode(e){if("string"!=typeof e)throw new TypeError("Expected String");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let r=0;r>=8;for(;i>0;)t.push(255&i),i>>=8}for(let r=0;e[r]===this._leader&&r>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function _r(e){return 1===e.length?"0"+e:e}function Ir(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var Xr={inherits:Dr,toArray:function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n>8,a=255&i;o?r.push(o,a):r.push(a)}else for(n=0;n>>0}return o},split32:function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,n){return e+t+r+n>>>0},sum32_5:function(e,t,r,n,i){return e+t+r+n+i>>>0},sum64:function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o>>0,e[t+1]=o},sum64_hi:function(e,t,r,n){return(t+n>>>0>>0},sum64_lo:function(e,t,r,n){return t+n>>>0},sum64_4_hi:function(e,t,r,n,i,o,a,s){var l=0,u=t;return l+=(u=u+n>>>0)>>0)>>0)>>0},sum64_4_lo:function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},sum64_5_hi:function(e,t,r,n,i,o,a,s,l,u){var h=0,c=t;return h+=(c=c+n>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(e,t,r,n,i,o,a,s,l,u){return t+n+o+s+u>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function xr(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var Hr=xr;xr.prototype.update=function(e,t){if(e=Xr.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=Xr.join32(e,0,e.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o>>3},g1_256:function(e){return Ur(e,17)^Ur(e,19)^e>>>10}},Kr=Xr.sum32,Qr=Xr.sum32_4,qr=Xr.sum32_5,Yr=jr.ch32,Wr=jr.maj32,$r=jr.s0_256,en=jr.s1_256,tn=jr.g0_256,rn=jr.g1_256,nn=Gr.BlockHash,on=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function an(){if(!(this instanceof an))return new an;nn.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=on,this.W=new Array(64)}Xr.inherits(an,nn);var sn=an;an.blockSize=512,an.outSize=256,an.hmacStrength=192,an.padLength=64,an.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;nthis.blockSize&&(e=(new this.Hash).update(e).digest()),Rr(e.length<=this.blockSize);for(var t=e.length;t>24&255,l[t.length+1]=c>>16&255,l[t.length+2]=c>>8&255,l[t.length+3]=255&c;let d=A(ai(i,e,l));o||(o=d.length,h=new Uint8Array(o),a=Math.ceil(n/o),u=n-(a-1)*o),h.set(d);for(let t=1;t=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function l(e,t,r,n){for(var i=0,o=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)a=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)i=s(e,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==t&&(i=s(e,t,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,a=o%n,s=Math.min(o,o-a)+r,u=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,l=a/67108864|0;r.words[0]=s;for(var u=1;u>>26,c=67108863&l,d=Math.min(u,t.length-1),f=Math.max(0,u-e.length+1);f<=d;f++){var m=u-f|0;h+=(a=(i=0|e.words[m])*(o=0|t.words[f])+c)/67108864|0,c=67108863&a}r.words[u]=0|c,l=0|h}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?u[6-l.length]+l+n:l+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var d=h[e],f=c[e];n="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modn(f).toString(e);n=(m=m.idivn(f)).isZero()?p+n:u[d-p.length]+p+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==a),this.toArrayLike(a,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var a,s,l="le"===t,u=new e(o),h=this.clone();if(l){for(s=0;!h.isZero();s++)a=h.andln(255),h.iushrn(8),u[s]=a;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==o&&a>26,this.words[a]=67108863&t;if(0===o&&a>>13,f=0|a[1],m=8191&f,p=f>>>13,g=0|a[2],v=8191&g,b=g>>>13,y=0|a[3],M=8191&y,A=y>>>13,w=0|a[4],S=8191&w,T=w>>>13,E=0|a[5],F=8191&E,k=E>>>13,C=0|a[6],B=8191&C,P=C>>>13,L=0|a[7],J=8191&L,R=L>>>13,N=0|a[8],D=8191&N,O=N>>>13,_=0|a[9],I=8191&_,X=_>>>13,x=0|s[0],H=8191&x,G=x>>>13,U=0|s[1],z=8191&U,V=U>>>13,Z=0|s[2],j=8191&Z,K=Z>>>13,Q=0|s[3],q=8191&Q,Y=Q>>>13,W=0|s[4],$=8191&W,ee=W>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],le=8191&se,ue=se>>>13,he=0|s[8],ce=8191&he,de=he>>>13,fe=0|s[9],me=8191&fe,pe=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ge=(u+(n=Math.imul(c,H))|0)+((8191&(i=(i=Math.imul(c,G))+Math.imul(d,H)|0))<<13)|0;u=((o=Math.imul(d,G))+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(m,H),i=(i=Math.imul(m,G))+Math.imul(p,H)|0,o=Math.imul(p,G);var ve=(u+(n=n+Math.imul(c,z)|0)|0)+((8191&(i=(i=i+Math.imul(c,V)|0)+Math.imul(d,z)|0))<<13)|0;u=((o=o+Math.imul(d,V)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(v,H),i=(i=Math.imul(v,G))+Math.imul(b,H)|0,o=Math.imul(b,G),n=n+Math.imul(m,z)|0,i=(i=i+Math.imul(m,V)|0)+Math.imul(p,z)|0,o=o+Math.imul(p,V)|0;var be=(u+(n=n+Math.imul(c,j)|0)|0)+((8191&(i=(i=i+Math.imul(c,K)|0)+Math.imul(d,j)|0))<<13)|0;u=((o=o+Math.imul(d,K)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(M,H),i=(i=Math.imul(M,G))+Math.imul(A,H)|0,o=Math.imul(A,G),n=n+Math.imul(v,z)|0,i=(i=i+Math.imul(v,V)|0)+Math.imul(b,z)|0,o=o+Math.imul(b,V)|0,n=n+Math.imul(m,j)|0,i=(i=i+Math.imul(m,K)|0)+Math.imul(p,j)|0,o=o+Math.imul(p,K)|0;var ye=(u+(n=n+Math.imul(c,q)|0)|0)+((8191&(i=(i=i+Math.imul(c,Y)|0)+Math.imul(d,q)|0))<<13)|0;u=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(S,H),i=(i=Math.imul(S,G))+Math.imul(T,H)|0,o=Math.imul(T,G),n=n+Math.imul(M,z)|0,i=(i=i+Math.imul(M,V)|0)+Math.imul(A,z)|0,o=o+Math.imul(A,V)|0,n=n+Math.imul(v,j)|0,i=(i=i+Math.imul(v,K)|0)+Math.imul(b,j)|0,o=o+Math.imul(b,K)|0,n=n+Math.imul(m,q)|0,i=(i=i+Math.imul(m,Y)|0)+Math.imul(p,q)|0,o=o+Math.imul(p,Y)|0;var Me=(u+(n=n+Math.imul(c,$)|0)|0)+((8191&(i=(i=i+Math.imul(c,ee)|0)+Math.imul(d,$)|0))<<13)|0;u=((o=o+Math.imul(d,ee)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(k,H)|0,o=Math.imul(k,G),n=n+Math.imul(S,z)|0,i=(i=i+Math.imul(S,V)|0)+Math.imul(T,z)|0,o=o+Math.imul(T,V)|0,n=n+Math.imul(M,j)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(A,j)|0,o=o+Math.imul(A,K)|0,n=n+Math.imul(v,q)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(b,q)|0,o=o+Math.imul(b,Y)|0,n=n+Math.imul(m,$)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(p,$)|0,o=o+Math.imul(p,ee)|0;var Ae=(u+(n=n+Math.imul(c,re)|0)|0)+((8191&(i=(i=i+Math.imul(c,ne)|0)+Math.imul(d,re)|0))<<13)|0;u=((o=o+Math.imul(d,ne)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(P,H)|0,o=Math.imul(P,G),n=n+Math.imul(F,z)|0,i=(i=i+Math.imul(F,V)|0)+Math.imul(k,z)|0,o=o+Math.imul(k,V)|0,n=n+Math.imul(S,j)|0,i=(i=i+Math.imul(S,K)|0)+Math.imul(T,j)|0,o=o+Math.imul(T,K)|0,n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,Y)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,ee)|0)+Math.imul(b,$)|0,o=o+Math.imul(b,ee)|0,n=n+Math.imul(m,re)|0,i=(i=i+Math.imul(m,ne)|0)+Math.imul(p,re)|0,o=o+Math.imul(p,ne)|0;var we=(u+(n=n+Math.imul(c,oe)|0)|0)+((8191&(i=(i=i+Math.imul(c,ae)|0)+Math.imul(d,oe)|0))<<13)|0;u=((o=o+Math.imul(d,ae)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(J,H),i=(i=Math.imul(J,G))+Math.imul(R,H)|0,o=Math.imul(R,G),n=n+Math.imul(B,z)|0,i=(i=i+Math.imul(B,V)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,V)|0,n=n+Math.imul(F,j)|0,i=(i=i+Math.imul(F,K)|0)+Math.imul(k,j)|0,o=o+Math.imul(k,K)|0,n=n+Math.imul(S,q)|0,i=(i=i+Math.imul(S,Y)|0)+Math.imul(T,q)|0,o=o+Math.imul(T,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,ee)|0,n=n+Math.imul(v,re)|0,i=(i=i+Math.imul(v,ne)|0)+Math.imul(b,re)|0,o=o+Math.imul(b,ne)|0,n=n+Math.imul(m,oe)|0,i=(i=i+Math.imul(m,ae)|0)+Math.imul(p,oe)|0,o=o+Math.imul(p,ae)|0;var Se=(u+(n=n+Math.imul(c,le)|0)|0)+((8191&(i=(i=i+Math.imul(c,ue)|0)+Math.imul(d,le)|0))<<13)|0;u=((o=o+Math.imul(d,ue)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,G))+Math.imul(O,H)|0,o=Math.imul(O,G),n=n+Math.imul(J,z)|0,i=(i=i+Math.imul(J,V)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,V)|0,n=n+Math.imul(B,j)|0,i=(i=i+Math.imul(B,K)|0)+Math.imul(P,j)|0,o=o+Math.imul(P,K)|0,n=n+Math.imul(F,q)|0,i=(i=i+Math.imul(F,Y)|0)+Math.imul(k,q)|0,o=o+Math.imul(k,Y)|0,n=n+Math.imul(S,$)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,ee)|0,n=n+Math.imul(M,re)|0,i=(i=i+Math.imul(M,ne)|0)+Math.imul(A,re)|0,o=o+Math.imul(A,ne)|0,n=n+Math.imul(v,oe)|0,i=(i=i+Math.imul(v,ae)|0)+Math.imul(b,oe)|0,o=o+Math.imul(b,ae)|0,n=n+Math.imul(m,le)|0,i=(i=i+Math.imul(m,ue)|0)+Math.imul(p,le)|0,o=o+Math.imul(p,ue)|0;var Te=(u+(n=n+Math.imul(c,ce)|0)|0)+((8191&(i=(i=i+Math.imul(c,de)|0)+Math.imul(d,ce)|0))<<13)|0;u=((o=o+Math.imul(d,de)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(I,H),i=(i=Math.imul(I,G))+Math.imul(X,H)|0,o=Math.imul(X,G),n=n+Math.imul(D,z)|0,i=(i=i+Math.imul(D,V)|0)+Math.imul(O,z)|0,o=o+Math.imul(O,V)|0,n=n+Math.imul(J,j)|0,i=(i=i+Math.imul(J,K)|0)+Math.imul(R,j)|0,o=o+Math.imul(R,K)|0,n=n+Math.imul(B,q)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(P,q)|0,o=o+Math.imul(P,Y)|0,n=n+Math.imul(F,$)|0,i=(i=i+Math.imul(F,ee)|0)+Math.imul(k,$)|0,o=o+Math.imul(k,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(T,re)|0,o=o+Math.imul(T,ne)|0,n=n+Math.imul(M,oe)|0,i=(i=i+Math.imul(M,ae)|0)+Math.imul(A,oe)|0,o=o+Math.imul(A,ae)|0,n=n+Math.imul(v,le)|0,i=(i=i+Math.imul(v,ue)|0)+Math.imul(b,le)|0,o=o+Math.imul(b,ue)|0,n=n+Math.imul(m,ce)|0,i=(i=i+Math.imul(m,de)|0)+Math.imul(p,ce)|0,o=o+Math.imul(p,de)|0;var Ee=(u+(n=n+Math.imul(c,me)|0)|0)+((8191&(i=(i=i+Math.imul(c,pe)|0)+Math.imul(d,me)|0))<<13)|0;u=((o=o+Math.imul(d,pe)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,V))+Math.imul(X,z)|0,o=Math.imul(X,V),n=n+Math.imul(D,j)|0,i=(i=i+Math.imul(D,K)|0)+Math.imul(O,j)|0,o=o+Math.imul(O,K)|0,n=n+Math.imul(J,q)|0,i=(i=i+Math.imul(J,Y)|0)+Math.imul(R,q)|0,o=o+Math.imul(R,Y)|0,n=n+Math.imul(B,$)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(P,$)|0,o=o+Math.imul(P,ee)|0,n=n+Math.imul(F,re)|0,i=(i=i+Math.imul(F,ne)|0)+Math.imul(k,re)|0,o=o+Math.imul(k,ne)|0,n=n+Math.imul(S,oe)|0,i=(i=i+Math.imul(S,ae)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,ae)|0,n=n+Math.imul(M,le)|0,i=(i=i+Math.imul(M,ue)|0)+Math.imul(A,le)|0,o=o+Math.imul(A,ue)|0,n=n+Math.imul(v,ce)|0,i=(i=i+Math.imul(v,de)|0)+Math.imul(b,ce)|0,o=o+Math.imul(b,de)|0;var Fe=(u+(n=n+Math.imul(m,me)|0)|0)+((8191&(i=(i=i+Math.imul(m,pe)|0)+Math.imul(p,me)|0))<<13)|0;u=((o=o+Math.imul(p,pe)|0)+(i>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(I,j),i=(i=Math.imul(I,K))+Math.imul(X,j)|0,o=Math.imul(X,K),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,Y)|0)+Math.imul(O,q)|0,o=o+Math.imul(O,Y)|0,n=n+Math.imul(J,$)|0,i=(i=i+Math.imul(J,ee)|0)+Math.imul(R,$)|0,o=o+Math.imul(R,ee)|0,n=n+Math.imul(B,re)|0,i=(i=i+Math.imul(B,ne)|0)+Math.imul(P,re)|0,o=o+Math.imul(P,ne)|0,n=n+Math.imul(F,oe)|0,i=(i=i+Math.imul(F,ae)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,ae)|0,n=n+Math.imul(S,le)|0,i=(i=i+Math.imul(S,ue)|0)+Math.imul(T,le)|0,o=o+Math.imul(T,ue)|0,n=n+Math.imul(M,ce)|0,i=(i=i+Math.imul(M,de)|0)+Math.imul(A,ce)|0,o=o+Math.imul(A,de)|0;var ke=(u+(n=n+Math.imul(v,me)|0)|0)+((8191&(i=(i=i+Math.imul(v,pe)|0)+Math.imul(b,me)|0))<<13)|0;u=((o=o+Math.imul(b,pe)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(I,q),i=(i=Math.imul(I,Y))+Math.imul(X,q)|0,o=Math.imul(X,Y),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,ee)|0,n=n+Math.imul(J,re)|0,i=(i=i+Math.imul(J,ne)|0)+Math.imul(R,re)|0,o=o+Math.imul(R,ne)|0,n=n+Math.imul(B,oe)|0,i=(i=i+Math.imul(B,ae)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,ae)|0,n=n+Math.imul(F,le)|0,i=(i=i+Math.imul(F,ue)|0)+Math.imul(k,le)|0,o=o+Math.imul(k,ue)|0,n=n+Math.imul(S,ce)|0,i=(i=i+Math.imul(S,de)|0)+Math.imul(T,ce)|0,o=o+Math.imul(T,de)|0;var Ce=(u+(n=n+Math.imul(M,me)|0)|0)+((8191&(i=(i=i+Math.imul(M,pe)|0)+Math.imul(A,me)|0))<<13)|0;u=((o=o+Math.imul(A,pe)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(I,$),i=(i=Math.imul(I,ee))+Math.imul(X,$)|0,o=Math.imul(X,ee),n=n+Math.imul(D,re)|0,i=(i=i+Math.imul(D,ne)|0)+Math.imul(O,re)|0,o=o+Math.imul(O,ne)|0,n=n+Math.imul(J,oe)|0,i=(i=i+Math.imul(J,ae)|0)+Math.imul(R,oe)|0,o=o+Math.imul(R,ae)|0,n=n+Math.imul(B,le)|0,i=(i=i+Math.imul(B,ue)|0)+Math.imul(P,le)|0,o=o+Math.imul(P,ue)|0,n=n+Math.imul(F,ce)|0,i=(i=i+Math.imul(F,de)|0)+Math.imul(k,ce)|0,o=o+Math.imul(k,de)|0;var Be=(u+(n=n+Math.imul(S,me)|0)|0)+((8191&(i=(i=i+Math.imul(S,pe)|0)+Math.imul(T,me)|0))<<13)|0;u=((o=o+Math.imul(T,pe)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(I,re),i=(i=Math.imul(I,ne))+Math.imul(X,re)|0,o=Math.imul(X,ne),n=n+Math.imul(D,oe)|0,i=(i=i+Math.imul(D,ae)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,ae)|0,n=n+Math.imul(J,le)|0,i=(i=i+Math.imul(J,ue)|0)+Math.imul(R,le)|0,o=o+Math.imul(R,ue)|0,n=n+Math.imul(B,ce)|0,i=(i=i+Math.imul(B,de)|0)+Math.imul(P,ce)|0,o=o+Math.imul(P,de)|0;var Pe=(u+(n=n+Math.imul(F,me)|0)|0)+((8191&(i=(i=i+Math.imul(F,pe)|0)+Math.imul(k,me)|0))<<13)|0;u=((o=o+Math.imul(k,pe)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(I,oe),i=(i=Math.imul(I,ae))+Math.imul(X,oe)|0,o=Math.imul(X,ae),n=n+Math.imul(D,le)|0,i=(i=i+Math.imul(D,ue)|0)+Math.imul(O,le)|0,o=o+Math.imul(O,ue)|0,n=n+Math.imul(J,ce)|0,i=(i=i+Math.imul(J,de)|0)+Math.imul(R,ce)|0,o=o+Math.imul(R,de)|0;var Le=(u+(n=n+Math.imul(B,me)|0)|0)+((8191&(i=(i=i+Math.imul(B,pe)|0)+Math.imul(P,me)|0))<<13)|0;u=((o=o+Math.imul(P,pe)|0)+(i>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(I,le),i=(i=Math.imul(I,ue))+Math.imul(X,le)|0,o=Math.imul(X,ue),n=n+Math.imul(D,ce)|0,i=(i=i+Math.imul(D,de)|0)+Math.imul(O,ce)|0,o=o+Math.imul(O,de)|0;var Je=(u+(n=n+Math.imul(J,me)|0)|0)+((8191&(i=(i=i+Math.imul(J,pe)|0)+Math.imul(R,me)|0))<<13)|0;u=((o=o+Math.imul(R,pe)|0)+(i>>>13)|0)+(Je>>>26)|0,Je&=67108863,n=Math.imul(I,ce),i=(i=Math.imul(I,de))+Math.imul(X,ce)|0,o=Math.imul(X,de);var Re=(u+(n=n+Math.imul(D,me)|0)|0)+((8191&(i=(i=i+Math.imul(D,pe)|0)+Math.imul(O,me)|0))<<13)|0;u=((o=o+Math.imul(O,pe)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ne=(u+(n=Math.imul(I,me))|0)+((8191&(i=(i=Math.imul(I,pe))+Math.imul(X,me)|0))<<13)|0;return u=((o=Math.imul(X,pe))+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,l[0]=ge,l[1]=ve,l[2]=be,l[3]=ye,l[4]=Me,l[5]=Ae,l[6]=we,l[7]=Se,l[8]=Te,l[9]=Ee,l[10]=Fe,l[11]=ke,l[12]=Ce,l[13]=Be,l[14]=Pe,l[15]=Le,l[16]=Je,l[17]=Re,l[18]=Ne,0!==u&&(l[19]=u,r.length++),r};function m(e,t,r){return(new p).mulp(e,t,r)}function p(e,t){this.x=e,this.y=t}Math.imul||(f=d),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?f(this,e,t):r<63?d(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,e,t):m(this,e,t)},p.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},p.prototype.permute=function(e,t,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*t;a>=26,t+=i/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,u=0;u=0&&(0!==h||u>=i);u--){var c=0|this.words[u];this.words[u]=h<<26-o|c>>>o,h=c&s}return l&&0!==h&&(l.words[l.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(l/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==t){(s=new o(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;c--){var d=67108864*(0|n.words[i.length+c])+(0|n.words[i.length+c-1]);for(d=Math.min(d/a|0,67108863),n._ishlnsubmul(i,d,c);0!==n.negative;)d--,n.negative=0,n._ishlnsubmul(i,1,c),n.isZero()||(n.negative^=1);s&&(s.words[c]=d)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),a=new o(0),s=new o(0),l=new o(1),u=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++u;for(var h=n.clone(),c=t.clone();!t.isZero();){for(var d=0,f=1;0==(t.words[0]&f)&&d<26;++d,f<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(h),a.isub(c)),i.iushrn(1),a.iushrn(1);for(var m=0,p=1;0==(n.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(n.iushrn(m);m-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(h),l.isub(c)),s.iushrn(1),l.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(s),a.isub(l)):(n.isub(t),s.isub(i),l.isub(a))}return{a:s,b:l,gcd:n.iushln(u)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,a=new o(1),s=new o(0),l=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,h=1;0==(t.words[0]&h)&&u<26;++u,h<<=1);if(u>0)for(t.iushrn(u);u-- >0;)a.isOdd()&&a.iadd(l),a.iushrn(1);for(var c=0,d=1;0==(n.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(n.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(i=0===t.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new w(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var g={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){w.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},n(b,v),b.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=o}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(g[e])return g[e];var t;if("k256"===e)t=new b;else if("p224"===e)t=new y;else if("p192"===e)t=new M;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new A}return g[e]=t,t},w.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},w.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},w.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},w.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},w.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},w.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},w.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},w.prototype.isqr=function(e){return this.imul(e,e.clone())},w.prototype.sqr=function(e){return this.mul(e,e)},w.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);r(!i.isZero());var s=new o(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,u).cmp(l);)h.redIAdd(l);for(var c=this.pow(h,i),d=this.pow(e,i.addn(1).iushrn(1)),f=this.pow(e,i),m=a;0!==f.cmp(s);){for(var p=f,g=0;0!==p.cmp(s);g++)p=p.redSqr();r(g=0;n--){for(var u=t.words[n],h=l-1;h>=0;h--){var c=u>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==c||0!==a?(a<<=1,a|=c,(4===++s||0===n&&0===h)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}l=26}return i},w.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},w.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new S(e)},n(S,w),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,e)})),ci=r((function(e,t){var r=t;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}})),di=r((function(e,t){var r=t;r.assert=Rr,r.toArray=ci.toArray,r.zero2=ci.zero2,r.toHex=ci.toHex,r.encode=ci.encode,r.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-l:l,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;e.cmpn(-n)>0||t.cmpn(-i)>0;){var o,a,s,l=e.andln(3)+n&3,u=t.andln(3)+i&3;if(3===l&&(l=-1),3===u&&(u=-1),0==(1&l))o=0;else o=3!==(s=e.andln(7)+n&7)&&5!==s||2!==u?l:-l;if(r[0].push(o),0==(1&u))a=0;else a=3!==(s=t.andln(7)+i&7)&&5!==s||2!==l?u:-u;r[1].push(a),2*n===o+1&&(n=1-n),2*i===a+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new hi(e,"hex","le")}})),fi=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r},mi=di.getNAF,pi=di.getJSF,gi=di.assert;function vi(e,t){this.type=e,this.p=new hi(t.p,16),this.red=t.prime?hi.red(t.prime):hi.mont(this.p),this.zero=new hi(0).toRed(this.red),this.one=new hi(1).toRed(this.red),this.two=new hi(2).toRed(this.red),this.n=t.n&&new hi(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var bi=vi;function yi(e,t){this.curve=e,this.type=t,this.precomputed=null}vi.prototype.point=function(){throw new Error("Not implemented")},vi.prototype.validate=function(){throw new Error("Not implemented")},vi.prototype._fixedNafMul=function(e,t){gi(e.precomputed);var r=e._getDoubles(),n=mi(t,1,this._bitLength),i=(1<=a;t--)s=(s<<1)+n[t];o.push(s)}for(var l=this.jpoint(null,null,null),u=this.jpoint(null,null,null),h=i;h>0;h--){for(a=0;a=0;s--){for(t=0;s>=0&&0===o[s];s--)t++;if(s>=0&&t++,a=a.dblp(t),s<0)break;var l=o[s];gi(0!==l),a="affine"===e.type?l>0?a.mixedAdd(i[l-1>>1]):a.mixedAdd(i[-l-1>>1].neg()):l>0?a.add(i[l-1>>1]):a.add(i[-l-1>>1].neg())}return"affine"===e.type?a.toP():a},vi.prototype._wnafMulAdd=function(e,t,r,n,i){for(var o=this._wnafT1,a=this._wnafT2,s=this._wnafT3,l=0,u=0;u=1;u-=2){var c=u-1,d=u;if(1===o[c]&&1===o[d]){var f=[t[c],null,null,t[d]];0===t[c].y.cmp(t[d].y)?(f[1]=t[c].add(t[d]),f[2]=t[c].toJ().mixedAdd(t[d].neg())):0===t[c].y.cmp(t[d].y.redNeg())?(f[1]=t[c].toJ().mixedAdd(t[d]),f[2]=t[c].add(t[d].neg())):(f[1]=t[c].toJ().mixedAdd(t[d]),f[2]=t[c].toJ().mixedAdd(t[d].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],p=pi(r[c],r[d]);l=Math.max(p[0].length,l),s[c]=new Array(l),s[d]=new Array(l);for(var g=0;g=0;u--){for(var A=0;u>=0;){var w=!0;for(g=0;g=0&&A++,y=y.dblp(A),u<0)break;for(g=0;g0?S=a[g][T-1>>1]:T<0&&(S=a[g][-T-1>>1].neg()),y="affine"===S.type?y.mixedAdd(S):y.add(S))}}for(u=0;u=Math.ceil((e.bitLength()+1)/t.step)},yi.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(o=t,a=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:i},{a:o,b:a}]},Ai.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),l=i.mul(r.b),u=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:l.add(u).neg()}},Ai.prototype.pointFromX=function(e,t){(e=new hi(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(t&&!i||!t&&i)&&(n=n.redNeg()),this.point(e,n)},Ai.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},Ai.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},Si.prototype.isInfinity=function(){return this.inf},Si.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},Si.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},Si.prototype.getX=function(){return this.x.fromRed()},Si.prototype.getY=function(){return this.y.fromRed()},Si.prototype.mul=function(e){return e=new hi(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Si.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},Si.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},Si.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},Si.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},Si.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Dr(Ti,bi.BasePoint),Ai.prototype.jpoint=function(e,t,r){return new Ti(this,e,t,r)},Ti.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},Ti.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ti.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=n.redSub(i),l=o.redSub(a);if(0===s.cmpn(0))return 0!==l.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),h=u.redMul(s),c=n.redMul(u),d=l.redSqr().redIAdd(h).redISub(c).redISub(c),f=l.redMul(c.redISub(d)).redISub(o.redMul(h)),m=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(d,f,m)},Ti.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),u=l.redMul(a),h=r.redMul(l),c=s.redSqr().redIAdd(u).redISub(h).redISub(h),d=s.redMul(h.redISub(c)).redISub(i.redMul(u)),f=this.z.redMul(a);return this.curve.jpoint(c,d,f)},Ti.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},Ti.prototype.inspect=function(){return this.isInfinity()?"":""},Ti.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ei={},Fi={},ki=r((function(e,t){var r=t;r.base=bi,r.short=wi,r.mont=Ei,r.edwards=Fi})),Ci=r((function(e,t){var r,n=t,i=di.assert;function o(e){"short"===e.type?this.curve=new ki.short(e):"edwards"===e.type?this.curve=new ki.edwards(e):this.curve=new ki.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new o(t);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:$n.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:$n.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:$n.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:$n.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:$n.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:$n.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:$n.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=void 0}catch(e){r=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:$n.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function Bi(e){if(!(this instanceof Bi))return new Bi(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=ci.toArray(e.entropy,e.entropyEnc||"hex"),r=ci.toArray(e.nonce,e.nonceEnc||"hex"),n=ci.toArray(e.pers,e.persEnc||"hex");Rr(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var Pi=Bi;Bi.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},Bi.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=ci.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var Ni=di.assert;function Di(e,t){if(e instanceof Di)return e;this._importDER(e,t)||(Ni(e.r&&e.s,"Signature without r or s"),this.r=new hi(e.r,16),this.s=new hi(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var Oi=Di;function _i(){this.place=0}function Ii(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,a=t.place;o>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}Di.prototype._importDER=function(e,t){e=di.toArray(e,t);var r=new _i;if(48!==e[r.place++])return!1;if(Ii(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var n=Ii(e,r),i=e.slice(r.place,n+r.place);if(r.place+=n,2!==e[r.place++])return!1;var o=Ii(e,r);if(e.length!==o+r.place)return!1;var a=e.slice(r.place,o+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===a[0]&&128&a[1]&&(a=a.slice(1)),this.r=new hi(i),this.s=new hi(a),this.recoveryParam=null,!0},Di.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=Xi(t),r=Xi(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];xi(n,t.length),(n=n.concat(t)).push(2),xi(n,r.length);var i=n.concat(r),o=[48];return xi(o,i.length),o=o.concat(i),di.encode(o,e)};var Hi=di.assert;function Gi(e){if(!(this instanceof Gi))return new Gi(e);"string"==typeof e&&(Hi(Ci.hasOwnProperty(e),"Unknown curve "+e),e=Ci[e]),e instanceof Ci.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var Ui=Gi;Gi.prototype.keyPair=function(e){return new Ri(this,e)},Gi.prototype.keyFromPrivate=function(e,t){return Ri.fromPrivate(this,e,t)},Gi.prototype.keyFromPublic=function(e,t){return Ri.fromPublic(this,e,t)},Gi.prototype.genKeyPair=function(e){e||(e={});for(var t=new Pi({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||fi(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new hi(2));;){var i=new hi(t.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},Gi.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},Gi.prototype.sign=function(e,t,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new hi(e,16));for(var i=this.n.byteLength(),o=t.getPrivate().toArray("be",i),a=e.toArray("be",i),s=new Pi({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new hi(1)),u=0;;u++){var h=n.k?n.k(u):new hi(s.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(l)>=0)){var c=this.g.mul(h);if(!c.isInfinity()){var d=c.getX(),f=d.umod(this.n);if(0!==f.cmpn(0)){var m=h.invm(this.n).mul(f.mul(t.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var p=(c.getY().isOdd()?1:0)|(0!==d.cmp(f)?2:0);return n.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),p^=1),new Oi({r:f,s:m,recoveryParam:p})}}}}}},Gi.prototype.verify=function(e,t,r,n){e=this._truncateToN(new hi(e,16)),r=this.keyFromPublic(r,n);var i=(t=new Oi(t,"hex")).r,o=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,s=o.invm(this.n),l=s.mul(e).umod(this.n),u=s.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,r.getPublic(),u)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(l,r.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},Gi.prototype.recoverPubKey=function(e,t,r,n){Hi((3&r)===r,"The recovery param is more than two bits"),t=new Oi(t,n);var i=this.n,o=new hi(e),a=t.r,s=t.s,l=1&r,u=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");a=u?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var h=t.r.invm(i),c=i.sub(o).mul(h).umod(i),d=s.mul(h).umod(i);return this.g.mulAdd(c,a,d)},Gi.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new Oi(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var zi={},Vi=n(ui),Zi=r((function(e,t){var r=t;r.version=Vi.version,r.utils=di,r.rand=fi,r.curve=ki,r.curves=Ci,r.ec=Ui,r.eddsa=zi})).ec;const ji=new m("signing-key/5.0.1");let Ki=null;function Qi(){return Ki||(Ki=new Zi("secp256k1")),Ki}class qi{constructor(e){te(this,"curve","secp256k1"),te(this,"privateKey",F(e));const t=Qi().keyFromPrivate(A(this.privateKey));te(this,"publicKey","0x"+t.getPublic(!1,"hex")),te(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),te(this,"_isSigningKey",!0)}_addPoint(e){const t=Qi().keyFromPublic(A(this.publicKey)),r=Qi().keyFromPublic(A(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")}signDigest(e){const t=Qi().keyFromPrivate(A(this.privateKey)).sign(A(e),{canonical:!0});return J({recoveryParam:t.recoveryParam,r:L("0x"+t.r.toString(16),32),s:L("0x"+t.s.toString(16),32)})}computeSharedSecret(e){const t=Qi().keyFromPrivate(A(this.privateKey)),r=Qi().keyFromPublic(A(Wi(e)));return L("0x"+t.derive(r.getPublic()).toString(16),32)}static isSigningKey(e){return!(!e||!e._isSigningKey)}}function Yi(e,t){const r=J(t),n={r:A(r.r),s:A(r.s)};return"0x"+Qi().recoverPubKey(A(e),n,r.recoveryParam).encode("hex",!1)}function Wi(e,t){const r=A(e);if(32===r.length){const e=new qi(r);return t?"0x"+Qi().keyFromPrivate(r).getPublic(!0,"hex"):e.publicKey}return 33===r.length?t?F(r):"0x"+Qi().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+Qi().keyFromPublic(r).getPublic(!0,"hex"):F(r):ji.throwArgumentError("invalid public or private key","key","[REDACTED]")}const $i=new m("transactions/5.0.1");function eo(e){return"0x"===e?mt:_.from(e)}const to=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],ro={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function no(e){return We(C(_e(C(Wi(e),1)),12))}function io(e,t){return no(Yi(A(e),t))}function oo(e,t){ie(e,ro);const r=[];to.forEach((function(t){let n=e[t.name]||[];const i={};t.numeric&&(i.hexPad="left"),n=A(F(n,i)),t.length&&n.length!==t.length&&n.length>0&&$i.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),t.maxLength&&(n=S(n),n.length>t.maxLength&&$i.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n)),r.push(F(n))}));let n=0;if(null!=e.chainId?(n=e.chainId,"number"!=typeof n&&$i.throwArgumentError("invalid transaction.chainId","transaction",e)):t&&!y(t)&&t.v>28&&(n=Math.floor((t.v-35)/2)),0!==n&&(r.push(F(n)),r.push("0x"),r.push("0x")),!t)return He(r);const i=J(t);let o=27+i.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),o+=2*n+8,i.v>28&&i.v!==o&&$i.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):i.v!==o&&$i.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),r.push(F(o)),r.push(S(A(i.r))),r.push(S(A(i.s))),He(r)}function ao(e){const t=ze(e);9!==t.length&&6!==t.length&&$i.throwArgumentError("invalid raw transaction","rawTransaction",e);const r={nonce:eo(t[0]).toNumber(),gasPrice:eo(t[1]),gasLimit:eo(t[2]),to:(n=t[3],"0x"===n?null:We(n)),value:eo(t[4]),data:t[5],chainId:0};var n;if(6===t.length)return r;try{r.v=_.from(t[6]).toNumber()}catch(e){return console.log(e),r}if(r.r=L(t[7],32),r.s=L(t[8],32),_.from(r.r).isZero()&&_.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const i=t.slice(0,6);0!==r.chainId&&(i.push(F(r.chainId)),i.push("0x"),i.push("0x"),n-=2*r.chainId+8);const o=_e(He(i));try{r.from=io(o,{r:F(r.r),s:F(r.s),recoveryParam:n})}catch(e){console.log(e)}r.hash=_e(e)}return r}const so=new m("wordlists/5.0.1");class lo{constructor(e){so.checkAbstract(new.target,lo),te(this,"locale",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(" ")}static check(e){const t=[];for(let r=0;r<2048;r++){const n=e.getWord(r);if(r!==e.getWordIndex(n))return"0x";t.push(n)}return er(t.join("\n")+"\n")}static register(e,t){t||(t=e.locale)}}let uo=null;function ho(e){if(null==uo&&(uo="AbdikaceAbecedaAdresaAgreseAkceAktovkaAlejAlkoholAmputaceAnanasAndulkaAnekdotaAnketaAntikaAnulovatArchaAroganceAsfaltAsistentAspiraceAstmaAstronomAtlasAtletikaAtolAutobusAzylBabkaBachorBacilBaculkaBadatelBagetaBagrBahnoBakterieBaladaBaletkaBalkonBalonekBalvanBalzaBambusBankomatBarbarBaretBarmanBarokoBarvaBaterkaBatohBavlnaBazalkaBazilikaBazukaBednaBeranBesedaBestieBetonBezinkaBezmocBeztakBicyklBidloBiftekBikinyBilanceBiografBiologBitvaBizonBlahobytBlatouchBlechaBleduleBleskBlikatBliznaBlokovatBlouditBludBobekBobrBodlinaBodnoutBohatostBojkotBojovatBokorysBolestBorecBoroviceBotaBoubelBouchatBoudaBouleBouratBoxerBradavkaBramboraBrankaBratrBreptaBriketaBrkoBrlohBronzBroskevBrunetkaBrusinkaBrzdaBrzyBublinaBubnovatBuchtaBuditelBudkaBudovaBufetBujarostBukviceBuldokBulvaBundaBunkrBurzaButikBuvolBuzolaBydletBylinaBytovkaBzukotCapartCarevnaCedrCeduleCejchCejnCelaCelerCelkemCelniceCeninaCennostCenovkaCentrumCenzorCestopisCetkaChalupaChapadloCharitaChataChechtatChemieChichotChirurgChladChlebaChlubitChmelChmuraChobotChocholChodbaCholeraChomoutChopitChorobaChovChrapotChrlitChrtChrupChtivostChudinaChutnatChvatChvilkaChvostChybaChystatChytitCibuleCigaretaCihelnaCihlaCinkotCirkusCisternaCitaceCitrusCizinecCizostClonaCokolivCouvatCtitelCtnostCudnostCuketaCukrCupotCvaknoutCvalCvikCvrkotCyklistaDalekoDarebaDatelDatumDceraDebataDechovkaDecibelDeficitDeflaceDeklDekretDemokratDepreseDerbyDeskaDetektivDikobrazDiktovatDiodaDiplomDiskDisplejDivadloDivochDlahaDlouhoDluhopisDnesDobroDobytekDocentDochutitDodnesDohledDohodaDohraDojemDojniceDokladDokolaDoktorDokumentDolarDolevaDolinaDomaDominantDomluvitDomovDonutitDopadDopisDoplnitDoposudDoprovodDopustitDorazitDorostDortDosahDoslovDostatekDosudDosytaDotazDotekDotknoutDoufatDoutnatDovozceDozaduDoznatDozorceDrahotaDrakDramatikDravecDrazeDrdolDrobnostDrogerieDrozdDrsnostDrtitDrzostDubenDuchovnoDudekDuhaDuhovkaDusitDusnoDutostDvojiceDvorecDynamitEkologEkonomieElektronElipsaEmailEmiseEmoceEmpatieEpizodaEpochaEpopejEposEsejEsenceEskortaEskymoEtiketaEuforieEvoluceExekuceExkurzeExpediceExplozeExportExtraktFackaFajfkaFakultaFanatikFantazieFarmacieFavoritFazoleFederaceFejetonFenkaFialkaFigurantFilozofFiltrFinanceFintaFixaceFjordFlanelFlirtFlotilaFondFosforFotbalFotkaFotonFrakceFreskaFrontaFukarFunkceFyzikaGalejeGarantGenetikaGeologGilotinaGlazuraGlejtGolemGolfistaGotikaGrafGramofonGranuleGrepGrilGrogGroteskaGumaHadiceHadrHalaHalenkaHanbaHanopisHarfaHarpunaHavranHebkostHejkalHejnoHejtmanHektarHelmaHematomHerecHernaHesloHezkyHistorikHladovkaHlasivkyHlavaHledatHlenHlodavecHlohHloupostHltatHlubinaHluchotaHmatHmotaHmyzHnisHnojivoHnoutHoblinaHobojHochHodinyHodlatHodnotaHodovatHojnostHokejHolinkaHolkaHolubHomoleHonitbaHonoraceHoralHordaHorizontHorkoHorlivecHormonHorninaHoroskopHorstvoHospodaHostinaHotovostHoubaHoufHoupatHouskaHovorHradbaHraniceHravostHrazdaHrbolekHrdinaHrdloHrdostHrnekHrobkaHromadaHrotHroudaHrozenHrstkaHrubostHryzatHubenostHubnoutHudbaHukotHumrHusitaHustotaHvozdHybnostHydrantHygienaHymnaHysterikIdylkaIhnedIkonaIluzeImunitaInfekceInflaceInkasoInovaceInspekceInternetInvalidaInvestorInzerceIronieJablkoJachtaJahodaJakmileJakostJalovecJantarJarmarkJaroJasanJasnoJatkaJavorJazykJedinecJedleJednatelJehlanJekotJelenJelitoJemnostJenomJepiceJeseterJevitJezdecJezeroJinakJindyJinochJiskraJistotaJitrniceJizvaJmenovatJogurtJurtaKabaretKabelKabinetKachnaKadetKadidloKahanKajakKajutaKakaoKaktusKalamitaKalhotyKalibrKalnostKameraKamkolivKamnaKanibalKanoeKantorKapalinaKapelaKapitolaKapkaKapleKapotaKaprKapustaKapybaraKaramelKarotkaKartonKasaKatalogKatedraKauceKauzaKavalecKazajkaKazetaKazivostKdekolivKdesiKedlubenKempKeramikaKinoKlacekKladivoKlamKlapotKlasikaKlaunKlecKlenbaKlepatKlesnoutKlidKlimaKlisnaKloboukKlokanKlopaKloubKlubovnaKlusatKluzkostKmenKmitatKmotrKnihaKnotKoaliceKoberecKobkaKoblihaKobylaKocourKohoutKojenecKokosKoktejlKolapsKoledaKolizeKoloKomandoKometaKomikKomnataKomoraKompasKomunitaKonatKonceptKondiceKonecKonfeseKongresKoninaKonkursKontaktKonzervaKopanecKopieKopnoutKoprovkaKorbelKorektorKormidloKoroptevKorpusKorunaKorytoKorzetKosatecKostkaKotelKotletaKotoulKoukatKoupelnaKousekKouzloKovbojKozaKozorohKrabiceKrachKrajinaKralovatKrasopisKravataKreditKrejcarKresbaKrevetaKriketKritikKrizeKrkavecKrmelecKrmivoKrocanKrokKronikaKropitKroupaKrovkaKrtekKruhadloKrupiceKrutostKrvinkaKrychleKryptaKrystalKrytKudlankaKufrKujnostKuklaKulajdaKulichKulkaKulometKulturaKunaKupodivuKurtKurzorKutilKvalitaKvasinkaKvestorKynologKyselinaKytaraKyticeKytkaKytovecKyvadloLabradorLachtanLadnostLaikLakomecLamelaLampaLanovkaLasiceLasoLasturaLatinkaLavinaLebkaLeckdyLedenLedniceLedovkaLedvinaLegendaLegieLegraceLehceLehkostLehnoutLektvarLenochodLentilkaLepenkaLepidloLetadloLetecLetmoLetokruhLevhartLevitaceLevobokLibraLichotkaLidojedLidskostLihovinaLijavecLilekLimetkaLinieLinkaLinoleumListopadLitinaLitovatLobistaLodivodLogikaLogopedLokalitaLoketLomcovatLopataLopuchLordLososLotrLoudalLouhLoukaLouskatLovecLstivostLucernaLuciferLumpLuskLustraceLviceLyraLyrikaLysinaMadamMadloMagistrMahagonMajetekMajitelMajoritaMakakMakoviceMakrelaMalbaMalinaMalovatMalviceMaminkaMandleMankoMarnostMasakrMaskotMasopustMaticeMatrikaMaturitaMazanecMazivoMazlitMazurkaMdlobaMechanikMeditaceMedovinaMelasaMelounMentolkaMetlaMetodaMetrMezeraMigraceMihnoutMihuleMikinaMikrofonMilenecMilimetrMilostMimikaMincovnaMinibarMinometMinulostMiskaMistrMixovatMladostMlhaMlhovinaMlokMlsatMluvitMnichMnohemMobilMocnostModelkaModlitbaMohylaMokroMolekulaMomentkaMonarchaMonoklMonstrumMontovatMonzunMosazMoskytMostMotivaceMotorkaMotykaMouchaMoudrostMozaikaMozekMozolMramorMravenecMrkevMrtvolaMrzetMrzutostMstitelMudrcMuflonMulatMumieMuniceMusetMutaceMuzeumMuzikantMyslivecMzdaNabouratNachytatNadaceNadbytekNadhozNadobroNadpisNahlasNahnatNahodileNahraditNaivitaNajednouNajistoNajmoutNaklonitNakonecNakrmitNalevoNamazatNamluvitNanometrNaokoNaopakNaostroNapadatNapevnoNaplnitNapnoutNaposledNaprostoNaroditNarubyNarychloNasaditNasekatNaslepoNastatNatolikNavenekNavrchNavzdoryNazvatNebeNechatNeckyNedalekoNedbatNeduhNegaceNehetNehodaNejenNejprveNeklidNelibostNemilostNemocNeochotaNeonkaNepokojNerostNervNesmyslNesouladNetvorNeuronNevinaNezvykleNicotaNijakNikamNikdyNiklNikterakNitroNoclehNohaviceNominaceNoraNorekNositelNosnostNouzeNovinyNovotaNozdraNudaNudleNugetNutitNutnostNutrieNymfaObalObarvitObavaObdivObecObehnatObejmoutObezitaObhajobaObilniceObjasnitObjektObklopitOblastOblekOblibaOblohaObludaObnosObohatitObojekOboutObrazecObrnaObrubaObrysObsahObsluhaObstaratObuvObvazObvinitObvodObvykleObyvatelObzorOcasOcelOcenitOchladitOchotaOchranaOcitnoutOdbojOdbytOdchodOdcizitOdebratOdeslatOdevzdatOdezvaOdhadceOdhoditOdjetOdjinudOdkazOdkoupitOdlivOdlukaOdmlkaOdolnostOdpadOdpisOdploutOdporOdpustitOdpykatOdrazkaOdsouditOdstupOdsunOdtokOdtudOdvahaOdvetaOdvolatOdvracetOdznakOfinaOfsajdOhlasOhniskoOhradaOhrozitOhryzekOkapOkeniceOklikaOknoOkouzlitOkovyOkrasaOkresOkrsekOkruhOkupantOkurkaOkusitOlejninaOlizovatOmakOmeletaOmezitOmladinaOmlouvatOmluvaOmylOnehdyOpakovatOpasekOperaceOpiceOpilostOpisovatOporaOpoziceOpravduOprotiOrbitalOrchestrOrgieOrliceOrlojOrtelOsadaOschnoutOsikaOsivoOslavaOslepitOslnitOslovitOsnovaOsobaOsolitOspalecOstenOstrahaOstudaOstychOsvojitOteplitOtiskOtopOtrhatOtrlostOtrokOtrubyOtvorOvanoutOvarOvesOvlivnitOvoceOxidOzdobaPachatelPacientPadouchPahorekPaktPalandaPalecPalivoPalubaPamfletPamlsekPanenkaPanikaPannaPanovatPanstvoPantoflePaprikaParketaParodiePartaParukaParybaPasekaPasivitaPastelkaPatentPatronaPavoukPaznehtPazourekPeckaPedagogPejsekPekloPelotonPenaltaPendrekPenzePeriskopPeroPestrostPetardaPeticePetrolejPevninaPexesoPianistaPihaPijavicePiklePiknikPilinaPilnostPilulkaPinzetaPipetaPisatelPistolePitevnaPivnicePivovarPlacentaPlakatPlamenPlanetaPlastikaPlatitPlavidloPlazPlechPlemenoPlentaPlesPletivoPlevelPlivatPlnitPlnoPlochaPlodinaPlombaPloutPlukPlynPobavitPobytPochodPocitPoctivecPodatPodcenitPodepsatPodhledPodivitPodkladPodmanitPodnikPodobaPodporaPodrazPodstataPodvodPodzimPoeziePohankaPohnutkaPohovorPohromaPohybPointaPojistkaPojmoutPokazitPoklesPokojPokrokPokutaPokynPolednePolibekPolknoutPolohaPolynomPomaluPominoutPomlkaPomocPomstaPomysletPonechatPonorkaPonurostPopadatPopelPopisekPoplachPoprositPopsatPopudPoradcePorcePorodPoruchaPoryvPosaditPosedPosilaPoskokPoslanecPosouditPospoluPostavaPosudekPosypPotahPotkanPotleskPotomekPotravaPotupaPotvoraPoukazPoutoPouzdroPovahaPovidlaPovlakPovozPovrchPovstatPovykPovzdechPozdravPozemekPoznatekPozorPozvatPracovatPrahoryPraktikaPralesPraotecPraporekPrasePravdaPrincipPrknoProbuditProcentoProdejProfeseProhraProjektProlomitPromilePronikatPropadProrokProsbaProtonProutekProvazPrskavkaPrstenPrudkostPrutPrvekPrvohoryPsanecPsovodPstruhPtactvoPubertaPuchPudlPukavecPuklinaPukrlePultPumpaPuncPupenPusaPusinkaPustinaPutovatPutykaPyramidaPyskPytelRacekRachotRadiaceRadniceRadonRaftRagbyRaketaRakovinaRamenoRampouchRandeRarachRaritaRasovnaRastrRatolestRazanceRazidloReagovatReakceReceptRedaktorReferentReflexRejnokReklamaRekordRekrutRektorReputaceRevizeRevmaRevolverRezervaRiskovatRizikoRobotikaRodokmenRohovkaRokleRokokoRomanetoRopovodRopuchaRorejsRosolRostlinaRotmistrRotopedRotundaRoubenkaRouchoRoupRouraRovinaRovniceRozborRozchodRozdatRozeznatRozhodceRozinkaRozjezdRozkazRozlohaRozmarRozpadRozruchRozsahRoztokRozumRozvodRubrikaRuchadloRukaviceRukopisRybaRybolovRychlostRydloRypadloRytinaRyzostSadistaSahatSakoSamecSamizdatSamotaSanitkaSardinkaSasankaSatelitSazbaSazeniceSborSchovatSebrankaSeceseSedadloSedimentSedloSehnatSejmoutSekeraSektaSekundaSekvojeSemenoSenoServisSesaditSeshoraSeskokSeslatSestraSesuvSesypatSetbaSetinaSetkatSetnoutSetrvatSeverSeznamShodaShrnoutSifonSilniceSirkaSirotekSirupSituaceSkafandrSkaliskoSkanzenSkautSkeptikSkicaSkladbaSkleniceSkloSkluzSkobaSkokanSkoroSkriptaSkrzSkupinaSkvostSkvrnaSlabikaSladidloSlaninaSlastSlavnostSledovatSlepecSlevaSlezinaSlibSlinaSlizniceSlonSloupekSlovoSluchSluhaSlunceSlupkaSlzaSmaragdSmetanaSmilstvoSmlouvaSmogSmradSmrkSmrtkaSmutekSmyslSnadSnahaSnobSobotaSochaSodovkaSokolSopkaSotvaSoubojSoucitSoudceSouhlasSouladSoumrakSoupravaSousedSoutokSouvisetSpalovnaSpasitelSpisSplavSpodekSpojenecSpoluSponzorSpornostSpoustaSprchaSpustitSrandaSrazSrdceSrnaSrnecSrovnatSrpenSrstSrubStaniceStarostaStatikaStavbaStehnoStezkaStodolaStolekStopaStornoStoupatStrachStresStrhnoutStromStrunaStudnaStupniceStvolStykSubjektSubtropySucharSudostSuknoSundatSunoutSurikataSurovinaSvahSvalstvoSvetrSvatbaSvazekSvisleSvitekSvobodaSvodidloSvorkaSvrabSykavkaSykotSynekSynovecSypatSypkostSyrovostSyselSytostTabletkaTabuleTahounTajemnoTajfunTajgaTajitTajnostTaktikaTamhleTamponTancovatTanecTankerTapetaTaveninaTazatelTechnikaTehdyTekutinaTelefonTemnotaTendenceTenistaTenorTeplotaTepnaTeprveTerapieTermoskaTextilTichoTiskopisTitulekTkadlecTkaninaTlapkaTleskatTlukotTlupaTmelToaletaTopinkaTopolTorzoTouhaToulecTradiceTraktorTrampTrasaTraverzaTrefitTrestTrezorTrhavinaTrhlinaTrochuTrojiceTroskaTroubaTrpceTrpitelTrpkostTrubecTruchlitTruhliceTrusTrvatTudyTuhnoutTuhostTundraTuristaTurnajTuzemskoTvarohTvorbaTvrdostTvrzTygrTykevUbohostUbozeUbratUbrousekUbrusUbytovnaUchoUctivostUdivitUhraditUjednatUjistitUjmoutUkazatelUklidnitUklonitUkotvitUkrojitUliceUlitaUlovitUmyvadloUnavitUniformaUniknoutUpadnoutUplatnitUplynoutUpoutatUpravitUranUrazitUsednoutUsilovatUsmrtitUsnadnitUsnoutUsouditUstlatUstrnoutUtahovatUtkatUtlumitUtonoutUtopenecUtrousitUvalitUvolnitUvozovkaUzdravitUzelUzeninaUzlinaUznatVagonValchaValounVanaVandalVanilkaVaranVarhanyVarovatVcelkuVchodVdovaVedroVegetaceVejceVelbloudVeletrhVelitelVelmocVelrybaVenkovVerandaVerzeVeselkaVeskrzeVesniceVespoduVestaVeterinaVeverkaVibraceVichrVideohraVidinaVidleVilaViniceVisetVitalitaVizeVizitkaVjezdVkladVkusVlajkaVlakVlasecVlevoVlhkostVlivVlnovkaVloupatVnucovatVnukVodaVodivostVodoznakVodstvoVojenskyVojnaVojskoVolantVolbaVolitVolnoVoskovkaVozidloVozovnaVpravoVrabecVracetVrahVrataVrbaVrcholekVrhatVrstvaVrtuleVsaditVstoupitVstupVtipVybavitVybratVychovatVydatVydraVyfotitVyhledatVyhnoutVyhoditVyhraditVyhubitVyjasnitVyjetVyjmoutVyklopitVykonatVylekatVymazatVymezitVymizetVymysletVynechatVynikatVynutitVypadatVyplatitVypravitVypustitVyrazitVyrovnatVyrvatVyslovitVysokoVystavitVysunoutVysypatVytasitVytesatVytratitVyvinoutVyvolatVyvrhelVyzdobitVyznatVzaduVzbuditVzchopitVzdorVzduchVzdychatVzestupVzhledemVzkazVzlykatVznikVzorekVzpouraVztahVztekXylofonZabratZabydletZachovatZadarmoZadusitZafoukatZahltitZahoditZahradaZahynoutZajatecZajetZajistitZaklepatZakoupitZalepitZamezitZamotatZamysletZanechatZanikatZaplatitZapojitZapsatZarazitZastavitZasunoutZatajitZatemnitZatknoutZaujmoutZavalitZaveletZavinitZavolatZavrtatZazvonitZbavitZbrusuZbudovatZbytekZdalekaZdarmaZdatnostZdivoZdobitZdrojZdvihZdymadloZeleninaZemanZeminaZeptatZezaduZezdolaZhatitZhltnoutZhlubokaZhotovitZhrubaZimaZimniceZjemnitZklamatZkoumatZkratkaZkumavkaZlatoZlehkaZlobaZlomZlostZlozvykZmapovatZmarZmatekZmijeZmizetZmocnitZmodratZmrzlinaZmutovatZnakZnalostZnamenatZnovuZobrazitZotavitZoubekZoufaleZploditZpomalitZpravaZprostitZprudkaZprvuZradaZranitZrcadloZrnitostZrnoZrovnaZrychlitZrzavostZtichaZtratitZubovinaZubrZvednoutZvenkuZveselaZvonZvratZvukovodZvyk".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a"!==lo.check(e)))throw uo=null,new Error("BIP39 Wordlist for en (English) FAILED")}const co=new class extends lo{constructor(){super("cz")}getWord(e){return ho(this),uo[e]}getWordIndex(e){return ho(this),uo.indexOf(e)}};lo.register(co);let fo=null;function mo(e){if(null==fo&&(fo="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==lo.check(e)))throw fo=null,new Error("BIP39 Wordlist for en (English) FAILED")}const po=new class extends lo{constructor(){super("en")}getWord(e){return mo(this),fo[e]}getWordIndex(e){return mo(this),fo.indexOf(e)}};lo.register(po);const go={};let vo=null;function bo(e){return so.checkNormalize(),Pt(Array.prototype.filter.call(kt(e.normalize("NFD").toLowerCase()),e=>e>=65&&e<=90||e>=97&&e<=123))}function yo(e){if(null==vo&&(vo="A/bacoAbdomenAbejaAbiertoAbogadoAbonoAbortoAbrazoAbrirAbueloAbusoAcabarAcademiaAccesoAccio/nAceiteAcelgaAcentoAceptarA/cidoAclararAcne/AcogerAcosoActivoActoActrizActuarAcudirAcuerdoAcusarAdictoAdmitirAdoptarAdornoAduanaAdultoAe/reoAfectarAficio/nAfinarAfirmarA/gilAgitarAgoni/aAgostoAgotarAgregarAgrioAguaAgudoA/guilaAgujaAhogoAhorroAireAislarAjedrezAjenoAjusteAlacra/nAlambreAlarmaAlbaA/lbumAlcaldeAldeaAlegreAlejarAlertaAletaAlfilerAlgaAlgodo/nAliadoAlientoAlivioAlmaAlmejaAlmi/barAltarAltezaAltivoAltoAlturaAlumnoAlzarAmableAmanteAmapolaAmargoAmasarA/mbarA/mbitoAmenoAmigoAmistadAmorAmparoAmplioAnchoAncianoAnclaAndarAnde/nAnemiaA/nguloAnilloA/nimoAni/sAnotarAntenaAntiguoAntojoAnualAnularAnuncioA~adirA~ejoA~oApagarAparatoApetitoApioAplicarApodoAporteApoyoAprenderAprobarApuestaApuroAradoAra~aArarA/rbitroA/rbolArbustoArchivoArcoArderArdillaArduoA/reaA/ridoAriesArmoni/aArne/sAromaArpaArpo/nArregloArrozArrugaArteArtistaAsaAsadoAsaltoAscensoAsegurarAseoAsesorAsientoAsiloAsistirAsnoAsombroA/speroAstillaAstroAstutoAsumirAsuntoAtajoAtaqueAtarAtentoAteoA/ticoAtletaA/tomoAtraerAtrozAtu/nAudazAudioAugeAulaAumentoAusenteAutorAvalAvanceAvaroAveAvellanaAvenaAvestruzAvio/nAvisoAyerAyudaAyunoAzafra/nAzarAzoteAzu/carAzufreAzulBabaBaborBacheBahi/aBaileBajarBalanzaBalco/nBaldeBambu/BancoBandaBa~oBarbaBarcoBarnizBarroBa/sculaBasto/nBasuraBatallaBateri/aBatirBatutaBau/lBazarBebe/BebidaBelloBesarBesoBestiaBichoBienBingoBlancoBloqueBlusaBoaBobinaBoboBocaBocinaBodaBodegaBoinaBolaBoleroBolsaBombaBondadBonitoBonoBonsa/iBordeBorrarBosqueBoteBoti/nBo/vedaBozalBravoBrazoBrechaBreveBrilloBrincoBrisaBrocaBromaBronceBroteBrujaBruscoBrutoBuceoBucleBuenoBueyBufandaBufo/nBu/hoBuitreBultoBurbujaBurlaBurroBuscarButacaBuzo/nCaballoCabezaCabinaCabraCacaoCada/verCadenaCaerCafe/Cai/daCaima/nCajaCajo/nCalCalamarCalcioCaldoCalidadCalleCalmaCalorCalvoCamaCambioCamelloCaminoCampoCa/ncerCandilCanelaCanguroCanicaCantoCa~aCa~o/nCaobaCaosCapazCapita/nCapoteCaptarCapuchaCaraCarbo/nCa/rcelCaretaCargaCari~oCarneCarpetaCarroCartaCasaCascoCaseroCaspaCastorCatorceCatreCaudalCausaCazoCebollaCederCedroCeldaCe/lebreCelosoCe/lulaCementoCenizaCentroCercaCerdoCerezaCeroCerrarCertezaCe/spedCetroChacalChalecoChampu/ChanclaChapaCharlaChicoChisteChivoChoqueChozaChuletaChuparCiclo/nCiegoCieloCienCiertoCifraCigarroCimaCincoCineCintaCipre/sCircoCiruelaCisneCitaCiudadClamorClanClaroClaseClaveClienteClimaCli/nicaCobreCoccio/nCochinoCocinaCocoCo/digoCodoCofreCogerCoheteCoji/nCojoColaColchaColegioColgarColinaCollarColmoColumnaCombateComerComidaCo/modoCompraCondeConejoCongaConocerConsejoContarCopaCopiaCorazo/nCorbataCorchoCordo/nCoronaCorrerCoserCosmosCostaCra/neoCra/terCrearCrecerCrei/doCremaCri/aCrimenCriptaCrisisCromoCro/nicaCroquetaCrudoCruzCuadroCuartoCuatroCuboCubrirCucharaCuelloCuentoCuerdaCuestaCuevaCuidarCulebraCulpaCultoCumbreCumplirCunaCunetaCuotaCupo/nCu/pulaCurarCuriosoCursoCurvaCutisDamaDanzaDarDardoDa/tilDeberDe/bilDe/cadaDecirDedoDefensaDefinirDejarDelfi/nDelgadoDelitoDemoraDensoDentalDeporteDerechoDerrotaDesayunoDeseoDesfileDesnudoDestinoDesvi/oDetalleDetenerDeudaDi/aDiabloDiademaDiamanteDianaDiarioDibujoDictarDienteDietaDiezDifi/cilDignoDilemaDiluirDineroDirectoDirigirDiscoDise~oDisfrazDivaDivinoDobleDoceDolorDomingoDonDonarDoradoDormirDorsoDosDosisDrago/nDrogaDuchaDudaDueloDue~oDulceDu/oDuqueDurarDurezaDuroE/banoEbrioEcharEcoEcuadorEdadEdicio/nEdificioEditorEducarEfectoEficazEjeEjemploElefanteElegirElementoElevarElipseE/liteElixirElogioEludirEmbudoEmitirEmocio/nEmpateEmpe~oEmpleoEmpresaEnanoEncargoEnchufeEnci/aEnemigoEneroEnfadoEnfermoEnga~oEnigmaEnlaceEnormeEnredoEnsayoEnse~arEnteroEntrarEnvaseEnvi/oE/pocaEquipoErizoEscalaEscenaEscolarEscribirEscudoEsenciaEsferaEsfuerzoEspadaEspejoEspi/aEsposaEspumaEsqui/EstarEsteEstiloEstufaEtapaEternoE/ticaEtniaEvadirEvaluarEventoEvitarExactoExamenExcesoExcusaExentoExigirExilioExistirE/xitoExpertoExplicarExponerExtremoFa/bricaFa/bulaFachadaFa/cilFactorFaenaFajaFaldaFalloFalsoFaltarFamaFamiliaFamosoFarao/nFarmaciaFarolFarsaFaseFatigaFaunaFavorFaxFebreroFechaFelizFeoFeriaFerozFe/rtilFervorFesti/nFiableFianzaFiarFibraFiccio/nFichaFideoFiebreFielFieraFiestaFiguraFijarFijoFilaFileteFilialFiltroFinFincaFingirFinitoFirmaFlacoFlautaFlechaFlorFlotaFluirFlujoFlu/orFobiaFocaFogataFogo/nFolioFolletoFondoFormaForroFortunaForzarFosaFotoFracasoFra/gilFranjaFraseFraudeFrei/rFrenoFresaFri/oFritoFrutaFuegoFuenteFuerzaFugaFumarFuncio/nFundaFurgo/nFuriaFusilFu/tbolFuturoGacelaGafasGaitaGajoGalaGaleri/aGalloGambaGanarGanchoGangaGansoGarajeGarzaGasolinaGastarGatoGavila/nGemeloGemirGenGe/neroGenioGenteGeranioGerenteGermenGestoGiganteGimnasioGirarGiroGlaciarGloboGloriaGolGolfoGolosoGolpeGomaGordoGorilaGorraGotaGoteoGozarGradaGra/ficoGranoGrasaGratisGraveGrietaGrilloGripeGrisGritoGrosorGru/aGruesoGrumoGrupoGuanteGuapoGuardiaGuerraGui/aGui~oGuionGuisoGuitarraGusanoGustarHaberHa/bilHablarHacerHachaHadaHallarHamacaHarinaHazHaza~aHebillaHebraHechoHeladoHelioHembraHerirHermanoHe/roeHervirHieloHierroHi/gadoHigieneHijoHimnoHistoriaHocicoHogarHogueraHojaHombreHongoHonorHonraHoraHormigaHornoHostilHoyoHuecoHuelgaHuertaHuesoHuevoHuidaHuirHumanoHu/medoHumildeHumoHundirHuraca/nHurtoIconoIdealIdiomaI/doloIglesiaIglu/IgualIlegalIlusio/nImagenIma/nImitarImparImperioImponerImpulsoIncapazI/ndiceInerteInfielInformeIngenioInicioInmensoInmuneInnatoInsectoInstanteIntere/sI/ntimoIntuirInu/tilInviernoIraIrisIroni/aIslaIsloteJabali/Jabo/nJamo/nJarabeJardi/nJarraJaulaJazmi/nJefeJeringaJineteJornadaJorobaJovenJoyaJuergaJuevesJuezJugadorJugoJugueteJuicioJuncoJunglaJunioJuntarJu/piterJurarJustoJuvenilJuzgarKiloKoalaLabioLacioLacraLadoLadro/nLagartoLa/grimaLagunaLaicoLamerLa/minaLa/mparaLanaLanchaLangostaLanzaLa/pizLargoLarvaLa/stimaLataLa/texLatirLaurelLavarLazoLealLeccio/nLecheLectorLeerLegio/nLegumbreLejanoLenguaLentoLe~aLeo/nLeopardoLesio/nLetalLetraLeveLeyendaLibertadLibroLicorLi/derLidiarLienzoLigaLigeroLimaLi/miteLimo/nLimpioLinceLindoLi/neaLingoteLinoLinternaLi/quidoLisoListaLiteraLitioLitroLlagaLlamaLlantoLlaveLlegarLlenarLlevarLlorarLloverLluviaLoboLocio/nLocoLocuraLo/gicaLogroLombrizLomoLonjaLoteLuchaLucirLugarLujoLunaLunesLupaLustroLutoLuzMacetaMachoMaderaMadreMaduroMaestroMafiaMagiaMagoMai/zMaldadMaletaMallaMaloMama/MamboMamutMancoMandoManejarMangaManiqui/ManjarManoMansoMantaMa~anaMapaMa/quinaMarMarcoMareaMarfilMargenMaridoMa/rmolMarro/nMartesMarzoMasaMa/scaraMasivoMatarMateriaMatizMatrizMa/ximoMayorMazorcaMechaMedallaMedioMe/dulaMejillaMejorMelenaMelo/nMemoriaMenorMensajeMenteMenu/MercadoMerengueMe/ritoMesMeso/nMetaMeterMe/todoMetroMezclaMiedoMielMiembroMigaMilMilagroMilitarMillo/nMimoMinaMineroMi/nimoMinutoMiopeMirarMisaMiseriaMisilMismoMitadMitoMochilaMocio/nModaModeloMohoMojarMoldeMolerMolinoMomentoMomiaMonarcaMonedaMonjaMontoMo~oMoradaMorderMorenoMorirMorroMorsaMortalMoscaMostrarMotivoMoverMo/vilMozoMuchoMudarMuebleMuelaMuerteMuestraMugreMujerMulaMuletaMultaMundoMu~ecaMuralMuroMu/sculoMuseoMusgoMu/sicaMusloNa/carNacio/nNadarNaipeNaranjaNarizNarrarNasalNatalNativoNaturalNa/useaNavalNaveNavidadNecioNe/ctarNegarNegocioNegroNeo/nNervioNetoNeutroNevarNeveraNichoNidoNieblaNietoNi~ezNi~oNi/tidoNivelNoblezaNocheNo/minaNoriaNormaNorteNotaNoticiaNovatoNovelaNovioNubeNucaNu/cleoNudilloNudoNueraNueveNuezNuloNu/meroNutriaOasisObesoObispoObjetoObraObreroObservarObtenerObvioOcaOcasoOce/anoOchentaOchoOcioOcreOctavoOctubreOcultoOcuparOcurrirOdiarOdioOdiseaOesteOfensaOfertaOficioOfrecerOgroOi/doOi/rOjoOlaOleadaOlfatoOlivoOllaOlmoOlorOlvidoOmbligoOndaOnzaOpacoOpcio/nO/peraOpinarOponerOptarO/pticaOpuestoOracio/nOradorOralO/rbitaOrcaOrdenOrejaO/rganoOrgi/aOrgulloOrienteOrigenOrillaOroOrquestaOrugaOsadi/aOscuroOseznoOsoOstraOto~oOtroOvejaO/vuloO/xidoOxi/genoOyenteOzonoPactoPadrePaellaPa/ginaPagoPai/sPa/jaroPalabraPalcoPaletaPa/lidoPalmaPalomaPalparPanPanalPa/nicoPanteraPa~ueloPapa/PapelPapillaPaquetePararParcelaParedParirParoPa/rpadoParquePa/rrafoPartePasarPaseoPasio/nPasoPastaPataPatioPatriaPausaPautaPavoPayasoPeato/nPecadoPeceraPechoPedalPedirPegarPeinePelarPelda~oPeleaPeligroPellejoPeloPelucaPenaPensarPe~o/nPeo/nPeorPepinoPeque~oPeraPerchaPerderPerezaPerfilPericoPerlaPermisoPerroPersonaPesaPescaPe/simoPesta~aPe/taloPetro/leoPezPezu~aPicarPicho/nPiePiedraPiernaPiezaPijamaPilarPilotoPimientaPinoPintorPinzaPi~aPiojoPipaPirataPisarPiscinaPisoPistaPito/nPizcaPlacaPlanPlataPlayaPlazaPleitoPlenoPlomoPlumaPluralPobrePocoPoderPodioPoemaPoesi/aPoetaPolenPolici/aPolloPolvoPomadaPomeloPomoPompaPonerPorcio/nPortalPosadaPoseerPosiblePostePotenciaPotroPozoPradoPrecozPreguntaPremioPrensaPresoPrevioPrimoPri/ncipePrisio/nPrivarProaProbarProcesoProductoProezaProfesorProgramaProlePromesaProntoPropioPro/ximoPruebaPu/blicoPucheroPudorPuebloPuertaPuestoPulgaPulirPulmo/nPulpoPulsoPumaPuntoPu~alPu~oPupaPupilaPure/QuedarQuejaQuemarQuererQuesoQuietoQui/micaQuinceQuitarRa/banoRabiaRaboRacio/nRadicalRai/zRamaRampaRanchoRangoRapazRa/pidoRaptoRasgoRaspaRatoRayoRazaRazo/nReaccio/nRealidadReba~oReboteRecaerRecetaRechazoRecogerRecreoRectoRecursoRedRedondoReducirReflejoReformaRefra/nRefugioRegaloRegirReglaRegresoRehe/nReinoRei/rRejaRelatoRelevoRelieveRellenoRelojRemarRemedioRemoRencorRendirRentaRepartoRepetirReposoReptilResRescateResinaRespetoRestoResumenRetiroRetornoRetratoReunirReve/sRevistaReyRezarRicoRiegoRiendaRiesgoRifaRi/gidoRigorRinco/nRi~o/nRi/oRiquezaRisaRitmoRitoRizoRobleRoceRociarRodarRodeoRodillaRoerRojizoRojoRomeroRomperRonRoncoRondaRopaRoperoRosaRoscaRostroRotarRubi/RuborRudoRuedaRugirRuidoRuinaRuletaRuloRumboRumorRupturaRutaRutinaSa/badoSaberSabioSableSacarSagazSagradoSalaSaldoSaleroSalirSalmo/nSalo/nSalsaSaltoSaludSalvarSambaSancio/nSandi/aSanearSangreSanidadSanoSantoSapoSaqueSardinaSarte/nSastreSata/nSaunaSaxofo/nSeccio/nSecoSecretoSectaSedSeguirSeisSelloSelvaSemanaSemillaSendaSensorSe~alSe~orSepararSepiaSequi/aSerSerieSermo/nServirSesentaSesio/nSetaSetentaSeveroSexoSextoSidraSiestaSieteSigloSignoSi/labaSilbarSilencioSillaSi/mboloSimioSirenaSistemaSitioSituarSobreSocioSodioSolSolapaSoldadoSoledadSo/lidoSoltarSolucio/nSombraSondeoSonidoSonoroSonrisaSopaSoplarSoporteSordoSorpresaSorteoSoste/nSo/tanoSuaveSubirSucesoSudorSuegraSueloSue~oSuerteSufrirSujetoSulta/nSumarSuperarSuplirSuponerSupremoSurSurcoSure~oSurgirSustoSutilTabacoTabiqueTablaTabu/TacoTactoTajoTalarTalcoTalentoTallaTalo/nTama~oTamborTangoTanqueTapaTapeteTapiaTapo/nTaquillaTardeTareaTarifaTarjetaTarotTarroTartaTatuajeTauroTazaTazo/nTeatroTechoTeclaTe/cnicaTejadoTejerTejidoTelaTele/fonoTemaTemorTemploTenazTenderTenerTenisTensoTeori/aTerapiaTercoTe/rminoTernuraTerrorTesisTesoroTestigoTeteraTextoTezTibioTiburo/nTiempoTiendaTierraTiesoTigreTijeraTildeTimbreTi/midoTimoTintaTi/oTi/picoTipoTiraTiro/nTita/nTi/tereTi/tuloTizaToallaTobilloTocarTocinoTodoTogaToldoTomarTonoTontoToparTopeToqueTo/raxToreroTormentaTorneoToroTorpedoTorreTorsoTortugaTosToscoToserTo/xicoTrabajoTractorTraerTra/ficoTragoTrajeTramoTranceTratoTraumaTrazarTre/bolTreguaTreintaTrenTreparTresTribuTrigoTripaTristeTriunfoTrofeoTrompaTroncoTropaTroteTrozoTrucoTruenoTrufaTuberi/aTuboTuertoTumbaTumorTu/nelTu/nicaTurbinaTurismoTurnoTutorUbicarU/lceraUmbralUnidadUnirUniversoUnoUntarU~aUrbanoUrbeUrgenteUrnaUsarUsuarioU/tilUtopi/aUvaVacaVaci/oVacunaVagarVagoVainaVajillaValeVa/lidoValleValorVa/lvulaVampiroVaraVariarVaro/nVasoVecinoVectorVehi/culoVeinteVejezVelaVeleroVelozVenaVencerVendaVenenoVengarVenirVentaVenusVerVeranoVerboVerdeVeredaVerjaVersoVerterVi/aViajeVibrarVicioVi/ctimaVidaVi/deoVidrioViejoViernesVigorVilVillaVinagreVinoVi~edoVioli/nViralVirgoVirtudVisorVi/speraVistaVitaminaViudoVivazViveroVivirVivoVolca/nVolumenVolverVorazVotarVotoVozVueloVulgarYacerYateYeguaYemaYernoYesoYodoYogaYogurZafiroZanjaZapatoZarzaZonaZorroZumoZurdo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map(e=>function(e){const t=[];return Array.prototype.forEach.call(kt(e),e=>{47===e?(t.push(204),t.push(129)):126===e?(t.push(110),t.push(204),t.push(131)):t.push(e)}),Pt(t)}(e)),vo.forEach((e,t)=>{go[bo(e)]=t}),"0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300"!==lo.check(e)))throw vo=null,new Error("BIP39 Wordlist for es (Spanish) FAILED")}const Mo=new class extends lo{constructor(){super("es")}getWord(e){return yo(this),vo[e]}getWordIndex(e){yo(this);const t=go[bo(e)];return"number"!=typeof t?-1:t}};lo.register(Mo);let Ao=null;const wo={};function So(e){return so.checkNormalize(),Pt(Array.prototype.filter.call(kt(e.normalize("NFD").toLowerCase()),e=>e>=65&&e<=90||e>=97&&e<=123))}function To(e){if(null==Ao&&(Ao="AbaisserAbandonAbdiquerAbeilleAbolirAborderAboutirAboyerAbrasifAbreuverAbriterAbrogerAbruptAbsenceAbsoluAbsurdeAbusifAbyssalAcade/mieAcajouAcarienAccablerAccepterAcclamerAccoladeAccrocheAccuserAcerbeAchatAcheterAcidulerAcierAcompteAcque/rirAcronymeActeurActifActuelAdepteAde/quatAdhe/sifAdjectifAdjugerAdmettreAdmirerAdopterAdorerAdoucirAdresseAdroitAdulteAdverbeAe/rerAe/ronefAffaireAffecterAfficheAffreuxAffublerAgacerAgencerAgileAgiterAgraferAgre/ableAgrumeAiderAiguilleAilierAimableAisanceAjouterAjusterAlarmerAlchimieAlerteAlge-breAlgueAlie/nerAlimentAlle/gerAlliageAllouerAllumerAlourdirAlpagaAltesseAlve/oleAmateurAmbiguAmbreAme/nagerAmertumeAmidonAmiralAmorcerAmourAmovibleAmphibieAmpleurAmusantAnalyseAnaphoreAnarchieAnatomieAncienAne/antirAngleAngoisseAnguleuxAnimalAnnexerAnnonceAnnuelAnodinAnomalieAnonymeAnormalAntenneAntidoteAnxieuxApaiserApe/ritifAplanirApologieAppareilAppelerApporterAppuyerAquariumAqueducArbitreArbusteArdeurArdoiseArgentArlequinArmatureArmementArmoireArmureArpenterArracherArriverArroserArsenicArte/rielArticleAspectAsphalteAspirerAssautAsservirAssietteAssocierAssurerAsticotAstreAstuceAtelierAtomeAtriumAtroceAttaqueAttentifAttirerAttraperAubaineAubergeAudaceAudibleAugurerAuroreAutomneAutrucheAvalerAvancerAvariceAvenirAverseAveugleAviateurAvideAvionAviserAvoineAvouerAvrilAxialAxiomeBadgeBafouerBagageBaguetteBaignadeBalancerBalconBaleineBalisageBambinBancaireBandageBanlieueBannie-reBanquierBarbierBarilBaronBarqueBarrageBassinBastionBatailleBateauBatterieBaudrierBavarderBeletteBe/lierBeloteBe/ne/ficeBerceauBergerBerlineBermudaBesaceBesogneBe/tailBeurreBiberonBicycleBiduleBijouBilanBilingueBillardBinaireBiologieBiopsieBiotypeBiscuitBisonBistouriBitumeBizarreBlafardBlagueBlanchirBlessantBlinderBlondBloquerBlousonBobardBobineBoireBoiserBolideBonbonBondirBonheurBonifierBonusBordureBorneBotteBoucleBoueuxBougieBoulonBouquinBourseBoussoleBoutiqueBoxeurBrancheBrasierBraveBrebisBre-cheBreuvageBricolerBrigadeBrillantBriocheBriqueBrochureBroderBronzerBrousseBroyeurBrumeBrusqueBrutalBruyantBuffleBuissonBulletinBureauBurinBustierButinerButoirBuvableBuvetteCabanonCabineCachetteCadeauCadreCafe/ineCaillouCaissonCalculerCalepinCalibreCalmerCalomnieCalvaireCamaradeCame/raCamionCampagneCanalCanetonCanonCantineCanularCapableCaporalCapriceCapsuleCapterCapucheCarabineCarboneCaresserCaribouCarnageCarotteCarreauCartonCascadeCasierCasqueCassureCauserCautionCavalierCaverneCaviarCe/dilleCeintureCe/lesteCelluleCendrierCensurerCentralCercleCe/re/bralCeriseCernerCerveauCesserChagrinChaiseChaleurChambreChanceChapitreCharbonChasseurChatonChaussonChavirerChemiseChenilleChe/quierChercherChevalChienChiffreChignonChime-reChiotChlorureChocolatChoisirChoseChouetteChromeChuteCigareCigogneCimenterCine/maCintrerCirculerCirerCirqueCiterneCitoyenCitronCivilClaironClameurClaquerClasseClavierClientClignerClimatClivageClocheClonageCloporteCobaltCobraCocasseCocotierCoderCodifierCoffreCognerCohe/sionCoifferCoincerCole-reColibriCollineColmaterColonelCombatCome/dieCommandeCompactConcertConduireConfierCongelerConnoterConsonneContactConvexeCopainCopieCorailCorbeauCordageCornicheCorpusCorrectCorte-geCosmiqueCostumeCotonCoudeCoupureCourageCouteauCouvrirCoyoteCrabeCrainteCravateCrayonCre/atureCre/diterCre/meuxCreuserCrevetteCriblerCrierCristalCrite-reCroireCroquerCrotaleCrucialCruelCrypterCubiqueCueillirCuille-reCuisineCuivreCulminerCultiverCumulerCupideCuratifCurseurCyanureCycleCylindreCyniqueDaignerDamierDangerDanseurDauphinDe/battreDe/biterDe/borderDe/briderDe/butantDe/calerDe/cembreDe/chirerDe/ciderDe/clarerDe/corerDe/crireDe/cuplerDe/daleDe/ductifDe/esseDe/fensifDe/filerDe/frayerDe/gagerDe/givrerDe/glutirDe/graferDe/jeunerDe/liceDe/logerDemanderDemeurerDe/molirDe/nicherDe/nouerDentelleDe/nuderDe/partDe/penserDe/phaserDe/placerDe/poserDe/rangerDe/roberDe/sastreDescenteDe/sertDe/signerDe/sobe/irDessinerDestrierDe/tacherDe/testerDe/tourerDe/tresseDevancerDevenirDevinerDevoirDiableDialogueDiamantDicterDiffe/rerDige/rerDigitalDigneDiluerDimancheDiminuerDioxydeDirectifDirigerDiscuterDisposerDissiperDistanceDivertirDiviserDocileDocteurDogmeDoigtDomaineDomicileDompterDonateurDonjonDonnerDopamineDortoirDorureDosageDoseurDossierDotationDouanierDoubleDouceurDouterDoyenDragonDraperDresserDribblerDroitureDuperieDuplexeDurableDurcirDynastieE/blouirE/carterE/charpeE/chelleE/clairerE/clipseE/cloreE/cluseE/coleE/conomieE/corceE/couterE/craserE/cre/merE/crivainE/crouE/cumeE/cureuilE/difierE/duquerEffacerEffectifEffigieEffortEffrayerEffusionE/galiserE/garerE/jecterE/laborerE/largirE/lectronE/le/gantE/le/phantE/le-veE/ligibleE/litismeE/logeE/luciderE/luderEmballerEmbellirEmbryonE/meraudeE/missionEmmenerE/motionE/mouvoirEmpereurEmployerEmporterEmpriseE/mulsionEncadrerEnche-reEnclaveEncocheEndiguerEndosserEndroitEnduireE/nergieEnfanceEnfermerEnfouirEngagerEnginEngloberE/nigmeEnjamberEnjeuEnleverEnnemiEnnuyeuxEnrichirEnrobageEnseigneEntasserEntendreEntierEntourerEntraverE/nume/rerEnvahirEnviableEnvoyerEnzymeE/olienE/paissirE/pargneE/patantE/pauleE/picerieE/pide/mieE/pierE/pilogueE/pineE/pisodeE/pitapheE/poqueE/preuveE/prouverE/puisantE/querreE/quipeE/rigerE/rosionErreurE/ruptionEscalierEspadonEspe-ceEspie-gleEspoirEspritEsquiverEssayerEssenceEssieuEssorerEstimeEstomacEstradeE/tage-reE/talerE/tancheE/tatiqueE/teindreE/tendoirE/ternelE/thanolE/thiqueEthnieE/tirerE/tofferE/toileE/tonnantE/tourdirE/trangeE/troitE/tudeEuphorieE/valuerE/vasionE/ventailE/videnceE/viterE/volutifE/voquerExactExage/rerExaucerExcellerExcitantExclusifExcuseExe/cuterExempleExercerExhalerExhorterExigenceExilerExisterExotiqueExpe/dierExplorerExposerExprimerExquisExtensifExtraireExulterFableFabuleuxFacetteFacileFactureFaiblirFalaiseFameuxFamilleFarceurFarfeluFarineFaroucheFascinerFatalFatigueFauconFautifFaveurFavoriFe/brileFe/conderFe/de/rerFe/linFemmeFe/murFendoirFe/odalFermerFe/roceFerveurFestivalFeuilleFeutreFe/vrierFiascoFicelerFictifFide-leFigureFilatureFiletageFilie-reFilleulFilmerFilouFiltrerFinancerFinirFioleFirmeFissureFixerFlairerFlammeFlasqueFlatteurFle/auFle-cheFleurFlexionFloconFloreFluctuerFluideFluvialFolieFonderieFongibleFontaineForcerForgeronFormulerFortuneFossileFoudreFouge-reFouillerFoulureFourmiFragileFraiseFranchirFrapperFrayeurFre/gateFreinerFrelonFre/mirFre/ne/sieFre-reFriableFrictionFrissonFrivoleFroidFromageFrontalFrotterFruitFugitifFuiteFureurFurieuxFurtifFusionFuturGagnerGalaxieGalerieGambaderGarantirGardienGarnirGarrigueGazelleGazonGe/antGe/latineGe/luleGendarmeGe/ne/ralGe/nieGenouGentilGe/ologieGe/ome-treGe/raniumGermeGestuelGeyserGibierGiclerGirafeGivreGlaceGlaiveGlisserGlobeGloireGlorieuxGolfeurGommeGonflerGorgeGorilleGoudronGouffreGoulotGoupilleGourmandGoutteGraduelGraffitiGraineGrandGrappinGratuitGravirGrenatGriffureGrillerGrimperGrognerGronderGrotteGroupeGrugerGrutierGruye-reGue/pardGuerrierGuideGuimauveGuitareGustatifGymnasteGyrostatHabitudeHachoirHalteHameauHangarHannetonHaricotHarmonieHarponHasardHe/liumHe/matomeHerbeHe/rissonHermineHe/ronHe/siterHeureuxHibernerHibouHilarantHistoireHiverHomardHommageHomoge-neHonneurHonorerHonteuxHordeHorizonHorlogeHormoneHorribleHouleuxHousseHublotHuileuxHumainHumbleHumideHumourHurlerHydromelHygie-neHymneHypnoseIdylleIgnorerIguaneIlliciteIllusionImageImbiberImiterImmenseImmobileImmuableImpactImpe/rialImplorerImposerImprimerImputerIncarnerIncendieIncidentInclinerIncoloreIndexerIndiceInductifIne/ditIneptieInexactInfiniInfligerInformerInfusionInge/rerInhalerInhiberInjecterInjureInnocentInoculerInonderInscrireInsecteInsigneInsoliteInspirerInstinctInsulterIntactIntenseIntimeIntrigueIntuitifInutileInvasionInventerInviterInvoquerIroniqueIrradierIrre/elIrriterIsolerIvoireIvresseJaguarJaillirJambeJanvierJardinJaugerJauneJavelotJetableJetonJeudiJeunesseJoindreJoncherJonglerJoueurJouissifJournalJovialJoyauJoyeuxJubilerJugementJuniorJuponJuristeJusticeJuteuxJuve/nileKayakKimonoKiosqueLabelLabialLabourerLace/rerLactoseLaguneLaineLaisserLaitierLambeauLamelleLampeLanceurLangageLanterneLapinLargeurLarmeLaurierLavaboLavoirLectureLe/galLe/gerLe/gumeLessiveLettreLevierLexiqueLe/zardLiasseLibe/rerLibreLicenceLicorneLie-geLie-vreLigatureLigoterLigueLimerLimiteLimonadeLimpideLine/aireLingotLionceauLiquideLisie-reListerLithiumLitigeLittoralLivreurLogiqueLointainLoisirLombricLoterieLouerLourdLoutreLouveLoyalLubieLucideLucratifLueurLugubreLuisantLumie-reLunaireLundiLuronLutterLuxueuxMachineMagasinMagentaMagiqueMaigreMaillonMaintienMairieMaisonMajorerMalaxerMale/ficeMalheurMaliceMalletteMammouthMandaterManiableManquantManteauManuelMarathonMarbreMarchandMardiMaritimeMarqueurMarronMartelerMascotteMassifMate/rielMatie-reMatraqueMaudireMaussadeMauveMaximalMe/chantMe/connuMe/dailleMe/decinMe/diterMe/duseMeilleurMe/langeMe/lodieMembreMe/moireMenacerMenerMenhirMensongeMentorMercrediMe/riteMerleMessagerMesureMe/talMe/te/oreMe/thodeMe/tierMeubleMiaulerMicrobeMietteMignonMigrerMilieuMillionMimiqueMinceMine/ralMinimalMinorerMinuteMiracleMiroiterMissileMixteMobileModerneMoelleuxMondialMoniteurMonnaieMonotoneMonstreMontagneMonumentMoqueurMorceauMorsureMortierMoteurMotifMoucheMoufleMoulinMoussonMoutonMouvantMultipleMunitionMurailleMure-neMurmureMuscleMuse/umMusicienMutationMuterMutuelMyriadeMyrtilleMyste-reMythiqueNageurNappeNarquoisNarrerNatationNationNatureNaufrageNautiqueNavireNe/buleuxNectarNe/fasteNe/gationNe/gligerNe/gocierNeigeNerveuxNettoyerNeuroneNeutronNeveuNicheNickelNitrateNiveauNobleNocifNocturneNoirceurNoisetteNomadeNombreuxNommerNormatifNotableNotifierNotoireNourrirNouveauNovateurNovembreNoviceNuageNuancerNuireNuisibleNume/roNuptialNuqueNutritifObe/irObjectifObligerObscurObserverObstacleObtenirObturerOccasionOccuperOce/anOctobreOctroyerOctuplerOculaireOdeurOdorantOffenserOfficierOffrirOgiveOiseauOisillonOlfactifOlivierOmbrageOmettreOnctueuxOndulerOne/reuxOniriqueOpaleOpaqueOpe/rerOpinionOpportunOpprimerOpterOptiqueOrageuxOrangeOrbiteOrdonnerOreilleOrganeOrgueilOrificeOrnementOrqueOrtieOscillerOsmoseOssatureOtarieOuraganOursonOutilOutragerOuvrageOvationOxydeOxyge-neOzonePaisiblePalacePalmare-sPalourdePalperPanachePandaPangolinPaniquerPanneauPanoramaPantalonPapayePapierPapoterPapyrusParadoxeParcelleParesseParfumerParlerParoleParrainParsemerPartagerParureParvenirPassionPaste-quePaternelPatiencePatronPavillonPavoiserPayerPaysagePeignePeintrePelagePe/licanPellePelousePeluchePendulePe/ne/trerPe/niblePensifPe/nuriePe/pitePe/plumPerdrixPerforerPe/riodePermuterPerplexePersilPertePeserPe/talePetitPe/trirPeuplePharaonPhobiePhoquePhotonPhrasePhysiquePianoPicturalPie-cePierrePieuvrePilotePinceauPipettePiquerPiroguePiscinePistonPivoterPixelPizzaPlacardPlafondPlaisirPlanerPlaquePlastronPlateauPleurerPlexusPliagePlombPlongerPluiePlumagePochettePoe/siePoe-tePointePoirierPoissonPoivrePolairePolicierPollenPolygonePommadePompierPonctuelPonde/rerPoneyPortiquePositionPosse/derPosturePotagerPoteauPotionPoucePoulainPoumonPourprePoussinPouvoirPrairiePratiquePre/cieuxPre/direPre/fixePre/ludePre/nomPre/sencePre/textePre/voirPrimitifPrincePrisonPriverProble-meProce/derProdigeProfondProgre-sProieProjeterProloguePromenerPropreProspe-reProte/gerProuesseProverbePrudencePruneauPsychosePublicPuceronPuiserPulpePulsarPunaisePunitifPupitrePurifierPuzzlePyramideQuasarQuerelleQuestionQuie/tudeQuitterQuotientRacineRaconterRadieuxRagondinRaideurRaisinRalentirRallongeRamasserRapideRasageRatisserRavagerRavinRayonnerRe/actifRe/agirRe/aliserRe/animerRecevoirRe/citerRe/clamerRe/colterRecruterReculerRecyclerRe/digerRedouterRefaireRe/flexeRe/formerRefrainRefugeRe/galienRe/gionRe/glageRe/gulierRe/ite/rerRejeterRejouerRelatifReleverReliefRemarqueReme-deRemiseRemonterRemplirRemuerRenardRenfortReniflerRenoncerRentrerRenvoiReplierReporterRepriseReptileRequinRe/serveRe/sineuxRe/soudreRespectResterRe/sultatRe/tablirRetenirRe/ticuleRetomberRetracerRe/unionRe/ussirRevancheRevivreRe/volteRe/vulsifRichesseRideauRieurRigideRigolerRincerRiposterRisibleRisqueRituelRivalRivie-reRocheuxRomanceRompreRonceRondinRoseauRosierRotatifRotorRotuleRougeRouilleRouleauRoutineRoyaumeRubanRubisRucheRuelleRugueuxRuinerRuisseauRuserRustiqueRythmeSablerSaboterSabreSacocheSafariSagesseSaisirSaladeSaliveSalonSaluerSamediSanctionSanglierSarcasmeSardineSaturerSaugrenuSaumonSauterSauvageSavantSavonnerScalpelScandaleSce/le/ratSce/narioSceptreSche/maScienceScinderScoreScrutinSculpterSe/anceSe/cableSe/cherSecouerSe/cre/terSe/datifSe/duireSeigneurSe/jourSe/lectifSemaineSemblerSemenceSe/minalSe/nateurSensibleSentenceSe/parerSe/quenceSereinSergentSe/rieuxSerrureSe/rumServiceSe/sameSe/virSevrageSextupleSide/ralSie-cleSie/gerSifflerSigleSignalSilenceSiliciumSimpleSince-reSinistreSiphonSiropSismiqueSituerSkierSocialSocleSodiumSoigneuxSoldatSoleilSolitudeSolubleSombreSommeilSomnolerSondeSongeurSonnetteSonoreSorcierSortirSosieSottiseSoucieuxSoudureSouffleSouleverSoupapeSourceSoutirerSouvenirSpacieuxSpatialSpe/cialSphe-reSpiralStableStationSternumStimulusStipulerStrictStudieuxStupeurStylisteSublimeSubstratSubtilSubvenirSucce-sSucreSuffixeSugge/rerSuiveurSulfateSuperbeSupplierSurfaceSuricateSurmenerSurpriseSursautSurvieSuspectSyllabeSymboleSyme/trieSynapseSyntaxeSyste-meTabacTablierTactileTaillerTalentTalismanTalonnerTambourTamiserTangibleTapisTaquinerTarderTarifTartineTasseTatamiTatouageTaupeTaureauTaxerTe/moinTemporelTenailleTendreTeneurTenirTensionTerminerTerneTerribleTe/tineTexteThe-meThe/orieThe/rapieThoraxTibiaTie-deTimideTirelireTiroirTissuTitaneTitreTituberTobogganTole/rantTomateToniqueTonneauToponymeTorcheTordreTornadeTorpilleTorrentTorseTortueTotemToucherTournageTousserToxineTractionTraficTragiqueTrahirTrainTrancherTravailTre-fleTremperTre/sorTreuilTriageTribunalTricoterTrilogieTriompheTriplerTriturerTrivialTromboneTroncTropicalTroupeauTuileTulipeTumulteTunnelTurbineTuteurTutoyerTuyauTympanTyphonTypiqueTyranUbuesqueUltimeUltrasonUnanimeUnifierUnionUniqueUnitaireUniversUraniumUrbainUrticantUsageUsineUsuelUsureUtileUtopieVacarmeVaccinVagabondVagueVaillantVaincreVaisseauValableValiseVallonValveVampireVanilleVapeurVarierVaseuxVassalVasteVecteurVedetteVe/ge/talVe/hiculeVeinardVe/loceVendrediVe/ne/rerVengerVenimeuxVentouseVerdureVe/rinVernirVerrouVerserVertuVestonVe/te/ranVe/tusteVexantVexerViaducViandeVictoireVidangeVide/oVignetteVigueurVilainVillageVinaigreViolonVipe-reVirementVirtuoseVirusVisageViseurVisionVisqueuxVisuelVitalVitesseViticoleVitrineVivaceVivipareVocationVoguerVoileVoisinVoitureVolailleVolcanVoltigerVolumeVoraceVortexVoterVouloirVoyageVoyelleWagonXe/nonYachtZe-breZe/nithZesteZoologie".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map(e=>function(e){const t=[];return Array.prototype.forEach.call(kt(e),e=>{47===e?(t.push(204),t.push(129)):45===e?(t.push(204),t.push(128)):t.push(e)}),Pt(t)}(e)),Ao.forEach((e,t)=>{wo[So(e)]=t}),"0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045"!==lo.check(e)))throw Ao=null,new Error("BIP39 Wordlist for fr (French) FAILED")}const Eo=new class extends lo{constructor(){super("fr")}getWord(e){return To(this),Ao[e]}getWordIndex(e){To(this);const t=wo[So(e)];return"number"!=typeof t?-1:t}};lo.register(Eo);const Fo=["AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR","ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR","AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm","ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC","BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD","QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD","IJBEJqXZJ"];let ko=null;function Co(e){return F(kt(e))}function Bo(e){if(null!==ko)return;ko=[];const t={};function r(e){let r="";for(let n=0;nt?1:0})),"0xe3818de38284e3818f"===Co(ko[442])&&"0xe3818de38283e3818f"===Co(ko[443])){const e=ko[442];ko[442]=ko[443],ko[443]=e}if("0xcb36b09e6baa935787fd762ce65e80b0c6a8dabdfbc3a7f86ac0e2c4fd111600"!==lo.check(e))throw ko=null,new Error("BIP39 Wordlist for ja (Japanese) FAILED")}const Po=new class extends lo{constructor(){super("ja")}getWord(e){return Bo(this),ko[e]}getWordIndex(e){return Bo(this),ko.indexOf(e)}split(e){return so.checkNormalize(),e.split(/(?:\u3000| )+/g)}join(e){return e.join(" ")}};lo.register(Po);const Lo=["OYAa","ATAZoATBl3ATCTrATCl8ATDloATGg3ATHT8ATJT8ATJl3ATLlvATLn4ATMT8ATMX8ATMboATMgoAToLbAToMTATrHgATvHnAT3AnAT3JbAT3MTAT8DbAT8JTAT8LmAT8MYAT8MbAT#LnAUHT8AUHZvAUJXrAUJX8AULnrAXJnvAXLUoAXLgvAXMn6AXRg3AXrMbAX3JTAX3QbAYLn3AZLgvAZrSUAZvAcAZ8AaAZ8AbAZ8AnAZ8HnAZ8LgAZ8MYAZ8MgAZ8OnAaAboAaDTrAaFTrAaJTrAaJboAaLVoAaMXvAaOl8AaSeoAbAUoAbAg8AbAl4AbGnrAbMT8AbMXrAbMn4AbQb8AbSV8AbvRlAb8AUAb8AnAb8HgAb8JTAb8NTAb8RbAcGboAcLnvAcMT8AcMX8AcSToAcrAaAcrFnAc8AbAc8MgAfGgrAfHboAfJnvAfLV8AfLkoAfMT8AfMnoAfQb8AfScrAfSgrAgAZ8AgFl3AgGX8AgHZvAgHgrAgJXoAgJX8AgJboAgLZoAgLn4AgOX8AgoATAgoAnAgoCUAgoJgAgoLXAgoMYAgoSeAgrDUAgrJTAhrFnAhrLjAhrQgAjAgoAjJnrAkMX8AkOnoAlCTvAlCV8AlClvAlFg4AlFl6AlFn3AloSnAlrAXAlrAfAlrFUAlrFbAlrGgAlrOXAlvKnAlvMTAl3AbAl3MnAnATrAnAcrAnCZ3AnCl8AnDg8AnFboAnFl3AnHX4AnHbrAnHgrAnIl3AnJgvAnLXoAnLX4AnLbrAnLgrAnLhrAnMXoAnMgrAnOn3AnSbrAnSeoAnvLnAn3OnCTGgvCTSlvCTvAUCTvKnCTvNTCT3CZCT3GUCT3MTCT8HnCUCZrCULf8CULnvCU3HnCU3JUCY6NUCbDb8CbFZoCbLnrCboOTCboScCbrFnCbvLnCb8AgCb8HgCb$LnCkLfoClBn3CloDUDTHT8DTLl3DTSU8DTrAaDTrLXDTrLjDTrOYDTrOgDTvFXDTvFnDT3HUDT3LfDUCT9DUDT4DUFVoDUFV8DUFkoDUGgrDUJnrDULl8DUMT8DUMXrDUMX4DUMg8DUOUoDUOgvDUOg8DUSToDUSZ8DbDXoDbDgoDbGT8DbJn3DbLg3DbLn4DbMXrDbMg8DbOToDboJXGTClvGTDT8GTFZrGTLVoGTLlvGTLl3GTMg8GTOTvGTSlrGToCUGTrDgGTrJYGTrScGTtLnGTvAnGTvQgGUCZrGUDTvGUFZoGUHXrGULnvGUMT8GUoMgGXoLnGXrMXGXrMnGXvFnGYLnvGZOnvGZvOnGZ8LaGZ8LmGbAl3GbDYvGbDlrGbHX3GbJl4GbLV8GbLn3GbMn4GboJTGboRfGbvFUGb3GUGb4JnGgDX3GgFl$GgJlrGgLX6GgLZoGgLf8GgOXoGgrAgGgrJXGgrMYGgrScGgvATGgvOYGnAgoGnJgvGnLZoGnLg3GnLnrGnQn8GnSbrGnrMgHTClvHTDToHTFT3HTQT8HToJTHToJgHTrDUHTrMnHTvFYHTvRfHT8MnHT8SUHUAZ8HUBb4HUDTvHUoMYHXFl6HXJX6HXQlrHXrAUHXrMnHXrSbHXvFYHXvKXHX3LjHX3MeHYvQlHZrScHZvDbHbAcrHbFT3HbFl3HbJT8HbLTrHbMT8HbMXrHbMbrHbQb8HbSX3HboDbHboJTHbrFUHbrHgHbrJTHb8JTHb8MnHb8QgHgAlrHgDT3HgGgrHgHgrHgJTrHgJT8HgLX@HgLnrHgMT8HgMX8HgMboHgOnrHgQToHgRg3HgoHgHgrCbHgrFnHgrLVHgvAcHgvAfHnAloHnCTrHnCnvHnGTrHnGZ8HnGnvHnJT8HnLf8HnLkvHnMg8HnRTrITvFUITvFnJTAXrJTCV8JTFT3JTFT8JTFn4JTGgvJTHT8JTJT8JTJXvJTJl3JTJnvJTLX4JTLf8JTLhvJTMT8JTMXrJTMnrJTObrJTQT8JTSlvJT8DUJT8FkJT8MTJT8OXJT8OgJT8QUJT8RfJUHZoJXFT4JXFlrJXGZ8JXGnrJXLV8JXLgvJXMXoJXMX3JXNboJXPlvJXoJTJXoLkJXrAXJXrHUJXrJgJXvJTJXvOnJX4KnJYAl3JYJT8JYLhvJYQToJYrQXJY6NUJbAl3JbCZrJbDloJbGT8JbGgrJbJXvJbJboJbLf8JbLhrJbLl3JbMnvJbRg8JbSZ8JboDbJbrCZJbrSUJb3KnJb8LnJfRn8JgAXrJgCZrJgDTrJgGZrJgGZ8JgHToJgJT8JgJXoJgJgvJgLX4JgLZ3JgLZ8JgLn4JgMgrJgMn4JgOgvJgPX6JgRnvJgSToJgoCZJgoJbJgoMYJgrJXJgrJgJgrLjJg6MTJlCn3JlGgvJlJl8Jl4AnJl8FnJl8HgJnAToJnATrJnAbvJnDUoJnGnrJnJXrJnJXvJnLhvJnLnrJnLnvJnMToJnMT8JnMXvJnMX3JnMg8JnMlrJnMn4JnOX8JnST4JnSX3JnoAgJnoAnJnoJTJnoObJnrAbJnrAkJnrHnJnrJTJnrJYJnrOYJnrScJnvCUJnvFaJnvJgJnvJnJnvOYJnvQUJnvRUJn3FnJn3JTKnFl3KnLT6LTDlvLTMnoLTOn3LTRl3LTSb4LTSlrLToAnLToJgLTrAULTrAcLTrCULTrHgLTrMgLT3JnLULnrLUMX8LUoJgLVATrLVDTrLVLb8LVoJgLV8MgLV8RTLXDg3LXFlrLXrCnLXrLXLX3GTLX4GgLX4OYLZAXrLZAcrLZAgrLZAhrLZDXyLZDlrLZFbrLZFl3LZJX6LZJX8LZLc8LZLnrLZSU8LZoJTLZoJnLZrAgLZrAnLZrJYLZrLULZrMgLZrSkLZvAnLZvGULZvJeLZvOTLZ3FZLZ4JXLZ8STLZ8ScLaAT3LaAl3LaHT8LaJTrLaJT8LaJXrLaJgvLaJl4LaLVoLaMXrLaMXvLaMX8LbClvLbFToLbHlrLbJn4LbLZ3LbLhvLbMXrLbMnoLbvSULcLnrLc8HnLc8MTLdrMnLeAgoLeOgvLeOn3LfAl3LfLnvLfMl3LfOX8Lf8AnLf8JXLf8LXLgJTrLgJXrLgJl8LgMX8LgRZrLhCToLhrAbLhrFULhrJXLhvJYLjHTrLjHX4LjJX8LjLhrLjSX3LjSZ4LkFX4LkGZ8LkGgvLkJTrLkMXoLkSToLkSU8LkSZ8LkoOYLl3FfLl3MgLmAZrLmCbrLmGgrLmHboLmJnoLmJn3LmLfoLmLhrLmSToLnAX6LnAb6LnCZ3LnCb3LnDTvLnDb8LnFl3LnGnrLnHZvLnHgvLnITvLnJT8LnJX8LnJlvLnLf8LnLg6LnLhvLnLnoLnMXrLnMg8LnQlvLnSbrLnrAgLnrAnLnrDbLnrFkLnrJdLnrMULnrOYLnrSTLnvAnLnvDULnvHgLnvOYLnvOnLn3GgLn4DULn4JTLn4JnMTAZoMTAloMTDb8MTFT8MTJnoMTJnrMTLZrMTLhrMTLkvMTMX8MTRTrMToATMTrDnMTrOnMT3JnMT4MnMT8FUMT8FaMT8FlMT8GTMT8GbMT8GnMT8HnMT8JTMT8JbMT8OTMUCl8MUJTrMUJU8MUMX8MURTrMUSToMXAX6MXAb6MXCZoMXFXrMXHXrMXLgvMXOgoMXrAUMXrAnMXrHgMXrJYMXrJnMXrMTMXrMgMXrOYMXrSZMXrSgMXvDUMXvOTMX3JgMX3OTMX4JnMX8DbMX8FnMX8HbMX8HgMX8HnMX8LbMX8MnMX8OnMYAb8MYGboMYHTvMYHX4MYLTrMYLnvMYMToMYOgvMYRg3MYSTrMbAToMbAXrMbAl3MbAn8MbGZ8MbJT8MbJXrMbMXvMbMX8MbMnoMbrMUMb8AfMb8FbMb8FkMcJXoMeLnrMgFl3MgGTvMgGXoMgGgrMgGnrMgHT8MgHZrMgJnoMgLnrMgLnvMgMT8MgQUoMgrHnMgvAnMg8HgMg8JYMg8LfMloJnMl8ATMl8AXMl8JYMnAToMnAT4MnAZ8MnAl3MnAl4MnCl8MnHT8MnHg8MnJnoMnLZoMnLhrMnMXoMnMX3MnMnrMnOgvMnrFbMnrFfMnrFnMnrNTMnvJXNTMl8OTCT3OTFV8OTFn3OTHZvOTJXrOTOl3OT3ATOT3JUOT3LZOT3LeOT3MbOT8ATOT8AbOT8AgOT8MbOUCXvOUMX3OXHXvOXLl3OXrMUOXvDbOX6NUOX8JbOYFZoOYLbrOYLkoOYMg8OYSX3ObHTrObHT4ObJgrObLhrObMX3ObOX8Ob8FnOeAlrOeJT8OeJXrOeJnrOeLToOeMb8OgJXoOgLXoOgMnrOgOXrOgOloOgoAgOgoJbOgoMYOgoSTOg8AbOjLX4OjMnoOjSV8OnLVoOnrAgOn3DUPXQlrPXvFXPbvFTPdAT3PlFn3PnvFbQTLn4QToAgQToMTQULV8QURg8QUoJnQXCXvQbFbrQb8AaQb8AcQb8FbQb8MYQb8ScQeAlrQeLhrQjAn3QlFXoQloJgQloSnRTLnvRTrGURTrJTRUJZrRUoJlRUrQnRZrLmRZrMnRZrSnRZ8ATRZ8JbRZ8ScRbMT8RbST3RfGZrRfMX8RfMgrRfSZrRnAbrRnGT8RnvJgRnvLfRnvMTRn8AaSTClvSTJgrSTOXrSTRg3STRnvSToAcSToAfSToAnSToHnSToLjSToMTSTrAaSTrEUST3BYST8AgST8LmSUAZvSUAgrSUDT4SUDT8SUGgvSUJXoSUJXvSULTrSU8JTSU8LjSV8AnSV8JgSXFToSXLf8SYvAnSZrDUSZrMUSZrMnSZ8HgSZ8JTSZ8JgSZ8MYSZ8QUSaQUoSbCT3SbHToSbQYvSbSl4SboJnSbvFbSb8HbSb8JgSb8OTScGZrScHgrScJTvScMT8ScSToScoHbScrMTScvAnSeAZrSeAcrSeHboSeJUoSeLhrSeMT8SeMXrSe6JgSgHTrSkJnoSkLnvSk8CUSlFl3SlrSnSl8GnSmAboSmGT8SmJU8","ATLnDlATrAZoATrJX4ATrMT8ATrMX4ATrRTrATvDl8ATvJUoATvMl8AT3AToAT3MX8AT8CT3AT8DT8AT8HZrAT8HgoAUAgFnAUCTFnAXoMX8AXrAT8AXrGgvAXrJXvAXrOgoAXvLl3AZvAgoAZvFbrAZvJXoAZvJl8AZvJn3AZvMX8AZvSbrAZ8FZoAZ8LZ8AZ8MU8AZ8OTvAZ8SV8AZ8SX3AbAgFZAboJnoAbvGboAb8ATrAb8AZoAb8AgrAb8Al4Ab8Db8Ab8JnoAb8LX4Ab8LZrAb8LhrAb8MT8Ab8OUoAb8Qb8Ab8ST8AcrAUoAcrAc8AcrCZ3AcrFT3AcrFZrAcrJl4AcrJn3AcrMX3AcrOTvAc8AZ8Ac8MT8AfAcJXAgoFn4AgoGgvAgoGnrAgoLc8AgoMXoAgrLnrAkrSZ8AlFXCTAloHboAlrHbrAlrLhrAlrLkoAl3CZrAl3LUoAl3LZrAnrAl4AnrMT8An3HT4BT3IToBX4MnvBb!Ln$CTGXMnCToLZ4CTrHT8CT3JTrCT3RZrCT#GTvCU6GgvCU8Db8CU8GZrCU8HT8CboLl3CbrGgrCbrMU8Cb8DT3Cb8GnrCb8LX4Cb8MT8Cb8ObrCgrGgvCgrKX4Cl8FZoDTrAbvDTrDboDTrGT6DTrJgrDTrMX3DTrRZrDTrRg8DTvAVvDTvFZoDT3DT8DT3Ln3DT4HZrDT4MT8DT8AlrDT8MT8DUAkGbDUDbJnDYLnQlDbDUOYDbMTAnDbMXSnDboAT3DboFn4DboLnvDj6JTrGTCgFTGTGgFnGTJTMnGTLnPlGToJT8GTrCT3GTrLVoGTrLnvGTrMX3GTrMboGTvKl3GZClFnGZrDT3GZ8DTrGZ8FZ8GZ8MXvGZ8On8GZ8ST3GbCnQXGbMbFnGboFboGboJg3GboMXoGb3JTvGb3JboGb3Mn6Gb3Qb8GgDXLjGgMnAUGgrDloGgrHX4GgrSToGgvAXrGgvAZvGgvFbrGgvLl3GgvMnvGnDnLXGnrATrGnrMboGnuLl3HTATMnHTAgCnHTCTCTHTrGTvHTrHTvHTrJX8HTrLl8HTrMT8HTrMgoHTrOTrHTuOn3HTvAZrHTvDTvHTvGboHTvJU8HTvLl3HTvMXrHTvQb4HT4GT6HT4JT8HT4Jb#HT8Al3HT8GZrHT8GgrHT8HX4HT8Jb8HT8JnoHT8LTrHT8LgvHT8SToHT8SV8HUoJUoHUoJX8HUoLnrHXrLZoHXvAl3HX3LnrHX4FkvHX4LhrHX4MXoHX4OnoHZrAZ8HZrDb8HZrGZ8HZrJnrHZvGZ8HZvLnvHZ8JnvHZ8LhrHbCXJlHbMTAnHboJl4HbpLl3HbrJX8HbrLnrHbrMnvHbvRYrHgoSTrHgrFV8HgrGZ8HgrJXoHgrRnvHgvBb!HgvGTrHgvHX4HgvHn!HgvLTrHgvSU8HnDnLbHnFbJbHnvDn8Hn6GgvHn!BTvJTCTLnJTQgFnJTrAnvJTrLX4JTrOUoJTvFn3JTvLnrJTvNToJT3AgoJT3Jn4JT3LhvJT3ObrJT8AcrJT8Al3JT8JT8JT8JnoJT8LX4JT8LnrJT8MX3JT8Rg3JT8Sc8JUoBTvJU8AToJU8GZ8JU8GgvJU8JTrJU8JXrJU8JnrJU8LnvJU8ScvJXHnJlJXrGgvJXrJU8JXrLhrJXrMT8JXrMXrJXrQUoJXvCTvJXvGZ8JXvGgrJXvQT8JX8Ab8JX8DT8JX8GZ8JX8HZvJX8LnrJX8MT8JX8MXoJX8MnvJX8ST3JYGnCTJbAkGbJbCTAnJbLTAcJboDT3JboLb6JbrAnvJbrCn3JbrDl8JbrGboJbrIZoJbrJnvJbrMnvJbrQb4Jb8RZrJeAbAnJgJnFbJgScAnJgrATrJgvHZ8JgvMn4JlJlFbJlLiQXJlLjOnJlRbOlJlvNXoJlvRl3Jl4AcrJl8AUoJl8MnrJnFnMlJnHgGbJnoDT8JnoFV8JnoGgvJnoIT8JnoQToJnoRg3JnrCZ3JnrGgrJnrHTvJnrLf8JnrOX8JnvAT3JnvFZoJnvGT8JnvJl4JnvMT8JnvMX8JnvOXrJnvPX6JnvSX3JnvSZrJn3MT8Jn3MX8Jn3RTrLTATKnLTJnLTLTMXKnLTRTQlLToGb8LTrAZ8LTrCZ8LTrDb8LTrHT8LT3PX6LT4FZoLT$CTvLT$GgrLUvHX3LVoATrLVoAgoLVoJboLVoMX3LVoRg3LV8CZ3LV8FZoLV8GTvLXrDXoLXrFbrLXvAgvLXvFlrLXvLl3LXvRn6LX4Mb8LX8GT8LYCXMnLYrMnrLZoSTvLZrAZvLZrAloLZrFToLZrJXvLZrJboLZrJl4LZrLnrLZrMT8LZrOgvLZrRnvLZrST4LZvMX8LZvSlvLZ8AgoLZ8CT3LZ8JT8LZ8LV8LZ8LZoLZ8Lg8LZ8SV8LZ8SbrLZ$HT8LZ$Mn4La6CTvLbFbMnLbRYFTLbSnFZLboJT8LbrAT9LbrGb3LbrQb8LcrJX8LcrMXrLerHTvLerJbrLerNboLgrDb8LgrGZ8LgrHTrLgrMXrLgrSU8LgvJTrLgvLl3Lg6Ll3LhrLnrLhrMT8LhvAl4LiLnQXLkoAgrLkoJT8LkoJn4LlrSU8Ll3FZoLl3HTrLl3JX8Ll3JnoLl3LToLmLeFbLnDUFbLnLVAnLnrATrLnrAZoLnrAb8LnrAlrLnrGgvLnrJU8LnrLZrLnrLhrLnrMb8LnrOXrLnrSZ8LnvAb4LnvDTrLnvDl8LnvHTrLnvHbrLnvJT8LnvJU8LnvJbrLnvLhvLnvMX8LnvMb8LnvNnoLnvSU8Ln3Al3Ln4FZoLn4GT6Ln4JgvLn4LhrLn4MT8Ln4SToMToCZrMToJX8MToLX4MToLf8MToRg3MTrEloMTvGb6MT3BTrMT3Lb6MT8AcrMT8AgrMT8GZrMT8JnoMT8LnrMT8MX3MUOUAnMXAbFnMXoAloMXoJX8MXoLf8MXoLl8MXrAb8MXrDTvMXrGT8MXrGgrMXrHTrMXrLf8MXrMU8MXrOXvMXrQb8MXvGT8MXvHTrMXvLVoMX3AX3MX3Jn3MX3LhrMX3MX3MX4AlrMX4OboMX8GTvMX8GZrMX8GgrMX8JT8MX8JX8MX8LhrMX8MT8MYDUFbMYMgDbMbGnFfMbvLX4MbvLl3Mb8Mb8Mb8ST4MgGXCnMg8ATrMg8AgoMg8CZrMg8DTrMg8DboMg8HTrMg8JgrMg8LT8MloJXoMl8AhrMl8JT8MnLgAUMnoJXrMnoLX4MnoLhrMnoMT8MnrAl4MnrDb8MnrOTvMnrOgvMnrQb8MnrSU8MnvGgrMnvHZ8Mn3MToMn4DTrMn4LTrMn4Mg8NnBXAnOTFTFnOToAToOTrGgvOTrJX8OT3JXoOT6MTrOT8GgrOT8HTpOT8MToOUoHT8OUoJT8OUoLn3OXrAgoOXrDg8OXrMT8OXvSToOX6CTvOX8CZrOX8OgrOb6HgvOb8AToOb8MT8OcvLZ8OgvAlrOgvHTvOgvJTrOgvJnrOgvLZrOgvLn4OgvMT8OgvRTrOg8AZoOg8DbvOnrOXoOnvJn4OnvLhvOnvRTrOn3GgoOn3JnvOn6JbvOn8OTrPTGYFTPbBnFnPbGnDnPgDYQTPlrAnvPlrETvPlrLnvPlrMXvPlvFX4QTMTAnQTrJU8QYCnJlQYJlQlQbGTQbQb8JnrQb8LZoQb8LnvQb8MT8Qb8Ml8Qb8ST4QloAl4QloHZvQloJX8QloMn8QnJZOlRTrAZvRTrDTrRTvJn4RTvLhvRT4Jb8RZrAZrRZ8AkrRZ8JU8RZ8LV8RZ8LnvRbJlQXRg3GboRg3MnvRg8AZ8Rg8JboRg8Jl4RnLTCbRnvFl3RnvQb8SToAl4SToCZrSToFZoSToHXrSToJU8SToJgvSToJl4SToLhrSToMX3STrAlvSTrCT9STrCgrSTrGgrSTrHXrSTrHboSTrJnoSTrNboSTvLnrST4AZoST8Ab8ST8JT8SUoJn3SU6HZ#SU6JTvSU8Db8SU8HboSU8LgrSV8JT8SZrAcrSZrAl3SZrJT8SZrJnvSZrMT8SZvLUoSZ4FZoSZ8JnoSZ8RZrScoLnrScoMT8ScoMX8ScrAT4ScrAZ8ScrLZ8ScrLkvScvDb8ScvLf8ScvNToSgrFZrShvKnrSloHUoSloLnrSlrMXoSl8HgrSmrJUoSn3BX6","ATFlOn3ATLgrDYAT4MTAnAT8LTMnAYJnRTrAbGgJnrAbLV8LnAbvNTAnAeFbLg3AgOYMXoAlQbFboAnDboAfAnJgoJTBToDgAnBUJbAl3BboDUAnCTDlvLnCTFTrSnCYoQTLnDTwAbAnDUDTrSnDUHgHgrDX8LXFnDbJXAcrETvLTLnGTFTQbrGTMnGToGT3DUFbGUJlPX3GbQg8LnGboJbFnGb3GgAYGgAg8ScGgMbAXrGgvAbAnGnJTLnvGnvATFgHTDT6ATHTrDlJnHYLnMn8HZrSbJTHZ8LTFnHbFTJUoHgSeMT8HgrLjAnHgvAbAnHlFUrDlHnDgvAnHnHTFT3HnQTGnrJTAaMXvJTGbCn3JTOgrAnJXvAXMnJbMg8SnJbMnRg3Jb8LTMnJnAl3OnJnGYrQlJnJlQY3LTDlCn3LTJjLg3LTLgvFXLTMg3GTLV8HUOgLXFZLg3LXNXrMnLX8QXFnLX9AlMYLYLXPXrLZAbJU8LZDUJU8LZMXrSnLZ$AgFnLaPXrDULbFYrMnLbMn8LXLboJgJgLeFbLg3LgLZrSnLgOYAgoLhrRnJlLkCTrSnLkOnLhrLnFX%AYLnFZoJXLnHTvJbLnLloAbMTATLf8MTHgJn3MTMXrAXMT3MTFnMUITvFnMXFX%AYMXMXvFbMXrFTDbMYAcMX3MbLf8SnMb8JbFnMgMXrMTMgvAXFnMgvGgCmMnAloSnMnFnJTrOXvMXSnOX8HTMnObJT8ScObLZFl3ObMXCZoPTLgrQXPUFnoQXPU3RXJlPX3RkQXPbrJXQlPlrJbFnQUAhrDbQXGnCXvQYLnHlvQbLfLnvRTOgvJbRXJYrQlRYLnrQlRbLnrQlRlFT8JlRlFnrQXSTClCn3STHTrAnSTLZQlrSTMnGTrSToHgGbSTrGTDnSTvGXCnST3HgFbSU3HXAXSbAnJn3SbFT8LnScLfLnv","AT3JgJX8AT8FZoSnAT8JgFV8AT8LhrDbAZ8JT8DbAb8GgLhrAb8SkLnvAe8MT8SnAlMYJXLVAl3GYDTvAl3LfLnvBUDTvLl3CTOn3HTrCT3DUGgrCU8MT8AbCbFTrJUoCgrDb8MTDTLV8JX8DTLnLXQlDT8LZrSnDUQb8FZ8DUST4JnvDb8ScOUoDj6GbJl4GTLfCYMlGToAXvFnGboAXvLnGgAcrJn3GgvFnSToGnLf8JnvGn#HTDToHTLnFXJlHTvATFToHTvHTDToHTvMTAgoHT3STClvHT4AlFl6HT8HTDToHUoDgJTrHUoScMX3HbRZrMXoHboJg8LTHgDb8JTrHgMToLf8HgvLnLnoHnHn3HT4Hn6MgvAnJTJU8ScvJT3AaQT8JT8HTrAnJXrRg8AnJbAloMXoJbrATFToJbvMnoSnJgDb6GgvJgDb8MXoJgSX3JU8JguATFToJlPYLnQlJlQkDnLbJlQlFYJlJl8Lf8OTJnCTFnLbJnLTHXMnJnLXGXCnJnoFfRg3JnrMYRg3Jn3HgFl3KT8Dg8LnLTRlFnPTLTvPbLbvLVoSbrCZLXMY6HT3LXNU7DlrLXNXDTATLX8DX8LnLZDb8JU8LZMnoLhrLZSToJU8LZrLaLnrLZvJn3SnLZ8LhrSnLaJnoMT8LbFlrHTvLbrFTLnrLbvATLlvLb6OTFn3LcLnJZOlLeAT6Mn4LeJT3ObrLg6LXFlrLhrJg8LnLhvDlPX4LhvLfLnvLj6JTFT3LnFbrMXoLnQluCTvLnrQXCY6LnvLfLnvLnvMgLnvLnvSeLf8MTMbrJn3MT3JgST3MT8AnATrMT8LULnrMUMToCZrMUScvLf8MXoDT8SnMX6ATFToMX8AXMT8MX8FkMT8MX8HTrDUMX8ScoSnMYJT6CTvMgAcrMXoMg8SToAfMlvAXLg3MnFl3AnvOT3AnFl3OUoATHT8OU3RnLXrOXrOXrSnObPbvFn6Og8HgrSnOg8OX8DbPTvAgoJgPU3RYLnrPXrDnJZrPb8CTGgvPlrLTDlvPlvFUJnoQUvFXrQlQeMnoAl3QlrQlrSnRTFTrJUoSTDlLiLXSTFg6HT3STJgoMn4STrFTJTrSTrLZFl3ST4FnMXoSUrDlHUoScvHTvSnSfLkvMXo","AUoAcrMXoAZ8HboAg8AbOg6ATFgAg8AloMXoAl3AT8JTrAl8MX8MXoCT3SToJU8Cl8Db8MXoDT8HgrATrDboOT8MXoGTOTrATMnGT8LhrAZ8GnvFnGnQXHToGgvAcrHTvAXvLl3HbrAZoMXoHgBlFXLg3HgMnFXrSnHgrSb8JUoHn6HT8LgvITvATrJUoJUoLZrRnvJU8HT8Jb8JXvFX8QT8JXvLToJTrJYrQnGnQXJgrJnoATrJnoJU8ScvJnvMnvMXoLTCTLgrJXLTJlRTvQlLbRnJlQYvLbrMb8LnvLbvFn3RnoLdCVSTGZrLeSTvGXCnLg3MnoLn3MToLlrETvMT8SToAl3MbrDU6GTvMb8LX4LhrPlrLXGXCnSToLf8Rg3STrDb8LTrSTvLTHXMnSb3RYLnMnSgOg6ATFg","HUDlGnrQXrJTrHgLnrAcJYMb8DULc8LTvFgGnCk3Mg8JbAnLX4QYvFYHnMXrRUoJnGnvFnRlvFTJlQnoSTrBXHXrLYSUJgLfoMT8Se8DTrHbDb","AbDl8SToJU8An3RbAb8ST8DUSTrGnrAgoLbFU6Db8LTrMg8AaHT8Jb8ObDl8SToJU8Pb3RlvFYoJl"];let Jo=null;function Ro(e){if(null==Jo&&(Jo=[],Lo.forEach((e,t)=>{t+=4;for(let n=0;n=40?r=r+168-40:r>=19&&(r=r+97-19),Pt([225,132+(r>>6),128+(63&r)]));Jo.push(i)}var r}),Jo.sort(),"0xf9eddeace9c5d3da9c93cf7d3cd38f6a13ed3affb933259ae865714e8a3ae71a"!==lo.check(e)))throw Jo=null,new Error("BIP39 Wordlist for ko (Korean) FAILED")}const No=new class extends lo{constructor(){super("ko")}getWord(e){return Ro(this),Jo[e]}getWordIndex(e){return Ro(this),Jo.indexOf(e)}};lo.register(No);let Do=null;function Oo(e){if(null==Do&&(Do="AbacoAbbaglioAbbinatoAbeteAbissoAbolireAbrasivoAbrogatoAccadereAccennoAccusatoAcetoneAchilleAcidoAcquaAcreAcrilicoAcrobataAcutoAdagioAddebitoAddomeAdeguatoAderireAdipeAdottareAdulareAffabileAffettoAffissoAffrantoAforismaAfosoAfricanoAgaveAgenteAgevoleAggancioAgireAgitareAgonismoAgricoloAgrumetoAguzzoAlabardaAlatoAlbatroAlberatoAlboAlbumeAlceAlcolicoAlettoneAlfaAlgebraAlianteAlibiAlimentoAllagatoAllegroAllievoAllodolaAllusivoAlmenoAlogenoAlpacaAlpestreAltalenaAlternoAlticcioAltroveAlunnoAlveoloAlzareAmalgamaAmanitaAmarenaAmbitoAmbratoAmebaAmericaAmetistaAmicoAmmassoAmmendaAmmirareAmmonitoAmoreAmpioAmpliareAmuletoAnacardoAnagrafeAnalistaAnarchiaAnatraAncaAncellaAncoraAndareAndreaAnelloAngeloAngolareAngustoAnimaAnnegareAnnidatoAnnoAnnuncioAnonimoAnticipoAnziApaticoAperturaApodeApparireAppetitoAppoggioApprodoAppuntoAprileArabicaArachideAragostaAraldicaArancioAraturaArazzoArbitroArchivioArditoArenileArgentoArgineArgutoAriaArmoniaArneseArredatoArringaArrostoArsenicoArsoArteficeArzilloAsciuttoAscoltoAsepsiAsetticoAsfaltoAsinoAsolaAspiratoAsproAssaggioAsseAssolutoAssurdoAstaAstenutoAsticeAstrattoAtavicoAteismoAtomicoAtonoAttesaAttivareAttornoAttritoAttualeAusilioAustriaAutistaAutonomoAutunnoAvanzatoAvereAvvenireAvvisoAvvolgereAzioneAzotoAzzimoAzzurroBabeleBaccanoBacinoBacoBadessaBadilataBagnatoBaitaBalconeBaldoBalenaBallataBalzanoBambinoBandireBaraondaBarbaroBarcaBaritonoBarlumeBaroccoBasilicoBassoBatostaBattutoBauleBavaBavosaBeccoBeffaBelgioBelvaBendaBenevoleBenignoBenzinaBereBerlinaBetaBibitaBiciBidoneBifidoBigaBilanciaBimboBinocoloBiologoBipedeBipolareBirbanteBirraBiscottoBisestoBisnonnoBisonteBisturiBizzarroBlandoBlattaBollitoBonificoBordoBoscoBotanicoBottinoBozzoloBraccioBradipoBramaBrancaBravuraBretellaBrevettoBrezzaBrigliaBrillanteBrindareBroccoloBrodoBronzinaBrulloBrunoBubboneBucaBudinoBuffoneBuioBulboBuonoBurloneBurrascaBussolaBustaCadettoCaducoCalamaroCalcoloCalesseCalibroCalmoCaloriaCambusaCamerataCamiciaCamminoCamolaCampaleCanapaCandelaCaneCaninoCanottoCantinaCapaceCapelloCapitoloCapogiroCapperoCapraCapsulaCarapaceCarcassaCardoCarismaCarovanaCarrettoCartolinaCasaccioCascataCasermaCasoCassoneCastelloCasualeCatastaCatenaCatrameCautoCavilloCedibileCedrataCefaloCelebreCellulareCenaCenoneCentesimoCeramicaCercareCertoCerumeCervelloCesoiaCespoCetoChelaChiaroChiccaChiedereChimeraChinaChirurgoChitarraCiaoCiclismoCifrareCignoCilindroCiottoloCircaCirrosiCitricoCittadinoCiuffoCivettaCivileClassicoClinicaCloroCoccoCodardoCodiceCoerenteCognomeCollareColmatoColoreColposoColtivatoColzaComaCometaCommandoComodoComputerComuneConcisoCondurreConfermaCongelareConiugeConnessoConoscereConsumoContinuoConvegnoCopertoCopioneCoppiaCopricapoCorazzaCordataCoricatoCorniceCorollaCorpoCorredoCorsiaCorteseCosmicoCostanteCotturaCovatoCratereCravattaCreatoCredereCremosoCrescitaCretaCricetoCrinaleCrisiCriticoCroceCronacaCrostataCrucialeCruscaCucireCuculoCuginoCullatoCupolaCuratoreCursoreCurvoCuscinoCustodeDadoDainoDalmataDamerinoDanielaDannosoDanzareDatatoDavantiDavveroDebuttoDecennioDecisoDeclinoDecolloDecretoDedicatoDefinitoDeformeDegnoDelegareDelfinoDelirioDeltaDemenzaDenotatoDentroDepositoDerapataDerivareDerogaDescrittoDesertoDesiderioDesumereDetersivoDevotoDiametroDicembreDiedroDifesoDiffusoDigerireDigitaleDiluvioDinamicoDinnanziDipintoDiplomaDipoloDiradareDireDirottoDirupoDisagioDiscretoDisfareDisgeloDispostoDistanzaDisumanoDitoDivanoDiveltoDividereDivoratoDobloneDocenteDoganaleDogmaDolceDomatoDomenicaDominareDondoloDonoDormireDoteDottoreDovutoDozzinaDragoDruidoDubbioDubitareDucaleDunaDuomoDupliceDuraturoEbanoEccessoEccoEclissiEconomiaEderaEdicolaEdileEditoriaEducareEgemoniaEgliEgoismoEgregioElaboratoElargireEleganteElencatoElettoElevareElficoElicaElmoElsaElusoEmanatoEmblemaEmessoEmiroEmotivoEmozioneEmpiricoEmuloEndemicoEnduroEnergiaEnfasiEnotecaEntrareEnzimaEpatiteEpilogoEpisodioEpocaleEppureEquatoreErarioErbaErbosoEredeEremitaErigereErmeticoEroeErosivoErranteEsagonoEsameEsanimeEsaudireEscaEsempioEsercitoEsibitoEsigenteEsistereEsitoEsofagoEsortatoEsosoEspansoEspressoEssenzaEssoEstesoEstimareEstoniaEstrosoEsultareEtilicoEtnicoEtruscoEttoEuclideoEuropaEvasoEvidenzaEvitatoEvolutoEvvivaFabbricaFaccendaFachiroFalcoFamigliaFanaleFanfaraFangoFantasmaFareFarfallaFarinosoFarmacoFasciaFastosoFasulloFaticareFatoFavolosoFebbreFecolaFedeFegatoFelpaFeltroFemminaFendereFenomenoFermentoFerroFertileFessuraFestivoFettaFeudoFiabaFiduciaFifaFiguratoFiloFinanzaFinestraFinireFioreFiscaleFisicoFiumeFlaconeFlamencoFleboFlemmaFloridoFluenteFluoroFobicoFocacciaFocosoFoderatoFoglioFolataFolcloreFolgoreFondenteFoneticoFoniaFontanaForbitoForchettaForestaFormicaFornaioForoFortezzaForzareFosfatoFossoFracassoFranaFrassinoFratelloFreccettaFrenataFrescoFrigoFrollinoFrondeFrugaleFruttaFucilataFucsiaFuggenteFulmineFulvoFumanteFumettoFumosoFuneFunzioneFuocoFurboFurgoneFuroreFusoFutileGabbianoGaffeGalateoGallinaGaloppoGamberoGammaGaranziaGarboGarofanoGarzoneGasdottoGasolioGastricoGattoGaudioGazeboGazzellaGecoGelatinaGelsoGemelloGemmatoGeneGenitoreGennaioGenotipoGergoGhepardoGhiaccioGhisaGialloGildaGineproGiocareGioielloGiornoGioveGiratoGironeGittataGiudizioGiuratoGiustoGlobuloGlutineGnomoGobbaGolfGomitoGommoneGonfioGonnaGovernoGracileGradoGraficoGrammoGrandeGrattareGravosoGraziaGrecaGreggeGrifoneGrigioGrinzaGrottaGruppoGuadagnoGuaioGuantoGuardareGufoGuidareIbernatoIconaIdenticoIdillioIdoloIdraIdricoIdrogenoIgieneIgnaroIgnoratoIlareIllesoIllogicoIlludereImballoImbevutoImboccoImbutoImmaneImmersoImmolatoImpaccoImpetoImpiegoImportoImprontaInalareInarcareInattivoIncantoIncendioInchinoIncisivoInclusoIncontroIncrocioIncuboIndagineIndiaIndoleIneditoInfattiInfilareInflittoIngaggioIngegnoIngleseIngordoIngrossoInnescoInodoreInoltrareInondatoInsanoInsettoInsiemeInsonniaInsulinaIntasatoInteroIntonacoIntuitoInumidireInvalidoInveceInvitoIperboleIpnoticoIpotesiIppicaIrideIrlandaIronicoIrrigatoIrrorareIsolatoIsotopoIstericoIstitutoIstriceItaliaIterareLabbroLabirintoLaccaLaceratoLacrimaLacunaLaddoveLagoLampoLancettaLanternaLardosoLargaLaringeLastraLatenzaLatinoLattugaLavagnaLavoroLegaleLeggeroLemboLentezzaLenzaLeoneLepreLesivoLessatoLestoLetteraleLevaLevigatoLiberoLidoLievitoLillaLimaturaLimitareLimpidoLineareLinguaLiquidoLiraLiricaLiscaLiteLitigioLivreaLocandaLodeLogicaLombareLondraLongevoLoquaceLorenzoLotoLotteriaLuceLucidatoLumacaLuminosoLungoLupoLuppoloLusingaLussoLuttoMacabroMacchinaMaceroMacinatoMadamaMagicoMagliaMagneteMagroMaiolicaMalafedeMalgradoMalintesoMalsanoMaltoMalumoreManaManciaMandorlaMangiareManifestoMannaroManovraMansardaMantideManubrioMappaMaratonaMarcireMarettaMarmoMarsupioMascheraMassaiaMastinoMaterassoMatricolaMattoneMaturoMazurcaMeandroMeccanicoMecenateMedesimoMeditareMegaMelassaMelisMelodiaMeningeMenoMensolaMercurioMerendaMerloMeschinoMeseMessereMestoloMetalloMetodoMettereMiagolareMicaMicelioMicheleMicroboMidolloMieleMiglioreMilanoMiliteMimosaMineraleMiniMinoreMirinoMirtilloMiscelaMissivaMistoMisurareMitezzaMitigareMitraMittenteMnemonicoModelloModificaModuloMoganoMogioMoleMolossoMonasteroMoncoMondinaMonetarioMonileMonotonoMonsoneMontatoMonvisoMoraMordereMorsicatoMostroMotivatoMotosegaMottoMovenzaMovimentoMozzoMuccaMucosaMuffaMughettoMugnaioMulattoMulinelloMultiploMummiaMuntoMuovereMuraleMusaMuscoloMusicaMutevoleMutoNababboNaftaNanometroNarcisoNariceNarratoNascereNastrareNaturaleNauticaNaviglioNebulosaNecrosiNegativoNegozioNemmenoNeofitaNerettoNervoNessunoNettunoNeutraleNeveNevroticoNicchiaNinfaNitidoNobileNocivoNodoNomeNominaNordicoNormaleNorvegeseNostranoNotareNotiziaNotturnoNovellaNucleoNullaNumeroNuovoNutrireNuvolaNuzialeOasiObbedireObbligoObeliscoOblioOboloObsoletoOccasioneOcchioOccidenteOccorrereOccultareOcraOculatoOdiernoOdorareOffertaOffrireOffuscatoOggettoOggiOgnunoOlandeseOlfattoOliatoOlivaOlogrammaOltreOmaggioOmbelicoOmbraOmegaOmissioneOndosoOnereOniceOnnivoroOnorevoleOntaOperatoOpinioneOppostoOracoloOrafoOrdineOrecchinoOreficeOrfanoOrganicoOrigineOrizzonteOrmaOrmeggioOrnativoOrologioOrrendoOrribileOrtensiaOrticaOrzataOrzoOsareOscurareOsmosiOspedaleOspiteOssaOssidareOstacoloOsteOtiteOtreOttagonoOttimoOttobreOvaleOvestOvinoOviparoOvocitoOvunqueOvviareOzioPacchettoPacePacificoPadellaPadronePaesePagaPaginaPalazzinaPalesarePallidoPaloPaludePandoroPannelloPaoloPaonazzoPapricaParabolaParcellaParerePargoloPariParlatoParolaPartireParvenzaParzialePassivoPasticcaPataccaPatologiaPattumePavonePeccatoPedalarePedonalePeggioPelosoPenarePendicePenisolaPennutoPenombraPensarePentolaPepePepitaPerbenePercorsoPerdonatoPerforarePergamenaPeriodoPermessoPernoPerplessoPersuasoPertugioPervasoPesatorePesistaPesoPestiferoPetaloPettinePetulantePezzoPiacerePiantaPiattinoPiccinoPicozzaPiegaPietraPifferoPigiamaPigolioPigroPilaPiliferoPillolaPilotaPimpantePinetaPinnaPinoloPioggiaPiomboPiramidePireticoPiritePirolisiPitonePizzicoPlaceboPlanarePlasmaPlatanoPlenarioPochezzaPoderosoPodismoPoesiaPoggiarePolentaPoligonoPollicePolmonitePolpettaPolsoPoltronaPolverePomicePomodoroPontePopolosoPorfidoPorosoPorporaPorrePortataPosaPositivoPossessoPostulatoPotassioPoterePranzoPrassiPraticaPreclusoPredicaPrefissoPregiatoPrelievoPremerePrenotarePreparatoPresenzaPretestoPrevalsoPrimaPrincipePrivatoProblemaProcuraProdurreProfumoProgettoProlungaPromessaPronomePropostaProrogaProtesoProvaPrudentePrugnaPruritoPsichePubblicoPudicaPugilatoPugnoPulcePulitoPulsantePuntarePupazzoPupillaPuroQuadroQualcosaQuasiQuerelaQuotaRaccoltoRaddoppioRadicaleRadunatoRafficaRagazzoRagioneRagnoRamarroRamingoRamoRandagioRantolareRapatoRapinaRappresoRasaturaRaschiatoRasenteRassegnaRastrelloRataRavvedutoRealeRecepireRecintoReclutaReconditoRecuperoRedditoRedimereRegalatoRegistroRegolaRegressoRelazioneRemareRemotoRennaReplicaReprimereReputareResaResidenteResponsoRestauroReteRetinaRetoricaRettificaRevocatoRiassuntoRibadireRibelleRibrezzoRicaricaRiccoRicevereRiciclatoRicordoRicredutoRidicoloRidurreRifasareRiflessoRiformaRifugioRigareRigettatoRighelloRilassatoRilevatoRimanereRimbalzoRimedioRimorchioRinascitaRincaroRinforzoRinnovoRinomatoRinsavitoRintoccoRinunciaRinvenireRiparatoRipetutoRipienoRiportareRipresaRipulireRisataRischioRiservaRisibileRisoRispettoRistoroRisultatoRisvoltoRitardoRitegnoRitmicoRitrovoRiunioneRivaRiversoRivincitaRivoltoRizomaRobaRoboticoRobustoRocciaRocoRodaggioRodereRoditoreRogitoRollioRomanticoRompereRonzioRosolareRospoRotanteRotondoRotulaRovescioRubizzoRubricaRugaRullinoRumineRumorosoRuoloRupeRussareRusticoSabatoSabbiareSabotatoSagomaSalassoSaldaturaSalgemmaSalivareSalmoneSaloneSaltareSalutoSalvoSapereSapidoSaporitoSaracenoSarcasmoSartoSassosoSatelliteSatiraSatolloSaturnoSavanaSavioSaziatoSbadiglioSbalzoSbancatoSbarraSbattereSbavareSbendareSbirciareSbloccatoSbocciatoSbrinareSbruffoneSbuffareScabrosoScadenzaScalaScambiareScandaloScapolaScarsoScatenareScavatoSceltoScenicoScettroSchedaSchienaSciarpaScienzaScindereScippoSciroppoScivoloSclerareScodellaScolpitoScompartoSconfortoScoprireScortaScossoneScozzeseScribaScrollareScrutinioScuderiaScultoreScuolaScuroScusareSdebitareSdoganareSeccaturaSecondoSedanoSeggiolaSegnalatoSegregatoSeguitoSelciatoSelettivoSellaSelvaggioSemaforoSembrareSemeSeminatoSempreSensoSentireSepoltoSequenzaSerataSerbatoSerenoSerioSerpenteSerraglioServireSestinaSetolaSettimanaSfaceloSfaldareSfamatoSfarzosoSfaticatoSferaSfidaSfilatoSfingeSfocatoSfoderareSfogoSfoltireSforzatoSfrattoSfruttatoSfuggitoSfumareSfusoSgabelloSgarbatoSgonfiareSgorbioSgrassatoSguardoSibiloSiccomeSierraSiglaSignoreSilenzioSillabaSimboloSimpaticoSimulatoSinfoniaSingoloSinistroSinoSintesiSinusoideSiparioSismaSistoleSituatoSlittaSlogaturaSlovenoSmarritoSmemoratoSmentitoSmeraldoSmilzoSmontareSmottatoSmussatoSnellireSnervatoSnodoSobbalzoSobrioSoccorsoSocialeSodaleSoffittoSognoSoldatoSolenneSolidoSollazzoSoloSolubileSolventeSomaticoSommaSondaSonettoSonniferoSopireSoppesoSopraSorgereSorpassoSorrisoSorsoSorteggioSorvolatoSospiroSostaSottileSpadaSpallaSpargereSpatolaSpaventoSpazzolaSpecieSpedireSpegnereSpelaturaSperanzaSpessoreSpettraleSpezzatoSpiaSpigolosoSpillatoSpinosoSpiraleSplendidoSportivoSposoSprangaSprecareSpronatoSpruzzoSpuntinoSquilloSradicareSrotolatoStabileStaccoStaffaStagnareStampatoStantioStarnutoStaseraStatutoSteloSteppaSterzoStilettoStimaStirpeStivaleStizzosoStonatoStoricoStrappoStregatoStriduloStrozzareStruttoStuccareStufoStupendoSubentroSuccosoSudoreSuggeritoSugoSultanoSuonareSuperboSupportoSurgelatoSurrogatoSussurroSuturaSvagareSvedeseSveglioSvelareSvenutoSveziaSviluppoSvistaSvizzeraSvoltaSvuotareTabaccoTabulatoTacciareTaciturnoTaleTalismanoTamponeTanninoTaraTardivoTargatoTariffaTarpareTartarugaTastoTatticoTavernaTavolataTazzaTecaTecnicoTelefonoTemerarioTempoTemutoTendoneTeneroTensioneTentacoloTeoremaTermeTerrazzoTerzettoTesiTesseratoTestatoTetroTettoiaTifareTigellaTimbroTintoTipicoTipografoTiraggioTiroTitanioTitoloTitubanteTizioTizzoneToccareTollerareToltoTombolaTomoTonfoTonsillaTopazioTopologiaToppaTorbaTornareTorroneTortoraToscanoTossireTostaturaTotanoTraboccoTracheaTrafilaTragediaTralcioTramontoTransitoTrapanoTrarreTraslocoTrattatoTraveTrecciaTremolioTrespoloTributoTrichecoTrifoglioTrilloTrinceaTrioTristezzaTrituratoTrivellaTrombaTronoTroppoTrottolaTrovareTruccatoTubaturaTuffatoTulipanoTumultoTunisiaTurbareTurchinoTutaTutelaUbicatoUccelloUccisoreUdireUditivoUffaUfficioUgualeUlisseUltimatoUmanoUmileUmorismoUncinettoUngereUnghereseUnicornoUnificatoUnisonoUnitarioUnteUovoUpupaUraganoUrgenzaUrloUsanzaUsatoUscitoUsignoloUsuraioUtensileUtilizzoUtopiaVacanteVaccinatoVagabondoVagliatoValangaValgoValicoVallettaValorosoValutareValvolaVampataVangareVanitosoVanoVantaggioVanveraVaporeVaranoVarcatoVarianteVascaVedettaVedovaVedutoVegetaleVeicoloVelcroVelinaVellutoVeloceVenatoVendemmiaVentoVeraceVerbaleVergognaVerificaVeroVerrucaVerticaleVescicaVessilloVestaleVeteranoVetrinaVetustoViandanteVibranteVicendaVichingoVicinanzaVidimareVigiliaVignetoVigoreVileVillanoViminiVincitoreViolaViperaVirgolaVirologoVirulentoViscosoVisioneVispoVissutoVisuraVitaVitelloVittimaVivandaVividoViziareVoceVogaVolatileVolereVolpeVoragineVulcanoZampognaZannaZappatoZatteraZavorraZefiroZelanteZeloZenzeroZerbinoZibettoZincoZirconeZittoZollaZoticoZuccheroZufoloZuluZuppa".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620"!==lo.check(e)))throw Do=null,new Error("BIP39 Wordlist for it (Italian) FAILED")}const _o=new class extends lo{constructor(){super("it")}getWord(e){return Oo(this),Do[e]}getWordIndex(e){return Oo(this),Do.indexOf(e)}};lo.register(_o);const Io="}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN>2),128+Ho.indexOf(Io[3*r+1]),128+Ho.indexOf(Io[3*r+2])];if("zh_tw"===e.locale){for(let e=n%4;e<3;e++)i[e]=Ho.indexOf("FAZDC6BALcLZCA+GBARCW8wNCcDDZ8LVFBOqqDUiou+M42TFAyERXFb7EjhP+vmBFpFrUpfDV2F7eB+eCltCHJFWLFCED+pWTojEIHFXc3aFn4F68zqjEuKidS1QBVPDEhE7NA4mhMF7oThD49ot3FgtzHFCK0acW1x8DH1EmLoIlrWFBLE+y5+NA3Cx65wJHTaEZVaK1mWAmPGxgYCdxwOjTDIt/faOEhTl1vqNsKtJCOhJWuio2g07KLZEQsFBUpNtwEByBgxFslFheFbiEPvi61msDvApxCzB6rBCzox7joYA5UdDc+Cb4FSgIabpXFAj3bjkmFAxCZE+mD/SFf/0ELecYCt3nLoxC6WEZf2tKDB4oZvrEmqFkKk7BwILA7gtYBpsTq//D4jD0F0wEB9pyQ1BD5Ba0oYHDI+sbDFhvrHXdDHfgFEIJLi5r8qercNFBgFLC4bo5ERJtamWBDFy73KCEb6M8VpmEt330ygCTK58EIIFkYgF84gtGA9Uyh3m68iVrFbWFbcbqiCYHZ9J1jeRPbL8yswhMiDbhEhdNoSwFbZrLT740ABEqgCkO8J1BLd1VhKKR4sD1yUo0z+FF59Mvg71CFbyEhbHSFBKEIKyoQNgQppq9T0KAqePu0ZFGrXOHdKJqkoTFhYvpDNyuuznrN84thJbsCoO6Cu6Xlvntvy0QYuAExQEYtTUBf3CoCqwgGFZ4u1HJFzDVwEy3cjcpV4QvsPaBC3rCGyCF23o4K3pp2gberGgFEJEHo4nHICtyKH2ZqyxhN05KBBJIQlKh/Oujv/DH32VrlqFdIFC7Fz9Ct4kaqFME0UETLprnN9kfy+kFmtQBB0+5CFu0N9Ij8l/VvJDh2oq3hT6EzjTHKFN7ZjZwoTsAZ4Exsko6Fpa6WC+sduz8jyrLpegTv2h1EBeYpLpm2czQW0KoCcS0bCVXCmuWJDBjN1nQNLdF58SFJ0h7i3pC3oEOKy/FjBklL70XvBEEIWp2yZ04xObzAWDDJG7f+DbqBEA7LyiR95j7MDVdDViz2RE5vWlBMv5e4+VfhP3aXNPhvLSynb9O2x4uFBV+3jqu6d5pCG28/sETByvmu/+IJ0L3wb4rj9DNOLBF6XPIODr4L19U9RRofAG6Nxydi8Bki8BhGJbBAJKzbJxkZSlF9Q2Cu8oKqggB9hBArwLLqEBWEtFowy8XK8bEyw9snT+BeyFk1ZCSrdmgfEwFePTgCjELBEnIbjaDDPJm36rG9pztcEzT8dGk23SBhXBB1H4z+OWze0ooFzz8pDBYFvp9j9tvFByf9y4EFdVnz026CGR5qMr7fxMHN8UUdlyJAzlTBDRC28k+L4FB8078ljyD91tUj1ocnTs8vdEf7znbzm+GIjEZnoZE5rnLL700Xc7yHfz05nWxy03vBB9YGHYOWxgMQGBCR24CVYNE1hpfKxN0zKnfJDmmMgMmBWqNbjfSyFCBWSCGCgR8yFXiHyEj+VtD1FB3FpC1zI0kFbzifiKTLm9yq5zFmur+q8FHqjoOBWsBPiDbnCC2ErunV6cJ6TygXFYHYp7MKN9RUlSIS8/xBAGYLzeqUnBF4QbsTuUkUqGs6CaiDWKWjQK9EJkjpkTmNCPYXL"[t++])+(0==e?228:128)}Xo[e.locale].push(Pt(i))}if(lo.check(e)!==xo[e.locale])throw Xo[e.locale]=null,new Error("BIP39 Wordlist for "+e.locale+" (Chinese) FAILED")}class Uo extends lo{constructor(e){super("zh_"+e)}getWord(e){return Go(this),Xo[this.locale][e]}getWordIndex(e){return Go(this),Xo[this.locale].indexOf(e)}split(e){return(e=e.replace(/(?:\u3000| )+/g,"")).split("")}}const zo=new Uo("cn");lo.register(zo),lo.register(zo,"zh");const Vo=new Uo("tw");lo.register(Vo);const Zo={cz:co,en:po,es:Mo,fr:Eo,it:_o,ja:Po,ko:No,zh:zo,zh_cn:zo,zh_tw:Vo},jo=new m("hdnode/5.0.1"),Ko=_.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Qo=kt("Bitcoin seed");function qo(e){return(1<=256)throw new Error("Depth too large!");return Wo(w([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",F(this.depth),this.parentFingerprint,L(F(this.index),4),this.chainCode,null!=this.privateKey?w(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new ra(ea,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error("invalid index - "+String(e));let t=this.path;t&&(t+="/"+(2147483647&e));const r=new Uint8Array(37);if(2147483648&e){if(!this.privateKey)throw new Error("cannot derive child of neutered node");r.set(A(this.privateKey),1),t&&(t+="'")}else r.set(A(this.publicKey));for(let t=24;t>=0;t-=8)r[33+(t>>3)]=e>>24-t&255;const n=A(ai(ri.sha512,this.chainCode,r)),i=n.slice(0,32),o=n.slice(32);let a=null,s=null;if(this.privateKey)a=Yo(_.from(i).add(this.privateKey).mod(Ko));else{s=new qi(F(i))._addPoint(this.publicKey)}let l=t;const u=this.mnemonic;return u&&(l=Object.freeze({phrase:u.phrase,path:t,locale:u.locale||"en"})),new ra(ea,a,s,this.fingerprint,Yo(o),e,this.depth+1,l)}derivePath(e){const t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();let r=this;for(let e=0;e=2147483648)throw new Error("invalid path index - "+n);r=r._derive(2147483648+e)}else{if(!n.match(/^[0-9]+$/))throw new Error("invalid path component - "+n);{const e=parseInt(n);if(e>=2147483648)throw new Error("invalid path index - "+n);r=r._derive(e)}}}return r}static _fromSeed(e,t){const r=A(e);if(r.length<16||r.length>64)throw new Error("invalid seed");const n=A(ai(ri.sha512,Qo,r));return new ra(ea,Yo(n.slice(0,32)),null,"0x00000000",Yo(n.slice(32)),0,0,t)}static fromMnemonic(e,t,r){return e=oa(ia(e,r=$o(r)),r),ra._fromSeed(na(e,t),{phrase:e,path:"m",locale:r.locale})}static fromSeed(e){return ra._fromSeed(e,null)}static fromExtendedKey(e){const t=Jr.decode(e);82===t.length&&Wo(t.slice(0,78))===e||jo.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const r=t[4],n=F(t.slice(5,9)),i=parseInt(F(t.slice(9,13)).substring(2),16),o=F(t.slice(13,45)),a=t.slice(45,78);switch(F(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new ra(ea,null,F(a),n,o,i,r,null);case"0x0488ade4":case"0x04358394 ":if(0!==a[0])break;return new ra(ea,F(a.slice(1)),null,n,o,i,r,null)}return jo.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function na(e,t){t||(t="");const r=kt("mnemonic"+t,wt.NFKD);return si(kt(e,wt.NFKD),r,2048,64,"sha512")}function ia(e,t){t=$o(t),jo.checkNormalize();const r=t.split(e);if(r.length%3!=0)throw new Error("invalid mnemonic");const n=A(new Uint8Array(Math.ceil(11*r.length/8)));let i=0;for(let e=0;e>3]|=1<<7-i%8),i++}const o=32*r.length/3,a=qo(r.length/3);if((A(ii(n.slice(0,o/8)))[0]&a)!==(n[n.length-1]&a))throw new Error("invalid checksum");return F(n.slice(0,o/8))}function oa(e,t){if(t=$o(t),(e=A(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");const r=[0];let n=11;for(let t=0;t8?(r[r.length-1]<<=8,r[r.length-1]|=e[t],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[t]>>8-n,r.push(e[t]&(1<<8-n)-1),n+=3);const i=e.length/4,o=A(ii(e))[0]&qo(i);return r[r.length-1]<<=i,r[r.length-1]|=o>>8-i,t.join(r.map(e=>t.getWord(e)))}function aa(e){for(let t=(e=e.slice()).length-1;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}const sa=new m("random/5.0.1");let la=null;try{if(la=window,null==la)throw new Error("try next")}catch(e){try{if(la=global,null==la)throw new Error("try next")}catch(e){la={}}}let ua=la.crypto||la.msCrypto;function ha(e){(e<=0||e>1024||e%1)&&sa.throwArgumentError("invalid length","length",e);const t=new Uint8Array(e);return ua.getRandomValues(t),A(t)}ua&&ua.getRandomValues||(sa.warn("WARNING: Missing strong random number source"),ua={getRandomValues:function(e){return sa.throwError("no secure random source avaialble",m.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var ca=r((function(e,t){!function(t){function r(e){return parseInt(e)===e}function n(e){if(!r(e.length))return!1;for(var t=0;t255)return!1;return!0}function i(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!n(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(r(e.length)&&n(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function o(e){return new Uint8Array(e)}function a(e,t,r,n,i){null==n&&null==i||(e=e.slice?e.slice(n,i):Array.prototype.slice.call(e,n,i)),t.set(e,r)}var s,l={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},u=(s="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+s[15&n])}return t.join("")}}),h={16:10,24:12,32:14},c=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],d=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],f=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],m=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],p=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],g=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],b=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],y=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],M=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],A=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],w=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],S=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],T=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],E=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function F(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=o[t],this._Kd[e-r][t%4]=o[t];for(var a,s=0,l=i;l>16&255]<<24^d[a>>8&255]<<16^d[255&a]<<8^d[a>>24&255]^c[s]<<24,s+=1,8!=i)for(t=1;t>8&255]<<8^d[a>>16&255]<<16^d[a>>24&255]<<24;for(t=i/2+1;t>2,f=l%4,this._Ke[u][f]=o[t],this._Kd[e-u][f]=o[t++],l++}for(var u=1;u>24&255]^S[a>>16&255]^T[a>>8&255]^E[255&a]},k.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=F(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var a=1;a>24&255]^p[n[(i+1)%4]>>16&255]^g[n[(i+2)%4]>>8&255]^v[255&n[(i+3)%4]]^this._Ke[a][i];n=r.slice()}var s,l=o(16);for(i=0;i<4;i++)s=this._Ke[t][i],l[4*i]=255&(d[n[i]>>24&255]^s>>24),l[4*i+1]=255&(d[n[(i+1)%4]>>16&255]^s>>16),l[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^s>>8),l[4*i+3]=255&(d[255&n[(i+3)%4]]^s);return l},k.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=F(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var a=1;a>24&255]^y[n[(i+3)%4]>>16&255]^M[n[(i+2)%4]>>8&255]^A[255&n[(i+1)%4]]^this._Kd[a][i];n=r.slice()}var s,l=o(16);for(i=0;i<4;i++)s=this._Kd[t][i],l[4*i]=255&(f[n[i]>>24&255]^s>>24),l[4*i+1]=255&(f[n[(i+3)%4]>>16&255]^s>>16),l[4*i+2]=255&(f[n[(i+2)%4]>>8&255]^s>>8),l[4*i+3]=255&(f[255&n[(i+1)%4]]^s);return l};var C=function(e){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new k(e)};C.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=o(e.length),r=o(16),n=0;n=0;--t)this._counter[t]=e%256,e>>=8},J.prototype.setBytes=function(e){if(16!=(e=i(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},J.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var R=function(e,t){if(!(this instanceof R))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof J||(t=new J(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new k(e)};R.prototype.encrypt=function(e){for(var t=i(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;n=64;){let f,m,p,g,v,b=r,y=n,M=i,A=o,w=a,S=s,T=l,E=u;for(m=0;m<16;m++)p=c+4*m,h[m]=(255&e[p])<<24|(255&e[p+1])<<16|(255&e[p+2])<<8|255&e[p+3];for(m=16;m<64;m++)f=h[m-2],g=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,f=h[m-15],v=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,h[m]=(g+h[m-7]|0)+(v+h[m-16]|0)|0;for(m=0;m<64;m++)g=(((w>>>6|w<<26)^(w>>>11|w<<21)^(w>>>25|w<<7))+(w&S^~w&T)|0)+(E+(t[m]+h[m]|0)|0)|0,v=((b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10))+(b&y^b&M^y&M)|0,E=T,T=S,S=w,w=A+g|0,A=M,M=y,y=b,b=g+v|0;r=r+b|0,n=n+y|0,i=i+M|0,o=o+A|0,a=a+w|0,s=s+S|0,l=l+T|0,u=u+E|0,c+=64,d-=64}}c(e);let d,f=e.length%64,m=e.length/536870912|0,p=e.length<<3,g=f<56?56:120,v=e.slice(e.length-f,e.length);for(v.push(128),d=f+1;d>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),v.push(p>>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),c(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255]}function n(e,t,n){e=e.length<=64?e:r(e);const i=64+t.length+4,o=new Array(i),a=new Array(64);let s,l=[];for(s=0;s<64;s++)o[s]=54;for(s=0;s=i-4;e--){if(o[e]++,o[e]<=255)return;o[e]=0}}for(;n>=32;)u(),l=l.concat(r(a.concat(r(o)))),n-=32;return n>0&&(u(),l=l.concat(r(a.concat(r(o))).slice(0,n))),l}function i(e,t,r,n,i){let o;for(l(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)s(e,16*o,i,16),a(i,n),l(i,0,e,t+16*o,16);for(o=0;o>>32-t}function a(e,t){l(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=o(t[0]+t[12],7),t[8]^=o(t[4]+t[0],9),t[12]^=o(t[8]+t[4],13),t[0]^=o(t[12]+t[8],18),t[9]^=o(t[5]+t[1],7),t[13]^=o(t[9]+t[5],9),t[1]^=o(t[13]+t[9],13),t[5]^=o(t[1]+t[13],18),t[14]^=o(t[10]+t[6],7),t[2]^=o(t[14]+t[10],9),t[6]^=o(t[2]+t[14],13),t[10]^=o(t[6]+t[2],18),t[3]^=o(t[15]+t[11],7),t[7]^=o(t[3]+t[15],9),t[11]^=o(t[7]+t[3],13),t[15]^=o(t[11]+t[7],18),t[1]^=o(t[0]+t[3],7),t[2]^=o(t[1]+t[0],9),t[3]^=o(t[2]+t[1],13),t[0]^=o(t[3]+t[2],18),t[6]^=o(t[5]+t[4],7),t[7]^=o(t[6]+t[5],9),t[4]^=o(t[7]+t[6],13),t[5]^=o(t[4]+t[7],18),t[11]^=o(t[10]+t[9],7),t[8]^=o(t[11]+t[10],9),t[9]^=o(t[8]+t[11],13),t[10]^=o(t[9]+t[8],18),t[12]^=o(t[15]+t[14],7),t[13]^=o(t[12]+t[15],9),t[14]^=o(t[13]+t[12],13),t[15]^=o(t[14]+t[13],18);for(let r=0;r<16;++r)e[r]+=t[r]}function s(e,t,r,n){for(let i=0;i=256)return!1}return!0}function h(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function c(e,t,r,o,a,c,d){if(r=h(r,"N"),o=h(o,"r"),a=h(a,"p"),c=h(c,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>2147483647/128/o)throw new Error("N too large");if(o>2147483647/128/a)throw new Error("r too large");if(!u(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!u(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);let f=n(e,t,128*a*o);const m=new Uint32Array(32*a*o);for(let e=0;eC&&(t=C);for(let e=0;eC&&(t=C);for(let e=0;e>0&255),f.push(m[e]>>8&255),f.push(m[e]>>16&255),f.push(m[e]>>24&255);const u=n(e,f,c);return d&&d(null,1,u),u}d&&B(P)};if(!d)for(;;){const e=P();if(null!=e)return e}P()}const d={scrypt:function(e,t,r,n,i,o,a){return new Promise((function(s,l){let u=0;a&&a(0),c(e,t,r,n,i,o,(function(e,t,r){if(e)l(e);else if(r)a&&1!==u&&a(1),s(new Uint8Array(r));else if(a&&t!==u)return u=t,a(t)}))}))},syncScrypt:function(e,t,r,n,i,o){return new Uint8Array(c(e,t,r,n,i,o))}};e.exports=d}()})),Sa=wa.scrypt,Ta=wa.syncScrypt;if(e.crypto&&crypto.getRandomValues){var Ea=new Uint8Array(16);Aa=function(){return crypto.getRandomValues(Ea),Ea}}if(!Aa){var Fa=new Array(16);Aa=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),Fa[t]=e>>>((3&t)<<3)&255;return Fa}}for(var ka=Aa,Ca=[],Ba={},Pa=0;Pa<256;Pa++)Ca[Pa]=(Pa+256).toString(16).substr(1),Ba[Ca[Pa]]=Pa;function La(e,t){var r=t||0,n=Ca;return n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]}var Ja=ka(),Ra=[1|Ja[0],Ja[1],Ja[2],Ja[3],Ja[4],Ja[5]],Na=16383&(Ja[6]<<8|Ja[7]),Da=0,Oa=0;function _a(e,t,r){var n=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||ka)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var o=0;o<16;o++)t[n+o]=i[o];return t||La(i)}var Ia=_a;Ia.v1=function(e,t,r){var n=t&&r||0,i=t||[],o=void 0!==(e=e||{}).clockseq?e.clockseq:Na,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),s=void 0!==e.nsecs?e.nsecs:Oa+1,l=a-Da+(s-Oa)/1e4;if(l<0&&void 0===e.clockseq&&(o=o+1&16383),(l<0||a>Da)&&void 0===e.nsecs&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Da=a,Oa=s,Na=o;var u=(1e4*(268435455&(a+=122192928e5))+s)%4294967296;i[n++]=u>>>24&255,i[n++]=u>>>16&255,i[n++]=u>>>8&255,i[n++]=255&u;var h=a/4294967296*1e4&268435455;i[n++]=h>>>8&255,i[n++]=255&h,i[n++]=h>>>24&15|16,i[n++]=h>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var c=e.node||Ra,d=0;d<6;d++)i[n+d]=c[d];return t||La(i)},Ia.v4=_a,Ia.parse=function(e,t,r){var n=t&&r||0,i=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,(function(e){i<16&&(t[n+i++]=Ba[e])}));i<16;)t[n+i++]=0;return t},Ia.unparse=La;var Xa=Ia,xa=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Ha=new m("json-wallets/5.0.1");function Ga(e){return null!=e&&e.mnemonic&&e.mnemonic.phrase}class Ua extends ue{isKeystoreAccount(e){return!(!e||!e._isKeystoreAccount)}}function za(e,t){const r=da(pa(e,"crypto/ciphertext"));if(F(_e(w([t.slice(16,32),r]))).substring(2)!==pa(e,"crypto/mac").toLowerCase())throw new Error("invalid password");const n=function(e,t,r){if("aes-128-ctr"===pa(e,"crypto/cipher")){const n=da(pa(e,"crypto/cipherparams/iv")),i=new ca.Counter(n);return A(new ca.ModeOfOperation.ctr(t,i).decrypt(r))}return null}(e,t.slice(0,16),r);n||Ha.throwError("unsupported cipher",m.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=t.slice(32,64),o=no(n);if(e.address){let t=e.address.toLowerCase();if("0x"!==t.substring(0,2)&&(t="0x"+t),We(t)!==o)throw new Error("address mismatch")}const a={_isKeystoreAccount:!0,address:o,privateKey:F(n)};if("0.1"===pa(e,"x-ethers/version")){const t=da(pa(e,"x-ethers/mnemonicCiphertext")),r=da(pa(e,"x-ethers/mnemonicCounter")),n=new ca.Counter(r),o=new ca.ModeOfOperation.ctr(i,n),s=pa(e,"x-ethers/path")||ta,l=pa(e,"x-ethers/locale")||"en",u=A(o.decrypt(t));try{const e=oa(u,l),t=ra.fromMnemonic(e,null,l).derivePath(s);if(t.privateKey!=a.privateKey)throw new Error("mnemonic mismatch");a.mnemonic=t.mnemonic}catch(e){if(e.code!==m.errors.INVALID_ARGUMENT||"wordlist"!==e.argument)throw e}}return new Ua(a)}function Va(e,t,r,n,i){return A(si(e,t,r,n,i))}function Za(e,t,r,n,i){return Promise.resolve(Va(e,t,r,n,i))}function ja(e,t,r,n,i){const o=ma(t),a=pa(e,"crypto/kdf");if(a&&"string"==typeof a){const t=function(e,t){return Ha.throwArgumentError("invalid key-derivation function parameters",e,t)};if("scrypt"===a.toLowerCase()){const r=da(pa(e,"crypto/kdfparams/salt")),s=parseInt(pa(e,"crypto/kdfparams/n")),l=parseInt(pa(e,"crypto/kdfparams/r")),u=parseInt(pa(e,"crypto/kdfparams/p"));s&&l&&u||t("kdf",a),0!=(s&s-1)&&t("N",s);const h=parseInt(pa(e,"crypto/kdfparams/dklen"));return 32!==h&&t("dklen",h),n(o,r,s,l,u,64,i)}if("pbkdf2"===a.toLowerCase()){const n=da(pa(e,"crypto/kdfparams/salt"));let i=null;const a=pa(e,"crypto/kdfparams/prf");"hmac-sha256"===a?i="sha256":"hmac-sha512"===a?i="sha512":t("prf",a);const s=parseInt(pa(e,"crypto/kdfparams/c")),l=parseInt(pa(e,"crypto/kdfparams/dklen"));return 32!==l&&t("dklen",l),r(o,n,s,l,i)}}return Ha.throwArgumentError("unsupported key-derivation function","kdf",a)}function Ka(e,t,r){if(ya(e)){r&&r(0);const n=ba(e,t);return r&&r(1),Promise.resolve(n)}return Ma(e)?function(e,t,r){return xa(this,void 0,void 0,(function*(){const n=JSON.parse(e);return za(n,yield ja(n,t,Za,Sa,r))}))}(e,t,r):Promise.reject(new Error("invalid JSON wallet"))}function Qa(e,t){if(ya(e))return ba(e,t);if(Ma(e))return function(e,t){const r=JSON.parse(e);return za(r,ja(r,t,Va,Ta))}(e,t);throw new Error("invalid JSON wallet")}const qa=new m("wallet/5.0.1");class Ya extends mr{constructor(e,t){if(qa.checkNew(new.target,Ya),super(),null!=(r=e)&&E(r.privateKey,32)&&null!=r.address){const t=new qi(e.privateKey);if(te(this,"_signingKey",()=>t),te(this,"address",no(this.publicKey)),this.address!==We(e.address)&&qa.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(e){const t=e.mnemonic;return t&&t.phrase}(e)){const t=e.mnemonic;te(this,"_mnemonic",()=>({phrase:t.phrase,path:t.path||ta,locale:t.locale||"en"}));const r=this.mnemonic;no(ra.fromMnemonic(r.phrase,null,r.locale).derivePath(r.path).privateKey)!==this.address&&qa.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else te(this,"_mnemonic",()=>null)}else{if(qi.isSigningKey(e))"secp256k1"!==e.curve&&qa.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),te(this,"_signingKey",()=>e);else{const t=new qi(e);te(this,"_signingKey",()=>t)}te(this,"_mnemonic",()=>null),te(this,"address",no(this.publicKey))}var r;t&&!hr.isProvider(t)&&qa.throwArgumentError("invalid provider","provider",t),te(this,"provider",t||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(e){return new Ya(this,e)}signTransaction(e){return ne(e).then(e=>{if(null!=e.from){if(We(e.from)!==this.address)throw new Error("transaction from address mismatch");delete e.from}const t=this._signingKey().signDigest(_e(oo(e)));return oo(e,t)})}signMessage(e){return Promise.resolve(R(this._signingKey().signDigest(tr(e))))}encrypt(e,t,r){if("function"!=typeof t||r||(r=t,t={}),r&&"function"!=typeof r)throw new Error("invalid callback");return t||(t={}),function(e,t,r,n){try{if(We(e.address)!==no(e.privateKey))throw new Error("address/privateKey mismatch");if(Ga(e)){const t=e.mnemonic;if(ra.fromMnemonic(t.phrase,null,t.locale).derivePath(t.path||ta).privateKey!=e.privateKey)throw new Error("mnemonic mismatch")}}catch(e){return Promise.reject(e)}"function"!=typeof r||n||(n=r,r={}),r||(r={});const i=A(e.privateKey),o=ma(t);let a=null,s=null,l=null;if(Ga(e)){const t=e.mnemonic;a=A(ia(t.phrase,t.locale||"en")),s=t.path||ta,l=t.locale||"en"}let u=r.client;u||(u="ethers.js");let h=null;h=r.salt?A(r.salt):ha(32);let c=null;if(r.iv){if(c=A(r.iv),16!==c.length)throw new Error("invalid iv")}else c=ha(16);let d=null;if(r.uuid){if(d=A(r.uuid),16!==d.length)throw new Error("invalid uuid")}else d=ha(16);let f=1<<17,m=8,p=1;return r.scrypt&&(r.scrypt.N&&(f=r.scrypt.N),r.scrypt.r&&(m=r.scrypt.r),r.scrypt.p&&(p=r.scrypt.p)),Sa(o,h,f,m,p,64,n).then(t=>{const r=(t=A(t)).slice(0,16),n=t.slice(16,32),o=t.slice(32,64),g=new ca.Counter(c),v=A(new ca.ModeOfOperation.ctr(r,g).encrypt(i)),b=_e(w([n,v])),y={address:e.address.substring(2).toLowerCase(),id:Xa.v4({random:d}),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:F(c).substring(2)},ciphertext:F(v).substring(2),kdf:"scrypt",kdfparams:{salt:F(h).substring(2),n:f,dklen:32,p:p,r:m},mac:b.substring(2)}};if(a){const e=ha(16),t=new ca.Counter(e),r=A(new ca.ModeOfOperation.ctr(o,t).encrypt(a)),n=new Date,i=n.getUTCFullYear()+"-"+fa(n.getUTCMonth()+1,2)+"-"+fa(n.getUTCDate(),2)+"T"+fa(n.getUTCHours(),2)+"-"+fa(n.getUTCMinutes(),2)+"-"+fa(n.getUTCSeconds(),2)+".0Z";y["x-ethers"]={client:u,gethFilename:"UTC--"+i+"--"+y.address,mnemonicCounter:F(e).substring(2),mnemonicCiphertext:F(r).substring(2),path:s,locale:l,version:"0.1"}}return JSON.stringify(y)})}(this,e,t,r)}static createRandom(e){let t=ha(16);e||(e={}),e.extraEntropy&&(t=A(C(_e(w([t,e.extraEntropy])),0,16)));const r=oa(t,e.locale);return Ya.fromMnemonic(r,e.path,e.locale)}static fromEncryptedJson(e,t,r){return Ka(e,t,r).then(e=>new Ya(e))}static fromEncryptedJsonSync(e,t){return new Ya(Qa(e,t))}static fromMnemonic(e,t,r){return t||(t=ta),new Ya(ra.fromMnemonic(e,null,r).derivePath(t))}}const Wa=new m("networks/5.0.1");function $a(e){return function(t,r){null==r&&(r={});const n=[];if(t.InfuraProvider)try{n.push(new t.InfuraProvider(e,r.infura))}catch(e){}if(t.EtherscanProvider)try{n.push(new t.EtherscanProvider(e,r.etherscan))}catch(e){}if(t.AlchemyProvider)try{n.push(new t.AlchemyProvider(e,r.alchemy))}catch(e){}if(t.CloudflareProvider)try{n.push(new t.CloudflareProvider(e))}catch(e){}if(0===n.length)return null;if(t.FallbackProvider){let i=1;return null!=r.quorum?i=r.quorum:"homestead"===e&&(i=2),new t.FallbackProvider(n,i)}return n[0]}}function es(e,t){return function(r,n){return r.JsonRpcProvider?new r.JsonRpcProvider(e,t):null}}const ts={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:$a("homestead")},rs={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:$a("ropsten")},ns={chainId:63,name:"classicMordor",_defaultProvider:es("https://www.ethercluster.com/mordor","classicMordor")},is={unspecified:{chainId:0,name:"unspecified"},homestead:ts,mainnet:ts,morden:{chainId:2,name:"morden"},ropsten:rs,testnet:rs,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:$a("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:$a("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:$a("goerli")},classic:{chainId:61,name:"classic",_defaultProvider:es("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:ns,classicTestnet:ns,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:es("https://www.ethercluster.com/kotti","classicKotti")}};function os(e){if(null==e)return null;if("number"==typeof e){for(const t in is){const r=is[t];if(r.chainId===e)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){const t=is[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}const t=is[e.name];return t?(0!==e.chainId&&e.chainId!==t.chainId&&Wa.throwArgumentError("network chainId mismatch","network",e),{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:e._defaultProvider||t._defaultProvider||null}):("number"!=typeof e.chainId&&Wa.throwArgumentError("invalid network chainId","network",e),e)}function as(e){e=A(e);let t="";for(let r=0;r0&&(s=e.timeout),e.headers)for(const t in e.headers)n[t.toLowerCase()]={key:t,value:String(e.headers[t])},["if-none-match","if-modified-since"].indexOf(t.toLowerCase())>=0&&(a=!0);if(null!=e.user&&null!=e.password){"https:"!==i.substring(0,6)&&!0!==e.allowInsecureAuthentication&&hs.throwError("basic authentication requires a secure https url",m.errors.INVALID_ARGUMENT,{argument:"url",url:i,user:e.user,password:"[REDACTED]"});const t=e.user+":"+e.password;n.authorization={key:"Authorization",value:"Basic "+as(kt(t))}}}t&&(o.method="POST",o.body=t,n["content-type"]={key:"Content-Type",value:"application/json"});const l={};Object.keys(n).forEach(e=>{const t=n[e];l[t.key]=t.value}),o.headers=l;const u=function(){let e=null;return{promise:new Promise((function(t,r){s&&(e=setTimeout(()=>{null!=e&&(e=null,r(hs.makeError("timeout",m.errors.TIMEOUT,{requestBody:o.body||null,requestMethod:o.method,timeout:s,url:i})))},s))})),cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),h=function(){return us(this,void 0,void 0,(function*(){let e=null;try{e=yield function(e,t){return ls(this,void 0,void 0,(function*(){null==t&&(t={});const r={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0,mode:"cors",cache:"no-cache",credentials:"same-origin",redirect:"follow",referrer:"client"},n=yield fetch(e,r),i=yield n.text(),o={};return n.headers.forEach?n.headers.forEach((e,t)=>{o[t.toLowerCase()]=e}):n.headers.keys().forEach(e=>{o[e.toLowerCase()]=n.headers.get(e)}),{headers:o,statusCode:n.status,statusMessage:n.statusText,body:i}}))}(i,o)}catch(t){e=t.response,null==e&&(u.cancel(),hs.throwError("missing response",m.errors.SERVER_ERROR,{requestBody:o.body||null,requestMethod:o.method,serverError:t,url:i}))}let t=e.body;a&&304===e.statusCode?t=null:(e.statusCode<200||e.statusCode>=300)&&(u.cancel(),hs.throwError("bad response",m.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:t,requestBody:o.body||null,requestMethod:o.method,url:i})),u.cancel();let n=null;if(null!=t)try{n=JSON.parse(t)}catch(e){hs.throwError("invalid JSON",m.errors.SERVER_ERROR,{body:t,error:e,requestBody:o.body||null,requestMethod:o.method,url:i})}if(r)try{n=yield r(n,e)}catch(e){hs.throwError("processing response error",m.errors.SERVER_ERROR,{body:n,error:e,requestBody:o.body||null,requestMethod:o.method,url:i})}return n}))}();return Promise.race([u.promise,h])}function ds(e,t){return t||(t={}),null==(t=oe(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(r,n){let i=null,o=!1;const a=()=>!o&&(o=!0,i&&clearTimeout(i),!0);t.timeout&&(i=setTimeout(()=>{a()&&n(new Error("timeout"))},t.timeout));const s=t.retryLimit;let l=0;!function i(){return e().then((function(e){if(void 0!==e)a()&&r(e);else if(t.oncePoll)t.oncePoll.once("poll",i);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!o){if(l++,l>s)return void(a()&&n(new Error("retry limit reached")));let e=t.interval*parseInt(String(Math.random()*Math.pow(2,l)));et.ceiling&&(e=t.ceiling),setTimeout(i,e)}return null}),(function(e){a()&&n(e)}))}()}))}const fs="providers/5.0.2",ms=new m(fs);class ps{constructor(){ms.checkNew(new.target,ps),this.formats=this.getDefaultFormats()}getDefaultFormats(){const e={},t=this.address.bind(this),r=this.bigNumber.bind(this),n=this.blockTag.bind(this),i=this.data.bind(this),o=this.hash.bind(this),a=this.hex.bind(this),s=this.number.bind(this);return e.transaction={hash:o,blockHash:ps.allowNull(o,null),blockNumber:ps.allowNull(s,null),transactionIndex:ps.allowNull(s,null),confirmations:ps.allowNull(s,null),from:t,gasPrice:r,gasLimit:r,to:ps.allowNull(t,null),value:r,nonce:s,data:i,r:ps.allowNull(this.uint256),s:ps.allowNull(this.uint256),v:ps.allowNull(s),creates:ps.allowNull(t,null),raw:ps.allowNull(i)},e.transactionRequest={from:ps.allowNull(t),nonce:ps.allowNull(s),gasLimit:ps.allowNull(r),gasPrice:ps.allowNull(r),to:ps.allowNull(t),value:ps.allowNull(r),data:ps.allowNull(e=>this.data(e,!0))},e.receiptLog={transactionIndex:s,blockNumber:s,transactionHash:o,address:t,topics:ps.arrayOf(o),data:i,logIndex:s,blockHash:o},e.receipt={to:ps.allowNull(this.address,null),from:ps.allowNull(this.address,null),contractAddress:ps.allowNull(t,null),transactionIndex:s,root:ps.allowNull(o),gasUsed:r,logsBloom:ps.allowNull(i),blockHash:o,transactionHash:o,logs:ps.arrayOf(this.receiptLog.bind(this)),blockNumber:s,confirmations:ps.allowNull(s,null),cumulativeGasUsed:r,status:ps.allowNull(s)},e.block={hash:o,parentHash:o,number:s,timestamp:s,nonce:ps.allowNull(a),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:t,extraData:i,transactions:ps.allowNull(ps.arrayOf(o))},e.blockWithTransactions=oe(e.block),e.blockWithTransactions.transactions=ps.allowNull(ps.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:ps.allowNull(n,void 0),toBlock:ps.allowNull(n,void 0),blockHash:ps.allowNull(o,void 0),address:ps.allowNull(t,void 0),topics:ps.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:ps.allowNull(s),blockHash:ps.allowNull(o),transactionIndex:s,removed:ps.allowNull(this.boolean.bind(this)),address:t,data:ps.allowFalsish(i,"0x"),topics:ps.arrayOf(o),transactionHash:o,logIndex:s},e}number(e){return _.from(e).toNumber()}bigNumber(e){return _.from(e)}boolean(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)}hex(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),E(e))?e.toLowerCase():ms.throwArgumentError("invalid hash","value",e)}data(e,t){const r=this.hex(e,t);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+e);return r}address(e){return We(e)}callAddress(e){if(!E(e,32))return null;const t=We(C(e,12));return t===ct?null:t}contractAddress(e){return $e(e)}blockTag(e){if(null==e)return"latest";if("earliest"===e)return"0x0";if("latest"===e||"pending"===e)return e;if("number"==typeof e||E(e))return B(e);throw new Error("invalid blockTag")}hash(e,t){const r=this.hex(e,t);return 32!==k(r)?ms.throwArgumentError("invalid hash","value",e):r}difficulty(e){if(null==e)return null;const t=_.from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!E(e))throw new Error("invalid uint256");return L(e,32)}_block(e,t){return null!=e.author&&null==e.miner&&(e.miner=e.author),ps.check(t,e)}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return ps.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&_.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e));const t=ps.check(this.formats.transaction,e);if(null!=e.chainId){let r=e.chainId;E(r)&&(r=_.from(r).toNumber()),t.chainId=r}else{let r=e.networkId;null==r&&null==t.v&&(r=e.chainId),E(r)&&(r=_.from(r).toNumber()),"number"!=typeof r&&null!=t.v&&(r=(t.v-35)/2,r<0&&(r=0),r=parseInt(r)),"number"!=typeof r&&(r=0),t.chainId=r}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return ao(e)}receiptLog(e){return ps.check(this.formats.receiptLog,e)}receipt(e){const t=ps.check(this.formats.receipt,e);return null!=e.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map(e=>this.topics(e)):null!=e?this.hash(e,!0):null}filter(e){return ps.check(this.formats.filter,e)}filterLog(e){return ps.check(this.formats.filterLog,e)}static check(e,t){const r={};for(const n in e)try{const i=e[n](t[n]);void 0!==i&&(r[n]=i)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r}static allowNull(e,t){return function(r){return null==r?t:e(r)}}static allowFalsish(e,t){return function(r){return r?e(r):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");const r=[];return t.forEach((function(t){r.push(e(t))})),r}}}var gs=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const vs=new m(fs);function bs(e){return null==e?"null":(32!==k(e)&&vs.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function ys(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map(e=>{if(Array.isArray(e)){const t={};e.forEach(e=>{t[bs(e)]=!0});const r=Object.keys(t);return r.sort(),r.join("|")}return bs(e)}).join("&")}function Ms(e){if("string"==typeof e){if(32===k(e=e.toLowerCase()))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+ys(e);if(ur.isForkEvent(e))throw vs.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+ys(e.topics||[])}throw new Error("invalid event - "+e)}function As(){return(new Date).getTime()}const ws=["block","network","pending","poll"];class Ss{constructor(e,t,r){te(this,"tag",e),te(this,"listener",t),te(this,"once",r)}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return"tx"!==e[0]?null:e[1]}get filter(){const e=this.tag.split(":");if("filter"!==e[0])return null;const t=e[1],r=function(e){return""===e?[]:e.split(/&/g).map(e=>{if(""===e)return[];const t=e.split("|").map(e=>"null"===e?null:e);return 1===t.length?t[0]:t})}(e[2]),n={};return r.length>0&&(n.topics=r),t&&"*"!==t&&(n.address=t),n}pollable(){return this.tag.indexOf(":")>=0||ws.indexOf(this.tag)>=0}}let Ts=null,Es=1;class Fs extends hr{constructor(e){if(vs.checkNew(new.target,hr),super(),this._events=[],this._emitted={block:-2},this.formatter=new.target.getFormatter(),te(this,"anyNetwork","any"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(e=>{}),this._ready().catch(e=>{});else{const t=re(new.target,"getNetwork")(e);t?(te(this,"_network",t),this.emit("network",t,null)):vs.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return gs(this,void 0,void 0,(function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||vs.throwError("no network detected",m.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:te(this,"_network",e),this.emit("network",e,null))}return this._network}))}get ready(){return ds(()=>this._ready().then(e=>e,e=>{if(e.code!==m.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))}static getFormatter(){return null==Ts&&(Ts=new ps),Ts}static getNetwork(e){return os(null==e?"homestead":e)}_getInternalBlockNumber(e){return gs(this,void 0,void 0,(function*(){yield this._ready();const t=this._internalBlockNumber;if(e>0&&this._internalBlockNumber){const r=yield t;if(As()-r.respTime<=e)return r.blockNumber}const r=As(),n=ne({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(e=>null,e=>e)}).then(({blockNumber:e,networkError:t})=>{if(t)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),t;const i=As();return(e=_.from(e).toNumber())1e3)vs.warn("network block skew detected; skipping block events"),this.emit("error",vs.makeError("network block skew detected",m.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(let e=this._emitted.block+1;e<=r;e++)this.emit("block",e);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach(e=>{if("block"===e)return;const t=this._emitted[e];"pending"!==t&&r-t>12&&delete this._emitted[e]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach(e=>{switch(e.type){case"tx":{const r=e.hash;let n=this.getTransactionReceipt(r).then(e=>e&&null!=e.blockNumber?(this._emitted["t:"+r]=e.blockNumber,this.emit(r,e),null):null).catch(e=>{this.emit("error",e)});t.push(n);break}case"filter":{const n=e.filter;n.fromBlock=this._lastBlockNumber+1,n.toBlock=r;const i=this.getLogs(n).then(e=>{0!==e.length&&e.forEach(e=>{this._emitted["b:"+e.blockHash]=e.blockNumber,this._emitted["t:"+e.transactionHash]=e.blockNumber,this.emit(n,e)})}).catch(e=>{this.emit("error",e)});t.push(i);break}}}),this._lastBlockNumber=r,Promise.all(t).then(()=>{this.emit("didPoll",e)}),null}this.emit("didPoll",e)}))}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return gs(this,void 0,void 0,(function*(){return vs.throwError("provider does not support network detection",m.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return gs(this,void 0,void 0,(function*(){const e=yield this._ready(),t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),yield(r=0,new Promise(e=>{setTimeout(e,r)})),this._network;const n=vs.makeError("underlying network changed",m.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",n),n}var r;return e}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const e=As();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){null!=this._fastBlockNumber&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,r){return gs(this,void 0,void 0,(function*(){null==t&&(t=1);const n=yield this.getTransactionReceipt(e);return(n?n.confirmations:0)>=t?n:new Promise((n,i)=>{let o=null,a=!1;const s=r=>{r.confirmations0&&(o=setTimeout(()=>{a||(o=null,a=!0,this.removeListener(e,s),i(vs.makeError("timeout exceeded",m.errors.TIMEOUT,{timeout:r})))},r),o.unref&&o.unref())})}))}getBlockNumber(){return gs(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return gs(this,void 0,void 0,(function*(){return yield this.getNetwork(),_.from(yield this.perform("getGasPrice",{}))}))}getBalance(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)});return _.from(yield this.perform("getBalance",r))}))}getTransactionCount(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)});return _.from(yield this.perform("getTransactionCount",r)).toNumber()}))}getCode(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(t)});return F(yield this.perform("getCode",r))}))}getStorageAt(e,t,r){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield ne({address:this._getAddress(e),blockTag:this._getBlockTag(r),position:Promise.resolve(t).then(e=>B(e))});return F(yield this.perform("getStorageAt",n))}))}_wrapTransaction(e,t){if(null!=t&&32!==k(t))throw new Error("invalid response - sendTransaction");const r=e;return null!=t&&e.hash!==t&&vs.throwError("Transaction hash mismatch from Provider.sendTransaction.",m.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),r.wait=t=>gs(this,void 0,void 0,(function*(){0!==t&&(this._emitted["t:"+e.hash]="pending");const r=yield this.waitForTransaction(e.hash,t);return null==r&&0===t?null:(this._emitted["t:"+e.hash]=r.blockNumber,0===r.status&&vs.throwError("transaction failed",m.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:r}),r)})),r}sendTransaction(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield Promise.resolve(e).then(e=>F(e)),r=this.formatter.transaction(e);try{const e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(r,e)}catch(e){throw e.transaction=r,e.transactionHash=r.hash,e}}))}_getTransactionRequest(e){return gs(this,void 0,void 0,(function*(){const t=yield e,r={};return["from","to"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?this._getAddress(e):null))}),["gasLimit","gasPrice","value"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?_.from(e):null))}),["data"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?F(e):null))}),this.formatter.transactionRequest(yield ne(r))}))}_getFilter(e){return gs(this,void 0,void 0,(function*(){e=yield e;const t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach(r=>{null!=e[r]&&(t[r]=e[r])}),["fromBlock","toBlock"].forEach(r=>{null!=e[r]&&(t[r]=this._getBlockTag(e[r]))}),this.formatter.filter(yield ne(t))}))}call(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield ne({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t)});return F(yield this.perform("call",r))}))}estimateGas(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield ne({transaction:this._getTransactionRequest(e)});return _.from(yield this.perform("estimateGas",t))}))}_getAddress(e){return gs(this,void 0,void 0,(function*(){const t=yield this.resolveName(e);return null==t&&vs.throwError("ENS name not configured",m.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(e)})`}),t}))}_getBlock(e,t){return gs(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;let r=-128;const n={includeTransactions:!!t};if(E(e,32))n.blockHash=e;else try{n.blockTag=this.formatter.blockTag(yield this._getBlockTag(e)),E(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16))}catch(t){vs.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e)}return ds(()=>gs(this,void 0,void 0,(function*(){const e=yield this.perform("getBlock",n);if(null==e)return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?null:void 0;if(t){let t=null;for(let r=0;rgs(this,void 0,void 0,(function*(){const r=yield this.perform("getTransaction",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;const n=this.formatter.transactionResponse(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}return this._wrapTransaction(n)})),{oncePoll:this})}))}getTransactionReceipt(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork(),e=yield e;const t={transactionHash:this.formatter.hash(e,!0)};return ds(()=>gs(this,void 0,void 0,(function*(){const r=yield this.perform("getTransactionReceipt",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;if(null==r.blockHash)return;const n=this.formatter.receipt(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;e<=0&&(e=1),n.confirmations=e}return n})),{oncePoll:this})}))}getLogs(e){return gs(this,void 0,void 0,(function*(){yield this.getNetwork();const t=yield ne({filter:this._getFilter(e)}),r=yield this.perform("getLogs",t);return r.forEach(e=>{null==e.removed&&(e.removed=!1)}),ps.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)}))}getEtherPrice(){return gs(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(e){return gs(this,void 0,void 0,(function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&vs.throwArgumentError("invalid BlockTag","blockTag",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return t+=e,t<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)}))}_getResolver(e){return gs(this,void 0,void 0,(function*(){const t=yield this.getNetwork();t.ensAddress||vs.throwError("network does not support ENS",m.errors.UNSUPPORTED_OPERATION,{operation:"ENS",network:t.name});const r={to:t.ensAddress,data:"0x0178b8bf"+$t(e).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}resolveName(e){return gs(this,void 0,void 0,(function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if(E(e))throw t}"string"!=typeof e&&vs.throwArgumentError("invalid ENS name","name",e);const t=yield this._getResolver(e);if(!t)return null;const r={to:t,data:"0x3b3b57de"+$t(e).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}lookupAddress(e){return gs(this,void 0,void 0,(function*(){e=yield e;const t=(e=this.formatter.address(e)).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(t);if(!r)return null;let n=A(yield this.call({to:r,data:"0x691f3431"+$t(t).substring(2)}));if(n.length<32||!_.from(n.slice(0,32)).eq(32))return null;if(n=n.slice(32),n.length<32)return null;const i=_.from(n.slice(0,32)).toNumber();if(n=n.slice(32),i>n.length)return null;const o=Pt(n.slice(0,i));return(yield this.resolveName(o))!=e?null:o}))}perform(e,t){return vs.throwError(e+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_addEventListener(e,t,r){const n=new Ss(Ms(e),t,r);return this._events.push(n),this._startEvent(n),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let r=!1,n=[],i=Ms(e);return this._events=this._events.filter(e=>e.tag!==i||(setTimeout(()=>{e.listener.apply(this,t)},0),r=!0,!e.once||(n.push(e),!1))),n.forEach(e=>{this._stopEvent(e)}),r}listenerCount(e){if(!e)return this._events.length;let t=Ms(e);return this._events.filter(e=>e.tag===t).length}listeners(e){if(null==e)return this._events.map(e=>e.listener);let t=Ms(e);return this._events.filter(e=>e.tag===t).map(e=>e.listener)}off(e,t){if(null==t)return this.removeAllListeners(e);const r=[];let n=!1,i=Ms(e);return this._events=this._events.filter(e=>e.tag!==i||e.listener!=t||(!!n||(n=!0,r.push(e),!1))),r.forEach(e=>{this._stopEvent(e)}),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{const r=Ms(e);this._events=this._events.filter(e=>e.tag!==r||(t.push(e),!1))}return t.forEach(e=>{this._stopEvent(e)}),this}}var ks=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Cs=new m(fs);function Bs(e){return new Promise((function(t){setTimeout(t,e)}))}function Ps(e){if(e.error){const t=new Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function Ls(e){return e?e.toLowerCase():e}const Js={};class Rs extends mr{constructor(e,t,r){if(Cs.checkNew(new.target,Rs),super(),e!==Js)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");te(this,"provider",t),null==r&&(r=0),"string"==typeof r?(te(this,"_address",this.provider.formatter.address(r)),te(this,"_index",null)):"number"==typeof r?(te(this,"_index",r),te(this,"_address",null)):Cs.throwArgumentError("invalid address or index","addressOrIndex",r)}connect(e){return Cs.throwError("cannot alter JSON-RPC Signer connection",m.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new Ns(Js,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(e=>(e.length<=this._index&&Cs.throwError("unknown account #"+this._index,m.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=oe(e);const t=this.getAddress().then(e=>(e&&(e=e.toLowerCase()),e));if(null==e.gasLimit){const r=oe(e);r.from=t,e.gasLimit=this.provider.estimateGas(r)}return ne({tx:ne(e),sender:t}).then(({tx:t,sender:r})=>{null!=t.from?t.from.toLowerCase()!==r&&Cs.throwArgumentError("from address mismatch","transaction",e):t.from=r;const n=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[n]).then(e=>e,e=>{throw e.responseText&&(e.responseText.indexOf("insufficient funds")>=0&&Cs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{transaction:t}),e.responseText.indexOf("nonce too low")>=0&&Cs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{transaction:t}),e.responseText.indexOf("replacement transaction underpriced")>=0&&Cs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{transaction:t})),e})})}signTransaction(e){return Cs.throwError("signing transactions is unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return this.sendUncheckedTransaction(e).then(e=>ds(()=>this.provider.getTransaction(e).then(t=>{if(null!==t)return this.provider._wrapTransaction(t,e)}),{onceBlock:this.provider}).catch(t=>{throw t.transactionHash=e,t}))}signMessage(e){const t="string"==typeof e?kt(e):e;return this.getAddress().then(e=>this.provider.send("eth_sign",[e.toLowerCase(),F(t)]))}unlock(e){const t=this.provider;return this.getAddress().then((function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])}))}}class Ns extends Rs{sendTransaction(e){return this.sendUncheckedTransaction(e).then(e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)}))}}const Ds={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};class Os extends Fs{constructor(e,t){Cs.checkNew(new.target,Os);let r=t;null==r&&(r=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(t=>{e(t)},e=>{t(e)})},0)})),super(r),e||(e=re(this.constructor,"defaultUrl")()),te(this,"connection","string"==typeof e?Object.freeze({url:e}):Object.freeze(oe(e))),this._nextId=42}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return ks(this,void 0,void 0,(function*(){yield Bs(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch(t){try{e=yield this.send("net_version",[])}catch(e){}}if(null!=e){const t=re(this.constructor,"getNetwork");try{return t(_.from(e).toNumber())}catch(t){return Cs.throwError("could not detect network",m.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})}}return Cs.throwError("could not detect network",m.errors.NETWORK_ERROR,{event:"noNetwork"})}))}getSigner(e){return new Rs(Js,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(e=>e.map(e=>this.formatter.address(e)))}send(e,t){const r={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:le(r),provider:this}),cs(this.connection,JSON.stringify(r),Ps).then(e=>(this.emit("debug",{action:"response",request:r,response:e,provider:this}),e),e=>{throw this.emit("debug",{action:"response",error:e,request:r,provider:this}),e})}prepareRequest(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Ls(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Ls(t.address),t.blockTag]];case"getCode":return["eth_getCode",[Ls(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Ls(t.address),t.position,t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[re(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[re(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=Ls(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){const r=this.prepareRequest(e,t);return null==r&&Cs.throwError(e+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:e}),"sendTransaction"===e?this.send(r[0],r[1]).catch(e=>{throw e.responseText&&(e.responseText.indexOf("insufficient funds")>0&&Cs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("nonce too low")>0&&Cs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("replacement transaction underpriced")>0&&Cs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),e}):this.send(r[0],r[1])}_startEvent(e){"pending"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;const e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then((function(r){return function n(){e.send("eth_getFilterChanges",[r]).then((function(r){if(e._pendingFilter!=t)return null;let n=Promise.resolve();return r.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),n.then((function(){return Bs(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){n()}),0),null;e.send("eth_uninstallFilter",[r])})).catch(e=>{})}(),r})).catch(e=>{})}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){const r=oe(Ds);if(t)for(const e in t)t[e]&&(r[e]=!0);ie(e,r);const n={};return["gasLimit","gasPrice","nonce","value"].forEach((function(t){if(null==e[t])return;const r=B(e[t]);"gasLimit"===t&&(t="gas"),n[t]=r})),["from","to","data"].forEach((function(t){null!=e[t]&&(n[t]=F(e[t]))})),n}}var _s=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Is=new m(fs);class Xs extends Os{constructor(e,t){Is.checkAbstract(new.target,Xs),e=re(new.target,"getNetwork")(e),t=re(new.target,"getApiKey")(t);super(re(new.target,"getUrl")(e,t),e),"string"==typeof t?te(this,"apiKey",t):null!=t&&Object.keys(t).forEach(e=>{te(this,e,t[e])})}detectNetwork(){return _s(this,void 0,void 0,(function*(){return this.network}))}_startPending(){Is.warn("WARNING: API provider does not support pending filters")}getSigner(e){return Is.throwError("API provider does not support signing",m.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,t){return Is.throwError("not implemented; sub-classes must override getUrl",m.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const xs=new m(fs);class Hs extends Xs{static getApiKey(e){return null==e?"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC":(e&&"string"!=typeof e&&xs.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,t){let r=null;switch(e.name){case"homestead":r="eth-mainnet.alchemyapi.io/jsonrpc/";break;case"ropsten":r="eth-ropsten.alchemyapi.io/jsonrpc/";break;case"rinkeby":r="eth-rinkeby.alchemyapi.io/jsonrpc/";break;case"goerli":r="eth-goerli.alchemyapi.io/jsonrpc/";break;case"kovan":r="eth-kovan.alchemyapi.io/jsonrpc/";break;default:xs.throwArgumentError("unsupported network","network",arguments[0])}return"https://"+r+t}}var Gs=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Us=new m(fs);class zs extends Xs{static getApiKey(e){return null!=e&&Us.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,t){let r=null;switch(e.name){case"homestead":r="https://cloudflare-eth.com/";break;default:Us.throwArgumentError("unsupported network","network",arguments[0])}return r}perform(e,t){const r=Object.create(null,{perform:{get:()=>super.perform}});return Gs(this,void 0,void 0,(function*(){if("getBlockNumber"===e){return(yield r.perform.call(this,"getBlock",{blockTag:"latest"})).number}return r.perform.call(this,e,t)}))}}var Vs=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const Zs=new m(fs);function js(e){const t=[];for(let r in e){if(null==e[r])continue;let n=F(e[r]);({gasLimit:!0,gasPrice:!0,nonce:!0,value:!0})[r]&&(n=B(n)),t.push(r+"="+n)}return t.join("&")}function Ks(e){if(0==e.status&&("No records found"===e.message||"No transactions found"===e.message))return e.result;if(1!=e.status||"OK"!=e.message){const t=new Error("invalid response");throw t.result=JSON.stringify(e),t}return e.result}function Qs(e){if("2.0"!=e.jsonrpc){const t=new Error("invalid response");throw t.result=JSON.stringify(e),t}if(e.error){const t=new Error(e.error.message||"unknown error");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function qs(e){if("pending"===e)throw new Error("pending not supported");return"latest"===e?e:parseInt(e.substring(2),16)}class Ys extends Fs{constructor(e,t){Zs.checkNew(new.target,Ys),super(e);let r="invalid";this.network&&(r=this.network.name);let n=null;switch(r){case"homestead":n="https://api.etherscan.io";break;case"ropsten":n="https://api-ropsten.etherscan.io";break;case"rinkeby":n="https://api-rinkeby.etherscan.io";break;case"kovan":n="https://api-kovan.etherscan.io";break;case"goerli":n="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}te(this,"baseUrl",n),te(this,"apiKey",t||"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB")}detectNetwork(){return Vs(this,void 0,void 0,(function*(){return this.network}))}perform(e,t){const r=Object.create(null,{perform:{get:()=>super.perform}});return Vs(this,void 0,void 0,(function*(){let n=this.baseUrl,i="";this.apiKey&&(i+="&apikey="+this.apiKey);const o=(e,t)=>Vs(this,void 0,void 0,(function*(){this.emit("debug",{action:"request",request:e,provider:this});const r=yield cs(e,null,t||Qs);return this.emit("debug",{action:"response",request:e,response:le(r),provider:this}),r}));switch(e){case"getBlockNumber":return n+="/api?module=proxy&action=eth_blockNumber"+i,o(n);case"getGasPrice":return n+="/api?module=proxy&action=eth_gasPrice"+i,o(n);case"getBalance":return n+="/api?module=account&action=balance&address="+t.address,n+="&tag="+t.blockTag+i,o(n,Ks);case"getTransactionCount":return n+="/api?module=proxy&action=eth_getTransactionCount&address="+t.address,n+="&tag="+t.blockTag+i,o(n);case"getCode":return n+="/api?module=proxy&action=eth_getCode&address="+t.address,n+="&tag="+t.blockTag+i,o(n,Qs);case"getStorageAt":return n+="/api?module=proxy&action=eth_getStorageAt&address="+t.address,n+="&position="+t.position,n+="&tag="+t.blockTag+i,o(n,Qs);case"sendTransaction":return n+="/api?module=proxy&action=eth_sendRawTransaction&hex="+t.signedTransaction,n+=i,o(n).catch(e=>{throw e.responseText&&(e.responseText.toLowerCase().indexOf("insufficient funds")>=0&&Zs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("same hash was already imported")>=0&&Zs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("another transaction with same nonce")>=0&&Zs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),e});case"getBlock":if(t.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+t.blockTag,t.includeTransactions?n+="&boolean=true":n+="&boolean=false",n+=i,o(n);throw new Error("getBlock by blockHash not implemented");case"getTransaction":return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+t.transactionHash,n+=i,o(n);case"getTransactionReceipt":return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+t.transactionHash,n+=i,o(n);case"call":{let e=js(t.transaction);if(e&&(e="&"+e),n+="/api?module=proxy&action=eth_call"+e,"latest"!==t.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return n+=i,o(n)}case"estimateGas":{let e=js(t.transaction);return e&&(e="&"+e),n+="/api?module=proxy&action=eth_estimateGas&"+e,n+=i,o(n)}case"getLogs":{if(n+="/api?module=logs&action=getLogs",t.filter.fromBlock&&(n+="&fromBlock="+qs(t.filter.fromBlock)),t.filter.toBlock&&(n+="&toBlock="+qs(t.filter.toBlock)),t.filter.address&&(n+="&address="+t.filter.address),t.filter.topics&&t.filter.topics.length>0&&(t.filter.topics.length>1&&Zs.throwError("unsupported topic count",m.errors.UNSUPPORTED_OPERATION,{topics:t.filter.topics}),1===t.filter.topics.length)){const e=t.filter.topics[0];"string"==typeof e&&66===e.length||Zs.throwError("unsupported topic format",m.errors.UNSUPPORTED_OPERATION,{topic0:e}),n+="&topic0="+e}n+=i;const e=yield o(n,Ks);let r={};for(let t=0;t(n+="/api?module=account&action=txlist&address="+e,n+="&startblock="+t,n+="&endblock="+r,n+="&sort=asc"+i,this.emit("debug",{action:"request",request:n,provider:this}),cs(n,null,Ks).then(e=>{this.emit("debug",{action:"response",request:n,response:le(e),provider:this});let t=[];return e.forEach(e=>{["contractAddress","to"].forEach((function(t){""==e[t]&&delete e[t]})),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);let r=this.formatter.transactionResponse(e);e.timeStamp&&(r.timestamp=parseInt(e.timeStamp)),t.push(r)}),t})))}}var Ws=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const $s=new m(fs);function el(){return(new Date).getTime()}function tl(e){let t=null;for(let r=0;rt?null:(n+i)/2}function nl(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if(_.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map(e=>nl(e)));if("object"==typeof e){const t=Object.keys(e);return t.sort(),"{"+t.map(t=>{let r=e[t];return r="function"==typeof r?"[function]":nl(r),JSON.stringify(t)+":"+r}).join(",")+"}"}throw new Error("unknown value type: "+typeof e)}let il=1;function ol(e){let t=null,r=null,n=new Promise(n=>{t=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(t,e)});return{cancel:t,getPromise:function(){return n},wait:e=>(n=n.then(e),n)}}function al(e,t){const r={provider:e.provider,weight:e.weight};return e.start&&(r.start=e.start),t&&(r.duration=t-e.start),e.done&&(e.error?r.error=e.error:r.result=e.result||null),r}function sl(e,t,r){let n=nl;switch(t){case"getBlockNumber":return function(t){const r=t.map(e=>e.result);let n=rl(t.map(e=>e.result),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=e._highestBlockNumber&&(e._highestBlockNumber=n),e._highestBlockNumber};case"getGasPrice":return function(e){const t=e.map(e=>e.result);return t.sort(),t[Math.floor(t.length/2)]};case"getEtherPrice":return function(e){return rl(e.map(e=>e.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(e){return null==e?null:((e=oe(e)).confirmations=-1,nl(e))};break;case"getBlock":n=r.includeTransactions?function(e){return null==e?null:((e=oe(e)).transactions=e.transactions.map(e=>((e=oe(e)).confirmations=-1,e)),nl(e))}:function(e){return null==e?null:nl(e)};break;default:throw new Error("unknown method: "+t)}return function(e,t){return function(r){const n={};r.forEach(t=>{const r=e(t.result);n[r]||(n[r]={count:0,result:t.result}),n[r].count++});const i=Object.keys(n);for(let e=0;e=t)return r.result}}}(n,e.quorum)}function ll(e,t){return Ws(this,void 0,void 0,(function*(){const r=e.provider;return null!=r.blockNumber&&r.blockNumber>=t||-1===t?r:ds(()=>new Promise((n,i)=>{setTimeout((function(){return r.blockNumber>=t?n(r):e.cancelled?n(null):n(void 0)}),0)}),{oncePoll:r})}))}function ul(e,t,r,n){return Ws(this,void 0,void 0,(function*(){let i=e.provider;switch(r){case"getBlockNumber":case"getGasPrice":return i[r]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return n.blockTag&&E(n.blockTag)&&(i=yield ll(e,t)),i[r](n.address,n.blockTag||"latest");case"getStorageAt":return n.blockTag&&E(n.blockTag)&&(i=yield ll(e,t)),i.getStorageAt(n.address,n.position,n.blockTag||"latest");case"getBlock":return n.blockTag&&E(n.blockTag)&&(i=yield ll(e,t)),i[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash);case"call":case"estimateGas":return n.blockTag&&E(n.blockTag)&&(i=yield ll(e,t)),i[r](n.transaction);case"getTransaction":case"getTransactionReceipt":return i[r](n.transactionHash);case"getLogs":{let r=n.filter;return(r.fromBlock&&E(r.fromBlock)||r.toBlock&&E(r.toBlock))&&(i=yield ll(e,t)),i.getLogs(r)}}return $s.throwError("unknown method error",m.errors.UNKNOWN_ERROR,{method:r,params:n})}))}class hl extends Fs{constructor(e,t){$s.checkNew(new.target,hl),0===e.length&&$s.throwArgumentError("missing providers","providers",e);const r=e.map((e,t)=>{if(hr.isProvider(e))return Object.freeze({provider:e,weight:1,stallTimeout:750,priority:1});const r=oe(e);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);const n=r.weight;return(n%1||n>512||n<1)&&$s.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${t}].weight`,n),Object.freeze(r)}),n=r.reduce((e,t)=>e+t.weight,0);null==t?t=n/2:t>n&&$s.throwArgumentError("quorum will always fail; larger than total weight","quorum",t);let i=tl(r.map(e=>e.provider.network));null==i&&(i=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(e,t)},0)})),super(i),te(this,"providerConfigs",Object.freeze(r)),te(this,"quorum",t),this._highestBlockNumber=-1}detectNetwork(){return Ws(this,void 0,void 0,(function*(){return tl(yield Promise.all(this.providerConfigs.map(e=>e.provider.getNetwork())))}))}perform(e,t){return Ws(this,void 0,void 0,(function*(){if("sendTransaction"===e){const e=yield Promise.all(this.providerConfigs.map(e=>e.provider.sendTransaction(t.signedTransaction).then(e=>e.hash,e=>e)));for(let t=0;te.priority-t.priority);const i=this._highestBlockNumber;let o=0,a=!0;for(;;){const s=el();let l=n.filter(e=>e.runner&&s-e.starte+t.weight,0);for(;l{r.staller=null}),r.runner=ul(r,i,e,t).then(n=>{r.done=!0,r.result=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:al(r,el()),request:{method:e,params:le(t)},provider:this})},n=>{r.done=!0,r.error=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:al(r,el()),request:{method:e,params:le(t)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:a,backend:al(r,null),request:{method:e,params:le(t)},provider:this}),l+=r.weight}const u=[];n.forEach(e=>{!e.done&&e.runner&&(u.push(e.runner),e.staller&&u.push(e.staller.getPromise()))}),u.length&&(yield Promise.race(u));const h=n.filter(e=>e.done&&null==e.error);if(h.length>=this.quorum){const e=r(h);if(void 0!==e)return n.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),e;a||(yield ol(100).getPromise()),a=!1}if(0===n.filter(e=>!e.done).length)break}return n.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),$s.throwError("failed to meet quorum",m.errors.SERVER_ERROR,{method:e,params:t,results:n.map(e=>al(e)),provider:this})}))}}var cl=r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="providers/5.0.2"})),dl=(t(cl),cl.version,t(r((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(e){var n=new p.Logger(cl.version);r=function(){n.throwError("WebSockets not supported in this environment",p.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}e.exports=r})))),fl=window&&window.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{l(n.next(e))}catch(e){o(e)}}function s(e){try{l(n.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))};const ml=new m(fs);let pl=1;class gl extends Os{constructor(e,t){"any"===t&&ml.throwError("WebSocketProvider does not support 'any' network yet",m.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),super(e,t),this._pollingInterval=-1,te(this,"_websocket",new dl(this.connection.url)),te(this,"_requests",{}),te(this,"_subs",{}),te(this,"_subIds",{}),this._wsReady=!1,this._websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(e=>{this._websocket.send(this._requests[e].payload)})},this._websocket.onmessage=e=>{const t=e.data,r=JSON.parse(t);if(null!=r.id){const e=String(r.id),n=this._requests[e];if(delete this._requests[e],void 0!==r.result)n.callback(null,r.result);else if(r.error){const e=new Error(r.error.message||"unknown error");te(e,"code",r.error.code||null),te(e,"response",t),n.callback(e,void 0)}else n.callback(new Error("unknown error"),void 0)}else if("eth_subscription"===r.method){const e=this._subs[r.params.subscription];e&&e.processFunc(r.params.result)}else console.warn("this should not happen")};const r=setInterval(()=>{this.emit("poll")},1e3);r.unref&&r.unref()}get pollingInterval(){return 0}resetEventsBlock(e){ml.throwError("cannot reset events block on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){ml.throwError("cannot set polling interval on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return fl(this,void 0,void 0,(function*(){return null}))}set polling(e){e&&ml.throwError("cannot set polling on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,t){const r=pl++;return new Promise((n,i)=>{const o=JSON.stringify({method:e,params:t,id:r,jsonrpc:"2.0"});this._requests[String(r)]={callback:function(e,t){return e?i(e):n(t)},payload:o},this._wsReady&&this._websocket.send(o)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,t,r){return fl(this,void 0,void 0,(function*(){let n=this._subIds[e];null==n&&(n=Promise.all(t).then(e=>this.send("eth_subscribe",e)),this._subIds[e]=n);const i=yield n;this._subs[i]={tag:e,processFunc:r}}))}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],e=>{const t=_.from(e.number).toNumber();this._emitted.block=t,this.emit("block",t)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],e=>{this.emit("pending",e)});break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],t=>{null==t.removed&&(t.removed=!1),this.emit(e.filter,this.formatter.filterLog(t))});break;case"tx":{const t=e=>{const t=e.hash;this.getTransactionReceipt(t).then(e=>{e&&this.emit(t,e)})};t(e),this._subscribe("tx",["newHeads"],e=>{this._events.filter(e=>"tx"===e.type).forEach(t)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e)}}_stopEvent(e){let t=e.tag;if("tx"===e.type){if(this._events.filter(e=>"tx"===e.type).length)return;t="tx"}else if(this.listenerCount(e.event))return;const r=this._subIds[t];r&&(delete this._subIds[t],r.then(e=>{this._subs[e]&&(delete this._subs[e],this.send("eth_unsubscribe",[e]))}))}}const vl=new m(fs);class bl extends Xs{static getWebSocketProvider(e,t){const r=new bl(e,t).connection;r.password&&vl.throwError("INFURA WebSocket project secrets unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});const n=r.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");return new gl(n,e)}static getApiKey(e){const t={apiKey:"84842078b09946638c03157f83405213",projectId:"84842078b09946638c03157f83405213",projectSecret:null};return null==e||("string"==typeof e?t.projectId=e:null!=e.projectSecret?("string"!=typeof e.projectId&&vl.throwArgumentError("projectSecret requires a projectId","projectId",e.projectId),"string"!=typeof e.projectSecret&&vl.throwArgumentError("invalid projectSecret","projectSecret","[REDACTED]"),t.projectId=e.projectId,t.projectSecret=e.projectSecret):e.projectId&&(t.projectId=e.projectId),t.apiKey=t.projectId),t}static getUrl(e,t){let r=null;switch(e.name){case"homestead":r="mainnet.infura.io";break;case"ropsten":r="ropsten.infura.io";break;case"rinkeby":r="rinkeby.infura.io";break;case"kovan":r="kovan.infura.io";break;case"goerli":r="goerli.infura.io";break;default:vl.throwError("unsupported network",m.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const n={url:"https://"+r+"/v3/"+t.projectId};return null!=t.projectSecret&&(n.user="",n.password=t.projectSecret),n}}const yl=new m(fs);class Ml extends Xs{static getApiKey(e){return e&&"string"!=typeof e&&yl.throwArgumentError("invalid apiKey","apiKey",e),e||"ETHERS_JS_SHARED"}static getUrl(e,t){yl.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let r=null;switch(e.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:yl.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+t}}const Al=new m(fs);let wl=1;function Sl(e,t){return function(r,n){"eth_sign"==r&&e.isMetaMask&&(r="personal_sign",n=[n[1],n[0]]);const i={method:r,params:n,id:wl++,jsonrpc:"2.0"};return new Promise((e,r)=>{t(i,(function(t,n){if(t)return r(t);if(n.error){const e=new Error(n.error.message);return e.code=n.error.code,e.data=n.error.data,r(e)}e(n.result)}))})}}class Tl extends Os{constructor(e,t){Al.checkNew(new.target,Tl),null==e&&Al.throwArgumentError("missing provider","provider",e);let r=null,n=null,i=null;"function"==typeof e?(r="unknown:",n=e):(r=e.host||e.path||"",!r&&e.isMetaMask&&(r="metamask"),i=e,e.request?(""===r&&(r="eip-1193:"),n=function(e){return function(t,r){return null==r&&(r=[]),"eth_sign"==t&&e.isMetaMask&&(t="personal_sign",r=[r[1],r[0]]),e.request({method:t,params:r})}}(e)):e.sendAsync?n=Sl(e,e.sendAsync.bind(e)):e.send?n=Sl(e,e.send.bind(e)):Al.throwArgumentError("unsupported provider","provider",e),r||(r="unknown:")),super(r,t),te(this,"jsonRpcFetchFunc",n),te(this,"provider",i)}send(e,t){return this.jsonRpcFetchFunc(e,t)}}const El=new m(fs);function Fl(e,t){null==e&&(e="homestead");const r=os(e);return r&&r._defaultProvider||El.throwError("unsupported getDefaultProvider network",m.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:e}),r._defaultProvider({FallbackProvider:hl,AlchemyProvider:Hs,CloudflareProvider:zs,EtherscanProvider:Ys,InfuraProvider:bl,JsonRpcProvider:Os,NodesmithProvider:Ml,Web3Provider:Tl,IpcProvider:null},t)}var kl=Object.freeze({Provider:hr,BaseProvider:Fs,FallbackProvider:hl,AlchemyProvider:Hs,CloudflareProvider:zs,EtherscanProvider:Ys,InfuraProvider:bl,JsonRpcProvider:Os,NodesmithProvider:Ml,Web3Provider:Tl,WebSocketProvider:gl,IpcProvider:null,JsonRpcSigner:Rs,getDefaultProvider:Fl,getNetwork:os,Formatter:ps});const Cl=new RegExp("^bytes([0-9]+)$"),Bl=new RegExp("^(u?int)([0-9]*)$"),Pl=new RegExp("^(.*)\\[([0-9]*)\\]$");function Ll(e,t){if(e.length!=t.length)throw new Error("type/value count mismatch");const r=[];return e.forEach((function(e,n){r.push(function e(t,r,n){switch(t){case"address":return n?T(r,32):A(r);case"string":return kt(r);case"bytes":return A(r);case"bool":return r=r?"0x01":"0x00",n?T(r,32):A(r)}let i=t.match(Bl);if(i){let e=parseInt(i[2]||"256");if(e%8!=0||0===e||e>256)throw new Error("invalid number type - "+t);return n&&(e=256),T(r=_.from(r).toTwos(e),e/8)}if(i=t.match(Cl),i){const e=parseInt(i[1]);if(String(e)!=i[1]||0===e||e>32)throw new Error("invalid number type - "+t);if(A(r).byteLength!==e)throw new Error("invalid value for "+t);return n?A((r+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):r}if(i=t.match(Pl),i&&Array.isArray(r)){const n=i[1];if(parseInt(i[2]||String(r.length))!=r.length)throw new Error("invalid value for "+t);const o=[];return r.forEach((function(t){o.push(e(n,t,!0))})),w(o)}throw new Error("unknown type - "+t)}(e,t[n]))})),F(w(r))}const Jl=new m("units/5.0.1"),Rl=["wei","kwei","mwei","gwei","szabo","finney","ether"];function Nl(e,t){if("string"==typeof t){const e=Rl.indexOf(t);-1!==e&&(t=3*e)}return Q(e,null!=t?t:18)}function Dl(e,t){if("string"==typeof t){const e=Rl.indexOf(t);-1!==e&&(t=3*e)}return q(e,null!=t?t:18)}var Ol=Object.freeze({AbiCoder:Kt,defaultAbiCoder:Qt,Fragment:Me,EventFragment:Ae,FunctionFragment:Fe,ParamType:be,FormatTypes:ge,checkResultErrors:Je,Logger:m,RLP:Ve,fetchJson:cs,poll:ds,checkProperties:ie,deepCopy:le,defineReadOnly:te,getStatic:re,resolveProperties:ne,shallowCopy:oe,arrayify:A,concat:w,stripZeros:S,zeroPad:T,isBytes:M,isBytesLike:y,defaultPath:ta,HDNode:ra,SigningKey:qi,Interface:sr,LogDescription:nr,TransactionDescription:ir,base64:ss,hexlify:F,isHexString:E,hexStripZeros:P,hexValue:B,hexZeroPad:L,hexDataLength:k,hexDataSlice:C,nameprep:Gt,_toEscapedUtf8String:function(e,t){return'"'+Ft(e,t).map(e=>{if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?Ct(e):Ct(55296+((e-=65536)>>10&1023))+Ct(56320+(1023&e))}).join("")+'"'},toUtf8Bytes:kt,toUtf8CodePoints:Lt,toUtf8String:Pt,Utf8ErrorFuncs:Et,formatBytes32String:function(e){const t=kt(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return F(w([t,dt]).slice(0,32))},parseBytes32String:function(e){const t=A(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;0===t[r-1];)r--;return Pt(t.slice(0,r))},hashMessage:tr,namehash:$t,isValidName:function(e){try{const t=e.split(".");for(let e=0;e2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&Jl.throwArgumentError("invalid value","value",e);let r=t[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");let i="";2===t.length&&(i="."+(t[1]||"0"));const o=[];for(;r.length;){if(r.length<=3){o.unshift(r);break}{const e=r.length-3;o.unshift(r.substring(e)),r=r.substring(0,e)}}return n+o.join(",")+i},computeHmac:ai,keccak256:_e,ripemd160:ni,sha256:ii,sha512:oi,randomBytes:ha,shuffled:aa,solidityPack:Ll,solidityKeccak256:function(e,t){return _e(Ll(e,t))},soliditySha256:function(e,t){return ii(Ll(e,t))},splitSignature:J,joinSignature:R,parseTransaction:ao,serializeTransaction:oo,getJsonWalletAddress:function(e){if(ya(e))try{return We(JSON.parse(e).ethaddr)}catch(e){return null}if(Ma(e))try{return We(JSON.parse(e).address)}catch(e){return null}return null},computeAddress:no,recoverAddress:io,computePublicKey:Wi,recoverPublicKey:Yi,verifyMessage:function(e,t){return io(tr(e),t)},mnemonicToEntropy:ia,entropyToMnemonic:oa,isValidMnemonic:function(e,t){try{return ia(e,t),!0}catch(e){}return!1},mnemonicToSeed:na,SupportedAlgorithm:ri,get UnicodeNormalizationForm(){return wt},get Utf8ErrorReason(){return St},Indexed:or});const _l="ethers/5.0.2",Il=new m("ethers/5.0.2");var Xl=Object.freeze({Signer:mr,Wallet:Ya,VoidSigner:pr,getDefaultProvider:Fl,providers:kl,Contract:Br,ContractFactory:Pr,BigNumber:_,FixedNumber:W,constants:yt,get errors(){return f},logger:Il,utils:Ol,wordlists:Zo,version:"ethers/5.0.2",Wordlist:lo});try{const e=window;null==e._ethers&&(e._ethers=Xl)}catch(e){}export{_ as BigNumber,Br as Contract,Pr as ContractFactory,W as FixedNumber,mr as Signer,pr as VoidSigner,Ya as Wallet,lo as Wordlist,yt as constants,f as errors,Xl as ethers,Fl as getDefaultProvider,Il as logger,kl as providers,Ol as utils,_l as version,Zo as wordlists}; diff --git a/packages/ethers/dist/ethers-all.umd.min.js b/packages/ethers/dist/ethers-all.umd.min.js index f6a6e1c69..eb2794f46 100644 --- a/packages/ethers/dist/ethers-all.umd.min.js +++ b/packages/ethers/dist/ethers-all.umd.min.js @@ -1,4 +1,4 @@ -!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e=e||self).ethers={})}(this,(function(e){"use strict";var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,r){return e(r={exports:{}},r.exports),r.exports}function o(e){return e&&e.default||e}var i=Object.freeze({default:{}}),a=o(i),s=n((function(e){!function(e,r){function t(e,r){if(!e)throw new Error(r||"Assertion failed")}function n(e,r){e.super_=r;var t=function(){};t.prototype=r.prototype,e.prototype=new t,e.prototype.constructor=e}function o(e,r,t){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==r&&"be"!==r||(t=r,r=10),this._init(e||0,r||10,t||"be"))}var i;"object"==typeof e?e.exports=o:r.BN=o,o.BN=o,o.wordSize=26;try{i=a.Buffer}catch(e){}function s(e,r,t){for(var n=0,o=Math.min(e.length,t),i=r;i=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function u(e,r,t,n){for(var o=0,i=Math.min(e.length,t),a=r;a=49?s-49+10:s>=17?s-17+10:s}return o}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,r){return e.cmp(r)>0?e:r},o.min=function(e,r){return e.cmp(r)<0?e:r},o.prototype._init=function(e,r,n){if("number"==typeof e)return this._initNumber(e,r,n);if("object"==typeof e)return this._initArray(e,r,n);"hex"===r&&(r=16),t(r===(0|r)&&r>=2&&r<=36);var o=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&o++,16===r?this._parseHex(e,o):this._parseBase(e,r,o),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),r,n)},o.prototype._initNumber=function(e,r,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(t(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),r,n)},o.prototype._initArray=function(e,r,n){if(t("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var o=0;o=0;o-=3)a=e[o]|e[o-1]<<8|e[o-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(o=0,i=0;o>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},o.prototype._parseHex=function(e,r){this.length=Math.ceil((e.length-r)/6),this.words=new Array(this.length);for(var t=0;t=r;t-=6)o=s(e,t,t+6),this.words[n]|=o<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);t+6!==r&&(o=s(e,r,t+6),this.words[n]|=o<>>26-i&4194303),this.strip()},o.prototype._parseBase=function(e,r,t){this.words=[0],this.length=1;for(var n=0,o=1;o<=67108863;o*=r)n++;n--,o=o/r|0;for(var i=e.length-t,a=i%n,s=Math.min(i,i-a)+t,l=0,c=t;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(e,r,t){t.negative=r.negative^e.negative;var n=e.length+r.length|0;t.length=n,n=n-1|0;var o=0|e.words[0],i=0|r.words[0],a=o*i,s=67108863&a,u=a/67108864|0;t.words[0]=s;for(var l=1;l>>26,f=67108863&u,h=Math.min(l,r.length-1),d=Math.max(0,l-e.length+1);d<=h;d++){var p=l-d|0;c+=(a=(o=0|e.words[p])*(i=0|r.words[d])+f)/67108864|0,f=67108863&a}t.words[l]=0|f,u=0|c}return 0!==u?t.words[l]=0|u:t.length--,t.strip()}o.prototype.toString=function(e,r){var n;if(r=0|r||1,16===(e=e||10)||"hex"===e){n="";for(var o=0,i=0,a=0;a>>24-o&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(o+=2)>=26&&(o-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%r!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var h=c[e],d=f[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(d).toString(e);n=(p=p.idivn(d)).isZero()?g+n:l[h-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%r!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}t(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&t(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,r){return t(void 0!==i),this.toArrayLike(i,e,r)},o.prototype.toArray=function(e,r){return this.toArrayLike(Array,e,r)},o.prototype.toArrayLike=function(e,r,n){var o=this.byteLength(),i=n||Math.max(1,o);t(o<=i,"byte array longer than desired length"),t(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===r,l=new e(i),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),l[s]=a;for(;s=4096&&(t+=13,r>>>=13),r>=64&&(t+=7,r>>>=7),r>=8&&(t+=4,r>>>=4),r>=2&&(t+=2,r>>>=2),t+r},o.prototype._zeroBits=function(e){if(0===e)return 26;var r=e,t=0;return 0==(8191&r)&&(t+=13,r>>>=13),0==(127&r)&&(t+=7,r>>>=7),0==(15&r)&&(t+=4,r>>>=4),0==(3&r)&&(t+=2,r>>>=2),0==(1&r)&&t++,t},o.prototype.bitLength=function(){var e=this.words[this.length-1],r=this._countBits(e);return 26*(this.length-1)+r},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,r=0;re.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var r;r=this.length>e.length?e:this;for(var t=0;te.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var r,t;this.length>e.length?(r=this,t=e):(r=e,t=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){t("number"==typeof e&&e>=0);var r=0|Math.ceil(e/26),n=e%26;this._expand(r),n>0&&r--;for(var o=0;o0&&(this.words[o]=~this.words[o]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,r){t("number"==typeof e&&e>=0);var n=e/26|0,o=e%26;return this._expand(n+1),this.words[n]=r?this.words[n]|1<e.length?(t=this,n=e):(t=e,n=this);for(var o=0,i=0;i>>26;for(;0!==o&&i>>26;if(this.length=t.length,0!==o)this.words[this.length]=o,this.length++;else if(t!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var r=this.iadd(e);return e.negative=1,r._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var t,n,o=this.cmp(e);if(0===o)return this.negative=0,this.length=1,this.words[0]=0,this;o>0?(t=this,n=e):(t=e,n=this);for(var i=0,a=0;a>26,this.words[a]=67108863&r;for(;0!==i&&a>26,this.words[a]=67108863&r;if(0===i&&a>>13,d=0|a[1],p=8191&d,g=d>>>13,v=0|a[2],m=8191&v,b=v>>>13,y=0|a[3],A=8191&y,S=y>>>13,T=0|a[4],w=8191&T,M=T>>>13,P=0|a[5],E=8191&P,F=P>>>13,C=0|a[6],k=8191&C,B=C>>>13,_=0|a[7],L=8191&_,O=_>>>13,J=0|a[8],R=8191&J,N=J>>>13,D=0|a[9],x=8191&D,I=D>>>13,X=0|s[0],H=8191&X,U=X>>>13,G=0|s[1],z=8191&G,V=G>>>13,j=0|s[2],Z=8191&j,K=j>>>13,Q=0|s[3],q=8191&Q,W=Q>>>13,Y=0|s[4],$=8191&Y,ee=Y>>>13,re=0|s[5],te=8191&re,ne=re>>>13,oe=0|s[6],ie=8191&oe,ae=oe>>>13,se=0|s[7],ue=8191&se,le=se>>>13,ce=0|s[8],fe=8191&ce,he=ce>>>13,de=0|s[9],pe=8191&de,ge=de>>>13;t.negative=e.negative^r.negative,t.length=19;var ve=(l+(n=Math.imul(f,H))|0)+((8191&(o=(o=Math.imul(f,U))+Math.imul(h,H)|0))<<13)|0;l=((i=Math.imul(h,U))+(o>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(p,H),o=(o=Math.imul(p,U))+Math.imul(g,H)|0,i=Math.imul(g,U);var me=(l+(n=n+Math.imul(f,z)|0)|0)+((8191&(o=(o=o+Math.imul(f,V)|0)+Math.imul(h,z)|0))<<13)|0;l=((i=i+Math.imul(h,V)|0)+(o>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,H),o=(o=Math.imul(m,U))+Math.imul(b,H)|0,i=Math.imul(b,U),n=n+Math.imul(p,z)|0,o=(o=o+Math.imul(p,V)|0)+Math.imul(g,z)|0,i=i+Math.imul(g,V)|0;var be=(l+(n=n+Math.imul(f,Z)|0)|0)+((8191&(o=(o=o+Math.imul(f,K)|0)+Math.imul(h,Z)|0))<<13)|0;l=((i=i+Math.imul(h,K)|0)+(o>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(A,H),o=(o=Math.imul(A,U))+Math.imul(S,H)|0,i=Math.imul(S,U),n=n+Math.imul(m,z)|0,o=(o=o+Math.imul(m,V)|0)+Math.imul(b,z)|0,i=i+Math.imul(b,V)|0,n=n+Math.imul(p,Z)|0,o=(o=o+Math.imul(p,K)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,K)|0;var ye=(l+(n=n+Math.imul(f,q)|0)|0)+((8191&(o=(o=o+Math.imul(f,W)|0)+Math.imul(h,q)|0))<<13)|0;l=((i=i+Math.imul(h,W)|0)+(o>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(w,H),o=(o=Math.imul(w,U))+Math.imul(M,H)|0,i=Math.imul(M,U),n=n+Math.imul(A,z)|0,o=(o=o+Math.imul(A,V)|0)+Math.imul(S,z)|0,i=i+Math.imul(S,V)|0,n=n+Math.imul(m,Z)|0,o=(o=o+Math.imul(m,K)|0)+Math.imul(b,Z)|0,i=i+Math.imul(b,K)|0,n=n+Math.imul(p,q)|0,o=(o=o+Math.imul(p,W)|0)+Math.imul(g,q)|0,i=i+Math.imul(g,W)|0;var Ae=(l+(n=n+Math.imul(f,$)|0)|0)+((8191&(o=(o=o+Math.imul(f,ee)|0)+Math.imul(h,$)|0))<<13)|0;l=((i=i+Math.imul(h,ee)|0)+(o>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(E,H),o=(o=Math.imul(E,U))+Math.imul(F,H)|0,i=Math.imul(F,U),n=n+Math.imul(w,z)|0,o=(o=o+Math.imul(w,V)|0)+Math.imul(M,z)|0,i=i+Math.imul(M,V)|0,n=n+Math.imul(A,Z)|0,o=(o=o+Math.imul(A,K)|0)+Math.imul(S,Z)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(m,q)|0,o=(o=o+Math.imul(m,W)|0)+Math.imul(b,q)|0,i=i+Math.imul(b,W)|0,n=n+Math.imul(p,$)|0,o=(o=o+Math.imul(p,ee)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,ee)|0;var Se=(l+(n=n+Math.imul(f,te)|0)|0)+((8191&(o=(o=o+Math.imul(f,ne)|0)+Math.imul(h,te)|0))<<13)|0;l=((i=i+Math.imul(h,ne)|0)+(o>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(k,H),o=(o=Math.imul(k,U))+Math.imul(B,H)|0,i=Math.imul(B,U),n=n+Math.imul(E,z)|0,o=(o=o+Math.imul(E,V)|0)+Math.imul(F,z)|0,i=i+Math.imul(F,V)|0,n=n+Math.imul(w,Z)|0,o=(o=o+Math.imul(w,K)|0)+Math.imul(M,Z)|0,i=i+Math.imul(M,K)|0,n=n+Math.imul(A,q)|0,o=(o=o+Math.imul(A,W)|0)+Math.imul(S,q)|0,i=i+Math.imul(S,W)|0,n=n+Math.imul(m,$)|0,o=(o=o+Math.imul(m,ee)|0)+Math.imul(b,$)|0,i=i+Math.imul(b,ee)|0,n=n+Math.imul(p,te)|0,o=(o=o+Math.imul(p,ne)|0)+Math.imul(g,te)|0,i=i+Math.imul(g,ne)|0;var Te=(l+(n=n+Math.imul(f,ie)|0)|0)+((8191&(o=(o=o+Math.imul(f,ae)|0)+Math.imul(h,ie)|0))<<13)|0;l=((i=i+Math.imul(h,ae)|0)+(o>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(L,H),o=(o=Math.imul(L,U))+Math.imul(O,H)|0,i=Math.imul(O,U),n=n+Math.imul(k,z)|0,o=(o=o+Math.imul(k,V)|0)+Math.imul(B,z)|0,i=i+Math.imul(B,V)|0,n=n+Math.imul(E,Z)|0,o=(o=o+Math.imul(E,K)|0)+Math.imul(F,Z)|0,i=i+Math.imul(F,K)|0,n=n+Math.imul(w,q)|0,o=(o=o+Math.imul(w,W)|0)+Math.imul(M,q)|0,i=i+Math.imul(M,W)|0,n=n+Math.imul(A,$)|0,o=(o=o+Math.imul(A,ee)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,ee)|0,n=n+Math.imul(m,te)|0,o=(o=o+Math.imul(m,ne)|0)+Math.imul(b,te)|0,i=i+Math.imul(b,ne)|0,n=n+Math.imul(p,ie)|0,o=(o=o+Math.imul(p,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var we=(l+(n=n+Math.imul(f,ue)|0)|0)+((8191&(o=(o=o+Math.imul(f,le)|0)+Math.imul(h,ue)|0))<<13)|0;l=((i=i+Math.imul(h,le)|0)+(o>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(R,H),o=(o=Math.imul(R,U))+Math.imul(N,H)|0,i=Math.imul(N,U),n=n+Math.imul(L,z)|0,o=(o=o+Math.imul(L,V)|0)+Math.imul(O,z)|0,i=i+Math.imul(O,V)|0,n=n+Math.imul(k,Z)|0,o=(o=o+Math.imul(k,K)|0)+Math.imul(B,Z)|0,i=i+Math.imul(B,K)|0,n=n+Math.imul(E,q)|0,o=(o=o+Math.imul(E,W)|0)+Math.imul(F,q)|0,i=i+Math.imul(F,W)|0,n=n+Math.imul(w,$)|0,o=(o=o+Math.imul(w,ee)|0)+Math.imul(M,$)|0,i=i+Math.imul(M,ee)|0,n=n+Math.imul(A,te)|0,o=(o=o+Math.imul(A,ne)|0)+Math.imul(S,te)|0,i=i+Math.imul(S,ne)|0,n=n+Math.imul(m,ie)|0,o=(o=o+Math.imul(m,ae)|0)+Math.imul(b,ie)|0,i=i+Math.imul(b,ae)|0,n=n+Math.imul(p,ue)|0,o=(o=o+Math.imul(p,le)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,le)|0;var Me=(l+(n=n+Math.imul(f,fe)|0)|0)+((8191&(o=(o=o+Math.imul(f,he)|0)+Math.imul(h,fe)|0))<<13)|0;l=((i=i+Math.imul(h,he)|0)+(o>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(x,H),o=(o=Math.imul(x,U))+Math.imul(I,H)|0,i=Math.imul(I,U),n=n+Math.imul(R,z)|0,o=(o=o+Math.imul(R,V)|0)+Math.imul(N,z)|0,i=i+Math.imul(N,V)|0,n=n+Math.imul(L,Z)|0,o=(o=o+Math.imul(L,K)|0)+Math.imul(O,Z)|0,i=i+Math.imul(O,K)|0,n=n+Math.imul(k,q)|0,o=(o=o+Math.imul(k,W)|0)+Math.imul(B,q)|0,i=i+Math.imul(B,W)|0,n=n+Math.imul(E,$)|0,o=(o=o+Math.imul(E,ee)|0)+Math.imul(F,$)|0,i=i+Math.imul(F,ee)|0,n=n+Math.imul(w,te)|0,o=(o=o+Math.imul(w,ne)|0)+Math.imul(M,te)|0,i=i+Math.imul(M,ne)|0,n=n+Math.imul(A,ie)|0,o=(o=o+Math.imul(A,ae)|0)+Math.imul(S,ie)|0,i=i+Math.imul(S,ae)|0,n=n+Math.imul(m,ue)|0,o=(o=o+Math.imul(m,le)|0)+Math.imul(b,ue)|0,i=i+Math.imul(b,le)|0,n=n+Math.imul(p,fe)|0,o=(o=o+Math.imul(p,he)|0)+Math.imul(g,fe)|0,i=i+Math.imul(g,he)|0;var Pe=(l+(n=n+Math.imul(f,pe)|0)|0)+((8191&(o=(o=o+Math.imul(f,ge)|0)+Math.imul(h,pe)|0))<<13)|0;l=((i=i+Math.imul(h,ge)|0)+(o>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(x,z),o=(o=Math.imul(x,V))+Math.imul(I,z)|0,i=Math.imul(I,V),n=n+Math.imul(R,Z)|0,o=(o=o+Math.imul(R,K)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,K)|0,n=n+Math.imul(L,q)|0,o=(o=o+Math.imul(L,W)|0)+Math.imul(O,q)|0,i=i+Math.imul(O,W)|0,n=n+Math.imul(k,$)|0,o=(o=o+Math.imul(k,ee)|0)+Math.imul(B,$)|0,i=i+Math.imul(B,ee)|0,n=n+Math.imul(E,te)|0,o=(o=o+Math.imul(E,ne)|0)+Math.imul(F,te)|0,i=i+Math.imul(F,ne)|0,n=n+Math.imul(w,ie)|0,o=(o=o+Math.imul(w,ae)|0)+Math.imul(M,ie)|0,i=i+Math.imul(M,ae)|0,n=n+Math.imul(A,ue)|0,o=(o=o+Math.imul(A,le)|0)+Math.imul(S,ue)|0,i=i+Math.imul(S,le)|0,n=n+Math.imul(m,fe)|0,o=(o=o+Math.imul(m,he)|0)+Math.imul(b,fe)|0,i=i+Math.imul(b,he)|0;var Ee=(l+(n=n+Math.imul(p,pe)|0)|0)+((8191&(o=(o=o+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;l=((i=i+Math.imul(g,ge)|0)+(o>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(x,Z),o=(o=Math.imul(x,K))+Math.imul(I,Z)|0,i=Math.imul(I,K),n=n+Math.imul(R,q)|0,o=(o=o+Math.imul(R,W)|0)+Math.imul(N,q)|0,i=i+Math.imul(N,W)|0,n=n+Math.imul(L,$)|0,o=(o=o+Math.imul(L,ee)|0)+Math.imul(O,$)|0,i=i+Math.imul(O,ee)|0,n=n+Math.imul(k,te)|0,o=(o=o+Math.imul(k,ne)|0)+Math.imul(B,te)|0,i=i+Math.imul(B,ne)|0,n=n+Math.imul(E,ie)|0,o=(o=o+Math.imul(E,ae)|0)+Math.imul(F,ie)|0,i=i+Math.imul(F,ae)|0,n=n+Math.imul(w,ue)|0,o=(o=o+Math.imul(w,le)|0)+Math.imul(M,ue)|0,i=i+Math.imul(M,le)|0,n=n+Math.imul(A,fe)|0,o=(o=o+Math.imul(A,he)|0)+Math.imul(S,fe)|0,i=i+Math.imul(S,he)|0;var Fe=(l+(n=n+Math.imul(m,pe)|0)|0)+((8191&(o=(o=o+Math.imul(m,ge)|0)+Math.imul(b,pe)|0))<<13)|0;l=((i=i+Math.imul(b,ge)|0)+(o>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(x,q),o=(o=Math.imul(x,W))+Math.imul(I,q)|0,i=Math.imul(I,W),n=n+Math.imul(R,$)|0,o=(o=o+Math.imul(R,ee)|0)+Math.imul(N,$)|0,i=i+Math.imul(N,ee)|0,n=n+Math.imul(L,te)|0,o=(o=o+Math.imul(L,ne)|0)+Math.imul(O,te)|0,i=i+Math.imul(O,ne)|0,n=n+Math.imul(k,ie)|0,o=(o=o+Math.imul(k,ae)|0)+Math.imul(B,ie)|0,i=i+Math.imul(B,ae)|0,n=n+Math.imul(E,ue)|0,o=(o=o+Math.imul(E,le)|0)+Math.imul(F,ue)|0,i=i+Math.imul(F,le)|0,n=n+Math.imul(w,fe)|0,o=(o=o+Math.imul(w,he)|0)+Math.imul(M,fe)|0,i=i+Math.imul(M,he)|0;var Ce=(l+(n=n+Math.imul(A,pe)|0)|0)+((8191&(o=(o=o+Math.imul(A,ge)|0)+Math.imul(S,pe)|0))<<13)|0;l=((i=i+Math.imul(S,ge)|0)+(o>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(x,$),o=(o=Math.imul(x,ee))+Math.imul(I,$)|0,i=Math.imul(I,ee),n=n+Math.imul(R,te)|0,o=(o=o+Math.imul(R,ne)|0)+Math.imul(N,te)|0,i=i+Math.imul(N,ne)|0,n=n+Math.imul(L,ie)|0,o=(o=o+Math.imul(L,ae)|0)+Math.imul(O,ie)|0,i=i+Math.imul(O,ae)|0,n=n+Math.imul(k,ue)|0,o=(o=o+Math.imul(k,le)|0)+Math.imul(B,ue)|0,i=i+Math.imul(B,le)|0,n=n+Math.imul(E,fe)|0,o=(o=o+Math.imul(E,he)|0)+Math.imul(F,fe)|0,i=i+Math.imul(F,he)|0;var ke=(l+(n=n+Math.imul(w,pe)|0)|0)+((8191&(o=(o=o+Math.imul(w,ge)|0)+Math.imul(M,pe)|0))<<13)|0;l=((i=i+Math.imul(M,ge)|0)+(o>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(x,te),o=(o=Math.imul(x,ne))+Math.imul(I,te)|0,i=Math.imul(I,ne),n=n+Math.imul(R,ie)|0,o=(o=o+Math.imul(R,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,n=n+Math.imul(L,ue)|0,o=(o=o+Math.imul(L,le)|0)+Math.imul(O,ue)|0,i=i+Math.imul(O,le)|0,n=n+Math.imul(k,fe)|0,o=(o=o+Math.imul(k,he)|0)+Math.imul(B,fe)|0,i=i+Math.imul(B,he)|0;var Be=(l+(n=n+Math.imul(E,pe)|0)|0)+((8191&(o=(o=o+Math.imul(E,ge)|0)+Math.imul(F,pe)|0))<<13)|0;l=((i=i+Math.imul(F,ge)|0)+(o>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(x,ie),o=(o=Math.imul(x,ae))+Math.imul(I,ie)|0,i=Math.imul(I,ae),n=n+Math.imul(R,ue)|0,o=(o=o+Math.imul(R,le)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,le)|0,n=n+Math.imul(L,fe)|0,o=(o=o+Math.imul(L,he)|0)+Math.imul(O,fe)|0,i=i+Math.imul(O,he)|0;var _e=(l+(n=n+Math.imul(k,pe)|0)|0)+((8191&(o=(o=o+Math.imul(k,ge)|0)+Math.imul(B,pe)|0))<<13)|0;l=((i=i+Math.imul(B,ge)|0)+(o>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,ue),o=(o=Math.imul(x,le))+Math.imul(I,ue)|0,i=Math.imul(I,le),n=n+Math.imul(R,fe)|0,o=(o=o+Math.imul(R,he)|0)+Math.imul(N,fe)|0,i=i+Math.imul(N,he)|0;var Le=(l+(n=n+Math.imul(L,pe)|0)|0)+((8191&(o=(o=o+Math.imul(L,ge)|0)+Math.imul(O,pe)|0))<<13)|0;l=((i=i+Math.imul(O,ge)|0)+(o>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(x,fe),o=(o=Math.imul(x,he))+Math.imul(I,fe)|0,i=Math.imul(I,he);var Oe=(l+(n=n+Math.imul(R,pe)|0)|0)+((8191&(o=(o=o+Math.imul(R,ge)|0)+Math.imul(N,pe)|0))<<13)|0;l=((i=i+Math.imul(N,ge)|0)+(o>>>13)|0)+(Oe>>>26)|0,Oe&=67108863;var Je=(l+(n=Math.imul(x,pe))|0)+((8191&(o=(o=Math.imul(x,ge))+Math.imul(I,pe)|0))<<13)|0;return l=((i=Math.imul(I,ge))+(o>>>13)|0)+(Je>>>26)|0,Je&=67108863,u[0]=ve,u[1]=me,u[2]=be,u[3]=ye,u[4]=Ae,u[5]=Se,u[6]=Te,u[7]=we,u[8]=Me,u[9]=Pe,u[10]=Ee,u[11]=Fe,u[12]=Ce,u[13]=ke,u[14]=Be,u[15]=_e,u[16]=Le,u[17]=Oe,u[18]=Je,0!==l&&(u[19]=l,t.length++),t};function p(e,r,t){return(new g).mulp(e,r,t)}function g(e,r){this.x=e,this.y=r}Math.imul||(d=h),o.prototype.mulTo=function(e,r){var t=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,r):t<63?h(this,e,r):t<1024?function(e,r,t){t.negative=r.negative^e.negative,t.length=e.length+r.length;for(var n=0,o=0,i=0;i>>26)|0)>>>26,a&=67108863}t.words[i]=s,n=a,a=o}return 0!==n?t.words[i]=n:t.length--,t.strip()}(this,e,r):p(this,e,r)},g.prototype.makeRBT=function(e){for(var r=new Array(e),t=o.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,r,t,n,o,i){for(var a=0;a>>=1)o++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*r;a>=26,r+=o/67108864|0,r+=i>>>26,this.words[n]=67108863&i}return 0!==r&&(this.words[n]=r,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var r=function(e){for(var r=new Array(e.bitLength()),t=0;t>>o}return r}(e);if(0===r.length)return new o(1);for(var t=this,n=0;n=0);var r,n=e%26,o=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(r=0;r>>26-n}a&&(this.words[r]=a,this.length++)}if(0!==o){for(r=this.length-1;r>=0;r--)this.words[r+o]=this.words[r];for(r=0;r=0),o=r?(r-r%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,l=0;l=0&&(0!==c||l>=o);l--){var f=0|this.words[l];this.words[l]=c<<26-i|f>>>i,c=f&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,r,n){return t(0===this.negative),this.iushrn(e,r,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){t("number"==typeof e&&e>=0);var r=e%26,n=(e-r)/26,o=1<=0);var r=e%26,n=(e-r)/26;if(t(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==r&&n++,this.length=Math.min(n,this.length),0!==r){var o=67108863^67108863>>>r<=67108864;r++)this.words[r]-=67108864,r===this.length-1?this.words[r+1]=1:this.words[r+1]++;return this.length=Math.max(this.length,r+1),this},o.prototype.isubn=function(e){if(t("number"==typeof e),t(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var r=0;r>26)-(u/67108864|0),this.words[o+n]=67108863&i}for(;o>26,this.words[o+n]=67108863&i;if(0===s)return this.strip();for(t(-1===s),s=0,o=0;o>26,this.words[o]=67108863&i;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,r){var t=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(t=26-this._countBits(a))&&(i=i.ushln(t),n.iushln(t),a=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==r){(s=new o(null)).length=u+1,s.words=new Array(s.length);for(var l=0;l=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/a|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==r&&0!==t&&n.iushrn(t),{div:s||null,mod:n}},o.prototype.divmod=function(e,r,n){return t(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,r),"mod"!==r&&(i=s.div.neg()),"div"!==r&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),r),"mod"!==r&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),r),"div"!==r&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===r?{div:this.divn(e.words[0]),mod:null}:"mod"===r?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,r);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var r=this.divmod(e);if(r.mod.isZero())return r.div;var t=0!==r.div.negative?r.mod.isub(e):r.mod,n=e.ushrn(1),o=e.andln(1),i=t.cmp(n);return i<0||1===o&&0===i?r.div:0!==r.div.negative?r.div.isubn(1):r.div.iaddn(1)},o.prototype.modn=function(e){t(e<=67108863);for(var r=(1<<26)%e,n=0,o=this.length-1;o>=0;o--)n=(r*n+(0|this.words[o]))%e;return n},o.prototype.idivn=function(e){t(e<=67108863);for(var r=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*r;this.words[n]=o/e|0,r=o%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){t(0===e.negative),t(!e.isZero());var r=this,n=e.clone();r=0!==r.negative?r.umod(e):r.clone();for(var i=new o(1),a=new o(0),s=new o(0),u=new o(1),l=0;r.isEven()&&n.isEven();)r.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),f=r.clone();!r.isZero();){for(var h=0,d=1;0==(r.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(r.iushrn(h);h-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(c),a.isub(f)),i.iushrn(1),a.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(f)),s.iushrn(1),u.iushrn(1);r.cmp(n)>=0?(r.isub(n),i.isub(s),a.isub(u)):(n.isub(r),s.isub(i),u.isub(a))}return{a:s,b:u,gcd:n.iushln(l)}},o.prototype._invmp=function(e){t(0===e.negative),t(!e.isZero());var r=this,n=e.clone();r=0!==r.negative?r.umod(e):r.clone();for(var i,a=new o(1),s=new o(0),u=n.clone();r.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,c=1;0==(r.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(r.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var f=0,h=1;0==(n.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(n.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);r.cmp(n)>=0?(r.isub(n),a.isub(s)):(n.isub(r),s.isub(a))}return(i=0===r.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var r=this.clone(),t=e.clone();r.negative=0,t.negative=0;for(var n=0;r.isEven()&&t.isEven();n++)r.iushrn(1),t.iushrn(1);for(;;){for(;r.isEven();)r.iushrn(1);for(;t.isEven();)t.iushrn(1);var o=r.cmp(t);if(o<0){var i=r;r=t,t=i}else if(0===o||0===t.cmpn(1))break;r.isub(t)}return t.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){t("number"==typeof e);var r=e%26,n=(e-r)/26,o=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var r,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)r=1;else{n&&(e=-e),t(e<=67108863,"Number is too big");var o=0|this.words[0];r=o===e?0:oe.length)return 1;if(this.length=0;t--){var n=0|this.words[t],o=0|e.words[t];if(n!==o){no&&(r=1);break}}return r},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new T(e)},o.prototype.toRed=function(e){return t(!this.red,"Already a number in reduction context"),t(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return t(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return t(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return t(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return t(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return t(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return t(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return t(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return t(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return t(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return t(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return t(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return t(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return t(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return t(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return t(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var v={k256:null,p224:null,p192:null,p25519:null};function m(e,r){this.name=e,this.p=new o(r,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function b(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(e){if("string"==typeof e){var r=o._prime(e);this.m=r.p,this.prime=r}else t(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function w(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},m.prototype.ireduce=function(e){var r,t=e;do{this.split(t,this.tmp),r=(t=(t=this.imulK(t)).iadd(this.tmp)).bitLength()}while(r>this.n);var n=r0?t.isub(this.p):t.strip(),t},m.prototype.split=function(e,r){e.iushrn(this.n,0,r)},m.prototype.imulK=function(e){return e.imul(this.k)},n(b,m),b.prototype.split=function(e,r){for(var t=Math.min(e.length,9),n=0;n>>22,o=i}o>>>=22,e.words[n-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},b.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var r=0,t=0;t>>=26,e.words[t]=o,r=n}return 0!==r&&(e.words[e.length++]=r),e},o._prime=function(e){if(v[e])return v[e];var r;if("k256"===e)r=new b;else if("p224"===e)r=new y;else if("p192"===e)r=new A;else{if("p25519"!==e)throw new Error("Unknown prime "+e);r=new S}return v[e]=r,r},T.prototype._verify1=function(e){t(0===e.negative,"red works only with positives"),t(e.red,"red works only with red numbers")},T.prototype._verify2=function(e,r){t(0==(e.negative|r.negative),"red works only with positives"),t(e.red&&e.red===r.red,"red works only with red numbers")},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,r){this._verify2(e,r);var t=e.add(r);return t.cmp(this.m)>=0&&t.isub(this.m),t._forceRed(this)},T.prototype.iadd=function(e,r){this._verify2(e,r);var t=e.iadd(r);return t.cmp(this.m)>=0&&t.isub(this.m),t},T.prototype.sub=function(e,r){this._verify2(e,r);var t=e.sub(r);return t.cmpn(0)<0&&t.iadd(this.m),t._forceRed(this)},T.prototype.isub=function(e,r){this._verify2(e,r);var t=e.isub(r);return t.cmpn(0)<0&&t.iadd(this.m),t},T.prototype.shl=function(e,r){return this._verify1(e),this.imod(e.ushln(r))},T.prototype.imul=function(e,r){return this._verify2(e,r),this.imod(e.imul(r))},T.prototype.mul=function(e,r){return this._verify2(e,r),this.imod(e.mul(r))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var r=this.m.andln(3);if(t(r%2==1),3===r){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);t(!i.isZero());var s=new o(1).toRed(this),u=s.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var f=this.pow(c,i),h=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=a;0!==d.cmp(s);){for(var g=d,v=0;0!==g.cmp(s);v++)g=g.redSqr();t(v=0;n--){for(var l=r.words[n],c=u-1;c>=0;c--){var f=l>>c&1;i!==t[0]&&(i=this.sqr(i)),0!==f||0!==a?(a<<=1,a|=f,(4===++s||0===n&&0===c)&&(i=this.mul(i,t[a]),s=0,a=0)):s=0}u=26}return i},T.prototype.convertTo=function(e){var r=e.umod(this.m);return r===e?r.clone():r},T.prototype.convertFrom=function(e){var r=e.clone();return r.red=null,r},o.mont=function(e){return new w(e)},n(w,T),w.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},w.prototype.convertFrom=function(e){var r=this.imod(e.mul(this.rinv));return r.red=null,r},w.prototype.imul=function(e,r){if(e.isZero()||r.isZero())return e.words[0]=0,e.length=1,e;var t=e.imul(r),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=t.isub(n).iushrn(this.shift),i=o;return o.cmp(this.m)>=0?i=o.isub(this.m):o.cmpn(0)<0&&(i=o.iadd(this.m)),i._forceRed(this)},w.prototype.mul=function(e,r){if(e.isZero()||r.isZero())return new o(0)._forceRed(this);var t=e.mul(r),n=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=t.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},w.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,r)})),u=(s.BN,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="logger/5.0.1"}))),l=(t(u),u.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=!1,n=!1,o={debug:1,default:2,info:2,warning:3,error:4,off:5},i=o.default,a=null;var s,l,c=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(r){try{if("test"!=="test".normalize(r))throw new Error("bad normalize")}catch(t){e.push(r)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(s=r.LogLevel||(r.LogLevel={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(l=r.ErrorCode||(r.ErrorCode={}));var f=function(){function e(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}return e.prototype._log=function(e,r){var t=e.toLowerCase();null==o[t]&&this.throwArgumentError("invalid log level name","logLevel",e),i>o[t]||console.log.apply(console,r)},e.prototype.debug=function(){for(var r=[],t=0;t=9007199254740991)&&this.throwError(t,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:r}),r%1&&this.throwError(t,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:r}))},e.prototype.checkArgumentCount=function(r,t,n){n=n?": "+n:"",rt&&this.throwError("too many arguments"+n,e.errors.UNEXPECTED_ARGUMENT,{count:r,expectedCount:t})},e.prototype.checkNew=function(r,t){r!==Object&&null!=r||this.throwError("missing new",e.errors.MISSING_NEW,{name:t.name})},e.prototype.checkAbstract=function(r,t){r===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:r.name,operation:"new"}):r!==Object&&null!=r||this.throwError("missing new",e.errors.MISSING_NEW,{name:t.name})},e.globalLogger=function(){return a||(a=new e(u.version)),a},e.setCensorship=function(r,o){if(!r&&o&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),t){if(!r)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}n=!!r,t=!!o},e.setLogLevel=function(r){var t=o[r];null!=t?i=t:e.globalLogger().warn("invalid log level - "+r)},e.errors=l,e.levels=s,e}();r.Logger=f}))),c=(t(l),l.LogLevel,l.ErrorCode,l.Logger,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="bytes/5.0.1"}))),f=(t(c),c.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(c.version);function n(e){return!!e.toHexString}function o(e){return e.slice||(e.slice=function(){var r=Array.prototype.slice.call(arguments);return o(new Uint8Array(Array.prototype.slice.apply(e,r)))}),e}function i(e){return h(e)&&!(e.length%2)||a(e)}function a(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(var r=0;r=256||t%1)return!1}return!0}function s(e,r){if(r||(r={}),"number"==typeof e){t.checkSafeUint53(e,"invalid arrayify value");for(var i=[];e;)i.unshift(255&e),e=parseInt(String(e/256));return 0===i.length&&i.push(0),o(new Uint8Array(i))}if(r.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),n(e)&&(e=e.toHexString()),h(e)){var s=e.substring(2);s.length%2&&("left"===r.hexPad?s="0x0"+s.substring(2):"right"===r.hexPad?s+="0":t.throwArgumentError("hex data is odd-length","value",e));i=[];for(var u=0;ur&&t.throwArgumentError("value out of range","value",arguments[0]);var n=new Uint8Array(r);return n.set(e,r-e.length),o(n)}function h(e,r){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!r||e.length===2+2*r)}r.isBytesLike=i,r.isBytes=a,r.arrayify=s,r.concat=u,r.stripZeros=function(e){var r=s(e);if(0===r.length)return r;for(var t=0;t>4]+"0123456789abcdef"[15&u]}return i}return t.throwArgumentError("invalid hexlify value","value",e)}function p(e){"string"!=typeof e&&(e=d(e)),h(e)||t.throwArgumentError("invalid hex string","value",e),e=e.substring(2);for(var r=0;r2*r+2&&t.throwArgumentError("value out of range","value",arguments[1]);e.length<2*r+2;)e="0x0"+e.substring(2);return e}function v(e){var r={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(i(e)){var n=s(e);65!==n.length&&t.throwArgumentError("invalid signature string; must be 65 bytes","signature",e),r.r=d(n.slice(0,32)),r.s=d(n.slice(32,64)),r.v=n[64],r.recoveryParam=1-r.v%2,r.v<27&&(0===r.v||1===r.v?r.v+=27:t.throwArgumentError("signature invalid v byte","signature",e)),r.recoveryParam&&(n[32]|=128),r._vs=d(n.slice(32,64))}else{if(r.r=e.r,r.s=e.s,r.v=e.v,r.recoveryParam=e.recoveryParam,r._vs=e._vs,null!=r._vs){var o=f(s(r._vs),32);r._vs=d(o);var a=o[0]>=128?1:0;null==r.recoveryParam?r.recoveryParam=a:r.recoveryParam!==a&&t.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),o[0]&=127;var u=d(o);null==r.s?r.s=u:r.s!==u&&t.throwArgumentError("signature v mismatch _vs","signature",e)}null==r.recoveryParam?null==r.v?t.throwArgumentError("signature missing v and recoveryParam","signature",e):r.recoveryParam=1-r.v%2:null==r.v?r.v=27+r.recoveryParam:r.recoveryParam!==1-r.v%2&&t.throwArgumentError("signature recoveryParam mismatch v","signature",e),null!=r.r&&h(r.r)?r.r=g(r.r,32):t.throwArgumentError("signature missing or invalid r","signature",e),null!=r.s&&h(r.s)?r.s=g(r.s,32):t.throwArgumentError("signature missing or invalid s","signature",e);var l=s(r.s);l[0]>=128&&t.throwArgumentError("signature s out of range","signature",e),r.recoveryParam&&(l[0]|=128);var c=d(l);r._vs&&(h(r._vs)||t.throwArgumentError("signature invalid _vs","signature",e),r._vs=g(r._vs,32)),null==r._vs?r._vs=c:r._vs!==c&&t.throwArgumentError("signature _vs mismatch v and s","signature",e)}return r}r.hexlify=d,r.hexDataLength=function(e){if("string"!=typeof e)e=d(e);else if(!h(e)||e.length%2)return null;return(e.length-2)/2},r.hexDataSlice=function(e,r,n){return"string"!=typeof e?e=d(e):(!h(e)||e.length%2)&&t.throwArgumentError("invalid hexData","value",e),r=2+2*r,null!=n?"0x"+e.substring(r,2+2*n):"0x"+e.substring(r)},r.hexConcat=function(e){var r="0x";return e.forEach((function(e){r+=d(e).substring(2)})),r},r.hexValue=function(e){var r=p(d(e,{hexPad:"left"}));return"0x"===r?"0x0":r},r.hexStripZeros=p,r.hexZeroPad=g,r.splitSignature=v,r.joinSignature=function(e){return d(u([(e=v(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}}))),h=(t(f),f.isBytesLike,f.isBytes,f.arrayify,f.concat,f.stripZeros,f.zeroPad,f.isHexString,f.hexlify,f.hexDataLength,f.hexDataSlice,f.hexConcat,f.hexValue,f.hexStripZeros,f.hexZeroPad,f.splitSignature,f.joinSignature,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="bignumber/5.0.1"}))),d=(t(h),h.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(h.version),n={};r.isBigNumberish=function(e){return null!=e&&(o.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||f.isHexString(e)||"bigint"==typeof e||f.isBytes(e))};var o=function(){function e(r,o){var i=this.constructor;t.checkNew(i,e),r!==n&&t.throwError("cannot call constructor directly; use BigNumber.from",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=o,this._isBigNumber=!0,Object.freeze(this)}return e.prototype.fromTwos=function(e){return a(u(this).fromTwos(e))},e.prototype.toTwos=function(e){return a(u(this).toTwos(e))},e.prototype.abs=function(){return"-"===this._hex[0]?e.from(this._hex.substring(1)):this},e.prototype.add=function(e){return a(u(this).add(u(e)))},e.prototype.sub=function(e){return a(u(this).sub(u(e)))},e.prototype.div=function(r){return e.from(r).isZero()&&c("division by zero","div"),a(u(this).div(u(r)))},e.prototype.mul=function(e){return a(u(this).mul(u(e)))},e.prototype.mod=function(e){var r=u(e);return r.isNeg()&&c("cannot modulo negative values","mod"),a(u(this).umod(r))},e.prototype.pow=function(e){return a(u(this).pow(u(e)))},e.prototype.and=function(e){var r=u(e);return(this.isNegative()||r.isNeg())&&c("cannot 'and' negative values","and"),a(u(this).and(r))},e.prototype.or=function(e){var r=u(e);return(this.isNegative()||r.isNeg())&&c("cannot 'or' negative values","or"),a(u(this).or(r))},e.prototype.xor=function(e){var r=u(e);return(this.isNegative()||r.isNeg())&&c("cannot 'xor' negative values","xor"),a(u(this).xor(r))},e.prototype.mask=function(e){return(this.isNegative()||e<0)&&c("cannot mask negative values","mask"),a(u(this).maskn(e))},e.prototype.shl=function(e){return(this.isNegative()||e<0)&&c("cannot shift negative values","shl"),a(u(this).shln(e))},e.prototype.shr=function(e){return(this.isNegative()||e<0)&&c("cannot shift negative values","shr"),a(u(this).shrn(e))},e.prototype.eq=function(e){return u(this).eq(u(e))},e.prototype.lt=function(e){return u(this).lt(u(e))},e.prototype.lte=function(e){return u(this).lte(u(e))},e.prototype.gt=function(e){return u(this).gt(u(e))},e.prototype.gte=function(e){return u(this).gte(u(e))},e.prototype.isNegative=function(){return"-"===this._hex[0]},e.prototype.isZero=function(){return u(this).isZero()},e.prototype.toNumber=function(){try{return u(this).toNumber()}catch(e){c("overflow","toNumber",this.toString())}return null},e.prototype.toString=function(){return 0!==arguments.length&&t.throwError("bigNumber.toString does not accept parameters",l.Logger.errors.UNEXPECTED_ARGUMENT,{}),u(this).toString(10)},e.prototype.toHexString=function(){return this._hex},e.from=function(r){return r instanceof e?r:"string"==typeof r?r.match(/-?0x[0-9a-f]+/i)?new e(n,i(r)):r.match(/^-?[0-9]+$/)?new e(n,i(new s.BN(r))):t.throwArgumentError("invalid BigNumber string","value",r):"number"==typeof r?(r%1&&c("underflow","BigNumber.from",r),(r>=9007199254740991||r<=-9007199254740991)&&c("overflow","BigNumber.from",r),e.from(String(r))):"bigint"==typeof r?e.from(r.toString()):f.isBytes(r)?e.from(f.hexlify(r)):r._hex&&f.isHexString(r._hex)?e.from(r._hex):r.toHexString&&"string"==typeof(r=r.toHexString())?e.from(r):t.throwArgumentError("invalid BigNumber value","value",r)},e.isBigNumber=function(e){return!(!e||!e._isBigNumber)},e}();function i(e){if("string"!=typeof e)return i(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&t.throwArgumentError("invalid hex","value",e),"0x00"===(e=i(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function a(e){return o.from(i(e))}function u(e){var r=o.from(e).toHexString();return"-"===r[0]?new s.BN("-"+r.substring(3),16):new s.BN(r.substring(2),16)}function c(e,r,n){var o={fault:e,operation:r};return null!=n&&(o.value=n),t.throwError(e,l.Logger.errors.NUMERIC_FAULT,o)}r.BigNumber=o}))),p=(t(d),d.isBigNumberish,d.BigNumber,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(h.version),n={},o=d.BigNumber.from(0),i=d.BigNumber.from(-1);function a(e,r,n,o){var i={fault:r,operation:n};return void 0!==o&&(i.value=o),t.throwError(e,l.Logger.errors.NUMERIC_FAULT,i)}for(var s="0";s.length<256;)s+=s;function u(e){if("number"!=typeof e)try{e=d.BigNumber.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+s.substring(0,e):t.throwArgumentError("invalid decimal size","decimals",e)}function c(e,r){null==r&&(r=0);var t=u(r),n=(e=d.BigNumber.from(e)).lt(o);n&&(e=e.mul(i));for(var a=e.mod(t).toString();a.length2&&t.throwArgumentError("too many decimal points","value",e);var l=s[0],c=s[1];for(l||(l="0"),c||(c="0"),c.length>n.length-1&&a("fractional component exceeds decimals","underflow","parseFixed");c.length80&&t.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",a),new e(n,o,i,a)},e}();r.FixedFormat=g;var v=function(){function e(r,n,o,i){var a=this.constructor;t.checkNew(a,e),this.format=i,this._hex=n,this._value=o,this._isFixedNumber=!0,Object.freeze(this)}return e.prototype._checkFormat=function(e){this.format.name!==e.format.name&&t.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)},e.prototype.addUnsafe=function(r){this._checkFormat(r);var t=p(this._value,this.format.decimals),n=p(r._value,r.format.decimals);return e.fromValue(t.add(n),this.format.decimals,this.format)},e.prototype.subUnsafe=function(r){this._checkFormat(r);var t=p(this._value,this.format.decimals),n=p(r._value,r.format.decimals);return e.fromValue(t.sub(n),this.format.decimals,this.format)},e.prototype.mulUnsafe=function(r){this._checkFormat(r);var t=p(this._value,this.format.decimals),n=p(r._value,r.format.decimals);return e.fromValue(t.mul(n).div(this.format._multiplier),this.format.decimals,this.format)},e.prototype.divUnsafe=function(r){this._checkFormat(r);var t=p(this._value,this.format.decimals),n=p(r._value,r.format.decimals);return e.fromValue(t.mul(this.format._multiplier).div(n),this.format.decimals,this.format)},e.prototype.round=function(r){null==r&&(r=0),(r<0||r>80||r%1)&&t.throwArgumentError("invalid decimal count","decimals",r);var n=this.toString().split(".");if(n[1].length<=r)return this;var o="0."+s.substring(0,r)+"5";return n=this.addUnsafe(e.fromString(o,this.format))._value.split("."),e.fromString(n[0]+"."+n[1].substring(0,r))},e.prototype.toString=function(){return this._value},e.prototype.toHexString=function(e){if(null==e)return this._hex;e%8&&t.throwArgumentError("invalid byte width","width",e);var r=d.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return f.hexZeroPad(r,e/8)},e.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())},e.prototype.toFormat=function(r){return e.fromString(this._value,r)},e.fromValue=function(r,t,n){return null!=n||null==t||d.isBigNumberish(t)||(n=t,t=null),null==t&&(t=0),null==n&&(n="fixed"),e.fromString(c(r,t),g.from(n))},e.fromString=function(r,t){null==t&&(t="fixed");var i=g.from(t),s=p(r,i.decimals);!i.signed&&s.lt(o)&&a("unsigned value cannot be negative","overflow","value",r);var u=null;i.signed?u=s.toTwos(i.width).toHexString():(u=s.toHexString(),u=f.hexZeroPad(u,i.width/8));var l=c(s,i.decimals);return new e(n,u,l,i)},e.fromBytes=function(r,t){null==t&&(t="fixed");var o=g.from(t);if(f.arrayify(r).length>o.width/8)throw new Error("overflow");var i=d.BigNumber.from(r);o.signed&&(i=i.fromTwos(o.width));var a=i.toTwos((o.signed?0:1)+o.width).toHexString(),s=c(i,o.decimals);return new e(n,a,s,o)},e.from=function(r,n){if("string"==typeof r)return e.fromString(r,n);if(f.isBytes(r))return e.fromBytes(r,n);try{return e.fromValue(r,0,n)}catch(e){if(e.code!==l.Logger.errors.INVALID_ARGUMENT)throw e}return t.throwArgumentError("invalid FixedNumber value","value",r)},e.isFixedNumber=function(e){return!(!e||!e._isFixedNumber)},e}();r.FixedNumber=v}))),g=(t(p),p.formatFixed,p.parseFixed,p.FixedFormat,p.FixedNumber,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.BigNumber=d.BigNumber,r.formatFixed=p.formatFixed,r.FixedFormat=p.FixedFormat,r.FixedNumber=p.FixedNumber,r.parseFixed=p.parseFixed}))),v=(t(g),g.BigNumber,g.formatFixed,g.FixedFormat,g.FixedNumber,g.parseFixed,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="properties/5.0.1"}))),m=(t(v),v.version,n((function(e,t){var n=r&&r.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,s)}u((n=n.apply(e,r||[])).next())}))},o=r&&r.__generator||function(e,r){var t,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=0||"tuple"===e)&&u[r])return!0;return(s[r]||"payable"===r)&&i.throwArgumentError("invalid modifier","name",r),!1}function f(e,r){for(var t in r)m.defineReadOnly(e,t,r[t])}t.FormatTypes=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});var h=new RegExp(/^(.*)\[([0-9]*)\]$/),d=function(){function e(r,t){r!==a&&i.throwError("use fromString",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),f(this,t);var n=this.type.match(h);f(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:e.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}return e.prototype.format=function(e){if(e||(e=t.FormatTypes.sighash),t.FormatTypes[e]||i.throwArgumentError("invalid format type","format",e),e===t.FormatTypes.json){var r={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(r.indexed=this.indexed),this.components&&(r.components=this.components.map((function(r){return JSON.parse(r.format(e))}))),JSON.stringify(r)}var n="";return"array"===this.baseType?(n+=this.arrayChildren.format(e),n+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==t.FormatTypes.sighash&&(n+=this.type),n+="("+this.components.map((function(r){return r.format(e)})).join(e===t.FormatTypes.full?", ":",")+")"):n+=this.type,e!==t.FormatTypes.sighash&&(!0===this.indexed&&(n+=" indexed"),e===t.FormatTypes.full&&this.name&&(n+=" "+this.name)),n},e.from=function(r,t){return"string"==typeof r?e.fromString(r,t):e.fromObject(r)},e.fromObject=function(r){return e.isParamType(r)?r:new e(a,{name:r.name||null,type:P(r.type),indexed:null==r.indexed?null:!!r.indexed,components:r.components?r.components.map(e.fromObject):null})},e.fromString=function(r,t){return function(r){return e.fromObject({name:r.name,type:r.type,indexed:r.indexed,components:r.components})}(function(e,r){var t=e;function n(r){i.throwArgumentError("unexpected character at position "+r,"param",e)}function o(e){var t={type:"",name:"",parent:e,state:{allowType:!0}};return r&&(t.indexed=!1),t}e=e.replace(/\s/g," ");for(var a={type:"",name:"",state:{allowType:!0}},s=a,u=0;u2&&i.throwArgumentError("invalid human-readable ABI signature","value",e),t[1].match(/^[0-9]+$/)||i.throwArgumentError("invalid human-readable ABI signature gas","value",e),r.gas=g.BigNumber.from(t[1]),t[0]):e}function S(e,r){r.constant=!1,r.payable=!1,r.stateMutability="nonpayable",e.split(" ").forEach((function(e){switch(e.trim()){case"constant":r.constant=!0;break;case"payable":r.payable=!0,r.stateMutability="payable";break;case"nonpayable":r.payable=!1,r.stateMutability="nonpayable";break;case"pure":r.constant=!0,r.stateMutability="pure";break;case"view":r.constant=!0,r.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function T(e){var r={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(r.stateMutability=e.stateMutability,r.constant="view"===r.stateMutability||"pure"===r.stateMutability,null!=e.constant&&!!e.constant!==r.constant&&i.throwArgumentError("cannot have constant function with mutability "+r.stateMutability,"value",e),r.payable="payable"===r.stateMutability,null!=e.payable&&!!e.payable!==r.payable&&i.throwArgumentError("cannot have payable function with mutability "+r.stateMutability,"value",e)):null!=e.payable?(r.payable=!!e.payable,null!=e.constant||r.payable||"constructor"===e.type||i.throwArgumentError("unable to determine stateMutability","value",e),r.constant=!!e.constant,r.constant?r.stateMutability="view":r.stateMutability=r.payable?"payable":"nonpayable",r.payable&&r.constant&&i.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(r.constant=!!e.constant,r.payable=!r.constant,r.stateMutability=r.constant?"view":"payable"):"constructor"!==e.type&&i.throwArgumentError("unable to determine stateMutability","value",e),r}t.EventFragment=y;var w=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return o(r,e),r.prototype.format=function(e){if(e||(e=t.FormatTypes.sighash),t.FormatTypes[e]||i.throwArgumentError("invalid format type","format",e),e===t.FormatTypes.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(r){return JSON.parse(r.format(e))}))});e===t.FormatTypes.sighash&&i.throwError("cannot format a constructor for sighash",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var r="constructor("+this.inputs.map((function(r){return r.format(e)})).join(e===t.FormatTypes.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(r+=this.stateMutability+" "),r.trim()},r.from=function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)},r.fromObject=function(e){if(r.isConstructorFragment(e))return e;"constructor"!==e.type&&i.throwArgumentError("invalid constructor object","value",e);var t=T(e);t.constant&&i.throwArgumentError("constructor cannot be constant","value",e);var n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(d.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?g.BigNumber.from(e.gas):null};return new r(a,n)},r.fromString=function(e){var t={type:"constructor"},n=(e=A(e,t)).match(C);return n&&"constructor"===n[1].trim()||i.throwArgumentError("invalid constructor string","value",e),t.inputs=p(n[2].trim(),!1),S(n[3].trim(),t),r.fromObject(t)},r.isConstructorFragment=function(e){return e&&e._isFragment&&"constructor"===e.type},r}(v);t.ConstructorFragment=w;var M=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return o(r,e),r.prototype.format=function(e){if(e||(e=t.FormatTypes.sighash),t.FormatTypes[e]||i.throwArgumentError("invalid format type","format",e),e===t.FormatTypes.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(r){return JSON.parse(r.format(e))})),ouputs:this.outputs.map((function(r){return JSON.parse(r.format(e))}))});var r="";return e!==t.FormatTypes.sighash&&(r+="function "),r+=this.name+"("+this.inputs.map((function(r){return r.format(e)})).join(e===t.FormatTypes.full?", ":",")+") ",e!==t.FormatTypes.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(r+=this.stateMutability+" "):this.constant&&(r+="view "),this.outputs&&this.outputs.length&&(r+="returns ("+this.outputs.map((function(r){return r.format(e)})).join(", ")+") "),null!=this.gas&&(r+="@"+this.gas.toString()+" ")),r.trim()},r.from=function(e){return"string"==typeof e?r.fromString(e):r.fromObject(e)},r.fromObject=function(e){if(r.isFunctionFragment(e))return e;"function"!==e.type&&i.throwArgumentError("invalid function object","value",e);var t=T(e),n={type:e.type,name:F(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(d.fromObject):[],outputs:e.outputs?e.outputs.map(d.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?g.BigNumber.from(e.gas):null};return new r(a,n)},r.fromString=function(e){var t={type:"function"},n=(e=A(e,t)).split(" returns ");n.length>2&&i.throwArgumentError("invalid function string","value",e);var o=n[0].match(C);if(o||i.throwArgumentError("invalid function signature","value",e),t.name=o[1].trim(),t.name&&F(t.name),t.inputs=p(o[2],!1),S(o[3].trim(),t),n.length>1){var a=n[1].match(C);""==a[1].trim()&&""==a[3].trim()||i.throwArgumentError("unexpected tokens","value",e),t.outputs=p(a[2],!1)}else t.outputs=[];return r.fromObject(t)},r.isFunctionFragment=function(e){return e&&e._isFragment&&"function"===e.type},r}(w);function P(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}t.FunctionFragment=M;var E=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function F(e){return e&&e.match(E)||i.throwArgumentError('invalid identifier "'+e+'"',"value",e),e}var C=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")}))),A=(t(y),y.FormatTypes,y.ParamType,y.Fragment,y.EventFragment,y.ConstructorFragment,y.FunctionFragment,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(b.version);r.checkResultErrors=function(e){var r=[],t=function(e,n){if(Array.isArray(n))for(var o in n){var i=e.slice();i.push(o);try{t(i,n[o])}catch(e){r.push({path:i,error:e})}}};return t([],e),r};var n=function(){function e(e,r,t,n){this.name=e,this.type=r,this.localName=t,this.dynamic=n}return e.prototype._throwError=function(e,r){t.throwArgumentError(e,this.localName,r)},e}();r.Coder=n;var o=function(){function e(e){m.defineReadOnly(this,"wordSize",e||32),this._data=f.arrayify([]),this._padding=new Uint8Array(e)}return Object.defineProperty(e.prototype,"data",{get:function(){return f.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._data.length},enumerable:!0,configurable:!0}),e.prototype._writeData=function(e){return this._data=f.concat([this._data,e]),e.length},e.prototype.writeBytes=function(e){var r=f.arrayify(e);return r.length%this.wordSize&&(r=f.concat([r,this._padding.slice(r.length%this.wordSize)])),this._writeData(r)},e.prototype._getValue=function(e){var r=f.arrayify(g.BigNumber.from(e));return r.length>this.wordSize&&t.throwError("value out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:r.length}),r.length%this.wordSize&&(r=f.concat([this._padding.slice(r.length%this.wordSize),r])),r},e.prototype.writeValue=function(e){return this._writeData(this._getValue(e))},e.prototype.writeUpdatableValue=function(){var e=this,r=this.length;return this.writeValue(0),function(t){e._data.set(e._getValue(t),r)}},e}();r.Writer=o;var i=function(){function e(e,r,t){m.defineReadOnly(this,"_data",f.arrayify(e)),m.defineReadOnly(this,"wordSize",r||32),m.defineReadOnly(this,"_coerceFunc",t),this._offset=0}return Object.defineProperty(e.prototype,"data",{get:function(){return f.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"consumed",{get:function(){return this._offset},enumerable:!0,configurable:!0}),e.coerce=function(e,r){var t=e.match("^u?int([0-9]+)$");return t&&parseInt(t[1])<=48&&(r=r.toNumber()),r},e.prototype.coerce=function(r,t){return this._coerceFunc?this._coerceFunc(r,t):e.coerce(r,t)},e.prototype._peekBytes=function(e,r){var n=Math.ceil(r/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&t.throwError("data out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n}),this._data.slice(this._offset,this._offset+n)},e.prototype.subReader=function(r){return new e(this._data.slice(this._offset+r),this.wordSize,this._coerceFunc)},e.prototype.readBytes=function(e){var r=this._peekBytes(0,e);return this._offset+=r.length,r.slice(0,e)},e.prototype.readValue=function(){return g.BigNumber.from(this.readBytes(this.wordSize))},e}();r.Reader=i}))),S=(t(A),A.checkResultErrors,A.Coder,A.Writer,A.Reader,n((function(e){ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).ethers={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}function o(e){return e&&e.default||e}var i=Object.freeze({default:{}}),a=o(i),s=n((function(e){!function(e,t){function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function o(e,t,r){if(o.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var i;"object"==typeof e?e.exports=o:t.BN=o,o.BN=o,o.wordSize=26;try{i=a.Buffer}catch(e){}function s(e,t,r){for(var n=0,o=Math.min(e.length,r),i=t;i=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function u(e,t,r,n){for(var o=0,i=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return o}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var o=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&o++,16===t?this._parseHex(e,o):this._parseBase(e,t,o),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var o=0;o=0;o-=3)a=e[o]|e[o-1]<<8|e[o-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(o=0,i=0;o>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)o=s(e,r,r+6),this.words[n]|=o<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==t&&(o=s(e,t,r+6),this.words[n]|=o<>>26-i&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,o=1;o<=67108863;o*=t)n++;n--,o=o/t|0;for(var i=e.length-r,a=i%n,s=Math.min(i,i-a)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var o=0|e.words[0],i=0|t.words[0],a=o*i,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var l=1;l>>26,h=67108863&u,f=Math.min(l,t.length-1),d=Math.max(0,l-e.length+1);d<=f;d++){var p=l-d|0;c+=(a=(o=0|e.words[p])*(i=0|t.words[d])+h)/67108864|0,h=67108863&a}r.words[l]=0|h,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var o=0,i=0,a=0;a>>24-o&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(o+=2)>=26&&(o-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var f=c[e],d=h[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(d).toString(e);n=(p=p.idivn(d)).isZero()?g+n:l[f-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==i),this.toArrayLike(i,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var o=this.byteLength(),i=n||Math.max(1,o);r(o<=i,"byte array longer than desired length"),r(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,l=new e(i),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),l[s]=a;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var o=0;o0&&(this.words[o]=~this.words[o]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,o=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var o=0,i=0;i>>26;for(;0!==o&&i>>26;if(this.length=r.length,0!==o)this.words[this.length]=o,this.length++;else if(r!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,o=this.cmp(e);if(0===o)return this.negative=0,this.length=1,this.words[0]=0,this;o>0?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,d=0|a[1],p=8191&d,g=d>>>13,m=0|a[2],v=8191&m,y=m>>>13,b=0|a[3],M=8191&b,w=b>>>13,A=0|a[4],S=8191&A,T=A>>>13,P=0|a[5],E=8191&P,_=P>>>13,k=0|a[6],F=8191&k,C=k>>>13,B=0|a[7],L=8191&B,O=B>>>13,J=0|a[8],R=8191&J,N=J>>>13,D=0|a[9],x=8191&D,I=D>>>13,X=0|s[0],H=8191&X,U=X>>>13,G=0|s[1],z=8191&G,V=G>>>13,j=0|s[2],Z=8191&j,K=j>>>13,Q=0|s[3],q=8191&Q,W=Q>>>13,Y=0|s[4],$=8191&Y,ee=Y>>>13,te=0|s[5],re=8191&te,ne=te>>>13,oe=0|s[6],ie=8191&oe,ae=oe>>>13,se=0|s[7],ue=8191&se,le=se>>>13,ce=0|s[8],he=8191&ce,fe=ce>>>13,de=0|s[9],pe=8191&de,ge=de>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(l+(n=Math.imul(h,H))|0)+((8191&(o=(o=Math.imul(h,U))+Math.imul(f,H)|0))<<13)|0;l=((i=Math.imul(f,U))+(o>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(p,H),o=(o=Math.imul(p,U))+Math.imul(g,H)|0,i=Math.imul(g,U);var ve=(l+(n=n+Math.imul(h,z)|0)|0)+((8191&(o=(o=o+Math.imul(h,V)|0)+Math.imul(f,z)|0))<<13)|0;l=((i=i+Math.imul(f,V)|0)+(o>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(v,H),o=(o=Math.imul(v,U))+Math.imul(y,H)|0,i=Math.imul(y,U),n=n+Math.imul(p,z)|0,o=(o=o+Math.imul(p,V)|0)+Math.imul(g,z)|0,i=i+Math.imul(g,V)|0;var ye=(l+(n=n+Math.imul(h,Z)|0)|0)+((8191&(o=(o=o+Math.imul(h,K)|0)+Math.imul(f,Z)|0))<<13)|0;l=((i=i+Math.imul(f,K)|0)+(o>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(M,H),o=(o=Math.imul(M,U))+Math.imul(w,H)|0,i=Math.imul(w,U),n=n+Math.imul(v,z)|0,o=(o=o+Math.imul(v,V)|0)+Math.imul(y,z)|0,i=i+Math.imul(y,V)|0,n=n+Math.imul(p,Z)|0,o=(o=o+Math.imul(p,K)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,K)|0;var be=(l+(n=n+Math.imul(h,q)|0)|0)+((8191&(o=(o=o+Math.imul(h,W)|0)+Math.imul(f,q)|0))<<13)|0;l=((i=i+Math.imul(f,W)|0)+(o>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(S,H),o=(o=Math.imul(S,U))+Math.imul(T,H)|0,i=Math.imul(T,U),n=n+Math.imul(M,z)|0,o=(o=o+Math.imul(M,V)|0)+Math.imul(w,z)|0,i=i+Math.imul(w,V)|0,n=n+Math.imul(v,Z)|0,o=(o=o+Math.imul(v,K)|0)+Math.imul(y,Z)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(p,q)|0,o=(o=o+Math.imul(p,W)|0)+Math.imul(g,q)|0,i=i+Math.imul(g,W)|0;var Me=(l+(n=n+Math.imul(h,$)|0)|0)+((8191&(o=(o=o+Math.imul(h,ee)|0)+Math.imul(f,$)|0))<<13)|0;l=((i=i+Math.imul(f,ee)|0)+(o>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(E,H),o=(o=Math.imul(E,U))+Math.imul(_,H)|0,i=Math.imul(_,U),n=n+Math.imul(S,z)|0,o=(o=o+Math.imul(S,V)|0)+Math.imul(T,z)|0,i=i+Math.imul(T,V)|0,n=n+Math.imul(M,Z)|0,o=(o=o+Math.imul(M,K)|0)+Math.imul(w,Z)|0,i=i+Math.imul(w,K)|0,n=n+Math.imul(v,q)|0,o=(o=o+Math.imul(v,W)|0)+Math.imul(y,q)|0,i=i+Math.imul(y,W)|0,n=n+Math.imul(p,$)|0,o=(o=o+Math.imul(p,ee)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,ee)|0;var we=(l+(n=n+Math.imul(h,re)|0)|0)+((8191&(o=(o=o+Math.imul(h,ne)|0)+Math.imul(f,re)|0))<<13)|0;l=((i=i+Math.imul(f,ne)|0)+(o>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(F,H),o=(o=Math.imul(F,U))+Math.imul(C,H)|0,i=Math.imul(C,U),n=n+Math.imul(E,z)|0,o=(o=o+Math.imul(E,V)|0)+Math.imul(_,z)|0,i=i+Math.imul(_,V)|0,n=n+Math.imul(S,Z)|0,o=(o=o+Math.imul(S,K)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(M,q)|0,o=(o=o+Math.imul(M,W)|0)+Math.imul(w,q)|0,i=i+Math.imul(w,W)|0,n=n+Math.imul(v,$)|0,o=(o=o+Math.imul(v,ee)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,o=(o=o+Math.imul(p,ne)|0)+Math.imul(g,re)|0,i=i+Math.imul(g,ne)|0;var Ae=(l+(n=n+Math.imul(h,ie)|0)|0)+((8191&(o=(o=o+Math.imul(h,ae)|0)+Math.imul(f,ie)|0))<<13)|0;l=((i=i+Math.imul(f,ae)|0)+(o>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(L,H),o=(o=Math.imul(L,U))+Math.imul(O,H)|0,i=Math.imul(O,U),n=n+Math.imul(F,z)|0,o=(o=o+Math.imul(F,V)|0)+Math.imul(C,z)|0,i=i+Math.imul(C,V)|0,n=n+Math.imul(E,Z)|0,o=(o=o+Math.imul(E,K)|0)+Math.imul(_,Z)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(S,q)|0,o=(o=o+Math.imul(S,W)|0)+Math.imul(T,q)|0,i=i+Math.imul(T,W)|0,n=n+Math.imul(M,$)|0,o=(o=o+Math.imul(M,ee)|0)+Math.imul(w,$)|0,i=i+Math.imul(w,ee)|0,n=n+Math.imul(v,re)|0,o=(o=o+Math.imul(v,ne)|0)+Math.imul(y,re)|0,i=i+Math.imul(y,ne)|0,n=n+Math.imul(p,ie)|0,o=(o=o+Math.imul(p,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Se=(l+(n=n+Math.imul(h,ue)|0)|0)+((8191&(o=(o=o+Math.imul(h,le)|0)+Math.imul(f,ue)|0))<<13)|0;l=((i=i+Math.imul(f,le)|0)+(o>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(R,H),o=(o=Math.imul(R,U))+Math.imul(N,H)|0,i=Math.imul(N,U),n=n+Math.imul(L,z)|0,o=(o=o+Math.imul(L,V)|0)+Math.imul(O,z)|0,i=i+Math.imul(O,V)|0,n=n+Math.imul(F,Z)|0,o=(o=o+Math.imul(F,K)|0)+Math.imul(C,Z)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(E,q)|0,o=(o=o+Math.imul(E,W)|0)+Math.imul(_,q)|0,i=i+Math.imul(_,W)|0,n=n+Math.imul(S,$)|0,o=(o=o+Math.imul(S,ee)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,ee)|0,n=n+Math.imul(M,re)|0,o=(o=o+Math.imul(M,ne)|0)+Math.imul(w,re)|0,i=i+Math.imul(w,ne)|0,n=n+Math.imul(v,ie)|0,o=(o=o+Math.imul(v,ae)|0)+Math.imul(y,ie)|0,i=i+Math.imul(y,ae)|0,n=n+Math.imul(p,ue)|0,o=(o=o+Math.imul(p,le)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,le)|0;var Te=(l+(n=n+Math.imul(h,he)|0)|0)+((8191&(o=(o=o+Math.imul(h,fe)|0)+Math.imul(f,he)|0))<<13)|0;l=((i=i+Math.imul(f,fe)|0)+(o>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(x,H),o=(o=Math.imul(x,U))+Math.imul(I,H)|0,i=Math.imul(I,U),n=n+Math.imul(R,z)|0,o=(o=o+Math.imul(R,V)|0)+Math.imul(N,z)|0,i=i+Math.imul(N,V)|0,n=n+Math.imul(L,Z)|0,o=(o=o+Math.imul(L,K)|0)+Math.imul(O,Z)|0,i=i+Math.imul(O,K)|0,n=n+Math.imul(F,q)|0,o=(o=o+Math.imul(F,W)|0)+Math.imul(C,q)|0,i=i+Math.imul(C,W)|0,n=n+Math.imul(E,$)|0,o=(o=o+Math.imul(E,ee)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,ee)|0,n=n+Math.imul(S,re)|0,o=(o=o+Math.imul(S,ne)|0)+Math.imul(T,re)|0,i=i+Math.imul(T,ne)|0,n=n+Math.imul(M,ie)|0,o=(o=o+Math.imul(M,ae)|0)+Math.imul(w,ie)|0,i=i+Math.imul(w,ae)|0,n=n+Math.imul(v,ue)|0,o=(o=o+Math.imul(v,le)|0)+Math.imul(y,ue)|0,i=i+Math.imul(y,le)|0,n=n+Math.imul(p,he)|0,o=(o=o+Math.imul(p,fe)|0)+Math.imul(g,he)|0,i=i+Math.imul(g,fe)|0;var Pe=(l+(n=n+Math.imul(h,pe)|0)|0)+((8191&(o=(o=o+Math.imul(h,ge)|0)+Math.imul(f,pe)|0))<<13)|0;l=((i=i+Math.imul(f,ge)|0)+(o>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(x,z),o=(o=Math.imul(x,V))+Math.imul(I,z)|0,i=Math.imul(I,V),n=n+Math.imul(R,Z)|0,o=(o=o+Math.imul(R,K)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,K)|0,n=n+Math.imul(L,q)|0,o=(o=o+Math.imul(L,W)|0)+Math.imul(O,q)|0,i=i+Math.imul(O,W)|0,n=n+Math.imul(F,$)|0,o=(o=o+Math.imul(F,ee)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,ee)|0,n=n+Math.imul(E,re)|0,o=(o=o+Math.imul(E,ne)|0)+Math.imul(_,re)|0,i=i+Math.imul(_,ne)|0,n=n+Math.imul(S,ie)|0,o=(o=o+Math.imul(S,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,n=n+Math.imul(M,ue)|0,o=(o=o+Math.imul(M,le)|0)+Math.imul(w,ue)|0,i=i+Math.imul(w,le)|0,n=n+Math.imul(v,he)|0,o=(o=o+Math.imul(v,fe)|0)+Math.imul(y,he)|0,i=i+Math.imul(y,fe)|0;var Ee=(l+(n=n+Math.imul(p,pe)|0)|0)+((8191&(o=(o=o+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;l=((i=i+Math.imul(g,ge)|0)+(o>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(x,Z),o=(o=Math.imul(x,K))+Math.imul(I,Z)|0,i=Math.imul(I,K),n=n+Math.imul(R,q)|0,o=(o=o+Math.imul(R,W)|0)+Math.imul(N,q)|0,i=i+Math.imul(N,W)|0,n=n+Math.imul(L,$)|0,o=(o=o+Math.imul(L,ee)|0)+Math.imul(O,$)|0,i=i+Math.imul(O,ee)|0,n=n+Math.imul(F,re)|0,o=(o=o+Math.imul(F,ne)|0)+Math.imul(C,re)|0,i=i+Math.imul(C,ne)|0,n=n+Math.imul(E,ie)|0,o=(o=o+Math.imul(E,ae)|0)+Math.imul(_,ie)|0,i=i+Math.imul(_,ae)|0,n=n+Math.imul(S,ue)|0,o=(o=o+Math.imul(S,le)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,le)|0,n=n+Math.imul(M,he)|0,o=(o=o+Math.imul(M,fe)|0)+Math.imul(w,he)|0,i=i+Math.imul(w,fe)|0;var _e=(l+(n=n+Math.imul(v,pe)|0)|0)+((8191&(o=(o=o+Math.imul(v,ge)|0)+Math.imul(y,pe)|0))<<13)|0;l=((i=i+Math.imul(y,ge)|0)+(o>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,q),o=(o=Math.imul(x,W))+Math.imul(I,q)|0,i=Math.imul(I,W),n=n+Math.imul(R,$)|0,o=(o=o+Math.imul(R,ee)|0)+Math.imul(N,$)|0,i=i+Math.imul(N,ee)|0,n=n+Math.imul(L,re)|0,o=(o=o+Math.imul(L,ne)|0)+Math.imul(O,re)|0,i=i+Math.imul(O,ne)|0,n=n+Math.imul(F,ie)|0,o=(o=o+Math.imul(F,ae)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,ae)|0,n=n+Math.imul(E,ue)|0,o=(o=o+Math.imul(E,le)|0)+Math.imul(_,ue)|0,i=i+Math.imul(_,le)|0,n=n+Math.imul(S,he)|0,o=(o=o+Math.imul(S,fe)|0)+Math.imul(T,he)|0,i=i+Math.imul(T,fe)|0;var ke=(l+(n=n+Math.imul(M,pe)|0)|0)+((8191&(o=(o=o+Math.imul(M,ge)|0)+Math.imul(w,pe)|0))<<13)|0;l=((i=i+Math.imul(w,ge)|0)+(o>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(x,$),o=(o=Math.imul(x,ee))+Math.imul(I,$)|0,i=Math.imul(I,ee),n=n+Math.imul(R,re)|0,o=(o=o+Math.imul(R,ne)|0)+Math.imul(N,re)|0,i=i+Math.imul(N,ne)|0,n=n+Math.imul(L,ie)|0,o=(o=o+Math.imul(L,ae)|0)+Math.imul(O,ie)|0,i=i+Math.imul(O,ae)|0,n=n+Math.imul(F,ue)|0,o=(o=o+Math.imul(F,le)|0)+Math.imul(C,ue)|0,i=i+Math.imul(C,le)|0,n=n+Math.imul(E,he)|0,o=(o=o+Math.imul(E,fe)|0)+Math.imul(_,he)|0,i=i+Math.imul(_,fe)|0;var Fe=(l+(n=n+Math.imul(S,pe)|0)|0)+((8191&(o=(o=o+Math.imul(S,ge)|0)+Math.imul(T,pe)|0))<<13)|0;l=((i=i+Math.imul(T,ge)|0)+(o>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(x,re),o=(o=Math.imul(x,ne))+Math.imul(I,re)|0,i=Math.imul(I,ne),n=n+Math.imul(R,ie)|0,o=(o=o+Math.imul(R,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,n=n+Math.imul(L,ue)|0,o=(o=o+Math.imul(L,le)|0)+Math.imul(O,ue)|0,i=i+Math.imul(O,le)|0,n=n+Math.imul(F,he)|0,o=(o=o+Math.imul(F,fe)|0)+Math.imul(C,he)|0,i=i+Math.imul(C,fe)|0;var Ce=(l+(n=n+Math.imul(E,pe)|0)|0)+((8191&(o=(o=o+Math.imul(E,ge)|0)+Math.imul(_,pe)|0))<<13)|0;l=((i=i+Math.imul(_,ge)|0)+(o>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(x,ie),o=(o=Math.imul(x,ae))+Math.imul(I,ie)|0,i=Math.imul(I,ae),n=n+Math.imul(R,ue)|0,o=(o=o+Math.imul(R,le)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,le)|0,n=n+Math.imul(L,he)|0,o=(o=o+Math.imul(L,fe)|0)+Math.imul(O,he)|0,i=i+Math.imul(O,fe)|0;var Be=(l+(n=n+Math.imul(F,pe)|0)|0)+((8191&(o=(o=o+Math.imul(F,ge)|0)+Math.imul(C,pe)|0))<<13)|0;l=((i=i+Math.imul(C,ge)|0)+(o>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(x,ue),o=(o=Math.imul(x,le))+Math.imul(I,ue)|0,i=Math.imul(I,le),n=n+Math.imul(R,he)|0,o=(o=o+Math.imul(R,fe)|0)+Math.imul(N,he)|0,i=i+Math.imul(N,fe)|0;var Le=(l+(n=n+Math.imul(L,pe)|0)|0)+((8191&(o=(o=o+Math.imul(L,ge)|0)+Math.imul(O,pe)|0))<<13)|0;l=((i=i+Math.imul(O,ge)|0)+(o>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(x,he),o=(o=Math.imul(x,fe))+Math.imul(I,he)|0,i=Math.imul(I,fe);var Oe=(l+(n=n+Math.imul(R,pe)|0)|0)+((8191&(o=(o=o+Math.imul(R,ge)|0)+Math.imul(N,pe)|0))<<13)|0;l=((i=i+Math.imul(N,ge)|0)+(o>>>13)|0)+(Oe>>>26)|0,Oe&=67108863;var Je=(l+(n=Math.imul(x,pe))|0)+((8191&(o=(o=Math.imul(x,ge))+Math.imul(I,pe)|0))<<13)|0;return l=((i=Math.imul(I,ge))+(o>>>13)|0)+(Je>>>26)|0,Je&=67108863,u[0]=me,u[1]=ve,u[2]=ye,u[3]=be,u[4]=Me,u[5]=we,u[6]=Ae,u[7]=Se,u[8]=Te,u[9]=Pe,u[10]=Ee,u[11]=_e,u[12]=ke,u[13]=Fe,u[14]=Ce,u[15]=Be,u[16]=Le,u[17]=Oe,u[18]=Je,0!==l&&(u[19]=l,r.length++),r};function p(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=f),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,t):r<63?f(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,o=0,i=0;i>>26)|0)>>>26,a&=67108863}r.words[i]=s,n=a,a=o}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,o,i){for(var a=0;a>>=1)o++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=o/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>o}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,n=e%26,o=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==o){for(t=this.length-1;t>=0;t--)this.words[t+o]=this.words[t];for(t=0;t=0),o=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,l=0;l=0&&(0!==c||l>=o);l--){var h=0|this.words[l];this.words[l]=c<<26-i|h>>>i,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,o=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var o=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[o+n]=67108863&i}for(;o>26,this.words[o+n]=67108863&i;if(0===s)return this.strip();for(r(-1===s),s=0,o=0;o>26,this.words[o]=67108863&i;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==t){(s=new o(null)).length=u+1,s.words=new Array(s.length);for(var l=0;l=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/a|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),o=e.andln(1),i=r.cmp(n);return i<0||1===o&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,o=this.length-1;o>=0;o--)n=(t*n+(0|this.words[o]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*t;this.words[n]=o/e|0,t=o%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),a=new o(0),s=new o(0),u=new o(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),h=t.clone();!t.isZero();){for(var f=0,d=1;0==(t.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(c),a.isub(h)),i.iushrn(1),a.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(s),a.isub(u)):(n.isub(t),s.isub(i),u.isub(a))}return{a:s,b:u,gcd:n.iushln(l)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,a=new o(1),s=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,c=1;0==(t.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var h=0,f=1;0==(n.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(n.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(i=0===t.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var o=t.cmp(r);if(o<0){var i=t;t=r,r=i}else if(0===o||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,o=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var o=0|this.words[0];t=o===e?0:oe.length)return 1;if(this.length=0;r--){var n=0|this.words[r],o=0|e.words[r];if(n!==o){no&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new A(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},n(y,v),y.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,o=i}o>>>=22,e.words[n-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=o,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new M;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return m[e]=t,t},A.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);r(!i.isZero());var s=new o(1).toRed(this),u=s.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,i),f=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=a;0!==d.cmp(s);){for(var g=d,m=0;0!==g.cmp(s);m++)g=g.redSqr();r(m=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var h=l>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}u=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new S(e)},n(S,A),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),i=o;return o.cmp(this.m)>=0?i=o.isub(this.m):o.cmpn(0)<0&&(i=o.iadd(this.m)),i._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,t)})),u=(s.BN,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="logger/5.0.2"}))),l=(r(u),u.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=!1,n=!1,o={debug:1,default:2,info:2,warning:3,error:4,off:5},i=o.default,a=null;var s,l,c=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(t){try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(s=t.LogLevel||(t.LogLevel={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(l=t.ErrorCode||(t.ErrorCode={}));var h=function(){function e(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}return e.prototype._log=function(e,t){var r=e.toLowerCase();null==o[r]&&this.throwArgumentError("invalid log level name","logLevel",e),i>o[r]||console.log.apply(console,t)},e.prototype.debug=function(){for(var t=[],r=0;r=9007199254740991)&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))},e.prototype.checkArgumentCount=function(t,r,n){n=n?": "+n:"",tr&&this.throwError("too many arguments"+n,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})},e.prototype.checkNew=function(t,r){t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})},e.prototype.checkAbstract=function(t,r){t===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})},e.globalLogger=function(){return a||(a=new e(u.version)),a},e.setCensorship=function(t,o){if(!t&&o&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),r){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}n=!!t,r=!!o},e.setLogLevel=function(t){var r=o[t];null!=r?i=r:e.globalLogger().warn("invalid log level - "+t)},e.errors=l,e.levels=s,e}();t.Logger=h}))),c=(r(l),l.LogLevel,l.ErrorCode,l.Logger,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="bytes/5.0.1"}))),h=(r(c),c.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(c.version);function n(e){return!!e.toHexString}function o(e){return e.slice||(e.slice=function(){var t=Array.prototype.slice.call(arguments);return o(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function i(e){return f(e)&&!(e.length%2)||a(e)}function a(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(var t=0;t=256||r%1)return!1}return!0}function s(e,t){if(t||(t={}),"number"==typeof e){r.checkSafeUint53(e,"invalid arrayify value");for(var i=[];e;)i.unshift(255&e),e=parseInt(String(e/256));return 0===i.length&&i.push(0),o(new Uint8Array(i))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),n(e)&&(e=e.toHexString()),f(e)){var s=e.substring(2);s.length%2&&("left"===t.hexPad?s="0x0"+s.substring(2):"right"===t.hexPad?s+="0":r.throwArgumentError("hex data is odd-length","value",e));i=[];for(var u=0;ut&&r.throwArgumentError("value out of range","value",arguments[0]);var n=new Uint8Array(t);return n.set(e,t-e.length),o(n)}function f(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}t.isBytesLike=i,t.isBytes=a,t.arrayify=s,t.concat=u,t.stripZeros=function(e){var t=s(e);if(0===t.length)return t;for(var r=0;r>4]+"0123456789abcdef"[15&u]}return i}return r.throwArgumentError("invalid hexlify value","value",e)}function p(e){"string"!=typeof e&&(e=d(e)),f(e)||r.throwArgumentError("invalid hex string","value",e),e=e.substring(2);for(var t=0;t2*t+2&&r.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function m(e){var t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(i(e)){var n=s(e);65!==n.length&&r.throwArgumentError("invalid signature string; must be 65 bytes","signature",e),t.r=d(n.slice(0,32)),t.s=d(n.slice(32,64)),t.v=n[64],t.recoveryParam=1-t.v%2,t.v<27&&(0===t.v||1===t.v?t.v+=27:r.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam&&(n[32]|=128),t._vs=d(n.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){var o=h(s(t._vs),32);t._vs=d(o);var a=o[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=a:t.recoveryParam!==a&&r.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),o[0]&=127;var u=d(o);null==t.s?t.s=u:t.s!==u&&r.throwArgumentError("signature v mismatch _vs","signature",e)}null==t.recoveryParam?null==t.v?r.throwArgumentError("signature missing v and recoveryParam","signature",e):t.recoveryParam=1-t.v%2:null==t.v?t.v=27+t.recoveryParam:t.recoveryParam!==1-t.v%2&&r.throwArgumentError("signature recoveryParam mismatch v","signature",e),null!=t.r&&f(t.r)?t.r=g(t.r,32):r.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&f(t.s)?t.s=g(t.s,32):r.throwArgumentError("signature missing or invalid s","signature",e);var l=s(t.s);l[0]>=128&&r.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(l[0]|=128);var c=d(l);t._vs&&(f(t._vs)||r.throwArgumentError("signature invalid _vs","signature",e),t._vs=g(t._vs,32)),null==t._vs?t._vs=c:t._vs!==c&&r.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t}t.hexlify=d,t.hexDataLength=function(e){if("string"!=typeof e)e=d(e);else if(!f(e)||e.length%2)return null;return(e.length-2)/2},t.hexDataSlice=function(e,t,n){return"string"!=typeof e?e=d(e):(!f(e)||e.length%2)&&r.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=n?"0x"+e.substring(t,2+2*n):"0x"+e.substring(t)},t.hexConcat=function(e){var t="0x";return e.forEach((function(e){t+=d(e).substring(2)})),t},t.hexValue=function(e){var t=p(d(e,{hexPad:"left"}));return"0x"===t?"0x0":t},t.hexStripZeros=p,t.hexZeroPad=g,t.splitSignature=m,t.joinSignature=function(e){return d(u([(e=m(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}}))),f=(r(h),h.isBytesLike,h.isBytes,h.arrayify,h.concat,h.stripZeros,h.zeroPad,h.isHexString,h.hexlify,h.hexDataLength,h.hexDataSlice,h.hexConcat,h.hexValue,h.hexStripZeros,h.hexZeroPad,h.splitSignature,h.joinSignature,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="bignumber/5.0.1"}))),d=(r(f),f.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(f.version),n={};t.isBigNumberish=function(e){return null!=e&&(o.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||h.isHexString(e)||"bigint"==typeof e||h.isBytes(e))};var o=function(){function e(t,o){var i=this.constructor;r.checkNew(i,e),t!==n&&r.throwError("cannot call constructor directly; use BigNumber.from",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=o,this._isBigNumber=!0,Object.freeze(this)}return e.prototype.fromTwos=function(e){return a(u(this).fromTwos(e))},e.prototype.toTwos=function(e){return a(u(this).toTwos(e))},e.prototype.abs=function(){return"-"===this._hex[0]?e.from(this._hex.substring(1)):this},e.prototype.add=function(e){return a(u(this).add(u(e)))},e.prototype.sub=function(e){return a(u(this).sub(u(e)))},e.prototype.div=function(t){return e.from(t).isZero()&&c("division by zero","div"),a(u(this).div(u(t)))},e.prototype.mul=function(e){return a(u(this).mul(u(e)))},e.prototype.mod=function(e){var t=u(e);return t.isNeg()&&c("cannot modulo negative values","mod"),a(u(this).umod(t))},e.prototype.pow=function(e){return a(u(this).pow(u(e)))},e.prototype.and=function(e){var t=u(e);return(this.isNegative()||t.isNeg())&&c("cannot 'and' negative values","and"),a(u(this).and(t))},e.prototype.or=function(e){var t=u(e);return(this.isNegative()||t.isNeg())&&c("cannot 'or' negative values","or"),a(u(this).or(t))},e.prototype.xor=function(e){var t=u(e);return(this.isNegative()||t.isNeg())&&c("cannot 'xor' negative values","xor"),a(u(this).xor(t))},e.prototype.mask=function(e){return(this.isNegative()||e<0)&&c("cannot mask negative values","mask"),a(u(this).maskn(e))},e.prototype.shl=function(e){return(this.isNegative()||e<0)&&c("cannot shift negative values","shl"),a(u(this).shln(e))},e.prototype.shr=function(e){return(this.isNegative()||e<0)&&c("cannot shift negative values","shr"),a(u(this).shrn(e))},e.prototype.eq=function(e){return u(this).eq(u(e))},e.prototype.lt=function(e){return u(this).lt(u(e))},e.prototype.lte=function(e){return u(this).lte(u(e))},e.prototype.gt=function(e){return u(this).gt(u(e))},e.prototype.gte=function(e){return u(this).gte(u(e))},e.prototype.isNegative=function(){return"-"===this._hex[0]},e.prototype.isZero=function(){return u(this).isZero()},e.prototype.toNumber=function(){try{return u(this).toNumber()}catch(e){c("overflow","toNumber",this.toString())}return null},e.prototype.toString=function(){return 0!==arguments.length&&r.throwError("bigNumber.toString does not accept parameters",l.Logger.errors.UNEXPECTED_ARGUMENT,{}),u(this).toString(10)},e.prototype.toHexString=function(){return this._hex},e.from=function(t){return t instanceof e?t:"string"==typeof t?t.match(/-?0x[0-9a-f]+/i)?new e(n,i(t)):t.match(/^-?[0-9]+$/)?new e(n,i(new s.BN(t))):r.throwArgumentError("invalid BigNumber string","value",t):"number"==typeof t?(t%1&&c("underflow","BigNumber.from",t),(t>=9007199254740991||t<=-9007199254740991)&&c("overflow","BigNumber.from",t),e.from(String(t))):"bigint"==typeof t?e.from(t.toString()):h.isBytes(t)?e.from(h.hexlify(t)):t._hex&&h.isHexString(t._hex)?e.from(t._hex):t.toHexString&&"string"==typeof(t=t.toHexString())?e.from(t):r.throwArgumentError("invalid BigNumber value","value",t)},e.isBigNumber=function(e){return!(!e||!e._isBigNumber)},e}();function i(e){if("string"!=typeof e)return i(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&r.throwArgumentError("invalid hex","value",e),"0x00"===(e=i(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function a(e){return o.from(i(e))}function u(e){var t=o.from(e).toHexString();return"-"===t[0]?new s.BN("-"+t.substring(3),16):new s.BN(t.substring(2),16)}function c(e,t,n){var o={fault:e,operation:t};return null!=n&&(o.value=n),r.throwError(e,l.Logger.errors.NUMERIC_FAULT,o)}t.BigNumber=o}))),p=(r(d),d.isBigNumberish,d.BigNumber,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(f.version),n={},o=d.BigNumber.from(0),i=d.BigNumber.from(-1);function a(e,t,n,o){var i={fault:t,operation:n};return void 0!==o&&(i.value=o),r.throwError(e,l.Logger.errors.NUMERIC_FAULT,i)}for(var s="0";s.length<256;)s+=s;function u(e){if("number"!=typeof e)try{e=d.BigNumber.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+s.substring(0,e):r.throwArgumentError("invalid decimal size","decimals",e)}function c(e,t){null==t&&(t=0);var r=u(t),n=(e=d.BigNumber.from(e)).lt(o);n&&(e=e.mul(i));for(var a=e.mod(r).toString();a.length2&&r.throwArgumentError("too many decimal points","value",e);var l=s[0],c=s[1];for(l||(l="0"),c||(c="0"),c.length>n.length-1&&a("fractional component exceeds decimals","underflow","parseFixed");c.length80&&r.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",a),new e(n,o,i,a)},e}();t.FixedFormat=g;var m=function(){function e(t,n,o,i){var a=this.constructor;r.checkNew(a,e),this.format=i,this._hex=n,this._value=o,this._isFixedNumber=!0,Object.freeze(this)}return e.prototype._checkFormat=function(e){this.format.name!==e.format.name&&r.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)},e.prototype.addUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.add(n),this.format.decimals,this.format)},e.prototype.subUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.sub(n),this.format.decimals,this.format)},e.prototype.mulUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)},e.prototype.divUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)},e.prototype.round=function(t){null==t&&(t=0),(t<0||t>80||t%1)&&r.throwArgumentError("invalid decimal count","decimals",t);var n=this.toString().split(".");if(n[1].length<=t)return this;var o="0."+s.substring(0,t)+"5";return n=this.addUnsafe(e.fromString(o,this.format))._value.split("."),e.fromString(n[0]+"."+n[1].substring(0,t))},e.prototype.toString=function(){return this._value},e.prototype.toHexString=function(e){if(null==e)return this._hex;e%8&&r.throwArgumentError("invalid byte width","width",e);var t=d.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return h.hexZeroPad(t,e/8)},e.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())},e.prototype.toFormat=function(t){return e.fromString(this._value,t)},e.fromValue=function(t,r,n){return null!=n||null==r||d.isBigNumberish(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),e.fromString(c(t,r),g.from(n))},e.fromString=function(t,r){null==r&&(r="fixed");var i=g.from(r),s=p(t,i.decimals);!i.signed&&s.lt(o)&&a("unsigned value cannot be negative","overflow","value",t);var u=null;i.signed?u=s.toTwos(i.width).toHexString():(u=s.toHexString(),u=h.hexZeroPad(u,i.width/8));var l=c(s,i.decimals);return new e(n,u,l,i)},e.fromBytes=function(t,r){null==r&&(r="fixed");var o=g.from(r);if(h.arrayify(t).length>o.width/8)throw new Error("overflow");var i=d.BigNumber.from(t);o.signed&&(i=i.fromTwos(o.width));var a=i.toTwos((o.signed?0:1)+o.width).toHexString(),s=c(i,o.decimals);return new e(n,a,s,o)},e.from=function(t,n){if("string"==typeof t)return e.fromString(t,n);if(h.isBytes(t))return e.fromBytes(t,n);try{return e.fromValue(t,0,n)}catch(e){if(e.code!==l.Logger.errors.INVALID_ARGUMENT)throw e}return r.throwArgumentError("invalid FixedNumber value","value",t)},e.isFixedNumber=function(e){return!(!e||!e._isFixedNumber)},e}();t.FixedNumber=m}))),g=(r(p),p.formatFixed,p.parseFixed,p.FixedFormat,p.FixedNumber,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.BigNumber=d.BigNumber,t.formatFixed=p.formatFixed,t.FixedFormat=p.FixedFormat,t.FixedNumber=p.FixedNumber,t.parseFixed=p.parseFixed}))),m=(r(g),g.BigNumber,g.formatFixed,g.FixedFormat,g.FixedNumber,g.parseFixed,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="properties/5.0.1"}))),v=(r(m),m.version,n((function(e,r){var n=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},o=t&&t.__generator||function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=0||"tuple"===e)&&u[t])return!0;return(s[t]||"payable"===t)&&i.throwArgumentError("invalid modifier","name",t),!1}function h(e,t){for(var r in t)v.defineReadOnly(e,r,t[r])}r.FormatTypes=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});var f=new RegExp(/^(.*)\[([0-9]*)\]$/),d=function(){function e(t,r){t!==a&&i.throwError("use fromString",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),h(this,r);var n=this.type.match(f);h(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:e.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}return e.prototype.format=function(e){if(e||(e=r.FormatTypes.sighash),r.FormatTypes[e]||i.throwArgumentError("invalid format type","format",e),e===r.FormatTypes.json){var t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map((function(t){return JSON.parse(t.format(e))}))),JSON.stringify(t)}var n="";return"array"===this.baseType?(n+=this.arrayChildren.format(e),n+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==r.FormatTypes.sighash&&(n+=this.type),n+="("+this.components.map((function(t){return t.format(e)})).join(e===r.FormatTypes.full?", ":",")+")"):n+=this.type,e!==r.FormatTypes.sighash&&(!0===this.indexed&&(n+=" indexed"),e===r.FormatTypes.full&&this.name&&(n+=" "+this.name)),n},e.from=function(t,r){return"string"==typeof t?e.fromString(t,r):e.fromObject(t)},e.fromObject=function(t){return e.isParamType(t)?t:new e(a,{name:t.name||null,type:P(t.type),indexed:null==t.indexed?null:!!t.indexed,components:t.components?t.components.map(e.fromObject):null})},e.fromString=function(t,r){return function(t){return e.fromObject({name:t.name,type:t.type,indexed:t.indexed,components:t.components})}(function(e,t){var r=e;function n(t){i.throwArgumentError("unexpected character at position "+t,"param",e)}function o(e){var r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");for(var a={type:"",name:"",state:{allowType:!0}},s=a,u=0;u2&&i.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||i.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=g.BigNumber.from(r[1]),r[0]):e}function w(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach((function(e){switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function A(e){var t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&i.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&i.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||i.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&i.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&i.throwArgumentError("unable to determine stateMutability","value",e),t}r.EventFragment=b;var S=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t.prototype.format=function(e){if(e||(e=r.FormatTypes.sighash),r.FormatTypes[e]||i.throwArgumentError("invalid format type","format",e),e===r.FormatTypes.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))}))});e===r.FormatTypes.sighash&&i.throwError("cannot format a constructor for sighash",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var t="constructor("+this.inputs.map((function(t){return t.format(e)})).join(e===r.FormatTypes.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()},t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(t.isConstructorFragment(e))return e;"constructor"!==e.type&&i.throwArgumentError("invalid constructor object","value",e);var r=A(e);r.constant&&i.throwArgumentError("constructor cannot be constant","value",e);var n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?g.BigNumber.from(e.gas):null};return new t(a,n)},t.fromString=function(e){var r={type:"constructor"},n=(e=M(e,r)).match(k);return n&&"constructor"===n[1].trim()||i.throwArgumentError("invalid constructor string","value",e),r.inputs=p(n[2].trim(),!1),w(n[3].trim(),r),t.fromObject(r)},t.isConstructorFragment=function(e){return e&&e._isFragment&&"constructor"===e.type},t}(m);r.ConstructorFragment=S;var T=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t.prototype.format=function(e){if(e||(e=r.FormatTypes.sighash),r.FormatTypes[e]||i.throwArgumentError("invalid format type","format",e),e===r.FormatTypes.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))})),ouputs:this.outputs.map((function(t){return JSON.parse(t.format(e))}))});var t="";return e!==r.FormatTypes.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map((function(t){return t.format(e)})).join(e===r.FormatTypes.full?", ":",")+") ",e!==r.FormatTypes.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map((function(t){return t.format(e)})).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()},t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(t.isFunctionFragment(e))return e;"function"!==e.type&&i.throwArgumentError("invalid function object","value",e);var r=A(e),n={type:e.type,name:_(e.name),constant:r.constant,inputs:e.inputs?e.inputs.map(d.fromObject):[],outputs:e.outputs?e.outputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?g.BigNumber.from(e.gas):null};return new t(a,n)},t.fromString=function(e){var r={type:"function"},n=(e=M(e,r)).split(" returns ");n.length>2&&i.throwArgumentError("invalid function string","value",e);var o=n[0].match(k);if(o||i.throwArgumentError("invalid function signature","value",e),r.name=o[1].trim(),r.name&&_(r.name),r.inputs=p(o[2],!1),w(o[3].trim(),r),n.length>1){var a=n[1].match(k);""==a[1].trim()&&""==a[3].trim()||i.throwArgumentError("unexpected tokens","value",e),r.outputs=p(a[2],!1)}else r.outputs=[];return t.fromObject(r)},t.isFunctionFragment=function(e){return e&&e._isFragment&&"function"===e.type},t}(S);function P(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}r.FunctionFragment=T;var E=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function _(e){return e&&e.match(E)||i.throwArgumentError('invalid identifier "'+e+'"',"value",e),e}var k=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")}))),M=(r(b),b.FormatTypes,b.ParamType,b.Fragment,b.EventFragment,b.ConstructorFragment,b.FunctionFragment,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(y.version);t.checkResultErrors=function(e){var t=[],r=function(e,n){if(Array.isArray(n))for(var o in n){var i=e.slice();i.push(o);try{r(i,n[o])}catch(e){t.push({path:i,error:e})}}};return r([],e),t};var n=function(){function e(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}return e.prototype._throwError=function(e,t){r.throwArgumentError(e,this.localName,t)},e}();t.Coder=n;var o=function(){function e(e){v.defineReadOnly(this,"wordSize",e||32),this._data=h.arrayify([]),this._padding=new Uint8Array(e)}return Object.defineProperty(e.prototype,"data",{get:function(){return h.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._data.length},enumerable:!0,configurable:!0}),e.prototype._writeData=function(e){return this._data=h.concat([this._data,e]),e.length},e.prototype.writeBytes=function(e){var t=h.arrayify(e);return t.length%this.wordSize&&(t=h.concat([t,this._padding.slice(t.length%this.wordSize)])),this._writeData(t)},e.prototype._getValue=function(e){var t=h.arrayify(g.BigNumber.from(e));return t.length>this.wordSize&&r.throwError("value out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=h.concat([this._padding.slice(t.length%this.wordSize),t])),t},e.prototype.writeValue=function(e){return this._writeData(this._getValue(e))},e.prototype.writeUpdatableValue=function(){var e=this,t=this.length;return this.writeValue(0),function(r){e._data.set(e._getValue(r),t)}},e}();t.Writer=o;var i=function(){function e(e,t,r){v.defineReadOnly(this,"_data",h.arrayify(e)),v.defineReadOnly(this,"wordSize",t||32),v.defineReadOnly(this,"_coerceFunc",r),this._offset=0}return Object.defineProperty(e.prototype,"data",{get:function(){return h.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"consumed",{get:function(){return this._offset},enumerable:!0,configurable:!0}),e.coerce=function(e,t){var r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t},e.prototype.coerce=function(t,r){return this._coerceFunc?this._coerceFunc(t,r):e.coerce(t,r)},e.prototype._peekBytes=function(e,t){var n=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&r.throwError("data out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n}),this._data.slice(this._offset,this._offset+n)},e.prototype.subReader=function(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc)},e.prototype.readBytes=function(e){var t=this._peekBytes(0,e);return this._offset+=t.length,t.slice(0,e)},e.prototype.readValue=function(){return g.BigNumber.from(this.readBytes(this.wordSize))},e}();t.Reader=i}))),w=(r(M),M.checkResultErrors,M.Coder,M.Writer,M.Reader,n((function(e){ /** * [js-sha3]{@link https://github.com/emn178/js-sha3} * @@ -7,4 +7,4 @@ * @copyright Chen, Yi-Cyuan 2015-2016 * @license MIT */ -!function(){var t="object"==typeof window?window:{};!t.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(t=r);for(var n=!t.JS_SHA3_NO_COMMON_JS&&e.exports,o="0123456789abcdef".split(""),i=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],s=[224,256,384,512],u=["hex","buffer","arrayBuffer","array"],l=function(e,r,t){return function(n){return new A(e,r,e).update(n)[t]()}},c=function(e,r,t){return function(n,o){return new A(e,r,o).update(n)[t]()}},f=function(e,r){var t=l(e,r,"hex");t.create=function(){return new A(e,r,e)},t.update=function(e){return t.create().update(e)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=t>>5,this.extraBytes=(31&t)>>3;for(var n=0;n<50;++n)this.s[n]=0}A.prototype.update=function(e){var r="string"!=typeof e;r&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var t,n,o=e.length,a=this.blocks,s=this.byteCount,u=this.blockCount,l=0,c=this.s;l>2]|=e[l]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(a[t>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=s){for(this.start=t-s,this.block=a[u],t=0;t>2]|=this.padding[3&r],this.lastByteIndex===this.byteCount)for(e[0]=e[t],r=1;r>4&15]+o[15&e]+o[e>>12&15]+o[e>>8&15]+o[e>>20&15]+o[e>>16&15]+o[e>>28&15]+o[e>>24&15];s%r==0&&(S(t),a=0)}return i&&(e=t[a],i>0&&(u+=o[e>>4&15]+o[15&e]),i>1&&(u+=o[e>>12&15]+o[e>>8&15]),i>2&&(u+=o[e>>20&15]+o[e>>16&15])),u},A.prototype.arrayBuffer=function(){this.finalize();var e,r=this.blockCount,t=this.s,n=this.outputBlocks,o=this.extraBytes,i=0,a=0,s=this.outputBits>>3;e=o?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=r>>16&255,u[e+3]=r>>24&255;s%t==0&&S(n)}return i&&(e=s<<2,r=n[a],i>0&&(u[e]=255&r),i>1&&(u[e+1]=r>>8&255),i>2&&(u[e+2]=r>>16&255)),u};var S=function(e){var r,t,n,o,i,s,u,l,c,f,h,d,p,g,v,m,b,y,A,S,T,w,M,P,E,F,C,k,B,_,L,O,J,R,N,D,x,I,X,H,U,G,z,V,j,Z,K,Q,q,W,Y,$,ee,re,te,ne,oe,ie,ae,se,ue,le,ce;for(n=0;n<48;n+=2)o=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],l=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],h=e[7]^e[17]^e[27]^e[37]^e[47],r=(d=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),t=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=r,e[1]^=t,e[10]^=r,e[11]^=t,e[20]^=r,e[21]^=t,e[30]^=r,e[31]^=t,e[40]^=r,e[41]^=t,r=o^(l<<1|c>>>31),t=i^(c<<1|l>>>31),e[2]^=r,e[3]^=t,e[12]^=r,e[13]^=t,e[22]^=r,e[23]^=t,e[32]^=r,e[33]^=t,e[42]^=r,e[43]^=t,r=s^(f<<1|h>>>31),t=u^(h<<1|f>>>31),e[4]^=r,e[5]^=t,e[14]^=r,e[15]^=t,e[24]^=r,e[25]^=t,e[34]^=r,e[35]^=t,e[44]^=r,e[45]^=t,r=l^(d<<1|p>>>31),t=c^(p<<1|d>>>31),e[6]^=r,e[7]^=t,e[16]^=r,e[17]^=t,e[26]^=r,e[27]^=t,e[36]^=r,e[37]^=t,e[46]^=r,e[47]^=t,r=f^(o<<1|i>>>31),t=h^(i<<1|o>>>31),e[8]^=r,e[9]^=t,e[18]^=r,e[19]^=t,e[28]^=r,e[29]^=t,e[38]^=r,e[39]^=t,e[48]^=r,e[49]^=t,g=e[0],v=e[1],Z=e[11]<<4|e[10]>>>28,K=e[10]<<4|e[11]>>>28,k=e[20]<<3|e[21]>>>29,B=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,G=e[40]<<18|e[41]>>>14,z=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,N=e[3]<<1|e[2]>>>31,m=e[13]<<12|e[12]>>>20,b=e[12]<<12|e[13]>>>20,Q=e[22]<<10|e[23]>>>22,q=e[23]<<10|e[22]>>>22,_=e[33]<<13|e[32]>>>19,L=e[32]<<13|e[33]>>>19,le=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,re=e[5]<<30|e[4]>>>2,te=e[4]<<30|e[5]>>>2,D=e[14]<<6|e[15]>>>26,x=e[15]<<6|e[14]>>>26,y=e[25]<<11|e[24]>>>21,A=e[24]<<11|e[25]>>>21,W=e[34]<<15|e[35]>>>17,Y=e[35]<<15|e[34]>>>17,O=e[45]<<29|e[44]>>>3,J=e[44]<<29|e[45]>>>3,P=e[6]<<28|e[7]>>>4,E=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,oe=e[16]<<23|e[17]>>>9,I=e[26]<<25|e[27]>>>7,X=e[27]<<25|e[26]>>>7,S=e[36]<<21|e[37]>>>11,T=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,V=e[8]<<27|e[9]>>>5,j=e[9]<<27|e[8]>>>5,F=e[18]<<20|e[19]>>>12,C=e[19]<<20|e[18]>>>12,ie=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,U=e[39]<<8|e[38]>>>24,w=e[48]<<14|e[49]>>>18,M=e[49]<<14|e[48]>>>18,e[0]=g^~m&y,e[1]=v^~b&A,e[10]=P^~F&k,e[11]=E^~C&B,e[20]=R^~D&I,e[21]=N^~x&X,e[30]=V^~Z&Q,e[31]=j^~K&q,e[40]=re^~ne&ie,e[41]=te^~oe&ae,e[2]=m^~y&S,e[3]=b^~A&T,e[12]=F^~k&_,e[13]=C^~B&L,e[22]=D^~I&H,e[23]=x^~X&U,e[32]=Z^~Q&W,e[33]=K^~q&Y,e[42]=ne^~ie&se,e[43]=oe^~ae&ue,e[4]=y^~S&w,e[5]=A^~T&M,e[14]=k^~_&O,e[15]=B^~L&J,e[24]=I^~H&G,e[25]=X^~U&z,e[34]=Q^~W&$,e[35]=q^~Y&ee,e[44]=ie^~se&le,e[45]=ae^~ue&ce,e[6]=S^~w&g,e[7]=T^~M&v,e[16]=_^~O&P,e[17]=L^~J&E,e[26]=H^~G&R,e[27]=U^~z&N,e[36]=W^~$&V,e[37]=Y^~ee&j,e[46]=se^~le&re,e[47]=ue^~ce&te,e[8]=w^~g&m,e[9]=M^~v&b,e[18]=O^~P&F,e[19]=J^~E&C,e[28]=G^~R&D,e[29]=z^~N&x,e[38]=$^~V&Z,e[39]=ee^~j&K,e[48]=le^~re&ne,e[49]=ce^~te&oe,e[0]^=a[n],e[1]^=a[n+1]};if(n)e.exports=d;else for(g=0;g>=8;return r}function o(e,r,t){for(var n=0,o=0;or+1+o&&t.throwError("child data too short",l.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+o,result:i}}function a(e,r){if(0===e.length&&t.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),e[r]>=248){r+1+(s=e[r]-247)>e.length&&t.throwError("data short segment too short",l.Logger.errors.BUFFER_OVERRUN,{});var n=o(e,r+1,s);return r+1+s+n>e.length&&t.throwError("data long segment too short",l.Logger.errors.BUFFER_OVERRUN,{}),i(e,r,r+1+s,s+n)}if(e[r]>=192){var a=e[r]-192;return r+1+a>e.length&&t.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),i(e,r,r+1,a)}if(e[r]>=184){var s;r+1+(s=e[r]-183)>e.length&&t.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{});var u=o(e,r+1,s);return r+1+s+u>e.length&&t.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+s+u,result:f.hexlify(e.slice(r+1+s,r+1+s+u))}}if(e[r]>=128){var c=e[r]-128;return r+1+c>e.length&&t.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+c,result:f.hexlify(e.slice(r+1,r+1+c))}}return{consumed:1,result:f.hexlify(e[r])}}r.encode=function(e){return f.hexlify(function e(r){if(Array.isArray(r)){var o=[];if(r.forEach((function(r){o=o.concat(e(r))})),o.length<=55)return o.unshift(192+o.length),o;var i=n(o.length);return i.unshift(247+i.length),i.concat(o)}f.isBytesLike(r)||t.throwArgumentError("RLP object must be BytesLike","object",r);var a=Array.prototype.slice.call(f.arrayify(r));if(1===a.length&&a[0]<=127)return a;if(a.length<=55)return a.unshift(128+a.length),a;var s=n(a.length);return s.unshift(183+s.length),s.concat(a)}(e))},r.decode=function(e){var r=f.arrayify(e),n=a(r,0);return n.consumed!==r.length&&t.throwArgumentError("invalid rlp data","data",e),n.result}}))),P=(t(M),M.encode,M.decode,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="address/5.0.1"}))),E=(t(P),P.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(P.version);function n(e){f.isHexString(e,20)||t.throwArgumentError("invalid address","address",e);for(var r=(e=e.toLowerCase()).substring(2).split(""),n=new Uint8Array(40),o=0;o<40;o++)n[o]=r[o].charCodeAt(0);var i=f.arrayify(T.keccak256(n));for(o=0;o<40;o+=2)i[o>>1]>>4>=8&&(r[o]=r[o].toUpperCase()),(15&i[o>>1])>=8&&(r[o+1]=r[o+1].toUpperCase());return"0x"+r.join("")}for(var o={},i=0;i<10;i++)o[String(i)]=String(i);for(i=0;i<26;i++)o[String.fromCharCode(65+i)]=String(10+i);var a,u=Math.floor((a=9007199254740991,Math.log10?Math.log10(a):Math.log(a)/Math.LN10));function c(e){for(var r=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((function(e){return o[e]})).join("");r.length>=u;){var t=r.substring(0,u);r=parseInt(t,10)%97+r.substring(t.length)}for(var n=String(98-parseInt(r,10)%97);n.length<2;)n="0"+n;return n}function h(e){var r=null;if("string"!=typeof e&&t.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),r=n(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&r!==e&&t.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==c(e)&&t.throwArgumentError("bad icap checksum","address",e),r=new s.BN(e.substring(4),36).toString(16);r.length<40;)r="0"+r;r=n("0x"+r)}else t.throwArgumentError("invalid address","address",e);return r}r.getAddress=h,r.isAddress=function(e){try{return h(e),!0}catch(e){}return!1},r.getIcapAddress=function(e){for(var r=new s.BN(h(e).substring(2),16).toString(36).toUpperCase();r.length<30;)r="0"+r;return"XE"+c("XE00"+r)+r},r.getContractAddress=function(e){var r=null;try{r=h(e.from)}catch(r){t.throwArgumentError("missing from address","transaction",e)}var n=f.stripZeros(f.arrayify(g.BigNumber.from(e.nonce).toHexString()));return h(f.hexDataSlice(T.keccak256(M.encode([r,n])),12))},r.getCreate2Address=function(e,r,n){return 32!==f.hexDataLength(r)&&t.throwArgumentError("salt must be 32 bytes","salt",r),32!==f.hexDataLength(n)&&t.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",n),h(f.hexDataSlice(T.keccak256(f.concat(["0xff",h(e),r,n])),12))}}))),F=(t(E),E.getAddress,E.isAddress,E.getIcapAddress,E.getContractAddress,E.getCreate2Address,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function r(r){return e.call(this,"address","address",r,!1)||this}return o(r,e),r.prototype.encode=function(e,r){try{E.getAddress(r)}catch(e){this._throwError(e.message,r)}return e.writeValue(r)},r.prototype.decode=function(e){return E.getAddress(f.hexZeroPad(e.readValue().toHexString(),20))},r}(A.Coder);t.AddressCoder=i}))),C=(t(F),F.AddressCoder,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function r(r){var t=e.call(this,r.name,r.type,void 0,r.dynamic)||this;return t.coder=r,t}return o(r,e),r.prototype.encode=function(e,r){return this.coder.encode(e,r)},r.prototype.decode=function(e){return this.coder.decode(e)},r}(A.Coder);t.AnonymousCoder=i}))),k=(t(C),C.AnonymousCoder,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=new l.Logger(b.version);function a(e,r,t){var n=null;if(Array.isArray(t))n=t;else if(t&&"object"==typeof t){var o={};n=r.map((function(e){var r=e.localName;return r||i.throwError("cannot encode object for signature with missing names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:t}),o[r]&&i.throwError("cannot encode object for signature with duplicate names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:t}),o[r]=!0,t[r]}))}else i.throwArgumentError("invalid tuple value","tuple",t);r.length!==n.length&&i.throwArgumentError("types/value length mismatch","tuple",t);var a=new A.Writer(e.wordSize),s=new A.Writer(e.wordSize),u=[];r.forEach((function(e,r){var t=n[r];if(e.dynamic){var o=s.length;e.encode(s,t);var i=a.writeUpdatableValue();u.push((function(e){i(e+o)}))}else e.encode(a,t)})),u.forEach((function(e){e(a.length)}));var c=e.writeBytes(a.data);return c+=e.writeBytes(s.data)}function s(e,r){var t=[],n=e.subReader(0),o=0;r.forEach((function(r){var i=null;if(r.dynamic){var a=e.readValue(),s=n.subReader(a.toNumber());try{i=r.decode(s)}catch(e){if(e.code===l.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=r.name,i.name=r.localName,i.type=r.type}o+=s.consumed}else try{i=r.decode(e)}catch(e){if(e.code===l.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=r.name,i.name=r.localName,i.type=r.type}null!=i&&t.push(i)})),e.readBytes(o);var i=r.reduce((function(e,r){var t=r.localName;return t&&(e[t]||(e[t]=0),e[t]++),e}),{});r.forEach((function(e,r){var n=e.localName;if(n&&1===i[n]&&("length"===n&&(n="_length"),null==t[n])){var o=t[r];o instanceof Error?Object.defineProperty(t,n,{get:function(){throw o}}):t[n]=o}}));for(var a=function(e){var r=t[e];r instanceof Error&&Object.defineProperty(t,e,{get:function(){throw r}})},s=0;s=0?t:"")+"]",a=-1===t||r.dynamic;return(o=e.call(this,"array",i,n,a)||this).coder=r,o.length=t,o}return o(r,e),r.prototype.encode=function(e,r){Array.isArray(r)||this._throwError("expected array value",r);var t=this.length;-1===t&&(t=r.length,e.writeValue(r.length)),i.checkArgumentCount(t,r.length,"coder array"+(this.localName?" "+this.localName:""));for(var n=[],o=0;o>6==2;s++)a++;return a}return e===n.OVERRUN?t.length-r-1:0}function a(e,t){null==t&&(t=r.Utf8ErrorFuncs.error),e=f.arrayify(e);for(var o=[],i=0;i>7!=0){var s=null,u=null;if(192==(224&a))s=1,u=127;else if(224==(240&a))s=2,u=2047;else{if(240!=(248&a)){i+=t(128==(192&a)?n.UNEXPECTED_CONTINUE:n.BAD_PREFIX,i-1,e,o);continue}s=3,u=65535}if(i-1+s>=e.length)i+=t(n.OVERRUN,i-1,e,o);else{for(var l=a&(1<<8-s-1)-1,c=0;c1114111?i+=t(n.OUT_OF_RANGE,i-1-s,e,o,l):l>=55296&&l<=57343?i+=t(n.UTF16_SURROGATE,i-1-s,e,o,l):l<=u?i+=t(n.OVERLONG,i-1-s,e,o,l):o.push(l))}}else o.push(a)}return o}function s(e,r){void 0===r&&(r=t.current),r!=t.current&&(o.checkNormalize(),e=e.normalize(r));for(var n=[],i=0;i>6|192),n.push(63&a|128);else if(55296==(64512&a)){i++;var s=e.charCodeAt(i);if(i>=e.length||56320!=(64512&s))throw new Error("invalid utf-8 string");var u=65536+((1023&a)<<10)+(1023&s);n.push(u>>18|240),n.push(u>>12&63|128),n.push(u>>6&63|128),n.push(63&u|128)}else n.push(a>>12|224),n.push(a>>6&63|128),n.push(63&a|128)}return f.arrayify(n)}function u(e){var r="0000"+e.toString(16);return"\\u"+r.substring(r.length-4)}function c(e){return e.map((function(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))})).join("")}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(t=r.UnicodeNormalizationForm||(r.UnicodeNormalizationForm={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(n=r.Utf8ErrorReason||(r.Utf8ErrorReason={})),r.Utf8ErrorFuncs=Object.freeze({error:function(e,r,t,n,i){return o.throwArgumentError("invalid codepoint at offset "+r+"; "+e,"bytes",t)},ignore:i,replace:function(e,r,t,o,a){return e===n.OVERLONG?(o.push(a),0):(o.push(65533),i(e,r,t))}}),r.toUtf8Bytes=s,r._toEscapedUtf8String=function(e,r){return'"'+a(e,r).map((function(e){if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?u(e):u(55296+((e-=65536)>>10&1023))+u(56320+(1023&e))})).join("")+'"'},r._toUtf8String=c,r.toUtf8String=function(e,r){return c(a(e,r))},r.toUtf8CodePoints=function(e,r){return void 0===r&&(r=t.current),a(s(e,r))}}))),x=(t(D),D.UnicodeNormalizationForm,D.Utf8ErrorReason,D.Utf8ErrorFuncs,D.toUtf8Bytes,D._toEscapedUtf8String,D._toUtf8String,D.toUtf8String,D.toUtf8CodePoints,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.formatBytes32String=function(e){var r=D.toUtf8Bytes(e);if(r.length>31)throw new Error("bytes32 string must be less than 32 bytes");return f.hexlify(f.concat([r,J.HashZero]).slice(0,32))},r.parseBytes32String=function(e){var r=f.arrayify(e);if(32!==r.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==r[31])throw new Error("invalid bytes32 string - no null terminator");for(var t=31;0===r[t-1];)t--;return D.toUtf8String(r.slice(0,t))}}))),I=(t(x),x.formatBytes32String,x.parseBytes32String,n((function(e,r){function t(e,r){r||(r=function(e){return[parseInt(e,16)]});var t=0,n={};return e.split(",").forEach((function(e){var o=e.split(":");t+=parseInt(o[0],16),n[t]=r(o[1])})),n}function n(e){var r=0;return e.split(",").map((function(e){var t=e.split("-");return 1===t.length?t[1]="0":""===t[1]&&(t[1]="1"),{l:r+parseInt(t[0],16),h:r=parseInt(t[1],16)}}))}function o(e,r){for(var t=0,n=0;n=(t+=o.l)&&e<=t+o.h&&(e-t)%(o.d||1)==0){if(o.e&&-1!==o.e.indexOf(e-t))continue;return o}}return null}Object.defineProperty(r,"__esModule",{value:!0});var i=n("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),a="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(e){return parseInt(e,16)})),s=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],u=t("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),l=t("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),c=t("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(e){if(e.length%4!=0)throw new Error("bad data");for(var r=[],t=0;t=0)return[];if(e>=65024&&e<=65039)return[];var r=d(e);return r||[e]})),t=r.reduce((function(e,r){return r.forEach((function(r){e.push(r)})),e}),[]),(t=D.toUtf8CodePoints(D._toUtf8String(t),D.UnicodeNormalizationForm.NFKC)).forEach((function(e){if(p(e))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),t.forEach((function(e){if(h(e))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var n=D._toUtf8String(t);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}}))),X=(t(I),I._nameprepTableA1,I._nameprepTableB2,I._nameprepTableC,I.nameprep,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.formatBytes32String=x.formatBytes32String,r.parseBytes32String=x.parseBytes32String,r.nameprep=I.nameprep,r._toEscapedUtf8String=D._toEscapedUtf8String,r.toUtf8Bytes=D.toUtf8Bytes,r.toUtf8CodePoints=D.toUtf8CodePoints,r.toUtf8String=D.toUtf8String,r.UnicodeNormalizationForm=D.UnicodeNormalizationForm,r.Utf8ErrorFuncs=D.Utf8ErrorFuncs,r.Utf8ErrorReason=D.Utf8ErrorReason}))),H=(t(X),X.formatBytes32String,X.parseBytes32String,X.nameprep,X._toEscapedUtf8String,X.toUtf8Bytes,X.toUtf8CodePoints,X.toUtf8String,X.UnicodeNormalizationForm,X.Utf8ErrorFuncs,X.Utf8ErrorReason,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function r(r){return e.call(this,"string",r)||this}return o(r,e),r.prototype.encode=function(r,t){return e.prototype.encode.call(this,r,X.toUtf8Bytes(t))},r.prototype.decode=function(r){return X.toUtf8String(e.prototype.decode.call(this,r))},r}(_.DynamicBytesCoder);t.StringCoder=i}))),U=(t(H),H.StringCoder,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function r(r,t){var n=this,o=!1,i=[];r.forEach((function(e){e.dynamic&&(o=!0),i.push(e.type)}));var a="tuple("+i.join(",")+")";return(n=e.call(this,"tuple",a,t,o)||this).coders=r,n}return o(r,e),r.prototype.encode=function(e,r){return k.pack(e,this.coders,r)},r.prototype.decode=function(e){return e.coerce(this.name,k.unpack(e,this.coders))},r}(A.Coder);t.TupleCoder=i}))),G=(t(U),U.TupleCoder,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(b.version),n=new RegExp(/^bytes([0-9]*)$/),o=new RegExp(/^(u?int)([0-9]*)$/),i=function(){function e(r){var n=this.constructor;t.checkNew(n,e),m.defineReadOnly(this,"coerceFunc",r||null)}return e.prototype._getCoder=function(e){var r=this;switch(e.baseType){case"address":return new F.AddressCoder(e.name);case"bool":return new B.BooleanCoder(e.name);case"string":return new H.StringCoder(e.name);case"bytes":return new _.BytesCoder(e.name);case"array":return new k.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new U.TupleCoder((e.components||[]).map((function(e){return r._getCoder(e)})),e.name);case"":return new O.NullCoder(e.name)}var i,a=e.type.match(o);return a?((0===(i=parseInt(a[2]||"256"))||i>256||i%8!=0)&&t.throwArgumentError("invalid "+a[1]+" bit length","param",e),new R.NumberCoder(i/8,"int"===a[1],e.name)):(a=e.type.match(n))?((0===(i=parseInt(a[1]))||i>32)&&t.throwArgumentError("invalid bytes length","param",e),new L.FixedBytesCoder(i,e.name)):t.throwArgumentError("invalid type","type",e.type)},e.prototype._getWordSize=function(){return 32},e.prototype._getReader=function(e){return new A.Reader(e,this._getWordSize(),this.coerceFunc)},e.prototype._getWriter=function(){return new A.Writer(this._getWordSize())},e.prototype.encode=function(e,r){var n=this;e.length!==r.length&&t.throwError("types/values length mismatch",l.Logger.errors.INVALID_ARGUMENT,{count:{types:e.length,values:r.length},value:{types:e,values:r}});var o=e.map((function(e){return n._getCoder(y.ParamType.from(e))})),i=new U.TupleCoder(o,"_"),a=this._getWriter();return i.encode(a,r),a.data},e.prototype.decode=function(e,r){var t=this,n=e.map((function(e){return t._getCoder(y.ParamType.from(e))}));return new U.TupleCoder(n,"_").decode(this._getReader(f.arrayify(r)))},e}();r.AbiCoder=i,r.defaultAbiCoder=new i}))),z=(t(G),G.AbiCoder,G.defaultAbiCoder,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="hash/5.0.1"}))),V=(t(z),z.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(z.version),n=new Uint8Array([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]),o=new RegExp("^((.*)\\.)?([^.]+)$");r.isValidName=function(e){try{for(var r=e.split("."),t=0;t1&&i.throwArgumentError("multiple matching functions","name",t),this.functions[n[0]]}var o=this.functions[y.FunctionFragment.fromString(e).format()];return o||i.throwArgumentError("no matching function","signature",e),o},e.prototype.getEvent=function(e){if(f.isHexString(e)){var r=e.toLowerCase();for(var t in this.events)if(r===this.getEventTopic(t))return this.events[t];i.throwArgumentError("no matching event","topichash",r)}if(-1===e.indexOf("(")){var n=e.trim(),o=Object.keys(this.events).filter((function(e){return e.split("(")[0]===n}));return 0===o.length?i.throwArgumentError("no matching event","name",n):o.length>1&&i.throwArgumentError("multiple matching events","name",n),this.events[o[0]]}var a=this.events[y.EventFragment.fromString(e).format()];return a||i.throwArgumentError("no matching event","signature",e),a},e.prototype.getSighash=function(e){return"string"==typeof e&&(e=this.getFunction(e)),m.getStatic(this.constructor,"getSighash")(e)},e.prototype.getEventTopic=function(e){return"string"==typeof e&&(e=this.getEvent(e)),m.getStatic(this.constructor,"getEventTopic")(e)},e.prototype._decodeParams=function(e,r){return this._abiCoder.decode(e,r)},e.prototype._encodeParams=function(e,r){return this._abiCoder.encode(e,r)},e.prototype.encodeDeploy=function(e){return this._encodeParams(this.deploy.inputs,e||[])},e.prototype.decodeFunctionData=function(e,r){"string"==typeof e&&(e=this.getFunction(e));var t=f.arrayify(r);return f.hexlify(t.slice(0,4))!==this.getSighash(e)&&i.throwArgumentError("data signature does not match function "+e.name+".","data",f.hexlify(t)),this._decodeParams(e.inputs,t.slice(4))},e.prototype.encodeFunctionData=function(e,r){return"string"==typeof e&&(e=this.getFunction(e)),f.hexlify(f.concat([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))},e.prototype.decodeFunctionResult=function(e,r){"string"==typeof e&&(e=this.getFunction(e));var t=f.arrayify(r),n=null,o=null;switch(t.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,t)}catch(e){}break;case 4:"0x08c379a0"===f.hexlify(t.slice(0,4))&&(o="Error(string)",n=this._abiCoder.decode(["string"],t.slice(4))[0])}return i.throwError("call revert exception",l.Logger.errors.CALL_EXCEPTION,{method:e.format(),errorSignature:o,errorArgs:[n],reason:n})},e.prototype.encodeFunctionResult=function(e,r){return"string"==typeof e&&(e=this.getFunction(e)),f.hexlify(this._abiCoder.encode(e.outputs,r||[]))},e.prototype.encodeFilterTopics=function(e,r){var t=this;"string"==typeof e&&(e=this.getEvent(e)),r.length>e.inputs.length&&i.throwError("too many arguments for "+e.format(),l.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:r});var n=[];e.anonymous||n.push(this.getEventTopic(e));var o=function(e,r){return"string"===e.type?V.id(r):"bytes"===e.type?T.keccak256(f.hexlify(r)):("address"===e.type&&t._abiCoder.encode(["address"],[r]),f.hexZeroPad(f.hexlify(r),32))};for(r.forEach((function(r,t){var a=e.inputs[t];a.indexed?null==r?n.push(null):"array"===a.baseType||"tuple"===a.baseType?i.throwArgumentError("filtering with tuples or arrays not supported","contract."+a.name,r):Array.isArray(r)?n.push(r.map((function(e){return o(a,e)}))):n.push(o(a,r)):null!=r&&i.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+a.name,r)}));n.length&&null===n[n.length-1];)n.pop();return n},e.prototype.encodeEventLog=function(e,r){var t=this;"string"==typeof e&&(e=this.getEvent(e));var n=[],o=[],a=[];return e.anonymous||n.push(this.getEventTopic(e)),r.length!==e.inputs.length&&i.throwArgumentError("event arguments/values mismatch","values",r),e.inputs.forEach((function(e,i){var s=r[i];if(e.indexed)if("string"===e.type)n.push(V.id(s));else if("bytes"===e.type)n.push(T.keccak256(s));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(t._abiCoder.encode([e.type],[s]))}else o.push(e),a.push(s)})),{data:this._abiCoder.encode(o,a),topics:n}},e.prototype.decodeEventLog=function(e,r,t){if("string"==typeof e&&(e=this.getEvent(e)),null!=t&&!e.anonymous){var n=this.getEventTopic(e);f.isHexString(t[0],32)&&t[0].toLowerCase()===n||i.throwError("fragment/topic mismatch",l.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:t[0]}),t=t.slice(1)}var o=[],a=[],s=[];e.inputs.forEach((function(e,r){e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(o.push(y.ParamType.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(o.push(e),s.push(!1)):(a.push(e),s.push(!1))}));var h=null!=t?this._abiCoder.decode(o,f.concat(t)):null,d=this._abiCoder.decode(a,r),p=[],g=0,v=0;e.inputs.forEach((function(e,r){if(e.indexed)if(null==h)p[r]=new u({_isIndexed:!0,hash:null});else if(s[r])p[r]=new u({_isIndexed:!0,hash:h[v++]});else try{p[r]=h[v++]}catch(e){p[r]=e}else try{p[r]=d[g++]}catch(e){p[r]=e}if(e.name&&null==p[e.name]){var t=p[r];t instanceof Error?Object.defineProperty(p,e.name,{get:function(){throw c("property "+JSON.stringify(e.name),t)}}):p[e.name]=t}}));for(var m=function(e){var r=p[e];r instanceof Error&&Object.defineProperty(p,e,{get:function(){throw c("index "+e,r)}})},b=0;b0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]1)){var t=r[0];null==s[e]&&m.defineReadOnly(s,e,s[t]),null==s.functions[e]&&m.defineReadOnly(s.functions,e,s.functions[t]),null==s.callStatic[e]&&m.defineReadOnly(s.callStatic,e,s.callStatic[t]),null==s.populateTransaction[e]&&m.defineReadOnly(s.populateTransaction,e,s.populateTransaction[t]),null==s.estimateGas[e]&&m.defineReadOnly(s.estimateGas,e,s.estimateGas[t])}}))}return e.getContractAddress=function(e){return E.getContractAddress(e)},e.getInterface=function(e){return Z.Interface.isInterface(e)?e:new Z.Interface(e)},e.prototype.deployed=function(){return this._deployed()},e.prototype._deployed=function(e){var r=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return r})):this._deployedPromise=this.provider.getCode(this.address,e).then((function(e){return"0x"===e&&u.throwError("contract not deployed",l.Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:r.address,operation:"getDeployed"}),r}))),this._deployedPromise},e.prototype.fallback=function(e){var r=this;this.signer||u.throwError("sending a transactions require a signer",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var t=m.shallowCopy(e||{});return["from","to"].forEach((function(e){null!=t[e]&&u.throwError("cannot override "+e,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:e})})),t.to=this.resolvedAddress,this.deployed().then((function(){return r.signer.sendTransaction(t)}))},e.prototype.connect=function(e){"string"==typeof e&&(e=new W.VoidSigner(e,this.provider));var r=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&m.defineReadOnly(r,"deployTransaction",this.deployTransaction),r},e.prototype.attach=function(e){return new this.constructor(e,this.interface,this.signer||this.provider)},e.isIndexed=function(e){return Z.Indexed.isIndexed(e)},e.prototype._normalizeRunningEvent=function(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e},e.prototype._getRunningEvent=function(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new S);if("event"===e)return this._normalizeRunningEvent(new A("event",null));if("*"===e)return this._normalizeRunningEvent(new w(this.address,this.interface));var r=this.interface.getEvent(e);return this._normalizeRunningEvent(new T(this.address,this.interface,r))}if(e.topics&&e.topics.length>0){try{var t=e.topics[0];if("string"!=typeof t)throw new Error("invalid topic");r=this.interface.getEvent(t);return this._normalizeRunningEvent(new T(this.address,this.interface,r,e.topics))}catch(e){}var n={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new A(y(n),n))}return this._normalizeRunningEvent(new w(this.address,this.interface))},e.prototype._checkRunningEvents=function(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];var r=this._wrappedEmits[e.tag];r&&(this.provider.off(e.filter,r),delete this._wrappedEmits[e.tag])}},e.prototype._wrapEvent=function(e,r,t){var n=this,o=m.deepCopy(r);return o.removeListener=function(){t&&(e.removeListener(t),n._checkRunningEvents(e))},o.getBlock=function(){return n.provider.getBlock(r.blockHash)},o.getTransaction=function(){return n.provider.getTransaction(r.transactionHash)},o.getTransactionReceipt=function(){return n.provider.getTransactionReceipt(r.transactionHash)},e.prepareEvent(o),o},e.prototype._addEventListener=function(e,r,t){var n=this;if(this.provider||u.throwError("events require a provider or a signer with a provider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(r,t),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){var o=function(t){var o=n._wrapEvent(e,t,r);if(null==o.decodeError)try{var i=e.getEmit(o);n.emit.apply(n,s([e.filter],i))}catch(e){o.decodeError=e.error}null!=e.filter&&n.emit("event",o),null!=o.decodeError&&n.emit("error",o.decodeError,o)};this._wrappedEmits[e.tag]=o,null!=e.filter&&this.provider.on(e.filter,o)}},e.prototype.queryFilter=function(e,r,t){var n=this,o=this._getRunningEvent(e),i=m.shallowCopy(o.filter);return"string"==typeof r&&f.isHexString(r,32)?(null!=t&&u.throwArgumentError("cannot specify toBlock with blockhash","toBlock",t),i.blockHash=r):(i.fromBlock=null!=r?r:0,i.toBlock=null!=t?t:"latest"),this.provider.getLogs(i).then((function(e){return e.map((function(e){return n._wrapEvent(o,e,null)}))}))},e.prototype.on=function(e,r){return this._addEventListener(this._getRunningEvent(e),r,!1),this},e.prototype.once=function(e,r){return this._addEventListener(this._getRunningEvent(e),r,!0),this},e.prototype.emit=function(e){for(var r=[],t=1;t0;return this._checkRunningEvents(n),o},e.prototype.listenerCount=function(e){return this.provider?this._getRunningEvent(e).listenerCount():0},e.prototype.listeners=function(e){if(!this.provider)return[];if(null==e){var r=[];for(var t in this._runningEvents)this._runningEvents[t].listeners().forEach((function(e){r.push(e)}));return r}return this._getRunningEvent(e).listeners()},e.prototype.removeAllListeners=function(e){if(!this.provider)return this;if(null==e){for(var r in this._runningEvents){var t=this._runningEvents[r];t.removeAllListeners(),this._checkRunningEvents(t)}return this}var n=this._getRunningEvent(e);return n.removeAllListeners(),this._checkRunningEvents(n),this},e.prototype.off=function(e,r){if(!this.provider)return this;var t=this._getRunningEvent(e);return t.removeListener(r),this._checkRunningEvents(t),this},e.prototype.removeListener=function(e,r){return this.off(e,r)},e}();t.Contract=M;var P=function(){function e(e,r,t){var n=this.constructor,o=null;"0x"!==(o="string"==typeof r?r:f.isBytes(r)?f.hexlify(r):r&&"string"==typeof r.object?r.object:"!").substring(0,2)&&(o="0x"+o),(!f.isHexString(o)||o.length%2)&&u.throwArgumentError("invalid bytecode","bytecode",r),t&&!W.Signer.isSigner(t)&&u.throwArgumentError("invalid signer","signer",t),m.defineReadOnly(this,"bytecode",o),m.defineReadOnly(this,"interface",m.getStatic(n,"getInterface")(e)),m.defineReadOnly(this,"signer",t||null)}return e.prototype.getDeployTransaction=function(){for(var e=[],r=0;r0;)t.push(o%this.base),o=o/this.base|0}for(var a="",s=0;0===r[s]&&s=0;--u)a+=this.alphabet[t[u]];return a},e.prototype.decode=function(e){if("string"!=typeof e)throw new TypeError("Expected String");var r=[];if(0===e.length)return new Uint8Array(r);r.push(0);for(var t=0;t>=8;for(;o>0;)r.push(255&o),o>>=8}for(var a=0;e[a]===this._leader&&a>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function ie(e){return 1===e.length?"0"+e:e}function ae(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var se={inherits:ne,toArray:function(e,r){if(Array.isArray(e))return e.slice();if(!e)return[];var t=[];if("string"==typeof e)if(r){if("hex"===r)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n>8,a=255&o;i?t.push(i,a):t.push(a)}else for(n=0;n>>0}return i},split32:function(e,r){for(var t=new Array(4*e.length),n=0,o=0;n>>24,t[o+1]=i>>>16&255,t[o+2]=i>>>8&255,t[o+3]=255&i):(t[o+3]=i>>>24,t[o+2]=i>>>16&255,t[o+1]=i>>>8&255,t[o]=255&i)}return t},rotr32:function(e,r){return e>>>r|e<<32-r},rotl32:function(e,r){return e<>>32-r},sum32:function(e,r){return e+r>>>0},sum32_3:function(e,r,t){return e+r+t>>>0},sum32_4:function(e,r,t,n){return e+r+t+n>>>0},sum32_5:function(e,r,t,n,o){return e+r+t+n+o>>>0},sum64:function(e,r,t,n){var o=e[r],i=n+e[r+1]>>>0,a=(i>>0,e[r+1]=i},sum64_hi:function(e,r,t,n){return(r+n>>>0>>0},sum64_lo:function(e,r,t,n){return r+n>>>0},sum64_4_hi:function(e,r,t,n,o,i,a,s){var u=0,l=r;return u+=(l=l+n>>>0)>>0)>>0)>>0},sum64_4_lo:function(e,r,t,n,o,i,a,s){return r+n+i+s>>>0},sum64_5_hi:function(e,r,t,n,o,i,a,s,u,l){var c=0,f=r;return c+=(f=f+n>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(e,r,t,n,o,i,a,s,u,l){return r+n+i+s+l>>>0},rotr64_hi:function(e,r,t){return(r<<32-t|e>>>t)>>>0},rotr64_lo:function(e,r,t){return(e<<32-t|r>>>t)>>>0},shr64_hi:function(e,r,t){return e>>>t},shr64_lo:function(e,r,t){return(e<<32-t|r>>>t)>>>0}};function ue(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var le=ue;ue.prototype.update=function(e,r){if(e=se.toArray(e,r),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var t=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-t,e.length),0===this.pending.length&&(this.pending=null),e=se.join32(e,0,e.length-t,this.endian);for(var n=0;n>>24&255,n[o++]=e>>>16&255,n[o++]=e>>>8&255,n[o++]=255&e}else for(n[o++]=255&e,n[o++]=e>>>8&255,n[o++]=e>>>16&255,n[o++]=e>>>24&255,n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=0,i=8;i>>3},g1_256:function(e){return fe(e,17)^fe(e,19)^e>>>10}},ve=se.sum32,me=se.sum32_4,be=se.sum32_5,ye=ge.ch32,Ae=ge.maj32,Se=ge.s0_256,Te=ge.s1_256,we=ge.g0_256,Me=ge.g1_256,Pe=ce.BlockHash,Ee=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function Fe(){if(!(this instanceof Fe))return new Fe;Pe.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Ee,this.W=new Array(64)}se.inherits(Fe,Pe);var Ce=Fe;Fe.blockSize=512,Fe.outSize=256,Fe.hmacStrength=192,Fe.padLength=64,Fe.prototype._update=function(e,r){for(var t=this.W,n=0;n<16;n++)t[n]=e[r+n];for(;nthis.blockSize&&(e=(new this.Hash).update(e).digest()),re(e.length<=this.blockSize);for(var r=e.length;r>24&255,c[r.length+1]=h>>16&255,c[r.length+2]=h>>8&255,c[r.length+3]=255&h;var d=f.arrayify(Tr.computeHmac(o,e,c));i||(i=d.length,s=new Uint8Array(i),a=n-((u=Math.ceil(n/i))-1)*i),s.set(d);for(var p=1;p>8,a=255&o;i?t.push(i,a):t.push(a)}return t},t.zero2=n,t.toHex=o,t.encode=function(e,r){return"hex"===r?o(e):e}})),Fr=n((function(e,r){var t=r;t.assert=re,t.toArray=Er.toArray,t.zero2=Er.zero2,t.toHex=Er.toHex,t.encode=Er.encode,t.getNAF=function(e,r,t){var n=new Array(Math.max(e.bitLength(),t)+1);n.fill(0);for(var o=1<(o>>1)-1?(o>>1)-u:u,i.isubn(s)):s=0,n[a]=s,i.iushrn(1)}return n},t.getJSF=function(e,r){var t=[[],[]];e=e.clone(),r=r.clone();for(var n=0,o=0;e.cmpn(-n)>0||r.cmpn(-o)>0;){var i,a,s,u=e.andln(3)+n&3,l=r.andln(3)+o&3;if(3===u&&(u=-1),3===l&&(l=-1),0==(1&u))i=0;else i=3!==(s=e.andln(7)+n&7)&&5!==s||2!==l?u:-u;if(t[0].push(i),0==(1&l))a=0;else a=3!==(s=r.andln(7)+o&7)&&5!==s||2!==u?l:-l;t[1].push(a),2*n===i+1&&(n=1-n),2*o===a+1&&(o=1-o),e.iushrn(1),r.iushrn(1)}return t},t.cachedProperty=function(e,r,t){var n="_"+r;e.prototype[r]=function(){return void 0!==this[n]?this[n]:this[n]=t.call(this)}},t.parseBytes=function(e){return"string"==typeof e?t.toArray(e,"hex"):e},t.intFromLE=function(e){return new s(e,"hex","le")}})),Cr=function(e){var t=new Uint8Array(e);return(r.crypto||r.msCrypto).getRandomValues(t),t},kr=Fr.getNAF,Br=Fr.getJSF,_r=Fr.assert;function Lr(e,r){this.type=e,this.p=new s(r.p,16),this.red=r.prime?s.red(r.prime):s.mont(this.p),this.zero=new s(0).toRed(this.red),this.one=new s(1).toRed(this.red),this.two=new s(2).toRed(this.red),this.n=r.n&&new s(r.n,16),this.g=r.g&&this.pointFromJSON(r.g,r.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var t=this.n&&this.p.div(this.n);!t||t.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Or=Lr;function Jr(e,r){this.curve=e,this.type=r,this.precomputed=null}Lr.prototype.point=function(){throw new Error("Not implemented")},Lr.prototype.validate=function(){throw new Error("Not implemented")},Lr.prototype._fixedNafMul=function(e,r){_r(e.precomputed);var t=e._getDoubles(),n=kr(r,1,this._bitLength),o=(1<=a;r--)s=(s<<1)+n[r];i.push(s)}for(var u=this.jpoint(null,null,null),l=this.jpoint(null,null,null),c=o;c>0;c--){for(a=0;a=0;s--){for(r=0;s>=0&&0===i[s];s--)r++;if(s>=0&&r++,a=a.dblp(r),s<0)break;var u=i[s];_r(0!==u),a="affine"===e.type?u>0?a.mixedAdd(o[u-1>>1]):a.mixedAdd(o[-u-1>>1].neg()):u>0?a.add(o[u-1>>1]):a.add(o[-u-1>>1].neg())}return"affine"===e.type?a.toP():a},Lr.prototype._wnafMulAdd=function(e,r,t,n,o){for(var i=this._wnafT1,a=this._wnafT2,s=this._wnafT3,u=0,l=0;l=1;l-=2){var f=l-1,h=l;if(1===i[f]&&1===i[h]){var d=[r[f],null,null,r[h]];0===r[f].y.cmp(r[h].y)?(d[1]=r[f].add(r[h]),d[2]=r[f].toJ().mixedAdd(r[h].neg())):0===r[f].y.cmp(r[h].y.redNeg())?(d[1]=r[f].toJ().mixedAdd(r[h]),d[2]=r[f].add(r[h].neg())):(d[1]=r[f].toJ().mixedAdd(r[h]),d[2]=r[f].toJ().mixedAdd(r[h].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],g=Br(t[f],t[h]);u=Math.max(g[0].length,u),s[f]=new Array(u),s[h]=new Array(u);for(var v=0;v=0;l--){for(var S=0;l>=0;){var T=!0;for(v=0;v=0&&S++,y=y.dblp(S),l<0)break;for(v=0;v0?w=a[v][M-1>>1]:M<0&&(w=a[v][-M-1>>1].neg()),y="affine"===w.type?y.mixedAdd(w):y.add(w))}}for(l=0;l=Math.ceil((e.bitLength()+1)/r.step)},Jr.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var t=[this],n=this,o=0;o=0&&(i=r,a=t),n.negative&&(n=n.neg(),o=o.neg()),i.negative&&(i=i.neg(),a=a.neg()),[{a:n,b:o},{a:i,b:a}]},Nr.prototype._endoSplit=function(e){var r=this.endo.basis,t=r[0],n=r[1],o=n.b.mul(e).divRound(this.n),i=t.b.neg().mul(e).divRound(this.n),a=o.mul(t.a),s=i.mul(n.a),u=o.mul(t.b),l=i.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(l).neg()}},Nr.prototype.pointFromX=function(e,r){(e=new s(e,16)).red||(e=e.toRed(this.red));var t=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=t.redSqrt();if(0!==n.redSqr().redSub(t).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(r&&!o||!r&&o)&&(n=n.redNeg()),this.point(e,n)},Nr.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,t=e.y,n=this.a.redMul(r),o=r.redSqr().redMul(r).redIAdd(n).redIAdd(this.b);return 0===t.redSqr().redISub(o).cmpn(0)},Nr.prototype._endoWnafMulAdd=function(e,r,t){for(var n=this._endoWnafT1,o=this._endoWnafT2,i=0;i":""},xr.prototype.isInfinity=function(){return this.inf},xr.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var r=this.y.redSub(e.y);0!==r.cmpn(0)&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var t=r.redSqr().redISub(this.x).redISub(e.x),n=r.redMul(this.x.redSub(t)).redISub(this.y);return this.curve.point(t,n)},xr.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var r=this.curve.a,t=this.x.redSqr(),n=e.redInvm(),o=t.redAdd(t).redIAdd(t).redIAdd(r).redMul(n),i=o.redSqr().redISub(this.x.redAdd(this.x)),a=o.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,a)},xr.prototype.getX=function(){return this.x.fromRed()},xr.prototype.getY=function(){return this.y.fromRed()},xr.prototype.mul=function(e){return e=new s(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},xr.prototype.mulAdd=function(e,r,t){var n=[this,r],o=[e,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,o):this.curve._wnafMulAdd(1,n,o,2)},xr.prototype.jmulAdd=function(e,r,t){var n=[this,r],o=[e,t];return this.curve.endo?this.curve._endoWnafMulAdd(n,o,!0):this.curve._wnafMulAdd(1,n,o,2,!0)},xr.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},xr.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var t=this.precomputed,n=function(e){return e.neg()};r.precomputed={naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(n)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(n)}}}return r},xr.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},ne(Ir,Or.BasePoint),Nr.prototype.jpoint=function(e,r,t){return new Ir(this,e,r,t)},Ir.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),t=this.x.redMul(r),n=this.y.redMul(r).redMul(e);return this.curve.point(t,n)},Ir.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ir.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),t=this.z.redSqr(),n=this.x.redMul(r),o=e.x.redMul(t),i=this.y.redMul(r.redMul(e.z)),a=e.y.redMul(t.redMul(this.z)),s=n.redSub(o),u=i.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=s.redSqr(),c=l.redMul(s),f=n.redMul(l),h=u.redSqr().redIAdd(c).redISub(f).redISub(f),d=u.redMul(f.redISub(h)).redISub(i.redMul(c)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,d,p)},Ir.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),t=this.x,n=e.x.redMul(r),o=this.y,i=e.y.redMul(r).redMul(this.z),a=t.redSub(n),s=o.redSub(i);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),c=t.redMul(u),f=s.redSqr().redIAdd(l).redISub(c).redISub(c),h=s.redMul(c.redISub(f)).redISub(o.redMul(l)),d=this.z.redMul(a);return this.curve.jpoint(f,h,d)},Ir.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var r=this,t=0;t=0)return!1;if(t.redIAdd(o),0===this.x.cmp(t))return!0}},Ir.prototype.inspect=function(){return this.isInfinity()?"":""},Ir.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Xr={},Hr={},Ur=n((function(e,r){var t=r;t.base=Or,t.short=Dr,t.mont=Xr,t.edwards=Hr})),Gr=n((function(e,r){var t,n=r,o=Fr.assert;function i(e){"short"===e.type?this.curve=new Ur.short(e):"edwards"===e.type?this.curve=new Ur.edwards(e):this.curve=new Ur.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,r){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var t=new i(r);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:t}),t}})}n.PresetCurve=i,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Ar.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Ar.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Ar.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Ar.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Ar.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Ar.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Ar.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{t=void 0}catch(e){t=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Ar.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",t]})}));function zr(e){if(!(this instanceof zr))return new zr(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var r=Er.toArray(e.entropy,e.entropyEnc||"hex"),t=Er.toArray(e.nonce,e.nonceEnc||"hex"),n=Er.toArray(e.pers,e.persEnc||"hex");re(r.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(r,t,n)}var Vr=zr;zr.prototype._init=function(e,r,t){var n=e.concat(r).concat(t);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(t||[])),this._reseed=1},zr.prototype.generate=function(e,r,t,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof r&&(n=t,t=r,r=null),t&&(t=Er.toArray(t,n||"hex"),this._update(t));for(var o=[];o.length"};var Qr=Fr.assert;function qr(e,r){if(e instanceof qr)return e;this._importDER(e,r)||(Qr(e.r&&e.s,"Signature without r or s"),this.r=new s(e.r,16),this.s=new s(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var Wr=qr;function Yr(){this.place=0}function $r(e,r){var t=e[r.place++];if(!(128&t))return t;for(var n=15&t,o=0,i=0,a=r.place;i>>3);for(e.push(128|t);--t;)e.push(r>>>(t<<3)&255);e.push(r)}}qr.prototype._importDER=function(e,r){e=Fr.toArray(e,r);var t=new Yr;if(48!==e[t.place++])return!1;if($r(e,t)+t.place!==e.length)return!1;if(2!==e[t.place++])return!1;var n=$r(e,t),o=e.slice(t.place,n+t.place);if(t.place+=n,2!==e[t.place++])return!1;var i=$r(e,t);if(e.length!==i+t.place)return!1;var a=e.slice(t.place,i+t.place);return 0===o[0]&&128&o[1]&&(o=o.slice(1)),0===a[0]&&128&a[1]&&(a=a.slice(1)),this.r=new s(o),this.s=new s(a),this.recoveryParam=null,!0},qr.prototype.toDER=function(e){var r=this.r.toArray(),t=this.s.toArray();for(128&r[0]&&(r=[0].concat(r)),128&t[0]&&(t=[0].concat(t)),r=et(r),t=et(t);!(t[0]||128&t[1]);)t=t.slice(1);var n=[2];rt(n,r.length),(n=n.concat(r)).push(2),rt(n,t.length);var o=n.concat(t),i=[48];return rt(i,o.length),i=i.concat(o),Fr.encode(i,e)};var tt=Fr.assert;function nt(e){if(!(this instanceof nt))return new nt(e);"string"==typeof e&&(tt(Gr.hasOwnProperty(e),"Unknown curve "+e),e=Gr[e]),e instanceof Gr.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var ot=nt;nt.prototype.keyPair=function(e){return new Kr(this,e)},nt.prototype.keyFromPrivate=function(e,r){return Kr.fromPrivate(this,e,r)},nt.prototype.keyFromPublic=function(e,r){return Kr.fromPublic(this,e,r)},nt.prototype.genKeyPair=function(e){e||(e={});for(var r=new Vr({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Cr(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),t=this.n.byteLength(),n=this.n.sub(new s(2));;){var o=new s(r.generate(t));if(!(o.cmp(n)>0))return o.iaddn(1),this.keyFromPrivate(o)}},nt.prototype._truncateToN=function(e,r){var t=8*e.byteLength()-this.n.bitLength();return t>0&&(e=e.ushrn(t)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e},nt.prototype.sign=function(e,r,t,n){"object"==typeof t&&(n=t,t=null),n||(n={}),r=this.keyFromPrivate(r,t),e=this._truncateToN(new s(e,16));for(var o=this.n.byteLength(),i=r.getPrivate().toArray("be",o),a=e.toArray("be",o),u=new Vr({hash:this.hash,entropy:i,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new s(1)),c=0;;c++){var f=n.k?n.k(c):new s(u.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(l)>=0)){var h=this.g.mul(f);if(!h.isInfinity()){var d=h.getX(),p=d.umod(this.n);if(0!==p.cmpn(0)){var g=f.invm(this.n).mul(p.mul(r.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var v=(h.getY().isOdd()?1:0)|(0!==d.cmp(p)?2:0);return n.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),v^=1),new Wr({r:p,s:g,recoveryParam:v})}}}}}},nt.prototype.verify=function(e,r,t,n){e=this._truncateToN(new s(e,16)),t=this.keyFromPublic(t,n);var o=(r=new Wr(r,"hex")).r,i=r.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;var a,u=i.invm(this.n),l=u.mul(e).umod(this.n),c=u.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,t.getPublic(),c)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(l,t.getPublic(),c)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},nt.prototype.recoverPubKey=function(e,r,t,n){tt((3&t)===t,"The recovery param is more than two bits"),r=new Wr(r,n);var o=this.n,i=new s(e),a=r.r,u=r.s,l=1&t,c=t>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&c)throw new Error("Unable to find sencond key candinate");a=c?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var f=r.r.invm(o),h=o.sub(i).mul(f).umod(o),d=u.mul(f).umod(o);return this.g.mulAdd(h,a,d)},nt.prototype.getKeyRecoveryParam=function(e,r,t,n){if(null!==(r=new Wr(r,n)).recoveryParam)return r.recoveryParam;for(var o=0;o<4;o++){var i;try{i=this.recoverPubKey(e,r,o)}catch(e){continue}if(i.eq(t))return o}throw new Error("Unable to find valid recovery factor")};var it,at={},st=o(Pr),ut=n((function(e,r){var t=r;t.version=st.version,t.utils=Fr,t.rand=Cr,t.curve=Ur,t.curves=Gr,t.ec=ot,t.eddsa=at})),lt=(ut.ec,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="signing-key/5.0.1"}))),ct=(t(lt),lt.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(lt.version),n=null;function o(){return n||(n=new ut.ec("secp256k1")),n}var i=function(){function e(e){m.defineReadOnly(this,"curve","secp256k1"),m.defineReadOnly(this,"privateKey",f.hexlify(e));var r=o().keyFromPrivate(f.arrayify(this.privateKey));m.defineReadOnly(this,"publicKey","0x"+r.getPublic(!1,"hex")),m.defineReadOnly(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),m.defineReadOnly(this,"_isSigningKey",!0)}return e.prototype._addPoint=function(e){var r=o().keyFromPublic(f.arrayify(this.publicKey)),t=o().keyFromPublic(f.arrayify(e));return"0x"+r.pub.add(t.pub).encodeCompressed("hex")},e.prototype.signDigest=function(e){var r=o().keyFromPrivate(f.arrayify(this.privateKey)).sign(f.arrayify(e),{canonical:!0});return f.splitSignature({recoveryParam:r.recoveryParam,r:f.hexZeroPad("0x"+r.r.toString(16),32),s:f.hexZeroPad("0x"+r.s.toString(16),32)})},e.prototype.computeSharedSecret=function(e){var r=o().keyFromPrivate(f.arrayify(this.privateKey)),t=o().keyFromPublic(f.arrayify(a(e)));return f.hexZeroPad("0x"+r.derive(t.getPublic()).toString(16),32)},e.isSigningKey=function(e){return!(!e||!e._isSigningKey)},e}();function a(e,r){var n=f.arrayify(e);if(32===n.length){var a=new i(n);return r?"0x"+o().keyFromPrivate(n).getPublic(!0,"hex"):a.publicKey}return 33===n.length?r?f.hexlify(n):"0x"+o().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?r?"0x"+o().keyFromPublic(n).getPublic(!0,"hex"):f.hexlify(n):t.throwArgumentError("invalid public or private key","key","[REDACTED]")}r.SigningKey=i,r.recoverPublicKey=function(e,r){var t=f.splitSignature(r),n={r:f.arrayify(t.r),s:f.arrayify(t.s)};return"0x"+o().recoverPubKey(f.arrayify(e),n,t.recoveryParam).encode("hex",!1)},r.computePublicKey=a}))),ft=(t(ct),ct.SigningKey,ct.recoverPublicKey,ct.computePublicKey,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="transactions/5.0.1"}))),ht=(t(ft),ft.version,n((function(e,t){var n=r&&r.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r};Object.defineProperty(t,"__esModule",{value:!0});var o=n(M),i=new l.Logger(ft.version);function a(e){return"0x"===e?J.Zero:g.BigNumber.from(e)}var s=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],u={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function c(e){var r=ct.computePublicKey(e);return E.getAddress(f.hexDataSlice(T.keccak256(f.hexDataSlice(r,1)),12))}function h(e,r){return c(ct.recoverPublicKey(f.arrayify(e),r))}t.computeAddress=c,t.recoverAddress=h,t.serialize=function(e,r){m.checkProperties(e,u);var t=[];s.forEach((function(r){var n=e[r.name]||[],o={};r.numeric&&(o.hexPad="left"),n=f.arrayify(f.hexlify(n,o)),r.length&&n.length!==r.length&&n.length>0&&i.throwArgumentError("invalid length for "+r.name,"transaction:"+r.name,n),r.maxLength&&(n=f.stripZeros(n)).length>r.maxLength&&i.throwArgumentError("invalid length for "+r.name,"transaction:"+r.name,n),t.push(f.hexlify(n))}));var n=0;if(null!=e.chainId?"number"!=typeof(n=e.chainId)&&i.throwArgumentError("invalid transaction.chainId","transaction",e):r&&!f.isBytesLike(r)&&r.v>28&&(n=Math.floor((r.v-35)/2)),0!==n&&(t.push(f.hexlify(n)),t.push("0x"),t.push("0x")),!r)return o.encode(t);var a=f.splitSignature(r),l=27+a.recoveryParam;return 0!==n?(t.pop(),t.pop(),t.pop(),l+=2*n+8,a.v>28&&a.v!==l&&i.throwArgumentError("transaction.chainId/signature.v mismatch","signature",r)):a.v!==l&&i.throwArgumentError("transaction.chainId/signature.v mismatch","signature",r),t.push(f.hexlify(l)),t.push(f.stripZeros(f.arrayify(a.r))),t.push(f.stripZeros(f.arrayify(a.s))),o.encode(t)},t.parse=function(e){var r=o.decode(e);9!==r.length&&6!==r.length&&i.throwArgumentError("invalid raw transaction","rawTransaction",e);var t,n={nonce:a(r[0]).toNumber(),gasPrice:a(r[1]),gasLimit:a(r[2]),to:(t=r[3],"0x"===t?null:E.getAddress(t)),value:a(r[4]),data:r[5],chainId:0};if(6===r.length)return n;try{n.v=g.BigNumber.from(r[6]).toNumber()}catch(e){return console.log(e),n}if(n.r=f.hexZeroPad(r[7],32),n.s=f.hexZeroPad(r[8],32),g.BigNumber.from(n.r).isZero()&&g.BigNumber.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var s=n.v-27,u=r.slice(0,6);0!==n.chainId&&(u.push(f.hexlify(n.chainId)),u.push("0x"),u.push("0x"),s-=2*n.chainId+8);var l=T.keccak256(o.encode(u));try{n.from=h(l,{r:f.hexlify(n.r),s:f.hexlify(n.s),recoveryParam:s})}catch(e){console.log(e)}n.hash=T.keccak256(e)}return n}}))),dt=(t(ht),ht.computeAddress,ht.recoverAddress,ht.serialize,ht.parse,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="wordlists/5.0.1"}))),pt=(t(dt),dt.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});r.logger=new l.Logger(dt.version);var t=function(){function e(t){var n=this.constructor;r.logger.checkAbstract(n,e),m.defineReadOnly(this,"locale",t)}return e.prototype.split=function(e){return e.toLowerCase().split(/ +/g)},e.prototype.join=function(e){return e.join(" ")},e.check=function(e){for(var r=[],t=0;t<2048;t++){var n=e.getWord(t);if(t!==e.getWordIndex(n))return"0x";r.push(n)}return V.id(r.join("\n")+"\n")},e.register=function(e,r){r||(r=e.locale)},e}();r.Wordlist=t}))),gt=(t(pt),pt.logger,pt.Wordlist,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=null;function a(e){if(null==i&&(i="AbdikaceAbecedaAdresaAgreseAkceAktovkaAlejAlkoholAmputaceAnanasAndulkaAnekdotaAnketaAntikaAnulovatArchaAroganceAsfaltAsistentAspiraceAstmaAstronomAtlasAtletikaAtolAutobusAzylBabkaBachorBacilBaculkaBadatelBagetaBagrBahnoBakterieBaladaBaletkaBalkonBalonekBalvanBalzaBambusBankomatBarbarBaretBarmanBarokoBarvaBaterkaBatohBavlnaBazalkaBazilikaBazukaBednaBeranBesedaBestieBetonBezinkaBezmocBeztakBicyklBidloBiftekBikinyBilanceBiografBiologBitvaBizonBlahobytBlatouchBlechaBleduleBleskBlikatBliznaBlokovatBlouditBludBobekBobrBodlinaBodnoutBohatostBojkotBojovatBokorysBolestBorecBoroviceBotaBoubelBouchatBoudaBouleBouratBoxerBradavkaBramboraBrankaBratrBreptaBriketaBrkoBrlohBronzBroskevBrunetkaBrusinkaBrzdaBrzyBublinaBubnovatBuchtaBuditelBudkaBudovaBufetBujarostBukviceBuldokBulvaBundaBunkrBurzaButikBuvolBuzolaBydletBylinaBytovkaBzukotCapartCarevnaCedrCeduleCejchCejnCelaCelerCelkemCelniceCeninaCennostCenovkaCentrumCenzorCestopisCetkaChalupaChapadloCharitaChataChechtatChemieChichotChirurgChladChlebaChlubitChmelChmuraChobotChocholChodbaCholeraChomoutChopitChorobaChovChrapotChrlitChrtChrupChtivostChudinaChutnatChvatChvilkaChvostChybaChystatChytitCibuleCigaretaCihelnaCihlaCinkotCirkusCisternaCitaceCitrusCizinecCizostClonaCokolivCouvatCtitelCtnostCudnostCuketaCukrCupotCvaknoutCvalCvikCvrkotCyklistaDalekoDarebaDatelDatumDceraDebataDechovkaDecibelDeficitDeflaceDeklDekretDemokratDepreseDerbyDeskaDetektivDikobrazDiktovatDiodaDiplomDiskDisplejDivadloDivochDlahaDlouhoDluhopisDnesDobroDobytekDocentDochutitDodnesDohledDohodaDohraDojemDojniceDokladDokolaDoktorDokumentDolarDolevaDolinaDomaDominantDomluvitDomovDonutitDopadDopisDoplnitDoposudDoprovodDopustitDorazitDorostDortDosahDoslovDostatekDosudDosytaDotazDotekDotknoutDoufatDoutnatDovozceDozaduDoznatDozorceDrahotaDrakDramatikDravecDrazeDrdolDrobnostDrogerieDrozdDrsnostDrtitDrzostDubenDuchovnoDudekDuhaDuhovkaDusitDusnoDutostDvojiceDvorecDynamitEkologEkonomieElektronElipsaEmailEmiseEmoceEmpatieEpizodaEpochaEpopejEposEsejEsenceEskortaEskymoEtiketaEuforieEvoluceExekuceExkurzeExpediceExplozeExportExtraktFackaFajfkaFakultaFanatikFantazieFarmacieFavoritFazoleFederaceFejetonFenkaFialkaFigurantFilozofFiltrFinanceFintaFixaceFjordFlanelFlirtFlotilaFondFosforFotbalFotkaFotonFrakceFreskaFrontaFukarFunkceFyzikaGalejeGarantGenetikaGeologGilotinaGlazuraGlejtGolemGolfistaGotikaGrafGramofonGranuleGrepGrilGrogGroteskaGumaHadiceHadrHalaHalenkaHanbaHanopisHarfaHarpunaHavranHebkostHejkalHejnoHejtmanHektarHelmaHematomHerecHernaHesloHezkyHistorikHladovkaHlasivkyHlavaHledatHlenHlodavecHlohHloupostHltatHlubinaHluchotaHmatHmotaHmyzHnisHnojivoHnoutHoblinaHobojHochHodinyHodlatHodnotaHodovatHojnostHokejHolinkaHolkaHolubHomoleHonitbaHonoraceHoralHordaHorizontHorkoHorlivecHormonHorninaHoroskopHorstvoHospodaHostinaHotovostHoubaHoufHoupatHouskaHovorHradbaHraniceHravostHrazdaHrbolekHrdinaHrdloHrdostHrnekHrobkaHromadaHrotHroudaHrozenHrstkaHrubostHryzatHubenostHubnoutHudbaHukotHumrHusitaHustotaHvozdHybnostHydrantHygienaHymnaHysterikIdylkaIhnedIkonaIluzeImunitaInfekceInflaceInkasoInovaceInspekceInternetInvalidaInvestorInzerceIronieJablkoJachtaJahodaJakmileJakostJalovecJantarJarmarkJaroJasanJasnoJatkaJavorJazykJedinecJedleJednatelJehlanJekotJelenJelitoJemnostJenomJepiceJeseterJevitJezdecJezeroJinakJindyJinochJiskraJistotaJitrniceJizvaJmenovatJogurtJurtaKabaretKabelKabinetKachnaKadetKadidloKahanKajakKajutaKakaoKaktusKalamitaKalhotyKalibrKalnostKameraKamkolivKamnaKanibalKanoeKantorKapalinaKapelaKapitolaKapkaKapleKapotaKaprKapustaKapybaraKaramelKarotkaKartonKasaKatalogKatedraKauceKauzaKavalecKazajkaKazetaKazivostKdekolivKdesiKedlubenKempKeramikaKinoKlacekKladivoKlamKlapotKlasikaKlaunKlecKlenbaKlepatKlesnoutKlidKlimaKlisnaKloboukKlokanKlopaKloubKlubovnaKlusatKluzkostKmenKmitatKmotrKnihaKnotKoaliceKoberecKobkaKoblihaKobylaKocourKohoutKojenecKokosKoktejlKolapsKoledaKolizeKoloKomandoKometaKomikKomnataKomoraKompasKomunitaKonatKonceptKondiceKonecKonfeseKongresKoninaKonkursKontaktKonzervaKopanecKopieKopnoutKoprovkaKorbelKorektorKormidloKoroptevKorpusKorunaKorytoKorzetKosatecKostkaKotelKotletaKotoulKoukatKoupelnaKousekKouzloKovbojKozaKozorohKrabiceKrachKrajinaKralovatKrasopisKravataKreditKrejcarKresbaKrevetaKriketKritikKrizeKrkavecKrmelecKrmivoKrocanKrokKronikaKropitKroupaKrovkaKrtekKruhadloKrupiceKrutostKrvinkaKrychleKryptaKrystalKrytKudlankaKufrKujnostKuklaKulajdaKulichKulkaKulometKulturaKunaKupodivuKurtKurzorKutilKvalitaKvasinkaKvestorKynologKyselinaKytaraKyticeKytkaKytovecKyvadloLabradorLachtanLadnostLaikLakomecLamelaLampaLanovkaLasiceLasoLasturaLatinkaLavinaLebkaLeckdyLedenLedniceLedovkaLedvinaLegendaLegieLegraceLehceLehkostLehnoutLektvarLenochodLentilkaLepenkaLepidloLetadloLetecLetmoLetokruhLevhartLevitaceLevobokLibraLichotkaLidojedLidskostLihovinaLijavecLilekLimetkaLinieLinkaLinoleumListopadLitinaLitovatLobistaLodivodLogikaLogopedLokalitaLoketLomcovatLopataLopuchLordLososLotrLoudalLouhLoukaLouskatLovecLstivostLucernaLuciferLumpLuskLustraceLviceLyraLyrikaLysinaMadamMadloMagistrMahagonMajetekMajitelMajoritaMakakMakoviceMakrelaMalbaMalinaMalovatMalviceMaminkaMandleMankoMarnostMasakrMaskotMasopustMaticeMatrikaMaturitaMazanecMazivoMazlitMazurkaMdlobaMechanikMeditaceMedovinaMelasaMelounMentolkaMetlaMetodaMetrMezeraMigraceMihnoutMihuleMikinaMikrofonMilenecMilimetrMilostMimikaMincovnaMinibarMinometMinulostMiskaMistrMixovatMladostMlhaMlhovinaMlokMlsatMluvitMnichMnohemMobilMocnostModelkaModlitbaMohylaMokroMolekulaMomentkaMonarchaMonoklMonstrumMontovatMonzunMosazMoskytMostMotivaceMotorkaMotykaMouchaMoudrostMozaikaMozekMozolMramorMravenecMrkevMrtvolaMrzetMrzutostMstitelMudrcMuflonMulatMumieMuniceMusetMutaceMuzeumMuzikantMyslivecMzdaNabouratNachytatNadaceNadbytekNadhozNadobroNadpisNahlasNahnatNahodileNahraditNaivitaNajednouNajistoNajmoutNaklonitNakonecNakrmitNalevoNamazatNamluvitNanometrNaokoNaopakNaostroNapadatNapevnoNaplnitNapnoutNaposledNaprostoNaroditNarubyNarychloNasaditNasekatNaslepoNastatNatolikNavenekNavrchNavzdoryNazvatNebeNechatNeckyNedalekoNedbatNeduhNegaceNehetNehodaNejenNejprveNeklidNelibostNemilostNemocNeochotaNeonkaNepokojNerostNervNesmyslNesouladNetvorNeuronNevinaNezvykleNicotaNijakNikamNikdyNiklNikterakNitroNoclehNohaviceNominaceNoraNorekNositelNosnostNouzeNovinyNovotaNozdraNudaNudleNugetNutitNutnostNutrieNymfaObalObarvitObavaObdivObecObehnatObejmoutObezitaObhajobaObilniceObjasnitObjektObklopitOblastOblekOblibaOblohaObludaObnosObohatitObojekOboutObrazecObrnaObrubaObrysObsahObsluhaObstaratObuvObvazObvinitObvodObvykleObyvatelObzorOcasOcelOcenitOchladitOchotaOchranaOcitnoutOdbojOdbytOdchodOdcizitOdebratOdeslatOdevzdatOdezvaOdhadceOdhoditOdjetOdjinudOdkazOdkoupitOdlivOdlukaOdmlkaOdolnostOdpadOdpisOdploutOdporOdpustitOdpykatOdrazkaOdsouditOdstupOdsunOdtokOdtudOdvahaOdvetaOdvolatOdvracetOdznakOfinaOfsajdOhlasOhniskoOhradaOhrozitOhryzekOkapOkeniceOklikaOknoOkouzlitOkovyOkrasaOkresOkrsekOkruhOkupantOkurkaOkusitOlejninaOlizovatOmakOmeletaOmezitOmladinaOmlouvatOmluvaOmylOnehdyOpakovatOpasekOperaceOpiceOpilostOpisovatOporaOpoziceOpravduOprotiOrbitalOrchestrOrgieOrliceOrlojOrtelOsadaOschnoutOsikaOsivoOslavaOslepitOslnitOslovitOsnovaOsobaOsolitOspalecOstenOstrahaOstudaOstychOsvojitOteplitOtiskOtopOtrhatOtrlostOtrokOtrubyOtvorOvanoutOvarOvesOvlivnitOvoceOxidOzdobaPachatelPacientPadouchPahorekPaktPalandaPalecPalivoPalubaPamfletPamlsekPanenkaPanikaPannaPanovatPanstvoPantoflePaprikaParketaParodiePartaParukaParybaPasekaPasivitaPastelkaPatentPatronaPavoukPaznehtPazourekPeckaPedagogPejsekPekloPelotonPenaltaPendrekPenzePeriskopPeroPestrostPetardaPeticePetrolejPevninaPexesoPianistaPihaPijavicePiklePiknikPilinaPilnostPilulkaPinzetaPipetaPisatelPistolePitevnaPivnicePivovarPlacentaPlakatPlamenPlanetaPlastikaPlatitPlavidloPlazPlechPlemenoPlentaPlesPletivoPlevelPlivatPlnitPlnoPlochaPlodinaPlombaPloutPlukPlynPobavitPobytPochodPocitPoctivecPodatPodcenitPodepsatPodhledPodivitPodkladPodmanitPodnikPodobaPodporaPodrazPodstataPodvodPodzimPoeziePohankaPohnutkaPohovorPohromaPohybPointaPojistkaPojmoutPokazitPoklesPokojPokrokPokutaPokynPolednePolibekPolknoutPolohaPolynomPomaluPominoutPomlkaPomocPomstaPomysletPonechatPonorkaPonurostPopadatPopelPopisekPoplachPoprositPopsatPopudPoradcePorcePorodPoruchaPoryvPosaditPosedPosilaPoskokPoslanecPosouditPospoluPostavaPosudekPosypPotahPotkanPotleskPotomekPotravaPotupaPotvoraPoukazPoutoPouzdroPovahaPovidlaPovlakPovozPovrchPovstatPovykPovzdechPozdravPozemekPoznatekPozorPozvatPracovatPrahoryPraktikaPralesPraotecPraporekPrasePravdaPrincipPrknoProbuditProcentoProdejProfeseProhraProjektProlomitPromilePronikatPropadProrokProsbaProtonProutekProvazPrskavkaPrstenPrudkostPrutPrvekPrvohoryPsanecPsovodPstruhPtactvoPubertaPuchPudlPukavecPuklinaPukrlePultPumpaPuncPupenPusaPusinkaPustinaPutovatPutykaPyramidaPyskPytelRacekRachotRadiaceRadniceRadonRaftRagbyRaketaRakovinaRamenoRampouchRandeRarachRaritaRasovnaRastrRatolestRazanceRazidloReagovatReakceReceptRedaktorReferentReflexRejnokReklamaRekordRekrutRektorReputaceRevizeRevmaRevolverRezervaRiskovatRizikoRobotikaRodokmenRohovkaRokleRokokoRomanetoRopovodRopuchaRorejsRosolRostlinaRotmistrRotopedRotundaRoubenkaRouchoRoupRouraRovinaRovniceRozborRozchodRozdatRozeznatRozhodceRozinkaRozjezdRozkazRozlohaRozmarRozpadRozruchRozsahRoztokRozumRozvodRubrikaRuchadloRukaviceRukopisRybaRybolovRychlostRydloRypadloRytinaRyzostSadistaSahatSakoSamecSamizdatSamotaSanitkaSardinkaSasankaSatelitSazbaSazeniceSborSchovatSebrankaSeceseSedadloSedimentSedloSehnatSejmoutSekeraSektaSekundaSekvojeSemenoSenoServisSesaditSeshoraSeskokSeslatSestraSesuvSesypatSetbaSetinaSetkatSetnoutSetrvatSeverSeznamShodaShrnoutSifonSilniceSirkaSirotekSirupSituaceSkafandrSkaliskoSkanzenSkautSkeptikSkicaSkladbaSkleniceSkloSkluzSkobaSkokanSkoroSkriptaSkrzSkupinaSkvostSkvrnaSlabikaSladidloSlaninaSlastSlavnostSledovatSlepecSlevaSlezinaSlibSlinaSlizniceSlonSloupekSlovoSluchSluhaSlunceSlupkaSlzaSmaragdSmetanaSmilstvoSmlouvaSmogSmradSmrkSmrtkaSmutekSmyslSnadSnahaSnobSobotaSochaSodovkaSokolSopkaSotvaSoubojSoucitSoudceSouhlasSouladSoumrakSoupravaSousedSoutokSouvisetSpalovnaSpasitelSpisSplavSpodekSpojenecSpoluSponzorSpornostSpoustaSprchaSpustitSrandaSrazSrdceSrnaSrnecSrovnatSrpenSrstSrubStaniceStarostaStatikaStavbaStehnoStezkaStodolaStolekStopaStornoStoupatStrachStresStrhnoutStromStrunaStudnaStupniceStvolStykSubjektSubtropySucharSudostSuknoSundatSunoutSurikataSurovinaSvahSvalstvoSvetrSvatbaSvazekSvisleSvitekSvobodaSvodidloSvorkaSvrabSykavkaSykotSynekSynovecSypatSypkostSyrovostSyselSytostTabletkaTabuleTahounTajemnoTajfunTajgaTajitTajnostTaktikaTamhleTamponTancovatTanecTankerTapetaTaveninaTazatelTechnikaTehdyTekutinaTelefonTemnotaTendenceTenistaTenorTeplotaTepnaTeprveTerapieTermoskaTextilTichoTiskopisTitulekTkadlecTkaninaTlapkaTleskatTlukotTlupaTmelToaletaTopinkaTopolTorzoTouhaToulecTradiceTraktorTrampTrasaTraverzaTrefitTrestTrezorTrhavinaTrhlinaTrochuTrojiceTroskaTroubaTrpceTrpitelTrpkostTrubecTruchlitTruhliceTrusTrvatTudyTuhnoutTuhostTundraTuristaTurnajTuzemskoTvarohTvorbaTvrdostTvrzTygrTykevUbohostUbozeUbratUbrousekUbrusUbytovnaUchoUctivostUdivitUhraditUjednatUjistitUjmoutUkazatelUklidnitUklonitUkotvitUkrojitUliceUlitaUlovitUmyvadloUnavitUniformaUniknoutUpadnoutUplatnitUplynoutUpoutatUpravitUranUrazitUsednoutUsilovatUsmrtitUsnadnitUsnoutUsouditUstlatUstrnoutUtahovatUtkatUtlumitUtonoutUtopenecUtrousitUvalitUvolnitUvozovkaUzdravitUzelUzeninaUzlinaUznatVagonValchaValounVanaVandalVanilkaVaranVarhanyVarovatVcelkuVchodVdovaVedroVegetaceVejceVelbloudVeletrhVelitelVelmocVelrybaVenkovVerandaVerzeVeselkaVeskrzeVesniceVespoduVestaVeterinaVeverkaVibraceVichrVideohraVidinaVidleVilaViniceVisetVitalitaVizeVizitkaVjezdVkladVkusVlajkaVlakVlasecVlevoVlhkostVlivVlnovkaVloupatVnucovatVnukVodaVodivostVodoznakVodstvoVojenskyVojnaVojskoVolantVolbaVolitVolnoVoskovkaVozidloVozovnaVpravoVrabecVracetVrahVrataVrbaVrcholekVrhatVrstvaVrtuleVsaditVstoupitVstupVtipVybavitVybratVychovatVydatVydraVyfotitVyhledatVyhnoutVyhoditVyhraditVyhubitVyjasnitVyjetVyjmoutVyklopitVykonatVylekatVymazatVymezitVymizetVymysletVynechatVynikatVynutitVypadatVyplatitVypravitVypustitVyrazitVyrovnatVyrvatVyslovitVysokoVystavitVysunoutVysypatVytasitVytesatVytratitVyvinoutVyvolatVyvrhelVyzdobitVyznatVzaduVzbuditVzchopitVzdorVzduchVzdychatVzestupVzhledemVzkazVzlykatVznikVzorekVzpouraVztahVztekXylofonZabratZabydletZachovatZadarmoZadusitZafoukatZahltitZahoditZahradaZahynoutZajatecZajetZajistitZaklepatZakoupitZalepitZamezitZamotatZamysletZanechatZanikatZaplatitZapojitZapsatZarazitZastavitZasunoutZatajitZatemnitZatknoutZaujmoutZavalitZaveletZavinitZavolatZavrtatZazvonitZbavitZbrusuZbudovatZbytekZdalekaZdarmaZdatnostZdivoZdobitZdrojZdvihZdymadloZeleninaZemanZeminaZeptatZezaduZezdolaZhatitZhltnoutZhlubokaZhotovitZhrubaZimaZimniceZjemnitZklamatZkoumatZkratkaZkumavkaZlatoZlehkaZlobaZlomZlostZlozvykZmapovatZmarZmatekZmijeZmizetZmocnitZmodratZmrzlinaZmutovatZnakZnalostZnamenatZnovuZobrazitZotavitZoubekZoufaleZploditZpomalitZpravaZprostitZprudkaZprvuZradaZranitZrcadloZrnitostZrnoZrovnaZrychlitZrzavostZtichaZtratitZubovinaZubrZvednoutZvenkuZveselaZvonZvratZvukovodZvyk".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a"!==pt.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for en (English) FAILED")}var s=new(function(e){function r(){return e.call(this,"cz")||this}return o(r,e),r.prototype.getWord=function(e){return a(this),i[e]},r.prototype.getWordIndex=function(e){return a(this),i.indexOf(e)},r}(pt.Wordlist));t.langCz=s,pt.Wordlist.register(s)}))),vt=(t(gt),gt.langCz,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=null;function a(e){if(null==i&&(i="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==pt.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for en (English) FAILED")}var s=new(function(e){function r(){return e.call(this,"en")||this}return o(r,e),r.prototype.getWord=function(e){return a(this),i[e]},r.prototype.getWordIndex=function(e){return a(this),i.indexOf(e)},r}(pt.Wordlist));t.langEn=s,pt.Wordlist.register(s)}))),mt=(t(vt),vt.langEn,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i={},a=null;function s(e){return pt.logger.checkNormalize(),X.toUtf8String(Array.prototype.filter.call(X.toUtf8Bytes(e.normalize("NFD").toLowerCase()),(function(e){return e>=65&&e<=90||e>=97&&e<=123})))}function u(e){if(null==a&&((a="A/bacoAbdomenAbejaAbiertoAbogadoAbonoAbortoAbrazoAbrirAbueloAbusoAcabarAcademiaAccesoAccio/nAceiteAcelgaAcentoAceptarA/cidoAclararAcne/AcogerAcosoActivoActoActrizActuarAcudirAcuerdoAcusarAdictoAdmitirAdoptarAdornoAduanaAdultoAe/reoAfectarAficio/nAfinarAfirmarA/gilAgitarAgoni/aAgostoAgotarAgregarAgrioAguaAgudoA/guilaAgujaAhogoAhorroAireAislarAjedrezAjenoAjusteAlacra/nAlambreAlarmaAlbaA/lbumAlcaldeAldeaAlegreAlejarAlertaAletaAlfilerAlgaAlgodo/nAliadoAlientoAlivioAlmaAlmejaAlmi/barAltarAltezaAltivoAltoAlturaAlumnoAlzarAmableAmanteAmapolaAmargoAmasarA/mbarA/mbitoAmenoAmigoAmistadAmorAmparoAmplioAnchoAncianoAnclaAndarAnde/nAnemiaA/nguloAnilloA/nimoAni/sAnotarAntenaAntiguoAntojoAnualAnularAnuncioA~adirA~ejoA~oApagarAparatoApetitoApioAplicarApodoAporteApoyoAprenderAprobarApuestaApuroAradoAra~aArarA/rbitroA/rbolArbustoArchivoArcoArderArdillaArduoA/reaA/ridoAriesArmoni/aArne/sAromaArpaArpo/nArregloArrozArrugaArteArtistaAsaAsadoAsaltoAscensoAsegurarAseoAsesorAsientoAsiloAsistirAsnoAsombroA/speroAstillaAstroAstutoAsumirAsuntoAtajoAtaqueAtarAtentoAteoA/ticoAtletaA/tomoAtraerAtrozAtu/nAudazAudioAugeAulaAumentoAusenteAutorAvalAvanceAvaroAveAvellanaAvenaAvestruzAvio/nAvisoAyerAyudaAyunoAzafra/nAzarAzoteAzu/carAzufreAzulBabaBaborBacheBahi/aBaileBajarBalanzaBalco/nBaldeBambu/BancoBandaBa~oBarbaBarcoBarnizBarroBa/sculaBasto/nBasuraBatallaBateri/aBatirBatutaBau/lBazarBebe/BebidaBelloBesarBesoBestiaBichoBienBingoBlancoBloqueBlusaBoaBobinaBoboBocaBocinaBodaBodegaBoinaBolaBoleroBolsaBombaBondadBonitoBonoBonsa/iBordeBorrarBosqueBoteBoti/nBo/vedaBozalBravoBrazoBrechaBreveBrilloBrincoBrisaBrocaBromaBronceBroteBrujaBruscoBrutoBuceoBucleBuenoBueyBufandaBufo/nBu/hoBuitreBultoBurbujaBurlaBurroBuscarButacaBuzo/nCaballoCabezaCabinaCabraCacaoCada/verCadenaCaerCafe/Cai/daCaima/nCajaCajo/nCalCalamarCalcioCaldoCalidadCalleCalmaCalorCalvoCamaCambioCamelloCaminoCampoCa/ncerCandilCanelaCanguroCanicaCantoCa~aCa~o/nCaobaCaosCapazCapita/nCapoteCaptarCapuchaCaraCarbo/nCa/rcelCaretaCargaCari~oCarneCarpetaCarroCartaCasaCascoCaseroCaspaCastorCatorceCatreCaudalCausaCazoCebollaCederCedroCeldaCe/lebreCelosoCe/lulaCementoCenizaCentroCercaCerdoCerezaCeroCerrarCertezaCe/spedCetroChacalChalecoChampu/ChanclaChapaCharlaChicoChisteChivoChoqueChozaChuletaChuparCiclo/nCiegoCieloCienCiertoCifraCigarroCimaCincoCineCintaCipre/sCircoCiruelaCisneCitaCiudadClamorClanClaroClaseClaveClienteClimaCli/nicaCobreCoccio/nCochinoCocinaCocoCo/digoCodoCofreCogerCoheteCoji/nCojoColaColchaColegioColgarColinaCollarColmoColumnaCombateComerComidaCo/modoCompraCondeConejoCongaConocerConsejoContarCopaCopiaCorazo/nCorbataCorchoCordo/nCoronaCorrerCoserCosmosCostaCra/neoCra/terCrearCrecerCrei/doCremaCri/aCrimenCriptaCrisisCromoCro/nicaCroquetaCrudoCruzCuadroCuartoCuatroCuboCubrirCucharaCuelloCuentoCuerdaCuestaCuevaCuidarCulebraCulpaCultoCumbreCumplirCunaCunetaCuotaCupo/nCu/pulaCurarCuriosoCursoCurvaCutisDamaDanzaDarDardoDa/tilDeberDe/bilDe/cadaDecirDedoDefensaDefinirDejarDelfi/nDelgadoDelitoDemoraDensoDentalDeporteDerechoDerrotaDesayunoDeseoDesfileDesnudoDestinoDesvi/oDetalleDetenerDeudaDi/aDiabloDiademaDiamanteDianaDiarioDibujoDictarDienteDietaDiezDifi/cilDignoDilemaDiluirDineroDirectoDirigirDiscoDise~oDisfrazDivaDivinoDobleDoceDolorDomingoDonDonarDoradoDormirDorsoDosDosisDrago/nDrogaDuchaDudaDueloDue~oDulceDu/oDuqueDurarDurezaDuroE/banoEbrioEcharEcoEcuadorEdadEdicio/nEdificioEditorEducarEfectoEficazEjeEjemploElefanteElegirElementoElevarElipseE/liteElixirElogioEludirEmbudoEmitirEmocio/nEmpateEmpe~oEmpleoEmpresaEnanoEncargoEnchufeEnci/aEnemigoEneroEnfadoEnfermoEnga~oEnigmaEnlaceEnormeEnredoEnsayoEnse~arEnteroEntrarEnvaseEnvi/oE/pocaEquipoErizoEscalaEscenaEscolarEscribirEscudoEsenciaEsferaEsfuerzoEspadaEspejoEspi/aEsposaEspumaEsqui/EstarEsteEstiloEstufaEtapaEternoE/ticaEtniaEvadirEvaluarEventoEvitarExactoExamenExcesoExcusaExentoExigirExilioExistirE/xitoExpertoExplicarExponerExtremoFa/bricaFa/bulaFachadaFa/cilFactorFaenaFajaFaldaFalloFalsoFaltarFamaFamiliaFamosoFarao/nFarmaciaFarolFarsaFaseFatigaFaunaFavorFaxFebreroFechaFelizFeoFeriaFerozFe/rtilFervorFesti/nFiableFianzaFiarFibraFiccio/nFichaFideoFiebreFielFieraFiestaFiguraFijarFijoFilaFileteFilialFiltroFinFincaFingirFinitoFirmaFlacoFlautaFlechaFlorFlotaFluirFlujoFlu/orFobiaFocaFogataFogo/nFolioFolletoFondoFormaForroFortunaForzarFosaFotoFracasoFra/gilFranjaFraseFraudeFrei/rFrenoFresaFri/oFritoFrutaFuegoFuenteFuerzaFugaFumarFuncio/nFundaFurgo/nFuriaFusilFu/tbolFuturoGacelaGafasGaitaGajoGalaGaleri/aGalloGambaGanarGanchoGangaGansoGarajeGarzaGasolinaGastarGatoGavila/nGemeloGemirGenGe/neroGenioGenteGeranioGerenteGermenGestoGiganteGimnasioGirarGiroGlaciarGloboGloriaGolGolfoGolosoGolpeGomaGordoGorilaGorraGotaGoteoGozarGradaGra/ficoGranoGrasaGratisGraveGrietaGrilloGripeGrisGritoGrosorGru/aGruesoGrumoGrupoGuanteGuapoGuardiaGuerraGui/aGui~oGuionGuisoGuitarraGusanoGustarHaberHa/bilHablarHacerHachaHadaHallarHamacaHarinaHazHaza~aHebillaHebraHechoHeladoHelioHembraHerirHermanoHe/roeHervirHieloHierroHi/gadoHigieneHijoHimnoHistoriaHocicoHogarHogueraHojaHombreHongoHonorHonraHoraHormigaHornoHostilHoyoHuecoHuelgaHuertaHuesoHuevoHuidaHuirHumanoHu/medoHumildeHumoHundirHuraca/nHurtoIconoIdealIdiomaI/doloIglesiaIglu/IgualIlegalIlusio/nImagenIma/nImitarImparImperioImponerImpulsoIncapazI/ndiceInerteInfielInformeIngenioInicioInmensoInmuneInnatoInsectoInstanteIntere/sI/ntimoIntuirInu/tilInviernoIraIrisIroni/aIslaIsloteJabali/Jabo/nJamo/nJarabeJardi/nJarraJaulaJazmi/nJefeJeringaJineteJornadaJorobaJovenJoyaJuergaJuevesJuezJugadorJugoJugueteJuicioJuncoJunglaJunioJuntarJu/piterJurarJustoJuvenilJuzgarKiloKoalaLabioLacioLacraLadoLadro/nLagartoLa/grimaLagunaLaicoLamerLa/minaLa/mparaLanaLanchaLangostaLanzaLa/pizLargoLarvaLa/stimaLataLa/texLatirLaurelLavarLazoLealLeccio/nLecheLectorLeerLegio/nLegumbreLejanoLenguaLentoLe~aLeo/nLeopardoLesio/nLetalLetraLeveLeyendaLibertadLibroLicorLi/derLidiarLienzoLigaLigeroLimaLi/miteLimo/nLimpioLinceLindoLi/neaLingoteLinoLinternaLi/quidoLisoListaLiteraLitioLitroLlagaLlamaLlantoLlaveLlegarLlenarLlevarLlorarLloverLluviaLoboLocio/nLocoLocuraLo/gicaLogroLombrizLomoLonjaLoteLuchaLucirLugarLujoLunaLunesLupaLustroLutoLuzMacetaMachoMaderaMadreMaduroMaestroMafiaMagiaMagoMai/zMaldadMaletaMallaMaloMama/MamboMamutMancoMandoManejarMangaManiqui/ManjarManoMansoMantaMa~anaMapaMa/quinaMarMarcoMareaMarfilMargenMaridoMa/rmolMarro/nMartesMarzoMasaMa/scaraMasivoMatarMateriaMatizMatrizMa/ximoMayorMazorcaMechaMedallaMedioMe/dulaMejillaMejorMelenaMelo/nMemoriaMenorMensajeMenteMenu/MercadoMerengueMe/ritoMesMeso/nMetaMeterMe/todoMetroMezclaMiedoMielMiembroMigaMilMilagroMilitarMillo/nMimoMinaMineroMi/nimoMinutoMiopeMirarMisaMiseriaMisilMismoMitadMitoMochilaMocio/nModaModeloMohoMojarMoldeMolerMolinoMomentoMomiaMonarcaMonedaMonjaMontoMo~oMoradaMorderMorenoMorirMorroMorsaMortalMoscaMostrarMotivoMoverMo/vilMozoMuchoMudarMuebleMuelaMuerteMuestraMugreMujerMulaMuletaMultaMundoMu~ecaMuralMuroMu/sculoMuseoMusgoMu/sicaMusloNa/carNacio/nNadarNaipeNaranjaNarizNarrarNasalNatalNativoNaturalNa/useaNavalNaveNavidadNecioNe/ctarNegarNegocioNegroNeo/nNervioNetoNeutroNevarNeveraNichoNidoNieblaNietoNi~ezNi~oNi/tidoNivelNoblezaNocheNo/minaNoriaNormaNorteNotaNoticiaNovatoNovelaNovioNubeNucaNu/cleoNudilloNudoNueraNueveNuezNuloNu/meroNutriaOasisObesoObispoObjetoObraObreroObservarObtenerObvioOcaOcasoOce/anoOchentaOchoOcioOcreOctavoOctubreOcultoOcuparOcurrirOdiarOdioOdiseaOesteOfensaOfertaOficioOfrecerOgroOi/doOi/rOjoOlaOleadaOlfatoOlivoOllaOlmoOlorOlvidoOmbligoOndaOnzaOpacoOpcio/nO/peraOpinarOponerOptarO/pticaOpuestoOracio/nOradorOralO/rbitaOrcaOrdenOrejaO/rganoOrgi/aOrgulloOrienteOrigenOrillaOroOrquestaOrugaOsadi/aOscuroOseznoOsoOstraOto~oOtroOvejaO/vuloO/xidoOxi/genoOyenteOzonoPactoPadrePaellaPa/ginaPagoPai/sPa/jaroPalabraPalcoPaletaPa/lidoPalmaPalomaPalparPanPanalPa/nicoPanteraPa~ueloPapa/PapelPapillaPaquetePararParcelaParedParirParoPa/rpadoParquePa/rrafoPartePasarPaseoPasio/nPasoPastaPataPatioPatriaPausaPautaPavoPayasoPeato/nPecadoPeceraPechoPedalPedirPegarPeinePelarPelda~oPeleaPeligroPellejoPeloPelucaPenaPensarPe~o/nPeo/nPeorPepinoPeque~oPeraPerchaPerderPerezaPerfilPericoPerlaPermisoPerroPersonaPesaPescaPe/simoPesta~aPe/taloPetro/leoPezPezu~aPicarPicho/nPiePiedraPiernaPiezaPijamaPilarPilotoPimientaPinoPintorPinzaPi~aPiojoPipaPirataPisarPiscinaPisoPistaPito/nPizcaPlacaPlanPlataPlayaPlazaPleitoPlenoPlomoPlumaPluralPobrePocoPoderPodioPoemaPoesi/aPoetaPolenPolici/aPolloPolvoPomadaPomeloPomoPompaPonerPorcio/nPortalPosadaPoseerPosiblePostePotenciaPotroPozoPradoPrecozPreguntaPremioPrensaPresoPrevioPrimoPri/ncipePrisio/nPrivarProaProbarProcesoProductoProezaProfesorProgramaProlePromesaProntoPropioPro/ximoPruebaPu/blicoPucheroPudorPuebloPuertaPuestoPulgaPulirPulmo/nPulpoPulsoPumaPuntoPu~alPu~oPupaPupilaPure/QuedarQuejaQuemarQuererQuesoQuietoQui/micaQuinceQuitarRa/banoRabiaRaboRacio/nRadicalRai/zRamaRampaRanchoRangoRapazRa/pidoRaptoRasgoRaspaRatoRayoRazaRazo/nReaccio/nRealidadReba~oReboteRecaerRecetaRechazoRecogerRecreoRectoRecursoRedRedondoReducirReflejoReformaRefra/nRefugioRegaloRegirReglaRegresoRehe/nReinoRei/rRejaRelatoRelevoRelieveRellenoRelojRemarRemedioRemoRencorRendirRentaRepartoRepetirReposoReptilResRescateResinaRespetoRestoResumenRetiroRetornoRetratoReunirReve/sRevistaReyRezarRicoRiegoRiendaRiesgoRifaRi/gidoRigorRinco/nRi~o/nRi/oRiquezaRisaRitmoRitoRizoRobleRoceRociarRodarRodeoRodillaRoerRojizoRojoRomeroRomperRonRoncoRondaRopaRoperoRosaRoscaRostroRotarRubi/RuborRudoRuedaRugirRuidoRuinaRuletaRuloRumboRumorRupturaRutaRutinaSa/badoSaberSabioSableSacarSagazSagradoSalaSaldoSaleroSalirSalmo/nSalo/nSalsaSaltoSaludSalvarSambaSancio/nSandi/aSanearSangreSanidadSanoSantoSapoSaqueSardinaSarte/nSastreSata/nSaunaSaxofo/nSeccio/nSecoSecretoSectaSedSeguirSeisSelloSelvaSemanaSemillaSendaSensorSe~alSe~orSepararSepiaSequi/aSerSerieSermo/nServirSesentaSesio/nSetaSetentaSeveroSexoSextoSidraSiestaSieteSigloSignoSi/labaSilbarSilencioSillaSi/mboloSimioSirenaSistemaSitioSituarSobreSocioSodioSolSolapaSoldadoSoledadSo/lidoSoltarSolucio/nSombraSondeoSonidoSonoroSonrisaSopaSoplarSoporteSordoSorpresaSorteoSoste/nSo/tanoSuaveSubirSucesoSudorSuegraSueloSue~oSuerteSufrirSujetoSulta/nSumarSuperarSuplirSuponerSupremoSurSurcoSure~oSurgirSustoSutilTabacoTabiqueTablaTabu/TacoTactoTajoTalarTalcoTalentoTallaTalo/nTama~oTamborTangoTanqueTapaTapeteTapiaTapo/nTaquillaTardeTareaTarifaTarjetaTarotTarroTartaTatuajeTauroTazaTazo/nTeatroTechoTeclaTe/cnicaTejadoTejerTejidoTelaTele/fonoTemaTemorTemploTenazTenderTenerTenisTensoTeori/aTerapiaTercoTe/rminoTernuraTerrorTesisTesoroTestigoTeteraTextoTezTibioTiburo/nTiempoTiendaTierraTiesoTigreTijeraTildeTimbreTi/midoTimoTintaTi/oTi/picoTipoTiraTiro/nTita/nTi/tereTi/tuloTizaToallaTobilloTocarTocinoTodoTogaToldoTomarTonoTontoToparTopeToqueTo/raxToreroTormentaTorneoToroTorpedoTorreTorsoTortugaTosToscoToserTo/xicoTrabajoTractorTraerTra/ficoTragoTrajeTramoTranceTratoTraumaTrazarTre/bolTreguaTreintaTrenTreparTresTribuTrigoTripaTristeTriunfoTrofeoTrompaTroncoTropaTroteTrozoTrucoTruenoTrufaTuberi/aTuboTuertoTumbaTumorTu/nelTu/nicaTurbinaTurismoTurnoTutorUbicarU/lceraUmbralUnidadUnirUniversoUnoUntarU~aUrbanoUrbeUrgenteUrnaUsarUsuarioU/tilUtopi/aUvaVacaVaci/oVacunaVagarVagoVainaVajillaValeVa/lidoValleValorVa/lvulaVampiroVaraVariarVaro/nVasoVecinoVectorVehi/culoVeinteVejezVelaVeleroVelozVenaVencerVendaVenenoVengarVenirVentaVenusVerVeranoVerboVerdeVeredaVerjaVersoVerterVi/aViajeVibrarVicioVi/ctimaVidaVi/deoVidrioViejoViernesVigorVilVillaVinagreVinoVi~edoVioli/nViralVirgoVirtudVisorVi/speraVistaVitaminaViudoVivazViveroVivirVivoVolca/nVolumenVolverVorazVotarVotoVozVueloVulgarYacerYateYeguaYemaYernoYesoYodoYogaYogurZafiroZanjaZapatoZarzaZonaZorroZumoZurdo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map((function(e){return r=e,t=[],Array.prototype.forEach.call(X.toUtf8Bytes(r),(function(e){47===e?(t.push(204),t.push(129)):126===e?(t.push(110),t.push(204),t.push(131)):t.push(e)})),X.toUtf8String(t);var r,t}))).forEach((function(e,r){i[s(e)]=r})),"0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300"!==pt.Wordlist.check(e)))throw a=null,new Error("BIP39 Wordlist for es (Spanish) FAILED")}var l=new(function(e){function r(){return e.call(this,"es")||this}return o(r,e),r.prototype.getWord=function(e){return u(this),a[e]},r.prototype.getWordIndex=function(e){u(this);var r=i[s(e)];return"number"!=typeof r?-1:r},r}(pt.Wordlist));t.langEs=l,pt.Wordlist.register(l)}))),bt=(t(mt),mt.langEs,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=null,a={};function s(e){return pt.logger.checkNormalize(),X.toUtf8String(Array.prototype.filter.call(X.toUtf8Bytes(e.normalize("NFD").toLowerCase()),(function(e){return e>=65&&e<=90||e>=97&&e<=123})))}function u(e){if(null==i&&((i="AbaisserAbandonAbdiquerAbeilleAbolirAborderAboutirAboyerAbrasifAbreuverAbriterAbrogerAbruptAbsenceAbsoluAbsurdeAbusifAbyssalAcade/mieAcajouAcarienAccablerAccepterAcclamerAccoladeAccrocheAccuserAcerbeAchatAcheterAcidulerAcierAcompteAcque/rirAcronymeActeurActifActuelAdepteAde/quatAdhe/sifAdjectifAdjugerAdmettreAdmirerAdopterAdorerAdoucirAdresseAdroitAdulteAdverbeAe/rerAe/ronefAffaireAffecterAfficheAffreuxAffublerAgacerAgencerAgileAgiterAgraferAgre/ableAgrumeAiderAiguilleAilierAimableAisanceAjouterAjusterAlarmerAlchimieAlerteAlge-breAlgueAlie/nerAlimentAlle/gerAlliageAllouerAllumerAlourdirAlpagaAltesseAlve/oleAmateurAmbiguAmbreAme/nagerAmertumeAmidonAmiralAmorcerAmourAmovibleAmphibieAmpleurAmusantAnalyseAnaphoreAnarchieAnatomieAncienAne/antirAngleAngoisseAnguleuxAnimalAnnexerAnnonceAnnuelAnodinAnomalieAnonymeAnormalAntenneAntidoteAnxieuxApaiserApe/ritifAplanirApologieAppareilAppelerApporterAppuyerAquariumAqueducArbitreArbusteArdeurArdoiseArgentArlequinArmatureArmementArmoireArmureArpenterArracherArriverArroserArsenicArte/rielArticleAspectAsphalteAspirerAssautAsservirAssietteAssocierAssurerAsticotAstreAstuceAtelierAtomeAtriumAtroceAttaqueAttentifAttirerAttraperAubaineAubergeAudaceAudibleAugurerAuroreAutomneAutrucheAvalerAvancerAvariceAvenirAverseAveugleAviateurAvideAvionAviserAvoineAvouerAvrilAxialAxiomeBadgeBafouerBagageBaguetteBaignadeBalancerBalconBaleineBalisageBambinBancaireBandageBanlieueBannie-reBanquierBarbierBarilBaronBarqueBarrageBassinBastionBatailleBateauBatterieBaudrierBavarderBeletteBe/lierBeloteBe/ne/ficeBerceauBergerBerlineBermudaBesaceBesogneBe/tailBeurreBiberonBicycleBiduleBijouBilanBilingueBillardBinaireBiologieBiopsieBiotypeBiscuitBisonBistouriBitumeBizarreBlafardBlagueBlanchirBlessantBlinderBlondBloquerBlousonBobardBobineBoireBoiserBolideBonbonBondirBonheurBonifierBonusBordureBorneBotteBoucleBoueuxBougieBoulonBouquinBourseBoussoleBoutiqueBoxeurBrancheBrasierBraveBrebisBre-cheBreuvageBricolerBrigadeBrillantBriocheBriqueBrochureBroderBronzerBrousseBroyeurBrumeBrusqueBrutalBruyantBuffleBuissonBulletinBureauBurinBustierButinerButoirBuvableBuvetteCabanonCabineCachetteCadeauCadreCafe/ineCaillouCaissonCalculerCalepinCalibreCalmerCalomnieCalvaireCamaradeCame/raCamionCampagneCanalCanetonCanonCantineCanularCapableCaporalCapriceCapsuleCapterCapucheCarabineCarboneCaresserCaribouCarnageCarotteCarreauCartonCascadeCasierCasqueCassureCauserCautionCavalierCaverneCaviarCe/dilleCeintureCe/lesteCelluleCendrierCensurerCentralCercleCe/re/bralCeriseCernerCerveauCesserChagrinChaiseChaleurChambreChanceChapitreCharbonChasseurChatonChaussonChavirerChemiseChenilleChe/quierChercherChevalChienChiffreChignonChime-reChiotChlorureChocolatChoisirChoseChouetteChromeChuteCigareCigogneCimenterCine/maCintrerCirculerCirerCirqueCiterneCitoyenCitronCivilClaironClameurClaquerClasseClavierClientClignerClimatClivageClocheClonageCloporteCobaltCobraCocasseCocotierCoderCodifierCoffreCognerCohe/sionCoifferCoincerCole-reColibriCollineColmaterColonelCombatCome/dieCommandeCompactConcertConduireConfierCongelerConnoterConsonneContactConvexeCopainCopieCorailCorbeauCordageCornicheCorpusCorrectCorte-geCosmiqueCostumeCotonCoudeCoupureCourageCouteauCouvrirCoyoteCrabeCrainteCravateCrayonCre/atureCre/diterCre/meuxCreuserCrevetteCriblerCrierCristalCrite-reCroireCroquerCrotaleCrucialCruelCrypterCubiqueCueillirCuille-reCuisineCuivreCulminerCultiverCumulerCupideCuratifCurseurCyanureCycleCylindreCyniqueDaignerDamierDangerDanseurDauphinDe/battreDe/biterDe/borderDe/briderDe/butantDe/calerDe/cembreDe/chirerDe/ciderDe/clarerDe/corerDe/crireDe/cuplerDe/daleDe/ductifDe/esseDe/fensifDe/filerDe/frayerDe/gagerDe/givrerDe/glutirDe/graferDe/jeunerDe/liceDe/logerDemanderDemeurerDe/molirDe/nicherDe/nouerDentelleDe/nuderDe/partDe/penserDe/phaserDe/placerDe/poserDe/rangerDe/roberDe/sastreDescenteDe/sertDe/signerDe/sobe/irDessinerDestrierDe/tacherDe/testerDe/tourerDe/tresseDevancerDevenirDevinerDevoirDiableDialogueDiamantDicterDiffe/rerDige/rerDigitalDigneDiluerDimancheDiminuerDioxydeDirectifDirigerDiscuterDisposerDissiperDistanceDivertirDiviserDocileDocteurDogmeDoigtDomaineDomicileDompterDonateurDonjonDonnerDopamineDortoirDorureDosageDoseurDossierDotationDouanierDoubleDouceurDouterDoyenDragonDraperDresserDribblerDroitureDuperieDuplexeDurableDurcirDynastieE/blouirE/carterE/charpeE/chelleE/clairerE/clipseE/cloreE/cluseE/coleE/conomieE/corceE/couterE/craserE/cre/merE/crivainE/crouE/cumeE/cureuilE/difierE/duquerEffacerEffectifEffigieEffortEffrayerEffusionE/galiserE/garerE/jecterE/laborerE/largirE/lectronE/le/gantE/le/phantE/le-veE/ligibleE/litismeE/logeE/luciderE/luderEmballerEmbellirEmbryonE/meraudeE/missionEmmenerE/motionE/mouvoirEmpereurEmployerEmporterEmpriseE/mulsionEncadrerEnche-reEnclaveEncocheEndiguerEndosserEndroitEnduireE/nergieEnfanceEnfermerEnfouirEngagerEnginEngloberE/nigmeEnjamberEnjeuEnleverEnnemiEnnuyeuxEnrichirEnrobageEnseigneEntasserEntendreEntierEntourerEntraverE/nume/rerEnvahirEnviableEnvoyerEnzymeE/olienE/paissirE/pargneE/patantE/pauleE/picerieE/pide/mieE/pierE/pilogueE/pineE/pisodeE/pitapheE/poqueE/preuveE/prouverE/puisantE/querreE/quipeE/rigerE/rosionErreurE/ruptionEscalierEspadonEspe-ceEspie-gleEspoirEspritEsquiverEssayerEssenceEssieuEssorerEstimeEstomacEstradeE/tage-reE/talerE/tancheE/tatiqueE/teindreE/tendoirE/ternelE/thanolE/thiqueEthnieE/tirerE/tofferE/toileE/tonnantE/tourdirE/trangeE/troitE/tudeEuphorieE/valuerE/vasionE/ventailE/videnceE/viterE/volutifE/voquerExactExage/rerExaucerExcellerExcitantExclusifExcuseExe/cuterExempleExercerExhalerExhorterExigenceExilerExisterExotiqueExpe/dierExplorerExposerExprimerExquisExtensifExtraireExulterFableFabuleuxFacetteFacileFactureFaiblirFalaiseFameuxFamilleFarceurFarfeluFarineFaroucheFascinerFatalFatigueFauconFautifFaveurFavoriFe/brileFe/conderFe/de/rerFe/linFemmeFe/murFendoirFe/odalFermerFe/roceFerveurFestivalFeuilleFeutreFe/vrierFiascoFicelerFictifFide-leFigureFilatureFiletageFilie-reFilleulFilmerFilouFiltrerFinancerFinirFioleFirmeFissureFixerFlairerFlammeFlasqueFlatteurFle/auFle-cheFleurFlexionFloconFloreFluctuerFluideFluvialFolieFonderieFongibleFontaineForcerForgeronFormulerFortuneFossileFoudreFouge-reFouillerFoulureFourmiFragileFraiseFranchirFrapperFrayeurFre/gateFreinerFrelonFre/mirFre/ne/sieFre-reFriableFrictionFrissonFrivoleFroidFromageFrontalFrotterFruitFugitifFuiteFureurFurieuxFurtifFusionFuturGagnerGalaxieGalerieGambaderGarantirGardienGarnirGarrigueGazelleGazonGe/antGe/latineGe/luleGendarmeGe/ne/ralGe/nieGenouGentilGe/ologieGe/ome-treGe/raniumGermeGestuelGeyserGibierGiclerGirafeGivreGlaceGlaiveGlisserGlobeGloireGlorieuxGolfeurGommeGonflerGorgeGorilleGoudronGouffreGoulotGoupilleGourmandGoutteGraduelGraffitiGraineGrandGrappinGratuitGravirGrenatGriffureGrillerGrimperGrognerGronderGrotteGroupeGrugerGrutierGruye-reGue/pardGuerrierGuideGuimauveGuitareGustatifGymnasteGyrostatHabitudeHachoirHalteHameauHangarHannetonHaricotHarmonieHarponHasardHe/liumHe/matomeHerbeHe/rissonHermineHe/ronHe/siterHeureuxHibernerHibouHilarantHistoireHiverHomardHommageHomoge-neHonneurHonorerHonteuxHordeHorizonHorlogeHormoneHorribleHouleuxHousseHublotHuileuxHumainHumbleHumideHumourHurlerHydromelHygie-neHymneHypnoseIdylleIgnorerIguaneIlliciteIllusionImageImbiberImiterImmenseImmobileImmuableImpactImpe/rialImplorerImposerImprimerImputerIncarnerIncendieIncidentInclinerIncoloreIndexerIndiceInductifIne/ditIneptieInexactInfiniInfligerInformerInfusionInge/rerInhalerInhiberInjecterInjureInnocentInoculerInonderInscrireInsecteInsigneInsoliteInspirerInstinctInsulterIntactIntenseIntimeIntrigueIntuitifInutileInvasionInventerInviterInvoquerIroniqueIrradierIrre/elIrriterIsolerIvoireIvresseJaguarJaillirJambeJanvierJardinJaugerJauneJavelotJetableJetonJeudiJeunesseJoindreJoncherJonglerJoueurJouissifJournalJovialJoyauJoyeuxJubilerJugementJuniorJuponJuristeJusticeJuteuxJuve/nileKayakKimonoKiosqueLabelLabialLabourerLace/rerLactoseLaguneLaineLaisserLaitierLambeauLamelleLampeLanceurLangageLanterneLapinLargeurLarmeLaurierLavaboLavoirLectureLe/galLe/gerLe/gumeLessiveLettreLevierLexiqueLe/zardLiasseLibe/rerLibreLicenceLicorneLie-geLie-vreLigatureLigoterLigueLimerLimiteLimonadeLimpideLine/aireLingotLionceauLiquideLisie-reListerLithiumLitigeLittoralLivreurLogiqueLointainLoisirLombricLoterieLouerLourdLoutreLouveLoyalLubieLucideLucratifLueurLugubreLuisantLumie-reLunaireLundiLuronLutterLuxueuxMachineMagasinMagentaMagiqueMaigreMaillonMaintienMairieMaisonMajorerMalaxerMale/ficeMalheurMaliceMalletteMammouthMandaterManiableManquantManteauManuelMarathonMarbreMarchandMardiMaritimeMarqueurMarronMartelerMascotteMassifMate/rielMatie-reMatraqueMaudireMaussadeMauveMaximalMe/chantMe/connuMe/dailleMe/decinMe/diterMe/duseMeilleurMe/langeMe/lodieMembreMe/moireMenacerMenerMenhirMensongeMentorMercrediMe/riteMerleMessagerMesureMe/talMe/te/oreMe/thodeMe/tierMeubleMiaulerMicrobeMietteMignonMigrerMilieuMillionMimiqueMinceMine/ralMinimalMinorerMinuteMiracleMiroiterMissileMixteMobileModerneMoelleuxMondialMoniteurMonnaieMonotoneMonstreMontagneMonumentMoqueurMorceauMorsureMortierMoteurMotifMoucheMoufleMoulinMoussonMoutonMouvantMultipleMunitionMurailleMure-neMurmureMuscleMuse/umMusicienMutationMuterMutuelMyriadeMyrtilleMyste-reMythiqueNageurNappeNarquoisNarrerNatationNationNatureNaufrageNautiqueNavireNe/buleuxNectarNe/fasteNe/gationNe/gligerNe/gocierNeigeNerveuxNettoyerNeuroneNeutronNeveuNicheNickelNitrateNiveauNobleNocifNocturneNoirceurNoisetteNomadeNombreuxNommerNormatifNotableNotifierNotoireNourrirNouveauNovateurNovembreNoviceNuageNuancerNuireNuisibleNume/roNuptialNuqueNutritifObe/irObjectifObligerObscurObserverObstacleObtenirObturerOccasionOccuperOce/anOctobreOctroyerOctuplerOculaireOdeurOdorantOffenserOfficierOffrirOgiveOiseauOisillonOlfactifOlivierOmbrageOmettreOnctueuxOndulerOne/reuxOniriqueOpaleOpaqueOpe/rerOpinionOpportunOpprimerOpterOptiqueOrageuxOrangeOrbiteOrdonnerOreilleOrganeOrgueilOrificeOrnementOrqueOrtieOscillerOsmoseOssatureOtarieOuraganOursonOutilOutragerOuvrageOvationOxydeOxyge-neOzonePaisiblePalacePalmare-sPalourdePalperPanachePandaPangolinPaniquerPanneauPanoramaPantalonPapayePapierPapoterPapyrusParadoxeParcelleParesseParfumerParlerParoleParrainParsemerPartagerParureParvenirPassionPaste-quePaternelPatiencePatronPavillonPavoiserPayerPaysagePeignePeintrePelagePe/licanPellePelousePeluchePendulePe/ne/trerPe/niblePensifPe/nuriePe/pitePe/plumPerdrixPerforerPe/riodePermuterPerplexePersilPertePeserPe/talePetitPe/trirPeuplePharaonPhobiePhoquePhotonPhrasePhysiquePianoPicturalPie-cePierrePieuvrePilotePinceauPipettePiquerPiroguePiscinePistonPivoterPixelPizzaPlacardPlafondPlaisirPlanerPlaquePlastronPlateauPleurerPlexusPliagePlombPlongerPluiePlumagePochettePoe/siePoe-tePointePoirierPoissonPoivrePolairePolicierPollenPolygonePommadePompierPonctuelPonde/rerPoneyPortiquePositionPosse/derPosturePotagerPoteauPotionPoucePoulainPoumonPourprePoussinPouvoirPrairiePratiquePre/cieuxPre/direPre/fixePre/ludePre/nomPre/sencePre/textePre/voirPrimitifPrincePrisonPriverProble-meProce/derProdigeProfondProgre-sProieProjeterProloguePromenerPropreProspe-reProte/gerProuesseProverbePrudencePruneauPsychosePublicPuceronPuiserPulpePulsarPunaisePunitifPupitrePurifierPuzzlePyramideQuasarQuerelleQuestionQuie/tudeQuitterQuotientRacineRaconterRadieuxRagondinRaideurRaisinRalentirRallongeRamasserRapideRasageRatisserRavagerRavinRayonnerRe/actifRe/agirRe/aliserRe/animerRecevoirRe/citerRe/clamerRe/colterRecruterReculerRecyclerRe/digerRedouterRefaireRe/flexeRe/formerRefrainRefugeRe/galienRe/gionRe/glageRe/gulierRe/ite/rerRejeterRejouerRelatifReleverReliefRemarqueReme-deRemiseRemonterRemplirRemuerRenardRenfortReniflerRenoncerRentrerRenvoiReplierReporterRepriseReptileRequinRe/serveRe/sineuxRe/soudreRespectResterRe/sultatRe/tablirRetenirRe/ticuleRetomberRetracerRe/unionRe/ussirRevancheRevivreRe/volteRe/vulsifRichesseRideauRieurRigideRigolerRincerRiposterRisibleRisqueRituelRivalRivie-reRocheuxRomanceRompreRonceRondinRoseauRosierRotatifRotorRotuleRougeRouilleRouleauRoutineRoyaumeRubanRubisRucheRuelleRugueuxRuinerRuisseauRuserRustiqueRythmeSablerSaboterSabreSacocheSafariSagesseSaisirSaladeSaliveSalonSaluerSamediSanctionSanglierSarcasmeSardineSaturerSaugrenuSaumonSauterSauvageSavantSavonnerScalpelScandaleSce/le/ratSce/narioSceptreSche/maScienceScinderScoreScrutinSculpterSe/anceSe/cableSe/cherSecouerSe/cre/terSe/datifSe/duireSeigneurSe/jourSe/lectifSemaineSemblerSemenceSe/minalSe/nateurSensibleSentenceSe/parerSe/quenceSereinSergentSe/rieuxSerrureSe/rumServiceSe/sameSe/virSevrageSextupleSide/ralSie-cleSie/gerSifflerSigleSignalSilenceSiliciumSimpleSince-reSinistreSiphonSiropSismiqueSituerSkierSocialSocleSodiumSoigneuxSoldatSoleilSolitudeSolubleSombreSommeilSomnolerSondeSongeurSonnetteSonoreSorcierSortirSosieSottiseSoucieuxSoudureSouffleSouleverSoupapeSourceSoutirerSouvenirSpacieuxSpatialSpe/cialSphe-reSpiralStableStationSternumStimulusStipulerStrictStudieuxStupeurStylisteSublimeSubstratSubtilSubvenirSucce-sSucreSuffixeSugge/rerSuiveurSulfateSuperbeSupplierSurfaceSuricateSurmenerSurpriseSursautSurvieSuspectSyllabeSymboleSyme/trieSynapseSyntaxeSyste-meTabacTablierTactileTaillerTalentTalismanTalonnerTambourTamiserTangibleTapisTaquinerTarderTarifTartineTasseTatamiTatouageTaupeTaureauTaxerTe/moinTemporelTenailleTendreTeneurTenirTensionTerminerTerneTerribleTe/tineTexteThe-meThe/orieThe/rapieThoraxTibiaTie-deTimideTirelireTiroirTissuTitaneTitreTituberTobogganTole/rantTomateToniqueTonneauToponymeTorcheTordreTornadeTorpilleTorrentTorseTortueTotemToucherTournageTousserToxineTractionTraficTragiqueTrahirTrainTrancherTravailTre-fleTremperTre/sorTreuilTriageTribunalTricoterTrilogieTriompheTriplerTriturerTrivialTromboneTroncTropicalTroupeauTuileTulipeTumulteTunnelTurbineTuteurTutoyerTuyauTympanTyphonTypiqueTyranUbuesqueUltimeUltrasonUnanimeUnifierUnionUniqueUnitaireUniversUraniumUrbainUrticantUsageUsineUsuelUsureUtileUtopieVacarmeVaccinVagabondVagueVaillantVaincreVaisseauValableValiseVallonValveVampireVanilleVapeurVarierVaseuxVassalVasteVecteurVedetteVe/ge/talVe/hiculeVeinardVe/loceVendrediVe/ne/rerVengerVenimeuxVentouseVerdureVe/rinVernirVerrouVerserVertuVestonVe/te/ranVe/tusteVexantVexerViaducViandeVictoireVidangeVide/oVignetteVigueurVilainVillageVinaigreViolonVipe-reVirementVirtuoseVirusVisageViseurVisionVisqueuxVisuelVitalVitesseViticoleVitrineVivaceVivipareVocationVoguerVoileVoisinVoitureVolailleVolcanVoltigerVolumeVoraceVortexVoterVouloirVoyageVoyelleWagonXe/nonYachtZe-breZe/nithZesteZoologie".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map((function(e){return r=e,t=[],Array.prototype.forEach.call(X.toUtf8Bytes(r),(function(e){47===e?(t.push(204),t.push(129)):45===e?(t.push(204),t.push(128)):t.push(e)})),X.toUtf8String(t);var r,t}))).forEach((function(e,r){a[s(e)]=r})),"0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045"!==pt.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for fr (French) FAILED")}var l=new(function(e){function r(){return e.call(this,"fr")||this}return o(r,e),r.prototype.getWord=function(e){return u(this),i[e]},r.prototype.getWordIndex=function(e){u(this);var r=a[s(e)];return"number"!=typeof r?-1:r},r}(pt.Wordlist));t.langFr=l,pt.Wordlist.register(l)}))),yt=(t(bt),bt.langFr,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=["AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR","ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR","AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm","ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC","BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD","QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD","IJBEJqXZJ"],a=null;function s(e){return f.hexlify(X.toUtf8Bytes(e))}function u(e){if(null===a){a=[];var r={};r[X.toUtf8String([227,130,154])]=!1,r[X.toUtf8String([227,130,153])]=!1,r[X.toUtf8String([227,130,133])]=X.toUtf8String([227,130,134]),r[X.toUtf8String([227,129,163])]=X.toUtf8String([227,129,164]),r[X.toUtf8String([227,130,131])]=X.toUtf8String([227,130,132]),r[X.toUtf8String([227,130,135])]=X.toUtf8String([227,130,136]);for(var t=3;t<=9;t++)for(var n=i[t-3],o=0;or?1:0})),"0xe3818de38284e3818f"===s(a[442])&&"0xe3818de38283e3818f"===s(a[443])){var f=a[442];a[442]=a[443],a[443]=f}if("0xcb36b09e6baa935787fd762ce65e80b0c6a8dabdfbc3a7f86ac0e2c4fd111600"!==pt.Wordlist.check(e))throw a=null,new Error("BIP39 Wordlist for ja (Japanese) FAILED")}function h(e){for(var t="",n=0;n=40?i=i+168-40:i>=19&&(i=i+97-19),X.toUtf8String([225,132+(i>>6),128+(63&i)]));a.push(n)}var i})),a.sort(),"0xf9eddeace9c5d3da9c93cf7d3cd38f6a13ed3affb933259ae865714e8a3ae71a"!==pt.Wordlist.check(e)))throw a=null,new Error("BIP39 Wordlist for ko (Korean) FAILED")}var u=new(function(e){function r(){return e.call(this,"ko")||this}return o(r,e),r.prototype.getWord=function(e){return s(this),a[e]},r.prototype.getWordIndex=function(e){return s(this),a.indexOf(e)},r}(pt.Wordlist));t.langKo=u,pt.Wordlist.register(u)}))),St=(t(At),At.langKo,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i=null;function a(e){if(null==i&&(i="AbacoAbbaglioAbbinatoAbeteAbissoAbolireAbrasivoAbrogatoAccadereAccennoAccusatoAcetoneAchilleAcidoAcquaAcreAcrilicoAcrobataAcutoAdagioAddebitoAddomeAdeguatoAderireAdipeAdottareAdulareAffabileAffettoAffissoAffrantoAforismaAfosoAfricanoAgaveAgenteAgevoleAggancioAgireAgitareAgonismoAgricoloAgrumetoAguzzoAlabardaAlatoAlbatroAlberatoAlboAlbumeAlceAlcolicoAlettoneAlfaAlgebraAlianteAlibiAlimentoAllagatoAllegroAllievoAllodolaAllusivoAlmenoAlogenoAlpacaAlpestreAltalenaAlternoAlticcioAltroveAlunnoAlveoloAlzareAmalgamaAmanitaAmarenaAmbitoAmbratoAmebaAmericaAmetistaAmicoAmmassoAmmendaAmmirareAmmonitoAmoreAmpioAmpliareAmuletoAnacardoAnagrafeAnalistaAnarchiaAnatraAncaAncellaAncoraAndareAndreaAnelloAngeloAngolareAngustoAnimaAnnegareAnnidatoAnnoAnnuncioAnonimoAnticipoAnziApaticoAperturaApodeApparireAppetitoAppoggioApprodoAppuntoAprileArabicaArachideAragostaAraldicaArancioAraturaArazzoArbitroArchivioArditoArenileArgentoArgineArgutoAriaArmoniaArneseArredatoArringaArrostoArsenicoArsoArteficeArzilloAsciuttoAscoltoAsepsiAsetticoAsfaltoAsinoAsolaAspiratoAsproAssaggioAsseAssolutoAssurdoAstaAstenutoAsticeAstrattoAtavicoAteismoAtomicoAtonoAttesaAttivareAttornoAttritoAttualeAusilioAustriaAutistaAutonomoAutunnoAvanzatoAvereAvvenireAvvisoAvvolgereAzioneAzotoAzzimoAzzurroBabeleBaccanoBacinoBacoBadessaBadilataBagnatoBaitaBalconeBaldoBalenaBallataBalzanoBambinoBandireBaraondaBarbaroBarcaBaritonoBarlumeBaroccoBasilicoBassoBatostaBattutoBauleBavaBavosaBeccoBeffaBelgioBelvaBendaBenevoleBenignoBenzinaBereBerlinaBetaBibitaBiciBidoneBifidoBigaBilanciaBimboBinocoloBiologoBipedeBipolareBirbanteBirraBiscottoBisestoBisnonnoBisonteBisturiBizzarroBlandoBlattaBollitoBonificoBordoBoscoBotanicoBottinoBozzoloBraccioBradipoBramaBrancaBravuraBretellaBrevettoBrezzaBrigliaBrillanteBrindareBroccoloBrodoBronzinaBrulloBrunoBubboneBucaBudinoBuffoneBuioBulboBuonoBurloneBurrascaBussolaBustaCadettoCaducoCalamaroCalcoloCalesseCalibroCalmoCaloriaCambusaCamerataCamiciaCamminoCamolaCampaleCanapaCandelaCaneCaninoCanottoCantinaCapaceCapelloCapitoloCapogiroCapperoCapraCapsulaCarapaceCarcassaCardoCarismaCarovanaCarrettoCartolinaCasaccioCascataCasermaCasoCassoneCastelloCasualeCatastaCatenaCatrameCautoCavilloCedibileCedrataCefaloCelebreCellulareCenaCenoneCentesimoCeramicaCercareCertoCerumeCervelloCesoiaCespoCetoChelaChiaroChiccaChiedereChimeraChinaChirurgoChitarraCiaoCiclismoCifrareCignoCilindroCiottoloCircaCirrosiCitricoCittadinoCiuffoCivettaCivileClassicoClinicaCloroCoccoCodardoCodiceCoerenteCognomeCollareColmatoColoreColposoColtivatoColzaComaCometaCommandoComodoComputerComuneConcisoCondurreConfermaCongelareConiugeConnessoConoscereConsumoContinuoConvegnoCopertoCopioneCoppiaCopricapoCorazzaCordataCoricatoCorniceCorollaCorpoCorredoCorsiaCorteseCosmicoCostanteCotturaCovatoCratereCravattaCreatoCredereCremosoCrescitaCretaCricetoCrinaleCrisiCriticoCroceCronacaCrostataCrucialeCruscaCucireCuculoCuginoCullatoCupolaCuratoreCursoreCurvoCuscinoCustodeDadoDainoDalmataDamerinoDanielaDannosoDanzareDatatoDavantiDavveroDebuttoDecennioDecisoDeclinoDecolloDecretoDedicatoDefinitoDeformeDegnoDelegareDelfinoDelirioDeltaDemenzaDenotatoDentroDepositoDerapataDerivareDerogaDescrittoDesertoDesiderioDesumereDetersivoDevotoDiametroDicembreDiedroDifesoDiffusoDigerireDigitaleDiluvioDinamicoDinnanziDipintoDiplomaDipoloDiradareDireDirottoDirupoDisagioDiscretoDisfareDisgeloDispostoDistanzaDisumanoDitoDivanoDiveltoDividereDivoratoDobloneDocenteDoganaleDogmaDolceDomatoDomenicaDominareDondoloDonoDormireDoteDottoreDovutoDozzinaDragoDruidoDubbioDubitareDucaleDunaDuomoDupliceDuraturoEbanoEccessoEccoEclissiEconomiaEderaEdicolaEdileEditoriaEducareEgemoniaEgliEgoismoEgregioElaboratoElargireEleganteElencatoElettoElevareElficoElicaElmoElsaElusoEmanatoEmblemaEmessoEmiroEmotivoEmozioneEmpiricoEmuloEndemicoEnduroEnergiaEnfasiEnotecaEntrareEnzimaEpatiteEpilogoEpisodioEpocaleEppureEquatoreErarioErbaErbosoEredeEremitaErigereErmeticoEroeErosivoErranteEsagonoEsameEsanimeEsaudireEscaEsempioEsercitoEsibitoEsigenteEsistereEsitoEsofagoEsortatoEsosoEspansoEspressoEssenzaEssoEstesoEstimareEstoniaEstrosoEsultareEtilicoEtnicoEtruscoEttoEuclideoEuropaEvasoEvidenzaEvitatoEvolutoEvvivaFabbricaFaccendaFachiroFalcoFamigliaFanaleFanfaraFangoFantasmaFareFarfallaFarinosoFarmacoFasciaFastosoFasulloFaticareFatoFavolosoFebbreFecolaFedeFegatoFelpaFeltroFemminaFendereFenomenoFermentoFerroFertileFessuraFestivoFettaFeudoFiabaFiduciaFifaFiguratoFiloFinanzaFinestraFinireFioreFiscaleFisicoFiumeFlaconeFlamencoFleboFlemmaFloridoFluenteFluoroFobicoFocacciaFocosoFoderatoFoglioFolataFolcloreFolgoreFondenteFoneticoFoniaFontanaForbitoForchettaForestaFormicaFornaioForoFortezzaForzareFosfatoFossoFracassoFranaFrassinoFratelloFreccettaFrenataFrescoFrigoFrollinoFrondeFrugaleFruttaFucilataFucsiaFuggenteFulmineFulvoFumanteFumettoFumosoFuneFunzioneFuocoFurboFurgoneFuroreFusoFutileGabbianoGaffeGalateoGallinaGaloppoGamberoGammaGaranziaGarboGarofanoGarzoneGasdottoGasolioGastricoGattoGaudioGazeboGazzellaGecoGelatinaGelsoGemelloGemmatoGeneGenitoreGennaioGenotipoGergoGhepardoGhiaccioGhisaGialloGildaGineproGiocareGioielloGiornoGioveGiratoGironeGittataGiudizioGiuratoGiustoGlobuloGlutineGnomoGobbaGolfGomitoGommoneGonfioGonnaGovernoGracileGradoGraficoGrammoGrandeGrattareGravosoGraziaGrecaGreggeGrifoneGrigioGrinzaGrottaGruppoGuadagnoGuaioGuantoGuardareGufoGuidareIbernatoIconaIdenticoIdillioIdoloIdraIdricoIdrogenoIgieneIgnaroIgnoratoIlareIllesoIllogicoIlludereImballoImbevutoImboccoImbutoImmaneImmersoImmolatoImpaccoImpetoImpiegoImportoImprontaInalareInarcareInattivoIncantoIncendioInchinoIncisivoInclusoIncontroIncrocioIncuboIndagineIndiaIndoleIneditoInfattiInfilareInflittoIngaggioIngegnoIngleseIngordoIngrossoInnescoInodoreInoltrareInondatoInsanoInsettoInsiemeInsonniaInsulinaIntasatoInteroIntonacoIntuitoInumidireInvalidoInveceInvitoIperboleIpnoticoIpotesiIppicaIrideIrlandaIronicoIrrigatoIrrorareIsolatoIsotopoIstericoIstitutoIstriceItaliaIterareLabbroLabirintoLaccaLaceratoLacrimaLacunaLaddoveLagoLampoLancettaLanternaLardosoLargaLaringeLastraLatenzaLatinoLattugaLavagnaLavoroLegaleLeggeroLemboLentezzaLenzaLeoneLepreLesivoLessatoLestoLetteraleLevaLevigatoLiberoLidoLievitoLillaLimaturaLimitareLimpidoLineareLinguaLiquidoLiraLiricaLiscaLiteLitigioLivreaLocandaLodeLogicaLombareLondraLongevoLoquaceLorenzoLotoLotteriaLuceLucidatoLumacaLuminosoLungoLupoLuppoloLusingaLussoLuttoMacabroMacchinaMaceroMacinatoMadamaMagicoMagliaMagneteMagroMaiolicaMalafedeMalgradoMalintesoMalsanoMaltoMalumoreManaManciaMandorlaMangiareManifestoMannaroManovraMansardaMantideManubrioMappaMaratonaMarcireMarettaMarmoMarsupioMascheraMassaiaMastinoMaterassoMatricolaMattoneMaturoMazurcaMeandroMeccanicoMecenateMedesimoMeditareMegaMelassaMelisMelodiaMeningeMenoMensolaMercurioMerendaMerloMeschinoMeseMessereMestoloMetalloMetodoMettereMiagolareMicaMicelioMicheleMicroboMidolloMieleMiglioreMilanoMiliteMimosaMineraleMiniMinoreMirinoMirtilloMiscelaMissivaMistoMisurareMitezzaMitigareMitraMittenteMnemonicoModelloModificaModuloMoganoMogioMoleMolossoMonasteroMoncoMondinaMonetarioMonileMonotonoMonsoneMontatoMonvisoMoraMordereMorsicatoMostroMotivatoMotosegaMottoMovenzaMovimentoMozzoMuccaMucosaMuffaMughettoMugnaioMulattoMulinelloMultiploMummiaMuntoMuovereMuraleMusaMuscoloMusicaMutevoleMutoNababboNaftaNanometroNarcisoNariceNarratoNascereNastrareNaturaleNauticaNaviglioNebulosaNecrosiNegativoNegozioNemmenoNeofitaNerettoNervoNessunoNettunoNeutraleNeveNevroticoNicchiaNinfaNitidoNobileNocivoNodoNomeNominaNordicoNormaleNorvegeseNostranoNotareNotiziaNotturnoNovellaNucleoNullaNumeroNuovoNutrireNuvolaNuzialeOasiObbedireObbligoObeliscoOblioOboloObsoletoOccasioneOcchioOccidenteOccorrereOccultareOcraOculatoOdiernoOdorareOffertaOffrireOffuscatoOggettoOggiOgnunoOlandeseOlfattoOliatoOlivaOlogrammaOltreOmaggioOmbelicoOmbraOmegaOmissioneOndosoOnereOniceOnnivoroOnorevoleOntaOperatoOpinioneOppostoOracoloOrafoOrdineOrecchinoOreficeOrfanoOrganicoOrigineOrizzonteOrmaOrmeggioOrnativoOrologioOrrendoOrribileOrtensiaOrticaOrzataOrzoOsareOscurareOsmosiOspedaleOspiteOssaOssidareOstacoloOsteOtiteOtreOttagonoOttimoOttobreOvaleOvestOvinoOviparoOvocitoOvunqueOvviareOzioPacchettoPacePacificoPadellaPadronePaesePagaPaginaPalazzinaPalesarePallidoPaloPaludePandoroPannelloPaoloPaonazzoPapricaParabolaParcellaParerePargoloPariParlatoParolaPartireParvenzaParzialePassivoPasticcaPataccaPatologiaPattumePavonePeccatoPedalarePedonalePeggioPelosoPenarePendicePenisolaPennutoPenombraPensarePentolaPepePepitaPerbenePercorsoPerdonatoPerforarePergamenaPeriodoPermessoPernoPerplessoPersuasoPertugioPervasoPesatorePesistaPesoPestiferoPetaloPettinePetulantePezzoPiacerePiantaPiattinoPiccinoPicozzaPiegaPietraPifferoPigiamaPigolioPigroPilaPiliferoPillolaPilotaPimpantePinetaPinnaPinoloPioggiaPiomboPiramidePireticoPiritePirolisiPitonePizzicoPlaceboPlanarePlasmaPlatanoPlenarioPochezzaPoderosoPodismoPoesiaPoggiarePolentaPoligonoPollicePolmonitePolpettaPolsoPoltronaPolverePomicePomodoroPontePopolosoPorfidoPorosoPorporaPorrePortataPosaPositivoPossessoPostulatoPotassioPoterePranzoPrassiPraticaPreclusoPredicaPrefissoPregiatoPrelievoPremerePrenotarePreparatoPresenzaPretestoPrevalsoPrimaPrincipePrivatoProblemaProcuraProdurreProfumoProgettoProlungaPromessaPronomePropostaProrogaProtesoProvaPrudentePrugnaPruritoPsichePubblicoPudicaPugilatoPugnoPulcePulitoPulsantePuntarePupazzoPupillaPuroQuadroQualcosaQuasiQuerelaQuotaRaccoltoRaddoppioRadicaleRadunatoRafficaRagazzoRagioneRagnoRamarroRamingoRamoRandagioRantolareRapatoRapinaRappresoRasaturaRaschiatoRasenteRassegnaRastrelloRataRavvedutoRealeRecepireRecintoReclutaReconditoRecuperoRedditoRedimereRegalatoRegistroRegolaRegressoRelazioneRemareRemotoRennaReplicaReprimereReputareResaResidenteResponsoRestauroReteRetinaRetoricaRettificaRevocatoRiassuntoRibadireRibelleRibrezzoRicaricaRiccoRicevereRiciclatoRicordoRicredutoRidicoloRidurreRifasareRiflessoRiformaRifugioRigareRigettatoRighelloRilassatoRilevatoRimanereRimbalzoRimedioRimorchioRinascitaRincaroRinforzoRinnovoRinomatoRinsavitoRintoccoRinunciaRinvenireRiparatoRipetutoRipienoRiportareRipresaRipulireRisataRischioRiservaRisibileRisoRispettoRistoroRisultatoRisvoltoRitardoRitegnoRitmicoRitrovoRiunioneRivaRiversoRivincitaRivoltoRizomaRobaRoboticoRobustoRocciaRocoRodaggioRodereRoditoreRogitoRollioRomanticoRompereRonzioRosolareRospoRotanteRotondoRotulaRovescioRubizzoRubricaRugaRullinoRumineRumorosoRuoloRupeRussareRusticoSabatoSabbiareSabotatoSagomaSalassoSaldaturaSalgemmaSalivareSalmoneSaloneSaltareSalutoSalvoSapereSapidoSaporitoSaracenoSarcasmoSartoSassosoSatelliteSatiraSatolloSaturnoSavanaSavioSaziatoSbadiglioSbalzoSbancatoSbarraSbattereSbavareSbendareSbirciareSbloccatoSbocciatoSbrinareSbruffoneSbuffareScabrosoScadenzaScalaScambiareScandaloScapolaScarsoScatenareScavatoSceltoScenicoScettroSchedaSchienaSciarpaScienzaScindereScippoSciroppoScivoloSclerareScodellaScolpitoScompartoSconfortoScoprireScortaScossoneScozzeseScribaScrollareScrutinioScuderiaScultoreScuolaScuroScusareSdebitareSdoganareSeccaturaSecondoSedanoSeggiolaSegnalatoSegregatoSeguitoSelciatoSelettivoSellaSelvaggioSemaforoSembrareSemeSeminatoSempreSensoSentireSepoltoSequenzaSerataSerbatoSerenoSerioSerpenteSerraglioServireSestinaSetolaSettimanaSfaceloSfaldareSfamatoSfarzosoSfaticatoSferaSfidaSfilatoSfingeSfocatoSfoderareSfogoSfoltireSforzatoSfrattoSfruttatoSfuggitoSfumareSfusoSgabelloSgarbatoSgonfiareSgorbioSgrassatoSguardoSibiloSiccomeSierraSiglaSignoreSilenzioSillabaSimboloSimpaticoSimulatoSinfoniaSingoloSinistroSinoSintesiSinusoideSiparioSismaSistoleSituatoSlittaSlogaturaSlovenoSmarritoSmemoratoSmentitoSmeraldoSmilzoSmontareSmottatoSmussatoSnellireSnervatoSnodoSobbalzoSobrioSoccorsoSocialeSodaleSoffittoSognoSoldatoSolenneSolidoSollazzoSoloSolubileSolventeSomaticoSommaSondaSonettoSonniferoSopireSoppesoSopraSorgereSorpassoSorrisoSorsoSorteggioSorvolatoSospiroSostaSottileSpadaSpallaSpargereSpatolaSpaventoSpazzolaSpecieSpedireSpegnereSpelaturaSperanzaSpessoreSpettraleSpezzatoSpiaSpigolosoSpillatoSpinosoSpiraleSplendidoSportivoSposoSprangaSprecareSpronatoSpruzzoSpuntinoSquilloSradicareSrotolatoStabileStaccoStaffaStagnareStampatoStantioStarnutoStaseraStatutoSteloSteppaSterzoStilettoStimaStirpeStivaleStizzosoStonatoStoricoStrappoStregatoStriduloStrozzareStruttoStuccareStufoStupendoSubentroSuccosoSudoreSuggeritoSugoSultanoSuonareSuperboSupportoSurgelatoSurrogatoSussurroSuturaSvagareSvedeseSveglioSvelareSvenutoSveziaSviluppoSvistaSvizzeraSvoltaSvuotareTabaccoTabulatoTacciareTaciturnoTaleTalismanoTamponeTanninoTaraTardivoTargatoTariffaTarpareTartarugaTastoTatticoTavernaTavolataTazzaTecaTecnicoTelefonoTemerarioTempoTemutoTendoneTeneroTensioneTentacoloTeoremaTermeTerrazzoTerzettoTesiTesseratoTestatoTetroTettoiaTifareTigellaTimbroTintoTipicoTipografoTiraggioTiroTitanioTitoloTitubanteTizioTizzoneToccareTollerareToltoTombolaTomoTonfoTonsillaTopazioTopologiaToppaTorbaTornareTorroneTortoraToscanoTossireTostaturaTotanoTraboccoTracheaTrafilaTragediaTralcioTramontoTransitoTrapanoTrarreTraslocoTrattatoTraveTrecciaTremolioTrespoloTributoTrichecoTrifoglioTrilloTrinceaTrioTristezzaTrituratoTrivellaTrombaTronoTroppoTrottolaTrovareTruccatoTubaturaTuffatoTulipanoTumultoTunisiaTurbareTurchinoTutaTutelaUbicatoUccelloUccisoreUdireUditivoUffaUfficioUgualeUlisseUltimatoUmanoUmileUmorismoUncinettoUngereUnghereseUnicornoUnificatoUnisonoUnitarioUnteUovoUpupaUraganoUrgenzaUrloUsanzaUsatoUscitoUsignoloUsuraioUtensileUtilizzoUtopiaVacanteVaccinatoVagabondoVagliatoValangaValgoValicoVallettaValorosoValutareValvolaVampataVangareVanitosoVanoVantaggioVanveraVaporeVaranoVarcatoVarianteVascaVedettaVedovaVedutoVegetaleVeicoloVelcroVelinaVellutoVeloceVenatoVendemmiaVentoVeraceVerbaleVergognaVerificaVeroVerrucaVerticaleVescicaVessilloVestaleVeteranoVetrinaVetustoViandanteVibranteVicendaVichingoVicinanzaVidimareVigiliaVignetoVigoreVileVillanoViminiVincitoreViolaViperaVirgolaVirologoVirulentoViscosoVisioneVispoVissutoVisuraVitaVitelloVittimaVivandaVividoViziareVoceVogaVolatileVolereVolpeVoragineVulcanoZampognaZannaZappatoZatteraZavorraZefiroZelanteZeloZenzeroZerbinoZibettoZincoZirconeZittoZollaZoticoZuccheroZufoloZuluZuppa".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620"!==pt.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for it (Italian) FAILED")}var s=new(function(e){function r(){return e.call(this,"it")||this}return o(r,e),r.prototype.getWord=function(e){return a(this),i[e]},r.prototype.getWordIndex=function(e){return a(this),i.indexOf(e)},r}(pt.Wordlist));t.langIt=s,pt.Wordlist.register(s)}))),Tt=(t(St),St.langIt,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)});Object.defineProperty(t,"__esModule",{value:!0});var i="}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN>2),128+u.indexOf(i[3*t+1]),128+u.indexOf(i[3*t+2])];if("zh_tw"===e.locale)for(var l=n%4;l<3;l++)o[l]=u.indexOf("FAZDC6BALcLZCA+GBARCW8wNCcDDZ8LVFBOqqDUiou+M42TFAyERXFb7EjhP+vmBFpFrUpfDV2F7eB+eCltCHJFWLFCED+pWTojEIHFXc3aFn4F68zqjEuKidS1QBVPDEhE7NA4mhMF7oThD49ot3FgtzHFCK0acW1x8DH1EmLoIlrWFBLE+y5+NA3Cx65wJHTaEZVaK1mWAmPGxgYCdxwOjTDIt/faOEhTl1vqNsKtJCOhJWuio2g07KLZEQsFBUpNtwEByBgxFslFheFbiEPvi61msDvApxCzB6rBCzox7joYA5UdDc+Cb4FSgIabpXFAj3bjkmFAxCZE+mD/SFf/0ELecYCt3nLoxC6WEZf2tKDB4oZvrEmqFkKk7BwILA7gtYBpsTq//D4jD0F0wEB9pyQ1BD5Ba0oYHDI+sbDFhvrHXdDHfgFEIJLi5r8qercNFBgFLC4bo5ERJtamWBDFy73KCEb6M8VpmEt330ygCTK58EIIFkYgF84gtGA9Uyh3m68iVrFbWFbcbqiCYHZ9J1jeRPbL8yswhMiDbhEhdNoSwFbZrLT740ABEqgCkO8J1BLd1VhKKR4sD1yUo0z+FF59Mvg71CFbyEhbHSFBKEIKyoQNgQppq9T0KAqePu0ZFGrXOHdKJqkoTFhYvpDNyuuznrN84thJbsCoO6Cu6Xlvntvy0QYuAExQEYtTUBf3CoCqwgGFZ4u1HJFzDVwEy3cjcpV4QvsPaBC3rCGyCF23o4K3pp2gberGgFEJEHo4nHICtyKH2ZqyxhN05KBBJIQlKh/Oujv/DH32VrlqFdIFC7Fz9Ct4kaqFME0UETLprnN9kfy+kFmtQBB0+5CFu0N9Ij8l/VvJDh2oq3hT6EzjTHKFN7ZjZwoTsAZ4Exsko6Fpa6WC+sduz8jyrLpegTv2h1EBeYpLpm2czQW0KoCcS0bCVXCmuWJDBjN1nQNLdF58SFJ0h7i3pC3oEOKy/FjBklL70XvBEEIWp2yZ04xObzAWDDJG7f+DbqBEA7LyiR95j7MDVdDViz2RE5vWlBMv5e4+VfhP3aXNPhvLSynb9O2x4uFBV+3jqu6d5pCG28/sETByvmu/+IJ0L3wb4rj9DNOLBF6XPIODr4L19U9RRofAG6Nxydi8Bki8BhGJbBAJKzbJxkZSlF9Q2Cu8oKqggB9hBArwLLqEBWEtFowy8XK8bEyw9snT+BeyFk1ZCSrdmgfEwFePTgCjELBEnIbjaDDPJm36rG9pztcEzT8dGk23SBhXBB1H4z+OWze0ooFzz8pDBYFvp9j9tvFByf9y4EFdVnz026CGR5qMr7fxMHN8UUdlyJAzlTBDRC28k+L4FB8078ljyD91tUj1ocnTs8vdEf7znbzm+GIjEZnoZE5rnLL700Xc7yHfz05nWxy03vBB9YGHYOWxgMQGBCR24CVYNE1hpfKxN0zKnfJDmmMgMmBWqNbjfSyFCBWSCGCgR8yFXiHyEj+VtD1FB3FpC1zI0kFbzifiKTLm9yq5zFmur+q8FHqjoOBWsBPiDbnCC2ErunV6cJ6TygXFYHYp7MKN9RUlSIS8/xBAGYLzeqUnBF4QbsTuUkUqGs6CaiDWKWjQK9EJkjpkTmNCPYXL"[r++])+(0==l?228:128);a[e.locale].push(X.toUtf8String(o))}if(pt.Wordlist.check(e)!==s[e.locale])throw a[e.locale]=null,new Error("BIP39 Wordlist for "+e.locale+" (Chinese) FAILED")}}var c=function(e){function r(r){return e.call(this,"zh_"+r)||this}return o(r,e),r.prototype.getWord=function(e){return l(this),a[this.locale][e]},r.prototype.getWordIndex=function(e){return l(this),a[this.locale].indexOf(e)},r.prototype.split=function(e){return(e=e.replace(/(?:\u3000| )+/g,"")).split("")},r}(pt.Wordlist),f=new c("cn");t.langZhCn=f,pt.Wordlist.register(f),pt.Wordlist.register(f,"zh");var h=new c("tw");t.langZhTw=h,pt.Wordlist.register(h)}))),wt=(t(Tt),Tt.langZhCn,Tt.langZhTw,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.logger=pt.logger,r.Wordlist=pt.Wordlist;var t={cz:gt.langCz,en:vt.langEn,es:mt.langEs,fr:bt.langFr,it:St.langIt,ja:yt.langJa,ko:At.langKo,zh:Tt.langZhCn,zh_cn:Tt.langZhCn,zh_tw:Tt.langZhTw};r.wordlists=t}))),Mt=(t(wt),wt.logger,wt.Wordlist,wt.wordlists,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="hdnode/5.0.1"}))),Pt=(t(Mt),Mt.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(Mt.version),n=g.BigNumber.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),o=X.toUtf8Bytes("Bitcoin seed");function i(e){return(1<=256)throw new Error("Depth too large!");return s(f.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",f.hexlify(this.depth),this.parentFingerprint,f.hexZeroPad(f.hexlify(this.index),4),this.chainCode,null!=this.privateKey?f.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),e.prototype.neuter=function(){return new e(c,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)},e.prototype._derive=function(r){if(r>4294967295)throw new Error("invalid index - "+String(r));var t=this.path;t&&(t+="/"+(2147483647&r));var o=new Uint8Array(37);if(2147483648&r){if(!this.privateKey)throw new Error("cannot derive child of neutered node");o.set(f.arrayify(this.privateKey),1),t&&(t+="'")}else o.set(f.arrayify(this.publicKey));for(var i=24;i>=0;i-=8)o[33+(i>>3)]=r>>24-i&255;var s=f.arrayify(Tr.computeHmac(Tr.SupportedAlgorithm.sha512,this.chainCode,o)),u=s.slice(0,32),l=s.slice(32),h=null,d=null;this.privateKey?h=a(g.BigNumber.from(u).add(this.privateKey).mod(n)):d=new ct.SigningKey(f.hexlify(u))._addPoint(this.publicKey);var p=t,v=this.mnemonic;return v&&(p=Object.freeze({phrase:v.phrase,path:t,locale:v.locale||"en"})),new e(c,h,d,this.fingerprint,a(l),r,this.depth+1,p)},e.prototype.derivePath=function(e){var r=e.split("/");if(0===r.length||"m"===r[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===r[0]&&r.shift();for(var t=this,n=0;n=2147483648)throw new Error("invalid path index - "+o);t=t._derive(2147483648+i)}else{if(!o.match(/^[0-9]+$/))throw new Error("invalid path component - "+o);var i;if((i=parseInt(o))>=2147483648)throw new Error("invalid path index - "+o);t=t._derive(i)}}return t},e._fromSeed=function(r,t){var n=f.arrayify(r);if(n.length<16||n.length>64)throw new Error("invalid seed");var i=f.arrayify(Tr.computeHmac(Tr.SupportedAlgorithm.sha512,o,n));return new e(c,a(i.slice(0,32)),null,"0x00000000",a(i.slice(32)),0,0,t)},e.fromMnemonic=function(r,t,n){return r=v(p(r,n=u(n)),n),e._fromSeed(d(r,t),{phrase:r,path:"m",locale:n.locale})},e.fromSeed=function(r){return e._fromSeed(r,null)},e.fromExtendedKey=function(r){var n=ee.Base58.decode(r);82===n.length&&s(n.slice(0,78))===r||t.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");var o=n[4],i=f.hexlify(n.slice(5,9)),a=parseInt(f.hexlify(n.slice(9,13)).substring(2),16),u=f.hexlify(n.slice(13,45)),l=n.slice(45,78);switch(f.hexlify(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new e(c,null,f.hexlify(l),i,u,a,o,null);case"0x0488ade4":case"0x04358394 ":if(0!==l[0])break;return new e(c,f.hexlify(l.slice(1)),null,i,u,a,o,null)}return t.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")},e}();function d(e,r){r||(r="");var t=X.toUtf8Bytes("mnemonic"+r,X.UnicodeNormalizationForm.NFKD);return wr.pbkdf2(X.toUtf8Bytes(e,X.UnicodeNormalizationForm.NFKD),t,2048,64,"sha512")}function p(e,r){r=u(r),t.checkNormalize();var n=r.split(e);if(n.length%3!=0)throw new Error("invalid mnemonic");for(var o=f.arrayify(new Uint8Array(Math.ceil(11*n.length/8))),a=0,s=0;s>3]|=1<<7-a%8),a++}var h=32*n.length/3,d=i(n.length/3);if((f.arrayify(Tr.sha256(o.slice(0,h/8)))[0]&d)!==(o[o.length-1]&d))throw new Error("invalid checksum");return f.hexlify(o.slice(0,h/8))}function v(e,r){if(r=u(r),(e=f.arrayify(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");for(var t=[0],n=11,o=0;o8?(t[t.length-1]<<=8,t[t.length-1]|=e[o],n-=8):(t[t.length-1]<<=n,t[t.length-1]|=e[o]>>8-n,t.push(e[o]&(1<<8-n)-1),n+=3);var a=e.length/4,s=f.arrayify(Tr.sha256(e))[0]&i(a);return t[t.length-1]<<=a,t[t.length-1]|=s>>8-a,r.join(t.map((function(e){return r.getWord(e)})))}r.HDNode=h,r.mnemonicToSeed=d,r.mnemonicToEntropy=p,r.entropyToMnemonic=v,r.isValidMnemonic=function(e,r){try{return p(e,r),!0}catch(e){}return!1}}))),Et=(t(Pt),Pt.defaultPath,Pt.HDNode,Pt.mnemonicToSeed,Pt.mnemonicToEntropy,Pt.entropyToMnemonic,Pt.isValidMnemonic,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="random/5.0.1"}))),Ft=(t(Et),Et.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.shuffled=function(e){for(var r=(e=e.slice()).length-1;r>0;r--){var t=Math.floor(Math.random()*(r+1)),n=e[r];e[r]=e[t],e[t]=n}return e}}))),Ct=(t(Ft),Ft.shuffled,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n=new l.Logger(Et.version);t.shuffled=Ft.shuffled;var o=null;try{if(null==(o=window))throw new Error("try next")}catch(e){try{if(null==(o=r))throw new Error("try next")}catch(e){o={}}}var i=o.crypto||o.msCrypto;i&&i.getRandomValues||(n.warn("WARNING: Missing strong random number source"),i={getRandomValues:function(e){return n.throwError("no secure random source avaialble",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}}),t.randomBytes=function(e){(e<=0||e>1024||e%1)&&n.throwArgumentError("invalid length","length",e);var r=new Uint8Array(e);return i.getRandomValues(r),f.arrayify(r)}}))),kt=(t(Ct),Ct.shuffled,Ct.randomBytes,n((function(e,r){!function(r){function t(e){return parseInt(e)===e}function n(e){if(!t(e.length))return!1;for(var r=0;r255)return!1;return!0}function o(e,r){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return r&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!n(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(t(e.length)&&n(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function i(e){return new Uint8Array(e)}function a(e,r,t,n,o){null==n&&null==o||(e=e.slice?e.slice(n,o):Array.prototype.slice.call(e,n,o)),r.set(e,t)}var s,u={toBytes:function(e){var r=[],t=0;for(e=encodeURI(e);t191&&n<224?(r.push(String.fromCharCode((31&n)<<6|63&e[t+1])),t+=2):(r.push(String.fromCharCode((15&n)<<12|(63&e[t+1])<<6|63&e[t+2])),t+=3)}return r.join("")}},l=(s="0123456789abcdef",{toBytes:function(e){for(var r=[],t=0;t>4]+s[15&n])}return r.join("")}}),c={16:10,24:12,32:14},f=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],h=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],g=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],v=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],m=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],b=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],y=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],A=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],S=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],T=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],w=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],M=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],P=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function E(e){for(var r=[],t=0;t>2,this._Ke[t][r%4]=i[r],this._Kd[e-t][r%4]=i[r];for(var a,s=0,u=o;u>16&255]<<24^h[a>>8&255]<<16^h[255&a]<<8^h[a>>24&255]^f[s]<<24,s+=1,8!=o)for(r=1;r>8&255]<<8^h[a>>16&255]<<16^h[a>>24&255]<<24;for(r=o/2+1;r>2,d=u%4,this._Ke[l][d]=i[r],this._Kd[e-l][d]=i[r++],u++}for(var l=1;l>24&255]^w[a>>16&255]^M[a>>8&255]^P[255&a]},F.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var r=this._Ke.length-1,t=[0,0,0,0],n=E(e),o=0;o<4;o++)n[o]^=this._Ke[0][o];for(var a=1;a>24&255]^g[n[(o+1)%4]>>16&255]^v[n[(o+2)%4]>>8&255]^m[255&n[(o+3)%4]]^this._Ke[a][o];n=t.slice()}var s,u=i(16);for(o=0;o<4;o++)s=this._Ke[r][o],u[4*o]=255&(h[n[o]>>24&255]^s>>24),u[4*o+1]=255&(h[n[(o+1)%4]>>16&255]^s>>16),u[4*o+2]=255&(h[n[(o+2)%4]>>8&255]^s>>8),u[4*o+3]=255&(h[255&n[(o+3)%4]]^s);return u},F.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var r=this._Kd.length-1,t=[0,0,0,0],n=E(e),o=0;o<4;o++)n[o]^=this._Kd[0][o];for(var a=1;a>24&255]^y[n[(o+3)%4]>>16&255]^A[n[(o+2)%4]>>8&255]^S[255&n[(o+1)%4]]^this._Kd[a][o];n=t.slice()}var s,u=i(16);for(o=0;o<4;o++)s=this._Kd[r][o],u[4*o]=255&(d[n[o]>>24&255]^s>>24),u[4*o+1]=255&(d[n[(o+3)%4]>>16&255]^s>>16),u[4*o+2]=255&(d[n[(o+2)%4]>>8&255]^s>>8),u[4*o+3]=255&(d[255&n[(o+1)%4]]^s);return u};var C=function(e){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new F(e)};C.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var r=i(e.length),t=i(16),n=0;n=0;--r)this._counter[r]=e%256,e>>=8},L.prototype.setBytes=function(e){if(16!=(e=o(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},L.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var O=function(e,r){if(!(this instanceof O))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",r instanceof L||(r=new L(r)),this._counter=r,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new F(e)};O.prototype.encrypt=function(e){for(var r=o(e,!0),t=0;t16)throw new Error("PKCS#7 padding byte out of range");for(var t=e.length-r,n=0;n=64;){let d,p,g,v,m,b=t,y=n,A=o,S=i,T=a,w=s,M=u,P=l;for(p=0;p<16;p++)g=f+4*p,c[p]=(255&e[g])<<24|(255&e[g+1])<<16|(255&e[g+2])<<8|255&e[g+3];for(p=16;p<64;p++)d=c[p-2],v=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,d=c[p-15],m=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,c[p]=(v+c[p-7]|0)+(m+c[p-16]|0)|0;for(p=0;p<64;p++)v=(((T>>>6|T<<26)^(T>>>11|T<<21)^(T>>>25|T<<7))+(T&w^~T&M)|0)+(P+(r[p]+c[p]|0)|0)|0,m=((b>>>2|b<<30)^(b>>>13|b<<19)^(b>>>22|b<<10))+(b&y^b&A^y&A)|0,P=M,M=w,w=T,T=S+v|0,S=A,A=y,y=b,b=v+m|0;t=t+b|0,n=n+y|0,o=o+A|0,i=i+S|0,a=a+T|0,s=s+w|0,u=u+M|0,l=l+P|0,f+=64,h-=64}}f(e);let h,d=e.length%64,p=e.length/536870912|0,g=e.length<<3,v=d<56?56:120,m=e.slice(e.length-d,e.length);for(m.push(128),h=d+1;h>>24&255),m.push(p>>>16&255),m.push(p>>>8&255),m.push(p>>>0&255),m.push(g>>>24&255),m.push(g>>>16&255),m.push(g>>>8&255),m.push(g>>>0&255),f(m),[t>>>24&255,t>>>16&255,t>>>8&255,t>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function n(e,r,n){e=e.length<=64?e:t(e);const o=64+r.length+4,i=new Array(o),a=new Array(64);let s,u=[];for(s=0;s<64;s++)i[s]=54;for(s=0;s=o-4;e--){if(i[e]++,i[e]<=255)return;i[e]=0}}for(;n>=32;)l(),u=u.concat(t(a.concat(t(i)))),n-=32;return n>0&&(l(),u=u.concat(t(a.concat(t(i))).slice(0,n))),u}function o(e,r,t,n,o){let i;for(u(e,16*(2*t-1),o,0,16),i=0;i<2*t;i++)s(e,16*i,o,16),a(o,n),u(o,0,e,r+16*i,16);for(i=0;i>>32-r}function a(e,r){u(e,0,r,0,16);for(let e=8;e>0;e-=2)r[4]^=i(r[0]+r[12],7),r[8]^=i(r[4]+r[0],9),r[12]^=i(r[8]+r[4],13),r[0]^=i(r[12]+r[8],18),r[9]^=i(r[5]+r[1],7),r[13]^=i(r[9]+r[5],9),r[1]^=i(r[13]+r[9],13),r[5]^=i(r[1]+r[13],18),r[14]^=i(r[10]+r[6],7),r[2]^=i(r[14]+r[10],9),r[6]^=i(r[2]+r[14],13),r[10]^=i(r[6]+r[2],18),r[3]^=i(r[15]+r[11],7),r[7]^=i(r[3]+r[15],9),r[11]^=i(r[7]+r[3],13),r[15]^=i(r[11]+r[7],18),r[1]^=i(r[0]+r[3],7),r[2]^=i(r[1]+r[0],9),r[3]^=i(r[2]+r[1],13),r[0]^=i(r[3]+r[2],18),r[6]^=i(r[5]+r[4],7),r[7]^=i(r[6]+r[5],9),r[4]^=i(r[7]+r[6],13),r[5]^=i(r[4]+r[7],18),r[11]^=i(r[10]+r[9],7),r[8]^=i(r[11]+r[10],9),r[9]^=i(r[8]+r[11],13),r[10]^=i(r[9]+r[8],18),r[12]^=i(r[15]+r[14],7),r[13]^=i(r[12]+r[15],9),r[14]^=i(r[13]+r[12],13),r[15]^=i(r[14]+r[13],18);for(let t=0;t<16;++t)e[t]+=r[t]}function s(e,r,t,n){for(let o=0;o=256)return!1}return!0}function c(e,r){if("number"!=typeof e||e%1)throw new Error("invalid "+r);return e}function f(e,r,t,i,a,f,h){if(t=c(t,"N"),i=c(i,"r"),a=c(a,"p"),f=c(f,"dkLen"),0===t||0!=(t&t-1))throw new Error("N must be power of 2");if(t>2147483647/128/i)throw new Error("N too large");if(i>2147483647/128/a)throw new Error("r too large");if(!l(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!l(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);let d=n(e,r,128*a*i);const p=new Uint32Array(32*a*i);for(let e=0;eC&&(r=C);for(let e=0;eC&&(r=C);for(let e=0;e>0&255),d.push(p[e]>>8&255),d.push(p[e]>>16&255),d.push(p[e]>>24&255);const l=n(e,d,f);return h&&h(null,1,l),l}h&&k(B)};if(!h)for(;;){const e=B();if(null!=e)return e}B()}const h={scrypt:function(e,r,t,n,o,i,a){return new Promise((function(s,u){let l=0;a&&a(0),f(e,r,t,n,o,i,(function(e,r,t){if(e)u(e);else if(t)a&&1!==l&&a(1),s(new Uint8Array(t));else if(a&&r!==l)return l=r,a(r)}))}))},syncScrypt:function(e,r,t,n,o,i){return new Uint8Array(f(e,r,t,n,o,i))}};e.exports=h}()})));Jt.scrypt,Jt.syncScrypt;if(r.crypto&&crypto.getRandomValues){var Rt=new Uint8Array(16);it=function(){return crypto.getRandomValues(Rt),Rt}}if(!it){var Nt=new Array(16);it=function(){for(var e,r=0;r<16;r++)0==(3&r)&&(e=4294967296*Math.random()),Nt[r]=e>>>((3&r)<<3)&255;return Nt}}for(var Dt=it,xt=[],It={},Xt=0;Xt<256;Xt++)xt[Xt]=(Xt+256).toString(16).substr(1),It[xt[Xt]]=Xt;function Ht(e,r){var t=r||0,n=xt;return n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[t++]]+"-"+n[e[t++]]+n[e[t++]]+"-"+n[e[t++]]+n[e[t++]]+"-"+n[e[t++]]+n[e[t++]]+"-"+n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[t++]]+n[e[t++]]}var Ut=Dt(),Gt=[1|Ut[0],Ut[1],Ut[2],Ut[3],Ut[4],Ut[5]],zt=16383&(Ut[6]<<8|Ut[7]),Vt=0,jt=0;function Zt(e,r,t){var n=r&&t||0;"string"==typeof e&&(r="binary"==e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||Dt)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,r)for(var i=0;i<16;i++)r[n+i]=o[i];return r||Ht(o)}var Kt=Zt;Kt.v1=function(e,r,t){var n=r&&t||0,o=r||[],i=void 0!==(e=e||{}).clockseq?e.clockseq:zt,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),s=void 0!==e.nsecs?e.nsecs:jt+1,u=a-Vt+(s-jt)/1e4;if(u<0&&void 0===e.clockseq&&(i=i+1&16383),(u<0||a>Vt)&&void 0===e.nsecs&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Vt=a,jt=s,zt=i;var l=(1e4*(268435455&(a+=122192928e5))+s)%4294967296;o[n++]=l>>>24&255,o[n++]=l>>>16&255,o[n++]=l>>>8&255,o[n++]=255&l;var c=a/4294967296*1e4&268435455;o[n++]=c>>>8&255,o[n++]=255&c,o[n++]=c>>>24&15|16,o[n++]=c>>>16&255,o[n++]=i>>>8|128,o[n++]=255&i;for(var f=e.node||Gt,h=0;h<6;h++)o[n+h]=f[h];return r||Ht(o)},Kt.v4=Zt,Kt.parse=function(e,r,t){var n=r&&t||0,o=0;for(r=r||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,(function(e){o<16&&(r[n+o++]=It[e])}));o<16;)r[n+o++]=0;return r},Kt.unparse=Ht;var Qt=Kt,qt=n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}),i=r&&r.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,s)}u((n=n.apply(e,r||[])).next())}))},a=r&&r.__generator||function(e,r){var t,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&(f=e.timeout),e.headers)for(var h in e.headers)a[h.toLowerCase()]={key:h,value:String(e.headers[h])},["if-none-match","if-modified-since"].indexOf(h.toLowerCase())>=0&&(c=!0);if(null!=e.user&&null!=e.password){"https:"!==s.substring(0,6)&&!0!==e.allowInsecureAuthentication&&i.throwError("basic authentication requires a secure https url",l.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:s,user:e.user,password:"[REDACTED]"});var d=e.user+":"+e.password;a.authorization={key:"Authorization",value:"Basic "+tn.encode(X.toUtf8Bytes(d))}}}r&&(u.method="POST",u.body=r,a["content-type"]={key:"Content-Type",value:"application/json"});var p={};Object.keys(a).forEach((function(e){var r=a[e];p[r.key]=r.value})),u.headers=p;var g,v=(g=null,{promise:new Promise((function(e,r){f&&(g=setTimeout((function(){null!=g&&(g=null,r(i.makeError("timeout",l.Logger.errors.TIMEOUT,{requestBody:u.body||null,requestMethod:u.method,timeout:f,url:s})))}),f))})),cancel:function(){null!=g&&(clearTimeout(g),g=null)}}),m=function(){return n(this,void 0,void 0,(function(){var e,r,n,a,f;return o(this,(function(o){switch(o.label){case 0:e=null,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,on.getUrl(s,u)];case 2:return e=o.sent(),[3,4];case 3:return r=o.sent(),null==(e=r.response)&&(v.cancel(),i.throwError("missing response",l.Logger.errors.SERVER_ERROR,{requestBody:u.body||null,requestMethod:u.method,serverError:r,url:s})),[3,4];case 4:if(n=e.body,c&&304===e.statusCode?n=null:(e.statusCode<200||e.statusCode>=300)&&(v.cancel(),i.throwError("bad response",l.Logger.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:n,requestBody:u.body||null,requestMethod:u.method,url:s})),v.cancel(),a=null,null!=n)try{a=JSON.parse(n)}catch(e){i.throwError("invalid JSON",l.Logger.errors.SERVER_ERROR,{body:n,error:e,requestBody:u.body||null,requestMethod:u.method,url:s})}if(!t)return[3,8];o.label=5;case 5:return o.trys.push([5,7,,8]),[4,t(a,e)];case 6:return a=o.sent(),[3,8];case 7:return f=o.sent(),i.throwError("processing response error",l.Logger.errors.SERVER_ERROR,{body:a,error:f,requestBody:u.body||null,requestMethod:u.method,url:s}),[3,8];case 8:return[2,a]}}))}))}();return Promise.race([v.promise,m])},t.poll=function(e,r){return r||(r={}),null==(r=m.shallowCopy(r)).floor&&(r.floor=0),null==r.ceiling&&(r.ceiling=1e4),null==r.interval&&(r.interval=250),new Promise((function(t,n){var o=null,i=!1,a=function(){return!i&&(i=!0,o&&clearTimeout(o),!0)};r.timeout&&(o=setTimeout((function(){a()&&n(new Error("timeout"))}),r.timeout));var s=r.retryLimit,u=0;!function o(){return e().then((function(e){if(void 0!==e)a()&&t(e);else if(r.oncePoll)r.oncePoll.once("poll",o);else if(r.onceBlock)r.onceBlock.once("block",o);else if(!i){if(++u>s)return void(a()&&n(new Error("retry limit reached")));var l=r.interval*parseInt(String(Math.random()*Math.pow(2,u)));lr.ceiling&&(l=r.ceiling),setTimeout(o,l)}return null}),(function(e){a()&&n(e)}))}()}))}}))),sn=(t(an),an.fetchJson,an.poll,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="providers/5.0.1"}))),un=(t(sn),sn.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(sn.version),n=function(){function e(){var r=this.constructor;t.checkNew(r,e),this.formats=this.getDefaultFormats()}return e.prototype.getDefaultFormats=function(){var r=this,t={},n=this.address.bind(this),o=this.bigNumber.bind(this),i=this.blockTag.bind(this),a=this.data.bind(this),s=this.hash.bind(this),u=this.hex.bind(this),l=this.number.bind(this);return t.transaction={hash:s,blockHash:e.allowNull(s,null),blockNumber:e.allowNull(l,null),transactionIndex:e.allowNull(l,null),confirmations:e.allowNull(l,null),from:n,gasPrice:o,gasLimit:o,to:e.allowNull(n,null),value:o,nonce:l,data:a,r:e.allowNull(this.uint256),s:e.allowNull(this.uint256),v:e.allowNull(l),creates:e.allowNull(n,null),raw:e.allowNull(a)},t.transactionRequest={from:e.allowNull(n),nonce:e.allowNull(l),gasLimit:e.allowNull(o),gasPrice:e.allowNull(o),to:e.allowNull(n),value:e.allowNull(o),data:e.allowNull((function(e){return r.data(e,!0)}))},t.receiptLog={transactionIndex:l,blockNumber:l,transactionHash:s,address:n,topics:e.arrayOf(s),data:a,logIndex:l,blockHash:s},t.receipt={to:e.allowNull(this.address,null),from:e.allowNull(this.address,null),contractAddress:e.allowNull(n,null),transactionIndex:l,root:e.allowNull(s),gasUsed:o,logsBloom:e.allowNull(a),blockHash:s,transactionHash:s,logs:e.arrayOf(this.receiptLog.bind(this)),blockNumber:l,confirmations:e.allowNull(l,null),cumulativeGasUsed:o,status:e.allowNull(l)},t.block={hash:s,parentHash:s,number:l,timestamp:l,nonce:e.allowNull(u),difficulty:this.difficulty.bind(this),gasLimit:o,gasUsed:o,miner:n,extraData:a,transactions:e.allowNull(e.arrayOf(s))},t.blockWithTransactions=m.shallowCopy(t.block),t.blockWithTransactions.transactions=e.allowNull(e.arrayOf(this.transactionResponse.bind(this))),t.filter={fromBlock:e.allowNull(i,void 0),toBlock:e.allowNull(i,void 0),blockHash:e.allowNull(s,void 0),address:e.allowNull(n,void 0),topics:e.allowNull(this.topics.bind(this),void 0)},t.filterLog={blockNumber:e.allowNull(l),blockHash:e.allowNull(s),transactionIndex:l,removed:e.allowNull(this.boolean.bind(this)),address:n,data:e.allowFalsish(a,"0x"),topics:e.arrayOf(s),transactionHash:s,logIndex:l},t},e.prototype.number=function(e){return g.BigNumber.from(e).toNumber()},e.prototype.bigNumber=function(e){return g.BigNumber.from(e)},e.prototype.boolean=function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)},e.prototype.hex=function(e,r){return"string"==typeof e&&(r||"0x"===e.substring(0,2)||(e="0x"+e),f.isHexString(e))?e.toLowerCase():t.throwArgumentError("invalid hash","value",e)},e.prototype.data=function(e,r){var t=this.hex(e,r);if(t.length%2!=0)throw new Error("invalid data; odd-length - "+e);return t},e.prototype.address=function(e){return E.getAddress(e)},e.prototype.callAddress=function(e){if(!f.isHexString(e,32))return null;var r=E.getAddress(f.hexDataSlice(e,12));return r===J.AddressZero?null:r},e.prototype.contractAddress=function(e){return E.getContractAddress(e)},e.prototype.blockTag=function(e){if(null==e)return"latest";if("earliest"===e)return"0x0";if("latest"===e||"pending"===e)return e;if("number"==typeof e||f.isHexString(e))return f.hexValue(e);throw new Error("invalid blockTag")},e.prototype.hash=function(e,r){var n=this.hex(e,r);return 32!==f.hexDataLength(n)?t.throwArgumentError("invalid hash","value",e):n},e.prototype.difficulty=function(e){if(null==e)return null;var r=g.BigNumber.from(e);try{return r.toNumber()}catch(e){}return null},e.prototype.uint256=function(e){if(!f.isHexString(e))throw new Error("invalid uint256");return f.hexZeroPad(e,32)},e.prototype._block=function(r,t){return null!=r.author&&null==r.miner&&(r.miner=r.author),e.check(t,r)},e.prototype.block=function(e){return this._block(e,this.formats.block)},e.prototype.blockWithTransactions=function(e){return this._block(e,this.formats.blockWithTransactions)},e.prototype.transactionRequest=function(r){return e.check(this.formats.transactionRequest,r)},e.prototype.transactionResponse=function(r){null!=r.gas&&null==r.gasLimit&&(r.gasLimit=r.gas),r.to&&g.BigNumber.from(r.to).isZero()&&(r.to="0x0000000000000000000000000000000000000000"),null!=r.input&&null==r.data&&(r.data=r.input),null==r.to&&null==r.creates&&(r.creates=this.contractAddress(r));var t=e.check(this.formats.transaction,r);if(null!=r.chainId){var n=r.chainId;f.isHexString(n)&&(n=g.BigNumber.from(n).toNumber()),t.chainId=n}else{null==(n=r.networkId)&&null==t.v&&(n=r.chainId),f.isHexString(n)&&(n=g.BigNumber.from(n).toNumber()),"number"!=typeof n&&null!=t.v&&((n=(t.v-35)/2)<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),t.chainId=n}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t},e.prototype.transaction=function(e){return ht.parse(e)},e.prototype.receiptLog=function(r){return e.check(this.formats.receiptLog,r)},e.prototype.receipt=function(r){var t=e.check(this.formats.receipt,r);return null!=r.status&&(t.byzantium=!0),t},e.prototype.topics=function(e){var r=this;return Array.isArray(e)?e.map((function(e){return r.topics(e)})):null!=e?this.hash(e,!0):null},e.prototype.filter=function(r){return e.check(this.formats.filter,r)},e.prototype.filterLog=function(r){return e.check(this.formats.filterLog,r)},e.check=function(e,r){var t={};for(var n in e)try{var o=e[n](r[n]);void 0!==o&&(t[n]=o)}catch(e){throw e.checkKey=n,e.checkValue=r[n],e}return t},e.allowNull=function(e,r){return function(t){return null==t?r:e(t)}},e.allowFalsish=function(e,r){return function(t){return t?e(t):r}},e.arrayOf=function(e){return function(r){if(!Array.isArray(r))throw new Error("not an array");var t=[];return r.forEach((function(r){t.push(e(r))})),t}},e}();r.Formatter=n}))),ln=(t(un),un.Formatter,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}),i=r&&r.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,s)}u((n=n.apply(e,r||[])).next())}))},a=r&&r.__generator||function(e,r){var t,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&null==e[e.length-1];)e.pop();return e.map((function(e){if(Array.isArray(e)){var r={};e.forEach((function(e){r[u(e)]=!0}));var t=Object.keys(r);return t.sort(),t.join("|")}return u(e)})).join("&")}function h(e){if("string"==typeof e){if(e=e.toLowerCase(),32===f.hexDataLength(e))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+c(e);if(Q.ForkEvent.isForkEvent(e))throw s.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+c(e.topics||[])}throw new Error("invalid event - "+e)}function d(){return(new Date).getTime()}var p=["block","network","pending","poll"],v=function(){function e(e,r,t){m.defineReadOnly(this,"tag",e),m.defineReadOnly(this,"listener",r),m.defineReadOnly(this,"once",t)}return Object.defineProperty(e.prototype,"event",{get:function(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.tag.split(":")[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hash",{get:function(){var e=this.tag.split(":");return"tx"!==e[0]?null:e[1]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){var e=this.tag.split(":");if("filter"!==e[0])return null;var r,t=e[1],n=""===(r=e[2])?[]:r.split(/&/g).map((function(e){if(""===e)return[];var r=e.split("|").map((function(e){return"null"===e?null:e}));return 1===r.length?r[0]:r})),o={};return n.length>0&&(o.topics=n),t&&"*"!==t&&(o.address=t),o},enumerable:!0,configurable:!0}),e.prototype.pollable=function(){return this.tag.indexOf(":")>=0||p.indexOf(this.tag)>=0},e}();t.Event=v;var b=null,y=1,A=function(e){function r(r){var t=this.constructor,n=this;if(s.checkNew(t,Q.Provider),(n=e.call(this)||this)._events=[],n._emitted={block:-2},n.formatter=t.getFormatter(),m.defineReadOnly(n,"anyNetwork","any"===r),n.anyNetwork&&(r=n.detectNetwork()),r instanceof Promise)n._networkPromise=r,r.catch((function(e){})),n._ready();else{var o=m.getStatic(t,"getNetwork")(r);o?(m.defineReadOnly(n,"_network",o),n.emit("network",o,null)):s.throwArgumentError("invalid network","network",r)}return n._maxInternalBlockNumber=-1024,n._lastBlockNumber=-2,n._pollingInterval=4e3,n._fastQueryDate=0,n}return o(r,e),r.prototype._ready=function(){return i(this,void 0,void 0,(function(){var e;return a(this,(function(r){switch(r.label){case 0:if(null!=this._network)return[3,7];if(e=null,!this._networkPromise)return[3,4];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,this._networkPromise];case 2:return e=r.sent(),[3,4];case 3:return r.sent(),[3,4];case 4:return null!=e?[3,6]:[4,this.detectNetwork()];case 5:e=r.sent(),r.label=6;case 6:e||s.throwError("no network detected",l.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:m.defineReadOnly(this,"_network",e),this.emit("network",e,null)),r.label=7;case 7:return[2,this._network]}}))}))},Object.defineProperty(r.prototype,"ready",{get:function(){return this._ready()},enumerable:!0,configurable:!0}),r.getFormatter=function(){return null==b&&(b=new un.Formatter),b},r.getNetwork=function(e){return rn.getNetwork(null==e?"homestead":e)},r.prototype._getInternalBlockNumber=function(e){return i(this,void 0,void 0,(function(){var r,t,n,o,i=this;return a(this,(function(a){switch(a.label){case 0:return[4,this.ready];case 1:return a.sent(),r=this._internalBlockNumber,e>0&&this._internalBlockNumber?[4,r]:[3,3];case 2:if(t=a.sent(),d()-t.respTime<=e)return[2,t.blockNumber];a.label=3;case 3:return n=d(),o=m.resolveProperties({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((function(e){return null}),(function(e){return e}))}).then((function(e){var r=e.blockNumber,t=e.networkError;if(t)throw i._internalBlockNumber===o&&(i._internalBlockNumber=null),t;var a=d();return(r=g.BigNumber.from(r).toNumber())1e3)s.warn("network block skew detected; skipping block events"),this.emit("error",s.makeError("network block skew detected",l.Logger.errors.NETWORK_ERROR,{blockNumber:t,previousBlockNumber:this._emitted.block})),this.emit("block",t);else for(n=this._emitted.block+1;n<=t;n++)this.emit("block",n);return this._emitted.block!==t&&(this._emitted.block=t,Object.keys(this._emitted).forEach((function(e){if("block"!==e){var r=o._emitted[e];"pending"!==r&&t-r>12&&delete o._emitted[e]}}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=t-1),this._events.forEach((function(e){switch(e.type){case"tx":var n=e.hash,i=o.getTransactionReceipt(n).then((function(e){return e&&null!=e.blockNumber?(o._emitted["t:"+n]=e.blockNumber,o.emit(n,e),null):null})).catch((function(e){o.emit("error",e)}));r.push(i);break;case"filter":var a=e.filter;a.fromBlock=o._lastBlockNumber+1,a.toBlock=t;i=o.getLogs(a).then((function(e){0!==e.length&&e.forEach((function(e){o._emitted["b:"+e.blockHash]=e.blockNumber,o._emitted["t:"+e.transactionHash]=e.blockNumber,o.emit(a,e)}))})).catch((function(e){o.emit("error",e)}));r.push(i)}})),this._lastBlockNumber=t,Promise.all(r).then((function(){o.emit("didPoll",e)})),[2,null]}}))}))},r.prototype.resetEventsBlock=function(e){this._lastBlockNumber=e-1,this.polling&&this.poll()},Object.defineProperty(r.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),r.prototype.detectNetwork=function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,s.throwError("provider does not support network detection",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})]}))}))},r.prototype.getNetwork=function(){return i(this,void 0,void 0,(function(){var e,r,t;return a(this,(function(n){switch(n.label){case 0:return[4,this.ready];case 1:return e=n.sent(),[4,this.detectNetwork()];case 2:return r=n.sent(),e.chainId===r.chainId?[3,5]:this.anyNetwork?(this._network=r,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",r,e),[4,(o=0,new Promise((function(e){setTimeout(e,o)})))]):[3,4];case 3:return n.sent(),[2,this._network];case 4:throw t=s.makeError("underlying network changed",l.Logger.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:r}),this.emit("error",t),t;case 5:return[2,e]}var o}))}))},Object.defineProperty(r.prototype,"blockNumber",{get:function(){var e=this;return this._getInternalBlockNumber(100+this.pollingInterval/2).then((function(r){e._setFastBlockNumber(r)})),null!=this._fastBlockNumber?this._fastBlockNumber:-1},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"polling",{get:function(){return null!=this._poller},set:function(e){var r=this;e&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((function(){r.poll(),r._bootstrapPoll=setTimeout((function(){r._poller||r.poll(),r._bootstrapPoll=null}),r.pollingInterval)}),0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(e){var r=this;if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){r.poll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),r.prototype._getFastBlockNumber=function(){var e=this,r=d();return r-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=r,this._fastBlockNumberPromise=this.getBlockNumber().then((function(r){return(null==e._fastBlockNumber||r>e._fastBlockNumber)&&(e._fastBlockNumber=r),e._fastBlockNumber}))),this._fastBlockNumberPromise},r.prototype._setFastBlockNumber=function(e){null!=this._fastBlockNumber&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))},r.prototype.waitForTransaction=function(e,r,t){return i(this,void 0,void 0,(function(){var n,o=this;return a(this,(function(i){switch(i.label){case 0:return null==r&&(r=1),[4,this.getTransactionReceipt(e)];case 1:return((n=i.sent())?n.confirmations:0)>=r?[2,n]:[2,new Promise((function(n,i){var a=null,u=!1,c=function(t){t.confirmations0&&(a=setTimeout((function(){u||(a=null,u=!0,o.removeListener(e,c),i(s.makeError("timeout exceeded",l.Logger.errors.TIMEOUT,{timeout:t})))}),t)).unref&&a.unref()}))]}}))}))},r.prototype.getBlockNumber=function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this._getInternalBlockNumber(0)]}))}))},r.prototype.getGasPrice=function(){return i(this,void 0,void 0,(function(){var e,r;return a(this,(function(t){switch(t.label){case 0:return[4,this.getNetwork()];case 1:return t.sent(),r=(e=g.BigNumber).from,[4,this.perform("getGasPrice",{})];case 2:return[2,r.apply(e,[t.sent()])]}}))}))},r.prototype.getBalance=function(e,r){return i(this,void 0,void 0,(function(){var t,n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,m.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(r)})];case 2:return t=i.sent(),o=(n=g.BigNumber).from,[4,this.perform("getBalance",t)];case 3:return[2,o.apply(n,[i.sent()])]}}))}))},r.prototype.getTransactionCount=function(e,r){return i(this,void 0,void 0,(function(){var t,n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,m.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(r)})];case 2:return t=i.sent(),o=(n=g.BigNumber).from,[4,this.perform("getTransactionCount",t)];case 3:return[2,o.apply(n,[i.sent()]).toNumber()]}}))}))},r.prototype.getCode=function(e,r){return i(this,void 0,void 0,(function(){var t,n;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,m.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(r)})];case 2:return t=o.sent(),n=f.hexlify,[4,this.perform("getCode",t)];case 3:return[2,n.apply(void 0,[o.sent()])]}}))}))},r.prototype.getStorageAt=function(e,r,t){return i(this,void 0,void 0,(function(){var n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,m.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(t),position:Promise.resolve(r).then((function(e){return f.hexValue(e)}))})];case 2:return n=i.sent(),o=f.hexlify,[4,this.perform("getStorageAt",n)];case 3:return[2,o.apply(void 0,[i.sent()])]}}))}))},r.prototype._wrapTransaction=function(e,r){var t=this;if(null!=r&&32!==f.hexDataLength(r))throw new Error("invalid response - sendTransaction");var n=e;return null!=r&&e.hash!==r&&s.throwError("Transaction hash mismatch from Provider.sendTransaction.",l.Logger.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:r}),n.wait=function(r){return i(t,void 0,void 0,(function(){var t;return a(this,(function(n){switch(n.label){case 0:return 0!==r&&(this._emitted["t:"+e.hash]="pending"),[4,this.waitForTransaction(e.hash,r)];case 1:return null==(t=n.sent())&&0===r?[2,null]:(this._emitted["t:"+e.hash]=t.blockNumber,0===t.status&&s.throwError("transaction failed",l.Logger.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:t}),[2,t])}}))}))},n},r.prototype.sendTransaction=function(e){return i(this,void 0,void 0,(function(){var r,t,n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,Promise.resolve(e).then((function(e){return f.hexlify(e)}))];case 2:r=i.sent(),t=this.formatter.transaction(e),i.label=3;case 3:return i.trys.push([3,5,,6]),[4,this.perform("sendTransaction",{signedTransaction:r})];case 4:return n=i.sent(),[2,this._wrapTransaction(t,n)];case 5:throw(o=i.sent()).transaction=t,o.transactionHash=t.hash,o;case 6:return[2]}}))}))},r.prototype._getTransactionRequest=function(e){return i(this,void 0,void 0,(function(){var r,t,n,o,i=this;return a(this,(function(a){switch(a.label){case 0:return[4,e];case 1:return r=a.sent(),t={},["from","to"].forEach((function(e){null!=r[e]&&(t[e]=Promise.resolve(r[e]).then((function(e){return e?i._getAddress(e):null})))})),["gasLimit","gasPrice","value"].forEach((function(e){null!=r[e]&&(t[e]=Promise.resolve(r[e]).then((function(e){return e?g.BigNumber.from(e):null})))})),["data"].forEach((function(e){null!=r[e]&&(t[e]=Promise.resolve(r[e]).then((function(e){return e?f.hexlify(e):null})))})),o=(n=this.formatter).transactionRequest,[4,m.resolveProperties(t)];case 2:return[2,o.apply(n,[a.sent()])]}}))}))},r.prototype._getFilter=function(e){return i(this,void 0,void 0,(function(){var r,t,n,o=this;return a(this,(function(i){switch(i.label){case 0:return[4,e];case 1:return e=i.sent(),r={},null!=e.address&&(r.address=this._getAddress(e.address)),["blockHash","topics"].forEach((function(t){null!=e[t]&&(r[t]=e[t])})),["fromBlock","toBlock"].forEach((function(t){null!=e[t]&&(r[t]=o._getBlockTag(e[t]))})),n=(t=this.formatter).filter,[4,m.resolveProperties(r)];case 2:return[2,n.apply(t,[i.sent()])]}}))}))},r.prototype.call=function(e,r){return i(this,void 0,void 0,(function(){var t,n;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,m.resolveProperties({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(r)})];case 2:return t=o.sent(),n=f.hexlify,[4,this.perform("call",t)];case 3:return[2,n.apply(void 0,[o.sent()])]}}))}))},r.prototype.estimateGas=function(e){return i(this,void 0,void 0,(function(){var r,t,n;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,m.resolveProperties({transaction:this._getTransactionRequest(e)})];case 2:return r=o.sent(),n=(t=g.BigNumber).from,[4,this.perform("estimateGas",r)];case 3:return[2,n.apply(t,[o.sent()])]}}))}))},r.prototype._getAddress=function(e){return i(this,void 0,void 0,(function(){var r;return a(this,(function(t){switch(t.label){case 0:return[4,this.resolveName(e)];case 1:return null==(r=t.sent())&&s.throwError("ENS name not configured",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify(e)+")"}),[2,r]}}))}))},r.prototype._getBlock=function(e,r){return i(this,void 0,void 0,(function(){var t,n,o,u,l,c=this;return a(this,(function(h){switch(h.label){case 0:return[4,this.getNetwork()];case 1:return h.sent(),[4,e];case 2:return e=h.sent(),t=-128,n={includeTransactions:!!r},f.isHexString(e,32)?(n.blockHash=e,[3,6]):[3,3];case 3:return h.trys.push([3,5,,6]),o=n,l=(u=this.formatter).blockTag,[4,this._getBlockTag(e)];case 4:return o.blockTag=l.apply(u,[h.sent()]),f.isHexString(n.blockTag)&&(t=parseInt(n.blockTag.substring(2),16)),[3,6];case 5:return h.sent(),s.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e),[3,6];case 6:return[2,an.poll((function(){return i(c,void 0,void 0,(function(){var e,o,i,s,u;return a(this,(function(a){switch(a.label){case 0:return[4,this.perform("getBlock",n)];case 1:if(null==(e=a.sent()))return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&t>this._emitted.block?[2,null]:[2,void 0];if(!r)return[3,8];o=null,i=0,a.label=2;case 2:return in.length?[2,null]:(s=X.toUtf8String(n.slice(0,i)),[4,this.resolveName(s)]));case 4:return a.sent()!=e?[2,null]:[2,s]}}))}))},r.prototype.perform=function(e,r){return s.throwError(e+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:e})},r.prototype._startEvent=function(e){this.polling=this._events.filter((function(e){return e.pollable()})).length>0},r.prototype._stopEvent=function(e){this.polling=this._events.filter((function(e){return e.pollable()})).length>0},r.prototype._addEventListener=function(e,r,t){var n=new v(h(e),r,t);return this._events.push(n),this._startEvent(n),this},r.prototype.on=function(e,r){return this._addEventListener(e,r,!1)},r.prototype.once=function(e,r){return this._addEventListener(e,r,!0)},r.prototype.emit=function(e){for(var r=this,t=[],n=1;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=0&&s.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{transaction:n}),e.responseText.indexOf("nonce too low")>=0&&s.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{transaction:n}),e.responseText.indexOf("replacement transaction underpriced")>=0&&s.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{transaction:n})),e}))}))},r.prototype.signTransaction=function(e){return s.throwError("signing transactions is unsupported",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})},r.prototype.sendTransaction=function(e){var r=this;return this.sendUncheckedTransaction(e).then((function(e){return an.poll((function(){return r.provider.getTransaction(e).then((function(t){if(null!==t)return r.provider._wrapTransaction(t,e)}))}),{onceBlock:r.provider}).catch((function(r){throw r.transactionHash=e,r}))}))},r.prototype.signMessage=function(e){var r=this,t="string"==typeof e?X.toUtf8Bytes(e):e;return this.getAddress().then((function(e){return r.provider.send("eth_sign",[e.toLowerCase(),f.hexlify(t)])}))},r.prototype.unlock=function(e){var r=this.provider;return this.getAddress().then((function(t){return r.send("personal_unlockAccount",[t.toLowerCase(),e,null])}))},r}(W.Signer);t.JsonRpcSigner=p;var v=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return o(r,e),r.prototype.sendTransaction=function(e){var r=this;return this.sendUncheckedTransaction(e).then((function(e){return{hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(t){return r.provider.waitForTransaction(e,t)}}}))},r}(p),b={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},y=function(e){function r(t,n){var o=this.constructor,i=this;s.checkNew(o,r);var a=n;return null==a&&(a=new Promise((function(e,r){setTimeout((function(){i.detectNetwork().then((function(r){e(r)}),(function(e){r(e)}))}),0)}))),i=e.call(this,a)||this,t||(t=m.getStatic(i.constructor,"defaultUrl")()),"string"==typeof t?m.defineReadOnly(i,"connection",Object.freeze({url:t})):m.defineReadOnly(i,"connection",Object.freeze(m.shallowCopy(t))),i._nextId=42,i}return o(r,e),r.defaultUrl=function(){return"http://localhost:8545"},r.prototype.detectNetwork=function(){return i(this,void 0,void 0,(function(){var e,r;return a(this,(function(t){switch(t.label){case 0:return[4,u(0)];case 1:t.sent(),e=null,t.label=2;case 2:return t.trys.push([2,4,,9]),[4,this.send("eth_chainId",[])];case 3:return e=t.sent(),[3,9];case 4:t.sent(),t.label=5;case 5:return t.trys.push([5,7,,8]),[4,this.send("net_version",[])];case 6:return e=t.sent(),[3,8];case 7:return t.sent(),[3,8];case 8:return[3,9];case 9:if(null!=e){r=m.getStatic(this.constructor,"getNetwork");try{return[2,r(g.BigNumber.from(e).toNumber())]}catch(r){return[2,s.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR,{chainId:e,serverError:r})]}}return[2,s.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR)]}}))}))},r.prototype.getSigner=function(e){return new p(d,this,e)},r.prototype.getUncheckedSigner=function(e){return this.getSigner(e).connectUnchecked()},r.prototype.listAccounts=function(){var e=this;return this.send("eth_accounts",[]).then((function(r){return r.map((function(r){return e.formatter.address(r)}))}))},r.prototype.send=function(e,r){var t=this,n={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:m.deepCopy(n),provider:this}),an.fetchJson(this.connection,JSON.stringify(n),c).then((function(e){return t.emit("debug",{action:"response",request:n,response:e,provider:t}),e}),(function(e){throw t.emit("debug",{action:"response",error:e,request:n,provider:t}),e}))},r.prototype.prepareRequest=function(e,r){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[h(r.address),r.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[h(r.address),r.blockTag]];case"getCode":return["eth_getCode",[h(r.address),r.blockTag]];case"getStorageAt":return["eth_getStorageAt",[h(r.address),r.position,r.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[r.signedTransaction]];case"getBlock":return r.blockTag?["eth_getBlockByNumber",[r.blockTag,!!r.includeTransactions]]:r.blockHash?["eth_getBlockByHash",[r.blockHash,!!r.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[r.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[r.transactionHash]];case"call":return["eth_call",[m.getStatic(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0}),r.blockTag]];case"estimateGas":return["eth_estimateGas",[m.getStatic(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0})]];case"getLogs":return r.filter&&null!=r.filter.address&&(r.filter.address=h(r.filter.address)),["eth_getLogs",[r.filter]]}return null},r.prototype.perform=function(e,r){var t=this.prepareRequest(e,r);return null==t&&s.throwError(e+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:e}),"sendTransaction"===e?this.send(t[0],t[1]).catch((function(e){throw e.responseText&&(e.responseText.indexOf("insufficient funds")>0&&s.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("nonce too low")>0&&s.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("replacement transaction underpriced")>0&&s.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{})),e})):this.send(t[0],t[1])},r.prototype._startEvent=function(r){"pending"===r.tag&&this._startPending(),e.prototype._startEvent.call(this,r)},r.prototype._startPending=function(){if(null==this._pendingFilter){var e=this,r=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=r,r.then((function(t){return function n(){e.send("eth_getFilterChanges",[t]).then((function(t){if(e._pendingFilter!=r)return null;var n=Promise.resolve();return t.forEach((function(r){e._emitted["t:"+r.toLowerCase()]="pending",n=n.then((function(){return e.getTransaction(r).then((function(r){return e.emit("pending",r),null}))}))})),n.then((function(){return u(1e3)}))})).then((function(){if(e._pendingFilter==r)return setTimeout((function(){n()}),0),null;e.send("eth_uninstallFilter",[t])})).catch((function(e){}))}(),t})).catch((function(e){}))}},r.prototype._stopEvent=function(r){"pending"===r.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),e.prototype._stopEvent.call(this,r)},r.hexlifyTransaction=function(e,r){var t=m.shallowCopy(b);if(r)for(var n in r)r[n]&&(t[n]=!0);m.checkProperties(e,t);var o={};return["gasLimit","gasPrice","nonce","value"].forEach((function(r){if(null!=e[r]){var t=f.hexValue(e[r]);"gasLimit"===r&&(r="gas"),o[r]=t}})),["from","to","data"].forEach((function(r){null!=e[r]&&(o[r]=f.hexlify(e[r]))})),o},r}(ln.BaseProvider);t.JsonRpcProvider=y}))),fn=(t(cn),cn.JsonRpcSigner,cn.JsonRpcProvider,n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}),i=r&&r.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,s)}u((n=n.apply(e,r||[])).next())}))},a=r&&r.__generator||function(e,r){var t,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=0&&s.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("same hash was already imported")>=0&&s.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("another transaction with same nonce")>=0&&s.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{})),e}))];case 8:if(t.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+t.blockTag,t.includeTransactions?n+="&boolean=true":n+="&boolean=false",[2,f(n+=o)];throw new Error("getBlock by blockHash not implemented");case 9:return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+t.transactionHash,[2,f(n+=o)];case 10:return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+t.transactionHash,[2,f(n+=o)];case 11:if((p=u(t.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_call"+p,"latest"!==t.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return[2,f(n+=o)];case 12:return(p=u(t.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_estimateGas&"+p,[2,f(n+=o)];case 13:return n+="/api?module=logs&action=getLogs",t.filter.fromBlock&&(n+="&fromBlock="+d(t.filter.fromBlock)),t.filter.toBlock&&(n+="&toBlock="+d(t.filter.toBlock)),t.filter.address&&(n+="&address="+t.filter.address),t.filter.topics&&t.filter.topics.length>0&&(t.filter.topics.length>1&&s.throwError("unsupported topic count",l.Logger.errors.UNSUPPORTED_OPERATION,{topics:t.filter.topics}),1===t.filter.topics.length&&("string"==typeof(g=t.filter.topics[0])&&66===g.length||s.throwError("unsupported topic format",l.Logger.errors.UNSUPPORTED_OPERATION,{topic0:g}),n+="&topic0="+g)),[4,f(n+=o,c)];case 14:v=M.sent(),b={},y=0,M.label=15;case 15:return y0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]r?null:(n+o)/2}function d(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if(g.BigNumber.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map((function(e){return d(e)})));if("object"==typeof e){var r=Object.keys(e);return r.sort(),"{"+r.map((function(r){var t=e[r];return t="function"==typeof t?"[function]":d(t),JSON.stringify(r)+":"+t})).join(",")+"}"}throw new Error("unknown value type: "+typeof e)}var p=1;function v(e){var r=null,t=null,n=new Promise((function(n){r=function(){t&&(clearTimeout(t),t=null),n()},t=setTimeout(r,e)}));return{cancel:r,getPromise:function(){return n},wait:function(e){return n=n.then(e)}}}function b(e,r){var t={provider:e.provider,weight:e.weight};return e.start&&(t.start=e.start),r&&(t.duration=r-e.start),e.done&&(e.error?t.error=e.error:t.result=e.result||null),t}function y(e,r,t){var n=d;switch(r){case"getBlockNumber":return function(r){var t=r.map((function(e){return e.result})),n=h(r.map((function(e){return e.result})),2);if(null!=n)return n=Math.ceil(n),t.indexOf(n+1)>=0&&n++,n>=e._highestBlockNumber&&(e._highestBlockNumber=n),e._highestBlockNumber};case"getGasPrice":return function(e){var r=e.map((function(e){return e.result}));return r.sort(),r[Math.floor(r.length/2)]};case"getEtherPrice":return function(e){return h(e.map((function(e){return e.result})))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(e){return null==e?null:((e=m.shallowCopy(e)).confirmations=-1,d(e))};break;case"getBlock":n=t.includeTransactions?function(e){return null==e?null:((e=m.shallowCopy(e)).transactions=e.transactions.map((function(e){return(e=m.shallowCopy(e)).confirmations=-1,e})),d(e))}:function(e){return null==e?null:d(e)};break;default:throw new Error("unknown method: "+r)}return function(e,r){return function(t){var n={};t.forEach((function(r){var t=e(r.result);n[t]||(n[t]={count:0,result:r.result}),n[t].count++}));for(var o=Object.keys(n),i=0;i=r)return a.result}}}(n,e.quorum)}function A(e,r){return i(this,void 0,void 0,(function(){var t;return a(this,(function(n){return null!=(t=e.provider).blockNumber&&t.blockNumber>=r||-1===r?[2,t]:[2,an.poll((function(){return new Promise((function(n,o){setTimeout((function(){return t.blockNumber>=r?n(t):e.cancelled?n(null):n(void 0)}),0)}))}),{oncePoll:t})]}))}))}var S=function(e){function r(t,n){var o=this.constructor,i=this;s.checkNew(o,r),0===t.length&&s.throwArgumentError("missing providers","providers",t);var a=t.map((function(e,r){if(Q.Provider.isProvider(e))return Object.freeze({provider:e,weight:1,stallTimeout:750,priority:1});var t=m.shallowCopy(e);null==t.priority&&(t.priority=1),null==t.stallTimeout&&(t.stallTimeout=750),null==t.weight&&(t.weight=1);var n=t.weight;return(n%1||n>512||n<1)&&s.throwArgumentError("invalid weight; must be integer in [1, 512]","providers["+r+"].weight",n),Object.freeze(t)})),u=a.reduce((function(e,r){return e+r.weight}),0);null==n?n=u/2:n>u&&s.throwArgumentError("quorum will always fail; larger than total weight","quorum",n);var l=c(a.map((function(e){return e.provider.network})));return null==l&&(l=new Promise((function(e,r){setTimeout((function(){i.detectNetwork().then(e,r)}),0)}))),i=e.call(this,l)||this,m.defineReadOnly(i,"providerConfigs",Object.freeze(a)),m.defineReadOnly(i,"quorum",n),i._highestBlockNumber=-1,i}return o(r,e),r.prototype.detectNetwork=function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){switch(e.label){case 0:return[4,Promise.all(this.providerConfigs.map((function(e){return e.provider.getNetwork()})))];case 1:return[2,c(e.sent())]}}))}))},r.prototype.perform=function(e,r){return i(this,void 0,void 0,(function(){var t,n,o,c,h,d,g,S,T,w,M,P=this;return a(this,(function(E){switch(E.label){case 0:return"sendTransaction"!==e?[3,2]:[4,Promise.all(this.providerConfigs.map((function(e){return e.provider.sendTransaction(r.signedTransaction).then((function(e){return e.hash}),(function(e){return e}))})))];case 1:for(t=E.sent(),n=0;n=w.quorum?void 0!==(M=c(T))?(h.forEach((function(e){e.staller&&e.staller.cancel(),e.cancelled=!0})),[2,{value:M}]):S?[3,4]:[4,v(100).getPromise()]:[3,5];case 3:E.sent(),E.label=4;case 4:S=!1,E.label=5;case 5:return 0===h.filter((function(e){return!e.done})).length?[2,"break"]:[2]}}))},w=this,E.label=5;case 5:return[5,T()];case 6:return"object"==typeof(M=E.sent())?[2,M.value]:"break"===M?[3,7]:[3,5];case 7:return h.forEach((function(e){e.staller&&e.staller.cancel(),e.cancelled=!0})),[2,s.throwError("failed to meet quorum",l.Logger.errors.SERVER_ERROR,{method:e,params:r,results:h.map((function(e){return b(e)})),provider:this})]}}))}))},r}(ln.BaseProvider);t.FallbackProvider=S}))),vn=(t(gn),gn.FallbackProvider,null),mn=n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=null;try{if(null==(t=WebSocket))throw new Error("inject please")}catch(e){var n=new l.Logger(sn.version);t=function(){n.throwError("WebSockets not supported in this environment",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}e.exports=t})),bn=(t(mn),n((function(e,t){var n,o=r&&r.__extends||(n=function(e,r){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])})(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}),i=r&&r.__awaiter||function(e,r,t,n){return new(t||(t=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(a,s)}u((n=n.apply(e,r||[])).next())}))},a=r&&r.__generator||function(e,r){var t,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]256)throw new Error("invalid number type - "+r);return a&&(u=256),i=g.BigNumber.from(i).toTwos(u),f.zeroPad(i,u/8)}if(s=r.match(t)){var u=parseInt(s[1]);if(String(u)!=s[1]||0===u||u>32)throw new Error("invalid number type - "+r);if(f.arrayify(i).byteLength!==u)throw new Error("invalid value for "+r);return a?f.arrayify((i+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):i}if((s=r.match(o))&&Array.isArray(i)){var l=s[1];if(parseInt(s[2]||String(i.length))!=i.length)throw new Error("invalid value for "+r);var c=[];return i.forEach((function(r){c.push(e(l,r,!0))})),f.concat(c)}throw new Error("unknown type - "+r)}(e,r[a]))})),f.hexlify(f.concat(i))}r.pack=i,r.keccak256=function(e,r){return T.keccak256(i(e,r))},r.sha256=function(e,r){return Tr.sha256(i(e,r))}}))),Mn=(t(wn),wn.pack,wn.keccak256,wn.sha256,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="units/5.0.1"}))),Pn=(t(Mn),Mn.version,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var t=new l.Logger(Mn.version),n=["wei","kwei","mwei","gwei","szabo","finney","ether"];function o(e,r){if("string"==typeof r){var t=n.indexOf(r);-1!==t&&(r=3*t)}return g.formatFixed(e,null!=r?r:18)}function i(e,r){if("string"==typeof r){var t=n.indexOf(r);-1!==t&&(r=3*t)}return g.parseFixed(e,null!=r?r:18)}r.commify=function(e){var r=String(e).split(".");(r.length>2||!r[0].match(/^-?[0-9]*$/)||r[1]&&!r[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&t.throwArgumentError("invalid value","value",e);var n=r[0],o="";for("-"===n.substring(0,1)&&(o="-",n=n.substring(1));"0"===n.substring(0,1);)n=n.substring(1);""===n&&(n="0");var i="";2===r.length&&(i="."+(r[1]||"0"));for(var a=[];n.length;){if(n.length<=3){a.unshift(n);break}var s=n.length-3;a.unshift(n.substring(s)),n=n.substring(0,s)}return o+a.join(",")+i},r.formatUnits=o,r.parseUnits=i,r.formatEther=function(e){return o(e,18)},r.parseEther=function(e){return i(e,18)}}))),En=(t(Pn),Pn.commify,Pn.formatUnits,Pn.parseUnits,Pn.formatEther,Pn.parseEther,n((function(e,t){var n=r&&r.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r};Object.defineProperty(t,"__esModule",{value:!0}),t.AbiCoder=Z.AbiCoder,t.checkResultErrors=Z.checkResultErrors,t.defaultAbiCoder=Z.defaultAbiCoder,t.EventFragment=Z.EventFragment,t.FormatTypes=Z.FormatTypes,t.Fragment=Z.Fragment,t.FunctionFragment=Z.FunctionFragment,t.Indexed=Z.Indexed,t.Interface=Z.Interface,t.LogDescription=Z.LogDescription,t.ParamType=Z.ParamType,t.TransactionDescription=Z.TransactionDescription,t.getAddress=E.getAddress,t.getCreate2Address=E.getCreate2Address,t.getContractAddress=E.getContractAddress,t.getIcapAddress=E.getIcapAddress,t.isAddress=E.isAddress;var o=n(tn);t.base64=o,t.arrayify=f.arrayify,t.concat=f.concat,t.hexDataSlice=f.hexDataSlice,t.hexDataLength=f.hexDataLength,t.hexlify=f.hexlify,t.hexStripZeros=f.hexStripZeros,t.hexValue=f.hexValue,t.hexZeroPad=f.hexZeroPad,t.isBytes=f.isBytes,t.isBytesLike=f.isBytesLike,t.isHexString=f.isHexString,t.joinSignature=f.joinSignature,t.zeroPad=f.zeroPad,t.splitSignature=f.splitSignature,t.stripZeros=f.stripZeros,t.hashMessage=V.hashMessage,t.id=V.id,t.isValidName=V.isValidName,t.namehash=V.namehash,t.defaultPath=Pt.defaultPath,t.entropyToMnemonic=Pt.entropyToMnemonic,t.HDNode=Pt.HDNode,t.isValidMnemonic=Pt.isValidMnemonic,t.mnemonicToEntropy=Pt.mnemonicToEntropy,t.mnemonicToSeed=Pt.mnemonicToSeed,t.getJsonWalletAddress=Wt.getJsonWalletAddress,t.keccak256=T.keccak256,t.Logger=l.Logger,t.computeHmac=Tr.computeHmac,t.ripemd160=Tr.ripemd160,t.sha256=Tr.sha256,t.sha512=Tr.sha512,t.solidityKeccak256=wn.keccak256,t.solidityPack=wn.pack,t.soliditySha256=wn.sha256,t.randomBytes=Ct.randomBytes,t.shuffled=Ct.shuffled,t.checkProperties=m.checkProperties,t.deepCopy=m.deepCopy,t.defineReadOnly=m.defineReadOnly,t.getStatic=m.getStatic,t.resolveProperties=m.resolveProperties,t.shallowCopy=m.shallowCopy;var i=n(M);t.RLP=i,t.computePublicKey=ct.computePublicKey,t.recoverPublicKey=ct.recoverPublicKey,t.SigningKey=ct.SigningKey,t.formatBytes32String=X.formatBytes32String,t.nameprep=X.nameprep,t.parseBytes32String=X.parseBytes32String,t._toEscapedUtf8String=X._toEscapedUtf8String,t.toUtf8Bytes=X.toUtf8Bytes,t.toUtf8CodePoints=X.toUtf8CodePoints,t.toUtf8String=X.toUtf8String,t.Utf8ErrorFuncs=X.Utf8ErrorFuncs,t.computeAddress=ht.computeAddress,t.parseTransaction=ht.parse,t.recoverAddress=ht.recoverAddress,t.serializeTransaction=ht.serialize,t.commify=Pn.commify,t.formatEther=Pn.formatEther,t.parseEther=Pn.parseEther,t.formatUnits=Pn.formatUnits,t.parseUnits=Pn.parseUnits,t.verifyMessage=$t.verifyMessage,t.fetchJson=an.fetchJson,t.poll=an.poll;var a=Tr;t.SupportedAlgorithm=a.SupportedAlgorithm;var s=X;t.UnicodeNormalizationForm=s.UnicodeNormalizationForm,t.Utf8ErrorReason=s.Utf8ErrorReason}))),Fn=(t(En),En.AbiCoder,En.checkResultErrors,En.defaultAbiCoder,En.EventFragment,En.FormatTypes,En.Fragment,En.FunctionFragment,En.Indexed,En.Interface,En.LogDescription,En.ParamType,En.TransactionDescription,En.getAddress,En.getCreate2Address,En.getContractAddress,En.getIcapAddress,En.isAddress,En.base64,En.arrayify,En.concat,En.hexDataSlice,En.hexDataLength,En.hexlify,En.hexStripZeros,En.hexValue,En.hexZeroPad,En.isBytes,En.isBytesLike,En.isHexString,En.joinSignature,En.zeroPad,En.splitSignature,En.stripZeros,En.hashMessage,En.id,En.isValidName,En.namehash,En.defaultPath,En.entropyToMnemonic,En.HDNode,En.isValidMnemonic,En.mnemonicToEntropy,En.mnemonicToSeed,En.getJsonWalletAddress,En.keccak256,En.Logger,En.computeHmac,En.ripemd160,En.sha256,En.sha512,En.solidityKeccak256,En.solidityPack,En.soliditySha256,En.randomBytes,En.shuffled,En.checkProperties,En.deepCopy,En.defineReadOnly,En.getStatic,En.resolveProperties,En.shallowCopy,En.RLP,En.computePublicKey,En.recoverPublicKey,En.SigningKey,En.formatBytes32String,En.nameprep,En.parseBytes32String,En._toEscapedUtf8String,En.toUtf8Bytes,En.toUtf8CodePoints,En.toUtf8String,En.Utf8ErrorFuncs,En.computeAddress,En.parseTransaction,En.recoverAddress,En.serializeTransaction,En.commify,En.formatEther,En.parseEther,En.formatUnits,En.parseUnits,En.verifyMessage,En.fetchJson,En.poll,En.SupportedAlgorithm,En.UnicodeNormalizationForm,En.Utf8ErrorReason,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0}),r.version="ethers/5.0.1"}))),Cn=(t(Fn),Fn.version,n((function(e,t){var n=r&&r.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r};Object.defineProperty(t,"__esModule",{value:!0}),t.Contract=$.Contract,t.ContractFactory=$.ContractFactory,t.BigNumber=g.BigNumber,t.FixedNumber=g.FixedNumber,t.Signer=W.Signer,t.VoidSigner=W.VoidSigner,t.Wallet=$t.Wallet;var o=n(J);t.constants=o;var i=n(Tn);t.providers=i;var a=Tn;t.getDefaultProvider=a.getDefaultProvider,t.Wordlist=wt.Wordlist,t.wordlists=wt.wordlists;var s=n(En);t.utils=s,t.errors=l.ErrorCode,t.version=Fn.version;var u=new l.Logger(Fn.version);t.logger=u}))),kn=(t(Cn),Cn.Contract,Cn.ContractFactory,Cn.BigNumber,Cn.FixedNumber,Cn.Signer,Cn.VoidSigner,Cn.Wallet,Cn.constants,Cn.providers,Cn.getDefaultProvider,Cn.Wordlist,Cn.wordlists,Cn.utils,Cn.errors,Cn.version,Cn.logger,n((function(e,t){var n=r&&r.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(null!=e)for(var t in e)Object.hasOwnProperty.call(e,t)&&(r[t]=e[t]);return r.default=e,r};Object.defineProperty(t,"__esModule",{value:!0});var o=n(Cn);t.ethers=o;try{var i=window;null==i._ethers&&(i._ethers=o)}catch(e){}var a=Cn;t.Signer=a.Signer,t.Wallet=a.Wallet,t.VoidSigner=a.VoidSigner,t.getDefaultProvider=a.getDefaultProvider,t.providers=a.providers,t.Contract=a.Contract,t.ContractFactory=a.ContractFactory,t.BigNumber=a.BigNumber,t.FixedNumber=a.FixedNumber,t.constants=a.constants,t.errors=a.errors,t.logger=a.logger,t.utils=a.utils,t.wordlists=a.wordlists,t.version=a.version,t.Wordlist=a.Wordlist}))),Bn=t(kn),_n=kn.ethers,Ln=kn.Signer,On=kn.Wallet,Jn=kn.VoidSigner,Rn=kn.getDefaultProvider,Nn=kn.providers,Dn=kn.Contract,xn=kn.ContractFactory,In=kn.BigNumber,Xn=kn.FixedNumber,Hn=kn.constants,Un=kn.errors,Gn=kn.logger,zn=kn.utils,Vn=kn.wordlists,jn=kn.version,Zn=kn.Wordlist;e.BigNumber=In,e.Contract=Dn,e.ContractFactory=xn,e.FixedNumber=Xn,e.Signer=Ln,e.VoidSigner=Jn,e.Wallet=On,e.Wordlist=Zn,e.constants=Hn,e.default=Bn,e.errors=Un,e.ethers=_n,e.getDefaultProvider=Rn,e.logger=Gn,e.providers=Nn,e.utils=zn,e.version=jn,e.wordlists=Vn,Object.defineProperty(e,"__esModule",{value:!0})})); +!function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=t);for(var n=!r.JS_SHA3_NO_COMMON_JS&&e.exports,o="0123456789abcdef".split(""),i=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],s=[224,256,384,512],u=["hex","buffer","arrayBuffer","array"],l=function(e,t,r){return function(n){return new M(e,t,e).update(n)[r]()}},c=function(e,t,r){return function(n,o){return new M(e,t,o).update(n)[r]()}},h=function(e,t){var r=l(e,t,"hex");r.create=function(){return new M(e,t,e)},r.update=function(e){return r.create().update(e)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}M.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,o=e.length,a=this.blocks,s=this.byteCount,u=this.blockCount,l=0,c=this.s;l>2]|=e[l]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(a[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=s){for(this.start=r-s,this.block=a[u],r=0;r>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+o[15&e]+o[e>>12&15]+o[e>>8&15]+o[e>>20&15]+o[e>>16&15]+o[e>>28&15]+o[e>>24&15];s%t==0&&(w(r),a=0)}return i&&(e=r[a],i>0&&(u+=o[e>>4&15]+o[15&e]),i>1&&(u+=o[e>>12&15]+o[e>>8&15]),i>2&&(u+=o[e>>20&15]+o[e>>16&15])),u},M.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,o=this.extraBytes,i=0,a=0,s=this.outputBits>>3;e=o?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&w(n)}return i&&(e=s<<2,t=n[a],i>0&&(u[e]=255&t),i>1&&(u[e+1]=t>>8&255),i>2&&(u[e+2]=t>>16&255)),u};var w=function(e){var t,r,n,o,i,s,u,l,c,h,f,d,p,g,m,v,y,b,M,w,A,S,T,P,E,_,k,F,C,B,L,O,J,R,N,D,x,I,X,H,U,G,z,V,j,Z,K,Q,q,W,Y,$,ee,te,re,ne,oe,ie,ae,se,ue,le,ce;for(n=0;n<48;n+=2)o=e[0]^e[10]^e[20]^e[30]^e[40],i=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],l=e[4]^e[14]^e[24]^e[34]^e[44],c=e[5]^e[15]^e[25]^e[35]^e[45],h=e[6]^e[16]^e[26]^e[36]^e[46],f=e[7]^e[17]^e[27]^e[37]^e[47],t=(d=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=o^(l<<1|c>>>31),r=i^(c<<1|l>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(h<<1|f>>>31),r=u^(f<<1|h>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=l^(d<<1|p>>>31),r=c^(p<<1|d>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=h^(o<<1|i>>>31),r=f^(i<<1|o>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,g=e[0],m=e[1],Z=e[11]<<4|e[10]>>>28,K=e[10]<<4|e[11]>>>28,F=e[20]<<3|e[21]>>>29,C=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,G=e[40]<<18|e[41]>>>14,z=e[41]<<18|e[40]>>>14,R=e[2]<<1|e[3]>>>31,N=e[3]<<1|e[2]>>>31,v=e[13]<<12|e[12]>>>20,y=e[12]<<12|e[13]>>>20,Q=e[22]<<10|e[23]>>>22,q=e[23]<<10|e[22]>>>22,B=e[33]<<13|e[32]>>>19,L=e[32]<<13|e[33]>>>19,le=e[42]<<2|e[43]>>>30,ce=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,D=e[14]<<6|e[15]>>>26,x=e[15]<<6|e[14]>>>26,b=e[25]<<11|e[24]>>>21,M=e[24]<<11|e[25]>>>21,W=e[34]<<15|e[35]>>>17,Y=e[35]<<15|e[34]>>>17,O=e[45]<<29|e[44]>>>3,J=e[44]<<29|e[45]>>>3,P=e[6]<<28|e[7]>>>4,E=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,oe=e[16]<<23|e[17]>>>9,I=e[26]<<25|e[27]>>>7,X=e[27]<<25|e[26]>>>7,w=e[36]<<21|e[37]>>>11,A=e[37]<<21|e[36]>>>11,$=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,V=e[8]<<27|e[9]>>>5,j=e[9]<<27|e[8]>>>5,_=e[18]<<20|e[19]>>>12,k=e[19]<<20|e[18]>>>12,ie=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,U=e[39]<<8|e[38]>>>24,S=e[48]<<14|e[49]>>>18,T=e[49]<<14|e[48]>>>18,e[0]=g^~v&b,e[1]=m^~y&M,e[10]=P^~_&F,e[11]=E^~k&C,e[20]=R^~D&I,e[21]=N^~x&X,e[30]=V^~Z&Q,e[31]=j^~K&q,e[40]=te^~ne&ie,e[41]=re^~oe&ae,e[2]=v^~b&w,e[3]=y^~M&A,e[12]=_^~F&B,e[13]=k^~C&L,e[22]=D^~I&H,e[23]=x^~X&U,e[32]=Z^~Q&W,e[33]=K^~q&Y,e[42]=ne^~ie&se,e[43]=oe^~ae&ue,e[4]=b^~w&S,e[5]=M^~A&T,e[14]=F^~B&O,e[15]=C^~L&J,e[24]=I^~H&G,e[25]=X^~U&z,e[34]=Q^~W&$,e[35]=q^~Y&ee,e[44]=ie^~se&le,e[45]=ae^~ue&ce,e[6]=w^~S&g,e[7]=A^~T&m,e[16]=B^~O&P,e[17]=L^~J&E,e[26]=H^~G&R,e[27]=U^~z&N,e[36]=W^~$&V,e[37]=Y^~ee&j,e[46]=se^~le&te,e[47]=ue^~ce&re,e[8]=S^~g&v,e[9]=T^~m&y,e[18]=O^~P&_,e[19]=J^~E&k,e[28]=G^~R&D,e[29]=z^~N&x,e[38]=$^~V&Z,e[39]=ee^~j&K,e[48]=le^~te&ne,e[49]=ce^~re&oe,e[0]^=a[n],e[1]^=a[n+1]};if(n)e.exports=d;else for(g=0;g>=8;return t}function o(e,t,r){for(var n=0,o=0;ot+1+o&&r.throwError("child data too short",l.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+o,result:i}}function a(e,t){if(0===e.length&&r.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),e[t]>=248){t+1+(s=e[t]-247)>e.length&&r.throwError("data short segment too short",l.Logger.errors.BUFFER_OVERRUN,{});var n=o(e,t+1,s);return t+1+s+n>e.length&&r.throwError("data long segment too short",l.Logger.errors.BUFFER_OVERRUN,{}),i(e,t,t+1+s,s+n)}if(e[t]>=192){var a=e[t]-192;return t+1+a>e.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),i(e,t,t+1,a)}if(e[t]>=184){var s;t+1+(s=e[t]-183)>e.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{});var u=o(e,t+1,s);return t+1+s+u>e.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+s+u,result:h.hexlify(e.slice(t+1+s,t+1+s+u))}}if(e[t]>=128){var c=e[t]-128;return t+1+c>e.length&&r.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+c,result:h.hexlify(e.slice(t+1,t+1+c))}}return{consumed:1,result:h.hexlify(e[t])}}t.encode=function(e){return h.hexlify(function e(t){if(Array.isArray(t)){var o=[];if(t.forEach((function(t){o=o.concat(e(t))})),o.length<=55)return o.unshift(192+o.length),o;var i=n(o.length);return i.unshift(247+i.length),i.concat(o)}h.isBytesLike(t)||r.throwArgumentError("RLP object must be BytesLike","object",t);var a=Array.prototype.slice.call(h.arrayify(t));if(1===a.length&&a[0]<=127)return a;if(a.length<=55)return a.unshift(128+a.length),a;var s=n(a.length);return s.unshift(183+s.length),s.concat(a)}(e))},t.decode=function(e){var t=h.arrayify(e),n=a(t,0);return n.consumed!==t.length&&r.throwArgumentError("invalid rlp data","data",e),n.result}}))),P=(r(T),T.encode,T.decode,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="address/5.0.1"}))),E=(r(P),P.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(P.version);function n(e){h.isHexString(e,20)||r.throwArgumentError("invalid address","address",e);for(var t=(e=e.toLowerCase()).substring(2).split(""),n=new Uint8Array(40),o=0;o<40;o++)n[o]=t[o].charCodeAt(0);var i=h.arrayify(A.keccak256(n));for(o=0;o<40;o+=2)i[o>>1]>>4>=8&&(t[o]=t[o].toUpperCase()),(15&i[o>>1])>=8&&(t[o+1]=t[o+1].toUpperCase());return"0x"+t.join("")}for(var o={},i=0;i<10;i++)o[String(i)]=String(i);for(i=0;i<26;i++)o[String.fromCharCode(65+i)]=String(10+i);var a,u=Math.floor((a=9007199254740991,Math.log10?Math.log10(a):Math.log(a)/Math.LN10));function c(e){for(var t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((function(e){return o[e]})).join("");t.length>=u;){var r=t.substring(0,u);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function f(e){var t=null;if("string"!=typeof e&&r.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=n(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&r.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==c(e)&&r.throwArgumentError("bad icap checksum","address",e),t=new s.BN(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=n("0x"+t)}else r.throwArgumentError("invalid address","address",e);return t}t.getAddress=f,t.isAddress=function(e){try{return f(e),!0}catch(e){}return!1},t.getIcapAddress=function(e){for(var t=new s.BN(f(e).substring(2),16).toString(36).toUpperCase();t.length<30;)t="0"+t;return"XE"+c("XE00"+t)+t},t.getContractAddress=function(e){var t=null;try{t=f(e.from)}catch(t){r.throwArgumentError("missing from address","transaction",e)}var n=h.stripZeros(h.arrayify(g.BigNumber.from(e.nonce).toHexString()));return f(h.hexDataSlice(A.keccak256(T.encode([t,n])),12))},t.getCreate2Address=function(e,t,n){return 32!==h.hexDataLength(t)&&r.throwArgumentError("salt must be 32 bytes","salt",t),32!==h.hexDataLength(n)&&r.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",n),f(h.hexDataSlice(A.keccak256(h.concat(["0xff",f(e),t,n])),12))}}))),_=(r(E),E.getAddress,E.isAddress,E.getIcapAddress,E.getContractAddress,E.getCreate2Address,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=function(e){function t(t){return e.call(this,"address","address",t,!1)||this}return o(t,e),t.prototype.encode=function(e,t){try{E.getAddress(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)},t.prototype.decode=function(e){return E.getAddress(h.hexZeroPad(e.readValue().toHexString(),20))},t}(M.Coder);r.AddressCoder=i}))),k=(r(_),_.AddressCoder,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=function(e){function t(t){var r=e.call(this,t.name,t.type,void 0,t.dynamic)||this;return r.coder=t,r}return o(t,e),t.prototype.encode=function(e,t){return this.coder.encode(e,t)},t.prototype.decode=function(e){return this.coder.decode(e)},t}(M.Coder);r.AnonymousCoder=i}))),F=(r(k),k.AnonymousCoder,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=new l.Logger(y.version);function a(e,t,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){var o={};n=t.map((function(e){var t=e.localName;return t||i.throwError("cannot encode object for signature with missing names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),o[t]&&i.throwError("cannot encode object for signature with duplicate names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),o[t]=!0,r[t]}))}else i.throwArgumentError("invalid tuple value","tuple",r);t.length!==n.length&&i.throwArgumentError("types/value length mismatch","tuple",r);var a=new M.Writer(e.wordSize),s=new M.Writer(e.wordSize),u=[];t.forEach((function(e,t){var r=n[t];if(e.dynamic){var o=s.length;e.encode(s,r);var i=a.writeUpdatableValue();u.push((function(e){i(e+o)}))}else e.encode(a,r)})),u.forEach((function(e){e(a.length)}));var c=e.writeBytes(a.data);return c+=e.writeBytes(s.data)}function s(e,t){var r=[],n=e.subReader(0),o=0;t.forEach((function(t){var i=null;if(t.dynamic){var a=e.readValue(),s=n.subReader(a.toNumber());try{i=t.decode(s)}catch(e){if(e.code===l.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}o+=s.consumed}else try{i=t.decode(e)}catch(e){if(e.code===l.Logger.errors.BUFFER_OVERRUN)throw e;(i=e).baseType=t.name,i.name=t.localName,i.type=t.type}null!=i&&r.push(i)})),e.readBytes(o);var i=t.reduce((function(e,t){var r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});t.forEach((function(e,t){var n=e.localName;if(n&&1===i[n]&&("length"===n&&(n="_length"),null==r[n])){var o=r[t];o instanceof Error?Object.defineProperty(r,n,{get:function(){throw o}}):r[n]=o}}));for(var a=function(e){var t=r[e];t instanceof Error&&Object.defineProperty(r,e,{get:function(){throw t}})},s=0;s=0?r:"")+"]",a=-1===r||t.dynamic;return(o=e.call(this,"array",i,n,a)||this).coder=t,o.length=r,o}return o(t,e),t.prototype.encode=function(e,t){Array.isArray(t)||this._throwError("expected array value",t);var r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),i.checkArgumentCount(r,t.length,"coder array"+(this.localName?" "+this.localName:""));for(var n=[],o=0;o>6==2;s++)a++;return a}return e===n.OVERRUN?r.length-t-1:0}function a(e,r){null==r&&(r=t.Utf8ErrorFuncs.error),e=h.arrayify(e);for(var o=[],i=0;i>7!=0){var s=null,u=null;if(192==(224&a))s=1,u=127;else if(224==(240&a))s=2,u=2047;else{if(240!=(248&a)){i+=r(128==(192&a)?n.UNEXPECTED_CONTINUE:n.BAD_PREFIX,i-1,e,o);continue}s=3,u=65535}if(i-1+s>=e.length)i+=r(n.OVERRUN,i-1,e,o);else{for(var l=a&(1<<8-s-1)-1,c=0;c1114111?i+=r(n.OUT_OF_RANGE,i-1-s,e,o,l):l>=55296&&l<=57343?i+=r(n.UTF16_SURROGATE,i-1-s,e,o,l):l<=u?i+=r(n.OVERLONG,i-1-s,e,o,l):o.push(l))}}else o.push(a)}return o}function s(e,t){void 0===t&&(t=r.current),t!=r.current&&(o.checkNormalize(),e=e.normalize(t));for(var n=[],i=0;i>6|192),n.push(63&a|128);else if(55296==(64512&a)){i++;var s=e.charCodeAt(i);if(i>=e.length||56320!=(64512&s))throw new Error("invalid utf-8 string");var u=65536+((1023&a)<<10)+(1023&s);n.push(u>>18|240),n.push(u>>12&63|128),n.push(u>>6&63|128),n.push(63&u|128)}else n.push(a>>12|224),n.push(a>>6&63|128),n.push(63&a|128)}return h.arrayify(n)}function u(e){var t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function c(e){return e.map((function(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))})).join("")}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(r=t.UnicodeNormalizationForm||(t.UnicodeNormalizationForm={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(n=t.Utf8ErrorReason||(t.Utf8ErrorReason={})),t.Utf8ErrorFuncs=Object.freeze({error:function(e,t,r,n,i){return o.throwArgumentError("invalid codepoint at offset "+t+"; "+e,"bytes",r)},ignore:i,replace:function(e,t,r,o,a){return e===n.OVERLONG?(o.push(a),0):(o.push(65533),i(e,t,r))}}),t.toUtf8Bytes=s,t._toEscapedUtf8String=function(e,t){return'"'+a(e,t).map((function(e){if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?u(e):u(55296+((e-=65536)>>10&1023))+u(56320+(1023&e))})).join("")+'"'},t._toUtf8String=c,t.toUtf8String=function(e,t){return c(a(e,t))},t.toUtf8CodePoints=function(e,t){return void 0===t&&(t=r.current),a(s(e,t))}}))),x=(r(D),D.UnicodeNormalizationForm,D.Utf8ErrorReason,D.Utf8ErrorFuncs,D.toUtf8Bytes,D._toEscapedUtf8String,D._toUtf8String,D.toUtf8String,D.toUtf8CodePoints,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.formatBytes32String=function(e){var t=D.toUtf8Bytes(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return h.hexlify(h.concat([t,J.HashZero]).slice(0,32))},t.parseBytes32String=function(e){var t=h.arrayify(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return D.toUtf8String(t.slice(0,r))}}))),I=(r(x),x.formatBytes32String,x.parseBytes32String,n((function(e,t){function r(e,t){t||(t=function(e){return[parseInt(e,16)]});var r=0,n={};return e.split(",").forEach((function(e){var o=e.split(":");r+=parseInt(o[0],16),n[r]=t(o[1])})),n}function n(e){var t=0;return e.split(",").map((function(e){var r=e.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:t+parseInt(r[0],16),h:t=parseInt(r[1],16)}}))}function o(e,t){for(var r=0,n=0;n=(r+=o.l)&&e<=r+o.h&&(e-r)%(o.d||1)==0){if(o.e&&-1!==o.e.indexOf(e-r))continue;return o}}return null}Object.defineProperty(t,"__esModule",{value:!0});var i=n("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),a="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(e){return parseInt(e,16)})),s=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],u=r("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),l=r("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),c=r("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(e){if(e.length%4!=0)throw new Error("bad data");for(var t=[],r=0;r=0)return[];if(e>=65024&&e<=65039)return[];var t=d(e);return t||[e]})),r=t.reduce((function(e,t){return t.forEach((function(t){e.push(t)})),e}),[]),(r=D.toUtf8CodePoints(D._toUtf8String(r),D.UnicodeNormalizationForm.NFKC)).forEach((function(e){if(p(e))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),r.forEach((function(e){if(f(e))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var n=D._toUtf8String(r);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}}))),X=(r(I),I._nameprepTableA1,I._nameprepTableB2,I._nameprepTableC,I.nameprep,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.formatBytes32String=x.formatBytes32String,t.parseBytes32String=x.parseBytes32String,t.nameprep=I.nameprep,t._toEscapedUtf8String=D._toEscapedUtf8String,t.toUtf8Bytes=D.toUtf8Bytes,t.toUtf8CodePoints=D.toUtf8CodePoints,t.toUtf8String=D.toUtf8String,t.UnicodeNormalizationForm=D.UnicodeNormalizationForm,t.Utf8ErrorFuncs=D.Utf8ErrorFuncs,t.Utf8ErrorReason=D.Utf8ErrorReason}))),H=(r(X),X.formatBytes32String,X.parseBytes32String,X.nameprep,X._toEscapedUtf8String,X.toUtf8Bytes,X.toUtf8CodePoints,X.toUtf8String,X.UnicodeNormalizationForm,X.Utf8ErrorFuncs,X.Utf8ErrorReason,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=function(e){function t(t){return e.call(this,"string",t)||this}return o(t,e),t.prototype.encode=function(t,r){return e.prototype.encode.call(this,t,X.toUtf8Bytes(r))},t.prototype.decode=function(t){return X.toUtf8String(e.prototype.decode.call(this,t))},t}(B.DynamicBytesCoder);r.StringCoder=i}))),U=(r(H),H.StringCoder,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=function(e){function t(t,r){var n=this,o=!1,i=[];t.forEach((function(e){e.dynamic&&(o=!0),i.push(e.type)}));var a="tuple("+i.join(",")+")";return(n=e.call(this,"tuple",a,r,o)||this).coders=t,n}return o(t,e),t.prototype.encode=function(e,t){return F.pack(e,this.coders,t)},t.prototype.decode=function(e){return e.coerce(this.name,F.unpack(e,this.coders))},t}(M.Coder);r.TupleCoder=i}))),G=(r(U),U.TupleCoder,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(y.version),n=new RegExp(/^bytes([0-9]*)$/),o=new RegExp(/^(u?int)([0-9]*)$/),i=function(){function e(t){var n=this.constructor;r.checkNew(n,e),v.defineReadOnly(this,"coerceFunc",t||null)}return e.prototype._getCoder=function(e){var t=this;switch(e.baseType){case"address":return new _.AddressCoder(e.name);case"bool":return new C.BooleanCoder(e.name);case"string":return new H.StringCoder(e.name);case"bytes":return new B.BytesCoder(e.name);case"array":return new F.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new U.TupleCoder((e.components||[]).map((function(e){return t._getCoder(e)})),e.name);case"":return new O.NullCoder(e.name)}var i,a=e.type.match(o);return a?((0===(i=parseInt(a[2]||"256"))||i>256||i%8!=0)&&r.throwArgumentError("invalid "+a[1]+" bit length","param",e),new R.NumberCoder(i/8,"int"===a[1],e.name)):(a=e.type.match(n))?((0===(i=parseInt(a[1]))||i>32)&&r.throwArgumentError("invalid bytes length","param",e),new L.FixedBytesCoder(i,e.name)):r.throwArgumentError("invalid type","type",e.type)},e.prototype._getWordSize=function(){return 32},e.prototype._getReader=function(e){return new M.Reader(e,this._getWordSize(),this.coerceFunc)},e.prototype._getWriter=function(){return new M.Writer(this._getWordSize())},e.prototype.encode=function(e,t){var n=this;e.length!==t.length&&r.throwError("types/values length mismatch",l.Logger.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var o=e.map((function(e){return n._getCoder(b.ParamType.from(e))})),i=new U.TupleCoder(o,"_"),a=this._getWriter();return i.encode(a,t),a.data},e.prototype.decode=function(e,t){var r=this,n=e.map((function(e){return r._getCoder(b.ParamType.from(e))}));return new U.TupleCoder(n,"_").decode(this._getReader(h.arrayify(t)))},e}();t.AbiCoder=i,t.defaultAbiCoder=new i}))),z=(r(G),G.AbiCoder,G.defaultAbiCoder,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="hash/5.0.1"}))),V=(r(z),z.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(z.version),n=new Uint8Array([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]),o=new RegExp("^((.*)\\.)?([^.]+)$");t.isValidName=function(e){try{for(var t=e.split("."),r=0;r1&&i.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var o=this.functions[b.FunctionFragment.fromString(e).format()];return o||i.throwArgumentError("no matching function","signature",e),o},e.prototype.getEvent=function(e){if(h.isHexString(e)){var t=e.toLowerCase();for(var r in this.events)if(t===this.getEventTopic(r))return this.events[r];i.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){var n=e.trim(),o=Object.keys(this.events).filter((function(e){return e.split("(")[0]===n}));return 0===o.length?i.throwArgumentError("no matching event","name",n):o.length>1&&i.throwArgumentError("multiple matching events","name",n),this.events[o[0]]}var a=this.events[b.EventFragment.fromString(e).format()];return a||i.throwArgumentError("no matching event","signature",e),a},e.prototype.getSighash=function(e){return"string"==typeof e&&(e=this.getFunction(e)),v.getStatic(this.constructor,"getSighash")(e)},e.prototype.getEventTopic=function(e){return"string"==typeof e&&(e=this.getEvent(e)),v.getStatic(this.constructor,"getEventTopic")(e)},e.prototype._decodeParams=function(e,t){return this._abiCoder.decode(e,t)},e.prototype._encodeParams=function(e,t){return this._abiCoder.encode(e,t)},e.prototype.encodeDeploy=function(e){return this._encodeParams(this.deploy.inputs,e||[])},e.prototype.decodeFunctionData=function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=h.arrayify(t);return h.hexlify(r.slice(0,4))!==this.getSighash(e)&&i.throwArgumentError("data signature does not match function "+e.name+".","data",h.hexlify(r)),this._decodeParams(e.inputs,r.slice(4))},e.prototype.encodeFunctionData=function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),h.hexlify(h.concat([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))},e.prototype.decodeFunctionResult=function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=h.arrayify(t),n=null,o=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:"0x08c379a0"===h.hexlify(r.slice(0,4))&&(o="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return i.throwError("call revert exception",l.Logger.errors.CALL_EXCEPTION,{method:e.format(),errorSignature:o,errorArgs:[n],reason:n})},e.prototype.encodeFunctionResult=function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),h.hexlify(this._abiCoder.encode(e.outputs,t||[]))},e.prototype.encodeFilterTopics=function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&i.throwError("too many arguments for "+e.format(),l.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});var n=[];e.anonymous||n.push(this.getEventTopic(e));var o=function(e,t){return"string"===e.type?V.id(t):"bytes"===e.type?A.keccak256(h.hexlify(t)):("address"===e.type&&r._abiCoder.encode(["address"],[t]),h.hexZeroPad(h.hexlify(t),32))};for(t.forEach((function(t,r){var a=e.inputs[r];a.indexed?null==t?n.push(null):"array"===a.baseType||"tuple"===a.baseType?i.throwArgumentError("filtering with tuples or arrays not supported","contract."+a.name,t):Array.isArray(t)?n.push(t.map((function(e){return o(a,e)}))):n.push(o(a,t)):null!=t&&i.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+a.name,t)}));n.length&&null===n[n.length-1];)n.pop();return n},e.prototype.encodeEventLog=function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e));var n=[],o=[],a=[];return e.anonymous||n.push(this.getEventTopic(e)),t.length!==e.inputs.length&&i.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((function(e,i){var s=t[i];if(e.indexed)if("string"===e.type)n.push(V.id(s));else if("bytes"===e.type)n.push(A.keccak256(s));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([e.type],[s]))}else o.push(e),a.push(s)})),{data:this._abiCoder.encode(o,a),topics:n}},e.prototype.decodeEventLog=function(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){var n=this.getEventTopic(e);h.isHexString(r[0],32)&&r[0].toLowerCase()===n||i.throwError("fragment/topic mismatch",l.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var o=[],a=[],s=[];e.inputs.forEach((function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(o.push(b.ParamType.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(o.push(e),s.push(!1)):(a.push(e),s.push(!1))}));var f=null!=r?this._abiCoder.decode(o,h.concat(r)):null,d=this._abiCoder.decode(a,t),p=[],g=0,m=0;e.inputs.forEach((function(e,t){if(e.indexed)if(null==f)p[t]=new u({_isIndexed:!0,hash:null});else if(s[t])p[t]=new u({_isIndexed:!0,hash:f[m++]});else try{p[t]=f[m++]}catch(e){p[t]=e}else try{p[t]=d[g++]}catch(e){p[t]=e}if(e.name&&null==p[e.name]){var r=p[t];r instanceof Error?Object.defineProperty(p,e.name,{get:function(){throw c("property "+JSON.stringify(e.name),r)}}):p[e.name]=r}}));for(var v=function(e){var t=p[e];t instanceof Error&&Object.defineProperty(p,e,{get:function(){throw c("index "+e,t)}})},y=0;y0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]1)){var r=t[0];null==s[e]&&v.defineReadOnly(s,e,s[r]),null==s.functions[e]&&v.defineReadOnly(s.functions,e,s.functions[r]),null==s.callStatic[e]&&v.defineReadOnly(s.callStatic,e,s.callStatic[r]),null==s.populateTransaction[e]&&v.defineReadOnly(s.populateTransaction,e,s.populateTransaction[r]),null==s.estimateGas[e]&&v.defineReadOnly(s.estimateGas,e,s.estimateGas[r])}}))}return e.getContractAddress=function(e){return E.getContractAddress(e)},e.getInterface=function(e){return Z.Interface.isInterface(e)?e:new Z.Interface(e)},e.prototype.deployed=function(){return this._deployed()},e.prototype._deployed=function(e){var t=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return t})):this._deployedPromise=this.provider.getCode(this.address,e).then((function(e){return"0x"===e&&u.throwError("contract not deployed",l.Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:t.address,operation:"getDeployed"}),t}))),this._deployedPromise},e.prototype.fallback=function(e){var t=this;this.signer||u.throwError("sending a transactions require a signer",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var r=v.shallowCopy(e||{});return["from","to"].forEach((function(e){null!=r[e]&&u.throwError("cannot override "+e,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:e})})),r.to=this.resolvedAddress,this.deployed().then((function(){return t.signer.sendTransaction(r)}))},e.prototype.connect=function(e){"string"==typeof e&&(e=new W.VoidSigner(e,this.provider));var t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&v.defineReadOnly(t,"deployTransaction",this.deployTransaction),t},e.prototype.attach=function(e){return new this.constructor(e,this.interface,this.signer||this.provider)},e.isIndexed=function(e){return Z.Indexed.isIndexed(e)},e.prototype._normalizeRunningEvent=function(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e},e.prototype._getRunningEvent=function(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new w);if("event"===e)return this._normalizeRunningEvent(new M("event",null));if("*"===e)return this._normalizeRunningEvent(new S(this.address,this.interface));var t=this.interface.getEvent(e);return this._normalizeRunningEvent(new A(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{var r=e.topics[0];if("string"!=typeof r)throw new Error("invalid topic");t=this.interface.getEvent(r);return this._normalizeRunningEvent(new A(this.address,this.interface,t,e.topics))}catch(e){}var n={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new M(b(n),n))}return this._normalizeRunningEvent(new S(this.address,this.interface))},e.prototype._checkRunningEvents=function(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];var t=this._wrappedEmits[e.tag];t&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}},e.prototype._wrapEvent=function(e,t,r){var n=this,o=v.deepCopy(t);return o.removeListener=function(){r&&(e.removeListener(r),n._checkRunningEvents(e))},o.getBlock=function(){return n.provider.getBlock(t.blockHash)},o.getTransaction=function(){return n.provider.getTransaction(t.transactionHash)},o.getTransactionReceipt=function(){return n.provider.getTransactionReceipt(t.transactionHash)},e.prepareEvent(o),o},e.prototype._addEventListener=function(e,t,r){var n=this;if(this.provider||u.throwError("events require a provider or a signer with a provider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,r),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){var o=function(r){var o=n._wrapEvent(e,r,t);if(null==o.decodeError)try{var i=e.getEmit(o);n.emit.apply(n,s([e.filter],i))}catch(e){o.decodeError=e.error}null!=e.filter&&n.emit("event",o),null!=o.decodeError&&n.emit("error",o.decodeError,o)};this._wrappedEmits[e.tag]=o,null!=e.filter&&this.provider.on(e.filter,o)}},e.prototype.queryFilter=function(e,t,r){var n=this,o=this._getRunningEvent(e),i=v.shallowCopy(o.filter);return"string"==typeof t&&h.isHexString(t,32)?(null!=r&&u.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=r?r:"latest"),this.provider.getLogs(i).then((function(e){return e.map((function(e){return n._wrapEvent(o,e,null)}))}))},e.prototype.on=function(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this},e.prototype.once=function(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this},e.prototype.emit=function(e){for(var t=[],r=1;r0;return this._checkRunningEvents(n),o},e.prototype.listenerCount=function(e){return this.provider?this._getRunningEvent(e).listenerCount():0},e.prototype.listeners=function(e){if(!this.provider)return[];if(null==e){var t=[];for(var r in this._runningEvents)this._runningEvents[r].listeners().forEach((function(e){t.push(e)}));return t}return this._getRunningEvent(e).listeners()},e.prototype.removeAllListeners=function(e){if(!this.provider)return this;if(null==e){for(var t in this._runningEvents){var r=this._runningEvents[t];r.removeAllListeners(),this._checkRunningEvents(r)}return this}var n=this._getRunningEvent(e);return n.removeAllListeners(),this._checkRunningEvents(n),this},e.prototype.off=function(e,t){if(!this.provider)return this;var r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this},e.prototype.removeListener=function(e,t){return this.off(e,t)},e}();r.Contract=T;var P=function(){function e(e,t,r){var n=this.constructor,o=null;"0x"!==(o="string"==typeof t?t:h.isBytes(t)?h.hexlify(t):t&&"string"==typeof t.object?t.object:"!").substring(0,2)&&(o="0x"+o),(!h.isHexString(o)||o.length%2)&&u.throwArgumentError("invalid bytecode","bytecode",t),r&&!W.Signer.isSigner(r)&&u.throwArgumentError("invalid signer","signer",r),v.defineReadOnly(this,"bytecode",o),v.defineReadOnly(this,"interface",v.getStatic(n,"getInterface")(e)),v.defineReadOnly(this,"signer",r||null)}return e.prototype.getDeployTransaction=function(){for(var e=[],t=0;t0;)r.push(o%this.base),o=o/this.base|0}for(var a="",s=0;0===t[s]&&s=0;--u)a+=this.alphabet[r[u]];return a},e.prototype.decode=function(e){if("string"!=typeof e)throw new TypeError("Expected String");var t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(var r=0;r>=8;for(;o>0;)t.push(255&o),o>>=8}for(var a=0;e[a]===this._leader&&a>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function ie(e){return 1===e.length?"0"+e:e}function ae(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var se={inherits:ne,toArray:function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n>8,a=255&o;i?r.push(i,a):r.push(a)}else for(n=0;n>>0}return i},split32:function(e,t){for(var r=new Array(4*e.length),n=0,o=0;n>>24,r[o+1]=i>>>16&255,r[o+2]=i>>>8&255,r[o+3]=255&i):(r[o+3]=i>>>24,r[o+2]=i>>>16&255,r[o+1]=i>>>8&255,r[o]=255&i)}return r},rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,n){return e+t+r+n>>>0},sum32_5:function(e,t,r,n,o){return e+t+r+n+o>>>0},sum64:function(e,t,r,n){var o=e[t],i=n+e[t+1]>>>0,a=(i>>0,e[t+1]=i},sum64_hi:function(e,t,r,n){return(t+n>>>0>>0},sum64_lo:function(e,t,r,n){return t+n>>>0},sum64_4_hi:function(e,t,r,n,o,i,a,s){var u=0,l=t;return u+=(l=l+n>>>0)>>0)>>0)>>0},sum64_4_lo:function(e,t,r,n,o,i,a,s){return t+n+i+s>>>0},sum64_5_hi:function(e,t,r,n,o,i,a,s,u,l){var c=0,h=t;return c+=(h=h+n>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(e,t,r,n,o,i,a,s,u,l){return t+n+i+s+l>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function ue(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var le=ue;ue.prototype.update=function(e,t){if(e=se.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=se.join32(e,0,e.length-r,this.endian);for(var n=0;n>>24&255,n[o++]=e>>>16&255,n[o++]=e>>>8&255,n[o++]=255&e}else for(n[o++]=255&e,n[o++]=e>>>8&255,n[o++]=e>>>16&255,n[o++]=e>>>24&255,n[o++]=0,n[o++]=0,n[o++]=0,n[o++]=0,i=8;i>>3},g1_256:function(e){return he(e,17)^he(e,19)^e>>>10}},me=se.sum32,ve=se.sum32_4,ye=se.sum32_5,be=ge.ch32,Me=ge.maj32,we=ge.s0_256,Ae=ge.s1_256,Se=ge.g0_256,Te=ge.g1_256,Pe=ce.BlockHash,Ee=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function _e(){if(!(this instanceof _e))return new _e;Pe.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Ee,this.W=new Array(64)}se.inherits(_e,Pe);var ke=_e;_e.blockSize=512,_e.outSize=256,_e.hmacStrength=192,_e.padLength=64,_e.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;nthis.blockSize&&(e=(new this.Hash).update(e).digest()),te(e.length<=this.blockSize);for(var t=e.length;t>24&255,c[t.length+1]=f>>16&255,c[t.length+2]=f>>8&255,c[t.length+3]=255&f;var d=h.arrayify(At.computeHmac(o,e,c));i||(i=d.length,s=new Uint8Array(i),a=n-((u=Math.ceil(n/i))-1)*i),s.set(d);for(var p=1;p=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function u(e,t,r,n){for(var o=0,i=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return o}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var o=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&o++,16===t?this._parseHex(e,o):this._parseBase(e,t,o),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},o.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var o=0;o=0;o-=3)a=e[o]|e[o-1]<<8|e[o-2]<<16,this.words[i]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===n)for(o=0,i=0;o>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)o=s(e,r,r+6),this.words[n]|=o<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==t&&(o=s(e,t,r+6),this.words[n]|=o<>>26-i&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,o=1;o<=67108863;o*=t)n++;n--,o=o/t|0;for(var i=e.length-r,a=i%n,s=Math.min(i,i-a)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var o=0|e.words[0],i=0|t.words[0],a=o*i,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var l=1;l>>26,h=67108863&u,f=Math.min(l,t.length-1),d=Math.max(0,l-e.length+1);d<=f;d++){var p=l-d|0;c+=(a=(o=0|e.words[p])*(i=0|t.words[d])+h)/67108864|0,h=67108863&a}r.words[l]=0|h,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}o.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var o=0,i=0,a=0;a>>24-o&16777215)||a!==this.length-1?l[6-u.length]+u+n:u+n,(o+=2)>=26&&(o-=26,a--)}for(0!==i&&(n=i.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var f=c[e],d=h[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(d).toString(e);n=(p=p.idivn(d)).isZero()?g+n:l[f-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return r(void 0!==i),this.toArrayLike(i,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,n){var o=this.byteLength(),i=n||Math.max(1,o);r(o<=i,"byte array longer than desired length"),r(i>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,l=new e(i),c=this.clone();if(u){for(s=0;!c.isZero();s++)a=c.andln(255),c.iushrn(8),l[s]=a;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},o.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var o=0;o0&&(this.words[o]=~this.words[o]&67108863>>26-n),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,o=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var o=0,i=0;i>>26;for(;0!==o&&i>>26;if(this.length=r.length,0!==o)this.words[this.length]=o,this.length++;else if(r!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,o=this.cmp(e);if(0===o)return this.negative=0,this.length=1,this.words[0]=0,this;o>0?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==i&&a>26,this.words[a]=67108863&t;if(0===i&&a>>13,d=0|a[1],p=8191&d,g=d>>>13,m=0|a[2],v=8191&m,y=m>>>13,b=0|a[3],M=8191&b,w=b>>>13,A=0|a[4],S=8191&A,T=A>>>13,P=0|a[5],E=8191&P,_=P>>>13,k=0|a[6],F=8191&k,C=k>>>13,B=0|a[7],L=8191&B,O=B>>>13,J=0|a[8],R=8191&J,N=J>>>13,D=0|a[9],x=8191&D,I=D>>>13,X=0|s[0],H=8191&X,U=X>>>13,G=0|s[1],z=8191&G,V=G>>>13,j=0|s[2],Z=8191&j,K=j>>>13,Q=0|s[3],q=8191&Q,W=Q>>>13,Y=0|s[4],$=8191&Y,ee=Y>>>13,te=0|s[5],re=8191&te,ne=te>>>13,oe=0|s[6],ie=8191&oe,ae=oe>>>13,se=0|s[7],ue=8191&se,le=se>>>13,ce=0|s[8],he=8191&ce,fe=ce>>>13,de=0|s[9],pe=8191&de,ge=de>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(l+(n=Math.imul(h,H))|0)+((8191&(o=(o=Math.imul(h,U))+Math.imul(f,H)|0))<<13)|0;l=((i=Math.imul(f,U))+(o>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(p,H),o=(o=Math.imul(p,U))+Math.imul(g,H)|0,i=Math.imul(g,U);var ve=(l+(n=n+Math.imul(h,z)|0)|0)+((8191&(o=(o=o+Math.imul(h,V)|0)+Math.imul(f,z)|0))<<13)|0;l=((i=i+Math.imul(f,V)|0)+(o>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(v,H),o=(o=Math.imul(v,U))+Math.imul(y,H)|0,i=Math.imul(y,U),n=n+Math.imul(p,z)|0,o=(o=o+Math.imul(p,V)|0)+Math.imul(g,z)|0,i=i+Math.imul(g,V)|0;var ye=(l+(n=n+Math.imul(h,Z)|0)|0)+((8191&(o=(o=o+Math.imul(h,K)|0)+Math.imul(f,Z)|0))<<13)|0;l=((i=i+Math.imul(f,K)|0)+(o>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(M,H),o=(o=Math.imul(M,U))+Math.imul(w,H)|0,i=Math.imul(w,U),n=n+Math.imul(v,z)|0,o=(o=o+Math.imul(v,V)|0)+Math.imul(y,z)|0,i=i+Math.imul(y,V)|0,n=n+Math.imul(p,Z)|0,o=(o=o+Math.imul(p,K)|0)+Math.imul(g,Z)|0,i=i+Math.imul(g,K)|0;var be=(l+(n=n+Math.imul(h,q)|0)|0)+((8191&(o=(o=o+Math.imul(h,W)|0)+Math.imul(f,q)|0))<<13)|0;l=((i=i+Math.imul(f,W)|0)+(o>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(S,H),o=(o=Math.imul(S,U))+Math.imul(T,H)|0,i=Math.imul(T,U),n=n+Math.imul(M,z)|0,o=(o=o+Math.imul(M,V)|0)+Math.imul(w,z)|0,i=i+Math.imul(w,V)|0,n=n+Math.imul(v,Z)|0,o=(o=o+Math.imul(v,K)|0)+Math.imul(y,Z)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(p,q)|0,o=(o=o+Math.imul(p,W)|0)+Math.imul(g,q)|0,i=i+Math.imul(g,W)|0;var Me=(l+(n=n+Math.imul(h,$)|0)|0)+((8191&(o=(o=o+Math.imul(h,ee)|0)+Math.imul(f,$)|0))<<13)|0;l=((i=i+Math.imul(f,ee)|0)+(o>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(E,H),o=(o=Math.imul(E,U))+Math.imul(_,H)|0,i=Math.imul(_,U),n=n+Math.imul(S,z)|0,o=(o=o+Math.imul(S,V)|0)+Math.imul(T,z)|0,i=i+Math.imul(T,V)|0,n=n+Math.imul(M,Z)|0,o=(o=o+Math.imul(M,K)|0)+Math.imul(w,Z)|0,i=i+Math.imul(w,K)|0,n=n+Math.imul(v,q)|0,o=(o=o+Math.imul(v,W)|0)+Math.imul(y,q)|0,i=i+Math.imul(y,W)|0,n=n+Math.imul(p,$)|0,o=(o=o+Math.imul(p,ee)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,ee)|0;var we=(l+(n=n+Math.imul(h,re)|0)|0)+((8191&(o=(o=o+Math.imul(h,ne)|0)+Math.imul(f,re)|0))<<13)|0;l=((i=i+Math.imul(f,ne)|0)+(o>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(F,H),o=(o=Math.imul(F,U))+Math.imul(C,H)|0,i=Math.imul(C,U),n=n+Math.imul(E,z)|0,o=(o=o+Math.imul(E,V)|0)+Math.imul(_,z)|0,i=i+Math.imul(_,V)|0,n=n+Math.imul(S,Z)|0,o=(o=o+Math.imul(S,K)|0)+Math.imul(T,Z)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(M,q)|0,o=(o=o+Math.imul(M,W)|0)+Math.imul(w,q)|0,i=i+Math.imul(w,W)|0,n=n+Math.imul(v,$)|0,o=(o=o+Math.imul(v,ee)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,ee)|0,n=n+Math.imul(p,re)|0,o=(o=o+Math.imul(p,ne)|0)+Math.imul(g,re)|0,i=i+Math.imul(g,ne)|0;var Ae=(l+(n=n+Math.imul(h,ie)|0)|0)+((8191&(o=(o=o+Math.imul(h,ae)|0)+Math.imul(f,ie)|0))<<13)|0;l=((i=i+Math.imul(f,ae)|0)+(o>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(L,H),o=(o=Math.imul(L,U))+Math.imul(O,H)|0,i=Math.imul(O,U),n=n+Math.imul(F,z)|0,o=(o=o+Math.imul(F,V)|0)+Math.imul(C,z)|0,i=i+Math.imul(C,V)|0,n=n+Math.imul(E,Z)|0,o=(o=o+Math.imul(E,K)|0)+Math.imul(_,Z)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(S,q)|0,o=(o=o+Math.imul(S,W)|0)+Math.imul(T,q)|0,i=i+Math.imul(T,W)|0,n=n+Math.imul(M,$)|0,o=(o=o+Math.imul(M,ee)|0)+Math.imul(w,$)|0,i=i+Math.imul(w,ee)|0,n=n+Math.imul(v,re)|0,o=(o=o+Math.imul(v,ne)|0)+Math.imul(y,re)|0,i=i+Math.imul(y,ne)|0,n=n+Math.imul(p,ie)|0,o=(o=o+Math.imul(p,ae)|0)+Math.imul(g,ie)|0,i=i+Math.imul(g,ae)|0;var Se=(l+(n=n+Math.imul(h,ue)|0)|0)+((8191&(o=(o=o+Math.imul(h,le)|0)+Math.imul(f,ue)|0))<<13)|0;l=((i=i+Math.imul(f,le)|0)+(o>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(R,H),o=(o=Math.imul(R,U))+Math.imul(N,H)|0,i=Math.imul(N,U),n=n+Math.imul(L,z)|0,o=(o=o+Math.imul(L,V)|0)+Math.imul(O,z)|0,i=i+Math.imul(O,V)|0,n=n+Math.imul(F,Z)|0,o=(o=o+Math.imul(F,K)|0)+Math.imul(C,Z)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(E,q)|0,o=(o=o+Math.imul(E,W)|0)+Math.imul(_,q)|0,i=i+Math.imul(_,W)|0,n=n+Math.imul(S,$)|0,o=(o=o+Math.imul(S,ee)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,ee)|0,n=n+Math.imul(M,re)|0,o=(o=o+Math.imul(M,ne)|0)+Math.imul(w,re)|0,i=i+Math.imul(w,ne)|0,n=n+Math.imul(v,ie)|0,o=(o=o+Math.imul(v,ae)|0)+Math.imul(y,ie)|0,i=i+Math.imul(y,ae)|0,n=n+Math.imul(p,ue)|0,o=(o=o+Math.imul(p,le)|0)+Math.imul(g,ue)|0,i=i+Math.imul(g,le)|0;var Te=(l+(n=n+Math.imul(h,he)|0)|0)+((8191&(o=(o=o+Math.imul(h,fe)|0)+Math.imul(f,he)|0))<<13)|0;l=((i=i+Math.imul(f,fe)|0)+(o>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(x,H),o=(o=Math.imul(x,U))+Math.imul(I,H)|0,i=Math.imul(I,U),n=n+Math.imul(R,z)|0,o=(o=o+Math.imul(R,V)|0)+Math.imul(N,z)|0,i=i+Math.imul(N,V)|0,n=n+Math.imul(L,Z)|0,o=(o=o+Math.imul(L,K)|0)+Math.imul(O,Z)|0,i=i+Math.imul(O,K)|0,n=n+Math.imul(F,q)|0,o=(o=o+Math.imul(F,W)|0)+Math.imul(C,q)|0,i=i+Math.imul(C,W)|0,n=n+Math.imul(E,$)|0,o=(o=o+Math.imul(E,ee)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,ee)|0,n=n+Math.imul(S,re)|0,o=(o=o+Math.imul(S,ne)|0)+Math.imul(T,re)|0,i=i+Math.imul(T,ne)|0,n=n+Math.imul(M,ie)|0,o=(o=o+Math.imul(M,ae)|0)+Math.imul(w,ie)|0,i=i+Math.imul(w,ae)|0,n=n+Math.imul(v,ue)|0,o=(o=o+Math.imul(v,le)|0)+Math.imul(y,ue)|0,i=i+Math.imul(y,le)|0,n=n+Math.imul(p,he)|0,o=(o=o+Math.imul(p,fe)|0)+Math.imul(g,he)|0,i=i+Math.imul(g,fe)|0;var Pe=(l+(n=n+Math.imul(h,pe)|0)|0)+((8191&(o=(o=o+Math.imul(h,ge)|0)+Math.imul(f,pe)|0))<<13)|0;l=((i=i+Math.imul(f,ge)|0)+(o>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(x,z),o=(o=Math.imul(x,V))+Math.imul(I,z)|0,i=Math.imul(I,V),n=n+Math.imul(R,Z)|0,o=(o=o+Math.imul(R,K)|0)+Math.imul(N,Z)|0,i=i+Math.imul(N,K)|0,n=n+Math.imul(L,q)|0,o=(o=o+Math.imul(L,W)|0)+Math.imul(O,q)|0,i=i+Math.imul(O,W)|0,n=n+Math.imul(F,$)|0,o=(o=o+Math.imul(F,ee)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,ee)|0,n=n+Math.imul(E,re)|0,o=(o=o+Math.imul(E,ne)|0)+Math.imul(_,re)|0,i=i+Math.imul(_,ne)|0,n=n+Math.imul(S,ie)|0,o=(o=o+Math.imul(S,ae)|0)+Math.imul(T,ie)|0,i=i+Math.imul(T,ae)|0,n=n+Math.imul(M,ue)|0,o=(o=o+Math.imul(M,le)|0)+Math.imul(w,ue)|0,i=i+Math.imul(w,le)|0,n=n+Math.imul(v,he)|0,o=(o=o+Math.imul(v,fe)|0)+Math.imul(y,he)|0,i=i+Math.imul(y,fe)|0;var Ee=(l+(n=n+Math.imul(p,pe)|0)|0)+((8191&(o=(o=o+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;l=((i=i+Math.imul(g,ge)|0)+(o>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(x,Z),o=(o=Math.imul(x,K))+Math.imul(I,Z)|0,i=Math.imul(I,K),n=n+Math.imul(R,q)|0,o=(o=o+Math.imul(R,W)|0)+Math.imul(N,q)|0,i=i+Math.imul(N,W)|0,n=n+Math.imul(L,$)|0,o=(o=o+Math.imul(L,ee)|0)+Math.imul(O,$)|0,i=i+Math.imul(O,ee)|0,n=n+Math.imul(F,re)|0,o=(o=o+Math.imul(F,ne)|0)+Math.imul(C,re)|0,i=i+Math.imul(C,ne)|0,n=n+Math.imul(E,ie)|0,o=(o=o+Math.imul(E,ae)|0)+Math.imul(_,ie)|0,i=i+Math.imul(_,ae)|0,n=n+Math.imul(S,ue)|0,o=(o=o+Math.imul(S,le)|0)+Math.imul(T,ue)|0,i=i+Math.imul(T,le)|0,n=n+Math.imul(M,he)|0,o=(o=o+Math.imul(M,fe)|0)+Math.imul(w,he)|0,i=i+Math.imul(w,fe)|0;var _e=(l+(n=n+Math.imul(v,pe)|0)|0)+((8191&(o=(o=o+Math.imul(v,ge)|0)+Math.imul(y,pe)|0))<<13)|0;l=((i=i+Math.imul(y,ge)|0)+(o>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,q),o=(o=Math.imul(x,W))+Math.imul(I,q)|0,i=Math.imul(I,W),n=n+Math.imul(R,$)|0,o=(o=o+Math.imul(R,ee)|0)+Math.imul(N,$)|0,i=i+Math.imul(N,ee)|0,n=n+Math.imul(L,re)|0,o=(o=o+Math.imul(L,ne)|0)+Math.imul(O,re)|0,i=i+Math.imul(O,ne)|0,n=n+Math.imul(F,ie)|0,o=(o=o+Math.imul(F,ae)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,ae)|0,n=n+Math.imul(E,ue)|0,o=(o=o+Math.imul(E,le)|0)+Math.imul(_,ue)|0,i=i+Math.imul(_,le)|0,n=n+Math.imul(S,he)|0,o=(o=o+Math.imul(S,fe)|0)+Math.imul(T,he)|0,i=i+Math.imul(T,fe)|0;var ke=(l+(n=n+Math.imul(M,pe)|0)|0)+((8191&(o=(o=o+Math.imul(M,ge)|0)+Math.imul(w,pe)|0))<<13)|0;l=((i=i+Math.imul(w,ge)|0)+(o>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(x,$),o=(o=Math.imul(x,ee))+Math.imul(I,$)|0,i=Math.imul(I,ee),n=n+Math.imul(R,re)|0,o=(o=o+Math.imul(R,ne)|0)+Math.imul(N,re)|0,i=i+Math.imul(N,ne)|0,n=n+Math.imul(L,ie)|0,o=(o=o+Math.imul(L,ae)|0)+Math.imul(O,ie)|0,i=i+Math.imul(O,ae)|0,n=n+Math.imul(F,ue)|0,o=(o=o+Math.imul(F,le)|0)+Math.imul(C,ue)|0,i=i+Math.imul(C,le)|0,n=n+Math.imul(E,he)|0,o=(o=o+Math.imul(E,fe)|0)+Math.imul(_,he)|0,i=i+Math.imul(_,fe)|0;var Fe=(l+(n=n+Math.imul(S,pe)|0)|0)+((8191&(o=(o=o+Math.imul(S,ge)|0)+Math.imul(T,pe)|0))<<13)|0;l=((i=i+Math.imul(T,ge)|0)+(o>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(x,re),o=(o=Math.imul(x,ne))+Math.imul(I,re)|0,i=Math.imul(I,ne),n=n+Math.imul(R,ie)|0,o=(o=o+Math.imul(R,ae)|0)+Math.imul(N,ie)|0,i=i+Math.imul(N,ae)|0,n=n+Math.imul(L,ue)|0,o=(o=o+Math.imul(L,le)|0)+Math.imul(O,ue)|0,i=i+Math.imul(O,le)|0,n=n+Math.imul(F,he)|0,o=(o=o+Math.imul(F,fe)|0)+Math.imul(C,he)|0,i=i+Math.imul(C,fe)|0;var Ce=(l+(n=n+Math.imul(E,pe)|0)|0)+((8191&(o=(o=o+Math.imul(E,ge)|0)+Math.imul(_,pe)|0))<<13)|0;l=((i=i+Math.imul(_,ge)|0)+(o>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(x,ie),o=(o=Math.imul(x,ae))+Math.imul(I,ie)|0,i=Math.imul(I,ae),n=n+Math.imul(R,ue)|0,o=(o=o+Math.imul(R,le)|0)+Math.imul(N,ue)|0,i=i+Math.imul(N,le)|0,n=n+Math.imul(L,he)|0,o=(o=o+Math.imul(L,fe)|0)+Math.imul(O,he)|0,i=i+Math.imul(O,fe)|0;var Be=(l+(n=n+Math.imul(F,pe)|0)|0)+((8191&(o=(o=o+Math.imul(F,ge)|0)+Math.imul(C,pe)|0))<<13)|0;l=((i=i+Math.imul(C,ge)|0)+(o>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(x,ue),o=(o=Math.imul(x,le))+Math.imul(I,ue)|0,i=Math.imul(I,le),n=n+Math.imul(R,he)|0,o=(o=o+Math.imul(R,fe)|0)+Math.imul(N,he)|0,i=i+Math.imul(N,fe)|0;var Le=(l+(n=n+Math.imul(L,pe)|0)|0)+((8191&(o=(o=o+Math.imul(L,ge)|0)+Math.imul(O,pe)|0))<<13)|0;l=((i=i+Math.imul(O,ge)|0)+(o>>>13)|0)+(Le>>>26)|0,Le&=67108863,n=Math.imul(x,he),o=(o=Math.imul(x,fe))+Math.imul(I,he)|0,i=Math.imul(I,fe);var Oe=(l+(n=n+Math.imul(R,pe)|0)|0)+((8191&(o=(o=o+Math.imul(R,ge)|0)+Math.imul(N,pe)|0))<<13)|0;l=((i=i+Math.imul(N,ge)|0)+(o>>>13)|0)+(Oe>>>26)|0,Oe&=67108863;var Je=(l+(n=Math.imul(x,pe))|0)+((8191&(o=(o=Math.imul(x,ge))+Math.imul(I,pe)|0))<<13)|0;return l=((i=Math.imul(I,ge))+(o>>>13)|0)+(Je>>>26)|0,Je&=67108863,u[0]=me,u[1]=ve,u[2]=ye,u[3]=be,u[4]=Me,u[5]=we,u[6]=Ae,u[7]=Se,u[8]=Te,u[9]=Pe,u[10]=Ee,u[11]=_e,u[12]=ke,u[13]=Fe,u[14]=Ce,u[15]=Be,u[16]=Le,u[17]=Oe,u[18]=Je,0!==l&&(u[19]=l,r.length++),r};function p(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=f),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,t):r<63?f(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,o=0,i=0;i>>26)|0)>>>26,a&=67108863}r.words[i]=s,n=a,a=o}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,o,i){for(var a=0;a>>=1)o++;return 1<>>=13,n[2*a+1]=8191&i,i>>>=13;for(a=2*t;a>=26,t+=o/67108864|0,t+=i>>>26,this.words[n]=67108863&i}return 0!==t&&(this.words[n]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>o}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,n=e%26,o=(e-n)/26,i=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==o){for(t=this.length-1;t>=0;t--)this.words[t+o]=this.words[t];for(t=0;t=0),o=t?(t-t%26)/26:0;var i=e%26,a=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<a)for(this.length-=a,l=0;l=0&&(0!==c||l>=o);l--){var h=0|this.words[l];this.words[l]=c<<26-i|h>>>i,c=h&s}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,o=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var o=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[o+n]=67108863&i}for(;o>26,this.words[o+n]=67108863&i;if(0===s)return this.strip();for(r(-1===s),s=0,o=0;o>26,this.words[o]=67108863&i;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,a=0|i.words[i.length-1];0!==(r=26-this._countBits(a))&&(i=i.ushln(r),n.iushln(r),a=0|i.words[i.length-1]);var s,u=n.length-i.length;if("mod"!==t){(s=new o(null)).length=u+1,s.words=new Array(s.length);for(var l=0;l=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/a|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},o.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:i,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,a,s},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),o=e.andln(1),i=r.cmp(n);return i<0||1===o&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,o=this.length-1;o>=0;o--)n=(t*n+(0|this.words[o]))%e;return n},o.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*t;this.words[n]=o/e|0,t=o%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),a=new o(0),s=new o(0),u=new o(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),h=t.clone();!t.isZero();){for(var f=0,d=1;0==(t.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(i.isOdd()||a.isOdd())&&(i.iadd(c),a.isub(h)),i.iushrn(1),a.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(c),u.isub(h)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(s),a.isub(u)):(n.isub(t),s.isub(i),u.isub(a))}return{a:s,b:u,gcd:n.iushln(l)}},o.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,a=new o(1),s=new o(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,c=1;0==(t.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(t.iushrn(l);l-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var h=0,f=1;0==(n.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(n.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(i=0===t.cmpn(1)?a:s).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var o=t.cmp(r);if(o<0){var i=t;t=r,r=i}else if(0===o||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,o=1<>>26,s&=67108863,this.words[a]=s}return 0!==i&&(this.words[a]=i,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var o=0|this.words[0];t=o===e?0:oe.length)return 1;if(this.length=0;r--){var n=0|this.words[r],o=0|e.words[r];if(n!==o){no&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new A(e)},o.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function v(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function M(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function A(e){if("string"==typeof e){var t=o._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function S(e){A.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},v.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(e,t){e.iushrn(this.n,0,t)},v.prototype.imulK=function(e){return e.imul(this.k)},n(y,v),y.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,o=i}o>>>=22,e.words[n-10]=o,0===o&&e.length>10?e.length-=10:e.length-=9},y.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=o,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new y;else if("p224"===e)t=new b;else if("p192"===e)t=new M;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return m[e]=t,t},A.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},A.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},A.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},A.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},A.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},A.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},A.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},A.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},A.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},A.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},A.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},A.prototype.isqr=function(e){return this.imul(e,e.clone())},A.prototype.sqr=function(e){return this.mul(e,e)},A.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new o(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),a=0;!i.isZero()&&0===i.andln(1);)a++,i.iushrn(1);r(!i.isZero());var s=new o(1).toRed(this),u=s.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new o(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var h=this.pow(c,i),f=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=a;0!==d.cmp(s);){for(var g=d,m=0;0!==g.cmp(s);m++)g=g.redSqr();r(m=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var h=l>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==a?(a<<=1,a|=h,(4===++s||0===n&&0===c)&&(i=this.mul(i,r[a]),s=0,a=0)):s=0}u=26}return i},A.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},A.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new S(e)},n(S,A),S.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},S.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},S.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),i=o;return o.cmp(this.m)>=0?i=o.isub(this.m):o.cmpn(0)<0&&(i=o.iadd(this.m)),i._forceRed(this)},S.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},S.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,t)})),_t=n((function(e,t){var r=t;function n(e){return 1===e.length?"0"+e:e}function o(e){for(var t="",r=0;r>8,a=255&o;i?r.push(i,a):r.push(a)}return r},r.zero2=n,r.toHex=o,r.encode=function(e,t){return"hex"===t?o(e):e}})),kt=n((function(e,t){var r=t;r.assert=te,r.toArray=_t.toArray,r.zero2=_t.zero2,r.toHex=_t.toHex,r.encode=_t.encode,r.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var o=1<(o>>1)-1?(o>>1)-u:u,i.isubn(s)):s=0,n[a]=s,i.iushrn(1)}return n},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,o=0;e.cmpn(-n)>0||t.cmpn(-o)>0;){var i,a,s,u=e.andln(3)+n&3,l=t.andln(3)+o&3;if(3===u&&(u=-1),3===l&&(l=-1),0==(1&u))i=0;else i=3!==(s=e.andln(7)+n&7)&&5!==s||2!==l?u:-u;if(r[0].push(i),0==(1&l))a=0;else a=3!==(s=t.andln(7)+o&7)&&5!==s||2!==u?l:-l;r[1].push(a),2*n===i+1&&(n=1-n),2*o===a+1&&(o=1-o),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new Et(e,"hex","le")}})),Ft=function(e){var r=new Uint8Array(e);return(t.crypto||t.msCrypto).getRandomValues(r),r},Ct=kt.getNAF,Bt=kt.getJSF,Lt=kt.assert;function Ot(e,t){this.type=e,this.p=new Et(t.p,16),this.red=t.prime?Et.red(t.prime):Et.mont(this.p),this.zero=new Et(0).toRed(this.red),this.one=new Et(1).toRed(this.red),this.two=new Et(2).toRed(this.red),this.n=t.n&&new Et(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Jt=Ot;function Rt(e,t){this.curve=e,this.type=t,this.precomputed=null}Ot.prototype.point=function(){throw new Error("Not implemented")},Ot.prototype.validate=function(){throw new Error("Not implemented")},Ot.prototype._fixedNafMul=function(e,t){Lt(e.precomputed);var r=e._getDoubles(),n=Ct(t,1,this._bitLength),o=(1<=a;t--)s=(s<<1)+n[t];i.push(s)}for(var u=this.jpoint(null,null,null),l=this.jpoint(null,null,null),c=o;c>0;c--){for(a=0;a=0;s--){for(t=0;s>=0&&0===i[s];s--)t++;if(s>=0&&t++,a=a.dblp(t),s<0)break;var u=i[s];Lt(0!==u),a="affine"===e.type?u>0?a.mixedAdd(o[u-1>>1]):a.mixedAdd(o[-u-1>>1].neg()):u>0?a.add(o[u-1>>1]):a.add(o[-u-1>>1].neg())}return"affine"===e.type?a.toP():a},Ot.prototype._wnafMulAdd=function(e,t,r,n,o){for(var i=this._wnafT1,a=this._wnafT2,s=this._wnafT3,u=0,l=0;l=1;l-=2){var h=l-1,f=l;if(1===i[h]&&1===i[f]){var d=[t[h],null,null,t[f]];0===t[h].y.cmp(t[f].y)?(d[1]=t[h].add(t[f]),d[2]=t[h].toJ().mixedAdd(t[f].neg())):0===t[h].y.cmp(t[f].y.redNeg())?(d[1]=t[h].toJ().mixedAdd(t[f]),d[2]=t[h].add(t[f].neg())):(d[1]=t[h].toJ().mixedAdd(t[f]),d[2]=t[h].toJ().mixedAdd(t[f].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],g=Bt(r[h],r[f]);u=Math.max(g[0].length,u),s[h]=new Array(u),s[f]=new Array(u);for(var m=0;m=0;l--){for(var w=0;l>=0;){var A=!0;for(m=0;m=0&&w++,b=b.dblp(w),l<0)break;for(m=0;m0?S=a[m][T-1>>1]:T<0&&(S=a[m][-T-1>>1].neg()),b="affine"===S.type?b.mixedAdd(S):b.add(S))}}for(l=0;l=Math.ceil((e.bitLength()+1)/t.step)},Rt.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,o=0;o=0&&(i=t,a=r),n.negative&&(n=n.neg(),o=o.neg()),i.negative&&(i=i.neg(),a=a.neg()),[{a:n,b:o},{a:i,b:a}]},Dt.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],o=n.b.mul(e).divRound(this.n),i=r.b.neg().mul(e).divRound(this.n),a=o.mul(r.a),s=i.mul(n.a),u=o.mul(r.b),l=i.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(l).neg()}},Dt.prototype.pointFromX=function(e,t){(e=new Et(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var o=n.fromRed().isOdd();return(t&&!o||!t&&o)&&(n=n.redNeg()),this.point(e,n)},Dt.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),o=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(o).cmpn(0)},Dt.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,o=this._endoWnafT2,i=0;i":""},It.prototype.isInfinity=function(){return this.inf},It.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},It.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),o=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),i=o.redSqr().redISub(this.x.redAdd(this.x)),a=o.redMul(this.x.redSub(i)).redISub(this.y);return this.curve.point(i,a)},It.prototype.getX=function(){return this.x.fromRed()},It.prototype.getY=function(){return this.y.fromRed()},It.prototype.mul=function(e){return e=new Et(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},It.prototype.mulAdd=function(e,t,r){var n=[this,t],o=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,o):this.curve._wnafMulAdd(1,n,o,2)},It.prototype.jmulAdd=function(e,t,r){var n=[this,t],o=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,o,!0):this.curve._wnafMulAdd(1,n,o,2,!0)},It.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},It.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},It.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},ne(Xt,Jt.BasePoint),Dt.prototype.jpoint=function(e,t,r){return new Xt(this,e,t,r)},Xt.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},Xt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Xt.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),o=e.x.redMul(r),i=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=n.redSub(o),u=i.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=s.redSqr(),c=l.redMul(s),h=n.redMul(l),f=u.redSqr().redIAdd(c).redISub(h).redISub(h),d=u.redMul(h.redISub(f)).redISub(i.redMul(c)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(f,d,p)},Xt.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),o=this.y,i=e.y.redMul(t).redMul(this.z),a=r.redSub(n),s=o.redSub(i);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),c=r.redMul(u),h=s.redSqr().redIAdd(l).redISub(c).redISub(c),f=s.redMul(c.redISub(h)).redISub(o.redMul(l)),d=this.z.redMul(a);return this.curve.jpoint(h,f,d)},Xt.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r=0)return!1;if(r.redIAdd(o),0===this.x.cmp(r))return!0}},Xt.prototype.inspect=function(){return this.isInfinity()?"":""},Xt.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ht={},Ut={},Gt=n((function(e,t){var r=t;r.base=Jt,r.short=xt,r.mont=Ht,r.edwards=Ut})),zt=n((function(e,t){var r,n=t,o=kt.assert;function i(e){"short"===e.type?this.curve=new Gt.short(e):"edwards"===e.type?this.curve=new Gt.edwards(e):this.curve=new Gt.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new i(t);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=i,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Mt.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Mt.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Mt.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Mt.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Mt.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Mt.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Mt.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=void 0}catch(e){r=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Mt.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function Vt(e){if(!(this instanceof Vt))return new Vt(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=_t.toArray(e.entropy,e.entropyEnc||"hex"),r=_t.toArray(e.nonce,e.nonceEnc||"hex"),n=_t.toArray(e.pers,e.persEnc||"hex");te(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var jt=Vt;Vt.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var o=0;o=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},Vt.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=_t.toArray(r,n||"hex"),this._update(r));for(var o=[];o.length"};var qt=kt.assert;function Wt(e,t){if(e instanceof Wt)return e;this._importDER(e,t)||(qt(e.r&&e.s,"Signature without r or s"),this.r=new Et(e.r,16),this.s=new Et(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var Yt=Wt;function $t(){this.place=0}function er(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,o=0,i=0,a=t.place;i>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}Wt.prototype._importDER=function(e,t){e=kt.toArray(e,t);var r=new $t;if(48!==e[r.place++])return!1;if(er(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var n=er(e,r),o=e.slice(r.place,n+r.place);if(r.place+=n,2!==e[r.place++])return!1;var i=er(e,r);if(e.length!==i+r.place)return!1;var a=e.slice(r.place,i+r.place);return 0===o[0]&&128&o[1]&&(o=o.slice(1)),0===a[0]&&128&a[1]&&(a=a.slice(1)),this.r=new Et(o),this.s=new Et(a),this.recoveryParam=null,!0},Wt.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=tr(t),r=tr(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];rr(n,t.length),(n=n.concat(t)).push(2),rr(n,r.length);var o=n.concat(r),i=[48];return rr(i,o.length),i=i.concat(o),kt.encode(i,e)};var nr=kt.assert;function or(e){if(!(this instanceof or))return new or(e);"string"==typeof e&&(nr(zt.hasOwnProperty(e),"Unknown curve "+e),e=zt[e]),e instanceof zt.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var ir=or;or.prototype.keyPair=function(e){return new Qt(this,e)},or.prototype.keyFromPrivate=function(e,t){return Qt.fromPrivate(this,e,t)},or.prototype.keyFromPublic=function(e,t){return Qt.fromPublic(this,e,t)},or.prototype.genKeyPair=function(e){e||(e={});for(var t=new jt({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||Ft(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new Et(2));;){var o=new Et(t.generate(r));if(!(o.cmp(n)>0))return o.iaddn(1),this.keyFromPrivate(o)}},or.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},or.prototype.sign=function(e,t,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new Et(e,16));for(var o=this.n.byteLength(),i=t.getPrivate().toArray("be",o),a=e.toArray("be",o),s=new jt({hash:this.hash,entropy:i,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),u=this.n.sub(new Et(1)),l=0;;l++){var c=n.k?n.k(l):new Et(s.generate(this.n.byteLength()));if(!((c=this._truncateToN(c,!0)).cmpn(1)<=0||c.cmp(u)>=0)){var h=this.g.mul(c);if(!h.isInfinity()){var f=h.getX(),d=f.umod(this.n);if(0!==d.cmpn(0)){var p=c.invm(this.n).mul(d.mul(t.getPrivate()).iadd(e));if(0!==(p=p.umod(this.n)).cmpn(0)){var g=(h.getY().isOdd()?1:0)|(0!==f.cmp(d)?2:0);return n.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),g^=1),new Yt({r:d,s:p,recoveryParam:g})}}}}}},or.prototype.verify=function(e,t,r,n){e=this._truncateToN(new Et(e,16)),r=this.keyFromPublic(r,n);var o=(t=new Yt(t,"hex")).r,i=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;var a,s=i.invm(this.n),u=s.mul(e).umod(this.n),l=s.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(u,r.getPublic(),l)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(u,r.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},or.prototype.recoverPubKey=function(e,t,r,n){nr((3&r)===r,"The recovery param is more than two bits"),t=new Yt(t,n);var o=this.n,i=new Et(e),a=t.r,s=t.s,u=1&r,l=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");a=l?this.curve.pointFromX(a.add(this.curve.n),u):this.curve.pointFromX(a,u);var c=t.r.invm(o),h=o.sub(i).mul(c).umod(o),f=s.mul(c).umod(o);return this.g.mulAdd(h,a,f)},or.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new Yt(t,n)).recoveryParam)return t.recoveryParam;for(var o=0;o<4;o++){var i;try{i=this.recoverPubKey(e,t,o)}catch(e){continue}if(i.eq(r))return o}throw new Error("Unable to find valid recovery factor")};var ar,sr={},ur=o(Pt),lr=n((function(e,t){var r=t;r.version=ur.version,r.utils=kt,r.rand=Ft,r.curve=Gt,r.curves=zt,r.ec=ir,r.eddsa=sr})),cr=(lr.ec,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="signing-key/5.0.1"}))),hr=(r(cr),cr.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(cr.version),n=null;function o(){return n||(n=new lr.ec("secp256k1")),n}var i=function(){function e(e){v.defineReadOnly(this,"curve","secp256k1"),v.defineReadOnly(this,"privateKey",h.hexlify(e));var t=o().keyFromPrivate(h.arrayify(this.privateKey));v.defineReadOnly(this,"publicKey","0x"+t.getPublic(!1,"hex")),v.defineReadOnly(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),v.defineReadOnly(this,"_isSigningKey",!0)}return e.prototype._addPoint=function(e){var t=o().keyFromPublic(h.arrayify(this.publicKey)),r=o().keyFromPublic(h.arrayify(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")},e.prototype.signDigest=function(e){var t=o().keyFromPrivate(h.arrayify(this.privateKey)).sign(h.arrayify(e),{canonical:!0});return h.splitSignature({recoveryParam:t.recoveryParam,r:h.hexZeroPad("0x"+t.r.toString(16),32),s:h.hexZeroPad("0x"+t.s.toString(16),32)})},e.prototype.computeSharedSecret=function(e){var t=o().keyFromPrivate(h.arrayify(this.privateKey)),r=o().keyFromPublic(h.arrayify(a(e)));return h.hexZeroPad("0x"+t.derive(r.getPublic()).toString(16),32)},e.isSigningKey=function(e){return!(!e||!e._isSigningKey)},e}();function a(e,t){var n=h.arrayify(e);if(32===n.length){var a=new i(n);return t?"0x"+o().keyFromPrivate(n).getPublic(!0,"hex"):a.publicKey}return 33===n.length?t?h.hexlify(n):"0x"+o().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?t?"0x"+o().keyFromPublic(n).getPublic(!0,"hex"):h.hexlify(n):r.throwArgumentError("invalid public or private key","key","[REDACTED]")}t.SigningKey=i,t.recoverPublicKey=function(e,t){var r=h.splitSignature(t),n={r:h.arrayify(r.r),s:h.arrayify(r.s)};return"0x"+o().recoverPubKey(h.arrayify(e),n,r.recoveryParam).encode("hex",!1)},t.computePublicKey=a}))),fr=(r(hr),hr.SigningKey,hr.recoverPublicKey,hr.computePublicKey,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="transactions/5.0.1"}))),dr=(r(fr),fr.version,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var o=n(T),i=new l.Logger(fr.version);function a(e){return"0x"===e?J.Zero:g.BigNumber.from(e)}var s=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],u={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function c(e){var t=hr.computePublicKey(e);return E.getAddress(h.hexDataSlice(A.keccak256(h.hexDataSlice(t,1)),12))}function f(e,t){return c(hr.recoverPublicKey(h.arrayify(e),t))}r.computeAddress=c,r.recoverAddress=f,r.serialize=function(e,t){v.checkProperties(e,u);var r=[];s.forEach((function(t){var n=e[t.name]||[],o={};t.numeric&&(o.hexPad="left"),n=h.arrayify(h.hexlify(n,o)),t.length&&n.length!==t.length&&n.length>0&&i.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),t.maxLength&&(n=h.stripZeros(n)).length>t.maxLength&&i.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),r.push(h.hexlify(n))}));var n=0;if(null!=e.chainId?"number"!=typeof(n=e.chainId)&&i.throwArgumentError("invalid transaction.chainId","transaction",e):t&&!h.isBytesLike(t)&&t.v>28&&(n=Math.floor((t.v-35)/2)),0!==n&&(r.push(h.hexlify(n)),r.push("0x"),r.push("0x")),!t)return o.encode(r);var a=h.splitSignature(t),l=27+a.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),l+=2*n+8,a.v>28&&a.v!==l&&i.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):a.v!==l&&i.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),r.push(h.hexlify(l)),r.push(h.stripZeros(h.arrayify(a.r))),r.push(h.stripZeros(h.arrayify(a.s))),o.encode(r)},r.parse=function(e){var t=o.decode(e);9!==t.length&&6!==t.length&&i.throwArgumentError("invalid raw transaction","rawTransaction",e);var r,n={nonce:a(t[0]).toNumber(),gasPrice:a(t[1]),gasLimit:a(t[2]),to:(r=t[3],"0x"===r?null:E.getAddress(r)),value:a(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=g.BigNumber.from(t[6]).toNumber()}catch(e){return console.log(e),n}if(n.r=h.hexZeroPad(t[7],32),n.s=h.hexZeroPad(t[8],32),g.BigNumber.from(n.r).isZero()&&g.BigNumber.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var s=n.v-27,u=t.slice(0,6);0!==n.chainId&&(u.push(h.hexlify(n.chainId)),u.push("0x"),u.push("0x"),s-=2*n.chainId+8);var l=A.keccak256(o.encode(u));try{n.from=f(l,{r:h.hexlify(n.r),s:h.hexlify(n.s),recoveryParam:s})}catch(e){console.log(e)}n.hash=A.keccak256(e)}return n}}))),pr=(r(dr),dr.computeAddress,dr.recoverAddress,dr.serialize,dr.parse,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="wordlists/5.0.1"}))),gr=(r(pr),pr.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.logger=new l.Logger(pr.version);var r=function(){function e(r){var n=this.constructor;t.logger.checkAbstract(n,e),v.defineReadOnly(this,"locale",r)}return e.prototype.split=function(e){return e.toLowerCase().split(/ +/g)},e.prototype.join=function(e){return e.join(" ")},e.check=function(e){for(var t=[],r=0;r<2048;r++){var n=e.getWord(r);if(r!==e.getWordIndex(n))return"0x";t.push(n)}return V.id(t.join("\n")+"\n")},e.register=function(e,t){t||(t=e.locale)},e}();t.Wordlist=r}))),mr=(r(gr),gr.logger,gr.Wordlist,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=null;function a(e){if(null==i&&(i="AbdikaceAbecedaAdresaAgreseAkceAktovkaAlejAlkoholAmputaceAnanasAndulkaAnekdotaAnketaAntikaAnulovatArchaAroganceAsfaltAsistentAspiraceAstmaAstronomAtlasAtletikaAtolAutobusAzylBabkaBachorBacilBaculkaBadatelBagetaBagrBahnoBakterieBaladaBaletkaBalkonBalonekBalvanBalzaBambusBankomatBarbarBaretBarmanBarokoBarvaBaterkaBatohBavlnaBazalkaBazilikaBazukaBednaBeranBesedaBestieBetonBezinkaBezmocBeztakBicyklBidloBiftekBikinyBilanceBiografBiologBitvaBizonBlahobytBlatouchBlechaBleduleBleskBlikatBliznaBlokovatBlouditBludBobekBobrBodlinaBodnoutBohatostBojkotBojovatBokorysBolestBorecBoroviceBotaBoubelBouchatBoudaBouleBouratBoxerBradavkaBramboraBrankaBratrBreptaBriketaBrkoBrlohBronzBroskevBrunetkaBrusinkaBrzdaBrzyBublinaBubnovatBuchtaBuditelBudkaBudovaBufetBujarostBukviceBuldokBulvaBundaBunkrBurzaButikBuvolBuzolaBydletBylinaBytovkaBzukotCapartCarevnaCedrCeduleCejchCejnCelaCelerCelkemCelniceCeninaCennostCenovkaCentrumCenzorCestopisCetkaChalupaChapadloCharitaChataChechtatChemieChichotChirurgChladChlebaChlubitChmelChmuraChobotChocholChodbaCholeraChomoutChopitChorobaChovChrapotChrlitChrtChrupChtivostChudinaChutnatChvatChvilkaChvostChybaChystatChytitCibuleCigaretaCihelnaCihlaCinkotCirkusCisternaCitaceCitrusCizinecCizostClonaCokolivCouvatCtitelCtnostCudnostCuketaCukrCupotCvaknoutCvalCvikCvrkotCyklistaDalekoDarebaDatelDatumDceraDebataDechovkaDecibelDeficitDeflaceDeklDekretDemokratDepreseDerbyDeskaDetektivDikobrazDiktovatDiodaDiplomDiskDisplejDivadloDivochDlahaDlouhoDluhopisDnesDobroDobytekDocentDochutitDodnesDohledDohodaDohraDojemDojniceDokladDokolaDoktorDokumentDolarDolevaDolinaDomaDominantDomluvitDomovDonutitDopadDopisDoplnitDoposudDoprovodDopustitDorazitDorostDortDosahDoslovDostatekDosudDosytaDotazDotekDotknoutDoufatDoutnatDovozceDozaduDoznatDozorceDrahotaDrakDramatikDravecDrazeDrdolDrobnostDrogerieDrozdDrsnostDrtitDrzostDubenDuchovnoDudekDuhaDuhovkaDusitDusnoDutostDvojiceDvorecDynamitEkologEkonomieElektronElipsaEmailEmiseEmoceEmpatieEpizodaEpochaEpopejEposEsejEsenceEskortaEskymoEtiketaEuforieEvoluceExekuceExkurzeExpediceExplozeExportExtraktFackaFajfkaFakultaFanatikFantazieFarmacieFavoritFazoleFederaceFejetonFenkaFialkaFigurantFilozofFiltrFinanceFintaFixaceFjordFlanelFlirtFlotilaFondFosforFotbalFotkaFotonFrakceFreskaFrontaFukarFunkceFyzikaGalejeGarantGenetikaGeologGilotinaGlazuraGlejtGolemGolfistaGotikaGrafGramofonGranuleGrepGrilGrogGroteskaGumaHadiceHadrHalaHalenkaHanbaHanopisHarfaHarpunaHavranHebkostHejkalHejnoHejtmanHektarHelmaHematomHerecHernaHesloHezkyHistorikHladovkaHlasivkyHlavaHledatHlenHlodavecHlohHloupostHltatHlubinaHluchotaHmatHmotaHmyzHnisHnojivoHnoutHoblinaHobojHochHodinyHodlatHodnotaHodovatHojnostHokejHolinkaHolkaHolubHomoleHonitbaHonoraceHoralHordaHorizontHorkoHorlivecHormonHorninaHoroskopHorstvoHospodaHostinaHotovostHoubaHoufHoupatHouskaHovorHradbaHraniceHravostHrazdaHrbolekHrdinaHrdloHrdostHrnekHrobkaHromadaHrotHroudaHrozenHrstkaHrubostHryzatHubenostHubnoutHudbaHukotHumrHusitaHustotaHvozdHybnostHydrantHygienaHymnaHysterikIdylkaIhnedIkonaIluzeImunitaInfekceInflaceInkasoInovaceInspekceInternetInvalidaInvestorInzerceIronieJablkoJachtaJahodaJakmileJakostJalovecJantarJarmarkJaroJasanJasnoJatkaJavorJazykJedinecJedleJednatelJehlanJekotJelenJelitoJemnostJenomJepiceJeseterJevitJezdecJezeroJinakJindyJinochJiskraJistotaJitrniceJizvaJmenovatJogurtJurtaKabaretKabelKabinetKachnaKadetKadidloKahanKajakKajutaKakaoKaktusKalamitaKalhotyKalibrKalnostKameraKamkolivKamnaKanibalKanoeKantorKapalinaKapelaKapitolaKapkaKapleKapotaKaprKapustaKapybaraKaramelKarotkaKartonKasaKatalogKatedraKauceKauzaKavalecKazajkaKazetaKazivostKdekolivKdesiKedlubenKempKeramikaKinoKlacekKladivoKlamKlapotKlasikaKlaunKlecKlenbaKlepatKlesnoutKlidKlimaKlisnaKloboukKlokanKlopaKloubKlubovnaKlusatKluzkostKmenKmitatKmotrKnihaKnotKoaliceKoberecKobkaKoblihaKobylaKocourKohoutKojenecKokosKoktejlKolapsKoledaKolizeKoloKomandoKometaKomikKomnataKomoraKompasKomunitaKonatKonceptKondiceKonecKonfeseKongresKoninaKonkursKontaktKonzervaKopanecKopieKopnoutKoprovkaKorbelKorektorKormidloKoroptevKorpusKorunaKorytoKorzetKosatecKostkaKotelKotletaKotoulKoukatKoupelnaKousekKouzloKovbojKozaKozorohKrabiceKrachKrajinaKralovatKrasopisKravataKreditKrejcarKresbaKrevetaKriketKritikKrizeKrkavecKrmelecKrmivoKrocanKrokKronikaKropitKroupaKrovkaKrtekKruhadloKrupiceKrutostKrvinkaKrychleKryptaKrystalKrytKudlankaKufrKujnostKuklaKulajdaKulichKulkaKulometKulturaKunaKupodivuKurtKurzorKutilKvalitaKvasinkaKvestorKynologKyselinaKytaraKyticeKytkaKytovecKyvadloLabradorLachtanLadnostLaikLakomecLamelaLampaLanovkaLasiceLasoLasturaLatinkaLavinaLebkaLeckdyLedenLedniceLedovkaLedvinaLegendaLegieLegraceLehceLehkostLehnoutLektvarLenochodLentilkaLepenkaLepidloLetadloLetecLetmoLetokruhLevhartLevitaceLevobokLibraLichotkaLidojedLidskostLihovinaLijavecLilekLimetkaLinieLinkaLinoleumListopadLitinaLitovatLobistaLodivodLogikaLogopedLokalitaLoketLomcovatLopataLopuchLordLososLotrLoudalLouhLoukaLouskatLovecLstivostLucernaLuciferLumpLuskLustraceLviceLyraLyrikaLysinaMadamMadloMagistrMahagonMajetekMajitelMajoritaMakakMakoviceMakrelaMalbaMalinaMalovatMalviceMaminkaMandleMankoMarnostMasakrMaskotMasopustMaticeMatrikaMaturitaMazanecMazivoMazlitMazurkaMdlobaMechanikMeditaceMedovinaMelasaMelounMentolkaMetlaMetodaMetrMezeraMigraceMihnoutMihuleMikinaMikrofonMilenecMilimetrMilostMimikaMincovnaMinibarMinometMinulostMiskaMistrMixovatMladostMlhaMlhovinaMlokMlsatMluvitMnichMnohemMobilMocnostModelkaModlitbaMohylaMokroMolekulaMomentkaMonarchaMonoklMonstrumMontovatMonzunMosazMoskytMostMotivaceMotorkaMotykaMouchaMoudrostMozaikaMozekMozolMramorMravenecMrkevMrtvolaMrzetMrzutostMstitelMudrcMuflonMulatMumieMuniceMusetMutaceMuzeumMuzikantMyslivecMzdaNabouratNachytatNadaceNadbytekNadhozNadobroNadpisNahlasNahnatNahodileNahraditNaivitaNajednouNajistoNajmoutNaklonitNakonecNakrmitNalevoNamazatNamluvitNanometrNaokoNaopakNaostroNapadatNapevnoNaplnitNapnoutNaposledNaprostoNaroditNarubyNarychloNasaditNasekatNaslepoNastatNatolikNavenekNavrchNavzdoryNazvatNebeNechatNeckyNedalekoNedbatNeduhNegaceNehetNehodaNejenNejprveNeklidNelibostNemilostNemocNeochotaNeonkaNepokojNerostNervNesmyslNesouladNetvorNeuronNevinaNezvykleNicotaNijakNikamNikdyNiklNikterakNitroNoclehNohaviceNominaceNoraNorekNositelNosnostNouzeNovinyNovotaNozdraNudaNudleNugetNutitNutnostNutrieNymfaObalObarvitObavaObdivObecObehnatObejmoutObezitaObhajobaObilniceObjasnitObjektObklopitOblastOblekOblibaOblohaObludaObnosObohatitObojekOboutObrazecObrnaObrubaObrysObsahObsluhaObstaratObuvObvazObvinitObvodObvykleObyvatelObzorOcasOcelOcenitOchladitOchotaOchranaOcitnoutOdbojOdbytOdchodOdcizitOdebratOdeslatOdevzdatOdezvaOdhadceOdhoditOdjetOdjinudOdkazOdkoupitOdlivOdlukaOdmlkaOdolnostOdpadOdpisOdploutOdporOdpustitOdpykatOdrazkaOdsouditOdstupOdsunOdtokOdtudOdvahaOdvetaOdvolatOdvracetOdznakOfinaOfsajdOhlasOhniskoOhradaOhrozitOhryzekOkapOkeniceOklikaOknoOkouzlitOkovyOkrasaOkresOkrsekOkruhOkupantOkurkaOkusitOlejninaOlizovatOmakOmeletaOmezitOmladinaOmlouvatOmluvaOmylOnehdyOpakovatOpasekOperaceOpiceOpilostOpisovatOporaOpoziceOpravduOprotiOrbitalOrchestrOrgieOrliceOrlojOrtelOsadaOschnoutOsikaOsivoOslavaOslepitOslnitOslovitOsnovaOsobaOsolitOspalecOstenOstrahaOstudaOstychOsvojitOteplitOtiskOtopOtrhatOtrlostOtrokOtrubyOtvorOvanoutOvarOvesOvlivnitOvoceOxidOzdobaPachatelPacientPadouchPahorekPaktPalandaPalecPalivoPalubaPamfletPamlsekPanenkaPanikaPannaPanovatPanstvoPantoflePaprikaParketaParodiePartaParukaParybaPasekaPasivitaPastelkaPatentPatronaPavoukPaznehtPazourekPeckaPedagogPejsekPekloPelotonPenaltaPendrekPenzePeriskopPeroPestrostPetardaPeticePetrolejPevninaPexesoPianistaPihaPijavicePiklePiknikPilinaPilnostPilulkaPinzetaPipetaPisatelPistolePitevnaPivnicePivovarPlacentaPlakatPlamenPlanetaPlastikaPlatitPlavidloPlazPlechPlemenoPlentaPlesPletivoPlevelPlivatPlnitPlnoPlochaPlodinaPlombaPloutPlukPlynPobavitPobytPochodPocitPoctivecPodatPodcenitPodepsatPodhledPodivitPodkladPodmanitPodnikPodobaPodporaPodrazPodstataPodvodPodzimPoeziePohankaPohnutkaPohovorPohromaPohybPointaPojistkaPojmoutPokazitPoklesPokojPokrokPokutaPokynPolednePolibekPolknoutPolohaPolynomPomaluPominoutPomlkaPomocPomstaPomysletPonechatPonorkaPonurostPopadatPopelPopisekPoplachPoprositPopsatPopudPoradcePorcePorodPoruchaPoryvPosaditPosedPosilaPoskokPoslanecPosouditPospoluPostavaPosudekPosypPotahPotkanPotleskPotomekPotravaPotupaPotvoraPoukazPoutoPouzdroPovahaPovidlaPovlakPovozPovrchPovstatPovykPovzdechPozdravPozemekPoznatekPozorPozvatPracovatPrahoryPraktikaPralesPraotecPraporekPrasePravdaPrincipPrknoProbuditProcentoProdejProfeseProhraProjektProlomitPromilePronikatPropadProrokProsbaProtonProutekProvazPrskavkaPrstenPrudkostPrutPrvekPrvohoryPsanecPsovodPstruhPtactvoPubertaPuchPudlPukavecPuklinaPukrlePultPumpaPuncPupenPusaPusinkaPustinaPutovatPutykaPyramidaPyskPytelRacekRachotRadiaceRadniceRadonRaftRagbyRaketaRakovinaRamenoRampouchRandeRarachRaritaRasovnaRastrRatolestRazanceRazidloReagovatReakceReceptRedaktorReferentReflexRejnokReklamaRekordRekrutRektorReputaceRevizeRevmaRevolverRezervaRiskovatRizikoRobotikaRodokmenRohovkaRokleRokokoRomanetoRopovodRopuchaRorejsRosolRostlinaRotmistrRotopedRotundaRoubenkaRouchoRoupRouraRovinaRovniceRozborRozchodRozdatRozeznatRozhodceRozinkaRozjezdRozkazRozlohaRozmarRozpadRozruchRozsahRoztokRozumRozvodRubrikaRuchadloRukaviceRukopisRybaRybolovRychlostRydloRypadloRytinaRyzostSadistaSahatSakoSamecSamizdatSamotaSanitkaSardinkaSasankaSatelitSazbaSazeniceSborSchovatSebrankaSeceseSedadloSedimentSedloSehnatSejmoutSekeraSektaSekundaSekvojeSemenoSenoServisSesaditSeshoraSeskokSeslatSestraSesuvSesypatSetbaSetinaSetkatSetnoutSetrvatSeverSeznamShodaShrnoutSifonSilniceSirkaSirotekSirupSituaceSkafandrSkaliskoSkanzenSkautSkeptikSkicaSkladbaSkleniceSkloSkluzSkobaSkokanSkoroSkriptaSkrzSkupinaSkvostSkvrnaSlabikaSladidloSlaninaSlastSlavnostSledovatSlepecSlevaSlezinaSlibSlinaSlizniceSlonSloupekSlovoSluchSluhaSlunceSlupkaSlzaSmaragdSmetanaSmilstvoSmlouvaSmogSmradSmrkSmrtkaSmutekSmyslSnadSnahaSnobSobotaSochaSodovkaSokolSopkaSotvaSoubojSoucitSoudceSouhlasSouladSoumrakSoupravaSousedSoutokSouvisetSpalovnaSpasitelSpisSplavSpodekSpojenecSpoluSponzorSpornostSpoustaSprchaSpustitSrandaSrazSrdceSrnaSrnecSrovnatSrpenSrstSrubStaniceStarostaStatikaStavbaStehnoStezkaStodolaStolekStopaStornoStoupatStrachStresStrhnoutStromStrunaStudnaStupniceStvolStykSubjektSubtropySucharSudostSuknoSundatSunoutSurikataSurovinaSvahSvalstvoSvetrSvatbaSvazekSvisleSvitekSvobodaSvodidloSvorkaSvrabSykavkaSykotSynekSynovecSypatSypkostSyrovostSyselSytostTabletkaTabuleTahounTajemnoTajfunTajgaTajitTajnostTaktikaTamhleTamponTancovatTanecTankerTapetaTaveninaTazatelTechnikaTehdyTekutinaTelefonTemnotaTendenceTenistaTenorTeplotaTepnaTeprveTerapieTermoskaTextilTichoTiskopisTitulekTkadlecTkaninaTlapkaTleskatTlukotTlupaTmelToaletaTopinkaTopolTorzoTouhaToulecTradiceTraktorTrampTrasaTraverzaTrefitTrestTrezorTrhavinaTrhlinaTrochuTrojiceTroskaTroubaTrpceTrpitelTrpkostTrubecTruchlitTruhliceTrusTrvatTudyTuhnoutTuhostTundraTuristaTurnajTuzemskoTvarohTvorbaTvrdostTvrzTygrTykevUbohostUbozeUbratUbrousekUbrusUbytovnaUchoUctivostUdivitUhraditUjednatUjistitUjmoutUkazatelUklidnitUklonitUkotvitUkrojitUliceUlitaUlovitUmyvadloUnavitUniformaUniknoutUpadnoutUplatnitUplynoutUpoutatUpravitUranUrazitUsednoutUsilovatUsmrtitUsnadnitUsnoutUsouditUstlatUstrnoutUtahovatUtkatUtlumitUtonoutUtopenecUtrousitUvalitUvolnitUvozovkaUzdravitUzelUzeninaUzlinaUznatVagonValchaValounVanaVandalVanilkaVaranVarhanyVarovatVcelkuVchodVdovaVedroVegetaceVejceVelbloudVeletrhVelitelVelmocVelrybaVenkovVerandaVerzeVeselkaVeskrzeVesniceVespoduVestaVeterinaVeverkaVibraceVichrVideohraVidinaVidleVilaViniceVisetVitalitaVizeVizitkaVjezdVkladVkusVlajkaVlakVlasecVlevoVlhkostVlivVlnovkaVloupatVnucovatVnukVodaVodivostVodoznakVodstvoVojenskyVojnaVojskoVolantVolbaVolitVolnoVoskovkaVozidloVozovnaVpravoVrabecVracetVrahVrataVrbaVrcholekVrhatVrstvaVrtuleVsaditVstoupitVstupVtipVybavitVybratVychovatVydatVydraVyfotitVyhledatVyhnoutVyhoditVyhraditVyhubitVyjasnitVyjetVyjmoutVyklopitVykonatVylekatVymazatVymezitVymizetVymysletVynechatVynikatVynutitVypadatVyplatitVypravitVypustitVyrazitVyrovnatVyrvatVyslovitVysokoVystavitVysunoutVysypatVytasitVytesatVytratitVyvinoutVyvolatVyvrhelVyzdobitVyznatVzaduVzbuditVzchopitVzdorVzduchVzdychatVzestupVzhledemVzkazVzlykatVznikVzorekVzpouraVztahVztekXylofonZabratZabydletZachovatZadarmoZadusitZafoukatZahltitZahoditZahradaZahynoutZajatecZajetZajistitZaklepatZakoupitZalepitZamezitZamotatZamysletZanechatZanikatZaplatitZapojitZapsatZarazitZastavitZasunoutZatajitZatemnitZatknoutZaujmoutZavalitZaveletZavinitZavolatZavrtatZazvonitZbavitZbrusuZbudovatZbytekZdalekaZdarmaZdatnostZdivoZdobitZdrojZdvihZdymadloZeleninaZemanZeminaZeptatZezaduZezdolaZhatitZhltnoutZhlubokaZhotovitZhrubaZimaZimniceZjemnitZklamatZkoumatZkratkaZkumavkaZlatoZlehkaZlobaZlomZlostZlozvykZmapovatZmarZmatekZmijeZmizetZmocnitZmodratZmrzlinaZmutovatZnakZnalostZnamenatZnovuZobrazitZotavitZoubekZoufaleZploditZpomalitZpravaZprostitZprudkaZprvuZradaZranitZrcadloZrnitostZrnoZrovnaZrychlitZrzavostZtichaZtratitZubovinaZubrZvednoutZvenkuZveselaZvonZvratZvukovodZvyk".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x25f44555f4af25b51a711136e1c7d6e50ce9f8917d39d6b1f076b2bb4d2fac1a"!==gr.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for en (English) FAILED")}var s=new(function(e){function t(){return e.call(this,"cz")||this}return o(t,e),t.prototype.getWord=function(e){return a(this),i[e]},t.prototype.getWordIndex=function(e){return a(this),i.indexOf(e)},t}(gr.Wordlist));r.langCz=s,gr.Wordlist.register(s)}))),vr=(r(mr),mr.langCz,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=null;function a(e){if(null==i&&(i="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==gr.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for en (English) FAILED")}var s=new(function(e){function t(){return e.call(this,"en")||this}return o(t,e),t.prototype.getWord=function(e){return a(this),i[e]},t.prototype.getWordIndex=function(e){return a(this),i.indexOf(e)},t}(gr.Wordlist));r.langEn=s,gr.Wordlist.register(s)}))),yr=(r(vr),vr.langEn,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i={},a=null;function s(e){return gr.logger.checkNormalize(),X.toUtf8String(Array.prototype.filter.call(X.toUtf8Bytes(e.normalize("NFD").toLowerCase()),(function(e){return e>=65&&e<=90||e>=97&&e<=123})))}function u(e){if(null==a&&((a="A/bacoAbdomenAbejaAbiertoAbogadoAbonoAbortoAbrazoAbrirAbueloAbusoAcabarAcademiaAccesoAccio/nAceiteAcelgaAcentoAceptarA/cidoAclararAcne/AcogerAcosoActivoActoActrizActuarAcudirAcuerdoAcusarAdictoAdmitirAdoptarAdornoAduanaAdultoAe/reoAfectarAficio/nAfinarAfirmarA/gilAgitarAgoni/aAgostoAgotarAgregarAgrioAguaAgudoA/guilaAgujaAhogoAhorroAireAislarAjedrezAjenoAjusteAlacra/nAlambreAlarmaAlbaA/lbumAlcaldeAldeaAlegreAlejarAlertaAletaAlfilerAlgaAlgodo/nAliadoAlientoAlivioAlmaAlmejaAlmi/barAltarAltezaAltivoAltoAlturaAlumnoAlzarAmableAmanteAmapolaAmargoAmasarA/mbarA/mbitoAmenoAmigoAmistadAmorAmparoAmplioAnchoAncianoAnclaAndarAnde/nAnemiaA/nguloAnilloA/nimoAni/sAnotarAntenaAntiguoAntojoAnualAnularAnuncioA~adirA~ejoA~oApagarAparatoApetitoApioAplicarApodoAporteApoyoAprenderAprobarApuestaApuroAradoAra~aArarA/rbitroA/rbolArbustoArchivoArcoArderArdillaArduoA/reaA/ridoAriesArmoni/aArne/sAromaArpaArpo/nArregloArrozArrugaArteArtistaAsaAsadoAsaltoAscensoAsegurarAseoAsesorAsientoAsiloAsistirAsnoAsombroA/speroAstillaAstroAstutoAsumirAsuntoAtajoAtaqueAtarAtentoAteoA/ticoAtletaA/tomoAtraerAtrozAtu/nAudazAudioAugeAulaAumentoAusenteAutorAvalAvanceAvaroAveAvellanaAvenaAvestruzAvio/nAvisoAyerAyudaAyunoAzafra/nAzarAzoteAzu/carAzufreAzulBabaBaborBacheBahi/aBaileBajarBalanzaBalco/nBaldeBambu/BancoBandaBa~oBarbaBarcoBarnizBarroBa/sculaBasto/nBasuraBatallaBateri/aBatirBatutaBau/lBazarBebe/BebidaBelloBesarBesoBestiaBichoBienBingoBlancoBloqueBlusaBoaBobinaBoboBocaBocinaBodaBodegaBoinaBolaBoleroBolsaBombaBondadBonitoBonoBonsa/iBordeBorrarBosqueBoteBoti/nBo/vedaBozalBravoBrazoBrechaBreveBrilloBrincoBrisaBrocaBromaBronceBroteBrujaBruscoBrutoBuceoBucleBuenoBueyBufandaBufo/nBu/hoBuitreBultoBurbujaBurlaBurroBuscarButacaBuzo/nCaballoCabezaCabinaCabraCacaoCada/verCadenaCaerCafe/Cai/daCaima/nCajaCajo/nCalCalamarCalcioCaldoCalidadCalleCalmaCalorCalvoCamaCambioCamelloCaminoCampoCa/ncerCandilCanelaCanguroCanicaCantoCa~aCa~o/nCaobaCaosCapazCapita/nCapoteCaptarCapuchaCaraCarbo/nCa/rcelCaretaCargaCari~oCarneCarpetaCarroCartaCasaCascoCaseroCaspaCastorCatorceCatreCaudalCausaCazoCebollaCederCedroCeldaCe/lebreCelosoCe/lulaCementoCenizaCentroCercaCerdoCerezaCeroCerrarCertezaCe/spedCetroChacalChalecoChampu/ChanclaChapaCharlaChicoChisteChivoChoqueChozaChuletaChuparCiclo/nCiegoCieloCienCiertoCifraCigarroCimaCincoCineCintaCipre/sCircoCiruelaCisneCitaCiudadClamorClanClaroClaseClaveClienteClimaCli/nicaCobreCoccio/nCochinoCocinaCocoCo/digoCodoCofreCogerCoheteCoji/nCojoColaColchaColegioColgarColinaCollarColmoColumnaCombateComerComidaCo/modoCompraCondeConejoCongaConocerConsejoContarCopaCopiaCorazo/nCorbataCorchoCordo/nCoronaCorrerCoserCosmosCostaCra/neoCra/terCrearCrecerCrei/doCremaCri/aCrimenCriptaCrisisCromoCro/nicaCroquetaCrudoCruzCuadroCuartoCuatroCuboCubrirCucharaCuelloCuentoCuerdaCuestaCuevaCuidarCulebraCulpaCultoCumbreCumplirCunaCunetaCuotaCupo/nCu/pulaCurarCuriosoCursoCurvaCutisDamaDanzaDarDardoDa/tilDeberDe/bilDe/cadaDecirDedoDefensaDefinirDejarDelfi/nDelgadoDelitoDemoraDensoDentalDeporteDerechoDerrotaDesayunoDeseoDesfileDesnudoDestinoDesvi/oDetalleDetenerDeudaDi/aDiabloDiademaDiamanteDianaDiarioDibujoDictarDienteDietaDiezDifi/cilDignoDilemaDiluirDineroDirectoDirigirDiscoDise~oDisfrazDivaDivinoDobleDoceDolorDomingoDonDonarDoradoDormirDorsoDosDosisDrago/nDrogaDuchaDudaDueloDue~oDulceDu/oDuqueDurarDurezaDuroE/banoEbrioEcharEcoEcuadorEdadEdicio/nEdificioEditorEducarEfectoEficazEjeEjemploElefanteElegirElementoElevarElipseE/liteElixirElogioEludirEmbudoEmitirEmocio/nEmpateEmpe~oEmpleoEmpresaEnanoEncargoEnchufeEnci/aEnemigoEneroEnfadoEnfermoEnga~oEnigmaEnlaceEnormeEnredoEnsayoEnse~arEnteroEntrarEnvaseEnvi/oE/pocaEquipoErizoEscalaEscenaEscolarEscribirEscudoEsenciaEsferaEsfuerzoEspadaEspejoEspi/aEsposaEspumaEsqui/EstarEsteEstiloEstufaEtapaEternoE/ticaEtniaEvadirEvaluarEventoEvitarExactoExamenExcesoExcusaExentoExigirExilioExistirE/xitoExpertoExplicarExponerExtremoFa/bricaFa/bulaFachadaFa/cilFactorFaenaFajaFaldaFalloFalsoFaltarFamaFamiliaFamosoFarao/nFarmaciaFarolFarsaFaseFatigaFaunaFavorFaxFebreroFechaFelizFeoFeriaFerozFe/rtilFervorFesti/nFiableFianzaFiarFibraFiccio/nFichaFideoFiebreFielFieraFiestaFiguraFijarFijoFilaFileteFilialFiltroFinFincaFingirFinitoFirmaFlacoFlautaFlechaFlorFlotaFluirFlujoFlu/orFobiaFocaFogataFogo/nFolioFolletoFondoFormaForroFortunaForzarFosaFotoFracasoFra/gilFranjaFraseFraudeFrei/rFrenoFresaFri/oFritoFrutaFuegoFuenteFuerzaFugaFumarFuncio/nFundaFurgo/nFuriaFusilFu/tbolFuturoGacelaGafasGaitaGajoGalaGaleri/aGalloGambaGanarGanchoGangaGansoGarajeGarzaGasolinaGastarGatoGavila/nGemeloGemirGenGe/neroGenioGenteGeranioGerenteGermenGestoGiganteGimnasioGirarGiroGlaciarGloboGloriaGolGolfoGolosoGolpeGomaGordoGorilaGorraGotaGoteoGozarGradaGra/ficoGranoGrasaGratisGraveGrietaGrilloGripeGrisGritoGrosorGru/aGruesoGrumoGrupoGuanteGuapoGuardiaGuerraGui/aGui~oGuionGuisoGuitarraGusanoGustarHaberHa/bilHablarHacerHachaHadaHallarHamacaHarinaHazHaza~aHebillaHebraHechoHeladoHelioHembraHerirHermanoHe/roeHervirHieloHierroHi/gadoHigieneHijoHimnoHistoriaHocicoHogarHogueraHojaHombreHongoHonorHonraHoraHormigaHornoHostilHoyoHuecoHuelgaHuertaHuesoHuevoHuidaHuirHumanoHu/medoHumildeHumoHundirHuraca/nHurtoIconoIdealIdiomaI/doloIglesiaIglu/IgualIlegalIlusio/nImagenIma/nImitarImparImperioImponerImpulsoIncapazI/ndiceInerteInfielInformeIngenioInicioInmensoInmuneInnatoInsectoInstanteIntere/sI/ntimoIntuirInu/tilInviernoIraIrisIroni/aIslaIsloteJabali/Jabo/nJamo/nJarabeJardi/nJarraJaulaJazmi/nJefeJeringaJineteJornadaJorobaJovenJoyaJuergaJuevesJuezJugadorJugoJugueteJuicioJuncoJunglaJunioJuntarJu/piterJurarJustoJuvenilJuzgarKiloKoalaLabioLacioLacraLadoLadro/nLagartoLa/grimaLagunaLaicoLamerLa/minaLa/mparaLanaLanchaLangostaLanzaLa/pizLargoLarvaLa/stimaLataLa/texLatirLaurelLavarLazoLealLeccio/nLecheLectorLeerLegio/nLegumbreLejanoLenguaLentoLe~aLeo/nLeopardoLesio/nLetalLetraLeveLeyendaLibertadLibroLicorLi/derLidiarLienzoLigaLigeroLimaLi/miteLimo/nLimpioLinceLindoLi/neaLingoteLinoLinternaLi/quidoLisoListaLiteraLitioLitroLlagaLlamaLlantoLlaveLlegarLlenarLlevarLlorarLloverLluviaLoboLocio/nLocoLocuraLo/gicaLogroLombrizLomoLonjaLoteLuchaLucirLugarLujoLunaLunesLupaLustroLutoLuzMacetaMachoMaderaMadreMaduroMaestroMafiaMagiaMagoMai/zMaldadMaletaMallaMaloMama/MamboMamutMancoMandoManejarMangaManiqui/ManjarManoMansoMantaMa~anaMapaMa/quinaMarMarcoMareaMarfilMargenMaridoMa/rmolMarro/nMartesMarzoMasaMa/scaraMasivoMatarMateriaMatizMatrizMa/ximoMayorMazorcaMechaMedallaMedioMe/dulaMejillaMejorMelenaMelo/nMemoriaMenorMensajeMenteMenu/MercadoMerengueMe/ritoMesMeso/nMetaMeterMe/todoMetroMezclaMiedoMielMiembroMigaMilMilagroMilitarMillo/nMimoMinaMineroMi/nimoMinutoMiopeMirarMisaMiseriaMisilMismoMitadMitoMochilaMocio/nModaModeloMohoMojarMoldeMolerMolinoMomentoMomiaMonarcaMonedaMonjaMontoMo~oMoradaMorderMorenoMorirMorroMorsaMortalMoscaMostrarMotivoMoverMo/vilMozoMuchoMudarMuebleMuelaMuerteMuestraMugreMujerMulaMuletaMultaMundoMu~ecaMuralMuroMu/sculoMuseoMusgoMu/sicaMusloNa/carNacio/nNadarNaipeNaranjaNarizNarrarNasalNatalNativoNaturalNa/useaNavalNaveNavidadNecioNe/ctarNegarNegocioNegroNeo/nNervioNetoNeutroNevarNeveraNichoNidoNieblaNietoNi~ezNi~oNi/tidoNivelNoblezaNocheNo/minaNoriaNormaNorteNotaNoticiaNovatoNovelaNovioNubeNucaNu/cleoNudilloNudoNueraNueveNuezNuloNu/meroNutriaOasisObesoObispoObjetoObraObreroObservarObtenerObvioOcaOcasoOce/anoOchentaOchoOcioOcreOctavoOctubreOcultoOcuparOcurrirOdiarOdioOdiseaOesteOfensaOfertaOficioOfrecerOgroOi/doOi/rOjoOlaOleadaOlfatoOlivoOllaOlmoOlorOlvidoOmbligoOndaOnzaOpacoOpcio/nO/peraOpinarOponerOptarO/pticaOpuestoOracio/nOradorOralO/rbitaOrcaOrdenOrejaO/rganoOrgi/aOrgulloOrienteOrigenOrillaOroOrquestaOrugaOsadi/aOscuroOseznoOsoOstraOto~oOtroOvejaO/vuloO/xidoOxi/genoOyenteOzonoPactoPadrePaellaPa/ginaPagoPai/sPa/jaroPalabraPalcoPaletaPa/lidoPalmaPalomaPalparPanPanalPa/nicoPanteraPa~ueloPapa/PapelPapillaPaquetePararParcelaParedParirParoPa/rpadoParquePa/rrafoPartePasarPaseoPasio/nPasoPastaPataPatioPatriaPausaPautaPavoPayasoPeato/nPecadoPeceraPechoPedalPedirPegarPeinePelarPelda~oPeleaPeligroPellejoPeloPelucaPenaPensarPe~o/nPeo/nPeorPepinoPeque~oPeraPerchaPerderPerezaPerfilPericoPerlaPermisoPerroPersonaPesaPescaPe/simoPesta~aPe/taloPetro/leoPezPezu~aPicarPicho/nPiePiedraPiernaPiezaPijamaPilarPilotoPimientaPinoPintorPinzaPi~aPiojoPipaPirataPisarPiscinaPisoPistaPito/nPizcaPlacaPlanPlataPlayaPlazaPleitoPlenoPlomoPlumaPluralPobrePocoPoderPodioPoemaPoesi/aPoetaPolenPolici/aPolloPolvoPomadaPomeloPomoPompaPonerPorcio/nPortalPosadaPoseerPosiblePostePotenciaPotroPozoPradoPrecozPreguntaPremioPrensaPresoPrevioPrimoPri/ncipePrisio/nPrivarProaProbarProcesoProductoProezaProfesorProgramaProlePromesaProntoPropioPro/ximoPruebaPu/blicoPucheroPudorPuebloPuertaPuestoPulgaPulirPulmo/nPulpoPulsoPumaPuntoPu~alPu~oPupaPupilaPure/QuedarQuejaQuemarQuererQuesoQuietoQui/micaQuinceQuitarRa/banoRabiaRaboRacio/nRadicalRai/zRamaRampaRanchoRangoRapazRa/pidoRaptoRasgoRaspaRatoRayoRazaRazo/nReaccio/nRealidadReba~oReboteRecaerRecetaRechazoRecogerRecreoRectoRecursoRedRedondoReducirReflejoReformaRefra/nRefugioRegaloRegirReglaRegresoRehe/nReinoRei/rRejaRelatoRelevoRelieveRellenoRelojRemarRemedioRemoRencorRendirRentaRepartoRepetirReposoReptilResRescateResinaRespetoRestoResumenRetiroRetornoRetratoReunirReve/sRevistaReyRezarRicoRiegoRiendaRiesgoRifaRi/gidoRigorRinco/nRi~o/nRi/oRiquezaRisaRitmoRitoRizoRobleRoceRociarRodarRodeoRodillaRoerRojizoRojoRomeroRomperRonRoncoRondaRopaRoperoRosaRoscaRostroRotarRubi/RuborRudoRuedaRugirRuidoRuinaRuletaRuloRumboRumorRupturaRutaRutinaSa/badoSaberSabioSableSacarSagazSagradoSalaSaldoSaleroSalirSalmo/nSalo/nSalsaSaltoSaludSalvarSambaSancio/nSandi/aSanearSangreSanidadSanoSantoSapoSaqueSardinaSarte/nSastreSata/nSaunaSaxofo/nSeccio/nSecoSecretoSectaSedSeguirSeisSelloSelvaSemanaSemillaSendaSensorSe~alSe~orSepararSepiaSequi/aSerSerieSermo/nServirSesentaSesio/nSetaSetentaSeveroSexoSextoSidraSiestaSieteSigloSignoSi/labaSilbarSilencioSillaSi/mboloSimioSirenaSistemaSitioSituarSobreSocioSodioSolSolapaSoldadoSoledadSo/lidoSoltarSolucio/nSombraSondeoSonidoSonoroSonrisaSopaSoplarSoporteSordoSorpresaSorteoSoste/nSo/tanoSuaveSubirSucesoSudorSuegraSueloSue~oSuerteSufrirSujetoSulta/nSumarSuperarSuplirSuponerSupremoSurSurcoSure~oSurgirSustoSutilTabacoTabiqueTablaTabu/TacoTactoTajoTalarTalcoTalentoTallaTalo/nTama~oTamborTangoTanqueTapaTapeteTapiaTapo/nTaquillaTardeTareaTarifaTarjetaTarotTarroTartaTatuajeTauroTazaTazo/nTeatroTechoTeclaTe/cnicaTejadoTejerTejidoTelaTele/fonoTemaTemorTemploTenazTenderTenerTenisTensoTeori/aTerapiaTercoTe/rminoTernuraTerrorTesisTesoroTestigoTeteraTextoTezTibioTiburo/nTiempoTiendaTierraTiesoTigreTijeraTildeTimbreTi/midoTimoTintaTi/oTi/picoTipoTiraTiro/nTita/nTi/tereTi/tuloTizaToallaTobilloTocarTocinoTodoTogaToldoTomarTonoTontoToparTopeToqueTo/raxToreroTormentaTorneoToroTorpedoTorreTorsoTortugaTosToscoToserTo/xicoTrabajoTractorTraerTra/ficoTragoTrajeTramoTranceTratoTraumaTrazarTre/bolTreguaTreintaTrenTreparTresTribuTrigoTripaTristeTriunfoTrofeoTrompaTroncoTropaTroteTrozoTrucoTruenoTrufaTuberi/aTuboTuertoTumbaTumorTu/nelTu/nicaTurbinaTurismoTurnoTutorUbicarU/lceraUmbralUnidadUnirUniversoUnoUntarU~aUrbanoUrbeUrgenteUrnaUsarUsuarioU/tilUtopi/aUvaVacaVaci/oVacunaVagarVagoVainaVajillaValeVa/lidoValleValorVa/lvulaVampiroVaraVariarVaro/nVasoVecinoVectorVehi/culoVeinteVejezVelaVeleroVelozVenaVencerVendaVenenoVengarVenirVentaVenusVerVeranoVerboVerdeVeredaVerjaVersoVerterVi/aViajeVibrarVicioVi/ctimaVidaVi/deoVidrioViejoViernesVigorVilVillaVinagreVinoVi~edoVioli/nViralVirgoVirtudVisorVi/speraVistaVitaminaViudoVivazViveroVivirVivoVolca/nVolumenVolverVorazVotarVotoVozVueloVulgarYacerYateYeguaYemaYernoYesoYodoYogaYogurZafiroZanjaZapatoZarzaZonaZorroZumoZurdo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map((function(e){return t=e,r=[],Array.prototype.forEach.call(X.toUtf8Bytes(t),(function(e){47===e?(r.push(204),r.push(129)):126===e?(r.push(110),r.push(204),r.push(131)):r.push(e)})),X.toUtf8String(r);var t,r}))).forEach((function(e,t){i[s(e)]=t})),"0xf74fb7092aeacdfbf8959557de22098da512207fb9f109cb526994938cf40300"!==gr.Wordlist.check(e)))throw a=null,new Error("BIP39 Wordlist for es (Spanish) FAILED")}var l=new(function(e){function t(){return e.call(this,"es")||this}return o(t,e),t.prototype.getWord=function(e){return u(this),a[e]},t.prototype.getWordIndex=function(e){u(this);var t=i[s(e)];return"number"!=typeof t?-1:t},t}(gr.Wordlist));r.langEs=l,gr.Wordlist.register(l)}))),br=(r(yr),yr.langEs,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=null,a={};function s(e){return gr.logger.checkNormalize(),X.toUtf8String(Array.prototype.filter.call(X.toUtf8Bytes(e.normalize("NFD").toLowerCase()),(function(e){return e>=65&&e<=90||e>=97&&e<=123})))}function u(e){if(null==i&&((i="AbaisserAbandonAbdiquerAbeilleAbolirAborderAboutirAboyerAbrasifAbreuverAbriterAbrogerAbruptAbsenceAbsoluAbsurdeAbusifAbyssalAcade/mieAcajouAcarienAccablerAccepterAcclamerAccoladeAccrocheAccuserAcerbeAchatAcheterAcidulerAcierAcompteAcque/rirAcronymeActeurActifActuelAdepteAde/quatAdhe/sifAdjectifAdjugerAdmettreAdmirerAdopterAdorerAdoucirAdresseAdroitAdulteAdverbeAe/rerAe/ronefAffaireAffecterAfficheAffreuxAffublerAgacerAgencerAgileAgiterAgraferAgre/ableAgrumeAiderAiguilleAilierAimableAisanceAjouterAjusterAlarmerAlchimieAlerteAlge-breAlgueAlie/nerAlimentAlle/gerAlliageAllouerAllumerAlourdirAlpagaAltesseAlve/oleAmateurAmbiguAmbreAme/nagerAmertumeAmidonAmiralAmorcerAmourAmovibleAmphibieAmpleurAmusantAnalyseAnaphoreAnarchieAnatomieAncienAne/antirAngleAngoisseAnguleuxAnimalAnnexerAnnonceAnnuelAnodinAnomalieAnonymeAnormalAntenneAntidoteAnxieuxApaiserApe/ritifAplanirApologieAppareilAppelerApporterAppuyerAquariumAqueducArbitreArbusteArdeurArdoiseArgentArlequinArmatureArmementArmoireArmureArpenterArracherArriverArroserArsenicArte/rielArticleAspectAsphalteAspirerAssautAsservirAssietteAssocierAssurerAsticotAstreAstuceAtelierAtomeAtriumAtroceAttaqueAttentifAttirerAttraperAubaineAubergeAudaceAudibleAugurerAuroreAutomneAutrucheAvalerAvancerAvariceAvenirAverseAveugleAviateurAvideAvionAviserAvoineAvouerAvrilAxialAxiomeBadgeBafouerBagageBaguetteBaignadeBalancerBalconBaleineBalisageBambinBancaireBandageBanlieueBannie-reBanquierBarbierBarilBaronBarqueBarrageBassinBastionBatailleBateauBatterieBaudrierBavarderBeletteBe/lierBeloteBe/ne/ficeBerceauBergerBerlineBermudaBesaceBesogneBe/tailBeurreBiberonBicycleBiduleBijouBilanBilingueBillardBinaireBiologieBiopsieBiotypeBiscuitBisonBistouriBitumeBizarreBlafardBlagueBlanchirBlessantBlinderBlondBloquerBlousonBobardBobineBoireBoiserBolideBonbonBondirBonheurBonifierBonusBordureBorneBotteBoucleBoueuxBougieBoulonBouquinBourseBoussoleBoutiqueBoxeurBrancheBrasierBraveBrebisBre-cheBreuvageBricolerBrigadeBrillantBriocheBriqueBrochureBroderBronzerBrousseBroyeurBrumeBrusqueBrutalBruyantBuffleBuissonBulletinBureauBurinBustierButinerButoirBuvableBuvetteCabanonCabineCachetteCadeauCadreCafe/ineCaillouCaissonCalculerCalepinCalibreCalmerCalomnieCalvaireCamaradeCame/raCamionCampagneCanalCanetonCanonCantineCanularCapableCaporalCapriceCapsuleCapterCapucheCarabineCarboneCaresserCaribouCarnageCarotteCarreauCartonCascadeCasierCasqueCassureCauserCautionCavalierCaverneCaviarCe/dilleCeintureCe/lesteCelluleCendrierCensurerCentralCercleCe/re/bralCeriseCernerCerveauCesserChagrinChaiseChaleurChambreChanceChapitreCharbonChasseurChatonChaussonChavirerChemiseChenilleChe/quierChercherChevalChienChiffreChignonChime-reChiotChlorureChocolatChoisirChoseChouetteChromeChuteCigareCigogneCimenterCine/maCintrerCirculerCirerCirqueCiterneCitoyenCitronCivilClaironClameurClaquerClasseClavierClientClignerClimatClivageClocheClonageCloporteCobaltCobraCocasseCocotierCoderCodifierCoffreCognerCohe/sionCoifferCoincerCole-reColibriCollineColmaterColonelCombatCome/dieCommandeCompactConcertConduireConfierCongelerConnoterConsonneContactConvexeCopainCopieCorailCorbeauCordageCornicheCorpusCorrectCorte-geCosmiqueCostumeCotonCoudeCoupureCourageCouteauCouvrirCoyoteCrabeCrainteCravateCrayonCre/atureCre/diterCre/meuxCreuserCrevetteCriblerCrierCristalCrite-reCroireCroquerCrotaleCrucialCruelCrypterCubiqueCueillirCuille-reCuisineCuivreCulminerCultiverCumulerCupideCuratifCurseurCyanureCycleCylindreCyniqueDaignerDamierDangerDanseurDauphinDe/battreDe/biterDe/borderDe/briderDe/butantDe/calerDe/cembreDe/chirerDe/ciderDe/clarerDe/corerDe/crireDe/cuplerDe/daleDe/ductifDe/esseDe/fensifDe/filerDe/frayerDe/gagerDe/givrerDe/glutirDe/graferDe/jeunerDe/liceDe/logerDemanderDemeurerDe/molirDe/nicherDe/nouerDentelleDe/nuderDe/partDe/penserDe/phaserDe/placerDe/poserDe/rangerDe/roberDe/sastreDescenteDe/sertDe/signerDe/sobe/irDessinerDestrierDe/tacherDe/testerDe/tourerDe/tresseDevancerDevenirDevinerDevoirDiableDialogueDiamantDicterDiffe/rerDige/rerDigitalDigneDiluerDimancheDiminuerDioxydeDirectifDirigerDiscuterDisposerDissiperDistanceDivertirDiviserDocileDocteurDogmeDoigtDomaineDomicileDompterDonateurDonjonDonnerDopamineDortoirDorureDosageDoseurDossierDotationDouanierDoubleDouceurDouterDoyenDragonDraperDresserDribblerDroitureDuperieDuplexeDurableDurcirDynastieE/blouirE/carterE/charpeE/chelleE/clairerE/clipseE/cloreE/cluseE/coleE/conomieE/corceE/couterE/craserE/cre/merE/crivainE/crouE/cumeE/cureuilE/difierE/duquerEffacerEffectifEffigieEffortEffrayerEffusionE/galiserE/garerE/jecterE/laborerE/largirE/lectronE/le/gantE/le/phantE/le-veE/ligibleE/litismeE/logeE/luciderE/luderEmballerEmbellirEmbryonE/meraudeE/missionEmmenerE/motionE/mouvoirEmpereurEmployerEmporterEmpriseE/mulsionEncadrerEnche-reEnclaveEncocheEndiguerEndosserEndroitEnduireE/nergieEnfanceEnfermerEnfouirEngagerEnginEngloberE/nigmeEnjamberEnjeuEnleverEnnemiEnnuyeuxEnrichirEnrobageEnseigneEntasserEntendreEntierEntourerEntraverE/nume/rerEnvahirEnviableEnvoyerEnzymeE/olienE/paissirE/pargneE/patantE/pauleE/picerieE/pide/mieE/pierE/pilogueE/pineE/pisodeE/pitapheE/poqueE/preuveE/prouverE/puisantE/querreE/quipeE/rigerE/rosionErreurE/ruptionEscalierEspadonEspe-ceEspie-gleEspoirEspritEsquiverEssayerEssenceEssieuEssorerEstimeEstomacEstradeE/tage-reE/talerE/tancheE/tatiqueE/teindreE/tendoirE/ternelE/thanolE/thiqueEthnieE/tirerE/tofferE/toileE/tonnantE/tourdirE/trangeE/troitE/tudeEuphorieE/valuerE/vasionE/ventailE/videnceE/viterE/volutifE/voquerExactExage/rerExaucerExcellerExcitantExclusifExcuseExe/cuterExempleExercerExhalerExhorterExigenceExilerExisterExotiqueExpe/dierExplorerExposerExprimerExquisExtensifExtraireExulterFableFabuleuxFacetteFacileFactureFaiblirFalaiseFameuxFamilleFarceurFarfeluFarineFaroucheFascinerFatalFatigueFauconFautifFaveurFavoriFe/brileFe/conderFe/de/rerFe/linFemmeFe/murFendoirFe/odalFermerFe/roceFerveurFestivalFeuilleFeutreFe/vrierFiascoFicelerFictifFide-leFigureFilatureFiletageFilie-reFilleulFilmerFilouFiltrerFinancerFinirFioleFirmeFissureFixerFlairerFlammeFlasqueFlatteurFle/auFle-cheFleurFlexionFloconFloreFluctuerFluideFluvialFolieFonderieFongibleFontaineForcerForgeronFormulerFortuneFossileFoudreFouge-reFouillerFoulureFourmiFragileFraiseFranchirFrapperFrayeurFre/gateFreinerFrelonFre/mirFre/ne/sieFre-reFriableFrictionFrissonFrivoleFroidFromageFrontalFrotterFruitFugitifFuiteFureurFurieuxFurtifFusionFuturGagnerGalaxieGalerieGambaderGarantirGardienGarnirGarrigueGazelleGazonGe/antGe/latineGe/luleGendarmeGe/ne/ralGe/nieGenouGentilGe/ologieGe/ome-treGe/raniumGermeGestuelGeyserGibierGiclerGirafeGivreGlaceGlaiveGlisserGlobeGloireGlorieuxGolfeurGommeGonflerGorgeGorilleGoudronGouffreGoulotGoupilleGourmandGoutteGraduelGraffitiGraineGrandGrappinGratuitGravirGrenatGriffureGrillerGrimperGrognerGronderGrotteGroupeGrugerGrutierGruye-reGue/pardGuerrierGuideGuimauveGuitareGustatifGymnasteGyrostatHabitudeHachoirHalteHameauHangarHannetonHaricotHarmonieHarponHasardHe/liumHe/matomeHerbeHe/rissonHermineHe/ronHe/siterHeureuxHibernerHibouHilarantHistoireHiverHomardHommageHomoge-neHonneurHonorerHonteuxHordeHorizonHorlogeHormoneHorribleHouleuxHousseHublotHuileuxHumainHumbleHumideHumourHurlerHydromelHygie-neHymneHypnoseIdylleIgnorerIguaneIlliciteIllusionImageImbiberImiterImmenseImmobileImmuableImpactImpe/rialImplorerImposerImprimerImputerIncarnerIncendieIncidentInclinerIncoloreIndexerIndiceInductifIne/ditIneptieInexactInfiniInfligerInformerInfusionInge/rerInhalerInhiberInjecterInjureInnocentInoculerInonderInscrireInsecteInsigneInsoliteInspirerInstinctInsulterIntactIntenseIntimeIntrigueIntuitifInutileInvasionInventerInviterInvoquerIroniqueIrradierIrre/elIrriterIsolerIvoireIvresseJaguarJaillirJambeJanvierJardinJaugerJauneJavelotJetableJetonJeudiJeunesseJoindreJoncherJonglerJoueurJouissifJournalJovialJoyauJoyeuxJubilerJugementJuniorJuponJuristeJusticeJuteuxJuve/nileKayakKimonoKiosqueLabelLabialLabourerLace/rerLactoseLaguneLaineLaisserLaitierLambeauLamelleLampeLanceurLangageLanterneLapinLargeurLarmeLaurierLavaboLavoirLectureLe/galLe/gerLe/gumeLessiveLettreLevierLexiqueLe/zardLiasseLibe/rerLibreLicenceLicorneLie-geLie-vreLigatureLigoterLigueLimerLimiteLimonadeLimpideLine/aireLingotLionceauLiquideLisie-reListerLithiumLitigeLittoralLivreurLogiqueLointainLoisirLombricLoterieLouerLourdLoutreLouveLoyalLubieLucideLucratifLueurLugubreLuisantLumie-reLunaireLundiLuronLutterLuxueuxMachineMagasinMagentaMagiqueMaigreMaillonMaintienMairieMaisonMajorerMalaxerMale/ficeMalheurMaliceMalletteMammouthMandaterManiableManquantManteauManuelMarathonMarbreMarchandMardiMaritimeMarqueurMarronMartelerMascotteMassifMate/rielMatie-reMatraqueMaudireMaussadeMauveMaximalMe/chantMe/connuMe/dailleMe/decinMe/diterMe/duseMeilleurMe/langeMe/lodieMembreMe/moireMenacerMenerMenhirMensongeMentorMercrediMe/riteMerleMessagerMesureMe/talMe/te/oreMe/thodeMe/tierMeubleMiaulerMicrobeMietteMignonMigrerMilieuMillionMimiqueMinceMine/ralMinimalMinorerMinuteMiracleMiroiterMissileMixteMobileModerneMoelleuxMondialMoniteurMonnaieMonotoneMonstreMontagneMonumentMoqueurMorceauMorsureMortierMoteurMotifMoucheMoufleMoulinMoussonMoutonMouvantMultipleMunitionMurailleMure-neMurmureMuscleMuse/umMusicienMutationMuterMutuelMyriadeMyrtilleMyste-reMythiqueNageurNappeNarquoisNarrerNatationNationNatureNaufrageNautiqueNavireNe/buleuxNectarNe/fasteNe/gationNe/gligerNe/gocierNeigeNerveuxNettoyerNeuroneNeutronNeveuNicheNickelNitrateNiveauNobleNocifNocturneNoirceurNoisetteNomadeNombreuxNommerNormatifNotableNotifierNotoireNourrirNouveauNovateurNovembreNoviceNuageNuancerNuireNuisibleNume/roNuptialNuqueNutritifObe/irObjectifObligerObscurObserverObstacleObtenirObturerOccasionOccuperOce/anOctobreOctroyerOctuplerOculaireOdeurOdorantOffenserOfficierOffrirOgiveOiseauOisillonOlfactifOlivierOmbrageOmettreOnctueuxOndulerOne/reuxOniriqueOpaleOpaqueOpe/rerOpinionOpportunOpprimerOpterOptiqueOrageuxOrangeOrbiteOrdonnerOreilleOrganeOrgueilOrificeOrnementOrqueOrtieOscillerOsmoseOssatureOtarieOuraganOursonOutilOutragerOuvrageOvationOxydeOxyge-neOzonePaisiblePalacePalmare-sPalourdePalperPanachePandaPangolinPaniquerPanneauPanoramaPantalonPapayePapierPapoterPapyrusParadoxeParcelleParesseParfumerParlerParoleParrainParsemerPartagerParureParvenirPassionPaste-quePaternelPatiencePatronPavillonPavoiserPayerPaysagePeignePeintrePelagePe/licanPellePelousePeluchePendulePe/ne/trerPe/niblePensifPe/nuriePe/pitePe/plumPerdrixPerforerPe/riodePermuterPerplexePersilPertePeserPe/talePetitPe/trirPeuplePharaonPhobiePhoquePhotonPhrasePhysiquePianoPicturalPie-cePierrePieuvrePilotePinceauPipettePiquerPiroguePiscinePistonPivoterPixelPizzaPlacardPlafondPlaisirPlanerPlaquePlastronPlateauPleurerPlexusPliagePlombPlongerPluiePlumagePochettePoe/siePoe-tePointePoirierPoissonPoivrePolairePolicierPollenPolygonePommadePompierPonctuelPonde/rerPoneyPortiquePositionPosse/derPosturePotagerPoteauPotionPoucePoulainPoumonPourprePoussinPouvoirPrairiePratiquePre/cieuxPre/direPre/fixePre/ludePre/nomPre/sencePre/textePre/voirPrimitifPrincePrisonPriverProble-meProce/derProdigeProfondProgre-sProieProjeterProloguePromenerPropreProspe-reProte/gerProuesseProverbePrudencePruneauPsychosePublicPuceronPuiserPulpePulsarPunaisePunitifPupitrePurifierPuzzlePyramideQuasarQuerelleQuestionQuie/tudeQuitterQuotientRacineRaconterRadieuxRagondinRaideurRaisinRalentirRallongeRamasserRapideRasageRatisserRavagerRavinRayonnerRe/actifRe/agirRe/aliserRe/animerRecevoirRe/citerRe/clamerRe/colterRecruterReculerRecyclerRe/digerRedouterRefaireRe/flexeRe/formerRefrainRefugeRe/galienRe/gionRe/glageRe/gulierRe/ite/rerRejeterRejouerRelatifReleverReliefRemarqueReme-deRemiseRemonterRemplirRemuerRenardRenfortReniflerRenoncerRentrerRenvoiReplierReporterRepriseReptileRequinRe/serveRe/sineuxRe/soudreRespectResterRe/sultatRe/tablirRetenirRe/ticuleRetomberRetracerRe/unionRe/ussirRevancheRevivreRe/volteRe/vulsifRichesseRideauRieurRigideRigolerRincerRiposterRisibleRisqueRituelRivalRivie-reRocheuxRomanceRompreRonceRondinRoseauRosierRotatifRotorRotuleRougeRouilleRouleauRoutineRoyaumeRubanRubisRucheRuelleRugueuxRuinerRuisseauRuserRustiqueRythmeSablerSaboterSabreSacocheSafariSagesseSaisirSaladeSaliveSalonSaluerSamediSanctionSanglierSarcasmeSardineSaturerSaugrenuSaumonSauterSauvageSavantSavonnerScalpelScandaleSce/le/ratSce/narioSceptreSche/maScienceScinderScoreScrutinSculpterSe/anceSe/cableSe/cherSecouerSe/cre/terSe/datifSe/duireSeigneurSe/jourSe/lectifSemaineSemblerSemenceSe/minalSe/nateurSensibleSentenceSe/parerSe/quenceSereinSergentSe/rieuxSerrureSe/rumServiceSe/sameSe/virSevrageSextupleSide/ralSie-cleSie/gerSifflerSigleSignalSilenceSiliciumSimpleSince-reSinistreSiphonSiropSismiqueSituerSkierSocialSocleSodiumSoigneuxSoldatSoleilSolitudeSolubleSombreSommeilSomnolerSondeSongeurSonnetteSonoreSorcierSortirSosieSottiseSoucieuxSoudureSouffleSouleverSoupapeSourceSoutirerSouvenirSpacieuxSpatialSpe/cialSphe-reSpiralStableStationSternumStimulusStipulerStrictStudieuxStupeurStylisteSublimeSubstratSubtilSubvenirSucce-sSucreSuffixeSugge/rerSuiveurSulfateSuperbeSupplierSurfaceSuricateSurmenerSurpriseSursautSurvieSuspectSyllabeSymboleSyme/trieSynapseSyntaxeSyste-meTabacTablierTactileTaillerTalentTalismanTalonnerTambourTamiserTangibleTapisTaquinerTarderTarifTartineTasseTatamiTatouageTaupeTaureauTaxerTe/moinTemporelTenailleTendreTeneurTenirTensionTerminerTerneTerribleTe/tineTexteThe-meThe/orieThe/rapieThoraxTibiaTie-deTimideTirelireTiroirTissuTitaneTitreTituberTobogganTole/rantTomateToniqueTonneauToponymeTorcheTordreTornadeTorpilleTorrentTorseTortueTotemToucherTournageTousserToxineTractionTraficTragiqueTrahirTrainTrancherTravailTre-fleTremperTre/sorTreuilTriageTribunalTricoterTrilogieTriompheTriplerTriturerTrivialTromboneTroncTropicalTroupeauTuileTulipeTumulteTunnelTurbineTuteurTutoyerTuyauTympanTyphonTypiqueTyranUbuesqueUltimeUltrasonUnanimeUnifierUnionUniqueUnitaireUniversUraniumUrbainUrticantUsageUsineUsuelUsureUtileUtopieVacarmeVaccinVagabondVagueVaillantVaincreVaisseauValableValiseVallonValveVampireVanilleVapeurVarierVaseuxVassalVasteVecteurVedetteVe/ge/talVe/hiculeVeinardVe/loceVendrediVe/ne/rerVengerVenimeuxVentouseVerdureVe/rinVernirVerrouVerserVertuVestonVe/te/ranVe/tusteVexantVexerViaducViandeVictoireVidangeVide/oVignetteVigueurVilainVillageVinaigreViolonVipe-reVirementVirtuoseVirusVisageViseurVisionVisqueuxVisuelVitalVitesseViticoleVitrineVivaceVivipareVocationVoguerVoileVoisinVoitureVolailleVolcanVoltigerVolumeVoraceVortexVoterVouloirVoyageVoyelleWagonXe/nonYachtZe-breZe/nithZesteZoologie".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" ").map((function(e){return t=e,r=[],Array.prototype.forEach.call(X.toUtf8Bytes(t),(function(e){47===e?(r.push(204),r.push(129)):45===e?(r.push(204),r.push(128)):r.push(e)})),X.toUtf8String(r);var t,r}))).forEach((function(e,t){a[s(e)]=t})),"0x51deb7ae009149dc61a6bd18a918eb7ac78d2775726c68e598b92d002519b045"!==gr.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for fr (French) FAILED")}var l=new(function(e){function t(){return e.call(this,"fr")||this}return o(t,e),t.prototype.getWord=function(e){return u(this),i[e]},t.prototype.getWordIndex=function(e){u(this);var t=a[s(e)];return"number"!=typeof t?-1:t},t}(gr.Wordlist));r.langFr=l,gr.Wordlist.register(l)}))),Mr=(r(br),br.langFr,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=["AQRASRAGBAGUAIRAHBAghAURAdBAdcAnoAMEAFBAFCBKFBQRBSFBCXBCDBCHBGFBEQBpBBpQBIkBHNBeOBgFBVCBhBBhNBmOBmRBiHBiFBUFBZDBvFBsXBkFBlcBjYBwDBMBBTBBTRBWBBWXXaQXaRXQWXSRXCFXYBXpHXOQXHRXhRXuRXmXXbRXlXXwDXTRXrCXWQXWGaBWaKcaYgasFadQalmaMBacAKaRKKBKKXKKjKQRKDRKCYKCRKIDKeVKHcKlXKjHKrYNAHNBWNaRNKcNIBNIONmXNsXNdXNnBNMBNRBNrXNWDNWMNFOQABQAHQBrQXBQXFQaRQKXQKDQKOQKFQNBQNDQQgQCXQCDQGBQGDQGdQYXQpBQpQQpHQLXQHuQgBQhBQhCQuFQmXQiDQUFQZDQsFQdRQkHQbRQlOQlmQPDQjDQwXQMBQMDQcFQTBQTHQrDDXQDNFDGBDGQDGRDpFDhFDmXDZXDbRDMYDRdDTRDrXSAhSBCSBrSGQSEQSHBSVRShYShkSyQSuFSiBSdcSoESocSlmSMBSFBSFKSFNSFdSFcCByCaRCKcCSBCSRCCrCGbCEHCYXCpBCpQCIBCIHCeNCgBCgFCVECVcCmkCmwCZXCZFCdRClOClmClFCjDCjdCnXCwBCwXCcRCFQCFjGXhGNhGDEGDMGCDGCHGIFGgBGVXGVEGVRGmXGsXGdYGoSGbRGnXGwXGwDGWRGFNGFLGFOGFdGFkEABEBDEBFEXOEaBEKSENBENDEYXEIgEIkEgBEgQEgHEhFEudEuFEiBEiHEiFEZDEvBEsXEsFEdXEdREkFEbBEbRElFEPCEfkEFNYAEYAhYBNYQdYDXYSRYCEYYoYgQYgRYuRYmCYZTYdBYbEYlXYjQYRbYWRpKXpQopQnpSFpCXpIBpISphNpdBpdRpbRpcZpFBpFNpFDpFopFrLADLBuLXQLXcLaFLCXLEhLpBLpFLHXLeVLhILdHLdRLoDLbRLrXIABIBQIBCIBsIBoIBMIBRIXaIaRIKYIKRINBINuICDIGBIIDIIkIgRIxFIyQIiHIdRIbYIbRIlHIwRIMYIcRIRVITRIFBIFNIFQOABOAFOBQOaFONBONMOQFOSFOCDOGBOEQOpBOLXOIBOIFOgQOgFOyQOycOmXOsXOdIOkHOMEOMkOWWHBNHXNHXWHNXHDuHDRHSuHSRHHoHhkHmRHdRHkQHlcHlRHwBHWcgAEgAggAkgBNgBQgBEgXOgYcgLXgHjgyQgiBgsFgdagMYgWSgFQgFEVBTVXEVKBVKNVKDVKYVKRVNBVNYVDBVDxVSBVSRVCjVGNVLXVIFVhBVhcVsXVdRVbRVlRhBYhKYhDYhGShxWhmNhdahdkhbRhjohMXhTRxAXxXSxKBxNBxEQxeNxeQxhXxsFxdbxlHxjcxFBxFNxFQxFOxFoyNYyYoybcyMYuBQuBRuBruDMuCouHBudQukkuoBulVuMXuFEmCYmCRmpRmeDmiMmjdmTFmFQiADiBOiaRiKRiNBiNRiSFiGkiGFiERipRiLFiIFihYibHijBijEiMXiWBiFBiFCUBQUXFUaRUNDUNcUNRUNFUDBUSHUCDUGBUGFUEqULNULoUIRUeEUeYUgBUhFUuRUiFUsXUdFUkHUbBUjSUjYUwXUMDUcHURdUTBUrBUrXUrQZAFZXZZaRZKFZNBZQFZCXZGBZYdZpBZLDZIFZHXZHNZeQZVRZVFZmXZiBZvFZdFZkFZbHZbFZwXZcCZcRZRBvBQvBGvBLvBWvCovMYsAFsBDsaRsKFsNFsDrsSHsSFsCXsCRsEBsEHsEfspBsLBsLDsIgsIRseGsbRsFBsFQsFSdNBdSRdCVdGHdYDdHcdVbdySduDdsXdlRdwXdWYdWcdWRkBMkXOkaRkNIkNFkSFkCFkYBkpRkeNkgBkhVkmXksFklVkMBkWDkFNoBNoaQoaFoNBoNXoNaoNEoSRoEroYXoYCoYbopRopFomXojkowXorFbBEbEIbdBbjYlaRlDElMXlFDjKjjSRjGBjYBjYkjpRjLXjIBjOFjeVjbRjwBnXQnSHnpFnLXnINnMBnTRwXBwXNwXYwNFwQFwSBwGFwLXwLDweNwgBwuHwjDwnXMBXMpFMIBMeNMTHcaQcNBcDHcSFcCXcpBcLXcLDcgFcuFcnXcwXccDcTQcrFTQErXNrCHrpFrgFrbFrTHrFcWNYWNbWEHWMXWTR","ABGHABIJAEAVAYJQALZJAIaRAHNXAHdcAHbRAZJMAZJRAZTRAdVJAklmAbcNAjdRAMnRAMWYAWpRAWgRAFgBAFhBAFdcBNJBBNJDBQKBBQhcBQlmBDEJBYJkBYJTBpNBBpJFBIJBBIJDBIcABOKXBOEJBOVJBOiJBOZJBepBBeLXBeIFBegBBgGJBVJXBuocBiJRBUJQBlXVBlITBwNFBMYVBcqXBTlmBWNFBWiJBWnRBFGHBFwXXKGJXNJBXNZJXDTTXSHSXSVRXSlHXCJDXGQJXEhXXYQJXYbRXOfXXeNcXVJFXhQJXhEJXdTRXjdXXMhBXcQTXRGBXTEBXTnQXFCXXFOFXFgFaBaFaBNJaBCJaBpBaBwXaNJKaNJDaQIBaDpRaEPDaHMFamDJalEJaMZJaFaFaFNBaFQJaFLDaFVHKBCYKBEBKBHDKXaFKXGdKXEJKXpHKXIBKXZDKXwXKKwLKNacKNYJKNJoKNWcKDGdKDTRKChXKGaRKGhBKGbRKEBTKEaRKEPTKLMDKLWRKOHDKVJcKdBcKlIBKlOPKFSBKFEPKFpFNBNJNJBQNBGHNBEPNBHXNBgFNBVXNBZDNBsXNBwXNNaRNNJDNNJENNJkNDCJNDVDNGJRNJiDNZJNNsCJNJFNNFSBNFCXNFEPNFLXNFIFQJBFQCaRQJEQQLJDQLJFQIaRQOqXQHaFQHHQQVJXQVJDQhNJQmEIQZJFQsJXQJrFQWbRDJABDBYJDXNFDXCXDXLXDXZDDXsJDQqXDSJFDJCXDEPkDEqXDYmQDpSJDOCkDOGQDHEIDVJDDuDuDWEBDJFgSBNDSBSFSBGHSBIBSBTQSKVYSJQNSJQiSJCXSEqXSJYVSIiJSOMYSHAHSHaQSeCFSepQSegBSHdHSHrFShSJSJuHSJUFSkNRSrSrSWEBSFaHSJFQSFCXSFGDSFYXSFODSFgBSFVXSFhBSFxFSFkFSFbBSFMFCADdCJXBCXaFCXKFCXNFCXCXCXGBCXEJCXYBCXLDCXIBCXOPCXHXCXgBCXhBCXiBCXlDCXcHCJNBCJNFCDCJCDGBCDVXCDhBCDiDCDJdCCmNCpJFCIaRCOqXCHCHCHZJCViJCuCuCmddCJiFCdNBCdHhClEJCnUJCreSCWlgCWTRCFBFCFNBCFYBCFVFCFhFCFdSCFTBCFWDGBNBGBQFGJBCGBEqGBpBGBgQGNBEGNJYGNkOGNJRGDUFGJpQGHaBGJeNGJeEGVBlGVKjGiJDGvJHGsVJGkEBGMIJGWjNGFBFGFCXGFGBGFYXGFpBGFMFEASJEAWpEJNFECJVEIXSEIQJEOqXEOcFEeNcEHEJEHlFEJgFEhlmEmDJEmZJEiMBEUqXEoSREPBFEPXFEPKFEPSFEPEFEPpFEPLXEPIBEJPdEPcFEPTBEJnXEqlHEMpREFCXEFODEFcFYASJYJAFYBaBYBVXYXpFYDhBYCJBYJGFYYbRYeNcYJeVYiIJYZJcYvJgYvJRYJsXYsJFYMYMYreVpBNHpBEJpBwXpQxFpYEJpeNDpJeDpeSFpeCHpHUJpHbBpHcHpmUJpiiJpUJrpsJuplITpFaBpFQqpFGBpFEfpFYBpFpBpFLJpFIDpFgBpFVXpFyQpFuFpFlFpFjDpFnXpFwXpJFMpFTBLXCJLXEFLXhFLXUJLXbFLalmLNJBLSJQLCLCLGJBLLDJLHaFLeNFLeSHLeCXLepFLhaRLZsJLsJDLsJrLocaLlLlLMdbLFNBLFSBLFEHLFkFIBBFIBXFIBaQIBKXIBSFIBpHIBLXIBgBIBhBIBuHIBmXIBiFIBZXIBvFIBbFIBjQIBwXIBWFIKTRIQUJIDGFICjQIYSRIINXIJeCIVaRImEkIZJFIvJRIsJXIdCJIJoRIbBQIjYBIcqXITFVIreVIFKFIFSFIFCJIFGFIFLDIFIBIJFOIFgBIFVXIJFhIFxFIFmXIFdHIFbBIJFrIJFWOBGBOQfXOOKjOUqXOfXBOqXEOcqXORVJOFIBOFlDHBIOHXiFHNTRHCJXHIaRHHJDHHEJHVbRHZJYHbIBHRsJHRkDHWlmgBKFgBSBgBCDgBGHgBpBgBIBgBVJgBuBgBvFgKDTgQVXgDUJgGSJgOqXgmUMgZIJgTUJgWIEgFBFgFNBgFDJgFSFgFGBgFYXgJFOgFgQgFVXgFhBgFbHgJFWVJABVQKcVDgFVOfXVeDFVhaRVmGdViJYVMaRVFNHhBNDhBCXhBEqhBpFhBLXhNJBhSJRheVXhhKEhxlmhZIJhdBQhkIJhbMNhMUJhMZJxNJgxQUJxDEkxDdFxSJRxplmxeSBxeCXxeGFxeYXxepQxegBxWVcxFEQxFLXxFIBxFgBxFxDxFZtxFdcxFbBxFwXyDJXyDlcuASJuDJpuDIBuCpJuGSJuIJFueEFuZIJusJXudWEuoIBuWGJuFBcuFKEuFNFuFQFuFDJuFGJuFVJuFUtuFdHuFTBmBYJmNJYmQhkmLJDmLJomIdXmiJYmvJRmsJRmklmmMBymMuCmclmmcnQiJABiJBNiJBDiBSFiBCJiBEFiBYBiBpFiBLXiBTHiJNciDEfiCZJiECJiJEqiOkHiHKFieNDiHJQieQcieDHieSFieCXieGFieEFieIHiegFihUJixNoioNXiFaBiFKFiFNDiFEPiFYXitFOitFHiFgBiFVEiFmXiFitiFbBiFMFiFrFUCXQUIoQUIJcUHQJUeCEUHwXUUJDUUqXUdWcUcqXUrnQUFNDUFSHUFCFUFEfUFLXUtFOZBXOZXSBZXpFZXVXZEQJZEJkZpDJZOqXZeNHZeCDZUqXZFBQZFEHZFLXvBAFvBKFvBCXvBEPvBpHvBIDvBgFvBuHvQNJvFNFvFGBvFIBvJFcsXCDsXLXsXsXsXlFsXcHsQqXsJQFsEqXseIFsFEHsFjDdBxOdNpRdNJRdEJbdpJRdhZJdnSJdrjNdFNJdFQHdFhNkNJDkYaRkHNRkHSRkVbRkuMRkjSJkcqDoSJFoEiJoYZJoOfXohEBoMGQocqXbBAFbBXFbBaFbBNDbBGBbBLXbBTBbBWDbGJYbIJHbFQqbFpQlDgQlOrFlVJRjGEBjZJRnXvJnXbBnEfHnOPDngJRnxfXnUJWwXEJwNpJwDpBwEfXwrEBMDCJMDGHMDIJMLJDcQGDcQpHcqXccqNFcqCXcFCJRBSBRBGBRBEJRBpQTBNFTBQJTBpBTBVXTFABTFSBTFCFTFGBTFMDrXCJrXLDrDNJrEfHrFQJrFitWNjdWNTR","AKLJMANOPFASNJIAEJWXAYJNRAIIbRAIcdaAeEfDAgidRAdjNYAMYEJAMIbRAFNJBAFpJFBBIJYBDZJFBSiJhBGdEBBEJfXBEJqXBEJWRBpaUJBLXrXBIYJMBOcfXBeEfFBestXBjNJRBcDJOBFEqXXNvJRXDMBhXCJNYXOAWpXONJWXHDEBXeIaRXhYJDXZJSJXMDJOXcASJXFVJXaBQqXaBZJFasXdQaFSJQaFEfXaFpJHaFOqXKBNSRKXvJBKQJhXKEJQJKEJGFKINJBKIJjNKgJNSKVElmKVhEBKiJGFKlBgJKjnUJKwsJYKMFIJKFNJDKFIJFKFOfXNJBSFNJBCXNBpJFNJBvQNJBMBNJLJXNJOqXNJeCXNJeGFNdsJCNbTKFNwXUJQNFEPQDiJcQDMSJQSFpBQGMQJQJeOcQyCJEQUJEBQJFBrQFEJqDXDJFDJXpBDJXIMDGiJhDIJGRDJeYcDHrDJDVXgFDkAWpDkIgRDjDEqDMvJRDJFNFDJFIBSKclmSJQOFSJQVHSJQjDSJGJBSJGJFSECJoSHEJqSJHTBSJVJDSViJYSZJNBSJsJDSFSJFSFEfXSJFLXCBUJVCJXSBCJXpBCXVJXCJXsXCJXdFCJNJHCLIJgCHiJFCVNJMChCJhCUHEJCsJTRCJdYcCoQJCCFEfXCFIJgCFUJxCFstFGJBaQGJBIDGQJqXGYJNRGJHKFGeQqDGHEJFGJeLXGHIiJGHdBlGUJEBGkIJTGFQPDGJFEqEAGegEJIJBEJVJXEhQJTEiJNcEJZJFEJoEqEjDEqEPDsXEPGJBEPOqXEPeQFEfDiDEJfEFEfepQEfMiJEqXNBEqDIDEqeSFEqVJXEMvJRYXNJDYXEJHYKVJcYYJEBYJeEcYJUqXYFpJFYFstXpAZJMpBSJFpNBNFpeQPDpHLJDpHIJFpHgJFpeitFpHZJFpJFADpFSJFpJFCJpFOqXpFitBpJFZJLXIJFLIJgRLVNJWLVHJMLwNpJLFGJBLFLJDLFOqXLJFUJIBDJXIBGJBIJBYQIJBIBIBOqXIBcqDIEGJFILNJTIIJEBIOiJhIJeNBIJeIBIhiJIIWoTRIJFAHIJFpBIJFuHIFUtFIJFTHOSBYJOEcqXOHEJqOvBpFOkVJrObBVJOncqDOcNJkHhNJRHuHJuHdMhBgBUqXgBsJXgONJBgHNJDgHHJQgJeitgHsJXgJyNagyDJBgZJDrgsVJQgkEJNgkjSJgJFAHgFCJDgFZtMVJXNFVXQfXVJXDJVXoQJVQVJQVDEfXVDvJHVEqNFVeQfXVHpJFVHxfXVVJSRVVmaRVlIJOhCXVJhHjYkhxCJVhWVUJhWiJcxBNJIxeEqDxfXBFxcFEPxFSJFxFYJXyBDQJydaUJyFOPDuYCJYuLvJRuHLJXuZJLDuFOPDuFZJHuFcqXmKHJdmCQJcmOsVJiJAGFitLCFieOfXiestXiZJMEikNJQirXzFiFQqXiFIJFiFZJFiFvtFUHpJFUteIcUteOcUVCJkUhdHcUbEJEUJqXQUMNJhURjYkUFitFZDGJHZJIxDZJVJXZJFDJZJFpQvBNJBvBSJFvJxBrseQqDsVFVJdFLJDkEJNBkmNJYkFLJDoQJOPoGsJRoEAHBoEJfFbBQqDbBZJHbFVJXlFIJBjYIrXjeitcjjCEBjWMNBwXQfXwXOaFwDsJXwCJTRwrCZJMDNJQcDDJFcqDOPRYiJFTBsJXTQIJBTFEfXTFLJDrXEJFrEJXMrFZJFWEJdEWYTlm","ABCDEFACNJTRAMBDJdAcNJVXBLNJEBXSIdWRXErNJkXYDJMBXZJCJaXMNJaYKKVJKcKDEJqXKDcNJhKVJrNYKbgJVXKFVJSBNBYBwDNJeQfXNJeEqXNhGJWENJFiJRQlIJbEQJfXxDQqXcfXQFNDEJQFwXUJDYcnUJDJIBgQDIUJTRDJFEqDSJQSJFSJQIJFSOPeZtSJFZJHCJXQfXCTDEqFGJBSJFGJBOfXGJBcqXGJHNJDGJRLiJEJfXEqEJFEJPEFpBEJYJBZJFYBwXUJYiJMEBYJZJyTYTONJXpQMFXFpeGIDdpJFstXpJFcPDLBVSJRLHQJqXLJFZJFIJBNJDIJBUqXIBkFDJIJEJPTIYJGWRIJeQPDIJeEfHIJFsJXOqGDSFHXEJqXgJCsJCgGQJqXgdQYJEgFMFNBgJFcqDVJwXUJVJFZJchIgJCCxOEJqXxOwXUJyDJBVRuscisciJBiJBieUtqXiJFDJkiFsJXQUGEZJcUJFsJXZtXIrXZDZJDrZJFNJDZJFstXvJFQqXvJFCJEsJXQJqkhkNGBbDJdTRbYJMEBlDwXUJMEFiJFcfXNJDRcNJWMTBLJXC","BraFUtHBFSJFdbNBLJXVJQoYJNEBSJBEJfHSJHwXUJCJdAZJMGjaFVJXEJPNJBlEJfFiJFpFbFEJqIJBVJCrIBdHiJhOPFChvJVJZJNJWxGFNIFLueIBQJqUHEJfUFstOZJDrlXEASJRlXVJXSFwVJNJWD","QJEJNNJDQJEJIBSFQJEJxegBQJEJfHEPSJBmXEJFSJCDEJqXLXNJFQqXIcQsFNJFIFEJqXUJgFsJXIJBUJEJfHNFvJxEqXNJnXUJFQqD","IJBEJqXZJ"],a=null;function s(e){return h.hexlify(X.toUtf8Bytes(e))}function u(e){if(null===a){a=[];var t={};t[X.toUtf8String([227,130,154])]=!1,t[X.toUtf8String([227,130,153])]=!1,t[X.toUtf8String([227,130,133])]=X.toUtf8String([227,130,134]),t[X.toUtf8String([227,129,163])]=X.toUtf8String([227,129,164]),t[X.toUtf8String([227,130,131])]=X.toUtf8String([227,130,132]),t[X.toUtf8String([227,130,135])]=X.toUtf8String([227,130,136]);for(var r=3;r<=9;r++)for(var n=i[r-3],o=0;ot?1:0})),"0xe3818de38284e3818f"===s(a[442])&&"0xe3818de38283e3818f"===s(a[443])){var h=a[442];a[442]=a[443],a[443]=h}if("0xcb36b09e6baa935787fd762ce65e80b0c6a8dabdfbc3a7f86ac0e2c4fd111600"!==gr.Wordlist.check(e))throw a=null,new Error("BIP39 Wordlist for ja (Japanese) FAILED")}function f(e){for(var r="",n=0;n=40?i=i+168-40:i>=19&&(i=i+97-19),X.toUtf8String([225,132+(i>>6),128+(63&i)]));a.push(n)}var i})),a.sort(),"0xf9eddeace9c5d3da9c93cf7d3cd38f6a13ed3affb933259ae865714e8a3ae71a"!==gr.Wordlist.check(e)))throw a=null,new Error("BIP39 Wordlist for ko (Korean) FAILED")}var u=new(function(e){function t(){return e.call(this,"ko")||this}return o(t,e),t.prototype.getWord=function(e){return s(this),a[e]},t.prototype.getWordIndex=function(e){return s(this),a.indexOf(e)},t}(gr.Wordlist));r.langKo=u,gr.Wordlist.register(u)}))),Ar=(r(wr),wr.langKo,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i=null;function a(e){if(null==i&&(i="AbacoAbbaglioAbbinatoAbeteAbissoAbolireAbrasivoAbrogatoAccadereAccennoAccusatoAcetoneAchilleAcidoAcquaAcreAcrilicoAcrobataAcutoAdagioAddebitoAddomeAdeguatoAderireAdipeAdottareAdulareAffabileAffettoAffissoAffrantoAforismaAfosoAfricanoAgaveAgenteAgevoleAggancioAgireAgitareAgonismoAgricoloAgrumetoAguzzoAlabardaAlatoAlbatroAlberatoAlboAlbumeAlceAlcolicoAlettoneAlfaAlgebraAlianteAlibiAlimentoAllagatoAllegroAllievoAllodolaAllusivoAlmenoAlogenoAlpacaAlpestreAltalenaAlternoAlticcioAltroveAlunnoAlveoloAlzareAmalgamaAmanitaAmarenaAmbitoAmbratoAmebaAmericaAmetistaAmicoAmmassoAmmendaAmmirareAmmonitoAmoreAmpioAmpliareAmuletoAnacardoAnagrafeAnalistaAnarchiaAnatraAncaAncellaAncoraAndareAndreaAnelloAngeloAngolareAngustoAnimaAnnegareAnnidatoAnnoAnnuncioAnonimoAnticipoAnziApaticoAperturaApodeApparireAppetitoAppoggioApprodoAppuntoAprileArabicaArachideAragostaAraldicaArancioAraturaArazzoArbitroArchivioArditoArenileArgentoArgineArgutoAriaArmoniaArneseArredatoArringaArrostoArsenicoArsoArteficeArzilloAsciuttoAscoltoAsepsiAsetticoAsfaltoAsinoAsolaAspiratoAsproAssaggioAsseAssolutoAssurdoAstaAstenutoAsticeAstrattoAtavicoAteismoAtomicoAtonoAttesaAttivareAttornoAttritoAttualeAusilioAustriaAutistaAutonomoAutunnoAvanzatoAvereAvvenireAvvisoAvvolgereAzioneAzotoAzzimoAzzurroBabeleBaccanoBacinoBacoBadessaBadilataBagnatoBaitaBalconeBaldoBalenaBallataBalzanoBambinoBandireBaraondaBarbaroBarcaBaritonoBarlumeBaroccoBasilicoBassoBatostaBattutoBauleBavaBavosaBeccoBeffaBelgioBelvaBendaBenevoleBenignoBenzinaBereBerlinaBetaBibitaBiciBidoneBifidoBigaBilanciaBimboBinocoloBiologoBipedeBipolareBirbanteBirraBiscottoBisestoBisnonnoBisonteBisturiBizzarroBlandoBlattaBollitoBonificoBordoBoscoBotanicoBottinoBozzoloBraccioBradipoBramaBrancaBravuraBretellaBrevettoBrezzaBrigliaBrillanteBrindareBroccoloBrodoBronzinaBrulloBrunoBubboneBucaBudinoBuffoneBuioBulboBuonoBurloneBurrascaBussolaBustaCadettoCaducoCalamaroCalcoloCalesseCalibroCalmoCaloriaCambusaCamerataCamiciaCamminoCamolaCampaleCanapaCandelaCaneCaninoCanottoCantinaCapaceCapelloCapitoloCapogiroCapperoCapraCapsulaCarapaceCarcassaCardoCarismaCarovanaCarrettoCartolinaCasaccioCascataCasermaCasoCassoneCastelloCasualeCatastaCatenaCatrameCautoCavilloCedibileCedrataCefaloCelebreCellulareCenaCenoneCentesimoCeramicaCercareCertoCerumeCervelloCesoiaCespoCetoChelaChiaroChiccaChiedereChimeraChinaChirurgoChitarraCiaoCiclismoCifrareCignoCilindroCiottoloCircaCirrosiCitricoCittadinoCiuffoCivettaCivileClassicoClinicaCloroCoccoCodardoCodiceCoerenteCognomeCollareColmatoColoreColposoColtivatoColzaComaCometaCommandoComodoComputerComuneConcisoCondurreConfermaCongelareConiugeConnessoConoscereConsumoContinuoConvegnoCopertoCopioneCoppiaCopricapoCorazzaCordataCoricatoCorniceCorollaCorpoCorredoCorsiaCorteseCosmicoCostanteCotturaCovatoCratereCravattaCreatoCredereCremosoCrescitaCretaCricetoCrinaleCrisiCriticoCroceCronacaCrostataCrucialeCruscaCucireCuculoCuginoCullatoCupolaCuratoreCursoreCurvoCuscinoCustodeDadoDainoDalmataDamerinoDanielaDannosoDanzareDatatoDavantiDavveroDebuttoDecennioDecisoDeclinoDecolloDecretoDedicatoDefinitoDeformeDegnoDelegareDelfinoDelirioDeltaDemenzaDenotatoDentroDepositoDerapataDerivareDerogaDescrittoDesertoDesiderioDesumereDetersivoDevotoDiametroDicembreDiedroDifesoDiffusoDigerireDigitaleDiluvioDinamicoDinnanziDipintoDiplomaDipoloDiradareDireDirottoDirupoDisagioDiscretoDisfareDisgeloDispostoDistanzaDisumanoDitoDivanoDiveltoDividereDivoratoDobloneDocenteDoganaleDogmaDolceDomatoDomenicaDominareDondoloDonoDormireDoteDottoreDovutoDozzinaDragoDruidoDubbioDubitareDucaleDunaDuomoDupliceDuraturoEbanoEccessoEccoEclissiEconomiaEderaEdicolaEdileEditoriaEducareEgemoniaEgliEgoismoEgregioElaboratoElargireEleganteElencatoElettoElevareElficoElicaElmoElsaElusoEmanatoEmblemaEmessoEmiroEmotivoEmozioneEmpiricoEmuloEndemicoEnduroEnergiaEnfasiEnotecaEntrareEnzimaEpatiteEpilogoEpisodioEpocaleEppureEquatoreErarioErbaErbosoEredeEremitaErigereErmeticoEroeErosivoErranteEsagonoEsameEsanimeEsaudireEscaEsempioEsercitoEsibitoEsigenteEsistereEsitoEsofagoEsortatoEsosoEspansoEspressoEssenzaEssoEstesoEstimareEstoniaEstrosoEsultareEtilicoEtnicoEtruscoEttoEuclideoEuropaEvasoEvidenzaEvitatoEvolutoEvvivaFabbricaFaccendaFachiroFalcoFamigliaFanaleFanfaraFangoFantasmaFareFarfallaFarinosoFarmacoFasciaFastosoFasulloFaticareFatoFavolosoFebbreFecolaFedeFegatoFelpaFeltroFemminaFendereFenomenoFermentoFerroFertileFessuraFestivoFettaFeudoFiabaFiduciaFifaFiguratoFiloFinanzaFinestraFinireFioreFiscaleFisicoFiumeFlaconeFlamencoFleboFlemmaFloridoFluenteFluoroFobicoFocacciaFocosoFoderatoFoglioFolataFolcloreFolgoreFondenteFoneticoFoniaFontanaForbitoForchettaForestaFormicaFornaioForoFortezzaForzareFosfatoFossoFracassoFranaFrassinoFratelloFreccettaFrenataFrescoFrigoFrollinoFrondeFrugaleFruttaFucilataFucsiaFuggenteFulmineFulvoFumanteFumettoFumosoFuneFunzioneFuocoFurboFurgoneFuroreFusoFutileGabbianoGaffeGalateoGallinaGaloppoGamberoGammaGaranziaGarboGarofanoGarzoneGasdottoGasolioGastricoGattoGaudioGazeboGazzellaGecoGelatinaGelsoGemelloGemmatoGeneGenitoreGennaioGenotipoGergoGhepardoGhiaccioGhisaGialloGildaGineproGiocareGioielloGiornoGioveGiratoGironeGittataGiudizioGiuratoGiustoGlobuloGlutineGnomoGobbaGolfGomitoGommoneGonfioGonnaGovernoGracileGradoGraficoGrammoGrandeGrattareGravosoGraziaGrecaGreggeGrifoneGrigioGrinzaGrottaGruppoGuadagnoGuaioGuantoGuardareGufoGuidareIbernatoIconaIdenticoIdillioIdoloIdraIdricoIdrogenoIgieneIgnaroIgnoratoIlareIllesoIllogicoIlludereImballoImbevutoImboccoImbutoImmaneImmersoImmolatoImpaccoImpetoImpiegoImportoImprontaInalareInarcareInattivoIncantoIncendioInchinoIncisivoInclusoIncontroIncrocioIncuboIndagineIndiaIndoleIneditoInfattiInfilareInflittoIngaggioIngegnoIngleseIngordoIngrossoInnescoInodoreInoltrareInondatoInsanoInsettoInsiemeInsonniaInsulinaIntasatoInteroIntonacoIntuitoInumidireInvalidoInveceInvitoIperboleIpnoticoIpotesiIppicaIrideIrlandaIronicoIrrigatoIrrorareIsolatoIsotopoIstericoIstitutoIstriceItaliaIterareLabbroLabirintoLaccaLaceratoLacrimaLacunaLaddoveLagoLampoLancettaLanternaLardosoLargaLaringeLastraLatenzaLatinoLattugaLavagnaLavoroLegaleLeggeroLemboLentezzaLenzaLeoneLepreLesivoLessatoLestoLetteraleLevaLevigatoLiberoLidoLievitoLillaLimaturaLimitareLimpidoLineareLinguaLiquidoLiraLiricaLiscaLiteLitigioLivreaLocandaLodeLogicaLombareLondraLongevoLoquaceLorenzoLotoLotteriaLuceLucidatoLumacaLuminosoLungoLupoLuppoloLusingaLussoLuttoMacabroMacchinaMaceroMacinatoMadamaMagicoMagliaMagneteMagroMaiolicaMalafedeMalgradoMalintesoMalsanoMaltoMalumoreManaManciaMandorlaMangiareManifestoMannaroManovraMansardaMantideManubrioMappaMaratonaMarcireMarettaMarmoMarsupioMascheraMassaiaMastinoMaterassoMatricolaMattoneMaturoMazurcaMeandroMeccanicoMecenateMedesimoMeditareMegaMelassaMelisMelodiaMeningeMenoMensolaMercurioMerendaMerloMeschinoMeseMessereMestoloMetalloMetodoMettereMiagolareMicaMicelioMicheleMicroboMidolloMieleMiglioreMilanoMiliteMimosaMineraleMiniMinoreMirinoMirtilloMiscelaMissivaMistoMisurareMitezzaMitigareMitraMittenteMnemonicoModelloModificaModuloMoganoMogioMoleMolossoMonasteroMoncoMondinaMonetarioMonileMonotonoMonsoneMontatoMonvisoMoraMordereMorsicatoMostroMotivatoMotosegaMottoMovenzaMovimentoMozzoMuccaMucosaMuffaMughettoMugnaioMulattoMulinelloMultiploMummiaMuntoMuovereMuraleMusaMuscoloMusicaMutevoleMutoNababboNaftaNanometroNarcisoNariceNarratoNascereNastrareNaturaleNauticaNaviglioNebulosaNecrosiNegativoNegozioNemmenoNeofitaNerettoNervoNessunoNettunoNeutraleNeveNevroticoNicchiaNinfaNitidoNobileNocivoNodoNomeNominaNordicoNormaleNorvegeseNostranoNotareNotiziaNotturnoNovellaNucleoNullaNumeroNuovoNutrireNuvolaNuzialeOasiObbedireObbligoObeliscoOblioOboloObsoletoOccasioneOcchioOccidenteOccorrereOccultareOcraOculatoOdiernoOdorareOffertaOffrireOffuscatoOggettoOggiOgnunoOlandeseOlfattoOliatoOlivaOlogrammaOltreOmaggioOmbelicoOmbraOmegaOmissioneOndosoOnereOniceOnnivoroOnorevoleOntaOperatoOpinioneOppostoOracoloOrafoOrdineOrecchinoOreficeOrfanoOrganicoOrigineOrizzonteOrmaOrmeggioOrnativoOrologioOrrendoOrribileOrtensiaOrticaOrzataOrzoOsareOscurareOsmosiOspedaleOspiteOssaOssidareOstacoloOsteOtiteOtreOttagonoOttimoOttobreOvaleOvestOvinoOviparoOvocitoOvunqueOvviareOzioPacchettoPacePacificoPadellaPadronePaesePagaPaginaPalazzinaPalesarePallidoPaloPaludePandoroPannelloPaoloPaonazzoPapricaParabolaParcellaParerePargoloPariParlatoParolaPartireParvenzaParzialePassivoPasticcaPataccaPatologiaPattumePavonePeccatoPedalarePedonalePeggioPelosoPenarePendicePenisolaPennutoPenombraPensarePentolaPepePepitaPerbenePercorsoPerdonatoPerforarePergamenaPeriodoPermessoPernoPerplessoPersuasoPertugioPervasoPesatorePesistaPesoPestiferoPetaloPettinePetulantePezzoPiacerePiantaPiattinoPiccinoPicozzaPiegaPietraPifferoPigiamaPigolioPigroPilaPiliferoPillolaPilotaPimpantePinetaPinnaPinoloPioggiaPiomboPiramidePireticoPiritePirolisiPitonePizzicoPlaceboPlanarePlasmaPlatanoPlenarioPochezzaPoderosoPodismoPoesiaPoggiarePolentaPoligonoPollicePolmonitePolpettaPolsoPoltronaPolverePomicePomodoroPontePopolosoPorfidoPorosoPorporaPorrePortataPosaPositivoPossessoPostulatoPotassioPoterePranzoPrassiPraticaPreclusoPredicaPrefissoPregiatoPrelievoPremerePrenotarePreparatoPresenzaPretestoPrevalsoPrimaPrincipePrivatoProblemaProcuraProdurreProfumoProgettoProlungaPromessaPronomePropostaProrogaProtesoProvaPrudentePrugnaPruritoPsichePubblicoPudicaPugilatoPugnoPulcePulitoPulsantePuntarePupazzoPupillaPuroQuadroQualcosaQuasiQuerelaQuotaRaccoltoRaddoppioRadicaleRadunatoRafficaRagazzoRagioneRagnoRamarroRamingoRamoRandagioRantolareRapatoRapinaRappresoRasaturaRaschiatoRasenteRassegnaRastrelloRataRavvedutoRealeRecepireRecintoReclutaReconditoRecuperoRedditoRedimereRegalatoRegistroRegolaRegressoRelazioneRemareRemotoRennaReplicaReprimereReputareResaResidenteResponsoRestauroReteRetinaRetoricaRettificaRevocatoRiassuntoRibadireRibelleRibrezzoRicaricaRiccoRicevereRiciclatoRicordoRicredutoRidicoloRidurreRifasareRiflessoRiformaRifugioRigareRigettatoRighelloRilassatoRilevatoRimanereRimbalzoRimedioRimorchioRinascitaRincaroRinforzoRinnovoRinomatoRinsavitoRintoccoRinunciaRinvenireRiparatoRipetutoRipienoRiportareRipresaRipulireRisataRischioRiservaRisibileRisoRispettoRistoroRisultatoRisvoltoRitardoRitegnoRitmicoRitrovoRiunioneRivaRiversoRivincitaRivoltoRizomaRobaRoboticoRobustoRocciaRocoRodaggioRodereRoditoreRogitoRollioRomanticoRompereRonzioRosolareRospoRotanteRotondoRotulaRovescioRubizzoRubricaRugaRullinoRumineRumorosoRuoloRupeRussareRusticoSabatoSabbiareSabotatoSagomaSalassoSaldaturaSalgemmaSalivareSalmoneSaloneSaltareSalutoSalvoSapereSapidoSaporitoSaracenoSarcasmoSartoSassosoSatelliteSatiraSatolloSaturnoSavanaSavioSaziatoSbadiglioSbalzoSbancatoSbarraSbattereSbavareSbendareSbirciareSbloccatoSbocciatoSbrinareSbruffoneSbuffareScabrosoScadenzaScalaScambiareScandaloScapolaScarsoScatenareScavatoSceltoScenicoScettroSchedaSchienaSciarpaScienzaScindereScippoSciroppoScivoloSclerareScodellaScolpitoScompartoSconfortoScoprireScortaScossoneScozzeseScribaScrollareScrutinioScuderiaScultoreScuolaScuroScusareSdebitareSdoganareSeccaturaSecondoSedanoSeggiolaSegnalatoSegregatoSeguitoSelciatoSelettivoSellaSelvaggioSemaforoSembrareSemeSeminatoSempreSensoSentireSepoltoSequenzaSerataSerbatoSerenoSerioSerpenteSerraglioServireSestinaSetolaSettimanaSfaceloSfaldareSfamatoSfarzosoSfaticatoSferaSfidaSfilatoSfingeSfocatoSfoderareSfogoSfoltireSforzatoSfrattoSfruttatoSfuggitoSfumareSfusoSgabelloSgarbatoSgonfiareSgorbioSgrassatoSguardoSibiloSiccomeSierraSiglaSignoreSilenzioSillabaSimboloSimpaticoSimulatoSinfoniaSingoloSinistroSinoSintesiSinusoideSiparioSismaSistoleSituatoSlittaSlogaturaSlovenoSmarritoSmemoratoSmentitoSmeraldoSmilzoSmontareSmottatoSmussatoSnellireSnervatoSnodoSobbalzoSobrioSoccorsoSocialeSodaleSoffittoSognoSoldatoSolenneSolidoSollazzoSoloSolubileSolventeSomaticoSommaSondaSonettoSonniferoSopireSoppesoSopraSorgereSorpassoSorrisoSorsoSorteggioSorvolatoSospiroSostaSottileSpadaSpallaSpargereSpatolaSpaventoSpazzolaSpecieSpedireSpegnereSpelaturaSperanzaSpessoreSpettraleSpezzatoSpiaSpigolosoSpillatoSpinosoSpiraleSplendidoSportivoSposoSprangaSprecareSpronatoSpruzzoSpuntinoSquilloSradicareSrotolatoStabileStaccoStaffaStagnareStampatoStantioStarnutoStaseraStatutoSteloSteppaSterzoStilettoStimaStirpeStivaleStizzosoStonatoStoricoStrappoStregatoStriduloStrozzareStruttoStuccareStufoStupendoSubentroSuccosoSudoreSuggeritoSugoSultanoSuonareSuperboSupportoSurgelatoSurrogatoSussurroSuturaSvagareSvedeseSveglioSvelareSvenutoSveziaSviluppoSvistaSvizzeraSvoltaSvuotareTabaccoTabulatoTacciareTaciturnoTaleTalismanoTamponeTanninoTaraTardivoTargatoTariffaTarpareTartarugaTastoTatticoTavernaTavolataTazzaTecaTecnicoTelefonoTemerarioTempoTemutoTendoneTeneroTensioneTentacoloTeoremaTermeTerrazzoTerzettoTesiTesseratoTestatoTetroTettoiaTifareTigellaTimbroTintoTipicoTipografoTiraggioTiroTitanioTitoloTitubanteTizioTizzoneToccareTollerareToltoTombolaTomoTonfoTonsillaTopazioTopologiaToppaTorbaTornareTorroneTortoraToscanoTossireTostaturaTotanoTraboccoTracheaTrafilaTragediaTralcioTramontoTransitoTrapanoTrarreTraslocoTrattatoTraveTrecciaTremolioTrespoloTributoTrichecoTrifoglioTrilloTrinceaTrioTristezzaTrituratoTrivellaTrombaTronoTroppoTrottolaTrovareTruccatoTubaturaTuffatoTulipanoTumultoTunisiaTurbareTurchinoTutaTutelaUbicatoUccelloUccisoreUdireUditivoUffaUfficioUgualeUlisseUltimatoUmanoUmileUmorismoUncinettoUngereUnghereseUnicornoUnificatoUnisonoUnitarioUnteUovoUpupaUraganoUrgenzaUrloUsanzaUsatoUscitoUsignoloUsuraioUtensileUtilizzoUtopiaVacanteVaccinatoVagabondoVagliatoValangaValgoValicoVallettaValorosoValutareValvolaVampataVangareVanitosoVanoVantaggioVanveraVaporeVaranoVarcatoVarianteVascaVedettaVedovaVedutoVegetaleVeicoloVelcroVelinaVellutoVeloceVenatoVendemmiaVentoVeraceVerbaleVergognaVerificaVeroVerrucaVerticaleVescicaVessilloVestaleVeteranoVetrinaVetustoViandanteVibranteVicendaVichingoVicinanzaVidimareVigiliaVignetoVigoreVileVillanoViminiVincitoreViolaViperaVirgolaVirologoVirulentoViscosoVisioneVispoVissutoVisuraVitaVitelloVittimaVivandaVividoViziareVoceVogaVolatileVolereVolpeVoragineVulcanoZampognaZannaZappatoZatteraZavorraZefiroZelanteZeloZenzeroZerbinoZibettoZincoZirconeZittoZollaZoticoZuccheroZufoloZuluZuppa".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x5c1362d88fd4cf614a96f3234941d29f7d37c08c5292fde03bf62c2db6ff7620"!==gr.Wordlist.check(e)))throw i=null,new Error("BIP39 Wordlist for it (Italian) FAILED")}var s=new(function(e){function t(){return e.call(this,"it")||this}return o(t,e),t.prototype.getWord=function(e){return a(this),i[e]},t.prototype.getWordIndex=function(e){return a(this),i.indexOf(e)},t}(gr.Wordlist));r.langIt=s,gr.Wordlist.register(s)}))),Sr=(r(Ar),Ar.langIt,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var i="}aE#4A=Yv&co#4N#6G=cJ&SM#66|/Z#4t&kn~46#4K~4q%b9=IR#7l,mB#7W_X2*dl}Uo~7s}Uf&Iw#9c&cw~6O&H6&wx&IG%v5=IQ~8a&Pv#47$PR&50%Ko&QM&3l#5f,D9#4L|/H&tQ;v0~6n]nN>2),128+u.indexOf(i[3*r+1]),128+u.indexOf(i[3*r+2])];if("zh_tw"===e.locale)for(var l=n%4;l<3;l++)o[l]=u.indexOf("FAZDC6BALcLZCA+GBARCW8wNCcDDZ8LVFBOqqDUiou+M42TFAyERXFb7EjhP+vmBFpFrUpfDV2F7eB+eCltCHJFWLFCED+pWTojEIHFXc3aFn4F68zqjEuKidS1QBVPDEhE7NA4mhMF7oThD49ot3FgtzHFCK0acW1x8DH1EmLoIlrWFBLE+y5+NA3Cx65wJHTaEZVaK1mWAmPGxgYCdxwOjTDIt/faOEhTl1vqNsKtJCOhJWuio2g07KLZEQsFBUpNtwEByBgxFslFheFbiEPvi61msDvApxCzB6rBCzox7joYA5UdDc+Cb4FSgIabpXFAj3bjkmFAxCZE+mD/SFf/0ELecYCt3nLoxC6WEZf2tKDB4oZvrEmqFkKk7BwILA7gtYBpsTq//D4jD0F0wEB9pyQ1BD5Ba0oYHDI+sbDFhvrHXdDHfgFEIJLi5r8qercNFBgFLC4bo5ERJtamWBDFy73KCEb6M8VpmEt330ygCTK58EIIFkYgF84gtGA9Uyh3m68iVrFbWFbcbqiCYHZ9J1jeRPbL8yswhMiDbhEhdNoSwFbZrLT740ABEqgCkO8J1BLd1VhKKR4sD1yUo0z+FF59Mvg71CFbyEhbHSFBKEIKyoQNgQppq9T0KAqePu0ZFGrXOHdKJqkoTFhYvpDNyuuznrN84thJbsCoO6Cu6Xlvntvy0QYuAExQEYtTUBf3CoCqwgGFZ4u1HJFzDVwEy3cjcpV4QvsPaBC3rCGyCF23o4K3pp2gberGgFEJEHo4nHICtyKH2ZqyxhN05KBBJIQlKh/Oujv/DH32VrlqFdIFC7Fz9Ct4kaqFME0UETLprnN9kfy+kFmtQBB0+5CFu0N9Ij8l/VvJDh2oq3hT6EzjTHKFN7ZjZwoTsAZ4Exsko6Fpa6WC+sduz8jyrLpegTv2h1EBeYpLpm2czQW0KoCcS0bCVXCmuWJDBjN1nQNLdF58SFJ0h7i3pC3oEOKy/FjBklL70XvBEEIWp2yZ04xObzAWDDJG7f+DbqBEA7LyiR95j7MDVdDViz2RE5vWlBMv5e4+VfhP3aXNPhvLSynb9O2x4uFBV+3jqu6d5pCG28/sETByvmu/+IJ0L3wb4rj9DNOLBF6XPIODr4L19U9RRofAG6Nxydi8Bki8BhGJbBAJKzbJxkZSlF9Q2Cu8oKqggB9hBArwLLqEBWEtFowy8XK8bEyw9snT+BeyFk1ZCSrdmgfEwFePTgCjELBEnIbjaDDPJm36rG9pztcEzT8dGk23SBhXBB1H4z+OWze0ooFzz8pDBYFvp9j9tvFByf9y4EFdVnz026CGR5qMr7fxMHN8UUdlyJAzlTBDRC28k+L4FB8078ljyD91tUj1ocnTs8vdEf7znbzm+GIjEZnoZE5rnLL700Xc7yHfz05nWxy03vBB9YGHYOWxgMQGBCR24CVYNE1hpfKxN0zKnfJDmmMgMmBWqNbjfSyFCBWSCGCgR8yFXiHyEj+VtD1FB3FpC1zI0kFbzifiKTLm9yq5zFmur+q8FHqjoOBWsBPiDbnCC2ErunV6cJ6TygXFYHYp7MKN9RUlSIS8/xBAGYLzeqUnBF4QbsTuUkUqGs6CaiDWKWjQK9EJkjpkTmNCPYXL"[t++])+(0==l?228:128);a[e.locale].push(X.toUtf8String(o))}if(gr.Wordlist.check(e)!==s[e.locale])throw a[e.locale]=null,new Error("BIP39 Wordlist for "+e.locale+" (Chinese) FAILED")}}var c=function(e){function t(t){return e.call(this,"zh_"+t)||this}return o(t,e),t.prototype.getWord=function(e){return l(this),a[this.locale][e]},t.prototype.getWordIndex=function(e){return l(this),a[this.locale].indexOf(e)},t.prototype.split=function(e){return(e=e.replace(/(?:\u3000| )+/g,"")).split("")},t}(gr.Wordlist),h=new c("cn");r.langZhCn=h,gr.Wordlist.register(h),gr.Wordlist.register(h,"zh");var f=new c("tw");r.langZhTw=f,gr.Wordlist.register(f)}))),Tr=(r(Sr),Sr.langZhCn,Sr.langZhTw,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.logger=gr.logger,t.Wordlist=gr.Wordlist;var r={cz:mr.langCz,en:vr.langEn,es:yr.langEs,fr:br.langFr,it:Ar.langIt,ja:Mr.langJa,ko:wr.langKo,zh:Sr.langZhCn,zh_cn:Sr.langZhCn,zh_tw:Sr.langZhTw};t.wordlists=r}))),Pr=(r(Tr),Tr.logger,Tr.Wordlist,Tr.wordlists,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="hdnode/5.0.1"}))),Er=(r(Pr),Pr.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(Pr.version),n=g.BigNumber.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),o=X.toUtf8Bytes("Bitcoin seed");function i(e){return(1<=256)throw new Error("Depth too large!");return s(h.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",h.hexlify(this.depth),this.parentFingerprint,h.hexZeroPad(h.hexlify(this.index),4),this.chainCode,null!=this.privateKey?h.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),e.prototype.neuter=function(){return new e(c,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)},e.prototype._derive=function(t){if(t>4294967295)throw new Error("invalid index - "+String(t));var r=this.path;r&&(r+="/"+(2147483647&t));var o=new Uint8Array(37);if(2147483648&t){if(!this.privateKey)throw new Error("cannot derive child of neutered node");o.set(h.arrayify(this.privateKey),1),r&&(r+="'")}else o.set(h.arrayify(this.publicKey));for(var i=24;i>=0;i-=8)o[33+(i>>3)]=t>>24-i&255;var s=h.arrayify(At.computeHmac(At.SupportedAlgorithm.sha512,this.chainCode,o)),u=s.slice(0,32),l=s.slice(32),f=null,d=null;this.privateKey?f=a(g.BigNumber.from(u).add(this.privateKey).mod(n)):d=new hr.SigningKey(h.hexlify(u))._addPoint(this.publicKey);var p=r,m=this.mnemonic;return m&&(p=Object.freeze({phrase:m.phrase,path:r,locale:m.locale||"en"})),new e(c,f,d,this.fingerprint,a(l),t,this.depth+1,p)},e.prototype.derivePath=function(e){var t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();for(var r=this,n=0;n=2147483648)throw new Error("invalid path index - "+o);r=r._derive(2147483648+i)}else{if(!o.match(/^[0-9]+$/))throw new Error("invalid path component - "+o);var i;if((i=parseInt(o))>=2147483648)throw new Error("invalid path index - "+o);r=r._derive(i)}}return r},e._fromSeed=function(t,r){var n=h.arrayify(t);if(n.length<16||n.length>64)throw new Error("invalid seed");var i=h.arrayify(At.computeHmac(At.SupportedAlgorithm.sha512,o,n));return new e(c,a(i.slice(0,32)),null,"0x00000000",a(i.slice(32)),0,0,r)},e.fromMnemonic=function(t,r,n){return t=m(p(t,n=u(n)),n),e._fromSeed(d(t,r),{phrase:t,path:"m",locale:n.locale})},e.fromSeed=function(t){return e._fromSeed(t,null)},e.fromExtendedKey=function(t){var n=ee.Base58.decode(t);82===n.length&&s(n.slice(0,78))===t||r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");var o=n[4],i=h.hexlify(n.slice(5,9)),a=parseInt(h.hexlify(n.slice(9,13)).substring(2),16),u=h.hexlify(n.slice(13,45)),l=n.slice(45,78);switch(h.hexlify(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new e(c,null,h.hexlify(l),i,u,a,o,null);case"0x0488ade4":case"0x04358394 ":if(0!==l[0])break;return new e(c,h.hexlify(l.slice(1)),null,i,u,a,o,null)}return r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")},e}();function d(e,t){t||(t="");var r=X.toUtf8Bytes("mnemonic"+t,X.UnicodeNormalizationForm.NFKD);return St.pbkdf2(X.toUtf8Bytes(e,X.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512")}function p(e,t){t=u(t),r.checkNormalize();var n=t.split(e);if(n.length%3!=0)throw new Error("invalid mnemonic");for(var o=h.arrayify(new Uint8Array(Math.ceil(11*n.length/8))),a=0,s=0;s>3]|=1<<7-a%8),a++}var f=32*n.length/3,d=i(n.length/3);if((h.arrayify(At.sha256(o.slice(0,f/8)))[0]&d)!==(o[o.length-1]&d))throw new Error("invalid checksum");return h.hexlify(o.slice(0,f/8))}function m(e,t){if(t=u(t),(e=h.arrayify(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");for(var r=[0],n=11,o=0;o8?(r[r.length-1]<<=8,r[r.length-1]|=e[o],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[o]>>8-n,r.push(e[o]&(1<<8-n)-1),n+=3);var a=e.length/4,s=h.arrayify(At.sha256(e))[0]&i(a);return r[r.length-1]<<=a,r[r.length-1]|=s>>8-a,t.join(r.map((function(e){return t.getWord(e)})))}t.HDNode=f,t.mnemonicToSeed=d,t.mnemonicToEntropy=p,t.entropyToMnemonic=m,t.isValidMnemonic=function(e,t){try{return p(e,t),!0}catch(e){}return!1}}))),_r=(r(Er),Er.defaultPath,Er.HDNode,Er.mnemonicToSeed,Er.mnemonicToEntropy,Er.entropyToMnemonic,Er.isValidMnemonic,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="random/5.0.1"}))),kr=(r(_r),_r.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shuffled=function(e){for(var t=(e=e.slice()).length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}}))),Fr=(r(kr),kr.shuffled,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var n=new l.Logger(_r.version);r.shuffled=kr.shuffled;var o=null;try{if(null==(o=window))throw new Error("try next")}catch(e){try{if(null==(o=t))throw new Error("try next")}catch(e){o={}}}var i=o.crypto||o.msCrypto;i&&i.getRandomValues||(n.warn("WARNING: Missing strong random number source"),i={getRandomValues:function(e){return n.throwError("no secure random source avaialble",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}}),r.randomBytes=function(e){(e<=0||e>1024||e%1)&&n.throwArgumentError("invalid length","length",e);var t=new Uint8Array(e);return i.getRandomValues(t),h.arrayify(t)}}))),Cr=(r(Fr),Fr.shuffled,Fr.randomBytes,n((function(e,t){!function(t){function r(e){return parseInt(e)===e}function n(e){if(!r(e.length))return!1;for(var t=0;t255)return!1;return!0}function o(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!n(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(r(e.length)&&n(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function i(e){return new Uint8Array(e)}function a(e,t,r,n,o){null==n&&null==o||(e=e.slice?e.slice(n,o):Array.prototype.slice.call(e,n,o)),t.set(e,r)}var s,u={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},l=(s="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+s[15&n])}return t.join("")}}),c={16:10,24:12,32:14},h=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],g=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],m=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],y=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],M=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],w=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],A=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],S=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],T=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],P=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function E(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=i[t],this._Kd[e-r][t%4]=i[t];for(var a,s=0,u=o;u>16&255]<<24^f[a>>8&255]<<16^f[255&a]<<8^f[a>>24&255]^h[s]<<24,s+=1,8!=o)for(t=1;t>8&255]<<8^f[a>>16&255]<<16^f[a>>24&255]<<24;for(t=o/2+1;t>2,d=u%4,this._Ke[l][d]=i[t],this._Kd[e-l][d]=i[t++],u++}for(var l=1;l>24&255]^S[a>>16&255]^T[a>>8&255]^P[255&a]},_.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=E(e),o=0;o<4;o++)n[o]^=this._Ke[0][o];for(var a=1;a>24&255]^g[n[(o+1)%4]>>16&255]^m[n[(o+2)%4]>>8&255]^v[255&n[(o+3)%4]]^this._Ke[a][o];n=r.slice()}var s,u=i(16);for(o=0;o<4;o++)s=this._Ke[t][o],u[4*o]=255&(f[n[o]>>24&255]^s>>24),u[4*o+1]=255&(f[n[(o+1)%4]>>16&255]^s>>16),u[4*o+2]=255&(f[n[(o+2)%4]>>8&255]^s>>8),u[4*o+3]=255&(f[255&n[(o+3)%4]]^s);return u},_.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=E(e),o=0;o<4;o++)n[o]^=this._Kd[0][o];for(var a=1;a>24&255]^b[n[(o+3)%4]>>16&255]^M[n[(o+2)%4]>>8&255]^w[255&n[(o+1)%4]]^this._Kd[a][o];n=r.slice()}var s,u=i(16);for(o=0;o<4;o++)s=this._Kd[t][o],u[4*o]=255&(d[n[o]>>24&255]^s>>24),u[4*o+1]=255&(d[n[(o+3)%4]>>16&255]^s>>16),u[4*o+2]=255&(d[n[(o+2)%4]>>8&255]^s>>8),u[4*o+3]=255&(d[255&n[(o+1)%4]]^s);return u};var k=function(e){if(!(this instanceof k))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new _(e)};k.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=i(e.length),r=i(16),n=0;n=0;--t)this._counter[t]=e%256,e>>=8},L.prototype.setBytes=function(e){if(16!=(e=o(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},L.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var O=function(e,t){if(!(this instanceof O))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof L||(t=new L(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new _(e)};O.prototype.encrypt=function(e){for(var t=o(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;n=64;){let d,p,g,m,v,y=r,b=n,M=o,w=i,A=a,S=s,T=u,P=l;for(p=0;p<16;p++)g=h+4*p,c[p]=(255&e[g])<<24|(255&e[g+1])<<16|(255&e[g+2])<<8|255&e[g+3];for(p=16;p<64;p++)d=c[p-2],m=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,d=c[p-15],v=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,c[p]=(m+c[p-7]|0)+(v+c[p-16]|0)|0;for(p=0;p<64;p++)m=(((A>>>6|A<<26)^(A>>>11|A<<21)^(A>>>25|A<<7))+(A&S^~A&T)|0)+(P+(t[p]+c[p]|0)|0)|0,v=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&b^y&M^b&M)|0,P=T,T=S,S=A,A=w+m|0,w=M,M=b,b=y,y=m+v|0;r=r+y|0,n=n+b|0,o=o+M|0,i=i+w|0,a=a+A|0,s=s+S|0,u=u+T|0,l=l+P|0,h+=64,f-=64}}h(e);let f,d=e.length%64,p=e.length/536870912|0,g=e.length<<3,m=d<56?56:120,v=e.slice(e.length-d,e.length);for(v.push(128),f=d+1;f>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),v.push(g>>>24&255),v.push(g>>>16&255),v.push(g>>>8&255),v.push(g>>>0&255),h(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function n(e,t,n){e=e.length<=64?e:r(e);const o=64+t.length+4,i=new Array(o),a=new Array(64);let s,u=[];for(s=0;s<64;s++)i[s]=54;for(s=0;s=o-4;e--){if(i[e]++,i[e]<=255)return;i[e]=0}}for(;n>=32;)l(),u=u.concat(r(a.concat(r(i)))),n-=32;return n>0&&(l(),u=u.concat(r(a.concat(r(i))).slice(0,n))),u}function o(e,t,r,n,o){let i;for(u(e,16*(2*r-1),o,0,16),i=0;i<2*r;i++)s(e,16*i,o,16),a(o,n),u(o,0,e,t+16*i,16);for(i=0;i>>32-t}function a(e,t){u(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=i(t[0]+t[12],7),t[8]^=i(t[4]+t[0],9),t[12]^=i(t[8]+t[4],13),t[0]^=i(t[12]+t[8],18),t[9]^=i(t[5]+t[1],7),t[13]^=i(t[9]+t[5],9),t[1]^=i(t[13]+t[9],13),t[5]^=i(t[1]+t[13],18),t[14]^=i(t[10]+t[6],7),t[2]^=i(t[14]+t[10],9),t[6]^=i(t[2]+t[14],13),t[10]^=i(t[6]+t[2],18),t[3]^=i(t[15]+t[11],7),t[7]^=i(t[3]+t[15],9),t[11]^=i(t[7]+t[3],13),t[15]^=i(t[11]+t[7],18),t[1]^=i(t[0]+t[3],7),t[2]^=i(t[1]+t[0],9),t[3]^=i(t[2]+t[1],13),t[0]^=i(t[3]+t[2],18),t[6]^=i(t[5]+t[4],7),t[7]^=i(t[6]+t[5],9),t[4]^=i(t[7]+t[6],13),t[5]^=i(t[4]+t[7],18),t[11]^=i(t[10]+t[9],7),t[8]^=i(t[11]+t[10],9),t[9]^=i(t[8]+t[11],13),t[10]^=i(t[9]+t[8],18),t[12]^=i(t[15]+t[14],7),t[13]^=i(t[12]+t[15],9),t[14]^=i(t[13]+t[12],13),t[15]^=i(t[14]+t[13],18);for(let r=0;r<16;++r)e[r]+=t[r]}function s(e,t,r,n){for(let o=0;o=256)return!1}return!0}function c(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function h(e,t,r,i,a,h,f){if(r=c(r,"N"),i=c(i,"r"),a=c(a,"p"),h=c(h,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>2147483647/128/i)throw new Error("N too large");if(i>2147483647/128/a)throw new Error("r too large");if(!l(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!l(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);let d=n(e,t,128*a*i);const p=new Uint32Array(32*a*i);for(let e=0;ek&&(t=k);for(let e=0;ek&&(t=k);for(let e=0;e>0&255),d.push(p[e]>>8&255),d.push(p[e]>>16&255),d.push(p[e]>>24&255);const l=n(e,d,h);return f&&f(null,1,l),l}f&&F(C)};if(!f)for(;;){const e=C();if(null!=e)return e}C()}const f={scrypt:function(e,t,r,n,o,i,a){return new Promise((function(s,u){let l=0;a&&a(0),h(e,t,r,n,o,i,(function(e,t,r){if(e)u(e);else if(r)a&&1!==l&&a(1),s(new Uint8Array(r));else if(a&&t!==l)return l=t,a(t)}))}))},syncScrypt:function(e,t,r,n,o,i){return new Uint8Array(h(e,t,r,n,o,i))}};e.exports=f}()})));Rr.scrypt,Rr.syncScrypt;if(t.crypto&&crypto.getRandomValues){var Nr=new Uint8Array(16);ar=function(){return crypto.getRandomValues(Nr),Nr}}if(!ar){var Dr=new Array(16);ar=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),Dr[t]=e>>>((3&t)<<3)&255;return Dr}}for(var xr=ar,Ir=[],Xr={},Hr=0;Hr<256;Hr++)Ir[Hr]=(Hr+256).toString(16).substr(1),Xr[Ir[Hr]]=Hr;function Ur(e,t){var r=t||0,n=Ir;return n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]}var Gr=xr(),zr=[1|Gr[0],Gr[1],Gr[2],Gr[3],Gr[4],Gr[5]],Vr=16383&(Gr[6]<<8|Gr[7]),jr=0,Zr=0;function Kr(e,t,r){var n=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||xr)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var i=0;i<16;i++)t[n+i]=o[i];return t||Ur(o)}var Qr=Kr;Qr.v1=function(e,t,r){var n=t&&r||0,o=t||[],i=void 0!==(e=e||{}).clockseq?e.clockseq:Vr,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),s=void 0!==e.nsecs?e.nsecs:Zr+1,u=a-jr+(s-Zr)/1e4;if(u<0&&void 0===e.clockseq&&(i=i+1&16383),(u<0||a>jr)&&void 0===e.nsecs&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");jr=a,Zr=s,Vr=i;var l=(1e4*(268435455&(a+=122192928e5))+s)%4294967296;o[n++]=l>>>24&255,o[n++]=l>>>16&255,o[n++]=l>>>8&255,o[n++]=255&l;var c=a/4294967296*1e4&268435455;o[n++]=c>>>8&255,o[n++]=255&c,o[n++]=c>>>24&15|16,o[n++]=c>>>16&255,o[n++]=i>>>8|128,o[n++]=255&i;for(var h=e.node||zr,f=0;f<6;f++)o[n+f]=h[f];return t||Ur(o)},Qr.v4=Kr,Qr.parse=function(e,t,r){var n=t&&r||0,o=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,(function(e){o<16&&(t[n+o++]=Xr[e])}));o<16;)t[n+o++]=0;return t},Qr.unparse=Ur;var qr=Qr,Wr=n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),i=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&(h=e.timeout),e.headers)for(var f in e.headers)a[f.toLowerCase()]={key:f,value:String(e.headers[f])},["if-none-match","if-modified-since"].indexOf(f.toLowerCase())>=0&&(c=!0);if(null!=e.user&&null!=e.password){"https:"!==s.substring(0,6)&&!0!==e.allowInsecureAuthentication&&i.throwError("basic authentication requires a secure https url",l.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:s,user:e.user,password:"[REDACTED]"});var d=e.user+":"+e.password;a.authorization={key:"Authorization",value:"Basic "+nn.encode(X.toUtf8Bytes(d))}}}t&&(u.method="POST",u.body=t,a["content-type"]={key:"Content-Type",value:"application/json"});var p={};Object.keys(a).forEach((function(e){var t=a[e];p[t.key]=t.value})),u.headers=p;var g,m=(g=null,{promise:new Promise((function(e,t){h&&(g=setTimeout((function(){null!=g&&(g=null,t(i.makeError("timeout",l.Logger.errors.TIMEOUT,{requestBody:u.body||null,requestMethod:u.method,timeout:h,url:s})))}),h))})),cancel:function(){null!=g&&(clearTimeout(g),g=null)}}),v=function(){return n(this,void 0,void 0,(function(){var e,t,n,a,h;return o(this,(function(o){switch(o.label){case 0:e=null,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,an.getUrl(s,u)];case 2:return e=o.sent(),[3,4];case 3:return t=o.sent(),null==(e=t.response)&&(m.cancel(),i.throwError("missing response",l.Logger.errors.SERVER_ERROR,{requestBody:u.body||null,requestMethod:u.method,serverError:t,url:s})),[3,4];case 4:if(n=e.body,c&&304===e.statusCode?n=null:(e.statusCode<200||e.statusCode>=300)&&(m.cancel(),i.throwError("bad response",l.Logger.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:n,requestBody:u.body||null,requestMethod:u.method,url:s})),m.cancel(),a=null,null!=n)try{a=JSON.parse(n)}catch(e){i.throwError("invalid JSON",l.Logger.errors.SERVER_ERROR,{body:n,error:e,requestBody:u.body||null,requestMethod:u.method,url:s})}if(!r)return[3,8];o.label=5;case 5:return o.trys.push([5,7,,8]),[4,r(a,e)];case 6:return a=o.sent(),[3,8];case 7:return h=o.sent(),i.throwError("processing response error",l.Logger.errors.SERVER_ERROR,{body:a,error:h,requestBody:u.body||null,requestMethod:u.method,url:s}),[3,8];case 8:return[2,a]}}))}))}();return Promise.race([m.promise,v])},r.poll=function(e,t){return t||(t={}),null==(t=v.shallowCopy(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(r,n){var o=null,i=!1,a=function(){return!i&&(i=!0,o&&clearTimeout(o),!0)};t.timeout&&(o=setTimeout((function(){a()&&n(new Error("timeout"))}),t.timeout));var s=t.retryLimit,u=0;!function o(){return e().then((function(e){if(void 0!==e)a()&&r(e);else if(t.oncePoll)t.oncePoll.once("poll",o);else if(t.onceBlock)t.onceBlock.once("block",o);else if(!i){if(++u>s)return void(a()&&n(new Error("retry limit reached")));var l=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));lt.ceiling&&(l=t.ceiling),setTimeout(o,l)}return null}),(function(e){a()&&n(e)}))}()}))}}))),un=(r(sn),sn.fetchJson,sn.poll,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="providers/5.0.2"}))),ln=(r(un),un.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(un.version),n=function(){function e(){var t=this.constructor;r.checkNew(t,e),this.formats=this.getDefaultFormats()}return e.prototype.getDefaultFormats=function(){var t=this,r={},n=this.address.bind(this),o=this.bigNumber.bind(this),i=this.blockTag.bind(this),a=this.data.bind(this),s=this.hash.bind(this),u=this.hex.bind(this),l=this.number.bind(this);return r.transaction={hash:s,blockHash:e.allowNull(s,null),blockNumber:e.allowNull(l,null),transactionIndex:e.allowNull(l,null),confirmations:e.allowNull(l,null),from:n,gasPrice:o,gasLimit:o,to:e.allowNull(n,null),value:o,nonce:l,data:a,r:e.allowNull(this.uint256),s:e.allowNull(this.uint256),v:e.allowNull(l),creates:e.allowNull(n,null),raw:e.allowNull(a)},r.transactionRequest={from:e.allowNull(n),nonce:e.allowNull(l),gasLimit:e.allowNull(o),gasPrice:e.allowNull(o),to:e.allowNull(n),value:e.allowNull(o),data:e.allowNull((function(e){return t.data(e,!0)}))},r.receiptLog={transactionIndex:l,blockNumber:l,transactionHash:s,address:n,topics:e.arrayOf(s),data:a,logIndex:l,blockHash:s},r.receipt={to:e.allowNull(this.address,null),from:e.allowNull(this.address,null),contractAddress:e.allowNull(n,null),transactionIndex:l,root:e.allowNull(s),gasUsed:o,logsBloom:e.allowNull(a),blockHash:s,transactionHash:s,logs:e.arrayOf(this.receiptLog.bind(this)),blockNumber:l,confirmations:e.allowNull(l,null),cumulativeGasUsed:o,status:e.allowNull(l)},r.block={hash:s,parentHash:s,number:l,timestamp:l,nonce:e.allowNull(u),difficulty:this.difficulty.bind(this),gasLimit:o,gasUsed:o,miner:n,extraData:a,transactions:e.allowNull(e.arrayOf(s))},r.blockWithTransactions=v.shallowCopy(r.block),r.blockWithTransactions.transactions=e.allowNull(e.arrayOf(this.transactionResponse.bind(this))),r.filter={fromBlock:e.allowNull(i,void 0),toBlock:e.allowNull(i,void 0),blockHash:e.allowNull(s,void 0),address:e.allowNull(n,void 0),topics:e.allowNull(this.topics.bind(this),void 0)},r.filterLog={blockNumber:e.allowNull(l),blockHash:e.allowNull(s),transactionIndex:l,removed:e.allowNull(this.boolean.bind(this)),address:n,data:e.allowFalsish(a,"0x"),topics:e.arrayOf(s),transactionHash:s,logIndex:l},r},e.prototype.number=function(e){return g.BigNumber.from(e).toNumber()},e.prototype.bigNumber=function(e){return g.BigNumber.from(e)},e.prototype.boolean=function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)},e.prototype.hex=function(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),h.isHexString(e))?e.toLowerCase():r.throwArgumentError("invalid hash","value",e)},e.prototype.data=function(e,t){var r=this.hex(e,t);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+e);return r},e.prototype.address=function(e){return E.getAddress(e)},e.prototype.callAddress=function(e){if(!h.isHexString(e,32))return null;var t=E.getAddress(h.hexDataSlice(e,12));return t===J.AddressZero?null:t},e.prototype.contractAddress=function(e){return E.getContractAddress(e)},e.prototype.blockTag=function(e){if(null==e)return"latest";if("earliest"===e)return"0x0";if("latest"===e||"pending"===e)return e;if("number"==typeof e||h.isHexString(e))return h.hexValue(e);throw new Error("invalid blockTag")},e.prototype.hash=function(e,t){var n=this.hex(e,t);return 32!==h.hexDataLength(n)?r.throwArgumentError("invalid hash","value",e):n},e.prototype.difficulty=function(e){if(null==e)return null;var t=g.BigNumber.from(e);try{return t.toNumber()}catch(e){}return null},e.prototype.uint256=function(e){if(!h.isHexString(e))throw new Error("invalid uint256");return h.hexZeroPad(e,32)},e.prototype._block=function(t,r){return null!=t.author&&null==t.miner&&(t.miner=t.author),e.check(r,t)},e.prototype.block=function(e){return this._block(e,this.formats.block)},e.prototype.blockWithTransactions=function(e){return this._block(e,this.formats.blockWithTransactions)},e.prototype.transactionRequest=function(t){return e.check(this.formats.transactionRequest,t)},e.prototype.transactionResponse=function(t){null!=t.gas&&null==t.gasLimit&&(t.gasLimit=t.gas),t.to&&g.BigNumber.from(t.to).isZero()&&(t.to="0x0000000000000000000000000000000000000000"),null!=t.input&&null==t.data&&(t.data=t.input),null==t.to&&null==t.creates&&(t.creates=this.contractAddress(t));var r=e.check(this.formats.transaction,t);if(null!=t.chainId){var n=t.chainId;h.isHexString(n)&&(n=g.BigNumber.from(n).toNumber()),r.chainId=n}else{null==(n=t.networkId)&&null==r.v&&(n=t.chainId),h.isHexString(n)&&(n=g.BigNumber.from(n).toNumber()),"number"!=typeof n&&null!=r.v&&((n=(r.v-35)/2)<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),r.chainId=n}return r.blockHash&&"x"===r.blockHash.replace(/0/g,"")&&(r.blockHash=null),r},e.prototype.transaction=function(e){return dr.parse(e)},e.prototype.receiptLog=function(t){return e.check(this.formats.receiptLog,t)},e.prototype.receipt=function(t){var r=e.check(this.formats.receipt,t);return null!=t.status&&(r.byzantium=!0),r},e.prototype.topics=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.topics(e)})):null!=e?this.hash(e,!0):null},e.prototype.filter=function(t){return e.check(this.formats.filter,t)},e.prototype.filterLog=function(t){return e.check(this.formats.filterLog,t)},e.check=function(e,t){var r={};for(var n in e)try{var o=e[n](t[n]);void 0!==o&&(r[n]=o)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r},e.allowNull=function(e,t){return function(r){return null==r?t:e(r)}},e.allowFalsish=function(e,t){return function(r){return r?e(r):t}},e.arrayOf=function(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");var r=[];return t.forEach((function(t){r.push(e(t))})),r}},e}();t.Formatter=n}))),cn=(r(ln),ln.Formatter,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),i=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&null==e[e.length-1];)e.pop();return e.map((function(e){if(Array.isArray(e)){var t={};e.forEach((function(e){t[u(e)]=!0}));var r=Object.keys(t);return r.sort(),r.join("|")}return u(e)})).join("&")}function f(e){if("string"==typeof e){if(e=e.toLowerCase(),32===h.hexDataLength(e))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+c(e);if(Q.ForkEvent.isForkEvent(e))throw s.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+c(e.topics||[])}throw new Error("invalid event - "+e)}function d(){return(new Date).getTime()}var p=["block","network","pending","poll"],m=function(){function e(e,t,r){v.defineReadOnly(this,"tag",e),v.defineReadOnly(this,"listener",t),v.defineReadOnly(this,"once",r)}return Object.defineProperty(e.prototype,"event",{get:function(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.tag.split(":")[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hash",{get:function(){var e=this.tag.split(":");return"tx"!==e[0]?null:e[1]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){var e=this.tag.split(":");if("filter"!==e[0])return null;var t,r=e[1],n=""===(t=e[2])?[]:t.split(/&/g).map((function(e){if(""===e)return[];var t=e.split("|").map((function(e){return"null"===e?null:e}));return 1===t.length?t[0]:t})),o={};return n.length>0&&(o.topics=n),r&&"*"!==r&&(o.address=r),o},enumerable:!0,configurable:!0}),e.prototype.pollable=function(){return this.tag.indexOf(":")>=0||p.indexOf(this.tag)>=0},e}();r.Event=m;var y=null,b=1,M=function(e){function t(t){var r=this.constructor,n=this;if(s.checkNew(r,Q.Provider),(n=e.call(this)||this)._events=[],n._emitted={block:-2},n.formatter=r.getFormatter(),v.defineReadOnly(n,"anyNetwork","any"===t),n.anyNetwork&&(t=n.detectNetwork()),t instanceof Promise)n._networkPromise=t,t.catch((function(e){})),n._ready().catch((function(e){}));else{var o=v.getStatic(r,"getNetwork")(t);o?(v.defineReadOnly(n,"_network",o),n.emit("network",o,null)):s.throwArgumentError("invalid network","network",t)}return n._maxInternalBlockNumber=-1024,n._lastBlockNumber=-2,n._pollingInterval=4e3,n._fastQueryDate=0,n}return o(t,e),t.prototype._ready=function(){return i(this,void 0,void 0,(function(){var e;return a(this,(function(t){switch(t.label){case 0:if(null!=this._network)return[3,7];if(e=null,!this._networkPromise)return[3,4];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this._networkPromise];case 2:return e=t.sent(),[3,4];case 3:return t.sent(),[3,4];case 4:return null!=e?[3,6]:[4,this.detectNetwork()];case 5:e=t.sent(),t.label=6;case 6:e||s.throwError("no network detected",l.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:v.defineReadOnly(this,"_network",e),this.emit("network",e,null)),t.label=7;case 7:return[2,this._network]}}))}))},Object.defineProperty(t.prototype,"ready",{get:function(){var e=this;return sn.poll((function(){return e._ready().then((function(e){return e}),(function(e){if(e.code!==l.Logger.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))}))},enumerable:!0,configurable:!0}),t.getFormatter=function(){return null==y&&(y=new ln.Formatter),y},t.getNetwork=function(e){return rn.getNetwork(null==e?"homestead":e)},t.prototype._getInternalBlockNumber=function(e){return i(this,void 0,void 0,(function(){var t,r,n,o,i=this;return a(this,(function(a){switch(a.label){case 0:return[4,this._ready()];case 1:return a.sent(),t=this._internalBlockNumber,e>0&&this._internalBlockNumber?[4,t]:[3,3];case 2:if(r=a.sent(),d()-r.respTime<=e)return[2,r.blockNumber];a.label=3;case 3:return n=d(),o=v.resolveProperties({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((function(e){return null}),(function(e){return e}))}).then((function(e){var t=e.blockNumber,r=e.networkError;if(r)throw i._internalBlockNumber===o&&(i._internalBlockNumber=null),r;var a=d();return(t=g.BigNumber.from(t).toNumber())1e3)s.warn("network block skew detected; skipping block events"),this.emit("error",s.makeError("network block skew detected",l.Logger.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(n=this._emitted.block+1;n<=r;n++)this.emit("block",n);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach((function(e){if("block"!==e){var t=o._emitted[e];"pending"!==t&&r-t>12&&delete o._emitted[e]}}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach((function(e){switch(e.type){case"tx":var n=e.hash,i=o.getTransactionReceipt(n).then((function(e){return e&&null!=e.blockNumber?(o._emitted["t:"+n]=e.blockNumber,o.emit(n,e),null):null})).catch((function(e){o.emit("error",e)}));t.push(i);break;case"filter":var a=e.filter;a.fromBlock=o._lastBlockNumber+1,a.toBlock=r;i=o.getLogs(a).then((function(e){0!==e.length&&e.forEach((function(e){o._emitted["b:"+e.blockHash]=e.blockNumber,o._emitted["t:"+e.transactionHash]=e.blockNumber,o.emit(a,e)}))})).catch((function(e){o.emit("error",e)}));t.push(i)}})),this._lastBlockNumber=r,Promise.all(t).then((function(){o.emit("didPoll",e)})),[2,null]}}))}))},t.prototype.resetEventsBlock=function(e){this._lastBlockNumber=e-1,this.polling&&this.poll()},Object.defineProperty(t.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),t.prototype.detectNetwork=function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,s.throwError("provider does not support network detection",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})]}))}))},t.prototype.getNetwork=function(){return i(this,void 0,void 0,(function(){var e,t,r;return a(this,(function(n){switch(n.label){case 0:return[4,this._ready()];case 1:return e=n.sent(),[4,this.detectNetwork()];case 2:return t=n.sent(),e.chainId===t.chainId?[3,5]:this.anyNetwork?(this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),[4,(o=0,new Promise((function(e){setTimeout(e,o)})))]):[3,4];case 3:return n.sent(),[2,this._network];case 4:throw r=s.makeError("underlying network changed",l.Logger.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t}),this.emit("error",r),r;case 5:return[2,e]}var o}))}))},Object.defineProperty(t.prototype,"blockNumber",{get:function(){var e=this;return this._getInternalBlockNumber(100+this.pollingInterval/2).then((function(t){e._setFastBlockNumber(t)})),null!=this._fastBlockNumber?this._fastBlockNumber:-1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"polling",{get:function(){return null!=this._poller},set:function(e){var t=this;e&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((function(){t.poll(),t._bootstrapPoll=setTimeout((function(){t._poller||t.poll(),t._bootstrapPoll=null}),t.pollingInterval)}),0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(e){var t=this;if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){t.poll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),t.prototype._getFastBlockNumber=function(){var e=this,t=d();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then((function(t){return(null==e._fastBlockNumber||t>e._fastBlockNumber)&&(e._fastBlockNumber=t),e._fastBlockNumber}))),this._fastBlockNumberPromise},t.prototype._setFastBlockNumber=function(e){null!=this._fastBlockNumber&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))},t.prototype.waitForTransaction=function(e,t,r){return i(this,void 0,void 0,(function(){var n,o=this;return a(this,(function(i){switch(i.label){case 0:return null==t&&(t=1),[4,this.getTransactionReceipt(e)];case 1:return((n=i.sent())?n.confirmations:0)>=t?[2,n]:[2,new Promise((function(n,i){var a=null,u=!1,c=function(r){r.confirmations0&&(a=setTimeout((function(){u||(a=null,u=!0,o.removeListener(e,c),i(s.makeError("timeout exceeded",l.Logger.errors.TIMEOUT,{timeout:r})))}),r)).unref&&a.unref()}))]}}))}))},t.prototype.getBlockNumber=function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this._getInternalBlockNumber(0)]}))}))},t.prototype.getGasPrice=function(){return i(this,void 0,void 0,(function(){var e,t;return a(this,(function(r){switch(r.label){case 0:return[4,this.getNetwork()];case 1:return r.sent(),t=(e=g.BigNumber).from,[4,this.perform("getGasPrice",{})];case 2:return[2,t.apply(e,[r.sent()])]}}))}))},t.prototype.getBalance=function(e,t){return i(this,void 0,void 0,(function(){var r,n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(t)})];case 2:return r=i.sent(),o=(n=g.BigNumber).from,[4,this.perform("getBalance",r)];case 3:return[2,o.apply(n,[i.sent()])]}}))}))},t.prototype.getTransactionCount=function(e,t){return i(this,void 0,void 0,(function(){var r,n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(t)})];case 2:return r=i.sent(),o=(n=g.BigNumber).from,[4,this.perform("getTransactionCount",r)];case 3:return[2,o.apply(n,[i.sent()]).toNumber()]}}))}))},t.prototype.getCode=function(e,t){return i(this,void 0,void 0,(function(){var r,n;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(t)})];case 2:return r=o.sent(),n=h.hexlify,[4,this.perform("getCode",r)];case 3:return[2,n.apply(void 0,[o.sent()])]}}))}))},t.prototype.getStorageAt=function(e,t,r){return i(this,void 0,void 0,(function(){var n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(r),position:Promise.resolve(t).then((function(e){return h.hexValue(e)}))})];case 2:return n=i.sent(),o=h.hexlify,[4,this.perform("getStorageAt",n)];case 3:return[2,o.apply(void 0,[i.sent()])]}}))}))},t.prototype._wrapTransaction=function(e,t){var r=this;if(null!=t&&32!==h.hexDataLength(t))throw new Error("invalid response - sendTransaction");var n=e;return null!=t&&e.hash!==t&&s.throwError("Transaction hash mismatch from Provider.sendTransaction.",l.Logger.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),n.wait=function(t){return i(r,void 0,void 0,(function(){var r;return a(this,(function(n){switch(n.label){case 0:return 0!==t&&(this._emitted["t:"+e.hash]="pending"),[4,this.waitForTransaction(e.hash,t)];case 1:return null==(r=n.sent())&&0===t?[2,null]:(this._emitted["t:"+e.hash]=r.blockNumber,0===r.status&&s.throwError("transaction failed",l.Logger.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:r}),[2,r])}}))}))},n},t.prototype.sendTransaction=function(e){return i(this,void 0,void 0,(function(){var t,r,n,o;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,Promise.resolve(e).then((function(e){return h.hexlify(e)}))];case 2:t=i.sent(),r=this.formatter.transaction(e),i.label=3;case 3:return i.trys.push([3,5,,6]),[4,this.perform("sendTransaction",{signedTransaction:t})];case 4:return n=i.sent(),[2,this._wrapTransaction(r,n)];case 5:throw(o=i.sent()).transaction=r,o.transactionHash=r.hash,o;case 6:return[2]}}))}))},t.prototype._getTransactionRequest=function(e){return i(this,void 0,void 0,(function(){var t,r,n,o,i=this;return a(this,(function(a){switch(a.label){case 0:return[4,e];case 1:return t=a.sent(),r={},["from","to"].forEach((function(e){null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((function(e){return e?i._getAddress(e):null})))})),["gasLimit","gasPrice","value"].forEach((function(e){null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((function(e){return e?g.BigNumber.from(e):null})))})),["data"].forEach((function(e){null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((function(e){return e?h.hexlify(e):null})))})),o=(n=this.formatter).transactionRequest,[4,v.resolveProperties(r)];case 2:return[2,o.apply(n,[a.sent()])]}}))}))},t.prototype._getFilter=function(e){return i(this,void 0,void 0,(function(){var t,r,n,o=this;return a(this,(function(i){switch(i.label){case 0:return[4,e];case 1:return e=i.sent(),t={},null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach((function(r){null!=e[r]&&(t[r]=e[r])})),["fromBlock","toBlock"].forEach((function(r){null!=e[r]&&(t[r]=o._getBlockTag(e[r]))})),n=(r=this.formatter).filter,[4,v.resolveProperties(t)];case 2:return[2,n.apply(r,[i.sent()])]}}))}))},t.prototype.call=function(e,t){return i(this,void 0,void 0,(function(){var r,n;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t)})];case 2:return r=o.sent(),n=h.hexlify,[4,this.perform("call",r)];case 3:return[2,n.apply(void 0,[o.sent()])]}}))}))},t.prototype.estimateGas=function(e){return i(this,void 0,void 0,(function(){var t,r,n;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({transaction:this._getTransactionRequest(e)})];case 2:return t=o.sent(),n=(r=g.BigNumber).from,[4,this.perform("estimateGas",t)];case 3:return[2,n.apply(r,[o.sent()])]}}))}))},t.prototype._getAddress=function(e){return i(this,void 0,void 0,(function(){var t;return a(this,(function(r){switch(r.label){case 0:return[4,this.resolveName(e)];case 1:return null==(t=r.sent())&&s.throwError("ENS name not configured",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify(e)+")"}),[2,t]}}))}))},t.prototype._getBlock=function(e,t){return i(this,void 0,void 0,(function(){var r,n,o,u,l,c=this;return a(this,(function(f){switch(f.label){case 0:return[4,this.getNetwork()];case 1:return f.sent(),[4,e];case 2:return e=f.sent(),r=-128,n={includeTransactions:!!t},h.isHexString(e,32)?(n.blockHash=e,[3,6]):[3,3];case 3:return f.trys.push([3,5,,6]),o=n,l=(u=this.formatter).blockTag,[4,this._getBlockTag(e)];case 4:return o.blockTag=l.apply(u,[f.sent()]),h.isHexString(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16)),[3,6];case 5:return f.sent(),s.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e),[3,6];case 6:return[2,sn.poll((function(){return i(c,void 0,void 0,(function(){var e,o,i,s,u;return a(this,(function(a){switch(a.label){case 0:return[4,this.perform("getBlock",n)];case 1:if(null==(e=a.sent()))return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?[2,null]:[2,void 0];if(!t)return[3,8];o=null,i=0,a.label=2;case 2:return in.length?[2,null]:(s=X.toUtf8String(n.slice(0,i)),[4,this.resolveName(s)]));case 4:return a.sent()!=e?[2,null]:[2,s]}}))}))},t.prototype.perform=function(e,t){return s.throwError(e+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:e})},t.prototype._startEvent=function(e){this.polling=this._events.filter((function(e){return e.pollable()})).length>0},t.prototype._stopEvent=function(e){this.polling=this._events.filter((function(e){return e.pollable()})).length>0},t.prototype._addEventListener=function(e,t,r){var n=new m(f(e),t,r);return this._events.push(n),this._startEvent(n),this},t.prototype.on=function(e,t){return this._addEventListener(e,t,!1)},t.prototype.once=function(e,t){return this._addEventListener(e,t,!0)},t.prototype.emit=function(e){for(var t=this,r=[],n=1;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=0&&s.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{transaction:n}),e.responseText.indexOf("nonce too low")>=0&&s.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{transaction:n}),e.responseText.indexOf("replacement transaction underpriced")>=0&&s.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{transaction:n})),e}))}))},t.prototype.signTransaction=function(e){return s.throwError("signing transactions is unsupported",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})},t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then((function(e){return sn.poll((function(){return t.provider.getTransaction(e).then((function(r){if(null!==r)return t.provider._wrapTransaction(r,e)}))}),{onceBlock:t.provider}).catch((function(t){throw t.transactionHash=e,t}))}))},t.prototype.signMessage=function(e){var t=this,r="string"==typeof e?X.toUtf8Bytes(e):e;return this.getAddress().then((function(e){return t.provider.send("eth_sign",[e.toLowerCase(),h.hexlify(r)])}))},t.prototype.unlock=function(e){var t=this.provider;return this.getAddress().then((function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])}))},t}(W.Signer);r.JsonRpcSigner=p;var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return o(t,e),t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then((function(e){return{hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(r){return t.provider.waitForTransaction(e,r)}}}))},t}(p),y={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},b=function(e){function t(r,n){var o=this.constructor,i=this;s.checkNew(o,t);var a=n;return null==a&&(a=new Promise((function(e,t){setTimeout((function(){i.detectNetwork().then((function(t){e(t)}),(function(e){t(e)}))}),0)}))),i=e.call(this,a)||this,r||(r=v.getStatic(i.constructor,"defaultUrl")()),"string"==typeof r?v.defineReadOnly(i,"connection",Object.freeze({url:r})):v.defineReadOnly(i,"connection",Object.freeze(v.shallowCopy(r))),i._nextId=42,i}return o(t,e),t.defaultUrl=function(){return"http://localhost:8545"},t.prototype.detectNetwork=function(){return i(this,void 0,void 0,(function(){var e,t;return a(this,(function(r){switch(r.label){case 0:return[4,u(0)];case 1:r.sent(),e=null,r.label=2;case 2:return r.trys.push([2,4,,9]),[4,this.send("eth_chainId",[])];case 3:return e=r.sent(),[3,9];case 4:r.sent(),r.label=5;case 5:return r.trys.push([5,7,,8]),[4,this.send("net_version",[])];case 6:return e=r.sent(),[3,8];case 7:return r.sent(),[3,8];case 8:return[3,9];case 9:if(null!=e){t=v.getStatic(this.constructor,"getNetwork");try{return[2,t(g.BigNumber.from(e).toNumber())]}catch(t){return[2,s.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})]}}return[2,s.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR,{event:"noNetwork"})]}}))}))},t.prototype.getSigner=function(e){return new p(d,this,e)},t.prototype.getUncheckedSigner=function(e){return this.getSigner(e).connectUnchecked()},t.prototype.listAccounts=function(){var e=this;return this.send("eth_accounts",[]).then((function(t){return t.map((function(t){return e.formatter.address(t)}))}))},t.prototype.send=function(e,t){var r=this,n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:v.deepCopy(n),provider:this}),sn.fetchJson(this.connection,JSON.stringify(n),c).then((function(e){return r.emit("debug",{action:"response",request:n,response:e,provider:r}),e}),(function(e){throw r.emit("debug",{action:"response",error:e,request:n,provider:r}),e}))},t.prototype.prepareRequest=function(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[f(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[f(t.address),t.blockTag]];case"getCode":return["eth_getCode",[f(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[f(t.address),t.position,t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[v.getStatic(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[v.getStatic(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=f(t.filter.address)),["eth_getLogs",[t.filter]]}return null},t.prototype.perform=function(e,t){var r=this.prepareRequest(e,t);return null==r&&s.throwError(e+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:e}),"sendTransaction"===e?this.send(r[0],r[1]).catch((function(e){throw e.responseText&&(e.responseText.indexOf("insufficient funds")>0&&s.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("nonce too low")>0&&s.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("replacement transaction underpriced")>0&&s.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{})),e})):this.send(r[0],r[1])},t.prototype._startEvent=function(t){"pending"===t.tag&&this._startPending(),e.prototype._startEvent.call(this,t)},t.prototype._startPending=function(){if(null==this._pendingFilter){var e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then((function(r){return function n(){e.send("eth_getFilterChanges",[r]).then((function(r){if(e._pendingFilter!=t)return null;var n=Promise.resolve();return r.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),n.then((function(){return u(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){n()}),0),null;e.send("eth_uninstallFilter",[r])})).catch((function(e){}))}(),r})).catch((function(e){}))}},t.prototype._stopEvent=function(t){"pending"===t.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),e.prototype._stopEvent.call(this,t)},t.hexlifyTransaction=function(e,t){var r=v.shallowCopy(y);if(t)for(var n in t)t[n]&&(r[n]=!0);v.checkProperties(e,r);var o={};return["gasLimit","gasPrice","nonce","value"].forEach((function(t){if(null!=e[t]){var r=h.hexValue(e[t]);"gasLimit"===t&&(t="gas"),o[t]=r}})),["from","to","data"].forEach((function(t){null!=e[t]&&(o[t]=h.hexlify(e[t]))})),o},t}(cn.BaseProvider);r.JsonRpcProvider=b}))),fn=(r(hn),hn.JsonRpcSigner,hn.JsonRpcProvider,n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),i=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=0&&s.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("same hash was already imported")>=0&&s.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("another transaction with same nonce")>=0&&s.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{})),e}))];case 8:if(r.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+r.blockTag,r.includeTransactions?n+="&boolean=true":n+="&boolean=false",[2,h(n+=o)];throw new Error("getBlock by blockHash not implemented");case 9:return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+r.transactionHash,[2,h(n+=o)];case 10:return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+r.transactionHash,[2,h(n+=o)];case 11:if((p=u(r.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_call"+p,"latest"!==r.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return[2,h(n+=o)];case 12:return(p=u(r.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_estimateGas&"+p,[2,h(n+=o)];case 13:return n+="/api?module=logs&action=getLogs",r.filter.fromBlock&&(n+="&fromBlock="+d(r.filter.fromBlock)),r.filter.toBlock&&(n+="&toBlock="+d(r.filter.toBlock)),r.filter.address&&(n+="&address="+r.filter.address),r.filter.topics&&r.filter.topics.length>0&&(r.filter.topics.length>1&&s.throwError("unsupported topic count",l.Logger.errors.UNSUPPORTED_OPERATION,{topics:r.filter.topics}),1===r.filter.topics.length&&("string"==typeof(g=r.filter.topics[0])&&66===g.length||s.throwError("unsupported topic format",l.Logger.errors.UNSUPPORTED_OPERATION,{topic0:g}),n+="&topic0="+g)),[4,h(n+=o,c)];case 14:m=T.sent(),y={},b=0,T.label=15;case 15:return b0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]t?null:(n+o)/2}function d(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if(g.BigNumber.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map((function(e){return d(e)})));if("object"==typeof e){var t=Object.keys(e);return t.sort(),"{"+t.map((function(t){var r=e[t];return r="function"==typeof r?"[function]":d(r),JSON.stringify(t)+":"+r})).join(",")+"}"}throw new Error("unknown value type: "+typeof e)}var p=1;function m(e){var t=null,r=null,n=new Promise((function(n){t=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(t,e)}));return{cancel:t,getPromise:function(){return n},wait:function(e){return n=n.then(e)}}}function y(e,t){var r={provider:e.provider,weight:e.weight};return e.start&&(r.start=e.start),t&&(r.duration=t-e.start),e.done&&(e.error?r.error=e.error:r.result=e.result||null),r}function b(e,t,r){var n=d;switch(t){case"getBlockNumber":return function(t){var r=t.map((function(e){return e.result})),n=f(t.map((function(e){return e.result})),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=e._highestBlockNumber&&(e._highestBlockNumber=n),e._highestBlockNumber};case"getGasPrice":return function(e){var t=e.map((function(e){return e.result}));return t.sort(),t[Math.floor(t.length/2)]};case"getEtherPrice":return function(e){return f(e.map((function(e){return e.result})))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(e){return null==e?null:((e=v.shallowCopy(e)).confirmations=-1,d(e))};break;case"getBlock":n=r.includeTransactions?function(e){return null==e?null:((e=v.shallowCopy(e)).transactions=e.transactions.map((function(e){return(e=v.shallowCopy(e)).confirmations=-1,e})),d(e))}:function(e){return null==e?null:d(e)};break;default:throw new Error("unknown method: "+t)}return function(e,t){return function(r){var n={};r.forEach((function(t){var r=e(t.result);n[r]||(n[r]={count:0,result:t.result}),n[r].count++}));for(var o=Object.keys(n),i=0;i=t)return a.result}}}(n,e.quorum)}function M(e,t){return i(this,void 0,void 0,(function(){var r;return a(this,(function(n){return null!=(r=e.provider).blockNumber&&r.blockNumber>=t||-1===t?[2,r]:[2,sn.poll((function(){return new Promise((function(n,o){setTimeout((function(){return r.blockNumber>=t?n(r):e.cancelled?n(null):n(void 0)}),0)}))}),{oncePoll:r})]}))}))}var w=function(e){function t(r,n){var o=this.constructor,i=this;s.checkNew(o,t),0===r.length&&s.throwArgumentError("missing providers","providers",r);var a=r.map((function(e,t){if(Q.Provider.isProvider(e))return Object.freeze({provider:e,weight:1,stallTimeout:750,priority:1});var r=v.shallowCopy(e);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);var n=r.weight;return(n%1||n>512||n<1)&&s.throwArgumentError("invalid weight; must be integer in [1, 512]","providers["+t+"].weight",n),Object.freeze(r)})),u=a.reduce((function(e,t){return e+t.weight}),0);null==n?n=u/2:n>u&&s.throwArgumentError("quorum will always fail; larger than total weight","quorum",n);var l=c(a.map((function(e){return e.provider.network})));return null==l&&(l=new Promise((function(e,t){setTimeout((function(){i.detectNetwork().then(e,t)}),0)}))),i=e.call(this,l)||this,v.defineReadOnly(i,"providerConfigs",Object.freeze(a)),v.defineReadOnly(i,"quorum",n),i._highestBlockNumber=-1,i}return o(t,e),t.prototype.detectNetwork=function(){return i(this,void 0,void 0,(function(){return a(this,(function(e){switch(e.label){case 0:return[4,Promise.all(this.providerConfigs.map((function(e){return e.provider.getNetwork()})))];case 1:return[2,c(e.sent())]}}))}))},t.prototype.perform=function(e,t){return i(this,void 0,void 0,(function(){var r,n,o,c,f,d,g,w,A,S,T,P=this;return a(this,(function(E){switch(E.label){case 0:return"sendTransaction"!==e?[3,2]:[4,Promise.all(this.providerConfigs.map((function(e){return e.provider.sendTransaction(t.signedTransaction).then((function(e){return e.hash}),(function(e){return e}))})))];case 1:for(r=E.sent(),n=0;n=S.quorum?void 0!==(T=c(A))?(f.forEach((function(e){e.staller&&e.staller.cancel(),e.cancelled=!0})),[2,{value:T}]):w?[3,4]:[4,m(100).getPromise()]:[3,5];case 3:E.sent(),E.label=4;case 4:w=!1,E.label=5;case 5:return 0===f.filter((function(e){return!e.done})).length?[2,"break"]:[2]}}))},S=this,E.label=5;case 5:return[5,A()];case 6:return"object"==typeof(T=E.sent())?[2,T.value]:"break"===T?[3,7]:[3,5];case 7:return f.forEach((function(e){e.staller&&e.staller.cancel(),e.cancelled=!0})),[2,s.throwError("failed to meet quorum",l.Logger.errors.SERVER_ERROR,{method:e,params:t,results:f.map((function(e){return y(e)})),provider:this})]}}))}))},t}(cn.BaseProvider);r.FallbackProvider=w}))),vn=(r(mn),mn.FallbackProvider,null),yn=n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(e){var n=new l.Logger(un.version);r=function(){n.throwError("WebSockets not supported in this environment",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}e.exports=r})),bn=(r(yn),n((function(e,r){var n,o=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),i=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{u(n.next(e))}catch(e){i(e)}}function s(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]256)throw new Error("invalid number type - "+t);return a&&(u=256),i=g.BigNumber.from(i).toTwos(u),h.zeroPad(i,u/8)}if(s=t.match(r)){var u=parseInt(s[1]);if(String(u)!=s[1]||0===u||u>32)throw new Error("invalid number type - "+t);if(h.arrayify(i).byteLength!==u)throw new Error("invalid value for "+t);return a?h.arrayify((i+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):i}if((s=t.match(o))&&Array.isArray(i)){var l=s[1];if(parseInt(s[2]||String(i.length))!=i.length)throw new Error("invalid value for "+t);var c=[];return i.forEach((function(t){c.push(e(l,t,!0))})),h.concat(c)}throw new Error("unknown type - "+t)}(e,t[a]))})),h.hexlify(h.concat(i))}t.pack=i,t.keccak256=function(e,t){return A.keccak256(i(e,t))},t.sha256=function(e,t){return At.sha256(i(e,t))}}))),Pn=(r(Tn),Tn.pack,Tn.keccak256,Tn.sha256,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="units/5.0.1"}))),En=(r(Pn),Pn.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new l.Logger(Pn.version),n=["wei","kwei","mwei","gwei","szabo","finney","ether"];function o(e,t){if("string"==typeof t){var r=n.indexOf(t);-1!==r&&(t=3*r)}return g.formatFixed(e,null!=t?t:18)}function i(e,t){if("string"==typeof t){var r=n.indexOf(t);-1!==r&&(t=3*r)}return g.parseFixed(e,null!=t?t:18)}t.commify=function(e){var t=String(e).split(".");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&r.throwArgumentError("invalid value","value",e);var n=t[0],o="";for("-"===n.substring(0,1)&&(o="-",n=n.substring(1));"0"===n.substring(0,1);)n=n.substring(1);""===n&&(n="0");var i="";2===t.length&&(i="."+(t[1]||"0"));for(var a=[];n.length;){if(n.length<=3){a.unshift(n);break}var s=n.length-3;a.unshift(n.substring(s)),n=n.substring(0,s)}return o+a.join(",")+i},t.formatUnits=o,t.parseUnits=i,t.formatEther=function(e){return o(e,18)},t.parseEther=function(e){return i(e,18)}}))),_n=(r(En),En.commify,En.formatUnits,En.parseUnits,En.formatEther,En.parseEther,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0}),r.AbiCoder=Z.AbiCoder,r.checkResultErrors=Z.checkResultErrors,r.defaultAbiCoder=Z.defaultAbiCoder,r.EventFragment=Z.EventFragment,r.FormatTypes=Z.FormatTypes,r.Fragment=Z.Fragment,r.FunctionFragment=Z.FunctionFragment,r.Indexed=Z.Indexed,r.Interface=Z.Interface,r.LogDescription=Z.LogDescription,r.ParamType=Z.ParamType,r.TransactionDescription=Z.TransactionDescription,r.getAddress=E.getAddress,r.getCreate2Address=E.getCreate2Address,r.getContractAddress=E.getContractAddress,r.getIcapAddress=E.getIcapAddress,r.isAddress=E.isAddress;var o=n(nn);r.base64=o,r.arrayify=h.arrayify,r.concat=h.concat,r.hexDataSlice=h.hexDataSlice,r.hexDataLength=h.hexDataLength,r.hexlify=h.hexlify,r.hexStripZeros=h.hexStripZeros,r.hexValue=h.hexValue,r.hexZeroPad=h.hexZeroPad,r.isBytes=h.isBytes,r.isBytesLike=h.isBytesLike,r.isHexString=h.isHexString,r.joinSignature=h.joinSignature,r.zeroPad=h.zeroPad,r.splitSignature=h.splitSignature,r.stripZeros=h.stripZeros,r.hashMessage=V.hashMessage,r.id=V.id,r.isValidName=V.isValidName,r.namehash=V.namehash,r.defaultPath=Er.defaultPath,r.entropyToMnemonic=Er.entropyToMnemonic,r.HDNode=Er.HDNode,r.isValidMnemonic=Er.isValidMnemonic,r.mnemonicToEntropy=Er.mnemonicToEntropy,r.mnemonicToSeed=Er.mnemonicToSeed,r.getJsonWalletAddress=Yr.getJsonWalletAddress,r.keccak256=A.keccak256,r.Logger=l.Logger,r.computeHmac=At.computeHmac,r.ripemd160=At.ripemd160,r.sha256=At.sha256,r.sha512=At.sha512,r.solidityKeccak256=Tn.keccak256,r.solidityPack=Tn.pack,r.soliditySha256=Tn.sha256,r.randomBytes=Fr.randomBytes,r.shuffled=Fr.shuffled,r.checkProperties=v.checkProperties,r.deepCopy=v.deepCopy,r.defineReadOnly=v.defineReadOnly,r.getStatic=v.getStatic,r.resolveProperties=v.resolveProperties,r.shallowCopy=v.shallowCopy;var i=n(T);r.RLP=i,r.computePublicKey=hr.computePublicKey,r.recoverPublicKey=hr.recoverPublicKey,r.SigningKey=hr.SigningKey,r.formatBytes32String=X.formatBytes32String,r.nameprep=X.nameprep,r.parseBytes32String=X.parseBytes32String,r._toEscapedUtf8String=X._toEscapedUtf8String,r.toUtf8Bytes=X.toUtf8Bytes,r.toUtf8CodePoints=X.toUtf8CodePoints,r.toUtf8String=X.toUtf8String,r.Utf8ErrorFuncs=X.Utf8ErrorFuncs,r.computeAddress=dr.computeAddress,r.parseTransaction=dr.parse,r.recoverAddress=dr.recoverAddress,r.serializeTransaction=dr.serialize,r.commify=En.commify,r.formatEther=En.formatEther,r.parseEther=En.parseEther,r.formatUnits=En.formatUnits,r.parseUnits=En.parseUnits,r.verifyMessage=en.verifyMessage,r.fetchJson=sn.fetchJson,r.poll=sn.poll;var a=At;r.SupportedAlgorithm=a.SupportedAlgorithm;var s=X;r.UnicodeNormalizationForm=s.UnicodeNormalizationForm,r.Utf8ErrorReason=s.Utf8ErrorReason}))),kn=(r(_n),_n.AbiCoder,_n.checkResultErrors,_n.defaultAbiCoder,_n.EventFragment,_n.FormatTypes,_n.Fragment,_n.FunctionFragment,_n.Indexed,_n.Interface,_n.LogDescription,_n.ParamType,_n.TransactionDescription,_n.getAddress,_n.getCreate2Address,_n.getContractAddress,_n.getIcapAddress,_n.isAddress,_n.base64,_n.arrayify,_n.concat,_n.hexDataSlice,_n.hexDataLength,_n.hexlify,_n.hexStripZeros,_n.hexValue,_n.hexZeroPad,_n.isBytes,_n.isBytesLike,_n.isHexString,_n.joinSignature,_n.zeroPad,_n.splitSignature,_n.stripZeros,_n.hashMessage,_n.id,_n.isValidName,_n.namehash,_n.defaultPath,_n.entropyToMnemonic,_n.HDNode,_n.isValidMnemonic,_n.mnemonicToEntropy,_n.mnemonicToSeed,_n.getJsonWalletAddress,_n.keccak256,_n.Logger,_n.computeHmac,_n.ripemd160,_n.sha256,_n.sha512,_n.solidityKeccak256,_n.solidityPack,_n.soliditySha256,_n.randomBytes,_n.shuffled,_n.checkProperties,_n.deepCopy,_n.defineReadOnly,_n.getStatic,_n.resolveProperties,_n.shallowCopy,_n.RLP,_n.computePublicKey,_n.recoverPublicKey,_n.SigningKey,_n.formatBytes32String,_n.nameprep,_n.parseBytes32String,_n._toEscapedUtf8String,_n.toUtf8Bytes,_n.toUtf8CodePoints,_n.toUtf8String,_n.Utf8ErrorFuncs,_n.computeAddress,_n.parseTransaction,_n.recoverAddress,_n.serializeTransaction,_n.commify,_n.formatEther,_n.parseEther,_n.formatUnits,_n.parseUnits,_n.verifyMessage,_n.fetchJson,_n.poll,_n.SupportedAlgorithm,_n.UnicodeNormalizationForm,_n.Utf8ErrorReason,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="ethers/5.0.2"}))),Fn=(r(kn),kn.version,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0}),r.Contract=$.Contract,r.ContractFactory=$.ContractFactory,r.BigNumber=g.BigNumber,r.FixedNumber=g.FixedNumber,r.Signer=W.Signer,r.VoidSigner=W.VoidSigner,r.Wallet=en.Wallet;var o=n(J);r.constants=o;var i=n(Sn);r.providers=i;var a=Sn;r.getDefaultProvider=a.getDefaultProvider,r.Wordlist=Tr.Wordlist,r.wordlists=Tr.wordlists;var s=n(_n);r.utils=s,r.errors=l.ErrorCode,r.version=kn.version;var u=new l.Logger(kn.version);r.logger=u}))),Cn=(r(Fn),Fn.Contract,Fn.ContractFactory,Fn.BigNumber,Fn.FixedNumber,Fn.Signer,Fn.VoidSigner,Fn.Wallet,Fn.constants,Fn.providers,Fn.getDefaultProvider,Fn.Wordlist,Fn.wordlists,Fn.utils,Fn.errors,Fn.version,Fn.logger,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var o=n(Fn);r.ethers=o;try{var i=window;null==i._ethers&&(i._ethers=o)}catch(e){}var a=Fn;r.Signer=a.Signer,r.Wallet=a.Wallet,r.VoidSigner=a.VoidSigner,r.getDefaultProvider=a.getDefaultProvider,r.providers=a.providers,r.Contract=a.Contract,r.ContractFactory=a.ContractFactory,r.BigNumber=a.BigNumber,r.FixedNumber=a.FixedNumber,r.constants=a.constants,r.errors=a.errors,r.logger=a.logger,r.utils=a.utils,r.wordlists=a.wordlists,r.version=a.version,r.Wordlist=a.Wordlist}))),Bn=r(Cn),Ln=Cn.ethers,On=Cn.Signer,Jn=Cn.Wallet,Rn=Cn.VoidSigner,Nn=Cn.getDefaultProvider,Dn=Cn.providers,xn=Cn.Contract,In=Cn.ContractFactory,Xn=Cn.BigNumber,Hn=Cn.FixedNumber,Un=Cn.constants,Gn=Cn.errors,zn=Cn.logger,Vn=Cn.utils,jn=Cn.wordlists,Zn=Cn.version,Kn=Cn.Wordlist;e.BigNumber=Xn,e.Contract=xn,e.ContractFactory=In,e.FixedNumber=Hn,e.Signer=On,e.VoidSigner=Rn,e.Wallet=Jn,e.Wordlist=Kn,e.constants=Un,e.default=Bn,e.errors=Gn,e.ethers=Ln,e.getDefaultProvider=Nn,e.logger=zn,e.providers=Dn,e.utils=Vn,e.version=Zn,e.wordlists=jn,Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/packages/ethers/dist/ethers.esm.js b/packages/ethers/dist/ethers.esm.js index d005cf664..bead47f26 100644 --- a/packages/ethers/dist/ethers.esm.js +++ b/packages/ethers/dist/ethers.esm.js @@ -2999,7 +2999,13 @@ var bn = createCommonjsModule(function (module) { } else if (cmp > 0) { r.isub(this.p); } else { - r.strip(); + if (r.strip !== undefined) { + // r is BN v4 instance + r.strip(); + } else { + // r is BN v5 instance + r._strip(); + } } return r; @@ -3455,7 +3461,7 @@ var bn = createCommonjsModule(function (module) { }); var bn_1 = bn.BN; -const version = "logger/5.0.1"; +const version = "logger/5.0.2"; "use strict"; let _permanentCensorErrors = false; @@ -3511,6 +3517,7 @@ var ErrorCode; // - operation ErrorCode["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION"; // Network Error (i.e. Ethereum Network, such as an invalid chain ID) + // - event ("noNetwork" is not re-thrown in provider.ready; otherwise thrown) ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR"; // Some sort of bad response from the server ErrorCode["SERVER_ERROR"] = "SERVER_ERROR"; @@ -10533,6 +10540,3442 @@ var _package$1 = /*#__PURE__*/Object.freeze({ 'default': _package }); +var bn$1 = createCommonjsModule(function (module) { +(function (module, exports) { + 'use strict'; + + // Utils + function assert (val, msg) { + if (!val) throw new Error(msg || 'Assertion failed'); + } + + // Could use `inherits` module, but don't want to move from single file + // architecture yet. + function inherits (ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + + // BN + + function BN (number, base, endian) { + if (BN.isBN(number)) { + return number; + } + + this.negative = 0; + this.words = null; + this.length = 0; + + // Reduction context + this.red = null; + + if (number !== null) { + if (base === 'le' || base === 'be') { + endian = base; + base = 10; + } + + this._init(number || 0, base || 10, endian || 'be'); + } + } + if (typeof module === 'object') { + module.exports = BN; + } else { + exports.BN = BN; + } + + BN.BN = BN; + BN.wordSize = 26; + + var Buffer; + try { + Buffer = require$$0.Buffer; + } catch (e) { + } + + BN.isBN = function isBN (num) { + if (num instanceof BN) { + return true; + } + + return num !== null && typeof num === 'object' && + num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); + }; + + BN.max = function max (left, right) { + if (left.cmp(right) > 0) return left; + return right; + }; + + BN.min = function min (left, right) { + if (left.cmp(right) < 0) return left; + return right; + }; + + BN.prototype._init = function init (number, base, endian) { + if (typeof number === 'number') { + return this._initNumber(number, base, endian); + } + + if (typeof number === 'object') { + return this._initArray(number, base, endian); + } + + if (base === 'hex') { + base = 16; + } + assert(base === (base | 0) && base >= 2 && base <= 36); + + number = number.toString().replace(/\s+/g, ''); + var start = 0; + if (number[0] === '-') { + start++; + } + + if (base === 16) { + this._parseHex(number, start); + } else { + this._parseBase(number, base, start); + } + + if (number[0] === '-') { + this.negative = 1; + } + + this.strip(); + + if (endian !== 'le') return; + + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initNumber = function _initNumber (number, base, endian) { + if (number < 0) { + this.negative = 1; + number = -number; + } + if (number < 0x4000000) { + this.words = [ number & 0x3ffffff ]; + this.length = 1; + } else if (number < 0x10000000000000) { + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff + ]; + this.length = 2; + } else { + assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff, + 1 + ]; + this.length = 3; + } + + if (endian !== 'le') return; + + // Reverse the bytes + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initArray = function _initArray (number, base, endian) { + // Perhaps a Uint8Array + assert(typeof number.length === 'number'); + if (number.length <= 0) { + this.words = [ 0 ]; + this.length = 1; + return this; + } + + this.length = Math.ceil(number.length / 3); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + var off = 0; + if (endian === 'be') { + for (i = number.length - 1, j = 0; i >= 0; i -= 3) { + w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } else if (endian === 'le') { + for (i = 0, j = 0; i < number.length; i += 3) { + w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } + return this.strip(); + }; + + function parseHex (str, start, end) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r <<= 4; + + // 'a' - 'f' + if (c >= 49 && c <= 54) { + r |= c - 49 + 0xa; + + // 'A' - 'F' + } else if (c >= 17 && c <= 22) { + r |= c - 17 + 0xa; + + // '0' - '9' + } else { + r |= c & 0xf; + } + } + return r; + } + + BN.prototype._parseHex = function _parseHex (number, start) { + // Create possibly bigger array to ensure that it fits the number + this.length = Math.ceil((number.length - start) / 6); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + // Scan 24-bit chunks and add them to the number + var off = 0; + for (i = number.length - 6, j = 0; i >= start; i -= 6) { + w = parseHex(number, i, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + if (i + 6 !== start) { + w = parseHex(number, start, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + } + this.strip(); + }; + + function parseBase (str, start, end, mul) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r *= mul; + + // 'a' + if (c >= 49) { + r += c - 49 + 0xa; + + // 'A' + } else if (c >= 17) { + r += c - 17 + 0xa; + + // '0' - '9' + } else { + r += c; + } + } + return r; + } + + BN.prototype._parseBase = function _parseBase (number, base, start) { + // Initialize as zero + this.words = [ 0 ]; + this.length = 1; + + // Find length of limb in base + for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { + limbLen++; + } + limbLen--; + limbPow = (limbPow / base) | 0; + + var total = number.length - start; + var mod = total % limbLen; + var end = Math.min(total, total - mod) + start; + + var word = 0; + for (var i = start; i < end; i += limbLen) { + word = parseBase(number, i, i + limbLen, base); + + this.imuln(limbPow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + if (mod !== 0) { + var pow = 1; + word = parseBase(number, i, number.length, base); + + for (i = 0; i < mod; i++) { + pow *= base; + } + + this.imuln(pow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + }; + + BN.prototype.copy = function copy (dest) { + dest.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + dest.words[i] = this.words[i]; + } + dest.length = this.length; + dest.negative = this.negative; + dest.red = this.red; + }; + + BN.prototype.clone = function clone () { + var r = new BN(null); + this.copy(r); + return r; + }; + + BN.prototype._expand = function _expand (size) { + while (this.length < size) { + this.words[this.length++] = 0; + } + return this; + }; + + // Remove leading `0` from `this` + BN.prototype.strip = function strip () { + while (this.length > 1 && this.words[this.length - 1] === 0) { + this.length--; + } + return this._normSign(); + }; + + BN.prototype._normSign = function _normSign () { + // -0 = 0 + if (this.length === 1 && this.words[0] === 0) { + this.negative = 0; + } + return this; + }; + + BN.prototype.inspect = function inspect () { + return (this.red ? ''; + }; + + /* + + var zeros = []; + var groupSizes = []; + var groupBases = []; + + var s = ''; + var i = -1; + while (++i < BN.wordSize) { + zeros[i] = s; + s += '0'; + } + groupSizes[0] = 0; + groupSizes[1] = 0; + groupBases[0] = 0; + groupBases[1] = 0; + var base = 2 - 1; + while (++base < 36 + 1) { + var groupSize = 0; + var groupBase = 1; + while (groupBase < (1 << BN.wordSize) / base) { + groupBase *= base; + groupSize += 1; + } + groupSizes[base] = groupSize; + groupBases[base] = groupBase; + } + + */ + + var zeros = [ + '', + '0', + '00', + '000', + '0000', + '00000', + '000000', + '0000000', + '00000000', + '000000000', + '0000000000', + '00000000000', + '000000000000', + '0000000000000', + '00000000000000', + '000000000000000', + '0000000000000000', + '00000000000000000', + '000000000000000000', + '0000000000000000000', + '00000000000000000000', + '000000000000000000000', + '0000000000000000000000', + '00000000000000000000000', + '000000000000000000000000', + '0000000000000000000000000' + ]; + + var groupSizes = [ + 0, 0, + 25, 16, 12, 11, 10, 9, 8, + 8, 7, 7, 7, 7, 6, 6, + 6, 6, 6, 6, 6, 5, 5, + 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5 + ]; + + var groupBases = [ + 0, 0, + 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, + 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, + 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, + 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, + 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 + ]; + + BN.prototype.toString = function toString (base, padding) { + base = base || 10; + padding = padding | 0 || 1; + + var out; + if (base === 16 || base === 'hex') { + out = ''; + var off = 0; + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = this.words[i]; + var word = (((w << off) | carry) & 0xffffff).toString(16); + carry = (w >>> (24 - off)) & 0xffffff; + if (carry !== 0 || i !== this.length - 1) { + out = zeros[6 - word.length] + word + out; + } else { + out = word + out; + } + off += 2; + if (off >= 26) { + off -= 26; + i--; + } + } + if (carry !== 0) { + out = carry.toString(16) + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + if (base === (base | 0) && base >= 2 && base <= 36) { + // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); + var groupSize = groupSizes[base]; + // var groupBase = Math.pow(base, groupSize); + var groupBase = groupBases[base]; + out = ''; + var c = this.clone(); + c.negative = 0; + while (!c.isZero()) { + var r = c.modn(groupBase).toString(base); + c = c.idivn(groupBase); + + if (!c.isZero()) { + out = zeros[groupSize - r.length] + r + out; + } else { + out = r + out; + } + } + if (this.isZero()) { + out = '0' + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + assert(false, 'Base should be between 2 and 36'); + }; + + BN.prototype.toNumber = function toNumber () { + var ret = this.words[0]; + if (this.length === 2) { + ret += this.words[1] * 0x4000000; + } else if (this.length === 3 && this.words[2] === 0x01) { + // NOTE: at this stage it is known that the top bit is set + ret += 0x10000000000000 + (this.words[1] * 0x4000000); + } else if (this.length > 2) { + assert(false, 'Number can only safely store up to 53 bits'); + } + return (this.negative !== 0) ? -ret : ret; + }; + + BN.prototype.toJSON = function toJSON () { + return this.toString(16); + }; + + BN.prototype.toBuffer = function toBuffer (endian, length) { + assert(typeof Buffer !== 'undefined'); + return this.toArrayLike(Buffer, endian, length); + }; + + BN.prototype.toArray = function toArray (endian, length) { + return this.toArrayLike(Array, endian, length); + }; + + BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { + var byteLength = this.byteLength(); + var reqLength = length || Math.max(1, byteLength); + assert(byteLength <= reqLength, 'byte array longer than desired length'); + assert(reqLength > 0, 'Requested array length <= 0'); + + this.strip(); + var littleEndian = endian === 'le'; + var res = new ArrayType(reqLength); + + var b, i; + var q = this.clone(); + if (!littleEndian) { + // Assume big-endian + for (i = 0; i < reqLength - byteLength; i++) { + res[i] = 0; + } + + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[reqLength - i - 1] = b; + } + } else { + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[i] = b; + } + + for (; i < reqLength; i++) { + res[i] = 0; + } + } + + return res; + }; + + if (Math.clz32) { + BN.prototype._countBits = function _countBits (w) { + return 32 - Math.clz32(w); + }; + } else { + BN.prototype._countBits = function _countBits (w) { + var t = w; + var r = 0; + if (t >= 0x1000) { + r += 13; + t >>>= 13; + } + if (t >= 0x40) { + r += 7; + t >>>= 7; + } + if (t >= 0x8) { + r += 4; + t >>>= 4; + } + if (t >= 0x02) { + r += 2; + t >>>= 2; + } + return r + t; + }; + } + + BN.prototype._zeroBits = function _zeroBits (w) { + // Short-cut + if (w === 0) return 26; + + var t = w; + var r = 0; + if ((t & 0x1fff) === 0) { + r += 13; + t >>>= 13; + } + if ((t & 0x7f) === 0) { + r += 7; + t >>>= 7; + } + if ((t & 0xf) === 0) { + r += 4; + t >>>= 4; + } + if ((t & 0x3) === 0) { + r += 2; + t >>>= 2; + } + if ((t & 0x1) === 0) { + r++; + } + return r; + }; + + // Return number of used bits in a BN + BN.prototype.bitLength = function bitLength () { + var w = this.words[this.length - 1]; + var hi = this._countBits(w); + return (this.length - 1) * 26 + hi; + }; + + function toBitArray (num) { + var w = new Array(num.bitLength()); + + for (var bit = 0; bit < w.length; bit++) { + var off = (bit / 26) | 0; + var wbit = bit % 26; + + w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; + } + + return w; + } + + // Number of trailing zero bits + BN.prototype.zeroBits = function zeroBits () { + if (this.isZero()) return 0; + + var r = 0; + for (var i = 0; i < this.length; i++) { + var b = this._zeroBits(this.words[i]); + r += b; + if (b !== 26) break; + } + return r; + }; + + BN.prototype.byteLength = function byteLength () { + return Math.ceil(this.bitLength() / 8); + }; + + BN.prototype.toTwos = function toTwos (width) { + if (this.negative !== 0) { + return this.abs().inotn(width).iaddn(1); + } + return this.clone(); + }; + + BN.prototype.fromTwos = function fromTwos (width) { + if (this.testn(width - 1)) { + return this.notn(width).iaddn(1).ineg(); + } + return this.clone(); + }; + + BN.prototype.isNeg = function isNeg () { + return this.negative !== 0; + }; + + // Return negative clone of `this` + BN.prototype.neg = function neg () { + return this.clone().ineg(); + }; + + BN.prototype.ineg = function ineg () { + if (!this.isZero()) { + this.negative ^= 1; + } + + return this; + }; + + // Or `num` with `this` in-place + BN.prototype.iuor = function iuor (num) { + while (this.length < num.length) { + this.words[this.length++] = 0; + } + + for (var i = 0; i < num.length; i++) { + this.words[i] = this.words[i] | num.words[i]; + } + + return this.strip(); + }; + + BN.prototype.ior = function ior (num) { + assert((this.negative | num.negative) === 0); + return this.iuor(num); + }; + + // Or `num` with `this` + BN.prototype.or = function or (num) { + if (this.length > num.length) return this.clone().ior(num); + return num.clone().ior(this); + }; + + BN.prototype.uor = function uor (num) { + if (this.length > num.length) return this.clone().iuor(num); + return num.clone().iuor(this); + }; + + // And `num` with `this` in-place + BN.prototype.iuand = function iuand (num) { + // b = min-length(num, this) + var b; + if (this.length > num.length) { + b = num; + } else { + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = this.words[i] & num.words[i]; + } + + this.length = b.length; + + return this.strip(); + }; + + BN.prototype.iand = function iand (num) { + assert((this.negative | num.negative) === 0); + return this.iuand(num); + }; + + // And `num` with `this` + BN.prototype.and = function and (num) { + if (this.length > num.length) return this.clone().iand(num); + return num.clone().iand(this); + }; + + BN.prototype.uand = function uand (num) { + if (this.length > num.length) return this.clone().iuand(num); + return num.clone().iuand(this); + }; + + // Xor `num` with `this` in-place + BN.prototype.iuxor = function iuxor (num) { + // a.length > b.length + var a; + var b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = a.words[i] ^ b.words[i]; + } + + if (this !== a) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = a.length; + + return this.strip(); + }; + + BN.prototype.ixor = function ixor (num) { + assert((this.negative | num.negative) === 0); + return this.iuxor(num); + }; + + // Xor `num` with `this` + BN.prototype.xor = function xor (num) { + if (this.length > num.length) return this.clone().ixor(num); + return num.clone().ixor(this); + }; + + BN.prototype.uxor = function uxor (num) { + if (this.length > num.length) return this.clone().iuxor(num); + return num.clone().iuxor(this); + }; + + // Not ``this`` with ``width`` bitwidth + BN.prototype.inotn = function inotn (width) { + assert(typeof width === 'number' && width >= 0); + + var bytesNeeded = Math.ceil(width / 26) | 0; + var bitsLeft = width % 26; + + // Extend the buffer with leading zeroes + this._expand(bytesNeeded); + + if (bitsLeft > 0) { + bytesNeeded--; + } + + // Handle complete words + for (var i = 0; i < bytesNeeded; i++) { + this.words[i] = ~this.words[i] & 0x3ffffff; + } + + // Handle the residue + if (bitsLeft > 0) { + this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); + } + + // And remove leading zeroes + return this.strip(); + }; + + BN.prototype.notn = function notn (width) { + return this.clone().inotn(width); + }; + + // Set `bit` of `this` + BN.prototype.setn = function setn (bit, val) { + assert(typeof bit === 'number' && bit >= 0); + + var off = (bit / 26) | 0; + var wbit = bit % 26; + + this._expand(off + 1); + + if (val) { + this.words[off] = this.words[off] | (1 << wbit); + } else { + this.words[off] = this.words[off] & ~(1 << wbit); + } + + return this.strip(); + }; + + // Add `num` to `this` in-place + BN.prototype.iadd = function iadd (num) { + var r; + + // negative + positive + if (this.negative !== 0 && num.negative === 0) { + this.negative = 0; + r = this.isub(num); + this.negative ^= 1; + return this._normSign(); + + // positive + negative + } else if (this.negative === 0 && num.negative !== 0) { + num.negative = 0; + r = this.isub(num); + num.negative = 1; + return r._normSign(); + } + + // a.length > b.length + var a, b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) + (b.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + + this.length = a.length; + if (carry !== 0) { + this.words[this.length] = carry; + this.length++; + // Copy the rest of the words + } else if (a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + return this; + }; + + // Add `num` to `this` + BN.prototype.add = function add (num) { + var res; + if (num.negative !== 0 && this.negative === 0) { + num.negative = 0; + res = this.sub(num); + num.negative ^= 1; + return res; + } else if (num.negative === 0 && this.negative !== 0) { + this.negative = 0; + res = num.sub(this); + this.negative = 1; + return res; + } + + if (this.length > num.length) return this.clone().iadd(num); + + return num.clone().iadd(this); + }; + + // Subtract `num` from `this` in-place + BN.prototype.isub = function isub (num) { + // this - (-num) = this + num + if (num.negative !== 0) { + num.negative = 0; + var r = this.iadd(num); + num.negative = 1; + return r._normSign(); + + // -this - num = -(this + num) + } else if (this.negative !== 0) { + this.negative = 0; + this.iadd(num); + this.negative = 1; + return this._normSign(); + } + + // At this point both numbers are positive + var cmp = this.cmp(num); + + // Optimization - zeroify + if (cmp === 0) { + this.negative = 0; + this.length = 1; + this.words[0] = 0; + return this; + } + + // a > b + var a, b; + if (cmp > 0) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) - (b.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + + // Copy rest of the words + if (carry === 0 && i < a.length && a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = Math.max(this.length, i); + + if (a !== this) { + this.negative = 1; + } + + return this.strip(); + }; + + // Subtract `num` from `this` + BN.prototype.sub = function sub (num) { + return this.clone().isub(num); + }; + + function smallMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + var len = (self.length + num.length) | 0; + out.length = len; + len = (len - 1) | 0; + + // Peel one iteration (compiler can't do it, because of code complexity) + var a = self.words[0] | 0; + var b = num.words[0] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + var carry = (r / 0x4000000) | 0; + out.words[0] = lo; + + for (var k = 1; k < len; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = carry >>> 26; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = (k - j) | 0; + a = self.words[i] | 0; + b = num.words[j] | 0; + r = a * b + rword; + ncarry += (r / 0x4000000) | 0; + rword = r & 0x3ffffff; + } + out.words[k] = rword | 0; + carry = ncarry | 0; + } + if (carry !== 0) { + out.words[k] = carry | 0; + } else { + out.length--; + } + + return out.strip(); + } + + // TODO(indutny): it may be reasonable to omit it for users who don't need + // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit + // multiplication (like elliptic secp256k1). + var comb10MulTo = function comb10MulTo (self, num, out) { + var a = self.words; + var b = num.words; + var o = out.words; + var c = 0; + var lo; + var mid; + var hi; + var a0 = a[0] | 0; + var al0 = a0 & 0x1fff; + var ah0 = a0 >>> 13; + var a1 = a[1] | 0; + var al1 = a1 & 0x1fff; + var ah1 = a1 >>> 13; + var a2 = a[2] | 0; + var al2 = a2 & 0x1fff; + var ah2 = a2 >>> 13; + var a3 = a[3] | 0; + var al3 = a3 & 0x1fff; + var ah3 = a3 >>> 13; + var a4 = a[4] | 0; + var al4 = a4 & 0x1fff; + var ah4 = a4 >>> 13; + var a5 = a[5] | 0; + var al5 = a5 & 0x1fff; + var ah5 = a5 >>> 13; + var a6 = a[6] | 0; + var al6 = a6 & 0x1fff; + var ah6 = a6 >>> 13; + var a7 = a[7] | 0; + var al7 = a7 & 0x1fff; + var ah7 = a7 >>> 13; + var a8 = a[8] | 0; + var al8 = a8 & 0x1fff; + var ah8 = a8 >>> 13; + var a9 = a[9] | 0; + var al9 = a9 & 0x1fff; + var ah9 = a9 >>> 13; + var b0 = b[0] | 0; + var bl0 = b0 & 0x1fff; + var bh0 = b0 >>> 13; + var b1 = b[1] | 0; + var bl1 = b1 & 0x1fff; + var bh1 = b1 >>> 13; + var b2 = b[2] | 0; + var bl2 = b2 & 0x1fff; + var bh2 = b2 >>> 13; + var b3 = b[3] | 0; + var bl3 = b3 & 0x1fff; + var bh3 = b3 >>> 13; + var b4 = b[4] | 0; + var bl4 = b4 & 0x1fff; + var bh4 = b4 >>> 13; + var b5 = b[5] | 0; + var bl5 = b5 & 0x1fff; + var bh5 = b5 >>> 13; + var b6 = b[6] | 0; + var bl6 = b6 & 0x1fff; + var bh6 = b6 >>> 13; + var b7 = b[7] | 0; + var bl7 = b7 & 0x1fff; + var bh7 = b7 >>> 13; + var b8 = b[8] | 0; + var bl8 = b8 & 0x1fff; + var bh8 = b8 >>> 13; + var b9 = b[9] | 0; + var bl9 = b9 & 0x1fff; + var bh9 = b9 >>> 13; + + out.negative = self.negative ^ num.negative; + out.length = 19; + /* k = 0 */ + lo = Math.imul(al0, bl0); + mid = Math.imul(al0, bh0); + mid = (mid + Math.imul(ah0, bl0)) | 0; + hi = Math.imul(ah0, bh0); + var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; + w0 &= 0x3ffffff; + /* k = 1 */ + lo = Math.imul(al1, bl0); + mid = Math.imul(al1, bh0); + mid = (mid + Math.imul(ah1, bl0)) | 0; + hi = Math.imul(ah1, bh0); + lo = (lo + Math.imul(al0, bl1)) | 0; + mid = (mid + Math.imul(al0, bh1)) | 0; + mid = (mid + Math.imul(ah0, bl1)) | 0; + hi = (hi + Math.imul(ah0, bh1)) | 0; + var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; + w1 &= 0x3ffffff; + /* k = 2 */ + lo = Math.imul(al2, bl0); + mid = Math.imul(al2, bh0); + mid = (mid + Math.imul(ah2, bl0)) | 0; + hi = Math.imul(ah2, bh0); + lo = (lo + Math.imul(al1, bl1)) | 0; + mid = (mid + Math.imul(al1, bh1)) | 0; + mid = (mid + Math.imul(ah1, bl1)) | 0; + hi = (hi + Math.imul(ah1, bh1)) | 0; + lo = (lo + Math.imul(al0, bl2)) | 0; + mid = (mid + Math.imul(al0, bh2)) | 0; + mid = (mid + Math.imul(ah0, bl2)) | 0; + hi = (hi + Math.imul(ah0, bh2)) | 0; + var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; + w2 &= 0x3ffffff; + /* k = 3 */ + lo = Math.imul(al3, bl0); + mid = Math.imul(al3, bh0); + mid = (mid + Math.imul(ah3, bl0)) | 0; + hi = Math.imul(ah3, bh0); + lo = (lo + Math.imul(al2, bl1)) | 0; + mid = (mid + Math.imul(al2, bh1)) | 0; + mid = (mid + Math.imul(ah2, bl1)) | 0; + hi = (hi + Math.imul(ah2, bh1)) | 0; + lo = (lo + Math.imul(al1, bl2)) | 0; + mid = (mid + Math.imul(al1, bh2)) | 0; + mid = (mid + Math.imul(ah1, bl2)) | 0; + hi = (hi + Math.imul(ah1, bh2)) | 0; + lo = (lo + Math.imul(al0, bl3)) | 0; + mid = (mid + Math.imul(al0, bh3)) | 0; + mid = (mid + Math.imul(ah0, bl3)) | 0; + hi = (hi + Math.imul(ah0, bh3)) | 0; + var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; + w3 &= 0x3ffffff; + /* k = 4 */ + lo = Math.imul(al4, bl0); + mid = Math.imul(al4, bh0); + mid = (mid + Math.imul(ah4, bl0)) | 0; + hi = Math.imul(ah4, bh0); + lo = (lo + Math.imul(al3, bl1)) | 0; + mid = (mid + Math.imul(al3, bh1)) | 0; + mid = (mid + Math.imul(ah3, bl1)) | 0; + hi = (hi + Math.imul(ah3, bh1)) | 0; + lo = (lo + Math.imul(al2, bl2)) | 0; + mid = (mid + Math.imul(al2, bh2)) | 0; + mid = (mid + Math.imul(ah2, bl2)) | 0; + hi = (hi + Math.imul(ah2, bh2)) | 0; + lo = (lo + Math.imul(al1, bl3)) | 0; + mid = (mid + Math.imul(al1, bh3)) | 0; + mid = (mid + Math.imul(ah1, bl3)) | 0; + hi = (hi + Math.imul(ah1, bh3)) | 0; + lo = (lo + Math.imul(al0, bl4)) | 0; + mid = (mid + Math.imul(al0, bh4)) | 0; + mid = (mid + Math.imul(ah0, bl4)) | 0; + hi = (hi + Math.imul(ah0, bh4)) | 0; + var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; + w4 &= 0x3ffffff; + /* k = 5 */ + lo = Math.imul(al5, bl0); + mid = Math.imul(al5, bh0); + mid = (mid + Math.imul(ah5, bl0)) | 0; + hi = Math.imul(ah5, bh0); + lo = (lo + Math.imul(al4, bl1)) | 0; + mid = (mid + Math.imul(al4, bh1)) | 0; + mid = (mid + Math.imul(ah4, bl1)) | 0; + hi = (hi + Math.imul(ah4, bh1)) | 0; + lo = (lo + Math.imul(al3, bl2)) | 0; + mid = (mid + Math.imul(al3, bh2)) | 0; + mid = (mid + Math.imul(ah3, bl2)) | 0; + hi = (hi + Math.imul(ah3, bh2)) | 0; + lo = (lo + Math.imul(al2, bl3)) | 0; + mid = (mid + Math.imul(al2, bh3)) | 0; + mid = (mid + Math.imul(ah2, bl3)) | 0; + hi = (hi + Math.imul(ah2, bh3)) | 0; + lo = (lo + Math.imul(al1, bl4)) | 0; + mid = (mid + Math.imul(al1, bh4)) | 0; + mid = (mid + Math.imul(ah1, bl4)) | 0; + hi = (hi + Math.imul(ah1, bh4)) | 0; + lo = (lo + Math.imul(al0, bl5)) | 0; + mid = (mid + Math.imul(al0, bh5)) | 0; + mid = (mid + Math.imul(ah0, bl5)) | 0; + hi = (hi + Math.imul(ah0, bh5)) | 0; + var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; + w5 &= 0x3ffffff; + /* k = 6 */ + lo = Math.imul(al6, bl0); + mid = Math.imul(al6, bh0); + mid = (mid + Math.imul(ah6, bl0)) | 0; + hi = Math.imul(ah6, bh0); + lo = (lo + Math.imul(al5, bl1)) | 0; + mid = (mid + Math.imul(al5, bh1)) | 0; + mid = (mid + Math.imul(ah5, bl1)) | 0; + hi = (hi + Math.imul(ah5, bh1)) | 0; + lo = (lo + Math.imul(al4, bl2)) | 0; + mid = (mid + Math.imul(al4, bh2)) | 0; + mid = (mid + Math.imul(ah4, bl2)) | 0; + hi = (hi + Math.imul(ah4, bh2)) | 0; + lo = (lo + Math.imul(al3, bl3)) | 0; + mid = (mid + Math.imul(al3, bh3)) | 0; + mid = (mid + Math.imul(ah3, bl3)) | 0; + hi = (hi + Math.imul(ah3, bh3)) | 0; + lo = (lo + Math.imul(al2, bl4)) | 0; + mid = (mid + Math.imul(al2, bh4)) | 0; + mid = (mid + Math.imul(ah2, bl4)) | 0; + hi = (hi + Math.imul(ah2, bh4)) | 0; + lo = (lo + Math.imul(al1, bl5)) | 0; + mid = (mid + Math.imul(al1, bh5)) | 0; + mid = (mid + Math.imul(ah1, bl5)) | 0; + hi = (hi + Math.imul(ah1, bh5)) | 0; + lo = (lo + Math.imul(al0, bl6)) | 0; + mid = (mid + Math.imul(al0, bh6)) | 0; + mid = (mid + Math.imul(ah0, bl6)) | 0; + hi = (hi + Math.imul(ah0, bh6)) | 0; + var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; + w6 &= 0x3ffffff; + /* k = 7 */ + lo = Math.imul(al7, bl0); + mid = Math.imul(al7, bh0); + mid = (mid + Math.imul(ah7, bl0)) | 0; + hi = Math.imul(ah7, bh0); + lo = (lo + Math.imul(al6, bl1)) | 0; + mid = (mid + Math.imul(al6, bh1)) | 0; + mid = (mid + Math.imul(ah6, bl1)) | 0; + hi = (hi + Math.imul(ah6, bh1)) | 0; + lo = (lo + Math.imul(al5, bl2)) | 0; + mid = (mid + Math.imul(al5, bh2)) | 0; + mid = (mid + Math.imul(ah5, bl2)) | 0; + hi = (hi + Math.imul(ah5, bh2)) | 0; + lo = (lo + Math.imul(al4, bl3)) | 0; + mid = (mid + Math.imul(al4, bh3)) | 0; + mid = (mid + Math.imul(ah4, bl3)) | 0; + hi = (hi + Math.imul(ah4, bh3)) | 0; + lo = (lo + Math.imul(al3, bl4)) | 0; + mid = (mid + Math.imul(al3, bh4)) | 0; + mid = (mid + Math.imul(ah3, bl4)) | 0; + hi = (hi + Math.imul(ah3, bh4)) | 0; + lo = (lo + Math.imul(al2, bl5)) | 0; + mid = (mid + Math.imul(al2, bh5)) | 0; + mid = (mid + Math.imul(ah2, bl5)) | 0; + hi = (hi + Math.imul(ah2, bh5)) | 0; + lo = (lo + Math.imul(al1, bl6)) | 0; + mid = (mid + Math.imul(al1, bh6)) | 0; + mid = (mid + Math.imul(ah1, bl6)) | 0; + hi = (hi + Math.imul(ah1, bh6)) | 0; + lo = (lo + Math.imul(al0, bl7)) | 0; + mid = (mid + Math.imul(al0, bh7)) | 0; + mid = (mid + Math.imul(ah0, bl7)) | 0; + hi = (hi + Math.imul(ah0, bh7)) | 0; + var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; + w7 &= 0x3ffffff; + /* k = 8 */ + lo = Math.imul(al8, bl0); + mid = Math.imul(al8, bh0); + mid = (mid + Math.imul(ah8, bl0)) | 0; + hi = Math.imul(ah8, bh0); + lo = (lo + Math.imul(al7, bl1)) | 0; + mid = (mid + Math.imul(al7, bh1)) | 0; + mid = (mid + Math.imul(ah7, bl1)) | 0; + hi = (hi + Math.imul(ah7, bh1)) | 0; + lo = (lo + Math.imul(al6, bl2)) | 0; + mid = (mid + Math.imul(al6, bh2)) | 0; + mid = (mid + Math.imul(ah6, bl2)) | 0; + hi = (hi + Math.imul(ah6, bh2)) | 0; + lo = (lo + Math.imul(al5, bl3)) | 0; + mid = (mid + Math.imul(al5, bh3)) | 0; + mid = (mid + Math.imul(ah5, bl3)) | 0; + hi = (hi + Math.imul(ah5, bh3)) | 0; + lo = (lo + Math.imul(al4, bl4)) | 0; + mid = (mid + Math.imul(al4, bh4)) | 0; + mid = (mid + Math.imul(ah4, bl4)) | 0; + hi = (hi + Math.imul(ah4, bh4)) | 0; + lo = (lo + Math.imul(al3, bl5)) | 0; + mid = (mid + Math.imul(al3, bh5)) | 0; + mid = (mid + Math.imul(ah3, bl5)) | 0; + hi = (hi + Math.imul(ah3, bh5)) | 0; + lo = (lo + Math.imul(al2, bl6)) | 0; + mid = (mid + Math.imul(al2, bh6)) | 0; + mid = (mid + Math.imul(ah2, bl6)) | 0; + hi = (hi + Math.imul(ah2, bh6)) | 0; + lo = (lo + Math.imul(al1, bl7)) | 0; + mid = (mid + Math.imul(al1, bh7)) | 0; + mid = (mid + Math.imul(ah1, bl7)) | 0; + hi = (hi + Math.imul(ah1, bh7)) | 0; + lo = (lo + Math.imul(al0, bl8)) | 0; + mid = (mid + Math.imul(al0, bh8)) | 0; + mid = (mid + Math.imul(ah0, bl8)) | 0; + hi = (hi + Math.imul(ah0, bh8)) | 0; + var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; + w8 &= 0x3ffffff; + /* k = 9 */ + lo = Math.imul(al9, bl0); + mid = Math.imul(al9, bh0); + mid = (mid + Math.imul(ah9, bl0)) | 0; + hi = Math.imul(ah9, bh0); + lo = (lo + Math.imul(al8, bl1)) | 0; + mid = (mid + Math.imul(al8, bh1)) | 0; + mid = (mid + Math.imul(ah8, bl1)) | 0; + hi = (hi + Math.imul(ah8, bh1)) | 0; + lo = (lo + Math.imul(al7, bl2)) | 0; + mid = (mid + Math.imul(al7, bh2)) | 0; + mid = (mid + Math.imul(ah7, bl2)) | 0; + hi = (hi + Math.imul(ah7, bh2)) | 0; + lo = (lo + Math.imul(al6, bl3)) | 0; + mid = (mid + Math.imul(al6, bh3)) | 0; + mid = (mid + Math.imul(ah6, bl3)) | 0; + hi = (hi + Math.imul(ah6, bh3)) | 0; + lo = (lo + Math.imul(al5, bl4)) | 0; + mid = (mid + Math.imul(al5, bh4)) | 0; + mid = (mid + Math.imul(ah5, bl4)) | 0; + hi = (hi + Math.imul(ah5, bh4)) | 0; + lo = (lo + Math.imul(al4, bl5)) | 0; + mid = (mid + Math.imul(al4, bh5)) | 0; + mid = (mid + Math.imul(ah4, bl5)) | 0; + hi = (hi + Math.imul(ah4, bh5)) | 0; + lo = (lo + Math.imul(al3, bl6)) | 0; + mid = (mid + Math.imul(al3, bh6)) | 0; + mid = (mid + Math.imul(ah3, bl6)) | 0; + hi = (hi + Math.imul(ah3, bh6)) | 0; + lo = (lo + Math.imul(al2, bl7)) | 0; + mid = (mid + Math.imul(al2, bh7)) | 0; + mid = (mid + Math.imul(ah2, bl7)) | 0; + hi = (hi + Math.imul(ah2, bh7)) | 0; + lo = (lo + Math.imul(al1, bl8)) | 0; + mid = (mid + Math.imul(al1, bh8)) | 0; + mid = (mid + Math.imul(ah1, bl8)) | 0; + hi = (hi + Math.imul(ah1, bh8)) | 0; + lo = (lo + Math.imul(al0, bl9)) | 0; + mid = (mid + Math.imul(al0, bh9)) | 0; + mid = (mid + Math.imul(ah0, bl9)) | 0; + hi = (hi + Math.imul(ah0, bh9)) | 0; + var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; + w9 &= 0x3ffffff; + /* k = 10 */ + lo = Math.imul(al9, bl1); + mid = Math.imul(al9, bh1); + mid = (mid + Math.imul(ah9, bl1)) | 0; + hi = Math.imul(ah9, bh1); + lo = (lo + Math.imul(al8, bl2)) | 0; + mid = (mid + Math.imul(al8, bh2)) | 0; + mid = (mid + Math.imul(ah8, bl2)) | 0; + hi = (hi + Math.imul(ah8, bh2)) | 0; + lo = (lo + Math.imul(al7, bl3)) | 0; + mid = (mid + Math.imul(al7, bh3)) | 0; + mid = (mid + Math.imul(ah7, bl3)) | 0; + hi = (hi + Math.imul(ah7, bh3)) | 0; + lo = (lo + Math.imul(al6, bl4)) | 0; + mid = (mid + Math.imul(al6, bh4)) | 0; + mid = (mid + Math.imul(ah6, bl4)) | 0; + hi = (hi + Math.imul(ah6, bh4)) | 0; + lo = (lo + Math.imul(al5, bl5)) | 0; + mid = (mid + Math.imul(al5, bh5)) | 0; + mid = (mid + Math.imul(ah5, bl5)) | 0; + hi = (hi + Math.imul(ah5, bh5)) | 0; + lo = (lo + Math.imul(al4, bl6)) | 0; + mid = (mid + Math.imul(al4, bh6)) | 0; + mid = (mid + Math.imul(ah4, bl6)) | 0; + hi = (hi + Math.imul(ah4, bh6)) | 0; + lo = (lo + Math.imul(al3, bl7)) | 0; + mid = (mid + Math.imul(al3, bh7)) | 0; + mid = (mid + Math.imul(ah3, bl7)) | 0; + hi = (hi + Math.imul(ah3, bh7)) | 0; + lo = (lo + Math.imul(al2, bl8)) | 0; + mid = (mid + Math.imul(al2, bh8)) | 0; + mid = (mid + Math.imul(ah2, bl8)) | 0; + hi = (hi + Math.imul(ah2, bh8)) | 0; + lo = (lo + Math.imul(al1, bl9)) | 0; + mid = (mid + Math.imul(al1, bh9)) | 0; + mid = (mid + Math.imul(ah1, bl9)) | 0; + hi = (hi + Math.imul(ah1, bh9)) | 0; + var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; + w10 &= 0x3ffffff; + /* k = 11 */ + lo = Math.imul(al9, bl2); + mid = Math.imul(al9, bh2); + mid = (mid + Math.imul(ah9, bl2)) | 0; + hi = Math.imul(ah9, bh2); + lo = (lo + Math.imul(al8, bl3)) | 0; + mid = (mid + Math.imul(al8, bh3)) | 0; + mid = (mid + Math.imul(ah8, bl3)) | 0; + hi = (hi + Math.imul(ah8, bh3)) | 0; + lo = (lo + Math.imul(al7, bl4)) | 0; + mid = (mid + Math.imul(al7, bh4)) | 0; + mid = (mid + Math.imul(ah7, bl4)) | 0; + hi = (hi + Math.imul(ah7, bh4)) | 0; + lo = (lo + Math.imul(al6, bl5)) | 0; + mid = (mid + Math.imul(al6, bh5)) | 0; + mid = (mid + Math.imul(ah6, bl5)) | 0; + hi = (hi + Math.imul(ah6, bh5)) | 0; + lo = (lo + Math.imul(al5, bl6)) | 0; + mid = (mid + Math.imul(al5, bh6)) | 0; + mid = (mid + Math.imul(ah5, bl6)) | 0; + hi = (hi + Math.imul(ah5, bh6)) | 0; + lo = (lo + Math.imul(al4, bl7)) | 0; + mid = (mid + Math.imul(al4, bh7)) | 0; + mid = (mid + Math.imul(ah4, bl7)) | 0; + hi = (hi + Math.imul(ah4, bh7)) | 0; + lo = (lo + Math.imul(al3, bl8)) | 0; + mid = (mid + Math.imul(al3, bh8)) | 0; + mid = (mid + Math.imul(ah3, bl8)) | 0; + hi = (hi + Math.imul(ah3, bh8)) | 0; + lo = (lo + Math.imul(al2, bl9)) | 0; + mid = (mid + Math.imul(al2, bh9)) | 0; + mid = (mid + Math.imul(ah2, bl9)) | 0; + hi = (hi + Math.imul(ah2, bh9)) | 0; + var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; + w11 &= 0x3ffffff; + /* k = 12 */ + lo = Math.imul(al9, bl3); + mid = Math.imul(al9, bh3); + mid = (mid + Math.imul(ah9, bl3)) | 0; + hi = Math.imul(ah9, bh3); + lo = (lo + Math.imul(al8, bl4)) | 0; + mid = (mid + Math.imul(al8, bh4)) | 0; + mid = (mid + Math.imul(ah8, bl4)) | 0; + hi = (hi + Math.imul(ah8, bh4)) | 0; + lo = (lo + Math.imul(al7, bl5)) | 0; + mid = (mid + Math.imul(al7, bh5)) | 0; + mid = (mid + Math.imul(ah7, bl5)) | 0; + hi = (hi + Math.imul(ah7, bh5)) | 0; + lo = (lo + Math.imul(al6, bl6)) | 0; + mid = (mid + Math.imul(al6, bh6)) | 0; + mid = (mid + Math.imul(ah6, bl6)) | 0; + hi = (hi + Math.imul(ah6, bh6)) | 0; + lo = (lo + Math.imul(al5, bl7)) | 0; + mid = (mid + Math.imul(al5, bh7)) | 0; + mid = (mid + Math.imul(ah5, bl7)) | 0; + hi = (hi + Math.imul(ah5, bh7)) | 0; + lo = (lo + Math.imul(al4, bl8)) | 0; + mid = (mid + Math.imul(al4, bh8)) | 0; + mid = (mid + Math.imul(ah4, bl8)) | 0; + hi = (hi + Math.imul(ah4, bh8)) | 0; + lo = (lo + Math.imul(al3, bl9)) | 0; + mid = (mid + Math.imul(al3, bh9)) | 0; + mid = (mid + Math.imul(ah3, bl9)) | 0; + hi = (hi + Math.imul(ah3, bh9)) | 0; + var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; + w12 &= 0x3ffffff; + /* k = 13 */ + lo = Math.imul(al9, bl4); + mid = Math.imul(al9, bh4); + mid = (mid + Math.imul(ah9, bl4)) | 0; + hi = Math.imul(ah9, bh4); + lo = (lo + Math.imul(al8, bl5)) | 0; + mid = (mid + Math.imul(al8, bh5)) | 0; + mid = (mid + Math.imul(ah8, bl5)) | 0; + hi = (hi + Math.imul(ah8, bh5)) | 0; + lo = (lo + Math.imul(al7, bl6)) | 0; + mid = (mid + Math.imul(al7, bh6)) | 0; + mid = (mid + Math.imul(ah7, bl6)) | 0; + hi = (hi + Math.imul(ah7, bh6)) | 0; + lo = (lo + Math.imul(al6, bl7)) | 0; + mid = (mid + Math.imul(al6, bh7)) | 0; + mid = (mid + Math.imul(ah6, bl7)) | 0; + hi = (hi + Math.imul(ah6, bh7)) | 0; + lo = (lo + Math.imul(al5, bl8)) | 0; + mid = (mid + Math.imul(al5, bh8)) | 0; + mid = (mid + Math.imul(ah5, bl8)) | 0; + hi = (hi + Math.imul(ah5, bh8)) | 0; + lo = (lo + Math.imul(al4, bl9)) | 0; + mid = (mid + Math.imul(al4, bh9)) | 0; + mid = (mid + Math.imul(ah4, bl9)) | 0; + hi = (hi + Math.imul(ah4, bh9)) | 0; + var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; + w13 &= 0x3ffffff; + /* k = 14 */ + lo = Math.imul(al9, bl5); + mid = Math.imul(al9, bh5); + mid = (mid + Math.imul(ah9, bl5)) | 0; + hi = Math.imul(ah9, bh5); + lo = (lo + Math.imul(al8, bl6)) | 0; + mid = (mid + Math.imul(al8, bh6)) | 0; + mid = (mid + Math.imul(ah8, bl6)) | 0; + hi = (hi + Math.imul(ah8, bh6)) | 0; + lo = (lo + Math.imul(al7, bl7)) | 0; + mid = (mid + Math.imul(al7, bh7)) | 0; + mid = (mid + Math.imul(ah7, bl7)) | 0; + hi = (hi + Math.imul(ah7, bh7)) | 0; + lo = (lo + Math.imul(al6, bl8)) | 0; + mid = (mid + Math.imul(al6, bh8)) | 0; + mid = (mid + Math.imul(ah6, bl8)) | 0; + hi = (hi + Math.imul(ah6, bh8)) | 0; + lo = (lo + Math.imul(al5, bl9)) | 0; + mid = (mid + Math.imul(al5, bh9)) | 0; + mid = (mid + Math.imul(ah5, bl9)) | 0; + hi = (hi + Math.imul(ah5, bh9)) | 0; + var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; + w14 &= 0x3ffffff; + /* k = 15 */ + lo = Math.imul(al9, bl6); + mid = Math.imul(al9, bh6); + mid = (mid + Math.imul(ah9, bl6)) | 0; + hi = Math.imul(ah9, bh6); + lo = (lo + Math.imul(al8, bl7)) | 0; + mid = (mid + Math.imul(al8, bh7)) | 0; + mid = (mid + Math.imul(ah8, bl7)) | 0; + hi = (hi + Math.imul(ah8, bh7)) | 0; + lo = (lo + Math.imul(al7, bl8)) | 0; + mid = (mid + Math.imul(al7, bh8)) | 0; + mid = (mid + Math.imul(ah7, bl8)) | 0; + hi = (hi + Math.imul(ah7, bh8)) | 0; + lo = (lo + Math.imul(al6, bl9)) | 0; + mid = (mid + Math.imul(al6, bh9)) | 0; + mid = (mid + Math.imul(ah6, bl9)) | 0; + hi = (hi + Math.imul(ah6, bh9)) | 0; + var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; + w15 &= 0x3ffffff; + /* k = 16 */ + lo = Math.imul(al9, bl7); + mid = Math.imul(al9, bh7); + mid = (mid + Math.imul(ah9, bl7)) | 0; + hi = Math.imul(ah9, bh7); + lo = (lo + Math.imul(al8, bl8)) | 0; + mid = (mid + Math.imul(al8, bh8)) | 0; + mid = (mid + Math.imul(ah8, bl8)) | 0; + hi = (hi + Math.imul(ah8, bh8)) | 0; + lo = (lo + Math.imul(al7, bl9)) | 0; + mid = (mid + Math.imul(al7, bh9)) | 0; + mid = (mid + Math.imul(ah7, bl9)) | 0; + hi = (hi + Math.imul(ah7, bh9)) | 0; + var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; + w16 &= 0x3ffffff; + /* k = 17 */ + lo = Math.imul(al9, bl8); + mid = Math.imul(al9, bh8); + mid = (mid + Math.imul(ah9, bl8)) | 0; + hi = Math.imul(ah9, bh8); + lo = (lo + Math.imul(al8, bl9)) | 0; + mid = (mid + Math.imul(al8, bh9)) | 0; + mid = (mid + Math.imul(ah8, bl9)) | 0; + hi = (hi + Math.imul(ah8, bh9)) | 0; + var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; + w17 &= 0x3ffffff; + /* k = 18 */ + lo = Math.imul(al9, bl9); + mid = Math.imul(al9, bh9); + mid = (mid + Math.imul(ah9, bl9)) | 0; + hi = Math.imul(ah9, bh9); + var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; + w18 &= 0x3ffffff; + o[0] = w0; + o[1] = w1; + o[2] = w2; + o[3] = w3; + o[4] = w4; + o[5] = w5; + o[6] = w6; + o[7] = w7; + o[8] = w8; + o[9] = w9; + o[10] = w10; + o[11] = w11; + o[12] = w12; + o[13] = w13; + o[14] = w14; + o[15] = w15; + o[16] = w16; + o[17] = w17; + o[18] = w18; + if (c !== 0) { + o[19] = c; + out.length++; + } + return out; + }; + + // Polyfill comb + if (!Math.imul) { + comb10MulTo = smallMulTo; + } + + function bigMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + out.length = self.length + num.length; + + var carry = 0; + var hncarry = 0; + for (var k = 0; k < out.length - 1; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = hncarry; + hncarry = 0; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = k - j; + var a = self.words[i] | 0; + var b = num.words[j] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; + lo = (lo + rword) | 0; + rword = lo & 0x3ffffff; + ncarry = (ncarry + (lo >>> 26)) | 0; + + hncarry += ncarry >>> 26; + ncarry &= 0x3ffffff; + } + out.words[k] = rword; + carry = ncarry; + ncarry = hncarry; + } + if (carry !== 0) { + out.words[k] = carry; + } else { + out.length--; + } + + return out.strip(); + } + + function jumboMulTo (self, num, out) { + var fftm = new FFTM(); + return fftm.mulp(self, num, out); + } + + BN.prototype.mulTo = function mulTo (num, out) { + var res; + var len = this.length + num.length; + if (this.length === 10 && num.length === 10) { + res = comb10MulTo(this, num, out); + } else if (len < 63) { + res = smallMulTo(this, num, out); + } else if (len < 1024) { + res = bigMulTo(this, num, out); + } else { + res = jumboMulTo(this, num, out); + } + + return res; + }; + + // Cooley-Tukey algorithm for FFT + // slightly revisited to rely on looping instead of recursion + + function FFTM (x, y) { + this.x = x; + this.y = y; + } + + FFTM.prototype.makeRBT = function makeRBT (N) { + var t = new Array(N); + var l = BN.prototype._countBits(N) - 1; + for (var i = 0; i < N; i++) { + t[i] = this.revBin(i, l, N); + } + + return t; + }; + + // Returns binary-reversed representation of `x` + FFTM.prototype.revBin = function revBin (x, l, N) { + if (x === 0 || x === N - 1) return x; + + var rb = 0; + for (var i = 0; i < l; i++) { + rb |= (x & 1) << (l - i - 1); + x >>= 1; + } + + return rb; + }; + + // Performs "tweedling" phase, therefore 'emulating' + // behaviour of the recursive algorithm + FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { + for (var i = 0; i < N; i++) { + rtws[i] = rws[rbt[i]]; + itws[i] = iws[rbt[i]]; + } + }; + + FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { + this.permute(rbt, rws, iws, rtws, itws, N); + + for (var s = 1; s < N; s <<= 1) { + var l = s << 1; + + var rtwdf = Math.cos(2 * Math.PI / l); + var itwdf = Math.sin(2 * Math.PI / l); + + for (var p = 0; p < N; p += l) { + var rtwdf_ = rtwdf; + var itwdf_ = itwdf; + + for (var j = 0; j < s; j++) { + var re = rtws[p + j]; + var ie = itws[p + j]; + + var ro = rtws[p + j + s]; + var io = itws[p + j + s]; + + var rx = rtwdf_ * ro - itwdf_ * io; + + io = rtwdf_ * io + itwdf_ * ro; + ro = rx; + + rtws[p + j] = re + ro; + itws[p + j] = ie + io; + + rtws[p + j + s] = re - ro; + itws[p + j + s] = ie - io; + + /* jshint maxdepth : false */ + if (j !== l) { + rx = rtwdf * rtwdf_ - itwdf * itwdf_; + + itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; + rtwdf_ = rx; + } + } + } + } + }; + + FFTM.prototype.guessLen13b = function guessLen13b (n, m) { + var N = Math.max(m, n) | 1; + var odd = N & 1; + var i = 0; + for (N = N / 2 | 0; N; N = N >>> 1) { + i++; + } + + return 1 << i + 1 + odd; + }; + + FFTM.prototype.conjugate = function conjugate (rws, iws, N) { + if (N <= 1) return; + + for (var i = 0; i < N / 2; i++) { + var t = rws[i]; + + rws[i] = rws[N - i - 1]; + rws[N - i - 1] = t; + + t = iws[i]; + + iws[i] = -iws[N - i - 1]; + iws[N - i - 1] = -t; + } + }; + + FFTM.prototype.normalize13b = function normalize13b (ws, N) { + var carry = 0; + for (var i = 0; i < N / 2; i++) { + var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + + Math.round(ws[2 * i] / N) + + carry; + + ws[i] = w & 0x3ffffff; + + if (w < 0x4000000) { + carry = 0; + } else { + carry = w / 0x4000000 | 0; + } + } + + return ws; + }; + + FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { + var carry = 0; + for (var i = 0; i < len; i++) { + carry = carry + (ws[i] | 0); + + rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; + rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; + } + + // Pad with zeroes + for (i = 2 * len; i < N; ++i) { + rws[i] = 0; + } + + assert(carry === 0); + assert((carry & ~0x1fff) === 0); + }; + + FFTM.prototype.stub = function stub (N) { + var ph = new Array(N); + for (var i = 0; i < N; i++) { + ph[i] = 0; + } + + return ph; + }; + + FFTM.prototype.mulp = function mulp (x, y, out) { + var N = 2 * this.guessLen13b(x.length, y.length); + + var rbt = this.makeRBT(N); + + var _ = this.stub(N); + + var rws = new Array(N); + var rwst = new Array(N); + var iwst = new Array(N); + + var nrws = new Array(N); + var nrwst = new Array(N); + var niwst = new Array(N); + + var rmws = out.words; + rmws.length = N; + + this.convert13b(x.words, x.length, rws, N); + this.convert13b(y.words, y.length, nrws, N); + + this.transform(rws, _, rwst, iwst, N, rbt); + this.transform(nrws, _, nrwst, niwst, N, rbt); + + for (var i = 0; i < N; i++) { + var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; + iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; + rwst[i] = rx; + } + + this.conjugate(rwst, iwst, N); + this.transform(rwst, iwst, rmws, _, N, rbt); + this.conjugate(rmws, _, N); + this.normalize13b(rmws, N); + + out.negative = x.negative ^ y.negative; + out.length = x.length + y.length; + return out.strip(); + }; + + // Multiply `this` by `num` + BN.prototype.mul = function mul (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return this.mulTo(num, out); + }; + + // Multiply employing FFT + BN.prototype.mulf = function mulf (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return jumboMulTo(this, num, out); + }; + + // In-place Multiplication + BN.prototype.imul = function imul (num) { + return this.clone().mulTo(num, this); + }; + + BN.prototype.imuln = function imuln (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + + // Carry + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = (this.words[i] | 0) * num; + var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); + carry >>= 26; + carry += (w / 0x4000000) | 0; + // NOTE: lo is 27bit maximum + carry += lo >>> 26; + this.words[i] = lo & 0x3ffffff; + } + + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + + return this; + }; + + BN.prototype.muln = function muln (num) { + return this.clone().imuln(num); + }; + + // `this` * `this` + BN.prototype.sqr = function sqr () { + return this.mul(this); + }; + + // `this` * `this` in-place + BN.prototype.isqr = function isqr () { + return this.imul(this.clone()); + }; + + // Math.pow(`this`, `num`) + BN.prototype.pow = function pow (num) { + var w = toBitArray(num); + if (w.length === 0) return new BN(1); + + // Skip leading zeroes + var res = this; + for (var i = 0; i < w.length; i++, res = res.sqr()) { + if (w[i] !== 0) break; + } + + if (++i < w.length) { + for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { + if (w[i] === 0) continue; + + res = res.mul(q); + } + } + + return res; + }; + + // Shift-left in-place + BN.prototype.iushln = function iushln (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); + var i; + + if (r !== 0) { + var carry = 0; + + for (i = 0; i < this.length; i++) { + var newCarry = this.words[i] & carryMask; + var c = ((this.words[i] | 0) - newCarry) << r; + this.words[i] = c | carry; + carry = newCarry >>> (26 - r); + } + + if (carry) { + this.words[i] = carry; + this.length++; + } + } + + if (s !== 0) { + for (i = this.length - 1; i >= 0; i--) { + this.words[i + s] = this.words[i]; + } + + for (i = 0; i < s; i++) { + this.words[i] = 0; + } + + this.length += s; + } + + return this.strip(); + }; + + BN.prototype.ishln = function ishln (bits) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushln(bits); + }; + + // Shift-right in-place + // NOTE: `hint` is a lowest bit before trailing zeroes + // NOTE: if `extended` is present - it will be filled with destroyed bits + BN.prototype.iushrn = function iushrn (bits, hint, extended) { + assert(typeof bits === 'number' && bits >= 0); + var h; + if (hint) { + h = (hint - (hint % 26)) / 26; + } else { + h = 0; + } + + var r = bits % 26; + var s = Math.min((bits - r) / 26, this.length); + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + var maskedWords = extended; + + h -= s; + h = Math.max(0, h); + + // Extended mode, copy masked part + if (maskedWords) { + for (var i = 0; i < s; i++) { + maskedWords.words[i] = this.words[i]; + } + maskedWords.length = s; + } + + if (s === 0) { + // No-op, we should not move anything at all + } else if (this.length > s) { + this.length -= s; + for (i = 0; i < this.length; i++) { + this.words[i] = this.words[i + s]; + } + } else { + this.words[0] = 0; + this.length = 1; + } + + var carry = 0; + for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { + var word = this.words[i] | 0; + this.words[i] = (carry << (26 - r)) | (word >>> r); + carry = word & mask; + } + + // Push carried bits as a mask + if (maskedWords && carry !== 0) { + maskedWords.words[maskedWords.length++] = carry; + } + + if (this.length === 0) { + this.words[0] = 0; + this.length = 1; + } + + return this.strip(); + }; + + BN.prototype.ishrn = function ishrn (bits, hint, extended) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushrn(bits, hint, extended); + }; + + // Shift-left + BN.prototype.shln = function shln (bits) { + return this.clone().ishln(bits); + }; + + BN.prototype.ushln = function ushln (bits) { + return this.clone().iushln(bits); + }; + + // Shift-right + BN.prototype.shrn = function shrn (bits) { + return this.clone().ishrn(bits); + }; + + BN.prototype.ushrn = function ushrn (bits) { + return this.clone().iushrn(bits); + }; + + // Test if n bit is set + BN.prototype.testn = function testn (bit) { + assert(typeof bit === 'number' && bit >= 0); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) return false; + + // Check bit and return + var w = this.words[s]; + + return !!(w & q); + }; + + // Return only lowers bits of number (in-place) + BN.prototype.imaskn = function imaskn (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + + assert(this.negative === 0, 'imaskn works only with positive numbers'); + + if (this.length <= s) { + return this; + } + + if (r !== 0) { + s++; + } + this.length = Math.min(s, this.length); + + if (r !== 0) { + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + this.words[this.length - 1] &= mask; + } + + return this.strip(); + }; + + // Return only lowers bits of number + BN.prototype.maskn = function maskn (bits) { + return this.clone().imaskn(bits); + }; + + // Add plain number `num` to `this` + BN.prototype.iaddn = function iaddn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.isubn(-num); + + // Possible sign change + if (this.negative !== 0) { + if (this.length === 1 && (this.words[0] | 0) < num) { + this.words[0] = num - (this.words[0] | 0); + this.negative = 0; + return this; + } + + this.negative = 0; + this.isubn(num); + this.negative = 1; + return this; + } + + // Add without checks + return this._iaddn(num); + }; + + BN.prototype._iaddn = function _iaddn (num) { + this.words[0] += num; + + // Carry + for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { + this.words[i] -= 0x4000000; + if (i === this.length - 1) { + this.words[i + 1] = 1; + } else { + this.words[i + 1]++; + } + } + this.length = Math.max(this.length, i + 1); + + return this; + }; + + // Subtract plain number `num` from `this` + BN.prototype.isubn = function isubn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.iaddn(-num); + + if (this.negative !== 0) { + this.negative = 0; + this.iaddn(num); + this.negative = 1; + return this; + } + + this.words[0] -= num; + + if (this.length === 1 && this.words[0] < 0) { + this.words[0] = -this.words[0]; + this.negative = 1; + } else { + // Carry + for (var i = 0; i < this.length && this.words[i] < 0; i++) { + this.words[i] += 0x4000000; + this.words[i + 1] -= 1; + } + } + + return this.strip(); + }; + + BN.prototype.addn = function addn (num) { + return this.clone().iaddn(num); + }; + + BN.prototype.subn = function subn (num) { + return this.clone().isubn(num); + }; + + BN.prototype.iabs = function iabs () { + this.negative = 0; + + return this; + }; + + BN.prototype.abs = function abs () { + return this.clone().iabs(); + }; + + BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { + var len = num.length + shift; + var i; + + this._expand(len); + + var w; + var carry = 0; + for (i = 0; i < num.length; i++) { + w = (this.words[i + shift] | 0) + carry; + var right = (num.words[i] | 0) * mul; + w -= right & 0x3ffffff; + carry = (w >> 26) - ((right / 0x4000000) | 0); + this.words[i + shift] = w & 0x3ffffff; + } + for (; i < this.length - shift; i++) { + w = (this.words[i + shift] | 0) + carry; + carry = w >> 26; + this.words[i + shift] = w & 0x3ffffff; + } + + if (carry === 0) return this.strip(); + + // Subtraction overflow + assert(carry === -1); + carry = 0; + for (i = 0; i < this.length; i++) { + w = -(this.words[i] | 0) + carry; + carry = w >> 26; + this.words[i] = w & 0x3ffffff; + } + this.negative = 1; + + return this.strip(); + }; + + BN.prototype._wordDiv = function _wordDiv (num, mode) { + var shift = this.length - num.length; + + var a = this.clone(); + var b = num; + + // Normalize + var bhi = b.words[b.length - 1] | 0; + var bhiBits = this._countBits(bhi); + shift = 26 - bhiBits; + if (shift !== 0) { + b = b.ushln(shift); + a.iushln(shift); + bhi = b.words[b.length - 1] | 0; + } + + // Initialize quotient + var m = a.length - b.length; + var q; + + if (mode !== 'mod') { + q = new BN(null); + q.length = m + 1; + q.words = new Array(q.length); + for (var i = 0; i < q.length; i++) { + q.words[i] = 0; + } + } + + var diff = a.clone()._ishlnsubmul(b, 1, m); + if (diff.negative === 0) { + a = diff; + if (q) { + q.words[m] = 1; + } + } + + for (var j = m - 1; j >= 0; j--) { + var qj = (a.words[b.length + j] | 0) * 0x4000000 + + (a.words[b.length + j - 1] | 0); + + // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max + // (0x7ffffff) + qj = Math.min((qj / bhi) | 0, 0x3ffffff); + + a._ishlnsubmul(b, qj, j); + while (a.negative !== 0) { + qj--; + a.negative = 0; + a._ishlnsubmul(b, 1, j); + if (!a.isZero()) { + a.negative ^= 1; + } + } + if (q) { + q.words[j] = qj; + } + } + if (q) { + q.strip(); + } + a.strip(); + + // Denormalize + if (mode !== 'div' && shift !== 0) { + a.iushrn(shift); + } + + return { + div: q || null, + mod: a + }; + }; + + // NOTE: 1) `mode` can be set to `mod` to request mod only, + // to `div` to request div only, or be absent to + // request both div & mod + // 2) `positive` is true if unsigned mod is requested + BN.prototype.divmod = function divmod (num, mode, positive) { + assert(!num.isZero()); + + if (this.isZero()) { + return { + div: new BN(0), + mod: new BN(0) + }; + } + + var div, mod, res; + if (this.negative !== 0 && num.negative === 0) { + res = this.neg().divmod(num, mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.iadd(num); + } + } + + return { + div: div, + mod: mod + }; + } + + if (this.negative === 0 && num.negative !== 0) { + res = this.divmod(num.neg(), mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + return { + div: div, + mod: res.mod + }; + } + + if ((this.negative & num.negative) !== 0) { + res = this.neg().divmod(num.neg(), mode); + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.isub(num); + } + } + + return { + div: res.div, + mod: mod + }; + } + + // Both numbers are positive at this point + + // Strip both numbers to approximate shift value + if (num.length > this.length || this.cmp(num) < 0) { + return { + div: new BN(0), + mod: this + }; + } + + // Very short reduction + if (num.length === 1) { + if (mode === 'div') { + return { + div: this.divn(num.words[0]), + mod: null + }; + } + + if (mode === 'mod') { + return { + div: null, + mod: new BN(this.modn(num.words[0])) + }; + } + + return { + div: this.divn(num.words[0]), + mod: new BN(this.modn(num.words[0])) + }; + } + + return this._wordDiv(num, mode); + }; + + // Find `this` / `num` + BN.prototype.div = function div (num) { + return this.divmod(num, 'div', false).div; + }; + + // Find `this` % `num` + BN.prototype.mod = function mod (num) { + return this.divmod(num, 'mod', false).mod; + }; + + BN.prototype.umod = function umod (num) { + return this.divmod(num, 'mod', true).mod; + }; + + // Find Round(`this` / `num`) + BN.prototype.divRound = function divRound (num) { + var dm = this.divmod(num); + + // Fast case - exact division + if (dm.mod.isZero()) return dm.div; + + var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; + + var half = num.ushrn(1); + var r2 = num.andln(1); + var cmp = mod.cmp(half); + + // Round down + if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; + + // Round up + return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); + }; + + BN.prototype.modn = function modn (num) { + assert(num <= 0x3ffffff); + var p = (1 << 26) % num; + + var acc = 0; + for (var i = this.length - 1; i >= 0; i--) { + acc = (p * acc + (this.words[i] | 0)) % num; + } + + return acc; + }; + + // In-place division by number + BN.prototype.idivn = function idivn (num) { + assert(num <= 0x3ffffff); + + var carry = 0; + for (var i = this.length - 1; i >= 0; i--) { + var w = (this.words[i] | 0) + carry * 0x4000000; + this.words[i] = (w / num) | 0; + carry = w % num; + } + + return this.strip(); + }; + + BN.prototype.divn = function divn (num) { + return this.clone().idivn(num); + }; + + BN.prototype.egcd = function egcd (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var x = this; + var y = p.clone(); + + if (x.negative !== 0) { + x = x.umod(p); + } else { + x = x.clone(); + } + + // A * x + B * y = x + var A = new BN(1); + var B = new BN(0); + + // C * x + D * y = y + var C = new BN(0); + var D = new BN(1); + + var g = 0; + + while (x.isEven() && y.isEven()) { + x.iushrn(1); + y.iushrn(1); + ++g; + } + + var yp = y.clone(); + var xp = x.clone(); + + while (!x.isZero()) { + for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + x.iushrn(i); + while (i-- > 0) { + if (A.isOdd() || B.isOdd()) { + A.iadd(yp); + B.isub(xp); + } + + A.iushrn(1); + B.iushrn(1); + } + } + + for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + y.iushrn(j); + while (j-- > 0) { + if (C.isOdd() || D.isOdd()) { + C.iadd(yp); + D.isub(xp); + } + + C.iushrn(1); + D.iushrn(1); + } + } + + if (x.cmp(y) >= 0) { + x.isub(y); + A.isub(C); + B.isub(D); + } else { + y.isub(x); + C.isub(A); + D.isub(B); + } + } + + return { + a: C, + b: D, + gcd: y.iushln(g) + }; + }; + + // This is reduced incarnation of the binary EEA + // above, designated to invert members of the + // _prime_ fields F(p) at a maximal speed + BN.prototype._invmp = function _invmp (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var a = this; + var b = p.clone(); + + if (a.negative !== 0) { + a = a.umod(p); + } else { + a = a.clone(); + } + + var x1 = new BN(1); + var x2 = new BN(0); + + var delta = b.clone(); + + while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { + for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + a.iushrn(i); + while (i-- > 0) { + if (x1.isOdd()) { + x1.iadd(delta); + } + + x1.iushrn(1); + } + } + + for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + b.iushrn(j); + while (j-- > 0) { + if (x2.isOdd()) { + x2.iadd(delta); + } + + x2.iushrn(1); + } + } + + if (a.cmp(b) >= 0) { + a.isub(b); + x1.isub(x2); + } else { + b.isub(a); + x2.isub(x1); + } + } + + var res; + if (a.cmpn(1) === 0) { + res = x1; + } else { + res = x2; + } + + if (res.cmpn(0) < 0) { + res.iadd(p); + } + + return res; + }; + + BN.prototype.gcd = function gcd (num) { + if (this.isZero()) return num.abs(); + if (num.isZero()) return this.abs(); + + var a = this.clone(); + var b = num.clone(); + a.negative = 0; + b.negative = 0; + + // Remove common factor of two + for (var shift = 0; a.isEven() && b.isEven(); shift++) { + a.iushrn(1); + b.iushrn(1); + } + + do { + while (a.isEven()) { + a.iushrn(1); + } + while (b.isEven()) { + b.iushrn(1); + } + + var r = a.cmp(b); + if (r < 0) { + // Swap `a` and `b` to make `a` always bigger than `b` + var t = a; + a = b; + b = t; + } else if (r === 0 || b.cmpn(1) === 0) { + break; + } + + a.isub(b); + } while (true); + + return b.iushln(shift); + }; + + // Invert number in the field F(num) + BN.prototype.invm = function invm (num) { + return this.egcd(num).a.umod(num); + }; + + BN.prototype.isEven = function isEven () { + return (this.words[0] & 1) === 0; + }; + + BN.prototype.isOdd = function isOdd () { + return (this.words[0] & 1) === 1; + }; + + // And first word and num + BN.prototype.andln = function andln (num) { + return this.words[0] & num; + }; + + // Increment at the bit position in-line + BN.prototype.bincn = function bincn (bit) { + assert(typeof bit === 'number'); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) { + this._expand(s + 1); + this.words[s] |= q; + return this; + } + + // Add bit and propagate, if needed + var carry = q; + for (var i = s; carry !== 0 && i < this.length; i++) { + var w = this.words[i] | 0; + w += carry; + carry = w >>> 26; + w &= 0x3ffffff; + this.words[i] = w; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return this; + }; + + BN.prototype.isZero = function isZero () { + return this.length === 1 && this.words[0] === 0; + }; + + BN.prototype.cmpn = function cmpn (num) { + var negative = num < 0; + + if (this.negative !== 0 && !negative) return -1; + if (this.negative === 0 && negative) return 1; + + this.strip(); + + var res; + if (this.length > 1) { + res = 1; + } else { + if (negative) { + num = -num; + } + + assert(num <= 0x3ffffff, 'Number is too big'); + + var w = this.words[0] | 0; + res = w === num ? 0 : w < num ? -1 : 1; + } + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Compare two numbers and return: + // 1 - if `this` > `num` + // 0 - if `this` == `num` + // -1 - if `this` < `num` + BN.prototype.cmp = function cmp (num) { + if (this.negative !== 0 && num.negative === 0) return -1; + if (this.negative === 0 && num.negative !== 0) return 1; + + var res = this.ucmp(num); + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Unsigned comparison + BN.prototype.ucmp = function ucmp (num) { + // At this point both numbers have the same sign + if (this.length > num.length) return 1; + if (this.length < num.length) return -1; + + var res = 0; + for (var i = this.length - 1; i >= 0; i--) { + var a = this.words[i] | 0; + var b = num.words[i] | 0; + + if (a === b) continue; + if (a < b) { + res = -1; + } else if (a > b) { + res = 1; + } + break; + } + return res; + }; + + BN.prototype.gtn = function gtn (num) { + return this.cmpn(num) === 1; + }; + + BN.prototype.gt = function gt (num) { + return this.cmp(num) === 1; + }; + + BN.prototype.gten = function gten (num) { + return this.cmpn(num) >= 0; + }; + + BN.prototype.gte = function gte (num) { + return this.cmp(num) >= 0; + }; + + BN.prototype.ltn = function ltn (num) { + return this.cmpn(num) === -1; + }; + + BN.prototype.lt = function lt (num) { + return this.cmp(num) === -1; + }; + + BN.prototype.lten = function lten (num) { + return this.cmpn(num) <= 0; + }; + + BN.prototype.lte = function lte (num) { + return this.cmp(num) <= 0; + }; + + BN.prototype.eqn = function eqn (num) { + return this.cmpn(num) === 0; + }; + + BN.prototype.eq = function eq (num) { + return this.cmp(num) === 0; + }; + + // + // A reduce context, could be using montgomery or something better, depending + // on the `m` itself. + // + BN.red = function red (num) { + return new Red(num); + }; + + BN.prototype.toRed = function toRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + assert(this.negative === 0, 'red works only with positives'); + return ctx.convertTo(this)._forceRed(ctx); + }; + + BN.prototype.fromRed = function fromRed () { + assert(this.red, 'fromRed works only with numbers in reduction context'); + return this.red.convertFrom(this); + }; + + BN.prototype._forceRed = function _forceRed (ctx) { + this.red = ctx; + return this; + }; + + BN.prototype.forceRed = function forceRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + return this._forceRed(ctx); + }; + + BN.prototype.redAdd = function redAdd (num) { + assert(this.red, 'redAdd works only with red numbers'); + return this.red.add(this, num); + }; + + BN.prototype.redIAdd = function redIAdd (num) { + assert(this.red, 'redIAdd works only with red numbers'); + return this.red.iadd(this, num); + }; + + BN.prototype.redSub = function redSub (num) { + assert(this.red, 'redSub works only with red numbers'); + return this.red.sub(this, num); + }; + + BN.prototype.redISub = function redISub (num) { + assert(this.red, 'redISub works only with red numbers'); + return this.red.isub(this, num); + }; + + BN.prototype.redShl = function redShl (num) { + assert(this.red, 'redShl works only with red numbers'); + return this.red.shl(this, num); + }; + + BN.prototype.redMul = function redMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.mul(this, num); + }; + + BN.prototype.redIMul = function redIMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.imul(this, num); + }; + + BN.prototype.redSqr = function redSqr () { + assert(this.red, 'redSqr works only with red numbers'); + this.red._verify1(this); + return this.red.sqr(this); + }; + + BN.prototype.redISqr = function redISqr () { + assert(this.red, 'redISqr works only with red numbers'); + this.red._verify1(this); + return this.red.isqr(this); + }; + + // Square root over p + BN.prototype.redSqrt = function redSqrt () { + assert(this.red, 'redSqrt works only with red numbers'); + this.red._verify1(this); + return this.red.sqrt(this); + }; + + BN.prototype.redInvm = function redInvm () { + assert(this.red, 'redInvm works only with red numbers'); + this.red._verify1(this); + return this.red.invm(this); + }; + + // Return negative clone of `this` % `red modulo` + BN.prototype.redNeg = function redNeg () { + assert(this.red, 'redNeg works only with red numbers'); + this.red._verify1(this); + return this.red.neg(this); + }; + + BN.prototype.redPow = function redPow (num) { + assert(this.red && !num.red, 'redPow(normalNum)'); + this.red._verify1(this); + return this.red.pow(this, num); + }; + + // Prime numbers with efficient reduction + var primes = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + + // Pseudo-Mersenne prime + function MPrime (name, p) { + // P = 2 ^ N - K + this.name = name; + this.p = new BN(p, 16); + this.n = this.p.bitLength(); + this.k = new BN(1).iushln(this.n).isub(this.p); + + this.tmp = this._tmp(); + } + + MPrime.prototype._tmp = function _tmp () { + var tmp = new BN(null); + tmp.words = new Array(Math.ceil(this.n / 13)); + return tmp; + }; + + MPrime.prototype.ireduce = function ireduce (num) { + // Assumes that `num` is less than `P^2` + // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) + var r = num; + var rlen; + + do { + this.split(r, this.tmp); + r = this.imulK(r); + r = r.iadd(this.tmp); + rlen = r.bitLength(); + } while (rlen > this.n); + + var cmp = rlen < this.n ? -1 : r.ucmp(this.p); + if (cmp === 0) { + r.words[0] = 0; + r.length = 1; + } else if (cmp > 0) { + r.isub(this.p); + } else { + if (r.strip !== undefined) { + // r is BN v4 instance + r.strip(); + } else { + // r is BN v5 instance + r._strip(); + } + } + + return r; + }; + + MPrime.prototype.split = function split (input, out) { + input.iushrn(this.n, 0, out); + }; + + MPrime.prototype.imulK = function imulK (num) { + return num.imul(this.k); + }; + + function K256 () { + MPrime.call( + this, + 'k256', + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); + } + inherits(K256, MPrime); + + K256.prototype.split = function split (input, output) { + // 256 = 9 * 26 + 22 + var mask = 0x3fffff; + + var outLen = Math.min(input.length, 9); + for (var i = 0; i < outLen; i++) { + output.words[i] = input.words[i]; + } + output.length = outLen; + + if (input.length <= 9) { + input.words[0] = 0; + input.length = 1; + return; + } + + // Shift by 9 limbs + var prev = input.words[9]; + output.words[output.length++] = prev & mask; + + for (i = 10; i < input.length; i++) { + var next = input.words[i] | 0; + input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); + prev = next; + } + prev >>>= 22; + input.words[i - 10] = prev; + if (prev === 0 && input.length > 10) { + input.length -= 10; + } else { + input.length -= 9; + } + }; + + K256.prototype.imulK = function imulK (num) { + // K = 0x1000003d1 = [ 0x40, 0x3d1 ] + num.words[num.length] = 0; + num.words[num.length + 1] = 0; + num.length += 2; + + // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 + var lo = 0; + for (var i = 0; i < num.length; i++) { + var w = num.words[i] | 0; + lo += w * 0x3d1; + num.words[i] = lo & 0x3ffffff; + lo = w * 0x40 + ((lo / 0x4000000) | 0); + } + + // Fast length reduction + if (num.words[num.length - 1] === 0) { + num.length--; + if (num.words[num.length - 1] === 0) { + num.length--; + } + } + return num; + }; + + function P224 () { + MPrime.call( + this, + 'p224', + 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); + } + inherits(P224, MPrime); + + function P192 () { + MPrime.call( + this, + 'p192', + 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); + } + inherits(P192, MPrime); + + function P25519 () { + // 2 ^ 255 - 19 + MPrime.call( + this, + '25519', + '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); + } + inherits(P25519, MPrime); + + P25519.prototype.imulK = function imulK (num) { + // K = 0x13 + var carry = 0; + for (var i = 0; i < num.length; i++) { + var hi = (num.words[i] | 0) * 0x13 + carry; + var lo = hi & 0x3ffffff; + hi >>>= 26; + + num.words[i] = lo; + carry = hi; + } + if (carry !== 0) { + num.words[num.length++] = carry; + } + return num; + }; + + // Exported mostly for testing purposes, use plain name instead + BN._prime = function prime (name) { + // Cached version of prime + if (primes[name]) return primes[name]; + + var prime; + if (name === 'k256') { + prime = new K256(); + } else if (name === 'p224') { + prime = new P224(); + } else if (name === 'p192') { + prime = new P192(); + } else if (name === 'p25519') { + prime = new P25519(); + } else { + throw new Error('Unknown prime ' + name); + } + primes[name] = prime; + + return prime; + }; + + // + // Base reduction engine + // + function Red (m) { + if (typeof m === 'string') { + var prime = BN._prime(m); + this.m = prime.p; + this.prime = prime; + } else { + assert(m.gtn(1), 'modulus must be greater than 1'); + this.m = m; + this.prime = null; + } + } + + Red.prototype._verify1 = function _verify1 (a) { + assert(a.negative === 0, 'red works only with positives'); + assert(a.red, 'red works only with red numbers'); + }; + + Red.prototype._verify2 = function _verify2 (a, b) { + assert((a.negative | b.negative) === 0, 'red works only with positives'); + assert(a.red && a.red === b.red, + 'red works only with red numbers'); + }; + + Red.prototype.imod = function imod (a) { + if (this.prime) return this.prime.ireduce(a)._forceRed(this); + return a.umod(this.m)._forceRed(this); + }; + + Red.prototype.neg = function neg (a) { + if (a.isZero()) { + return a.clone(); + } + + return this.m.sub(a)._forceRed(this); + }; + + Red.prototype.add = function add (a, b) { + this._verify2(a, b); + + var res = a.add(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.iadd = function iadd (a, b) { + this._verify2(a, b); + + var res = a.iadd(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res; + }; + + Red.prototype.sub = function sub (a, b) { + this._verify2(a, b); + + var res = a.sub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.isub = function isub (a, b) { + this._verify2(a, b); + + var res = a.isub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res; + }; + + Red.prototype.shl = function shl (a, num) { + this._verify1(a); + return this.imod(a.ushln(num)); + }; + + Red.prototype.imul = function imul (a, b) { + this._verify2(a, b); + return this.imod(a.imul(b)); + }; + + Red.prototype.mul = function mul (a, b) { + this._verify2(a, b); + return this.imod(a.mul(b)); + }; + + Red.prototype.isqr = function isqr (a) { + return this.imul(a, a.clone()); + }; + + Red.prototype.sqr = function sqr (a) { + return this.mul(a, a); + }; + + Red.prototype.sqrt = function sqrt (a) { + if (a.isZero()) return a.clone(); + + var mod3 = this.m.andln(3); + assert(mod3 % 2 === 1); + + // Fast case + if (mod3 === 3) { + var pow = this.m.add(new BN(1)).iushrn(2); + return this.pow(a, pow); + } + + // Tonelli-Shanks algorithm (Totally unoptimized and slow) + // + // Find Q and S, that Q * 2 ^ S = (P - 1) + var q = this.m.subn(1); + var s = 0; + while (!q.isZero() && q.andln(1) === 0) { + s++; + q.iushrn(1); + } + assert(!q.isZero()); + + var one = new BN(1).toRed(this); + var nOne = one.redNeg(); + + // Find quadratic non-residue + // NOTE: Max is such because of generalized Riemann hypothesis. + var lpow = this.m.subn(1).iushrn(1); + var z = this.m.bitLength(); + z = new BN(2 * z * z).toRed(this); + + while (this.pow(z, lpow).cmp(nOne) !== 0) { + z.redIAdd(nOne); + } + + var c = this.pow(z, q); + var r = this.pow(a, q.addn(1).iushrn(1)); + var t = this.pow(a, q); + var m = s; + while (t.cmp(one) !== 0) { + var tmp = t; + for (var i = 0; tmp.cmp(one) !== 0; i++) { + tmp = tmp.redSqr(); + } + assert(i < m); + var b = this.pow(c, new BN(1).iushln(m - i - 1)); + + r = r.redMul(b); + c = b.redSqr(); + t = t.redMul(c); + m = i; + } + + return r; + }; + + Red.prototype.invm = function invm (a) { + var inv = a._invmp(this.m); + if (inv.negative !== 0) { + inv.negative = 0; + return this.imod(inv).redNeg(); + } else { + return this.imod(inv); + } + }; + + Red.prototype.pow = function pow (a, num) { + if (num.isZero()) return new BN(1).toRed(this); + if (num.cmpn(1) === 0) return a.clone(); + + var windowSize = 4; + var wnd = new Array(1 << windowSize); + wnd[0] = new BN(1).toRed(this); + wnd[1] = a; + for (var i = 2; i < wnd.length; i++) { + wnd[i] = this.mul(wnd[i - 1], a); + } + + var res = wnd[0]; + var current = 0; + var currentLen = 0; + var start = num.bitLength() % 26; + if (start === 0) { + start = 26; + } + + for (i = num.length - 1; i >= 0; i--) { + var word = num.words[i]; + for (var j = start - 1; j >= 0; j--) { + var bit = (word >> j) & 1; + if (res !== wnd[0]) { + res = this.sqr(res); + } + + if (bit === 0 && current === 0) { + currentLen = 0; + continue; + } + + current <<= 1; + current |= bit; + currentLen++; + if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; + + res = this.mul(res, wnd[current]); + currentLen = 0; + current = 0; + } + start = 26; + } + + return res; + }; + + Red.prototype.convertTo = function convertTo (num) { + var r = num.umod(this.m); + + return r === num ? r.clone() : r; + }; + + Red.prototype.convertFrom = function convertFrom (num) { + var res = num.clone(); + res.red = null; + return res; + }; + + // + // Montgomery method engine + // + + BN.mont = function mont (num) { + return new Mont(num); + }; + + function Mont (m) { + Red.call(this, m); + + this.shift = this.m.bitLength(); + if (this.shift % 26 !== 0) { + this.shift += 26 - (this.shift % 26); + } + + this.r = new BN(1).iushln(this.shift); + this.r2 = this.imod(this.r.sqr()); + this.rinv = this.r._invmp(this.m); + + this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); + this.minv = this.minv.umod(this.r); + this.minv = this.r.sub(this.minv); + } + inherits(Mont, Red); + + Mont.prototype.convertTo = function convertTo (num) { + return this.imod(num.ushln(this.shift)); + }; + + Mont.prototype.convertFrom = function convertFrom (num) { + var r = this.imod(num.mul(this.rinv)); + r.red = null; + return r; + }; + + Mont.prototype.imul = function imul (a, b) { + if (a.isZero() || b.isZero()) { + a.words[0] = 0; + a.length = 1; + return a; + } + + var t = a.imul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.mul = function mul (a, b) { + if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); + + var t = a.mul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.invm = function invm (a) { + // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R + var res = this.imod(a._invmp(this.m).mul(this.r2)); + return res._forceRed(this); + }; +})('object' === 'undefined' || module, commonjsGlobal); +}); + var utils_1 = createCommonjsModule(function (module, exports) { 'use strict'; @@ -10710,7 +14153,7 @@ function parseBytes(bytes) { utils.parseBytes = parseBytes; function intFromLE(bytes) { - return new bn(bytes, 'hex', 'le'); + return new bn$1(bytes, 'hex', 'le'); } utils.intFromLE = intFromLE; }); @@ -10727,18 +14170,18 @@ var assert$1 = utils_1$1.assert; function BaseCurve(type, conf) { this.type = type; - this.p = new bn(conf.p, 16); + this.p = new bn$1(conf.p, 16); // Use Montgomery, when there is no fast reduction for the prime - this.red = conf.prime ? bn.red(conf.prime) : bn.mont(this.p); + this.red = conf.prime ? bn$1.red(conf.prime) : bn$1.mont(this.p); // Useful for many curves - this.zero = new bn(0).toRed(this.red); - this.one = new bn(1).toRed(this.red); - this.two = new bn(2).toRed(this.red); + this.zero = new bn$1(0).toRed(this.red); + this.one = new bn$1(1).toRed(this.red); + this.two = new bn$1(2).toRed(this.red); // Curve configuration, optional - this.n = conf.n && new bn(conf.n, 16); + this.n = conf.n && new bn$1(conf.n, 16); this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed); // Temporary arrays @@ -11106,8 +14549,8 @@ var assert$2 = utils_1$1.assert; function ShortCurve(conf) { base.call(this, 'short', conf); - this.a = new bn(conf.a, 16).toRed(this.red); - this.b = new bn(conf.b, 16).toRed(this.red); + this.a = new bn$1(conf.a, 16).toRed(this.red); + this.b = new bn$1(conf.b, 16).toRed(this.red); this.tinv = this.two.redInvm(); this.zeroA = this.a.fromRed().cmpn(0) === 0; @@ -11130,7 +14573,7 @@ ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { var beta; var lambda; if (conf.beta) { - beta = new bn(conf.beta, 16).toRed(this.red); + beta = new bn$1(conf.beta, 16).toRed(this.red); } else { var betas = this._getEndoRoots(this.p); // Choose the smallest beta @@ -11138,7 +14581,7 @@ ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { beta = beta.toRed(this.red); } if (conf.lambda) { - lambda = new bn(conf.lambda, 16); + lambda = new bn$1(conf.lambda, 16); } else { // Choose the lambda that is matching selected beta var lambdas = this._getEndoRoots(this.n); @@ -11155,8 +14598,8 @@ ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) { if (conf.basis) { basis = conf.basis.map(function(vec) { return { - a: new bn(vec.a, 16), - b: new bn(vec.b, 16) + a: new bn$1(vec.a, 16), + b: new bn$1(vec.b, 16) }; }); } else { @@ -11174,11 +14617,11 @@ ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) { // Find roots of for x^2 + x + 1 in F // Root = (-1 +- Sqrt(-3)) / 2 // - var red = num === this.p ? this.red : bn.mont(num); - var tinv = new bn(2).toRed(red).redInvm(); + var red = num === this.p ? this.red : bn$1.mont(num); + var tinv = new bn$1(2).toRed(red).redInvm(); var ntinv = tinv.redNeg(); - var s = new bn(3).toRed(red).redNeg().redSqrt().redMul(tinv); + var s = new bn$1(3).toRed(red).redNeg().redSqrt().redMul(tinv); var l1 = ntinv.redAdd(s).fromRed(); var l2 = ntinv.redSub(s).fromRed(); @@ -11193,10 +14636,10 @@ ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) { // Run EGCD, until r(L + 1) < aprxSqrt var u = lambda; var v = this.n.clone(); - var x1 = new bn(1); - var y1 = new bn(0); - var x2 = new bn(0); - var y2 = new bn(1); + var x1 = new bn$1(1); + var y1 = new bn$1(0); + var x2 = new bn$1(0); + var y2 = new bn$1(1); // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n) var a0; @@ -11281,7 +14724,7 @@ ShortCurve.prototype._endoSplit = function _endoSplit(k) { }; ShortCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new bn(x, 16); + x = new bn$1(x, 16); if (!x.red) x = x.toRed(this.red); @@ -11351,8 +14794,8 @@ function Point(curve, x, y, isRed) { this.y = null; this.inf = true; } else { - this.x = new bn(x, 16); - this.y = new bn(y, 16); + this.x = new bn$1(x, 16); + this.y = new bn$1(y, 16); // Force redgomery representation when loading from JSON if (isRed) { this.x.forceRed(this.curve.red); @@ -11516,7 +14959,7 @@ Point.prototype.getY = function getY() { }; Point.prototype.mul = function mul(k) { - k = new bn(k, 16); + k = new bn$1(k, 16); if (this.isInfinity()) return this; else if (this._hasDoubles(k)) @@ -11588,11 +15031,11 @@ function JPoint(curve, x, y, z) { if (x === null && y === null && z === null) { this.x = this.curve.one; this.y = this.curve.one; - this.z = new bn(0); + this.z = new bn$1(0); } else { - this.x = new bn(x, 16); - this.y = new bn(y, 16); - this.z = new bn(z, 16); + this.x = new bn$1(x, 16); + this.y = new bn$1(y, 16); + this.z = new bn$1(z, 16); } if (!this.x.red) this.x = this.x.toRed(this.curve.red); @@ -11976,7 +15419,7 @@ JPoint.prototype.trpl = function trpl() { }; JPoint.prototype.mul = function mul(k, kbase) { - k = new bn(k, kbase); + k = new bn$1(k, kbase); return this.curve._wnafMul(this, k); }; @@ -12448,7 +15891,7 @@ KeyPair.prototype.getPrivate = function getPrivate(enc) { }; KeyPair.prototype._importPrivate = function _importPrivate(key, enc) { - this.priv = new bn(key, enc || 16); + this.priv = new bn$1(key, enc || 16); // Ensure that the priv won't be bigger than n, otherwise we may fail // in fixed multiplication method @@ -12506,8 +15949,8 @@ function Signature(options, enc) { return; assert$4(options.r && options.s, 'Signature without r or s'); - this.r = new bn(options.r, 16); - this.s = new bn(options.s, 16); + this.r = new bn$1(options.r, 16); + this.s = new bn$1(options.s, 16); if (options.recoveryParam === undefined) this.recoveryParam = null; else @@ -12577,8 +16020,8 @@ Signature.prototype._importDER = function _importDER(data, enc) { s = s.slice(1); } - this.r = new bn(r); - this.s = new bn(s); + this.r = new bn$1(r); + this.s = new bn$1(s); this.recoveryParam = null; return true; @@ -12694,9 +16137,9 @@ EC.prototype.genKeyPair = function genKeyPair(options) { }); var bytes = this.n.byteLength(); - var ns2 = this.n.sub(new bn(2)); + var ns2 = this.n.sub(new bn$1(2)); do { - var priv = new bn(drbg.generate(bytes)); + var priv = new bn$1(drbg.generate(bytes)); if (priv.cmp(ns2) > 0) continue; @@ -12724,7 +16167,7 @@ EC.prototype.sign = function sign(msg, key, enc, options) { options = {}; key = this.keyFromPrivate(key, enc); - msg = this._truncateToN(new bn(msg, 16)); + msg = this._truncateToN(new bn$1(msg, 16)); // Zero-extend key to provide enough entropy var bytes = this.n.byteLength(); @@ -12743,12 +16186,12 @@ EC.prototype.sign = function sign(msg, key, enc, options) { }); // Number of bytes to generate - var ns1 = this.n.sub(new bn(1)); + var ns1 = this.n.sub(new bn$1(1)); for (var iter = 0; true; iter++) { var k = options.k ? options.k(iter) : - new bn(drbg.generate(this.n.byteLength())); + new bn$1(drbg.generate(this.n.byteLength())); k = this._truncateToN(k, true); if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) continue; @@ -12781,7 +16224,7 @@ EC.prototype.sign = function sign(msg, key, enc, options) { }; EC.prototype.verify = function verify(msg, signature$1, key, enc) { - msg = this._truncateToN(new bn(msg, 16)); + msg = this._truncateToN(new bn$1(msg, 16)); key = this.keyFromPublic(key, enc); signature$1 = new signature(signature$1, 'hex'); @@ -12824,7 +16267,7 @@ EC.prototype.recoverPubKey = function(msg, signature$1, j, enc) { signature$1 = new signature(signature$1, enc); var n = this.n; - var e = new bn(msg); + var e = new bn$1(msg); var r = signature$1.r; var s = signature$1.s; @@ -16159,7 +19602,7 @@ function poll(func, options) { }); } -const version$m = "providers/5.0.1"; +const version$m = "providers/5.0.2"; "use strict"; const logger$q = new Logger(version$m); @@ -16718,7 +20161,7 @@ class BaseProvider extends Provider { // Squash any "unhandled promise" errors; that do not need to be handled network.catch((error) => { }); // Trigger initial network setting (async) - this._ready(); + this._ready().catch((error) => { }); } else { const knownNetwork = getStatic((new.target), "getNetwork")(network); @@ -16772,7 +20215,17 @@ class BaseProvider extends Provider { // For "any", this can change (a "network" event is emitted before // any change is refelcted); otherwise this cannot change get ready() { - return this._ready(); + return poll(() => { + return this._ready().then((network) => { + return network; + }, (error) => { + // If the network isn't running yet, we will wait + if (error.code === Logger.errors.NETWORK_ERROR && error.event === "noNetwork") { + return undefined; + } + throw error; + }); + }); } // @TODO: Remove this and just create a singleton formatter static getFormatter() { @@ -16789,7 +20242,7 @@ class BaseProvider extends Provider { // than maxAge old or has been requested since the last request _getInternalBlockNumber(maxAge) { return __awaiter$6(this, void 0, void 0, function* () { - yield this.ready; + yield this._ready(); const internalBlockNumber = this._internalBlockNumber; if (maxAge > 0 && this._internalBlockNumber) { const result = yield internalBlockNumber; @@ -16844,6 +20297,7 @@ class BaseProvider extends Provider { logger$r.warn("network block skew detected; skipping block events"); this.emit("error", logger$r.makeError("network block skew detected", Logger.errors.NETWORK_ERROR, { blockNumber: blockNumber, + event: "blockSkew", previousBlockNumber: this._emitted.block })); this.emit("block", blockNumber); @@ -16945,7 +20399,7 @@ class BaseProvider extends Provider { } getNetwork() { return __awaiter$6(this, void 0, void 0, function* () { - const network = yield this.ready; + const network = yield this._ready(); // Make sure we are still connected to the same network; this is // only an external call for backends which can have the underlying // network change spontaneously @@ -17884,11 +21338,14 @@ class JsonRpcProvider extends BaseProvider { catch (error) { return logger$s.throwError("could not detect network", Logger.errors.NETWORK_ERROR, { chainId: chainId, + event: "invalidNetwork", serverError: error }); } } - return logger$s.throwError("could not detect network", Logger.errors.NETWORK_ERROR); + return logger$s.throwError("could not detect network", Logger.errors.NETWORK_ERROR, { + event: "noNetwork" + }); }); } getSigner(addressOrIndex) { @@ -19099,7 +22556,7 @@ var browserIpcProvider = { var _version$2 = createCommonjsModule(function (module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "providers/5.0.1"; +exports.version = "providers/5.0.2"; }); var _version$3 = unwrapExports(_version$2); @@ -19879,7 +23336,7 @@ var utils$1 = /*#__PURE__*/Object.freeze({ Indexed: Indexed }); -const version$o = "ethers/5.0.1"; +const version$o = "ethers/5.0.2"; "use strict"; const logger$E = new Logger(version$o); diff --git a/packages/ethers/dist/ethers.esm.min.js b/packages/ethers/dist/ethers.esm.min.js index 840e7546d..fa573e74e 100644 --- a/packages/ethers/dist/ethers.esm.min.js +++ b/packages/ethers/dist/ethers.esm.min.js @@ -1,4 +1,4 @@ -var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function r(t,e){return t(e={exports:{}},e.exports),e.exports}function n(t){return t&&t.default||t}var i=n(Object.freeze({default:{}})),o=r((function(e){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s=i.Buffer}catch(t){}function a(t,e,r){for(var n=0,i=Math.min(t.length,r),o=e;o=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),e,n)},o.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},o.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=a(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,l=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var l=1;l>>26,c=67108863&u,f=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=f;d++){var p=l-d|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[l]=0|c,u=0|h}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}o.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],d=c[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);n=(p=p.idivn(d)).isZero()?m+n:l[f-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return r(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,l=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),l[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],v=8191&g,y=g>>>13,w=0|s[3],b=8191&w,E=w>>>13,_=0|s[4],k=8191&_,A=_>>>13,S=0|s[5],M=8191&S,N=S>>>13,P=0|s[6],x=8191&P,T=P>>>13,I=0|s[7],R=8191&I,C=I>>>13,B=0|s[8],O=8191&B,F=B>>>13,U=0|s[9],L=8191&U,D=U>>>13,j=0|a[0],z=8191&j,q=j>>>13,K=0|a[1],H=8191&K,G=K>>>13,V=0|a[2],W=8191&V,J=V>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,tt=Q>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,lt=at>>>13,ht=0|a[8],ct=8191&ht,ft=ht>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(l+(n=Math.imul(c,z))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(f,z)|0))<<13)|0;l=((o=Math.imul(f,q))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,q))+Math.imul(m,z)|0,o=Math.imul(m,q);var vt=(l+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(f,H)|0))<<13)|0;l=((o=o+Math.imul(f,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,z),i=(i=Math.imul(v,q))+Math.imul(y,z)|0,o=Math.imul(y,q),n=n+Math.imul(p,H)|0,i=(i=i+Math.imul(p,G)|0)+Math.imul(m,H)|0,o=o+Math.imul(m,G)|0;var yt=(l+(n=n+Math.imul(c,W)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(f,W)|0))<<13)|0;l=((o=o+Math.imul(f,J)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,z),i=(i=Math.imul(b,q))+Math.imul(E,z)|0,o=Math.imul(E,q),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,J)|0;var wt=(l+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,$)|0)+Math.imul(f,X)|0))<<13)|0;l=((o=o+Math.imul(f,$)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(k,z),i=(i=Math.imul(k,q))+Math.imul(A,z)|0,o=Math.imul(A,q),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(E,H)|0,o=o+Math.imul(E,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,$)|0;var bt=(l+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(f,Y)|0))<<13)|0;l=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,z),i=(i=Math.imul(M,q))+Math.imul(N,z)|0,o=Math.imul(N,q),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(A,H)|0,o=o+Math.imul(A,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(E,W)|0,o=o+Math.imul(E,J)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,tt)|0;var Et=(l+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(f,rt)|0))<<13)|0;l=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(T,z)|0,o=Math.imul(T,q),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,G)|0,n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(A,W)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(b,X)|0,i=(i=i+Math.imul(b,$)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,$)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var _t=(l+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;l=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(R,z),i=(i=Math.imul(R,q))+Math.imul(C,z)|0,o=Math.imul(C,q),n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(T,H)|0,o=o+Math.imul(T,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,J)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,$)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,$)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(E,Y)|0,o=o+Math.imul(E,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var kt=(l+(n=n+Math.imul(c,ut)|0)|0)+((8191&(i=(i=i+Math.imul(c,lt)|0)+Math.imul(f,ut)|0))<<13)|0;l=((o=o+Math.imul(f,lt)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(O,z),i=(i=Math.imul(O,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(R,H)|0,i=(i=i+Math.imul(R,G)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(T,W)|0,o=o+Math.imul(T,J)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,$)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,$)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,lt)|0;var At=(l+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;l=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(L,z),i=(i=Math.imul(L,q))+Math.imul(D,z)|0,o=Math.imul(D,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(F,H)|0,o=o+Math.imul(F,G)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,J)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,$)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(N,Y)|0,o=o+Math.imul(N,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,lt)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,ft)|0;var St=(l+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(f,pt)|0))<<13)|0;l=((o=o+Math.imul(f,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(L,H),i=(i=Math.imul(L,G))+Math.imul(D,H)|0,o=Math.imul(D,G),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(F,W)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,nt)|0,n=n+Math.imul(k,ot)|0,i=(i=i+Math.imul(k,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(b,ut)|0,i=(i=i+Math.imul(b,lt)|0)+Math.imul(E,ut)|0,o=o+Math.imul(E,lt)|0,n=n+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ct)|0,o=o+Math.imul(y,ft)|0;var Mt=(l+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;l=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(L,W),i=(i=Math.imul(L,J))+Math.imul(D,W)|0,o=Math.imul(D,J),n=n+Math.imul(O,X)|0,i=(i=i+Math.imul(O,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,tt)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul(M,ot)|0,i=(i=i+Math.imul(M,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,n=n+Math.imul(k,ut)|0,i=(i=i+Math.imul(k,lt)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,lt)|0,n=n+Math.imul(b,ct)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(E,ct)|0,o=o+Math.imul(E,ft)|0;var Nt=(l+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;l=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(L,X),i=(i=Math.imul(L,$))+Math.imul(D,X)|0,o=Math.imul(D,$),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,tt)|0,n=n+Math.imul(R,rt)|0,i=(i=i+Math.imul(R,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul(M,ut)|0,i=(i=i+Math.imul(M,lt)|0)+Math.imul(N,ut)|0,o=o+Math.imul(N,lt)|0,n=n+Math.imul(k,ct)|0,i=(i=i+Math.imul(k,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var Pt=(l+(n=n+Math.imul(b,pt)|0)|0)+((8191&(i=(i=i+Math.imul(b,mt)|0)+Math.imul(E,pt)|0))<<13)|0;l=((o=o+Math.imul(E,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(L,Y),i=(i=Math.imul(L,tt))+Math.imul(D,Y)|0,o=Math.imul(D,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(F,rt)|0,o=o+Math.imul(F,nt)|0,n=n+Math.imul(R,ot)|0,i=(i=i+Math.imul(R,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,n=n+Math.imul(x,ut)|0,i=(i=i+Math.imul(x,lt)|0)+Math.imul(T,ut)|0,o=o+Math.imul(T,lt)|0,n=n+Math.imul(M,ct)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var xt=(l+(n=n+Math.imul(k,pt)|0)|0)+((8191&(i=(i=i+Math.imul(k,mt)|0)+Math.imul(A,pt)|0))<<13)|0;l=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(L,rt),i=(i=Math.imul(L,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,st)|0)+Math.imul(F,ot)|0,o=o+Math.imul(F,st)|0,n=n+Math.imul(R,ut)|0,i=(i=i+Math.imul(R,lt)|0)+Math.imul(C,ut)|0,o=o+Math.imul(C,lt)|0,n=n+Math.imul(x,ct)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(T,ct)|0,o=o+Math.imul(T,ft)|0;var Tt=(l+(n=n+Math.imul(M,pt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(N,pt)|0))<<13)|0;l=((o=o+Math.imul(N,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(L,ot),i=(i=Math.imul(L,st))+Math.imul(D,ot)|0,o=Math.imul(D,st),n=n+Math.imul(O,ut)|0,i=(i=i+Math.imul(O,lt)|0)+Math.imul(F,ut)|0,o=o+Math.imul(F,lt)|0,n=n+Math.imul(R,ct)|0,i=(i=i+Math.imul(R,ft)|0)+Math.imul(C,ct)|0,o=o+Math.imul(C,ft)|0;var It=(l+(n=n+Math.imul(x,pt)|0)|0)+((8191&(i=(i=i+Math.imul(x,mt)|0)+Math.imul(T,pt)|0))<<13)|0;l=((o=o+Math.imul(T,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(L,ut),i=(i=Math.imul(L,lt))+Math.imul(D,ut)|0,o=Math.imul(D,lt),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,ft)|0)+Math.imul(F,ct)|0,o=o+Math.imul(F,ft)|0;var Rt=(l+(n=n+Math.imul(R,pt)|0)|0)+((8191&(i=(i=i+Math.imul(R,mt)|0)+Math.imul(C,pt)|0))<<13)|0;l=((o=o+Math.imul(C,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(L,ct),i=(i=Math.imul(L,ft))+Math.imul(D,ct)|0,o=Math.imul(D,ft);var Ct=(l+(n=n+Math.imul(O,pt)|0)|0)+((8191&(i=(i=i+Math.imul(O,mt)|0)+Math.imul(F,pt)|0))<<13)|0;l=((o=o+Math.imul(F,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863;var Bt=(l+(n=Math.imul(L,pt))|0)+((8191&(i=(i=Math.imul(L,mt))+Math.imul(D,pt)|0))<<13)|0;return l=((o=Math.imul(D,mt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,u[0]=gt,u[1]=vt,u[2]=yt,u[3]=wt,u[4]=bt,u[5]=Et,u[6]=_t,u[7]=kt,u[8]=At,u[9]=St,u[10]=Mt,u[11]=Nt,u[12]=Pt,u[13]=xt,u[14]=Tt,u[15]=It,u[16]=Rt,u[17]=Ct,u[18]=Bt,0!==l&&(u[19]=l,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=f),o.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,l=0;l=0&&(0!==h||l>=i);l--){var c=0|this.words[l];this.words[l]=h<<26-o|c>>>o,h=c&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,u=n.length-i.length;if("mod"!==e){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var l=0;l=0;c--){var f=67108864*(0|n.words[i.length+c])+(0|n.words[i.length+c-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,c);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},o.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),l=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++l;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(c)),i.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(c)),a.iushrn(1),u.iushrn(1);e.cmp(n)>=0?(e.isub(n),i.isub(a),s.isub(u)):(n.isub(e),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:n.iushln(l)}},o.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),u=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,h=1;0==(e.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(e.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var c=0,f=1;0==(n.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(n.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new _(t)},o.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new w;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new E}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new o(1)).iushrn(2);return this.pow(t,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),l=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,l).cmp(u);)h.redIAdd(u);for(var c=this.pow(h,i),f=this.pow(t,i.addn(1).iushrn(1)),d=this.pow(t,i),p=s;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;n--){for(var l=e.words[n],h=u-1;h>=0;h--){var c=l>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}u=26}return i},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new k(t)},n(k,_),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,t)})),s=o.BN;let a=!1,u=!1;const l={debug:1,default:2,info:2,warning:3,error:4,off:5};let h=l.default,c=null;const f=function(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(r){t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();var d,p;!function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(d||(d={})),function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(p||(p={}));class m{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const r=t.toLowerCase();null==l[r]&&this.throwArgumentError("invalid log level name","logLevel",t),h>l[r]||console.log.apply(console,e)}debug(...t){this._log(m.levels.DEBUG,t)}info(...t){this._log(m.levels.INFO,t)}warn(...t){this._log(m.levels.WARNING,t)}makeError(t,e,r){if(u)return this.makeError("censored error",e,{});e||(e=m.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach(t=>{try{n.push(t+"="+JSON.stringify(r[t]))}catch(e){n.push(t+"="+JSON.stringify(r[t].toString()))}}),n.push("code="+e),n.push("version="+this.version);const i=t;n.length&&(t+=" ("+n.join(", ")+")");const o=new Error(t);return o.reason=i,o.code=e,Object.keys(r).forEach((function(t){o[t]=r[t]})),o}throwError(t,e,r){throw this.makeError(t,e,r)}throwArgumentError(t,e,r){return this.throwError(t,m.errors.INVALID_ARGUMENT,{argument:e,value:r})}checkNormalize(t){null==t&&(t="platform missing String.prototype.normalize"),f&&this.throwError("platform missing String.prototype.normalize",m.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:f})}checkSafeUint53(t,e){"number"==typeof t&&(null==e&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,r){r=r?": "+r:"",te&&this.throwError("too many arguments"+r,m.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){t!==Object&&null!=t||this.throwError("missing new",m.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",m.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",m.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return c||(c=new m("logger/5.0.1")),c}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),a){if(!t)return;this.globalLogger().throwError("error censorship permanent",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}u=!!t,a=!!e}static setLogLevel(t){const e=l[t];null!=e?h=e:m.globalLogger().warn("invalid log level - "+t)}}m.errors=p,m.levels=d;var g=Object.freeze({get LogLevel(){return d},get ErrorCode(){return p},Logger:m});const v=new m("bytes/5.0.1");function y(t){return!!t.toHexString}function w(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return w(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function b(t){return M(t)&&!(t.length%2)||E(t)}function E(t){if(null==t)return!1;if(t.constructor===Uint8Array)return!0;if("string"==typeof t)return!1;if(null==t.length)return!1;for(let e=0;e=256||r%1)return!1}return!0}function _(t,e){if(e||(e={}),"number"==typeof t){v.checkSafeUint53(t,"invalid arrayify value");const e=[];for(;t;)e.unshift(255&t),t=parseInt(String(t/256));return 0===e.length&&e.push(0),w(new Uint8Array(e))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),y(t)&&(t=t.toHexString()),M(t)){let r=t.substring(2);r.length%2&&("left"===e.hexPad?r="0x0"+r.substring(2):"right"===e.hexPad?r+="0":v.throwArgumentError("hex data is odd-length","value",t));const n=[];for(let t=0;t_(t)),r=e.reduce((t,e)=>t+e.length,0),n=new Uint8Array(r);return e.reduce((t,e)=>(n.set(e,t),t+e.length),0),w(n)}function A(t){let e=_(t);if(0===e.length)return e;let r=0;for(;re&&v.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(e);return r.set(t,e-t.length),w(r)}function M(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}function N(t,e){if(e||(e={}),"number"==typeof t){v.checkSafeUint53(t,"invalid hexlify value");let e="";for(;t;)e="0123456789abcdef"[15&t]+e,t=Math.floor(t/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),y(t))return t.toHexString();if(M(t))return t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":v.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(E(t)){let e="0x";for(let r=0;r>4]+"0123456789abcdef"[15&n]}return e}return v.throwArgumentError("invalid hexlify value","value",t)}function P(t){if("string"!=typeof t)t=N(t);else if(!M(t)||t.length%2)return null;return(t.length-2)/2}function x(t,e,r){return"string"!=typeof t?t=N(t):(!M(t)||t.length%2)&&v.throwArgumentError("invalid hexData","value",t),e=2+2*e,null!=r?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function T(t){const e=I(N(t,{hexPad:"left"}));return"0x"===e?"0x0":e}function I(t){"string"!=typeof t&&(t=N(t)),M(t)||v.throwArgumentError("invalid hex string","value",t),t=t.substring(2);let e=0;for(;e2*e+2&&v.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function C(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(b(t)){const r=_(t);65!==r.length&&v.throwArgumentError("invalid signature string; must be 65 bytes","signature",t),e.r=N(r.slice(0,32)),e.s=N(r.slice(32,64)),e.v=r[64],e.recoveryParam=1-e.v%2,e.v<27&&(0===e.v||1===e.v?e.v+=27:v.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam&&(r[32]|=128),e._vs=N(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){const r=S(_(e._vs),32);e._vs=N(r);const n=r[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=n:e.recoveryParam!==n&&v.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),r[0]&=127;const i=N(r);null==e.s?e.s=i:e.s!==i&&v.throwArgumentError("signature v mismatch _vs","signature",t)}null==e.recoveryParam?null==e.v?v.throwArgumentError("signature missing v and recoveryParam","signature",t):e.recoveryParam=1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==1-e.v%2&&v.throwArgumentError("signature recoveryParam mismatch v","signature",t),null!=e.r&&M(e.r)?e.r=R(e.r,32):v.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&M(e.s)?e.s=R(e.s,32):v.throwArgumentError("signature missing or invalid s","signature",t);const r=_(e.s);r[0]>=128&&v.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);const n=N(r);e._vs&&(M(e._vs)||v.throwArgumentError("signature invalid _vs","signature",t),e._vs=R(e._vs,32)),null==e._vs?e._vs=n:e._vs!==n&&v.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e}function B(t){return N(k([(t=C(t)).r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}var O=Object.freeze({isBytesLike:b,isBytes:E,arrayify:_,concat:k,stripZeros:A,zeroPad:S,isHexString:M,hexlify:N,hexDataLength:P,hexDataSlice:x,hexConcat:function(t){let e="0x";return t.forEach(t=>{e+=N(t).substring(2)}),e},hexValue:T,hexStripZeros:I,hexZeroPad:R,splitSignature:C,joinSignature:B});const F=new m("bignumber/5.0.1"),U={};class L{constructor(t,e){F.checkNew(new.target,L),t!==U&&F.throwError("cannot call constructor directly; use BigNumber.from",m.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return j(z(this).fromTwos(t))}toTwos(t){return j(z(this).toTwos(t))}abs(){return"-"===this._hex[0]?L.from(this._hex.substring(1)):this}add(t){return j(z(this).add(z(t)))}sub(t){return j(z(this).sub(z(t)))}div(t){return L.from(t).isZero()&&q("division by zero","div"),j(z(this).div(z(t)))}mul(t){return j(z(this).mul(z(t)))}mod(t){const e=z(t);return e.isNeg()&&q("cannot modulo negative values","mod"),j(z(this).umod(e))}pow(t){return j(z(this).pow(z(t)))}and(t){const e=z(t);return(this.isNegative()||e.isNeg())&&q("cannot 'and' negative values","and"),j(z(this).and(e))}or(t){const e=z(t);return(this.isNegative()||e.isNeg())&&q("cannot 'or' negative values","or"),j(z(this).or(e))}xor(t){const e=z(t);return(this.isNegative()||e.isNeg())&&q("cannot 'xor' negative values","xor"),j(z(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&q("cannot mask negative values","mask"),j(z(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&q("cannot shift negative values","shl"),j(z(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&q("cannot shift negative values","shr"),j(z(this).shrn(t))}eq(t){return z(this).eq(z(t))}lt(t){return z(this).lt(z(t))}lte(t){return z(this).lte(z(t))}gt(t){return z(this).gt(z(t))}gte(t){return z(this).gte(z(t))}isNegative(){return"-"===this._hex[0]}isZero(){return z(this).isZero()}toNumber(){try{return z(this).toNumber()}catch(t){q("overflow","toNumber",this.toString())}return null}toString(){return 0!==arguments.length&&F.throwError("bigNumber.toString does not accept parameters",m.errors.UNEXPECTED_ARGUMENT,{}),z(this).toString(10)}toHexString(){return this._hex}static from(t){return t instanceof L?t:"string"==typeof t?t.match(/-?0x[0-9a-f]+/i)?new L(U,D(t)):t.match(/^-?[0-9]+$/)?new L(U,D(new s(t))):F.throwArgumentError("invalid BigNumber string","value",t):"number"==typeof t?(t%1&&q("underflow","BigNumber.from",t),(t>=9007199254740991||t<=-9007199254740991)&&q("overflow","BigNumber.from",t),L.from(String(t))):"bigint"==typeof t?L.from(t.toString()):E(t)?L.from(N(t)):t._hex&&M(t._hex)?L.from(t._hex):t.toHexString&&"string"==typeof(t=t.toHexString())?L.from(t):F.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function D(t){if("string"!=typeof t)return D(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&F.throwArgumentError("invalid hex","value",t),"0x00"===(t=D(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function j(t){return L.from(D(t))}function z(t){const e=L.from(t).toHexString();return"-"===e[0]?new s("-"+e.substring(3),16):new s(e.substring(2),16)}function q(t,e,r){const n={fault:t,operation:e};return null!=r&&(n.value=r),F.throwError(t,m.errors.NUMERIC_FAULT,n)}const K=new m("bignumber/5.0.1"),H={},G=L.from(0),V=L.from(-1);function W(t,e,r,n){const i={fault:e,operation:r};return void 0!==n&&(i.value=n),K.throwError(t,m.errors.NUMERIC_FAULT,i)}let J="0";for(;J.length<256;)J+=J;function Z(t){if("number"!=typeof t)try{t=L.from(t).toNumber()}catch(t){}return"number"==typeof t&&t>=0&&t<=256&&!(t%1)?"1"+J.substring(0,t):K.throwArgumentError("invalid decimal size","decimals",t)}function X(t,e){null==e&&(e=0);const r=Z(e),n=(t=L.from(t)).lt(G);n&&(t=t.mul(V));let i=t.mod(r).toString();for(;i.length2&&K.throwArgumentError("too many decimal points","value",t);let o=i[0],s=i[1];for(o||(o="0"),s||(s="0"),s.length>r.length-1&&W("fractional component exceeds decimals","underflow","parseFixed");s.lengthnull==t[e]?n:(typeof t[e]!==r&&K.throwArgumentError("invalid fixed format ("+e+" not "+r+")","format."+e,t[e]),t[e]);e=i("signed","boolean",e),r=i("width","number",r),n=i("decimals","number",n)}return r%8&&K.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),n>80&&K.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new Q(H,e,r,n)}}class Y{constructor(t,e,r,n){K.checkNew(new.target,Y),this.format=n,this._hex=e,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(t){this.format.name!==t.format.name&&K.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)}addUnsafe(t){this._checkFormat(t);const e=$(this._value,this.format.decimals),r=$(t._value,t.format.decimals);return Y.fromValue(e.add(r),this.format.decimals,this.format)}subUnsafe(t){this._checkFormat(t);const e=$(this._value,this.format.decimals),r=$(t._value,t.format.decimals);return Y.fromValue(e.sub(r),this.format.decimals,this.format)}mulUnsafe(t){this._checkFormat(t);const e=$(this._value,this.format.decimals),r=$(t._value,t.format.decimals);return Y.fromValue(e.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(t){this._checkFormat(t);const e=$(this._value,this.format.decimals),r=$(t._value,t.format.decimals);return Y.fromValue(e.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}round(t){null==t&&(t=0),(t<0||t>80||t%1)&&K.throwArgumentError("invalid decimal count","decimals",t);let e=this.toString().split(".");if(e[1].length<=t)return this;const r="0."+J.substring(0,t)+"5";return e=this.addUnsafe(Y.fromString(r,this.format))._value.split("."),Y.fromString(e[0]+"."+e[1].substring(0,t))}toString(){return this._value}toHexString(t){if(null==t)return this._hex;return t%8&&K.throwArgumentError("invalid byte width","width",t),R(L.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString(),t/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return Y.fromString(this._value,t)}static fromValue(t,e,r){return null!=r||null==e||function(t){return null!=t&&(L.isBigNumber(t)||"number"==typeof t&&t%1==0||"string"==typeof t&&!!t.match(/^-?[0-9]+$/)||M(t)||"bigint"==typeof t||E(t))}(e)||(r=e,e=null),null==e&&(e=0),null==r&&(r="fixed"),Y.fromString(X(t,e),Q.from(r))}static fromString(t,e){null==e&&(e="fixed");const r=Q.from(e),n=$(t,r.decimals);!r.signed&&n.lt(G)&&W("unsigned value cannot be negative","overflow","value",t);let i=null;r.signed?i=n.toTwos(r.width).toHexString():(i=n.toHexString(),i=R(i,r.width/8));const o=X(n,r.decimals);return new Y(H,i,o,r)}static fromBytes(t,e){null==e&&(e="fixed");const r=Q.from(e);if(_(t).length>r.width/8)throw new Error("overflow");let n=L.from(t);r.signed&&(n=n.fromTwos(r.width));const i=n.toTwos((r.signed?0:1)+r.width).toHexString(),o=X(n,r.decimals);return new Y(H,i,o,r)}static from(t,e){if("string"==typeof t)return Y.fromString(t,e);if(E(t))return Y.fromBytes(t,e);try{return Y.fromValue(t,0,e)}catch(t){if(t.code!==m.errors.INVALID_ARGUMENT)throw t}return K.throwArgumentError("invalid FixedNumber value","value",t)}static isFixedNumber(t){return!(!t||!t._isFixedNumber)}}var tt=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const et=new m("properties/5.0.1");function rt(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}function nt(t,e){for(let r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||"object"!=typeof t.prototype)break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function it(t){return tt(this,void 0,void 0,(function*(){const e=Object.keys(t).map(e=>{const r=t[e];return Promise.resolve(r).then(t=>({key:e,value:t}))});return(yield Promise.all(e)).reduce((t,e)=>(t[e.key]=e.value,t),{})}))}function ot(t,e){t&&"object"==typeof t||et.throwArgumentError("invalid object","object",t),Object.keys(t).forEach(r=>{e[r]||et.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)})}function st(t){const e={};for(const r in t)e[r]=t[r];return e}const at={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function ut(t){if(function t(e){if(null==e||at[typeof e])return!0;if(Array.isArray(e)||"object"==typeof e){if(!Object.isFrozen(e))return!1;const r=Object.keys(e);for(let n=0;nlt(t)));if("object"==typeof t){const e={};for(const r in t){const n=t[r];void 0!==n&&rt(e,r,lt(n))}return e}return et.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function lt(t){return ut(t)}class ht{constructor(t){for(const e in t)this[e]=lt(t[e])}}const ct=new m("abi/5.0.1"),ft={};let dt={calldata:!0,memory:!0,storage:!0},pt={calldata:!0,memory:!0};function mt(t,e){if("bytes"===t||"string"===t){if(dt[e])return!0}else if("address"===t){if("payable"===e)return!0}else if((t.indexOf("[")>=0||"tuple"===t)&&pt[e])return!0;return(dt[e]||"payable"===e)&&ct.throwArgumentError("invalid modifier","name",e),!1}function gt(t,e){for(let r in e)rt(t,r,e[r])}const vt=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),yt=new RegExp(/^(.*)\[([0-9]*)\]$/);class wt{constructor(t,e){t!==ft&&ct.throwError("use fromString",m.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),gt(this,e);let r=this.type.match(yt);gt(this,r?{arrayLength:parseInt(r[2]||"-1"),arrayChildren:wt.fromObject({type:r[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(t){if(t||(t=vt.sighash),vt[t]||ct.throwArgumentError("invalid format type","format",t),t===vt.json){let e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map(e=>JSON.parse(e.format(t)))),JSON.stringify(e)}let e="";return"array"===this.baseType?(e+=this.arrayChildren.format(t),e+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(t!==vt.sighash&&(e+=this.type),e+="("+this.components.map(e=>e.format(t)).join(t===vt.full?", ":",")+")"):e+=this.type,t!==vt.sighash&&(!0===this.indexed&&(e+=" indexed"),t===vt.full&&this.name&&(e+=" "+this.name)),e}static from(t,e){return"string"==typeof t?wt.fromString(t,e):wt.fromObject(t)}static fromObject(t){return wt.isParamType(t)?t:new wt(ft,{name:t.name||null,type:Pt(t.type),indexed:null==t.indexed?null:!!t.indexed,components:t.components?t.components.map(wt.fromObject):null})}static fromString(t,e){return function(t){return wt.fromObject({name:t.name,type:t.type,indexed:t.indexed,components:t.components})}(function(t,e){let r=t;function n(e){ct.throwArgumentError("unexpected character at position "+e,"param",t)}function i(t){let r={type:"",name:"",parent:t,state:{allowType:!0}};return e&&(r.indexed=!1),r}t=t.replace(/\s/g," ");let o={type:"",name:"",state:{allowType:!0}},s=o;for(let r=0;rwt.fromString(t,e))}class Et{constructor(t,e){t!==ft&&ct.throwError("use a static from method",m.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),gt(this,e),this._isFragment=!0,Object.freeze(this)}static from(t){return Et.isFragment(t)?t:"string"==typeof t?Et.fromString(t):Et.fromObject(t)}static fromObject(t){if(Et.isFragment(t))return t;switch(t.type){case"function":return Nt.fromObject(t);case"event":return _t.fromObject(t);case"constructor":return Mt.fromObject(t);case"fallback":case"receive":return null}return ct.throwArgumentError("invalid fragment object","value",t)}static fromString(t){return"event"===(t=(t=(t=t.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?_t.fromString(t.substring(5).trim()):"function"===t.split(" ")[0]?Nt.fromString(t.substring(8).trim()):"constructor"===t.split("(")[0].trim()?Mt.fromString(t.trim()):ct.throwArgumentError("unsupported fragment","value",t)}static isFragment(t){return!(!t||!t._isFragment)}}class _t extends Et{format(t){if(t||(t=vt.sighash),vt[t]||ct.throwArgumentError("invalid format type","format",t),t===vt.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e="";return t!==vt.sighash&&(e+="event "),e+=this.name+"("+this.inputs.map(e=>e.format(t)).join(t===vt.full?", ":",")+") ",t!==vt.sighash&&this.anonymous&&(e+="anonymous "),e.trim()}static from(t){return"string"==typeof t?_t.fromString(t):_t.fromObject(t)}static fromObject(t){if(_t.isEventFragment(t))return t;"event"!==t.type&&ct.throwArgumentError("invalid event object","value",t);const e={name:Tt(t.name),anonymous:t.anonymous,inputs:t.inputs?t.inputs.map(wt.fromObject):[],type:"event"};return new _t(ft,e)}static fromString(t){let e=t.match(It);e||ct.throwArgumentError("invalid event string","value",t);let r=!1;return e[3].split(" ").forEach(t=>{switch(t.trim()){case"anonymous":r=!0;break;case"":break;default:ct.warn("unknown modifier: "+t)}}),_t.fromObject({name:e[1].trim(),anonymous:r,inputs:bt(e[2],!0),type:"event"})}static isEventFragment(t){return t&&t._isFragment&&"event"===t.type}}function kt(t,e){e.gas=null;let r=t.split("@");return 1!==r.length?(r.length>2&&ct.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||ct.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=L.from(r[1]),r[0]):t}function At(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach(t=>{switch(t.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+t)}})}function St(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return null!=t.stateMutability?(e.stateMutability=t.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=t.constant&&!!t.constant!==e.constant&&ct.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable="payable"===e.stateMutability,null!=t.payable&&!!t.payable!==e.payable&&ct.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):null!=t.payable?(e.payable=!!t.payable,null!=t.constant||e.payable||"constructor"===t.type||ct.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&ct.throwArgumentError("cannot have constant payable function","value",t)):null!=t.constant?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==t.type&&ct.throwArgumentError("unable to determine stateMutability","value",t),e}class Mt extends Et{format(t){if(t||(t=vt.sighash),vt[t]||ct.throwArgumentError("invalid format type","format",t),t===vt.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});t===vt.sighash&&ct.throwError("cannot format a constructor for sighash",m.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let e="constructor("+this.inputs.map(e=>e.format(t)).join(t===vt.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()}static from(t){return"string"==typeof t?Mt.fromString(t):Mt.fromObject(t)}static fromObject(t){if(Mt.isConstructorFragment(t))return t;"constructor"!==t.type&&ct.throwArgumentError("invalid constructor object","value",t);let e=St(t);e.constant&&ct.throwArgumentError("constructor cannot be constant","value",t);const r={name:null,type:t.type,inputs:t.inputs?t.inputs.map(wt.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?L.from(t.gas):null};return new Mt(ft,r)}static fromString(t){let e={type:"constructor"},r=(t=kt(t,e)).match(It);return r&&"constructor"===r[1].trim()||ct.throwArgumentError("invalid constructor string","value",t),e.inputs=bt(r[2].trim(),!1),At(r[3].trim(),e),Mt.fromObject(e)}static isConstructorFragment(t){return t&&t._isFragment&&"constructor"===t.type}}class Nt extends Mt{format(t){if(t||(t=vt.sighash),vt[t]||ct.throwArgumentError("invalid format type","format",t),t===vt.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t))),ouputs:this.outputs.map(e=>JSON.parse(e.format(t)))});let e="";return t!==vt.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map(e=>e.format(t)).join(t===vt.full?", ":",")+") ",t!==vt.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map(e=>e.format(t)).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()}static from(t){return"string"==typeof t?Nt.fromString(t):Nt.fromObject(t)}static fromObject(t){if(Nt.isFunctionFragment(t))return t;"function"!==t.type&&ct.throwArgumentError("invalid function object","value",t);let e=St(t);const r={type:t.type,name:Tt(t.name),constant:e.constant,inputs:t.inputs?t.inputs.map(wt.fromObject):[],outputs:t.outputs?t.outputs.map(wt.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?L.from(t.gas):null};return new Nt(ft,r)}static fromString(t){let e={type:"function"},r=(t=kt(t,e)).split(" returns ");r.length>2&&ct.throwArgumentError("invalid function string","value",t);let n=r[0].match(It);if(n||ct.throwArgumentError("invalid function signature","value",t),e.name=n[1].trim(),e.name&&Tt(e.name),e.inputs=bt(n[2],!1),At(n[3].trim(),e),r.length>1){let n=r[1].match(It);""==n[1].trim()&&""==n[3].trim()||ct.throwArgumentError("unexpected tokens","value",t),e.outputs=bt(n[2],!1)}else e.outputs=[];return Nt.fromObject(e)}static isFunctionFragment(t){return t&&t._isFragment&&"function"===t.type}}function Pt(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}const xt=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function Tt(t){return t&&t.match(xt)||ct.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}const It=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const Rt=new m("abi/5.0.1");function Ct(t){const e=[],r=function(t,n){if(Array.isArray(n))for(let i in n){const o=t.slice();o.push(i);try{r(o,n[i])}catch(t){e.push({path:o,error:t})}}};return r([],t),e}class Bt{constructor(t,e,r,n){this.name=t,this.type=e,this.localName=r,this.dynamic=n}_throwError(t,e){Rt.throwArgumentError(t,this.localName,e)}}class Ot{constructor(t){rt(this,"wordSize",t||32),this._data=_([]),this._padding=new Uint8Array(t)}get data(){return N(this._data)}get length(){return this._data.length}_writeData(t){return this._data=k([this._data,t]),t.length}writeBytes(t){let e=_(t);return e.length%this.wordSize&&(e=k([e,this._padding.slice(e.length%this.wordSize)])),this._writeData(e)}_getValue(t){let e=_(L.from(t));return e.length>this.wordSize&&Rt.throwError("value out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=k([this._padding.slice(e.length%this.wordSize),e])),e}writeValue(t){return this._writeData(this._getValue(t))}writeUpdatableValue(){let t=this.length;return this.writeValue(0),e=>{this._data.set(this._getValue(e),t)}}}class Ft{constructor(t,e,r){rt(this,"_data",_(t)),rt(this,"wordSize",e||32),rt(this,"_coerceFunc",r),this._offset=0}get data(){return N(this._data)}get consumed(){return this._offset}static coerce(t,e){let r=t.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(e=e.toNumber()),e}coerce(t,e){return this._coerceFunc?this._coerceFunc(t,e):Ft.coerce(t,e)}_peekBytes(t,e){let r=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&Rt.throwError("data out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r}),this._data.slice(this._offset,this._offset+r)}subReader(t){return new Ft(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc)}readBytes(t){let e=this._peekBytes(0,t);return this._offset+=e.length,e.slice(0,t)}readValue(){return L.from(this.readBytes(this.wordSize))}}var Ut=r((function(e){ +var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function r(t,e){return t(e={exports:{}},e.exports),e.exports}function n(t){return t&&t.default||t}var i=n(Object.freeze({default:{}})),o=r((function(e){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function o(t,e,r){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s=i.Buffer}catch(t){}function a(t,e,r){for(var n=0,i=Math.min(t.length,r),o=e;o=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function h(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),e,n)},o.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},o.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=a(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,u=0,l=r;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(i=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}o.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?u[6-h.length]+h+n:h+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=l[t],d=c[t];n="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modn(d).toString(t);n=(m=m.idivn(d)).isZero()?p+n:u[f-p.length]+p+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return r(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),l=this.clone();if(h){for(a=0;!l.isZero();a++)s=l.andln(255),l.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],v=8191&g,y=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,k=_>>>13,A=0|s[5],S=8191&A,N=A>>>13,P=0|s[6],x=8191&P,T=P>>>13,R=0|s[7],I=8191&R,C=R>>>13,B=0|s[8],O=8191&B,F=B>>>13,L=0|s[9],U=8191&L,D=L>>>13,j=0|a[0],z=8191&j,q=j>>>13,K=0|a[1],H=8191&K,G=K>>>13,V=0|a[2],W=8191&V,J=V>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,tt=Q>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(c,z))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(f,z)|0))<<13)|0;u=((o=Math.imul(f,q))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(p,z)|0,o=Math.imul(p,q);var vt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(f,H)|0))<<13)|0;u=((o=o+Math.imul(f,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,z),i=(i=Math.imul(v,q))+Math.imul(y,z)|0,o=Math.imul(y,q),n=n+Math.imul(m,H)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(p,H)|0,o=o+Math.imul(p,G)|0;var yt=(u+(n=n+Math.imul(c,W)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(f,W)|0))<<13)|0;u=((o=o+Math.imul(f,J)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,z),i=(i=Math.imul(b,q))+Math.imul(M,z)|0,o=Math.imul(M,q),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(m,W)|0,i=(i=i+Math.imul(m,J)|0)+Math.imul(p,W)|0,o=o+Math.imul(p,J)|0;var wt=(u+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,$)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,$)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(k,z)|0,o=Math.imul(k,q),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(m,X)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,$)|0;var bt=(u+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(f,Y)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(S,z),i=(i=Math.imul(S,q))+Math.imul(N,z)|0,o=Math.imul(N,q),n=n+Math.imul(E,H)|0,i=(i=i+Math.imul(E,G)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,J)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,$)|0,n=n+Math.imul(m,Y)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(p,Y)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(T,z)|0,o=Math.imul(T,q),n=n+Math.imul(S,H)|0,i=(i=i+Math.imul(S,G)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,G)|0,n=n+Math.imul(E,W)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(b,X)|0,i=(i=i+Math.imul(b,$)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,$)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var _t=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(C,z)|0,o=Math.imul(C,q),n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(T,H)|0,o=o+Math.imul(T,G)|0,n=n+Math.imul(S,W)|0,i=(i=i+Math.imul(S,J)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,J)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(M,Y)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(m,ot)|0,i=(i=i+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(n=n+Math.imul(c,ht)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(O,z),i=(i=Math.imul(O,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(T,W)|0,o=o+Math.imul(T,J)|0,n=n+Math.imul(S,X)|0,i=(i=i+Math.imul(S,$)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,$)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(m,ht)|0,i=(i=i+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var kt=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(D,z)|0,o=Math.imul(D,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(F,H)|0,o=o+Math.imul(F,G)|0,n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,$)|0,n=n+Math.imul(S,Y)|0,i=(i=i+Math.imul(S,tt)|0)+Math.imul(N,Y)|0,o=o+Math.imul(N,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,ut)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(m,ct)|0,i=(i=i+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var At=(u+(n=n+Math.imul(c,mt)|0)|0)+((8191&(i=(i=i+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(U,H),i=(i=Math.imul(U,G))+Math.imul(D,H)|0,o=Math.imul(D,G),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(F,W)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul(S,rt)|0,i=(i=i+Math.imul(S,nt)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(b,ht)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ct)|0,o=o+Math.imul(y,ft)|0;var St=(u+(n=n+Math.imul(m,mt)|0)|0)+((8191&(i=(i=i+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(U,W),i=(i=Math.imul(U,J))+Math.imul(D,W)|0,o=Math.imul(D,J),n=n+Math.imul(O,X)|0,i=(i=i+Math.imul(O,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul(S,ot)|0,i=(i=i+Math.imul(S,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,n=n+Math.imul(E,ht)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(k,ht)|0,o=o+Math.imul(k,ut)|0,n=n+Math.imul(b,ct)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(n=n+Math.imul(v,mt)|0)|0)+((8191&(i=(i=i+Math.imul(v,pt)|0)+Math.imul(y,mt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(U,X),i=(i=Math.imul(U,$))+Math.imul(D,X)|0,o=Math.imul(D,$),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul(S,ht)|0,i=(i=i+Math.imul(S,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,n=n+Math.imul(E,ct)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(k,ct)|0,o=o+Math.imul(k,ft)|0;var Pt=(u+(n=n+Math.imul(b,mt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(U,Y),i=(i=Math.imul(U,tt))+Math.imul(D,Y)|0,o=Math.imul(D,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(F,rt)|0,o=o+Math.imul(F,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,ut)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul(S,ct)|0,i=(i=i+Math.imul(S,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var xt=(u+(n=n+Math.imul(E,mt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(k,mt)|0))<<13)|0;u=((o=o+Math.imul(k,pt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(U,rt),i=(i=Math.imul(U,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,st)|0)+Math.imul(F,ot)|0,o=o+Math.imul(F,st)|0,n=n+Math.imul(I,ht)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(C,ht)|0,o=o+Math.imul(C,ut)|0,n=n+Math.imul(x,ct)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(T,ct)|0,o=o+Math.imul(T,ft)|0;var Tt=(u+(n=n+Math.imul(S,mt)|0)|0)+((8191&(i=(i=i+Math.imul(S,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(U,ot),i=(i=Math.imul(U,st))+Math.imul(D,ot)|0,o=Math.imul(D,st),n=n+Math.imul(O,ht)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(F,ht)|0,o=o+Math.imul(F,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,ft)|0)+Math.imul(C,ct)|0,o=o+Math.imul(C,ft)|0;var Rt=(u+(n=n+Math.imul(x,mt)|0)|0)+((8191&(i=(i=i+Math.imul(x,pt)|0)+Math.imul(T,mt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(U,ht),i=(i=Math.imul(U,ut))+Math.imul(D,ht)|0,o=Math.imul(D,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,ft)|0)+Math.imul(F,ct)|0,o=o+Math.imul(F,ft)|0;var It=(u+(n=n+Math.imul(I,mt)|0)|0)+((8191&(i=(i=i+Math.imul(I,pt)|0)+Math.imul(C,mt)|0))<<13)|0;u=((o=o+Math.imul(C,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(U,ct),i=(i=Math.imul(U,ft))+Math.imul(D,ct)|0,o=Math.imul(D,ft);var Ct=(u+(n=n+Math.imul(O,mt)|0)|0)+((8191&(i=(i=i+Math.imul(O,pt)|0)+Math.imul(F,mt)|0))<<13)|0;u=((o=o+Math.imul(F,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863;var Bt=(u+(n=Math.imul(U,mt))|0)+((8191&(i=(i=Math.imul(U,pt))+Math.imul(D,mt)|0))<<13)|0;return u=((o=Math.imul(D,pt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=vt,h[2]=yt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=kt,h[9]=At,h[10]=St,h[11]=Nt,h[12]=Pt,h[13]=xt,h[14]=Tt,h[15]=Rt,h[16]=It,h[17]=Ct,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new p).mulp(t,e,r)}function p(t,e){this.x=t,this.y=e}Math.imul||(d=f),o.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},p.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n>=1;return n},p.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==l||u>=i);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,h=n.length-i.length;if("mod"!==e){(a=new o(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;c--){var f=67108864*(0|n.words[i.length+c])+(0|n.words[i.length+c-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,c);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},o.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),h=new o(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var l=n.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(l),s.isub(c)),i.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(n.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(n.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(n)>=0?(e.isub(n),i.isub(a),s.isub(h)):(n.isub(e),a.isub(i),h.isub(s))}return{a:a,b:h,gcd:n.iushln(u)}},o.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),h=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(n.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(n.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new _(t)},o.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function E(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new w;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new o(1)).iushrn(2);return this.pow(t,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new o(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,i),f=this.pow(t,i.addn(1).iushrn(1)),d=this.pow(t,i),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g=0;n--){for(var u=e.words[n],l=h-1;l>=0;l--){var c=u>>l&1;i!==r[0]&&(i=this.sqr(i)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===n&&0===l)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}h=26}return i},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new E(t)},n(E,_),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,t)})).BN;let s=!1,a=!1;const h={debug:1,default:2,info:2,warning:3,error:4,off:5};let u=h.default,l=null;const c=function(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(r){t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();var f,d;!function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(f||(f={})),function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(d||(d={}));class m{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const r=t.toLowerCase();null==h[r]&&this.throwArgumentError("invalid log level name","logLevel",t),u>h[r]||console.log.apply(console,e)}debug(...t){this._log(m.levels.DEBUG,t)}info(...t){this._log(m.levels.INFO,t)}warn(...t){this._log(m.levels.WARNING,t)}makeError(t,e,r){if(a)return this.makeError("censored error",e,{});e||(e=m.errors.UNKNOWN_ERROR),r||(r={});const n=[];Object.keys(r).forEach(t=>{try{n.push(t+"="+JSON.stringify(r[t]))}catch(e){n.push(t+"="+JSON.stringify(r[t].toString()))}}),n.push("code="+e),n.push("version="+this.version);const i=t;n.length&&(t+=" ("+n.join(", ")+")");const o=new Error(t);return o.reason=i,o.code=e,Object.keys(r).forEach((function(t){o[t]=r[t]})),o}throwError(t,e,r){throw this.makeError(t,e,r)}throwArgumentError(t,e,r){return this.throwError(t,m.errors.INVALID_ARGUMENT,{argument:e,value:r})}checkNormalize(t){null==t&&(t="platform missing String.prototype.normalize"),c&&this.throwError("platform missing String.prototype.normalize",m.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:c})}checkSafeUint53(t,e){"number"==typeof t&&(null==e&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,r){r=r?": "+r:"",te&&this.throwError("too many arguments"+r,m.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){t!==Object&&null!=t||this.throwError("missing new",m.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",m.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",m.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return l||(l=new m("logger/5.0.2")),l}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),s){if(!t)return;this.globalLogger().throwError("error censorship permanent",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}a=!!t,s=!!e}static setLogLevel(t){const e=h[t];null!=e?u=e:m.globalLogger().warn("invalid log level - "+t)}}m.errors=d,m.levels=f;var p=Object.freeze({get LogLevel(){return f},get ErrorCode(){return d},Logger:m});const g=new m("bytes/5.0.1");function v(t){return!!t.toHexString}function y(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return y(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function w(t){return A(t)&&!(t.length%2)||b(t)}function b(t){if(null==t)return!1;if(t.constructor===Uint8Array)return!0;if("string"==typeof t)return!1;if(null==t.length)return!1;for(let e=0;e=256||r%1)return!1}return!0}function M(t,e){if(e||(e={}),"number"==typeof t){g.checkSafeUint53(t,"invalid arrayify value");const e=[];for(;t;)e.unshift(255&t),t=parseInt(String(t/256));return 0===e.length&&e.push(0),y(new Uint8Array(e))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),v(t)&&(t=t.toHexString()),A(t)){let r=t.substring(2);r.length%2&&("left"===e.hexPad?r="0x0"+r.substring(2):"right"===e.hexPad?r+="0":g.throwArgumentError("hex data is odd-length","value",t));const n=[];for(let t=0;tM(t)),r=e.reduce((t,e)=>t+e.length,0),n=new Uint8Array(r);return e.reduce((t,e)=>(n.set(e,t),t+e.length),0),y(n)}function E(t){let e=M(t);if(0===e.length)return e;let r=0;for(;re&&g.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(e);return r.set(t,e-t.length),y(r)}function A(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}function S(t,e){if(e||(e={}),"number"==typeof t){g.checkSafeUint53(t,"invalid hexlify value");let e="";for(;t;)e="0123456789abcdef"[15&t]+e,t=Math.floor(t/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),v(t))return t.toHexString();if(A(t))return t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":g.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(b(t)){let e="0x";for(let r=0;r>4]+"0123456789abcdef"[15&n]}return e}return g.throwArgumentError("invalid hexlify value","value",t)}function N(t){if("string"!=typeof t)t=S(t);else if(!A(t)||t.length%2)return null;return(t.length-2)/2}function P(t,e,r){return"string"!=typeof t?t=S(t):(!A(t)||t.length%2)&&g.throwArgumentError("invalid hexData","value",t),e=2+2*e,null!=r?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function x(t){const e=T(S(t,{hexPad:"left"}));return"0x"===e?"0x0":e}function T(t){"string"!=typeof t&&(t=S(t)),A(t)||g.throwArgumentError("invalid hex string","value",t),t=t.substring(2);let e=0;for(;e2*e+2&&g.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function I(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(w(t)){const r=M(t);65!==r.length&&g.throwArgumentError("invalid signature string; must be 65 bytes","signature",t),e.r=S(r.slice(0,32)),e.s=S(r.slice(32,64)),e.v=r[64],e.recoveryParam=1-e.v%2,e.v<27&&(0===e.v||1===e.v?e.v+=27:g.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam&&(r[32]|=128),e._vs=S(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){const r=k(M(e._vs),32);e._vs=S(r);const n=r[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=n:e.recoveryParam!==n&&g.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),r[0]&=127;const i=S(r);null==e.s?e.s=i:e.s!==i&&g.throwArgumentError("signature v mismatch _vs","signature",t)}null==e.recoveryParam?null==e.v?g.throwArgumentError("signature missing v and recoveryParam","signature",t):e.recoveryParam=1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==1-e.v%2&&g.throwArgumentError("signature recoveryParam mismatch v","signature",t),null!=e.r&&A(e.r)?e.r=R(e.r,32):g.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&A(e.s)?e.s=R(e.s,32):g.throwArgumentError("signature missing or invalid s","signature",t);const r=M(e.s);r[0]>=128&&g.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);const n=S(r);e._vs&&(A(e._vs)||g.throwArgumentError("signature invalid _vs","signature",t),e._vs=R(e._vs,32)),null==e._vs?e._vs=n:e._vs!==n&&g.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e}function C(t){return S(_([(t=I(t)).r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}var B=Object.freeze({isBytesLike:w,isBytes:b,arrayify:M,concat:_,stripZeros:E,zeroPad:k,isHexString:A,hexlify:S,hexDataLength:N,hexDataSlice:P,hexConcat:function(t){let e="0x";return t.forEach(t=>{e+=S(t).substring(2)}),e},hexValue:x,hexStripZeros:T,hexZeroPad:R,splitSignature:I,joinSignature:C});const O=new m("bignumber/5.0.1"),F={};class L{constructor(t,e){O.checkNew(new.target,L),t!==F&&O.throwError("cannot call constructor directly; use BigNumber.from",m.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return D(j(this).fromTwos(t))}toTwos(t){return D(j(this).toTwos(t))}abs(){return"-"===this._hex[0]?L.from(this._hex.substring(1)):this}add(t){return D(j(this).add(j(t)))}sub(t){return D(j(this).sub(j(t)))}div(t){return L.from(t).isZero()&&z("division by zero","div"),D(j(this).div(j(t)))}mul(t){return D(j(this).mul(j(t)))}mod(t){const e=j(t);return e.isNeg()&&z("cannot modulo negative values","mod"),D(j(this).umod(e))}pow(t){return D(j(this).pow(j(t)))}and(t){const e=j(t);return(this.isNegative()||e.isNeg())&&z("cannot 'and' negative values","and"),D(j(this).and(e))}or(t){const e=j(t);return(this.isNegative()||e.isNeg())&&z("cannot 'or' negative values","or"),D(j(this).or(e))}xor(t){const e=j(t);return(this.isNegative()||e.isNeg())&&z("cannot 'xor' negative values","xor"),D(j(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&z("cannot mask negative values","mask"),D(j(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&z("cannot shift negative values","shl"),D(j(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&z("cannot shift negative values","shr"),D(j(this).shrn(t))}eq(t){return j(this).eq(j(t))}lt(t){return j(this).lt(j(t))}lte(t){return j(this).lte(j(t))}gt(t){return j(this).gt(j(t))}gte(t){return j(this).gte(j(t))}isNegative(){return"-"===this._hex[0]}isZero(){return j(this).isZero()}toNumber(){try{return j(this).toNumber()}catch(t){z("overflow","toNumber",this.toString())}return null}toString(){return 0!==arguments.length&&O.throwError("bigNumber.toString does not accept parameters",m.errors.UNEXPECTED_ARGUMENT,{}),j(this).toString(10)}toHexString(){return this._hex}static from(t){return t instanceof L?t:"string"==typeof t?t.match(/-?0x[0-9a-f]+/i)?new L(F,U(t)):t.match(/^-?[0-9]+$/)?new L(F,U(new o(t))):O.throwArgumentError("invalid BigNumber string","value",t):"number"==typeof t?(t%1&&z("underflow","BigNumber.from",t),(t>=9007199254740991||t<=-9007199254740991)&&z("overflow","BigNumber.from",t),L.from(String(t))):"bigint"==typeof t?L.from(t.toString()):b(t)?L.from(S(t)):t._hex&&A(t._hex)?L.from(t._hex):t.toHexString&&"string"==typeof(t=t.toHexString())?L.from(t):O.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function U(t){if("string"!=typeof t)return U(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&O.throwArgumentError("invalid hex","value",t),"0x00"===(t=U(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function D(t){return L.from(U(t))}function j(t){const e=L.from(t).toHexString();return"-"===e[0]?new o("-"+e.substring(3),16):new o(e.substring(2),16)}function z(t,e,r){const n={fault:t,operation:e};return null!=r&&(n.value=r),O.throwError(t,m.errors.NUMERIC_FAULT,n)}const q=new m("bignumber/5.0.1"),K={},H=L.from(0),G=L.from(-1);function V(t,e,r,n){const i={fault:e,operation:r};return void 0!==n&&(i.value=n),q.throwError(t,m.errors.NUMERIC_FAULT,i)}let W="0";for(;W.length<256;)W+=W;function J(t){if("number"!=typeof t)try{t=L.from(t).toNumber()}catch(t){}return"number"==typeof t&&t>=0&&t<=256&&!(t%1)?"1"+W.substring(0,t):q.throwArgumentError("invalid decimal size","decimals",t)}function Z(t,e){null==e&&(e=0);const r=J(e),n=(t=L.from(t)).lt(H);n&&(t=t.mul(G));let i=t.mod(r).toString();for(;i.length2&&q.throwArgumentError("too many decimal points","value",t);let o=i[0],s=i[1];for(o||(o="0"),s||(s="0"),s.length>r.length-1&&V("fractional component exceeds decimals","underflow","parseFixed");s.lengthnull==t[e]?n:(typeof t[e]!==r&&q.throwArgumentError("invalid fixed format ("+e+" not "+r+")","format."+e,t[e]),t[e]);e=i("signed","boolean",e),r=i("width","number",r),n=i("decimals","number",n)}return r%8&&q.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),n>80&&q.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new $(K,e,r,n)}}class Q{constructor(t,e,r,n){q.checkNew(new.target,Q),this.format=n,this._hex=e,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(t){this.format.name!==t.format.name&&q.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)}addUnsafe(t){this._checkFormat(t);const e=X(this._value,this.format.decimals),r=X(t._value,t.format.decimals);return Q.fromValue(e.add(r),this.format.decimals,this.format)}subUnsafe(t){this._checkFormat(t);const e=X(this._value,this.format.decimals),r=X(t._value,t.format.decimals);return Q.fromValue(e.sub(r),this.format.decimals,this.format)}mulUnsafe(t){this._checkFormat(t);const e=X(this._value,this.format.decimals),r=X(t._value,t.format.decimals);return Q.fromValue(e.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(t){this._checkFormat(t);const e=X(this._value,this.format.decimals),r=X(t._value,t.format.decimals);return Q.fromValue(e.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}round(t){null==t&&(t=0),(t<0||t>80||t%1)&&q.throwArgumentError("invalid decimal count","decimals",t);let e=this.toString().split(".");if(e[1].length<=t)return this;const r="0."+W.substring(0,t)+"5";return e=this.addUnsafe(Q.fromString(r,this.format))._value.split("."),Q.fromString(e[0]+"."+e[1].substring(0,t))}toString(){return this._value}toHexString(t){if(null==t)return this._hex;t%8&&q.throwArgumentError("invalid byte width","width",t);return R(L.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString(),t/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return Q.fromString(this._value,t)}static fromValue(t,e,r){return null!=r||null==e||function(t){return null!=t&&(L.isBigNumber(t)||"number"==typeof t&&t%1==0||"string"==typeof t&&!!t.match(/^-?[0-9]+$/)||A(t)||"bigint"==typeof t||b(t))}(e)||(r=e,e=null),null==e&&(e=0),null==r&&(r="fixed"),Q.fromString(Z(t,e),$.from(r))}static fromString(t,e){null==e&&(e="fixed");const r=$.from(e),n=X(t,r.decimals);!r.signed&&n.lt(H)&&V("unsigned value cannot be negative","overflow","value",t);let i=null;r.signed?i=n.toTwos(r.width).toHexString():(i=n.toHexString(),i=R(i,r.width/8));const o=Z(n,r.decimals);return new Q(K,i,o,r)}static fromBytes(t,e){null==e&&(e="fixed");const r=$.from(e);if(M(t).length>r.width/8)throw new Error("overflow");let n=L.from(t);r.signed&&(n=n.fromTwos(r.width));const i=n.toTwos((r.signed?0:1)+r.width).toHexString(),o=Z(n,r.decimals);return new Q(K,i,o,r)}static from(t,e){if("string"==typeof t)return Q.fromString(t,e);if(b(t))return Q.fromBytes(t,e);try{return Q.fromValue(t,0,e)}catch(t){if(t.code!==m.errors.INVALID_ARGUMENT)throw t}return q.throwArgumentError("invalid FixedNumber value","value",t)}static isFixedNumber(t){return!(!t||!t._isFixedNumber)}}var Y=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const tt=new m("properties/5.0.1");function et(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}function rt(t,e){for(let r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||"object"!=typeof t.prototype)break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function nt(t){return Y(this,void 0,void 0,(function*(){const e=Object.keys(t).map(e=>{const r=t[e];return Promise.resolve(r).then(t=>({key:e,value:t}))});return(yield Promise.all(e)).reduce((t,e)=>(t[e.key]=e.value,t),{})}))}function it(t,e){t&&"object"==typeof t||tt.throwArgumentError("invalid object","object",t),Object.keys(t).forEach(r=>{e[r]||tt.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)})}function ot(t){const e={};for(const r in t)e[r]=t[r];return e}const st={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function at(t){if(function t(e){if(null==e||st[typeof e])return!0;if(Array.isArray(e)||"object"==typeof e){if(!Object.isFrozen(e))return!1;const r=Object.keys(e);for(let n=0;nht(t)));if("object"==typeof t){const e={};for(const r in t){const n=t[r];void 0!==n&&et(e,r,ht(n))}return e}return tt.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function ht(t){return at(t)}class ut{constructor(t){for(const e in t)this[e]=ht(t[e])}}const lt=new m("abi/5.0.1"),ct={};let ft={calldata:!0,memory:!0,storage:!0},dt={calldata:!0,memory:!0};function mt(t,e){if("bytes"===t||"string"===t){if(ft[e])return!0}else if("address"===t){if("payable"===e)return!0}else if((t.indexOf("[")>=0||"tuple"===t)&&dt[e])return!0;return(ft[e]||"payable"===e)&<.throwArgumentError("invalid modifier","name",e),!1}function pt(t,e){for(let r in e)et(t,r,e[r])}const gt=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),vt=new RegExp(/^(.*)\[([0-9]*)\]$/);class yt{constructor(t,e){t!==ct&<.throwError("use fromString",m.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),pt(this,e);let r=this.type.match(vt);pt(this,r?{arrayLength:parseInt(r[2]||"-1"),arrayChildren:yt.fromObject({type:r[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(t){if(t||(t=gt.sighash),gt[t]||lt.throwArgumentError("invalid format type","format",t),t===gt.json){let e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map(e=>JSON.parse(e.format(t)))),JSON.stringify(e)}let e="";return"array"===this.baseType?(e+=this.arrayChildren.format(t),e+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(t!==gt.sighash&&(e+=this.type),e+="("+this.components.map(e=>e.format(t)).join(t===gt.full?", ":",")+")"):e+=this.type,t!==gt.sighash&&(!0===this.indexed&&(e+=" indexed"),t===gt.full&&this.name&&(e+=" "+this.name)),e}static from(t,e){return"string"==typeof t?yt.fromString(t,e):yt.fromObject(t)}static fromObject(t){return yt.isParamType(t)?t:new yt(ct,{name:t.name||null,type:Nt(t.type),indexed:null==t.indexed?null:!!t.indexed,components:t.components?t.components.map(yt.fromObject):null})}static fromString(t,e){return function(t){return yt.fromObject({name:t.name,type:t.type,indexed:t.indexed,components:t.components})}(function(t,e){let r=t;function n(e){lt.throwArgumentError("unexpected character at position "+e,"param",t)}function i(t){let r={type:"",name:"",parent:t,state:{allowType:!0}};return e&&(r.indexed=!1),r}t=t.replace(/\s/g," ");let o={type:"",name:"",state:{allowType:!0}},s=o;for(let r=0;ryt.fromString(t,e))}class bt{constructor(t,e){t!==ct&<.throwError("use a static from method",m.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),pt(this,e),this._isFragment=!0,Object.freeze(this)}static from(t){return bt.isFragment(t)?t:"string"==typeof t?bt.fromString(t):bt.fromObject(t)}static fromObject(t){if(bt.isFragment(t))return t;switch(t.type){case"function":return St.fromObject(t);case"event":return Mt.fromObject(t);case"constructor":return At.fromObject(t);case"fallback":case"receive":return null}return lt.throwArgumentError("invalid fragment object","value",t)}static fromString(t){return"event"===(t=(t=(t=t.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?Mt.fromString(t.substring(5).trim()):"function"===t.split(" ")[0]?St.fromString(t.substring(8).trim()):"constructor"===t.split("(")[0].trim()?At.fromString(t.trim()):lt.throwArgumentError("unsupported fragment","value",t)}static isFragment(t){return!(!t||!t._isFragment)}}class Mt extends bt{format(t){if(t||(t=gt.sighash),gt[t]||lt.throwArgumentError("invalid format type","format",t),t===gt.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e="";return t!==gt.sighash&&(e+="event "),e+=this.name+"("+this.inputs.map(e=>e.format(t)).join(t===gt.full?", ":",")+") ",t!==gt.sighash&&this.anonymous&&(e+="anonymous "),e.trim()}static from(t){return"string"==typeof t?Mt.fromString(t):Mt.fromObject(t)}static fromObject(t){if(Mt.isEventFragment(t))return t;"event"!==t.type&<.throwArgumentError("invalid event object","value",t);const e={name:xt(t.name),anonymous:t.anonymous,inputs:t.inputs?t.inputs.map(yt.fromObject):[],type:"event"};return new Mt(ct,e)}static fromString(t){let e=t.match(Tt);e||lt.throwArgumentError("invalid event string","value",t);let r=!1;return e[3].split(" ").forEach(t=>{switch(t.trim()){case"anonymous":r=!0;break;case"":break;default:lt.warn("unknown modifier: "+t)}}),Mt.fromObject({name:e[1].trim(),anonymous:r,inputs:wt(e[2],!0),type:"event"})}static isEventFragment(t){return t&&t._isFragment&&"event"===t.type}}function _t(t,e){e.gas=null;let r=t.split("@");return 1!==r.length?(r.length>2&<.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||lt.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=L.from(r[1]),r[0]):t}function Et(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach(t=>{switch(t.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+t)}})}function kt(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return null!=t.stateMutability?(e.stateMutability=t.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=t.constant&&!!t.constant!==e.constant&<.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable="payable"===e.stateMutability,null!=t.payable&&!!t.payable!==e.payable&<.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):null!=t.payable?(e.payable=!!t.payable,null!=t.constant||e.payable||"constructor"===t.type||lt.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&<.throwArgumentError("cannot have constant payable function","value",t)):null!=t.constant?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==t.type&<.throwArgumentError("unable to determine stateMutability","value",t),e}class At extends bt{format(t){if(t||(t=gt.sighash),gt[t]||lt.throwArgumentError("invalid format type","format",t),t===gt.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});t===gt.sighash&<.throwError("cannot format a constructor for sighash",m.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let e="constructor("+this.inputs.map(e=>e.format(t)).join(t===gt.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()}static from(t){return"string"==typeof t?At.fromString(t):At.fromObject(t)}static fromObject(t){if(At.isConstructorFragment(t))return t;"constructor"!==t.type&<.throwArgumentError("invalid constructor object","value",t);let e=kt(t);e.constant&<.throwArgumentError("constructor cannot be constant","value",t);const r={name:null,type:t.type,inputs:t.inputs?t.inputs.map(yt.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?L.from(t.gas):null};return new At(ct,r)}static fromString(t){let e={type:"constructor"},r=(t=_t(t,e)).match(Tt);return r&&"constructor"===r[1].trim()||lt.throwArgumentError("invalid constructor string","value",t),e.inputs=wt(r[2].trim(),!1),Et(r[3].trim(),e),At.fromObject(e)}static isConstructorFragment(t){return t&&t._isFragment&&"constructor"===t.type}}class St extends At{format(t){if(t||(t=gt.sighash),gt[t]||lt.throwArgumentError("invalid format type","format",t),t===gt.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t))),ouputs:this.outputs.map(e=>JSON.parse(e.format(t)))});let e="";return t!==gt.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map(e=>e.format(t)).join(t===gt.full?", ":",")+") ",t!==gt.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map(e=>e.format(t)).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()}static from(t){return"string"==typeof t?St.fromString(t):St.fromObject(t)}static fromObject(t){if(St.isFunctionFragment(t))return t;"function"!==t.type&<.throwArgumentError("invalid function object","value",t);let e=kt(t);const r={type:t.type,name:xt(t.name),constant:e.constant,inputs:t.inputs?t.inputs.map(yt.fromObject):[],outputs:t.outputs?t.outputs.map(yt.fromObject):[],payable:e.payable,stateMutability:e.stateMutability,gas:t.gas?L.from(t.gas):null};return new St(ct,r)}static fromString(t){let e={type:"function"},r=(t=_t(t,e)).split(" returns ");r.length>2&<.throwArgumentError("invalid function string","value",t);let n=r[0].match(Tt);if(n||lt.throwArgumentError("invalid function signature","value",t),e.name=n[1].trim(),e.name&&xt(e.name),e.inputs=wt(n[2],!1),Et(n[3].trim(),e),r.length>1){let n=r[1].match(Tt);""==n[1].trim()&&""==n[3].trim()||lt.throwArgumentError("unexpected tokens","value",t),e.outputs=wt(n[2],!1)}else e.outputs=[];return St.fromObject(e)}static isFunctionFragment(t){return t&&t._isFragment&&"function"===t.type}}function Nt(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}const Pt=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function xt(t){return t&&t.match(Pt)||lt.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}const Tt=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");const Rt=new m("abi/5.0.1");function It(t){const e=[],r=function(t,n){if(Array.isArray(n))for(let i in n){const o=t.slice();o.push(i);try{r(o,n[i])}catch(t){e.push({path:o,error:t})}}};return r([],t),e}class Ct{constructor(t,e,r,n){this.name=t,this.type=e,this.localName=r,this.dynamic=n}_throwError(t,e){Rt.throwArgumentError(t,this.localName,e)}}class Bt{constructor(t){et(this,"wordSize",t||32),this._data=M([]),this._padding=new Uint8Array(t)}get data(){return S(this._data)}get length(){return this._data.length}_writeData(t){return this._data=_([this._data,t]),t.length}writeBytes(t){let e=M(t);return e.length%this.wordSize&&(e=_([e,this._padding.slice(e.length%this.wordSize)])),this._writeData(e)}_getValue(t){let e=M(L.from(t));return e.length>this.wordSize&&Rt.throwError("value out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=_([this._padding.slice(e.length%this.wordSize),e])),e}writeValue(t){return this._writeData(this._getValue(t))}writeUpdatableValue(){let t=this.length;return this.writeValue(0),e=>{this._data.set(this._getValue(e),t)}}}class Ot{constructor(t,e,r){et(this,"_data",M(t)),et(this,"wordSize",e||32),et(this,"_coerceFunc",r),this._offset=0}get data(){return S(this._data)}get consumed(){return this._offset}static coerce(t,e){let r=t.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(e=e.toNumber()),e}coerce(t,e){return this._coerceFunc?this._coerceFunc(t,e):Ot.coerce(t,e)}_peekBytes(t,e){let r=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&Rt.throwError("data out-of-bounds",m.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r}),this._data.slice(this._offset,this._offset+r)}subReader(t){return new Ot(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc)}readBytes(t){let e=this._peekBytes(0,t);return this._offset+=e.length,e.slice(0,t)}readValue(){return L.from(this.readBytes(this.wordSize))}}var Ft=r((function(e){ /** * [js-sha3]{@link https://github.com/emn178/js-sha3} * @@ -7,4 +7,4 @@ var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo * @copyright Chen, Yi-Cyuan 2015-2016 * @license MIT */ -!function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=t);for(var n=!r.JS_SHA3_NO_COMMON_JS&&e.exports,i="0123456789abcdef".split(""),o=[0,8,16,24],s=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],a=[224,256,384,512],u=["hex","buffer","arrayBuffer","array"],l=function(t,e,r){return function(n){return new b(t,e,t).update(n)[r]()}},h=function(t,e,r){return function(n,i){return new b(t,e,i).update(n)[r]()}},c=function(t,e){var r=l(t,e,"hex");r.create=function(){return new b(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}b.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,s=this.blocks,a=this.byteCount,u=this.blockCount,l=0,h=this.s;l>2]|=t[l]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(s[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=s[u],r=0;r>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+i[15&t]+i[t>>12&15]+i[t>>8&15]+i[t>>20&15]+i[t>>16&15]+i[t>>28&15]+i[t>>24&15];a%e==0&&(E(r),s=0)}return o&&(t=r[s],o>0&&(u+=i[t>>4&15]+i[15&t]),o>1&&(u+=i[t>>12&15]+i[t>>8&15]),o>2&&(u+=i[t>>20&15]+i[t>>16&15])),u},b.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var u=new Uint32Array(t);s>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;a%r==0&&E(n)}return o&&(t=a<<2,e=n[s],o>0&&(u[t]=255&e),o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u};var E=function(t){var e,r,n,i,o,a,u,l,h,c,f,d,p,m,g,v,y,w,b,E,_,k,A,S,M,N,P,x,T,I,R,C,B,O,F,U,L,D,j,z,q,K,H,G,V,W,J,Z,X,$,Q,Y,tt,et,rt,nt,it,ot,st,at,ut,lt,ht;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],l=t[4]^t[14]^t[24]^t[34]^t[44],h=t[5]^t[15]^t[25]^t[35]^t[45],c=t[6]^t[16]^t[26]^t[36]^t[46],f=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|u>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(l<<1|h>>>31),r=o^(h<<1|l>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(c<<1|f>>>31),r=u^(f<<1|c>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=l^(d<<1|p>>>31),r=h^(p<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=c^(i<<1|o>>>31),r=f^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],g=t[1],W=t[11]<<4|t[10]>>>28,J=t[10]<<4|t[11]>>>28,x=t[20]<<3|t[21]>>>29,T=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,K=t[40]<<18|t[41]>>>14,H=t[41]<<18|t[40]>>>14,O=t[2]<<1|t[3]>>>31,F=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,Z=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,I=t[33]<<13|t[32]>>>19,R=t[32]<<13|t[33]>>>19,lt=t[42]<<2|t[43]>>>30,ht=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,U=t[14]<<6|t[15]>>>26,L=t[15]<<6|t[14]>>>26,w=t[25]<<11|t[24]>>>21,b=t[24]<<11|t[25]>>>21,$=t[34]<<15|t[35]>>>17,Q=t[35]<<15|t[34]>>>17,C=t[45]<<29|t[44]>>>3,B=t[44]<<29|t[45]>>>3,S=t[6]<<28|t[7]>>>4,M=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,D=t[26]<<25|t[27]>>>7,j=t[27]<<25|t[26]>>>7,E=t[36]<<21|t[37]>>>11,_=t[37]<<21|t[36]>>>11,Y=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,N=t[18]<<20|t[19]>>>12,P=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,st=t[28]<<7|t[29]>>>25,z=t[38]<<8|t[39]>>>24,q=t[39]<<8|t[38]>>>24,k=t[48]<<14|t[49]>>>18,A=t[49]<<14|t[48]>>>18,t[0]=m^~v&w,t[1]=g^~y&b,t[10]=S^~N&x,t[11]=M^~P&T,t[20]=O^~U&D,t[21]=F^~L&j,t[30]=G^~W&Z,t[31]=V^~J&X,t[40]=et^~nt&ot,t[41]=rt^~it&st,t[2]=v^~w&E,t[3]=y^~b&_,t[12]=N^~x&I,t[13]=P^~T&R,t[22]=U^~D&z,t[23]=L^~j&q,t[32]=W^~Z&$,t[33]=J^~X&Q,t[42]=nt^~ot&at,t[43]=it^~st&ut,t[4]=w^~E&k,t[5]=b^~_&A,t[14]=x^~I&C,t[15]=T^~R&B,t[24]=D^~z&K,t[25]=j^~q&H,t[34]=Z^~$&Y,t[35]=X^~Q&tt,t[44]=ot^~at<,t[45]=st^~ut&ht,t[6]=E^~k&m,t[7]=_^~A&g,t[16]=I^~C&S,t[17]=R^~B&M,t[26]=z^~K&O,t[27]=q^~H&F,t[36]=$^~Y&G,t[37]=Q^~tt&V,t[46]=at^~lt&et,t[47]=ut^~ht&rt,t[8]=k^~m&v,t[9]=A^~g&y,t[18]=C^~S&N,t[19]=B^~M&P,t[28]=K^~O&U,t[29]=H^~F&L,t[38]=Y^~G&W,t[39]=tt^~V&J,t[48]=lt^~et&nt,t[49]=ht^~rt&it,t[0]^=s[n],t[1]^=s[n+1]};if(n)e.exports=d;else for(m=0;m>=8;return e}function zt(t,e,r){let n=0;for(let i=0;ie+1+n&&Dt.throwError("child data too short",m.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:i}}function Ht(t,e){if(0===t.length&&Dt.throwError("data too short",m.errors.BUFFER_OVERRUN,{}),t[e]>=248){const r=t[e]-247;e+1+r>t.length&&Dt.throwError("data short segment too short",m.errors.BUFFER_OVERRUN,{});const n=zt(t,e+1,r);return e+1+r+n>t.length&&Dt.throwError("data long segment too short",m.errors.BUFFER_OVERRUN,{}),Kt(t,e,e+1+r,r+n)}if(t[e]>=192){const r=t[e]-192;return e+1+r>t.length&&Dt.throwError("data array too short",m.errors.BUFFER_OVERRUN,{}),Kt(t,e,e+1,r)}if(t[e]>=184){const r=t[e]-183;e+1+r>t.length&&Dt.throwError("data array too short",m.errors.BUFFER_OVERRUN,{});const n=zt(t,e+1,r);return e+1+r+n>t.length&&Dt.throwError("data array too short",m.errors.BUFFER_OVERRUN,{}),{consumed:1+r+n,result:N(t.slice(e+1+r,e+1+r+n))}}if(t[e]>=128){const r=t[e]-128;return e+1+r>t.length&&Dt.throwError("data too short",m.errors.BUFFER_OVERRUN,{}),{consumed:1+r,result:N(t.slice(e+1,e+1+r))}}return{consumed:1,result:N(t[e])}}function Gt(t){const e=_(t),r=Ht(e,0);return r.consumed!==e.length&&Dt.throwArgumentError("invalid rlp data","data",t),r.result}var Vt=Object.freeze({encode:qt,decode:Gt});const Wt=new m("address/5.0.1");function Jt(t){M(t,20)||Wt.throwArgumentError("invalid address","address",t);const e=(t=t.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let t=0;t<40;t++)r[t]=e[t].charCodeAt(0);const n=_(Lt(r));for(let t=0;t<40;t+=2)n[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&n[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}const Zt={};for(let t=0;t<10;t++)Zt[String(t)]=String(t);for(let t=0;t<26;t++)Zt[String.fromCharCode(65+t)]=String(10+t);const Xt=Math.floor(($t=9007199254740991,Math.log10?Math.log10($t):Math.log($t)/Math.LN10));var $t;function Qt(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map(t=>Zt[t]).join("");for(;e.length>=Xt;){let t=e.substring(0,Xt);e=parseInt(t,10)%97+e.substring(t.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function Yt(t){let e=null;if("string"!=typeof t&&Wt.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=Jt(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&Wt.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==Qt(t)&&Wt.throwArgumentError("bad icap checksum","address",t),e=new s(t.substring(4),36).toString(16);e.length<40;)e="0"+e;e=Jt("0x"+e)}else Wt.throwArgumentError("invalid address","address",t);return e}function te(t){let e=null;try{e=Yt(t.from)}catch(e){Wt.throwArgumentError("missing from address","transaction",t)}return Yt(x(Lt(qt([e,A(_(L.from(t.nonce).toHexString()))])),12))}class ee extends Bt{constructor(t){super("address","address",t,!1)}encode(t,e){try{Yt(e)}catch(t){this._throwError(t.message,e)}return t.writeValue(e)}decode(t){return Yt(R(t.readValue().toHexString(),20))}}class re extends Bt{constructor(t){super(t.name,t.type,void 0,t.dynamic),this.coder=t}encode(t,e){return this.coder.encode(t,e)}decode(t){return this.coder.decode(t)}}const ne=new m("abi/5.0.1");function ie(t,e,r){let n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){let t={};n=e.map(e=>{const n=e.localName;return n||ne.throwError("cannot encode object for signature with missing names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),t[n]&&ne.throwError("cannot encode object for signature with duplicate names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),t[n]=!0,r[n]})}else ne.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&ne.throwArgumentError("types/value length mismatch","tuple",r);let i=new Ot(t.wordSize),o=new Ot(t.wordSize),s=[];e.forEach((t,e)=>{let r=n[e];if(t.dynamic){let e=o.length;t.encode(o,r);let n=i.writeUpdatableValue();s.push(t=>{n(t+e)})}else t.encode(i,r)}),s.forEach(t=>{t(i.length)});let a=t.writeBytes(i.data);return a+=t.writeBytes(o.data),a}function oe(t,e){let r=[],n=t.subReader(0),i=0;e.forEach(e=>{let o=null;if(e.dynamic){let r=t.readValue(),s=n.subReader(r.toNumber());try{o=e.decode(s)}catch(t){if(t.code===m.errors.BUFFER_OVERRUN)throw t;o=t,o.baseType=e.name,o.name=e.localName,o.type=e.type}i+=s.consumed}else try{o=e.decode(t)}catch(t){if(t.code===m.errors.BUFFER_OVERRUN)throw t;o=t,o.baseType=e.name,o.name=e.localName,o.type=e.type}null!=o&&r.push(o)}),t.readBytes(i);const o=e.reduce((t,e)=>{const r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t},{});e.forEach((t,e)=>{let n=t.localName;if(!n||1!==o[n])return;if("length"===n&&(n="_length"),null!=r[n])return;const i=r[e];i instanceof Error?Object.defineProperty(r,n,{get:()=>{throw i}}):r[n]=i});for(let t=0;t{throw e}})}return Object.freeze(r)}class se extends Bt{constructor(t,e,r){super("array",t.type+"["+(e>=0?e:"")+"]",r,-1===e||t.dynamic),this.coder=t,this.length=e}encode(t,e){Array.isArray(e)||this._throwError("expected array value",e);let r=this.length;-1===r&&(r=e.length,t.writeValue(e.length)),ne.checkArgumentCount(r,e.length,"coder array"+(this.localName?" "+this.localName:""));let n=[];for(let t=0;t>6==2;n++)t++;return t}return t===Ae.OVERRUN?r.length-e-1:0}!function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(ke||(ke={})),function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}(Ae||(Ae={}));const Me=Object.freeze({error:function(t,e,r,n,i){return _e.throwArgumentError(`invalid codepoint at offset ${e}; ${t}`,"bytes",r)},ignore:Se,replace:function(t,e,r,n,i){return t===Ae.OVERLONG?(n.push(i),0):(n.push(65533),Se(t,e,r))}});function Ne(t,e){null==e&&(e=Me.error),t=_(t);const r=[];let n=0;for(;n>7==0){r.push(i);continue}let o=null,s=null;if(192==(224&i))o=1,s=127;else if(224==(240&i))o=2,s=2047;else{if(240!=(248&i)){n+=e(128==(192&i)?Ae.UNEXPECTED_CONTINUE:Ae.BAD_PREFIX,n-1,t,r);continue}o=3,s=65535}if(n-1+o>=t.length){n+=e(Ae.OVERRUN,n-1,t,r);continue}let a=i&(1<<8-o-1)-1;for(let i=0;i1114111?n+=e(Ae.OUT_OF_RANGE,n-1-o,t,r,a):a>=55296&&a<=57343?n+=e(Ae.UTF16_SURROGATE,n-1-o,t,r,a):a<=s?n+=e(Ae.OVERLONG,n-1-o,t,r,a):r.push(a))}return r}function Pe(t,e=ke.current){e!=ke.current&&(_e.checkNormalize(),t=t.normalize(e));let r=[];for(let e=0;e>6|192),r.push(63&n|128);else if(55296==(64512&n)){e++;const i=t.charCodeAt(e);if(e>=t.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const o=65536+((1023&n)<<10)+(1023&i);r.push(o>>18|240),r.push(o>>12&63|128),r.push(o>>6&63|128),r.push(63&o|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return _(r)}function xe(t){const e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function Te(t){return t.map(t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t)))).join("")}function Ie(t,e){return Te(Ne(t,e))}function Re(t,e=ke.current){return Ne(Pe(t,e))}function Ce(t,e){e||(e=function(t){return[parseInt(t,16)]});let r=0,n={};return t.split(",").forEach(t=>{let i=t.split(":");r+=parseInt(i[0],16),n[r]=e(i[1])}),n}function Be(t){let e=0;return t.split(",").map(t=>{let r=t.split("-");1===r.length?r[1]="0":""===r[1]&&(r[1]="1");let n=e+parseInt(r[0],16);return e=parseInt(r[1],16),{l:n,h:e}})}function Oe(t,e){let r=0;for(let n=0;n=r&&t<=r+i.h&&(t-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(t-r))continue;return i}}return null}const Fe=Be("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),Ue="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(t=>parseInt(t,16)),Le=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],De=Ce("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),je=Ce("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),ze=Ce("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(t){if(t.length%4!=0)throw new Error("bad data");let e=[];for(let r=0;r{if(Ue.indexOf(t)>=0)return[];if(t>=65024&&t<=65039)return[];let e=function(t){let e=Oe(t,Le);if(e)return[t+e.s];let r=De[t];if(r)return r;let n=je[t];if(n)return[t+n[0]];let i=ze[t];return i||null}(t);return e||[t]}),e=r.reduce((t,e)=>(e.forEach(e=>{t.push(e)}),t),[]),e=Re(Te(e),ke.NFKC),e.forEach(t=>{if(Oe(t,qe))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),e.forEach(t=>{if(Oe(t,Fe))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let n=Te(e);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}class He extends ue{constructor(t){super("string",t)}encode(t,e){return super.encode(t,Pe(e))}decode(t){return Ie(super.decode(t))}}class Ge extends Bt{constructor(t,e){let r=!1;const n=[];t.forEach(t=>{t.dynamic&&(r=!0),n.push(t.type)}),super("tuple","tuple("+n.join(",")+")",e,r),this.coders=t}encode(t,e){return ie(t,this.coders,e)}decode(t){return t.coerce(this.name,oe(t,this.coders))}}const Ve=new m("abi/5.0.1"),We=new RegExp(/^bytes([0-9]*)$/),Je=new RegExp(/^(u?int)([0-9]*)$/);class Ze{constructor(t){Ve.checkNew(new.target,Ze),rt(this,"coerceFunc",t||null)}_getCoder(t){switch(t.baseType){case"address":return new ee(t.name);case"bool":return new ae(t.name);case"string":return new He(t.name);case"bytes":return new le(t.name);case"array":return new se(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new Ge((t.components||[]).map(t=>this._getCoder(t)),t.name);case"":return new ce(t.name)}let e=t.type.match(Je);if(e){let r=parseInt(e[2]||"256");return(0===r||r>256||r%8!=0)&&Ve.throwArgumentError("invalid "+e[1]+" bit length","param",t),new Ee(r/8,"int"===e[1],t.name)}if(e=t.type.match(We),e){let r=parseInt(e[1]);return(0===r||r>32)&&Ve.throwArgumentError("invalid bytes length","param",t),new he(r,t.name)}return Ve.throwArgumentError("invalid type","type",t.type)}_getWordSize(){return 32}_getReader(t){return new Ft(t,this._getWordSize(),this.coerceFunc)}_getWriter(){return new Ot(this._getWordSize())}encode(t,e){t.length!==e.length&&Ve.throwError("types/values length mismatch",m.errors.INVALID_ARGUMENT,{count:{types:t.length,values:e.length},value:{types:t,values:e}});const r=t.map(t=>this._getCoder(wt.from(t))),n=new Ge(r,"_"),i=this._getWriter();return n.encode(i,e),i.data}decode(t,e){const r=t.map(t=>this._getCoder(wt.from(t)));return new Ge(r,"_").decode(this._getReader(_(e)))}}const Xe=new Ze,$e=new m("hash/5.0.1"),Qe=new Uint8Array([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]),Ye=new RegExp("^((.*)\\.)?([^.]+)$");function tr(t){"string"!=typeof t&&$e.throwArgumentError("invalid address - "+String(t),"name",t);let e=Qe;for(;t.length;){const r=t.match(Ye);e=Lt(k([e,Lt(Pe(Ke(r[3])))])),t=r[2]||""}return N(e)}function er(t){return Lt(Pe(t))}function rr(t){return"string"==typeof t&&(t=Pe(t)),Lt(k([Pe("Ethereum Signed Message:\n"),Pe(String(t.length)),t]))}const nr=new m("abi/5.0.1");class ir extends ht{}class or extends ht{}class sr extends ht{static isIndexed(t){return!(!t||!t._isIndexed)}}function ar(t,e){const r=new Error("deferred error during ABI decoding triggered accessing "+t);return r.error=e,r}class ur{constructor(t){nr.checkNew(new.target,ur);let e=[];e="string"==typeof t?JSON.parse(t):t,rt(this,"fragments",e.map(t=>Et.from(t)).filter(t=>null!=t)),rt(this,"_abiCoder",nt(new.target,"getAbiCoder")()),rt(this,"functions",{}),rt(this,"errors",{}),rt(this,"events",{}),rt(this,"structs",{}),this.fragments.forEach(t=>{let e=null;switch(t.type){case"constructor":return this.deploy?void nr.warn("duplicate definition - constructor"):void rt(this,"deploy",t);case"function":e=this.functions;break;case"event":e=this.events;break;default:return}let r=t.format();e[r]?nr.warn("duplicate definition - "+r):e[r]=t}),this.deploy||rt(this,"deploy",Mt.from({payable:!1,type:"constructor"})),rt(this,"_isInterface",!0)}format(t){t||(t=vt.full),t===vt.sighash&&nr.throwArgumentError("interface does not support formatting sighash","format",t);const e=this.fragments.map(e=>e.format(t));return t===vt.json?JSON.stringify(e.map(t=>JSON.parse(t))):e}static getAbiCoder(){return Xe}static getAddress(t){return Yt(t)}static getSighash(t){return x(er(t.format()),0,4)}static getEventTopic(t){return er(t.format())}getFunction(t){if(M(t)){for(const e in this.functions)if(t===this.getSighash(e))return this.functions[e];nr.throwArgumentError("no matching function","sighash",t)}if(-1===t.indexOf("(")){const e=t.trim(),r=Object.keys(this.functions).filter(t=>t.split("(")[0]===e);return 0===r.length?nr.throwArgumentError("no matching function","name",e):r.length>1&&nr.throwArgumentError("multiple matching functions","name",e),this.functions[r[0]]}const e=this.functions[Nt.fromString(t).format()];return e||nr.throwArgumentError("no matching function","signature",t),e}getEvent(t){if(M(t)){const e=t.toLowerCase();for(const t in this.events)if(e===this.getEventTopic(t))return this.events[t];nr.throwArgumentError("no matching event","topichash",e)}if(-1===t.indexOf("(")){const e=t.trim(),r=Object.keys(this.events).filter(t=>t.split("(")[0]===e);return 0===r.length?nr.throwArgumentError("no matching event","name",e):r.length>1&&nr.throwArgumentError("multiple matching events","name",e),this.events[r[0]]}const e=this.events[_t.fromString(t).format()];return e||nr.throwArgumentError("no matching event","signature",t),e}getSighash(t){return"string"==typeof t&&(t=this.getFunction(t)),nt(this.constructor,"getSighash")(t)}getEventTopic(t){return"string"==typeof t&&(t=this.getEvent(t)),nt(this.constructor,"getEventTopic")(t)}_decodeParams(t,e){return this._abiCoder.decode(t,e)}_encodeParams(t,e){return this._abiCoder.encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeFunctionData(t,e){"string"==typeof t&&(t=this.getFunction(t));const r=_(e);return N(r.slice(0,4))!==this.getSighash(t)&&nr.throwArgumentError(`data signature does not match function ${t.name}.`,"data",N(r)),this._decodeParams(t.inputs,r.slice(4))}encodeFunctionData(t,e){return"string"==typeof t&&(t=this.getFunction(t)),N(k([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))}decodeFunctionResult(t,e){"string"==typeof t&&(t=this.getFunction(t));let r=_(e),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,r)}catch(t){}break;case 4:"0x08c379a0"===N(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return nr.throwError("call revert exception",m.errors.CALL_EXCEPTION,{method:t.format(),errorSignature:i,errorArgs:[n],reason:n})}encodeFunctionResult(t,e){return"string"==typeof t&&(t=this.getFunction(t)),N(this._abiCoder.encode(t.outputs,e||[]))}encodeFilterTopics(t,e){"string"==typeof t&&(t=this.getEvent(t)),e.length>t.inputs.length&&nr.throwError("too many arguments for "+t.format(),m.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});let r=[];t.anonymous||r.push(this.getEventTopic(t));const n=(t,e)=>"string"===t.type?er(e):"bytes"===t.type?Lt(N(e)):("address"===t.type&&this._abiCoder.encode(["address"],[e]),R(N(e),32));for(e.forEach((e,i)=>{let o=t.inputs[i];o.indexed?null==e?r.push(null):"array"===o.baseType||"tuple"===o.baseType?nr.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,e):Array.isArray(e)?r.push(e.map(t=>n(o,t))):r.push(n(o,e)):null!=e&&nr.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,e)});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(t,e){"string"==typeof t&&(t=this.getEvent(t));const r=[],n=[],i=[];return t.anonymous||r.push(this.getEventTopic(t)),e.length!==t.inputs.length&&nr.throwArgumentError("event arguments/values mismatch","values",e),t.inputs.forEach((t,o)=>{const s=e[o];if(t.indexed)if("string"===t.type)r.push(er(s));else if("bytes"===t.type)r.push(Lt(s));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");r.push(this._abiCoder.encode([t.type],[s]))}else n.push(t),i.push(s)}),{data:this._abiCoder.encode(n,i),topics:r}}decodeEventLog(t,e,r){if("string"==typeof t&&(t=this.getEvent(t)),null!=r&&!t.anonymous){let e=this.getEventTopic(t);M(r[0],32)&&r[0].toLowerCase()===e||nr.throwError("fragment/topic mismatch",m.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:e,value:r[0]}),r=r.slice(1)}let n=[],i=[],o=[];t.inputs.forEach((t,e)=>{t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(n.push(wt.fromObject({type:"bytes32",name:t.name})),o.push(!0)):(n.push(t),o.push(!1)):(i.push(t),o.push(!1))});let s=null!=r?this._abiCoder.decode(n,k(r)):null,a=this._abiCoder.decode(i,e),u=[],l=0,h=0;t.inputs.forEach((t,e)=>{if(t.indexed)if(null==s)u[e]=new sr({_isIndexed:!0,hash:null});else if(o[e])u[e]=new sr({_isIndexed:!0,hash:s[h++]});else try{u[e]=s[h++]}catch(t){u[e]=t}else try{u[e]=a[l++]}catch(t){u[e]=t}if(t.name&&null==u[t.name]){const r=u[e];r instanceof Error?Object.defineProperty(u,t.name,{get:()=>{throw ar("property "+JSON.stringify(t.name),r)}}):u[t.name]=r}});for(let t=0;t{throw ar("index "+t,e)}})}return Object.freeze(u)}parseTransaction(t){let e=this.getFunction(t.data.substring(0,10).toLowerCase());return e?new or({args:this._abiCoder.decode(e.inputs,"0x"+t.data.substring(10)),functionFragment:e,name:e.name,signature:e.format(),sighash:this.getSighash(e),value:L.from(t.value||"0")}):null}parseLog(t){let e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new ir({eventFragment:e,name:e.name,signature:e.format(),topic:this.getEventTopic(e),args:this.decodeEventLog(e,t.data,t.topics)})}static isInterface(t){return!(!t||!t._isInterface)}}const lr=new m("abstract-provider/5.0.1");class hr extends ht{static isForkEvent(t){return!(!t||!t._isForkEvent)}}class cr{constructor(){lr.checkAbstract(new.target,cr),rt(this,"_isProvider",!0)}addListener(t,e){return this.on(t,e)}removeListener(t,e){return this.off(t,e)}static isProvider(t){return!(!t||!t._isProvider)}}var fr=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const dr=new m("abstract-signer/5.0.1"),pr=["chainId","data","from","gasLimit","gasPrice","nonce","to","value"];class mr{constructor(){dr.checkAbstract(new.target,mr),rt(this,"_isSigner",!0)}getBalance(t){return fr(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),t)}))}getTransactionCount(t){return fr(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),t)}))}estimateGas(t){return fr(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const e=yield it(this.checkTransaction(t));return yield this.provider.estimateGas(e)}))}call(t,e){return fr(this,void 0,void 0,(function*(){this._checkProvider("call");const r=yield it(this.checkTransaction(t));return yield this.provider.call(r,e)}))}sendTransaction(t){return this._checkProvider("sendTransaction"),this.populateTransaction(t).then(t=>this.signTransaction(t).then(t=>this.provider.sendTransaction(t)))}getChainId(){return fr(this,void 0,void 0,(function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return fr(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}resolveName(t){return fr(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(t)}))}checkTransaction(t){for(const e in t)-1===pr.indexOf(e)&&dr.throwArgumentError("invalid transaction key: "+e,"transaction",t);const e=st(t);return null==e.from?e.from=this.getAddress():e.from=Promise.all([Promise.resolve(e.from),this.getAddress()]).then(e=>(e[0]!==e[1]&&dr.throwArgumentError("from address mismatch","transaction",t),e[0])),e}populateTransaction(t){return fr(this,void 0,void 0,(function*(){const e=yield it(this.checkTransaction(t));return null!=e.to&&(e.to=Promise.resolve(e.to).then(t=>this.resolveName(t))),null==e.gasPrice&&(e.gasPrice=this.getGasPrice()),null==e.nonce&&(e.nonce=this.getTransactionCount("pending")),null==e.gasLimit&&(e.gasLimit=this.estimateGas(e).catch(t=>dr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",m.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,tx:e}))),null==e.chainId?e.chainId=this.getChainId():e.chainId=Promise.all([Promise.resolve(e.chainId),this.getChainId()]).then(e=>(0!==e[1]&&e[0]!==e[1]&&dr.throwArgumentError("chainId address mismatch","transaction",t),e[0])),yield it(e)}))}_checkProvider(t){this.provider||dr.throwError("missing provider",m.errors.UNSUPPORTED_OPERATION,{operation:t||"_checkProvider"})}static isSigner(t){return!(!t||!t._isSigner)}}class gr extends mr{constructor(t,e){dr.checkNew(new.target,gr),super(),rt(this,"address",t),rt(this,"provider",e||null)}getAddress(){return Promise.resolve(this.address)}_fail(t,e){return Promise.resolve().then(()=>{dr.throwError(t,m.errors.UNSUPPORTED_OPERATION,{operation:e})})}signMessage(t){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(t){return this._fail("VoidSigner cannot sign transactions","signTransaction")}connect(t){return new gr(this.address,t)}}var vr=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const yr=new m("contracts/5.0.1"),wr={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function br(t,e){return vr(this,void 0,void 0,(function*(){const r=yield e;try{return Yt(r)}catch(t){}return t||yr.throwError("a provider or signer is needed to resolve ENS names",m.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"}),yield t.resolveName(r)}))}function Er(t,e,r){if(Array.isArray(r))return Promise.all(r.map((r,n)=>Er(t,Array.isArray(e)?e[n]:e[r.name],r)));if("address"===r.type)return br(t,e);if("tuple"===r.type)return Er(t,e,r.components);if("array"===r.baseType){if(!Array.isArray(e))throw new Error("invalid value for array");return Promise.all(e.map(e=>Er(t,e,r.arrayChildren)))}return Promise.resolve(e)}function _r(t,e,r){return vr(this,void 0,void 0,(function*(){let n={};r.length===e.inputs.length+1&&"object"==typeof r[r.length-1]&&(n=st(r.pop())),yr.checkArgumentCount(r.length,e.inputs.length,"passed to contract"),t.signer?n.from?n.from=it({override:br(t.signer,n.from),signer:t.signer.getAddress()}).then(t=>vr(this,void 0,void 0,(function*(){return Yt(t.signer)!==t.override&&yr.throwError("Contract with a Signer cannot override from",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),t.override}))):n.from=t.signer.getAddress():n.from&&(n.from=br(t.provider,n.from));const i=yield it({args:Er(t.signer||t.provider,r,e.inputs),address:t.resolvedAddress,overrides:it(n)||{}}),o={data:t.interface.encodeFunctionData(e,i.args),to:i.address},s=i.overrides;if(null!=s.nonce&&(o.nonce=L.from(s.nonce).toNumber()),null!=s.gasLimit&&(o.gasLimit=L.from(s.gasLimit)),null!=s.gasPrice&&(o.gasPrice=L.from(s.gasPrice)),null!=s.from&&(o.from=s.from),null==o.gasLimit&&null!=e.gas&&(o.gasLimit=L.from(e.gas).add(21e3)),s.value){const t=L.from(s.value);t.isZero()||e.payable||yr.throwError("non-payable method cannot override value",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:n.value}),o.value=t}delete n.nonce,delete n.gasLimit,delete n.gasPrice,delete n.from,delete n.value;const a=Object.keys(n).filter(t=>null!=n[t]);return a.length&&yr.throwError("cannot override "+a.map(t=>JSON.stringify(t)).join(","),m.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:a}),o}))}function kr(t,e,r){const n=t.signer||t.provider;return function(...i){return vr(this,void 0,void 0,(function*(){let o=void 0;if(i.length===e.inputs.length+1&&"object"==typeof i[i.length-1]){const t=st(i.pop());null!=t.blockTag&&(o=yield t.blockTag),delete t.blockTag,i.push(t)}null!=t.deployTransaction&&(yield t._deployed(o));const s=yield _r(t,e,i),a=yield n.call(s,o);try{let n=t.interface.decodeFunctionResult(e,a);return r&&1===e.outputs.length&&(n=n[0]),n}catch(e){throw e.code===m.errors.CALL_EXCEPTION&&(e.address=t.address,e.args=i,e.transaction=s),e}}))}}function Ar(t,e,r){return e.constant?kr(t,e,r):function(t,e){return function(...r){return vr(this,void 0,void 0,(function*(){t.signer||yr.throwError("sending a transaction requires a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=t.deployTransaction&&(yield t._deployed());const n=yield _r(t,e,r),i=yield t.signer.sendTransaction(n),o=i.wait.bind(i);return i.wait=e=>o(e).then(e=>(e.events=e.logs.map(r=>{let n=lt(r),i=null;try{i=t.interface.parseLog(r)}catch(t){}return i&&(n.args=i.args,n.decode=(e,r)=>t.interface.decodeEventLog(i.eventFragment,e,r),n.event=i.name,n.eventSignature=i.signature),n.removeListener=()=>t.provider,n.getBlock=()=>t.provider.getBlock(e.blockHash),n.getTransaction=()=>t.provider.getTransaction(e.transactionHash),n.getTransactionReceipt=()=>Promise.resolve(e),n}),e)),i}))}}(t,e)}function Sr(t){return!t.address||null!=t.topics&&0!==t.topics.length?(t.address||"*")+"@"+(t.topics?t.topics.map(t=>Array.isArray(t)?t.join("|"):t).join(":"):""):"*"}class Mr{constructor(t,e){rt(this,"tag",t),rt(this,"filter",e),this._listeners=[]}addListener(t,e){this._listeners.push({listener:t,once:e})}removeListener(t){let e=!1;this._listeners=this._listeners.filter(r=>!(!e&&r.listener===t)||(e=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(t=>t.listener)}listenerCount(){return this._listeners.length}run(t){const e=this.listenerCount();return this._listeners=this._listeners.filter(e=>{const r=t.slice();return setTimeout(()=>{e.listener.apply(this,r)},0),!e.once}),e}prepareEvent(t){}getEmit(t){return[t]}}class Nr extends Mr{constructor(){super("error",null)}}class Pr extends Mr{constructor(t,e,r,n){const i={address:t};let o=e.getEventTopic(r);n?(o!==n[0]&&yr.throwArgumentError("topic mismatch","topics",n),i.topics=n.slice()):i.topics=[o],super(Sr(i),i),rt(this,"address",t),rt(this,"interface",e),rt(this,"fragment",r)}prepareEvent(t){super.prepareEvent(t),t.event=this.fragment.name,t.eventSignature=this.fragment.format(),t.decode=(t,e)=>this.interface.decodeEventLog(this.fragment,t,e);try{t.args=this.interface.decodeEventLog(this.fragment,t.data,t.topics)}catch(e){t.args=null,t.decodeError=e}}getEmit(t){const e=Ct(t.args);if(e.length)throw e[0].error;const r=(t.args||[]).slice();return r.push(t),r}}class xr extends Mr{constructor(t,e){super("*",{address:t}),rt(this,"address",t),rt(this,"interface",e)}prepareEvent(t){super.prepareEvent(t);try{const e=this.interface.parseLog(t);t.event=e.name,t.eventSignature=e.signature,t.decode=(t,r)=>this.interface.decodeEventLog(e.eventFragment,t,r),t.args=e.args}catch(t){}}}class Tr{constructor(t,e,r){yr.checkNew(new.target,Tr),rt(this,"interface",nt(new.target,"getInterface")(e)),null==r?(rt(this,"provider",null),rt(this,"signer",null)):mr.isSigner(r)?(rt(this,"provider",r.provider||null),rt(this,"signer",r)):cr.isProvider(r)?(rt(this,"provider",r),rt(this,"signer",null)):yr.throwArgumentError("invalid signer or provider","signerOrProvider",r),rt(this,"callStatic",{}),rt(this,"estimateGas",{}),rt(this,"functions",{}),rt(this,"populateTransaction",{}),rt(this,"filters",{});{const t={};Object.keys(this.interface.events).forEach(e=>{const r=this.interface.events[e];rt(this.filters,e,(...t)=>({address:this.address,topics:this.interface.encodeFilterTopics(r,t)})),t[r.name]||(t[r.name]=[]),t[r.name].push(e)}),Object.keys(t).forEach(e=>{const r=t[e];1===r.length?rt(this.filters,e,this.filters[r[0]]):yr.warn(`Duplicate definition of ${e} (${r.join(", ")})`)})}if(rt(this,"_runningEvents",{}),rt(this,"_wrappedEmits",{}),rt(this,"address",t),this.provider)rt(this,"resolvedAddress",this.provider.resolveName(t).then(t=>{if(null==t)throw new Error("name not found");return t}).catch(e=>{throw console.log("ERROR: Cannot find Contract - "+t),e}));else try{rt(this,"resolvedAddress",Promise.resolve(Yt(t)))}catch(t){yr.throwError("provider is required to use ENS name as contract address",m.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}const n={},i={};Object.keys(this.interface.functions).forEach(t=>{const e=this.interface.functions[t];if(i[t])yr.warn("Duplicate ABI entry for "+JSON.stringify(name));else{i[t]=!0;{const r=e.name;n[r]||(n[r]=[]),n[r].push(t)}null==this[t]&&rt(this,t,Ar(this,e,!0)),null==this.functions[t]&&rt(this.functions,t,Ar(this,e,!1)),null==this.callStatic[t]&&rt(this.callStatic,t,kr(this,e,!0)),null==this.populateTransaction[t]&&rt(this.populateTransaction,t,function(t,e){return function(...r){return vr(this,void 0,void 0,(function*(){return _r(t,e,r)}))}}(this,e)),null==this.estimateGas[t]&&rt(this.estimateGas,t,function(t,e){const r=t.signer||t.provider;return function(...n){return vr(this,void 0,void 0,(function*(){r||yr.throwError("estimate require a provider or signer",m.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield _r(t,e,n);return yield r.estimateGas(i)}))}}(this,e))}}),Object.keys(n).forEach(t=>{const e=n[t];if(e.length>1)return;const r=e[0];null==this[t]&&rt(this,t,this[r]),null==this.functions[t]&&rt(this.functions,t,this.functions[r]),null==this.callStatic[t]&&rt(this.callStatic,t,this.callStatic[r]),null==this.populateTransaction[t]&&rt(this.populateTransaction,t,this.populateTransaction[r]),null==this.estimateGas[t]&&rt(this.estimateGas,t,this.estimateGas[r])})}static getContractAddress(t){return te(t)}static getInterface(t){return ur.isInterface(t)?t:new ur(t)}deployed(){return this._deployed()}_deployed(t){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,t).then(t=>("0x"===t&&yr.throwError("contract not deployed",m.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(t){this.signer||yr.throwError("sending a transactions require a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const e=st(t||{});return["from","to"].forEach((function(t){null!=e[t]&&yr.throwError("cannot override "+t,m.errors.UNSUPPORTED_OPERATION,{operation:t})})),e.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(e))}connect(t){"string"==typeof t&&(t=new gr(t,this.provider));const e=new this.constructor(this.address,this.interface,t);return this.deployTransaction&&rt(e,"deployTransaction",this.deployTransaction),e}attach(t){return new this.constructor(t,this.interface,this.signer||this.provider)}static isIndexed(t){return sr.isIndexed(t)}_normalizeRunningEvent(t){return this._runningEvents[t.tag]?this._runningEvents[t.tag]:t}_getRunningEvent(t){if("string"==typeof t){if("error"===t)return this._normalizeRunningEvent(new Nr);if("event"===t)return this._normalizeRunningEvent(new Mr("event",null));if("*"===t)return this._normalizeRunningEvent(new xr(this.address,this.interface));const e=this.interface.getEvent(t);return this._normalizeRunningEvent(new Pr(this.address,this.interface,e))}if(t.topics&&t.topics.length>0){try{const e=t.topics[0];if("string"!=typeof e)throw new Error("invalid topic");const r=this.interface.getEvent(e);return this._normalizeRunningEvent(new Pr(this.address,this.interface,r,t.topics))}catch(t){}const e={address:this.address,topics:t.topics};return this._normalizeRunningEvent(new Mr(Sr(e),e))}return this._normalizeRunningEvent(new xr(this.address,this.interface))}_checkRunningEvents(t){if(0===t.listenerCount()){delete this._runningEvents[t.tag];const e=this._wrappedEmits[t.tag];e&&(this.provider.off(t.filter,e),delete this._wrappedEmits[t.tag])}}_wrapEvent(t,e,r){const n=lt(e);return n.removeListener=()=>{r&&(t.removeListener(r),this._checkRunningEvents(t))},n.getBlock=()=>this.provider.getBlock(e.blockHash),n.getTransaction=()=>this.provider.getTransaction(e.transactionHash),n.getTransactionReceipt=()=>this.provider.getTransactionReceipt(e.transactionHash),t.prepareEvent(n),n}_addEventListener(t,e,r){if(this.provider||yr.throwError("events require a provider or a signer with a provider",m.errors.UNSUPPORTED_OPERATION,{operation:"once"}),t.addListener(e,r),this._runningEvents[t.tag]=t,!this._wrappedEmits[t.tag]){const r=r=>{let n=this._wrapEvent(t,r,e);if(null==n.decodeError)try{const e=t.getEmit(n);this.emit(t.filter,...e)}catch(t){n.decodeError=t.error}null!=t.filter&&this.emit("event",n),null!=n.decodeError&&this.emit("error",n.decodeError,n)};this._wrappedEmits[t.tag]=r,null!=t.filter&&this.provider.on(t.filter,r)}}queryFilter(t,e,r){const n=this._getRunningEvent(t),i=st(n.filter);return"string"==typeof e&&M(e,32)?(null!=r&&yr.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),i.blockHash=e):(i.fromBlock=null!=e?e:0,i.toBlock=null!=r?r:"latest"),this.provider.getLogs(i).then(t=>t.map(t=>this._wrapEvent(n,t,null)))}on(t,e){return this._addEventListener(this._getRunningEvent(t),e,!1),this}once(t,e){return this._addEventListener(this._getRunningEvent(t),e,!0),this}emit(t,...e){if(!this.provider)return!1;const r=this._getRunningEvent(t),n=r.run(e)>0;return this._checkRunningEvents(r),n}listenerCount(t){return this.provider?this._getRunningEvent(t).listenerCount():0}listeners(t){if(!this.provider)return[];if(null==t){const t=[];for(let e in this._runningEvents)this._runningEvents[e].listeners().forEach(e=>{t.push(e)});return t}return this._getRunningEvent(t).listeners()}removeAllListeners(t){if(!this.provider)return this;if(null==t){for(const t in this._runningEvents){const e=this._runningEvents[t];e.removeAllListeners(),this._checkRunningEvents(e)}return this}const e=this._getRunningEvent(t);return e.removeAllListeners(),this._checkRunningEvents(e),this}off(t,e){if(!this.provider)return this;const r=this._getRunningEvent(t);return r.removeListener(e),this._checkRunningEvents(r),this}removeListener(t,e){return this.off(t,e)}}class Ir{constructor(t,e,r){let n=null;n="string"==typeof e?e:E(e)?N(e):e&&"string"==typeof e.object?e.object:"!","0x"!==n.substring(0,2)&&(n="0x"+n),(!M(n)||n.length%2)&&yr.throwArgumentError("invalid bytecode","bytecode",e),r&&!mr.isSigner(r)&&yr.throwArgumentError("invalid signer","signer",r),rt(this,"bytecode",n),rt(this,"interface",nt(new.target,"getInterface")(t)),rt(this,"signer",r||null)}getDeployTransaction(...t){let e={};if(t.length===this.interface.deploy.inputs.length+1&&"object"==typeof t[t.length-1]){e=st(t.pop());for(const t in e)if(!wr[t])throw new Error("unknown transaction override "+t)}return["data","from","to"].forEach(t=>{null!=e[t]&&yr.throwError("cannot override "+t,m.errors.UNSUPPORTED_OPERATION,{operation:t})}),yr.checkArgumentCount(t.length,this.interface.deploy.inputs.length," in Contract constructor"),e.data=N(k([this.bytecode,this.interface.encodeDeploy(t)])),e}deploy(...t){return vr(this,void 0,void 0,(function*(){let e={};t.length===this.interface.deploy.inputs.length+1&&(e=t.pop()),yr.checkArgumentCount(t.length,this.interface.deploy.inputs.length," in Contract constructor");const r=yield Er(this.signer,t,this.interface.deploy.inputs);r.push(e);const n=this.getDeployTransaction(...r),i=yield this.signer.sendTransaction(n),o=nt(this.constructor,"getContractAddress")(i),s=nt(this.constructor,"getContract")(o,this.interface,this.signer);return rt(s,"deployTransaction",i),s}))}attach(t){return this.constructor.getContract(t,this.interface,this.signer)}connect(t){return new this.constructor(this.interface,this.bytecode,t)}static fromSolidity(t,e){null==t&&yr.throwError("missing compiler output",m.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof t&&(t=JSON.parse(t));const r=t.abi;let n=null;return t.bytecode?n=t.bytecode:t.evm&&t.evm.bytecode&&(n=t.evm.bytecode),new this(r,n,e)}static getInterface(t){return Tr.getInterface(t)}static getContractAddress(t){return te(t)}static getContract(t,e,r){return new Tr(t,e,r)}}class Rr{constructor(t){rt(this,"alphabet",t),rt(this,"base",t.length),rt(this,"_alphabetMap",{}),rt(this,"_leader",t.charAt(0));for(let e=0;e0;)r.push(n%this.base),n=n/this.base|0}let n="";for(let t=0;0===e[t]&&t=0;--t)n+=this.alphabet[r[t]];return n}decode(t){if("string"!=typeof t)throw new TypeError("Expected String");let e=[];if(0===t.length)return new Uint8Array(e);e.push(0);for(let r=0;r>=8;for(;i>0;)e.push(255&i),i>>=8}for(let r=0;t[r]===this._leader&&r>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Lr(t){return 1===t.length?"0"+t:t}function Dr(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}var jr={inherits:Fr,toArray:function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n>8,s=255&i;o?r.push(o,s):r.push(s)}else for(n=0;n>>0}return o},split32:function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},rotr32:function(t,e){return t>>>e|t<<32-e},rotl32:function(t,e){return t<>>32-e},sum32:function(t,e){return t+e>>>0},sum32_3:function(t,e,r){return t+e+r>>>0},sum32_4:function(t,e,r,n){return t+e+r+n>>>0},sum32_5:function(t,e,r,n,i){return t+e+r+n+i>>>0},sum64:function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,s=(o>>0,t[e+1]=o},sum64_hi:function(t,e,r,n){return(e+n>>>0>>0},sum64_lo:function(t,e,r,n){return e+n>>>0},sum64_4_hi:function(t,e,r,n,i,o,s,a){var u=0,l=e;return u+=(l=l+n>>>0)>>0)>>0)>>0},sum64_4_lo:function(t,e,r,n,i,o,s,a){return e+n+o+a>>>0},sum64_5_hi:function(t,e,r,n,i,o,s,a,u,l){var h=0,c=e;return h+=(c=c+n>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(t,e,r,n,i,o,s,a,u,l){return e+n+o+a+l>>>0},rotr64_hi:function(t,e,r){return(e<<32-r|t>>>r)>>>0},rotr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0},shr64_hi:function(t,e,r){return t>>>r},shr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0}};function zr(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var qr=zr;zr.prototype.update=function(t,e){if(t=jr.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=jr.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o>>3},g1_256:function(t){return Hr(t,17)^Hr(t,19)^t>>>10}},Zr=jr.sum32,Xr=jr.sum32_4,$r=jr.sum32_5,Qr=Jr.ch32,Yr=Jr.maj32,tn=Jr.s0_256,en=Jr.s1_256,rn=Jr.g0_256,nn=Jr.g1_256,on=Kr.BlockHash,sn=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function an(){if(!(this instanceof an))return new an;on.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=sn,this.W=new Array(64)}jr.inherits(an,on);var un=an;an.blockSize=512,an.outSize=256,an.hmacStrength=192,an.padLength=64,an.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),Br(t.length<=this.blockSize);for(var e=t.length;e>24&255,u[e.length+1]=c>>16&255,u[e.length+2]=c>>8&255,u[e.length+3]=255&c;let f=_(ai(i,t,u));o||(o=f.length,h=new Uint8Array(o),s=Math.ceil(n/o),l=n-(s-1)*o),h.set(f);for(let e=1;e>8,s=255&i;o?r.push(o,s):r.push(s)}return r},r.zero2=n,r.toHex=i,r.encode=function(t,e){return"hex"===e?i(t):t}})),fi=r((function(t,e){var r=e;r.assert=Br,r.toArray=ci.toArray,r.zero2=ci.zero2,r.toHex=ci.toHex,r.encode=ci.encode,r.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(a)):a=0,n[s]=a,o.iushrn(1)}return n},r.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n=0,i=0;t.cmpn(-n)>0||e.cmpn(-i)>0;){var o,s,a,u=t.andln(3)+n&3,l=e.andln(3)+i&3;if(3===u&&(u=-1),3===l&&(l=-1),0==(1&u))o=0;else o=3!==(a=t.andln(7)+n&7)&&5!==a||2!==l?u:-u;if(r[0].push(o),0==(1&l))s=0;else s=3!==(a=e.andln(7)+i&7)&&5!==a||2!==u?l:-l;r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),t.iushrn(1),e.iushrn(1)}return r},r.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(t){return"string"==typeof t?r.toArray(t,"hex"):t},r.intFromLE=function(t){return new o(t,"hex","le")}})),di=function(e){var r=new Uint8Array(e);return(t.crypto||t.msCrypto).getRandomValues(r),r},pi=fi.getNAF,mi=fi.getJSF,gi=fi.assert;function vi(t,e){this.type=t,this.p=new o(e.p,16),this.red=e.prime?o.red(e.prime):o.mont(this.p),this.zero=new o(0).toRed(this.red),this.one=new o(1).toRed(this.red),this.two=new o(2).toRed(this.red),this.n=e.n&&new o(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var yi=vi;function wi(t,e){this.curve=t,this.type=e,this.precomputed=null}vi.prototype.point=function(){throw new Error("Not implemented")},vi.prototype.validate=function(){throw new Error("Not implemented")},vi.prototype._fixedNafMul=function(t,e){gi(t.precomputed);var r=t._getDoubles(),n=pi(e,1,this._bitLength),i=(1<=s;e--)a=(a<<1)+n[e];o.push(a)}for(var u=this.jpoint(null,null,null),l=this.jpoint(null,null,null),h=i;h>0;h--){for(s=0;s=0;a--){for(e=0;a>=0&&0===o[a];a--)e++;if(a>=0&&e++,s=s.dblp(e),a<0)break;var u=o[a];gi(0!==u),s="affine"===t.type?u>0?s.mixedAdd(i[u-1>>1]):s.mixedAdd(i[-u-1>>1].neg()):u>0?s.add(i[u-1>>1]):s.add(i[-u-1>>1].neg())}return"affine"===t.type?s.toP():s},vi.prototype._wnafMulAdd=function(t,e,r,n,i){for(var o=this._wnafT1,s=this._wnafT2,a=this._wnafT3,u=0,l=0;l=1;l-=2){var c=l-1,f=l;if(1===o[c]&&1===o[f]){var d=[e[c],null,null,e[f]];0===e[c].y.cmp(e[f].y)?(d[1]=e[c].add(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg())):0===e[c].y.cmp(e[f].y.redNeg())?(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].add(e[f].neg())):(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],m=mi(r[c],r[f]);u=Math.max(m[0].length,u),a[c]=new Array(u),a[f]=new Array(u);for(var g=0;g=0;l--){for(var E=0;l>=0;){var _=!0;for(g=0;g=0&&E++,w=w.dblp(E),l<0)break;for(g=0;g0?k=s[g][A-1>>1]:A<0&&(k=s[g][-A-1>>1].neg()),w="affine"===k.type?w.mixedAdd(k):w.add(k))}}for(l=0;l=Math.ceil((t.bitLength()+1)/e.step)},wi.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(s=e,a=r),n.negative&&(n=n.neg(),i=i.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:n,b:i},{a:s,b:a}]},Ei.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),u=i.mul(r.b),l=o.mul(n.b);return{k1:t.sub(s).sub(a),k2:u.add(l).neg()}},Ei.prototype.pointFromX=function(t,e){(t=new o(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},Ei.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},Ei.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},ki.prototype.isInfinity=function(){return this.inf},ki.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},ki.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},ki.prototype.getX=function(){return this.x.fromRed()},ki.prototype.getY=function(){return this.y.fromRed()},ki.prototype.mul=function(t){return t=new o(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},ki.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},ki.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},ki.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},ki.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},ki.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Fr(Ai,yi.BasePoint),Ei.prototype.jpoint=function(t,e,r){return new Ai(this,t,e,r)},Ai.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},Ai.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},Ai.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),a=n.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),h=l.redMul(a),c=n.redMul(l),f=u.redSqr().redIAdd(h).redISub(c).redISub(c),d=u.redMul(c.redISub(f)).redISub(o.redMul(h)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(f,d,p)},Ai.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),l=u.redMul(s),h=r.redMul(u),c=a.redSqr().redIAdd(l).redISub(h).redISub(h),f=a.redMul(h.redISub(c)).redISub(i.redMul(l)),d=this.z.redMul(s);return this.curve.jpoint(c,f,d)},Ai.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,r=0;r=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},Ai.prototype.inspect=function(){return this.isInfinity()?"":""},Ai.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Si={},Mi={},Ni=r((function(t,e){var r=e;r.base=yi,r.short=_i,r.mont=Si,r.edwards=Mi})),Pi=r((function(t,e){var r,n=e,i=fi.assert;function o(t){"short"===t.type?this.curve=new Ni.short(t):"edwards"===t.type?this.curve=new Ni.edwards(t):this.curve=new Ni.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new o(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:ti.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:ti.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:ti.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:ti.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:ti.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ti.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:ti.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=void 0}catch(t){r=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:ti.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function xi(t){if(!(this instanceof xi))return new xi(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=ci.toArray(t.entropy,t.entropyEnc||"hex"),r=ci.toArray(t.nonce,t.nonceEnc||"hex"),n=ci.toArray(t.pers,t.persEnc||"hex");Br(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var Ti=xi;xi.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},xi.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=ci.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var Bi=fi.assert;function Oi(t,e){if(t instanceof Oi)return t;this._importDER(t,e)||(Bi(t.r&&t.s,"Signature without r or s"),this.r=new o(t.r,16),this.s=new o(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Fi=Oi;function Ui(){this.place=0}function Li(t,e){var r=t[e.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,s=e.place;o>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}Oi.prototype._importDER=function(t,e){t=fi.toArray(t,e);var r=new Ui;if(48!==t[r.place++])return!1;if(Li(t,r)+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=Li(t,r),i=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var s=Li(t,r);if(t.length!==s+r.place)return!1;var a=t.slice(r.place,s+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===a[0]&&128&a[1]&&(a=a.slice(1)),this.r=new o(i),this.s=new o(a),this.recoveryParam=null,!0},Oi.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=Di(e),r=Di(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];ji(n,e.length),(n=n.concat(e)).push(2),ji(n,r.length);var i=n.concat(r),o=[48];return ji(o,i.length),o=o.concat(i),fi.encode(o,t)};var zi=fi.assert;function qi(t){if(!(this instanceof qi))return new qi(t);"string"==typeof t&&(zi(Pi.hasOwnProperty(t),"Unknown curve "+t),t=Pi[t]),t instanceof Pi.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var Ki=qi;qi.prototype.keyPair=function(t){return new Ci(this,t)},qi.prototype.keyFromPrivate=function(t,e){return Ci.fromPrivate(this,t,e)},qi.prototype.keyFromPublic=function(t,e){return Ci.fromPublic(this,t,e)},qi.prototype.genKeyPair=function(t){t||(t={});for(var e=new Ti({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||di(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new o(2));;){var i=new o(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},qi.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},qi.prototype.sign=function(t,e,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new o(t,16));for(var i=this.n.byteLength(),s=e.getPrivate().toArray("be",i),a=t.toArray("be",i),u=new Ti({hash:this.hash,entropy:s,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),l=this.n.sub(new o(1)),h=0;;h++){var c=n.k?n.k(h):new o(u.generate(this.n.byteLength()));if(!((c=this._truncateToN(c,!0)).cmpn(1)<=0||c.cmp(l)>=0)){var f=this.g.mul(c);if(!f.isInfinity()){var d=f.getX(),p=d.umod(this.n);if(0!==p.cmpn(0)){var m=c.invm(this.n).mul(p.mul(e.getPrivate()).iadd(t));if(0!==(m=m.umod(this.n)).cmpn(0)){var g=(f.getY().isOdd()?1:0)|(0!==d.cmp(p)?2:0);return n.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),g^=1),new Fi({r:p,s:m,recoveryParam:g})}}}}}},qi.prototype.verify=function(t,e,r,n){t=this._truncateToN(new o(t,16)),r=this.keyFromPublic(r,n);var i=(e=new Fi(e,"hex")).r,s=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,u=s.invm(this.n),l=u.mul(t).umod(this.n),h=u.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,r.getPublic(),h)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(l,r.getPublic(),h)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},qi.prototype.recoverPubKey=function(t,e,r,n){zi((3&r)===r,"The recovery param is more than two bits"),e=new Fi(e,n);var i=this.n,s=new o(t),a=e.r,u=e.s,l=1&r,h=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&h)throw new Error("Unable to find sencond key candinate");a=h?this.curve.pointFromX(a.add(this.curve.n),l):this.curve.pointFromX(a,l);var c=e.r.invm(i),f=i.sub(s).mul(c).umod(i),d=u.mul(c).umod(i);return this.g.mulAdd(f,a,d)},qi.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new Fi(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var Hi={},Gi=n(hi),Vi=r((function(t,e){var r=e;r.version=Gi.version,r.utils=fi,r.rand=di,r.curve=Ni,r.curves=Pi,r.ec=Ki,r.eddsa=Hi})).ec;const Wi=new m("signing-key/5.0.1");let Ji=null;function Zi(){return Ji||(Ji=new Vi("secp256k1")),Ji}class Xi{constructor(t){rt(this,"curve","secp256k1"),rt(this,"privateKey",N(t));const e=Zi().keyFromPrivate(_(this.privateKey));rt(this,"publicKey","0x"+e.getPublic(!1,"hex")),rt(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),rt(this,"_isSigningKey",!0)}_addPoint(t){const e=Zi().keyFromPublic(_(this.publicKey)),r=Zi().keyFromPublic(_(t));return"0x"+e.pub.add(r.pub).encodeCompressed("hex")}signDigest(t){const e=Zi().keyFromPrivate(_(this.privateKey)).sign(_(t),{canonical:!0});return C({recoveryParam:e.recoveryParam,r:R("0x"+e.r.toString(16),32),s:R("0x"+e.s.toString(16),32)})}computeSharedSecret(t){const e=Zi().keyFromPrivate(_(this.privateKey)),r=Zi().keyFromPublic(_(Qi(t)));return R("0x"+e.derive(r.getPublic()).toString(16),32)}static isSigningKey(t){return!(!t||!t._isSigningKey)}}function $i(t,e){const r=C(e),n={r:_(r.r),s:_(r.s)};return"0x"+Zi().recoverPubKey(_(t),n,r.recoveryParam).encode("hex",!1)}function Qi(t,e){const r=_(t);if(32===r.length){const t=new Xi(r);return e?"0x"+Zi().keyFromPrivate(r).getPublic(!0,"hex"):t.publicKey}return 33===r.length?e?N(r):"0x"+Zi().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?e?"0x"+Zi().keyFromPublic(r).getPublic(!0,"hex"):N(r):Wi.throwArgumentError("invalid public or private key","key","[REDACTED]")}const Yi=new m("transactions/5.0.1");function to(t){return"0x"===t?me:L.from(t)}const eo=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],ro={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function no(t){return Yt(x(Lt(x(Qi(t),1)),12))}function io(t,e){return no($i(_(t),e))}function oo(t,e){ot(t,ro);const r=[];eo.forEach((function(e){let n=t[e.name]||[];const i={};e.numeric&&(i.hexPad="left"),n=_(N(n,i)),e.length&&n.length!==e.length&&n.length>0&&Yi.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),e.maxLength&&(n=A(n),n.length>e.maxLength&&Yi.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n)),r.push(N(n))}));let n=0;if(null!=t.chainId?(n=t.chainId,"number"!=typeof n&&Yi.throwArgumentError("invalid transaction.chainId","transaction",t)):e&&!b(e)&&e.v>28&&(n=Math.floor((e.v-35)/2)),0!==n&&(r.push(N(n)),r.push("0x"),r.push("0x")),!e)return qt(r);const i=C(e);let o=27+i.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),o+=2*n+8,i.v>28&&i.v!==o&&Yi.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):i.v!==o&&Yi.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),r.push(N(o)),r.push(A(_(i.r))),r.push(A(_(i.s))),qt(r)}function so(t){const e=Gt(t);9!==e.length&&6!==e.length&&Yi.throwArgumentError("invalid raw transaction","rawTransaction",t);const r={nonce:to(e[0]).toNumber(),gasPrice:to(e[1]),gasLimit:to(e[2]),to:(n=e[3],"0x"===n?null:Yt(n)),value:to(e[4]),data:e[5],chainId:0};var n;if(6===e.length)return r;try{r.v=L.from(e[6]).toNumber()}catch(t){return console.log(t),r}if(r.r=R(e[7],32),r.s=R(e[8],32),L.from(r.r).isZero()&&L.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const i=e.slice(0,6);0!==r.chainId&&(i.push(N(r.chainId)),i.push("0x"),i.push("0x"),n-=2*r.chainId+8);const o=Lt(qt(i));try{r.from=io(o,{r:N(r.r),s:N(r.s),recoveryParam:n})}catch(t){console.log(t)}r.hash=Lt(t)}return r}const ao=new m("wordlists/5.0.1");class uo{constructor(t){ao.checkAbstract(new.target,uo),rt(this,"locale",t)}split(t){return t.toLowerCase().split(/ +/g)}join(t){return t.join(" ")}static check(t){const e=[];for(let r=0;r<2048;r++){const n=t.getWord(r);if(r!==t.getWordIndex(n))return"0x";e.push(n)}return er(e.join("\n")+"\n")}static register(t,e){e||(e=t.locale)}}let lo=null;function ho(t){if(null==lo&&(lo="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==uo.check(t)))throw lo=null,new Error("BIP39 Wordlist for en (English) FAILED")}const co=new class extends uo{constructor(){super("en")}getWord(t){return ho(this),lo[t]}getWordIndex(t){return ho(this),lo.indexOf(t)}};uo.register(co);const fo={en:co},po=new m("hdnode/5.0.1"),mo=L.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),go=Pe("Bitcoin seed");function vo(t){return(1<=256)throw new Error("Depth too large!");return wo(k([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",N(this.depth),this.parentFingerprint,R(N(this.index),4),this.chainCode,null!=this.privateKey?k(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new ko(Eo,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(t){if(t>4294967295)throw new Error("invalid index - "+String(t));let e=this.path;e&&(e+="/"+(2147483647&t));const r=new Uint8Array(37);if(2147483648&t){if(!this.privateKey)throw new Error("cannot derive child of neutered node");r.set(_(this.privateKey),1),e&&(e+="'")}else r.set(_(this.publicKey));for(let e=24;e>=0;e-=8)r[33+(e>>3)]=t>>24-e&255;const n=_(ai(ni.sha512,this.chainCode,r)),i=n.slice(0,32),o=n.slice(32);let s=null,a=null;if(this.privateKey)s=yo(L.from(i).add(this.privateKey).mod(mo));else{a=new Xi(N(i))._addPoint(this.publicKey)}let u=e;const l=this.mnemonic;return l&&(u=Object.freeze({phrase:l.phrase,path:e,locale:l.locale||"en"})),new ko(Eo,s,a,this.fingerprint,yo(o),t,this.depth+1,u)}derivePath(t){const e=t.split("/");if(0===e.length||"m"===e[0]&&0!==this.depth)throw new Error("invalid path - "+t);"m"===e[0]&&e.shift();let r=this;for(let t=0;t=2147483648)throw new Error("invalid path index - "+n);r=r._derive(2147483648+t)}else{if(!n.match(/^[0-9]+$/))throw new Error("invalid path component - "+n);{const t=parseInt(n);if(t>=2147483648)throw new Error("invalid path index - "+n);r=r._derive(t)}}}return r}static _fromSeed(t,e){const r=_(t);if(r.length<16||r.length>64)throw new Error("invalid seed");const n=_(ai(ni.sha512,go,r));return new ko(Eo,yo(n.slice(0,32)),null,"0x00000000",yo(n.slice(32)),0,0,e)}static fromMnemonic(t,e,r){return t=Mo(So(t,r=bo(r)),r),ko._fromSeed(Ao(t,e),{phrase:t,path:"m",locale:r.locale})}static fromSeed(t){return ko._fromSeed(t,null)}static fromExtendedKey(t){const e=Cr.decode(t);82===e.length&&wo(e.slice(0,78))===t||po.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const r=e[4],n=N(e.slice(5,9)),i=parseInt(N(e.slice(9,13)).substring(2),16),o=N(e.slice(13,45)),s=e.slice(45,78);switch(N(e.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new ko(Eo,null,N(s),n,o,i,r,null);case"0x0488ade4":case"0x04358394 ":if(0!==s[0])break;return new ko(Eo,N(s.slice(1)),null,n,o,i,r,null)}return po.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function Ao(t,e){e||(e="");const r=Pe("mnemonic"+e,ke.NFKD);return ui(Pe(t,ke.NFKD),r,2048,64,"sha512")}function So(t,e){e=bo(e),po.checkNormalize();const r=e.split(t);if(r.length%3!=0)throw new Error("invalid mnemonic");const n=_(new Uint8Array(Math.ceil(11*r.length/8)));let i=0;for(let t=0;t>3]|=1<<7-i%8),i++}const o=32*r.length/3,s=vo(r.length/3);if((_(oi(n.slice(0,o/8)))[0]&s)!==(n[n.length-1]&s))throw new Error("invalid checksum");return N(n.slice(0,o/8))}function Mo(t,e){if(e=bo(e),(t=_(t)).length%4!=0||t.length<16||t.length>32)throw new Error("invalid entropy");const r=[0];let n=11;for(let e=0;e8?(r[r.length-1]<<=8,r[r.length-1]|=t[e],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[e]>>8-n,r.push(t[e]&(1<<8-n)-1),n+=3);const i=t.length/4,o=_(oi(t))[0]&vo(i);return r[r.length-1]<<=i,r[r.length-1]|=o>>8-i,e.join(r.map(t=>e.getWord(t)))}function No(t){for(let e=(t=t.slice()).length-1;e>0;e--){const r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}const Po=new m("random/5.0.1");let xo=null;try{if(xo=window,null==xo)throw new Error("try next")}catch(t){try{if(xo=global,null==xo)throw new Error("try next")}catch(t){xo={}}}let To=xo.crypto||xo.msCrypto;function Io(t){(t<=0||t>1024||t%1)&&Po.throwArgumentError("invalid length","length",t);const e=new Uint8Array(t);return To.getRandomValues(e),_(e)}To&&To.getRandomValues||(Po.warn("WARNING: Missing strong random number source"),To={getRandomValues:function(t){return Po.throwError("no secure random source avaialble",m.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var Ro=r((function(t,e){!function(e){function r(t){return parseInt(t)===t}function n(t){if(!r(t.length))return!1;for(var e=0;e255)return!1;return!0}function i(t,e){if(t.buffer&&ArrayBuffer.isView(t)&&"Uint8Array"===t.name)return e&&(t=t.slice?t.slice():Array.prototype.slice.call(t)),t;if(Array.isArray(t)){if(!n(t))throw new Error("Array contains invalid value: "+t);return new Uint8Array(t)}if(r(t.length)&&n(t))return new Uint8Array(t);throw new Error("unsupported array-like object")}function o(t){return new Uint8Array(t)}function s(t,e,r,n,i){null==n&&null==i||(t=t.slice?t.slice(n,i):Array.prototype.slice.call(t,n,i)),e.set(t,r)}var a,u={toBytes:function(t){var e=[],r=0;for(t=encodeURI(t);r191&&n<224?(e.push(String.fromCharCode((31&n)<<6|63&t[r+1])),r+=2):(e.push(String.fromCharCode((15&n)<<12|(63&t[r+1])<<6|63&t[r+2])),r+=3)}return e.join("")}},l=(a="0123456789abcdef",{toBytes:function(t){for(var e=[],r=0;r>4]+a[15&n])}return e.join("")}}),h={16:10,24:12,32:14},c=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],g=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],y=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],w=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],b=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],E=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],_=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],k=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],A=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],S=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function M(t){for(var e=[],r=0;r>2,this._Ke[r][e%4]=o[e],this._Kd[t-r][e%4]=o[e];for(var s,a=0,u=i;u>16&255]<<24^f[s>>8&255]<<16^f[255&s]<<8^f[s>>24&255]^c[a]<<24,a+=1,8!=i)for(e=1;e>8&255]<<8^f[s>>16&255]<<16^f[s>>24&255]<<24;for(e=i/2+1;e>2,d=u%4,this._Ke[l][d]=o[e],this._Kd[t-l][d]=o[e++],u++}for(var l=1;l>24&255]^k[s>>16&255]^A[s>>8&255]^S[255&s]},N.prototype.encrypt=function(t){if(16!=t.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var e=this._Ke.length-1,r=[0,0,0,0],n=M(t),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var s=1;s>24&255]^m[n[(i+1)%4]>>16&255]^g[n[(i+2)%4]>>8&255]^v[255&n[(i+3)%4]]^this._Ke[s][i];n=r.slice()}var a,u=o(16);for(i=0;i<4;i++)a=this._Ke[e][i],u[4*i]=255&(f[n[i]>>24&255]^a>>24),u[4*i+1]=255&(f[n[(i+1)%4]>>16&255]^a>>16),u[4*i+2]=255&(f[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(f[255&n[(i+3)%4]]^a);return u},N.prototype.decrypt=function(t){if(16!=t.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var e=this._Kd.length-1,r=[0,0,0,0],n=M(t),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var s=1;s>24&255]^w[n[(i+3)%4]>>16&255]^b[n[(i+2)%4]>>8&255]^E[255&n[(i+1)%4]]^this._Kd[s][i];n=r.slice()}var a,u=o(16);for(i=0;i<4;i++)a=this._Kd[e][i],u[4*i]=255&(d[n[i]>>24&255]^a>>24),u[4*i+1]=255&(d[n[(i+3)%4]>>16&255]^a>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(d[255&n[(i+1)%4]]^a);return u};var P=function(t){if(!(this instanceof P))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new N(t)};P.prototype.encrypt=function(t){if((t=i(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=o(t.length),r=o(16),n=0;n=0;--e)this._counter[e]=t%256,t>>=8},R.prototype.setBytes=function(t){if(16!=(t=i(t,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=t},R.prototype.increment=function(){for(var t=15;t>=0;t--){if(255!==this._counter[t]){this._counter[t]++;break}this._counter[t]=0}};var C=function(t,e){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",e instanceof R||(e=new R(e)),this._counter=e,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new N(t)};C.prototype.encrypt=function(t){for(var e=i(t,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=t.length-e,n=0;n=64;){let d,p,m,g,v,y=r,w=n,b=i,E=o,_=s,k=a,A=u,S=l;for(p=0;p<16;p++)m=c+4*p,h[p]=(255&t[m])<<24|(255&t[m+1])<<16|(255&t[m+2])<<8|255&t[m+3];for(p=16;p<64;p++)d=h[p-2],g=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,d=h[p-15],v=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,h[p]=(g+h[p-7]|0)+(v+h[p-16]|0)|0;for(p=0;p<64;p++)g=(((_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7))+(_&k^~_&A)|0)+(S+(e[p]+h[p]|0)|0)|0,v=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&w^y&b^w&b)|0,S=A,A=k,k=_,_=E+g|0,E=b,b=w,w=y,y=g+v|0;r=r+y|0,n=n+w|0,i=i+b|0,o=o+E|0,s=s+_|0,a=a+k|0,u=u+A|0,l=l+S|0,c+=64,f-=64}}c(t);let f,d=t.length%64,p=t.length/536870912|0,m=t.length<<3,g=d<56?56:120,v=t.slice(t.length-d,t.length);for(v.push(128),f=d+1;f>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),v.push(m>>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),c(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function n(t,e,n){t=t.length<=64?t:r(t);const i=64+e.length+4,o=new Array(i),s=new Array(64);let a,u=[];for(a=0;a<64;a++)o[a]=54;for(a=0;a=i-4;t--){if(o[t]++,o[t]<=255)return;o[t]=0}}for(;n>=32;)l(),u=u.concat(r(s.concat(r(o)))),n-=32;return n>0&&(l(),u=u.concat(r(s.concat(r(o))).slice(0,n))),u}function i(t,e,r,n,i){let o;for(u(t,16*(2*r-1),i,0,16),o=0;o<2*r;o++)a(t,16*o,i,16),s(i,n),u(i,0,t,e+16*o,16);for(o=0;o>>32-e}function s(t,e){u(t,0,e,0,16);for(let t=8;t>0;t-=2)e[4]^=o(e[0]+e[12],7),e[8]^=o(e[4]+e[0],9),e[12]^=o(e[8]+e[4],13),e[0]^=o(e[12]+e[8],18),e[9]^=o(e[5]+e[1],7),e[13]^=o(e[9]+e[5],9),e[1]^=o(e[13]+e[9],13),e[5]^=o(e[1]+e[13],18),e[14]^=o(e[10]+e[6],7),e[2]^=o(e[14]+e[10],9),e[6]^=o(e[2]+e[14],13),e[10]^=o(e[6]+e[2],18),e[3]^=o(e[15]+e[11],7),e[7]^=o(e[3]+e[15],9),e[11]^=o(e[7]+e[3],13),e[15]^=o(e[11]+e[7],18),e[1]^=o(e[0]+e[3],7),e[2]^=o(e[1]+e[0],9),e[3]^=o(e[2]+e[1],13),e[0]^=o(e[3]+e[2],18),e[6]^=o(e[5]+e[4],7),e[7]^=o(e[6]+e[5],9),e[4]^=o(e[7]+e[6],13),e[5]^=o(e[4]+e[7],18),e[11]^=o(e[10]+e[9],7),e[8]^=o(e[11]+e[10],9),e[9]^=o(e[8]+e[11],13),e[10]^=o(e[9]+e[8],18),e[12]^=o(e[15]+e[14],7),e[13]^=o(e[12]+e[15],9),e[14]^=o(e[13]+e[12],13),e[15]^=o(e[14]+e[13],18);for(let r=0;r<16;++r)t[r]+=e[r]}function a(t,e,r,n){for(let i=0;i=256)return!1}return!0}function h(t,e){if("number"!=typeof t||t%1)throw new Error("invalid "+e);return t}function c(t,e,r,o,s,c,f){if(r=h(r,"N"),o=h(o,"r"),s=h(s,"p"),c=h(c,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>2147483647/128/o)throw new Error("N too large");if(o>2147483647/128/s)throw new Error("r too large");if(!l(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!l(e))throw new Error("salt must be an array or buffer");e=Array.prototype.slice.call(e);let d=n(t,e,128*s*o);const p=new Uint32Array(32*s*o);for(let t=0;tP&&(e=P);for(let t=0;tP&&(e=P);for(let t=0;t>0&255),d.push(p[t]>>8&255),d.push(p[t]>>16&255),d.push(p[t]>>24&255);const l=n(t,d,c);return f&&f(null,1,l),l}f&&x(T)};if(!f)for(;;){const t=T();if(null!=t)return t}T()}const f={scrypt:function(t,e,r,n,i,o,s){return new Promise((function(a,u){let l=0;s&&s(0),c(t,e,r,n,i,o,(function(t,e,r){if(t)u(t);else if(r)s&&1!==l&&s(1),a(new Uint8Array(r));else if(s&&e!==l)return l=e,s(e)}))}))},syncScrypt:function(t,e,r,n,i,o){return new Uint8Array(c(t,e,r,n,i,o))}};t.exports=f}()})),Ho=Ko.scrypt,Go=Ko.syncScrypt;if(t.crypto&&crypto.getRandomValues){var Vo=new Uint8Array(16);qo=function(){return crypto.getRandomValues(Vo),Vo}}if(!qo){var Wo=new Array(16);qo=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),Wo[e]=t>>>((3&e)<<3)&255;return Wo}}for(var Jo=qo,Zo=[],Xo={},$o=0;$o<256;$o++)Zo[$o]=($o+256).toString(16).substr(1),Xo[Zo[$o]]=$o;function Qo(t,e){var r=e||0,n=Zo;return n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]}var Yo=Jo(),ts=[1|Yo[0],Yo[1],Yo[2],Yo[3],Yo[4],Yo[5]],es=16383&(Yo[6]<<8|Yo[7]),rs=0,ns=0;function is(t,e,r){var n=e&&r||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null);var i=(t=t||{}).random||(t.rng||Jo)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e)for(var o=0;o<16;o++)e[n+o]=i[o];return e||Qo(i)}var os=is;os.v1=function(t,e,r){var n=e&&r||0,i=e||[],o=void 0!==(t=t||{}).clockseq?t.clockseq:es,s=void 0!==t.msecs?t.msecs:(new Date).getTime(),a=void 0!==t.nsecs?t.nsecs:ns+1,u=s-rs+(a-ns)/1e4;if(u<0&&void 0===t.clockseq&&(o=o+1&16383),(u<0||s>rs)&&void 0===t.nsecs&&(a=0),a>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");rs=s,ns=a,es=o;var l=(1e4*(268435455&(s+=122192928e5))+a)%4294967296;i[n++]=l>>>24&255,i[n++]=l>>>16&255,i[n++]=l>>>8&255,i[n++]=255&l;var h=s/4294967296*1e4&268435455;i[n++]=h>>>8&255,i[n++]=255&h,i[n++]=h>>>24&15|16,i[n++]=h>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var c=t.node||ts,f=0;f<6;f++)i[n+f]=c[f];return e||Qo(i)},os.v4=is,os.parse=function(t,e,r){var n=e&&r||0,i=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,(function(t){i<16&&(e[n+i++]=Xo[t])}));i<16;)e[n+i++]=0;return e},os.unparse=Qo;var ss=os,as=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const us=new m("json-wallets/5.0.1");function ls(t){return null!=t&&t.mnemonic&&t.mnemonic.phrase}class hs extends ht{isKeystoreAccount(t){return!(!t||!t._isKeystoreAccount)}}function cs(t,e){const r=Co(Fo(t,"crypto/ciphertext"));if(N(Lt(k([e.slice(16,32),r]))).substring(2)!==Fo(t,"crypto/mac").toLowerCase())throw new Error("invalid password");const n=function(t,e,r){if("aes-128-ctr"===Fo(t,"crypto/cipher")){const n=Co(Fo(t,"crypto/cipherparams/iv")),i=new Ro.Counter(n);return _(new Ro.ModeOfOperation.ctr(e,i).decrypt(r))}return null}(t,e.slice(0,16),r);n||us.throwError("unsupported cipher",m.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=e.slice(32,64),o=no(n);if(t.address){let e=t.address.toLowerCase();if("0x"!==e.substring(0,2)&&(e="0x"+e),Yt(e)!==o)throw new Error("address mismatch")}const s={_isKeystoreAccount:!0,address:o,privateKey:N(n)};if("0.1"===Fo(t,"x-ethers/version")){const e=Co(Fo(t,"x-ethers/mnemonicCiphertext")),r=Co(Fo(t,"x-ethers/mnemonicCounter")),n=new Ro.Counter(r),o=new Ro.ModeOfOperation.ctr(i,n),a=Fo(t,"x-ethers/path")||_o,u=Fo(t,"x-ethers/locale")||"en",l=_(o.decrypt(e));try{const t=Mo(l,u),e=ko.fromMnemonic(t,null,u).derivePath(a);if(e.privateKey!=s.privateKey)throw new Error("mnemonic mismatch");s.mnemonic=e.mnemonic}catch(t){if(t.code!==m.errors.INVALID_ARGUMENT||"wordlist"!==t.argument)throw t}}return new hs(s)}function fs(t,e,r,n,i){return _(ui(t,e,r,n,i))}function ds(t,e,r,n,i){return Promise.resolve(fs(t,e,r,n,i))}function ps(t,e,r,n,i){const o=Oo(e),s=Fo(t,"crypto/kdf");if(s&&"string"==typeof s){const e=function(t,e){return us.throwArgumentError("invalid key-derivation function parameters",t,e)};if("scrypt"===s.toLowerCase()){const r=Co(Fo(t,"crypto/kdfparams/salt")),a=parseInt(Fo(t,"crypto/kdfparams/n")),u=parseInt(Fo(t,"crypto/kdfparams/r")),l=parseInt(Fo(t,"crypto/kdfparams/p"));a&&u&&l||e("kdf",s),0!=(a&a-1)&&e("N",a);const h=parseInt(Fo(t,"crypto/kdfparams/dklen"));return 32!==h&&e("dklen",h),n(o,r,a,u,l,64,i)}if("pbkdf2"===s.toLowerCase()){const n=Co(Fo(t,"crypto/kdfparams/salt"));let i=null;const s=Fo(t,"crypto/kdfparams/prf");"hmac-sha256"===s?i="sha256":"hmac-sha512"===s?i="sha512":e("prf",s);const a=parseInt(Fo(t,"crypto/kdfparams/c")),u=parseInt(Fo(t,"crypto/kdfparams/dklen"));return 32!==u&&e("dklen",u),r(o,n,a,u,i)}}return us.throwArgumentError("unsupported key-derivation function","kdf",s)}function ms(t,e,r){if(jo(t)){r&&r(0);const n=Do(t,e);return r&&r(1),Promise.resolve(n)}return zo(t)?function(t,e,r){return as(this,void 0,void 0,(function*(){const n=JSON.parse(t);return cs(n,yield ps(n,e,ds,Ho,r))}))}(t,e,r):Promise.reject(new Error("invalid JSON wallet"))}function gs(t,e){if(jo(t))return Do(t,e);if(zo(t))return function(t,e){const r=JSON.parse(t);return cs(r,ps(r,e,fs,Go))}(t,e);throw new Error("invalid JSON wallet")}const vs=new m("wallet/5.0.1");class ys extends mr{constructor(t,e){if(vs.checkNew(new.target,ys),super(),null!=(r=t)&&M(r.privateKey,32)&&null!=r.address){const e=new Xi(t.privateKey);if(rt(this,"_signingKey",()=>e),rt(this,"address",no(this.publicKey)),this.address!==Yt(t.address)&&vs.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(t){const e=t.mnemonic;return e&&e.phrase}(t)){const e=t.mnemonic;rt(this,"_mnemonic",()=>({phrase:e.phrase,path:e.path||_o,locale:e.locale||"en"}));const r=this.mnemonic;no(ko.fromMnemonic(r.phrase,null,r.locale).derivePath(r.path).privateKey)!==this.address&&vs.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else rt(this,"_mnemonic",()=>null)}else{if(Xi.isSigningKey(t))"secp256k1"!==t.curve&&vs.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),rt(this,"_signingKey",()=>t);else{const e=new Xi(t);rt(this,"_signingKey",()=>e)}rt(this,"_mnemonic",()=>null),rt(this,"address",no(this.publicKey))}var r;e&&!cr.isProvider(e)&&vs.throwArgumentError("invalid provider","provider",e),rt(this,"provider",e||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(t){return new ys(this,t)}signTransaction(t){return it(t).then(t=>{if(null!=t.from){if(Yt(t.from)!==this.address)throw new Error("transaction from address mismatch");delete t.from}const e=this._signingKey().signDigest(Lt(oo(t)));return oo(t,e)})}signMessage(t){return Promise.resolve(B(this._signingKey().signDigest(rr(t))))}encrypt(t,e,r){if("function"!=typeof e||r||(r=e,e={}),r&&"function"!=typeof r)throw new Error("invalid callback");return e||(e={}),function(t,e,r,n){try{if(Yt(t.address)!==no(t.privateKey))throw new Error("address/privateKey mismatch");if(ls(t)){const e=t.mnemonic;if(ko.fromMnemonic(e.phrase,null,e.locale).derivePath(e.path||_o).privateKey!=t.privateKey)throw new Error("mnemonic mismatch")}}catch(t){return Promise.reject(t)}"function"!=typeof r||n||(n=r,r={}),r||(r={});const i=_(t.privateKey),o=Oo(e);let s=null,a=null,u=null;if(ls(t)){const e=t.mnemonic;s=_(So(e.phrase,e.locale||"en")),a=e.path||_o,u=e.locale||"en"}let l=r.client;l||(l="ethers.js");let h=null;h=r.salt?_(r.salt):Io(32);let c=null;if(r.iv){if(c=_(r.iv),16!==c.length)throw new Error("invalid iv")}else c=Io(16);let f=null;if(r.uuid){if(f=_(r.uuid),16!==f.length)throw new Error("invalid uuid")}else f=Io(16);let d=1<<17,p=8,m=1;return r.scrypt&&(r.scrypt.N&&(d=r.scrypt.N),r.scrypt.r&&(p=r.scrypt.r),r.scrypt.p&&(m=r.scrypt.p)),Ho(o,h,d,p,m,64,n).then(e=>{const r=(e=_(e)).slice(0,16),n=e.slice(16,32),o=e.slice(32,64),g=new Ro.Counter(c),v=_(new Ro.ModeOfOperation.ctr(r,g).encrypt(i)),y=Lt(k([n,v])),w={address:t.address.substring(2).toLowerCase(),id:ss.v4({random:f}),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:N(c).substring(2)},ciphertext:N(v).substring(2),kdf:"scrypt",kdfparams:{salt:N(h).substring(2),n:d,dklen:32,p:m,r:p},mac:y.substring(2)}};if(s){const t=Io(16),e=new Ro.Counter(t),r=_(new Ro.ModeOfOperation.ctr(o,e).encrypt(s)),n=new Date,i=n.getUTCFullYear()+"-"+Bo(n.getUTCMonth()+1,2)+"-"+Bo(n.getUTCDate(),2)+"T"+Bo(n.getUTCHours(),2)+"-"+Bo(n.getUTCMinutes(),2)+"-"+Bo(n.getUTCSeconds(),2)+".0Z";w["x-ethers"]={client:l,gethFilename:"UTC--"+i+"--"+w.address,mnemonicCounter:N(t).substring(2),mnemonicCiphertext:N(r).substring(2),path:a,locale:u,version:"0.1"}}return JSON.stringify(w)})}(this,t,e,r)}static createRandom(t){let e=Io(16);t||(t={}),t.extraEntropy&&(e=_(x(Lt(k([e,t.extraEntropy])),0,16)));const r=Mo(e,t.locale);return ys.fromMnemonic(r,t.path,t.locale)}static fromEncryptedJson(t,e,r){return ms(t,e,r).then(t=>new ys(t))}static fromEncryptedJsonSync(t,e){return new ys(gs(t,e))}static fromMnemonic(t,e,r){return e||(e=_o),new ys(ko.fromMnemonic(t,null,r).derivePath(e))}}const ws=new m("networks/5.0.1");function bs(t){return function(e,r){null==r&&(r={});const n=[];if(e.InfuraProvider)try{n.push(new e.InfuraProvider(t,r.infura))}catch(t){}if(e.EtherscanProvider)try{n.push(new e.EtherscanProvider(t,r.etherscan))}catch(t){}if(e.AlchemyProvider)try{n.push(new e.AlchemyProvider(t,r.alchemy))}catch(t){}if(e.CloudflareProvider)try{n.push(new e.CloudflareProvider(t))}catch(t){}if(0===n.length)return null;if(e.FallbackProvider){let i=1;return null!=r.quorum?i=r.quorum:"homestead"===t&&(i=2),new e.FallbackProvider(n,i)}return n[0]}}function Es(t,e){return function(r,n){return r.JsonRpcProvider?new r.JsonRpcProvider(t,e):null}}const _s={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:bs("homestead")},ks={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:bs("ropsten")},As={chainId:63,name:"classicMordor",_defaultProvider:Es("https://www.ethercluster.com/mordor","classicMordor")},Ss={unspecified:{chainId:0,name:"unspecified"},homestead:_s,mainnet:_s,morden:{chainId:2,name:"morden"},ropsten:ks,testnet:ks,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:bs("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:bs("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:bs("goerli")},classic:{chainId:61,name:"classic",_defaultProvider:Es("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:As,classicTestnet:As,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:Es("https://www.ethercluster.com/kotti","classicKotti")}};function Ms(t){if(null==t)return null;if("number"==typeof t){for(const e in Ss){const r=Ss[e];if(r.chainId===t)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:t,name:"unknown"}}if("string"==typeof t){const e=Ss[t];return null==e?null:{name:e.name,chainId:e.chainId,ensAddress:e.ensAddress,_defaultProvider:e._defaultProvider||null}}const e=Ss[t.name];return e?(0!==t.chainId&&t.chainId!==e.chainId&&ws.throwArgumentError("network chainId mismatch","network",t),{name:t.name,chainId:e.chainId,ensAddress:t.ensAddress||e.ensAddress||null,_defaultProvider:t._defaultProvider||e._defaultProvider||null}):("number"!=typeof t.chainId&&ws.throwArgumentError("invalid network chainId","network",t),t)}function Ns(t){t=_(t);let e="";for(let r=0;r0&&(a=t.timeout),t.headers)for(const e in t.headers)n[e.toLowerCase()]={key:e,value:String(t.headers[e])},["if-none-match","if-modified-since"].indexOf(e.toLowerCase())>=0&&(s=!0);if(null!=t.user&&null!=t.password){"https:"!==i.substring(0,6)&&!0!==t.allowInsecureAuthentication&&Is.throwError("basic authentication requires a secure https url",m.errors.INVALID_ARGUMENT,{argument:"url",url:i,user:t.user,password:"[REDACTED]"});const e=t.user+":"+t.password;n.authorization={key:"Authorization",value:"Basic "+Ns(Pe(e))}}}e&&(o.method="POST",o.body=e,n["content-type"]={key:"Content-Type",value:"application/json"});const u={};Object.keys(n).forEach(t=>{const e=n[t];u[e.key]=e.value}),o.headers=u;const l=function(){let t=null;return{promise:new Promise((function(e,r){a&&(t=setTimeout(()=>{null!=t&&(t=null,r(Is.makeError("timeout",m.errors.TIMEOUT,{requestBody:o.body||null,requestMethod:o.method,timeout:a,url:i})))},a))})),cancel:function(){null!=t&&(clearTimeout(t),t=null)}}}(),h=function(){return Ts(this,void 0,void 0,(function*(){let t=null;try{t=yield function(t,e){return xs(this,void 0,void 0,(function*(){null==e&&(e={});const r={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0,mode:"cors",cache:"no-cache",credentials:"same-origin",redirect:"follow",referrer:"client"},n=yield fetch(t,r),i=yield n.text(),o={};return n.headers.forEach?n.headers.forEach((t,e)=>{o[e.toLowerCase()]=t}):n.headers.keys().forEach(t=>{o[t.toLowerCase()]=n.headers.get(t)}),{headers:o,statusCode:n.status,statusMessage:n.statusText,body:i}}))}(i,o)}catch(e){t=e.response,null==t&&(l.cancel(),Is.throwError("missing response",m.errors.SERVER_ERROR,{requestBody:o.body||null,requestMethod:o.method,serverError:e,url:i}))}let e=t.body;s&&304===t.statusCode?e=null:(t.statusCode<200||t.statusCode>=300)&&(l.cancel(),Is.throwError("bad response",m.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:e,requestBody:o.body||null,requestMethod:o.method,url:i})),l.cancel();let n=null;if(null!=e)try{n=JSON.parse(e)}catch(t){Is.throwError("invalid JSON",m.errors.SERVER_ERROR,{body:e,error:t,requestBody:o.body||null,requestMethod:o.method,url:i})}if(r)try{n=yield r(n,t)}catch(t){Is.throwError("processing response error",m.errors.SERVER_ERROR,{body:n,error:t,requestBody:o.body||null,requestMethod:o.method,url:i})}return n}))}();return Promise.race([l.promise,h])}function Cs(t,e){return e||(e={}),null==(e=st(e)).floor&&(e.floor=0),null==e.ceiling&&(e.ceiling=1e4),null==e.interval&&(e.interval=250),new Promise((function(r,n){let i=null,o=!1;const s=()=>!o&&(o=!0,i&&clearTimeout(i),!0);e.timeout&&(i=setTimeout(()=>{s()&&n(new Error("timeout"))},e.timeout));const a=e.retryLimit;let u=0;!function i(){return t().then((function(t){if(void 0!==t)s()&&r(t);else if(e.oncePoll)e.oncePoll.once("poll",i);else if(e.onceBlock)e.onceBlock.once("block",i);else if(!o){if(u++,u>a)return void(s()&&n(new Error("retry limit reached")));let t=e.interval*parseInt(String(Math.random()*Math.pow(2,u)));te.ceiling&&(t=e.ceiling),setTimeout(i,t)}return null}),(function(t){s()&&n(t)}))}()}))}const Bs="providers/5.0.1",Os=new m(Bs);class Fs{constructor(){Os.checkNew(new.target,Fs),this.formats=this.getDefaultFormats()}getDefaultFormats(){const t={},e=this.address.bind(this),r=this.bigNumber.bind(this),n=this.blockTag.bind(this),i=this.data.bind(this),o=this.hash.bind(this),s=this.hex.bind(this),a=this.number.bind(this);return t.transaction={hash:o,blockHash:Fs.allowNull(o,null),blockNumber:Fs.allowNull(a,null),transactionIndex:Fs.allowNull(a,null),confirmations:Fs.allowNull(a,null),from:e,gasPrice:r,gasLimit:r,to:Fs.allowNull(e,null),value:r,nonce:a,data:i,r:Fs.allowNull(this.uint256),s:Fs.allowNull(this.uint256),v:Fs.allowNull(a),creates:Fs.allowNull(e,null),raw:Fs.allowNull(i)},t.transactionRequest={from:Fs.allowNull(e),nonce:Fs.allowNull(a),gasLimit:Fs.allowNull(r),gasPrice:Fs.allowNull(r),to:Fs.allowNull(e),value:Fs.allowNull(r),data:Fs.allowNull(t=>this.data(t,!0))},t.receiptLog={transactionIndex:a,blockNumber:a,transactionHash:o,address:e,topics:Fs.arrayOf(o),data:i,logIndex:a,blockHash:o},t.receipt={to:Fs.allowNull(this.address,null),from:Fs.allowNull(this.address,null),contractAddress:Fs.allowNull(e,null),transactionIndex:a,root:Fs.allowNull(o),gasUsed:r,logsBloom:Fs.allowNull(i),blockHash:o,transactionHash:o,logs:Fs.arrayOf(this.receiptLog.bind(this)),blockNumber:a,confirmations:Fs.allowNull(a,null),cumulativeGasUsed:r,status:Fs.allowNull(a)},t.block={hash:o,parentHash:o,number:a,timestamp:a,nonce:Fs.allowNull(s),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:e,extraData:i,transactions:Fs.allowNull(Fs.arrayOf(o))},t.blockWithTransactions=st(t.block),t.blockWithTransactions.transactions=Fs.allowNull(Fs.arrayOf(this.transactionResponse.bind(this))),t.filter={fromBlock:Fs.allowNull(n,void 0),toBlock:Fs.allowNull(n,void 0),blockHash:Fs.allowNull(o,void 0),address:Fs.allowNull(e,void 0),topics:Fs.allowNull(this.topics.bind(this),void 0)},t.filterLog={blockNumber:Fs.allowNull(a),blockHash:Fs.allowNull(o),transactionIndex:a,removed:Fs.allowNull(this.boolean.bind(this)),address:e,data:Fs.allowFalsish(i,"0x"),topics:Fs.arrayOf(o),transactionHash:o,logIndex:a},t}number(t){return L.from(t).toNumber()}bigNumber(t){return L.from(t)}boolean(t){if("boolean"==typeof t)return t;if("string"==typeof t){if("true"===(t=t.toLowerCase()))return!0;if("false"===t)return!1}throw new Error("invalid boolean - "+t)}hex(t,e){return"string"==typeof t&&(e||"0x"===t.substring(0,2)||(t="0x"+t),M(t))?t.toLowerCase():Os.throwArgumentError("invalid hash","value",t)}data(t,e){const r=this.hex(t,e);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+t);return r}address(t){return Yt(t)}callAddress(t){if(!M(t,32))return null;const e=Yt(x(t,12));return e===fe?null:e}contractAddress(t){return te(t)}blockTag(t){if(null==t)return"latest";if("earliest"===t)return"0x0";if("latest"===t||"pending"===t)return t;if("number"==typeof t||M(t))return T(t);throw new Error("invalid blockTag")}hash(t,e){const r=this.hex(t,e);return 32!==P(r)?Os.throwArgumentError("invalid hash","value",t):r}difficulty(t){if(null==t)return null;const e=L.from(t);try{return e.toNumber()}catch(t){}return null}uint256(t){if(!M(t))throw new Error("invalid uint256");return R(t,32)}_block(t,e){return null!=t.author&&null==t.miner&&(t.miner=t.author),Fs.check(e,t)}block(t){return this._block(t,this.formats.block)}blockWithTransactions(t){return this._block(t,this.formats.blockWithTransactions)}transactionRequest(t){return Fs.check(this.formats.transactionRequest,t)}transactionResponse(t){null!=t.gas&&null==t.gasLimit&&(t.gasLimit=t.gas),t.to&&L.from(t.to).isZero()&&(t.to="0x0000000000000000000000000000000000000000"),null!=t.input&&null==t.data&&(t.data=t.input),null==t.to&&null==t.creates&&(t.creates=this.contractAddress(t));const e=Fs.check(this.formats.transaction,t);if(null!=t.chainId){let r=t.chainId;M(r)&&(r=L.from(r).toNumber()),e.chainId=r}else{let r=t.networkId;null==r&&null==e.v&&(r=t.chainId),M(r)&&(r=L.from(r).toNumber()),"number"!=typeof r&&null!=e.v&&(r=(e.v-35)/2,r<0&&(r=0),r=parseInt(r)),"number"!=typeof r&&(r=0),e.chainId=r}return e.blockHash&&"x"===e.blockHash.replace(/0/g,"")&&(e.blockHash=null),e}transaction(t){return so(t)}receiptLog(t){return Fs.check(this.formats.receiptLog,t)}receipt(t){const e=Fs.check(this.formats.receipt,t);return null!=t.status&&(e.byzantium=!0),e}topics(t){return Array.isArray(t)?t.map(t=>this.topics(t)):null!=t?this.hash(t,!0):null}filter(t){return Fs.check(this.formats.filter,t)}filterLog(t){return Fs.check(this.formats.filterLog,t)}static check(t,e){const r={};for(const n in t)try{const i=t[n](e[n]);void 0!==i&&(r[n]=i)}catch(t){throw t.checkKey=n,t.checkValue=e[n],t}return r}static allowNull(t,e){return function(r){return null==r?e:t(r)}}static allowFalsish(t,e){return function(r){return r?t(r):e}}static arrayOf(t){return function(e){if(!Array.isArray(e))throw new Error("not an array");const r=[];return e.forEach((function(e){r.push(t(e))})),r}}}var Us=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const Ls=new m(Bs);function Ds(t){return null==t?"null":(32!==P(t)&&Ls.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function js(t){for(t=t.slice();t.length>0&&null==t[t.length-1];)t.pop();return t.map(t=>{if(Array.isArray(t)){const e={};t.forEach(t=>{e[Ds(t)]=!0});const r=Object.keys(e);return r.sort(),r.join("|")}return Ds(t)}).join("&")}function zs(t){if("string"==typeof t){if(32===P(t=t.toLowerCase()))return"tx:"+t;if(-1===t.indexOf(":"))return t}else{if(Array.isArray(t))return"filter:*:"+js(t);if(hr.isForkEvent(t))throw Ls.warn("not implemented"),new Error("not implemented");if(t&&"object"==typeof t)return"filter:"+(t.address||"*")+":"+js(t.topics||[])}throw new Error("invalid event - "+t)}function qs(){return(new Date).getTime()}const Ks=["block","network","pending","poll"];class Hs{constructor(t,e,r){rt(this,"tag",t),rt(this,"listener",e),rt(this,"once",r)}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const t=this.tag.split(":");return"tx"!==t[0]?null:t[1]}get filter(){const t=this.tag.split(":");if("filter"!==t[0])return null;const e=t[1],r=""===(n=t[2])?[]:n.split(/&/g).map(t=>{if(""===t)return[];const e=t.split("|").map(t=>"null"===t?null:t);return 1===e.length?e[0]:e});var n;const i={};return r.length>0&&(i.topics=r),e&&"*"!==e&&(i.address=e),i}pollable(){return this.tag.indexOf(":")>=0||Ks.indexOf(this.tag)>=0}}let Gs=null,Vs=1;class Ws extends cr{constructor(t){if(Ls.checkNew(new.target,cr),super(),this._events=[],this._emitted={block:-2},this.formatter=new.target.getFormatter(),rt(this,"anyNetwork","any"===t),this.anyNetwork&&(t=this.detectNetwork()),t instanceof Promise)this._networkPromise=t,t.catch(t=>{}),this._ready();else{const e=nt(new.target,"getNetwork")(t);e?(rt(this,"_network",e),this.emit("network",e,null)):Ls.throwArgumentError("invalid network","network",t)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return Us(this,void 0,void 0,(function*(){if(null==this._network){let t=null;if(this._networkPromise)try{t=yield this._networkPromise}catch(t){}null==t&&(t=yield this.detectNetwork()),t||Ls.throwError("no network detected",m.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=t:rt(this,"_network",t),this.emit("network",t,null))}return this._network}))}get ready(){return this._ready()}static getFormatter(){return null==Gs&&(Gs=new Fs),Gs}static getNetwork(t){return Ms(null==t?"homestead":t)}_getInternalBlockNumber(t){return Us(this,void 0,void 0,(function*(){yield this.ready;const e=this._internalBlockNumber;if(t>0&&this._internalBlockNumber){const r=yield e;if(qs()-r.respTime<=t)return r.blockNumber}const r=qs(),n=it({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(t=>null,t=>t)}).then(({blockNumber:t,networkError:e})=>{if(e)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),e;const i=qs();return(t=L.from(t).toNumber())1e3)Ls.warn("network block skew detected; skipping block events"),this.emit("error",Ls.makeError("network block skew detected",m.errors.NETWORK_ERROR,{blockNumber:r,previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(let t=this._emitted.block+1;t<=r;t++)this.emit("block",t);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach(t=>{if("block"===t)return;const e=this._emitted[t];"pending"!==e&&r-e>12&&delete this._emitted[t]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach(t=>{switch(t.type){case"tx":{const r=t.hash;let n=this.getTransactionReceipt(r).then(t=>t&&null!=t.blockNumber?(this._emitted["t:"+r]=t.blockNumber,this.emit(r,t),null):null).catch(t=>{this.emit("error",t)});e.push(n);break}case"filter":{const n=t.filter;n.fromBlock=this._lastBlockNumber+1,n.toBlock=r;const i=this.getLogs(n).then(t=>{0!==t.length&&t.forEach(t=>{this._emitted["b:"+t.blockHash]=t.blockNumber,this._emitted["t:"+t.transactionHash]=t.blockNumber,this.emit(n,t)})}).catch(t=>{this.emit("error",t)});e.push(i);break}}}),this._lastBlockNumber=r,Promise.all(e).then(()=>{this.emit("didPoll",t)}),null}this.emit("didPoll",t)}))}resetEventsBlock(t){this._lastBlockNumber=t-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return Us(this,void 0,void 0,(function*(){return Ls.throwError("provider does not support network detection",m.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return Us(this,void 0,void 0,(function*(){const t=yield this.ready,e=yield this.detectNetwork();if(t.chainId!==e.chainId){if(this.anyNetwork)return this._network=e,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",e,t),yield(r=0,new Promise(t=>{setTimeout(t,r)})),this._network;const n=Ls.makeError("underlying network changed",m.errors.NETWORK_ERROR,{event:"changed",network:t,detectedNetwork:e});throw this.emit("error",n),n}var r;return t}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(t=>{this._setFastBlockNumber(t)}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(t){t&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!t&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(t){if("number"!=typeof t||t<=0||parseInt(String(t))!=t)throw new Error("invalid polling interval");this._pollingInterval=t,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const t=qs();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then(t=>((null==this._fastBlockNumber||t>this._fastBlockNumber)&&(this._fastBlockNumber=t),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(t){null!=this._fastBlockNumber&&tthis._fastBlockNumber)&&(this._fastBlockNumber=t,this._fastBlockNumberPromise=Promise.resolve(t)))}waitForTransaction(t,e,r){return Us(this,void 0,void 0,(function*(){null==e&&(e=1);const n=yield this.getTransactionReceipt(t);return(n?n.confirmations:0)>=e?n:new Promise((n,i)=>{let o=null,s=!1;const a=r=>{r.confirmations0&&(o=setTimeout(()=>{s||(o=null,s=!0,this.removeListener(t,a),i(Ls.makeError("timeout exceeded",m.errors.TIMEOUT,{timeout:r})))},r),o.unref&&o.unref())})}))}getBlockNumber(){return Us(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return Us(this,void 0,void 0,(function*(){return yield this.getNetwork(),L.from(yield this.perform("getGasPrice",{}))}))}getBalance(t,e){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield it({address:this._getAddress(t),blockTag:this._getBlockTag(e)});return L.from(yield this.perform("getBalance",r))}))}getTransactionCount(t,e){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield it({address:this._getAddress(t),blockTag:this._getBlockTag(e)});return L.from(yield this.perform("getTransactionCount",r)).toNumber()}))}getCode(t,e){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield it({address:this._getAddress(t),blockTag:this._getBlockTag(e)});return N(yield this.perform("getCode",r))}))}getStorageAt(t,e,r){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield it({address:this._getAddress(t),blockTag:this._getBlockTag(r),position:Promise.resolve(e).then(t=>T(t))});return N(yield this.perform("getStorageAt",n))}))}_wrapTransaction(t,e){if(null!=e&&32!==P(e))throw new Error("invalid response - sendTransaction");const r=t;return null!=e&&t.hash!==e&&Ls.throwError("Transaction hash mismatch from Provider.sendTransaction.",m.errors.UNKNOWN_ERROR,{expectedHash:t.hash,returnedHash:e}),r.wait=e=>Us(this,void 0,void 0,(function*(){0!==e&&(this._emitted["t:"+t.hash]="pending");const r=yield this.waitForTransaction(t.hash,e);return null==r&&0===e?null:(this._emitted["t:"+t.hash]=r.blockNumber,0===r.status&&Ls.throwError("transaction failed",m.errors.CALL_EXCEPTION,{transactionHash:t.hash,transaction:t,receipt:r}),r)})),r}sendTransaction(t){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield Promise.resolve(t).then(t=>N(t)),r=this.formatter.transaction(t);try{const t=yield this.perform("sendTransaction",{signedTransaction:e});return this._wrapTransaction(r,t)}catch(t){throw t.transaction=r,t.transactionHash=r.hash,t}}))}_getTransactionRequest(t){return Us(this,void 0,void 0,(function*(){const e=yield t,r={};return["from","to"].forEach(t=>{null!=e[t]&&(r[t]=Promise.resolve(e[t]).then(t=>t?this._getAddress(t):null))}),["gasLimit","gasPrice","value"].forEach(t=>{null!=e[t]&&(r[t]=Promise.resolve(e[t]).then(t=>t?L.from(t):null))}),["data"].forEach(t=>{null!=e[t]&&(r[t]=Promise.resolve(e[t]).then(t=>t?N(t):null))}),this.formatter.transactionRequest(yield it(r))}))}_getFilter(t){return Us(this,void 0,void 0,(function*(){t=yield t;const e={};return null!=t.address&&(e.address=this._getAddress(t.address)),["blockHash","topics"].forEach(r=>{null!=t[r]&&(e[r]=t[r])}),["fromBlock","toBlock"].forEach(r=>{null!=t[r]&&(e[r]=this._getBlockTag(t[r]))}),this.formatter.filter(yield it(e))}))}call(t,e){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield it({transaction:this._getTransactionRequest(t),blockTag:this._getBlockTag(e)});return N(yield this.perform("call",r))}))}estimateGas(t){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield it({transaction:this._getTransactionRequest(t)});return L.from(yield this.perform("estimateGas",e))}))}_getAddress(t){return Us(this,void 0,void 0,(function*(){const e=yield this.resolveName(t);return null==e&&Ls.throwError("ENS name not configured",m.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(t)})`}),e}))}_getBlock(t,e){return Us(this,void 0,void 0,(function*(){yield this.getNetwork(),t=yield t;let r=-128;const n={includeTransactions:!!e};if(M(t,32))n.blockHash=t;else try{n.blockTag=this.formatter.blockTag(yield this._getBlockTag(t)),M(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16))}catch(e){Ls.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",t)}return Cs(()=>Us(this,void 0,void 0,(function*(){const t=yield this.perform("getBlock",n);if(null==t)return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?null:void 0;if(e){let e=null;for(let r=0;rUs(this,void 0,void 0,(function*(){const r=yield this.perform("getTransaction",e);if(null==r)return null==this._emitted["t:"+t]?null:void 0;const n=this.formatter.transactionResponse(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let t=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;t<=0&&(t=1),n.confirmations=t}return this._wrapTransaction(n)})),{oncePoll:this})}))}getTransactionReceipt(t){return Us(this,void 0,void 0,(function*(){yield this.getNetwork(),t=yield t;const e={transactionHash:this.formatter.hash(t,!0)};return Cs(()=>Us(this,void 0,void 0,(function*(){const r=yield this.perform("getTransactionReceipt",e);if(null==r)return null==this._emitted["t:"+t]?null:void 0;if(null==r.blockHash)return;const n=this.formatter.receipt(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let t=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;t<=0&&(t=1),n.confirmations=t}return n})),{oncePoll:this})}))}getLogs(t){return Us(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield it({filter:this._getFilter(t)}),r=yield this.perform("getLogs",e);return r.forEach(t=>{null==t.removed&&(t.removed=!1)}),Fs.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)}))}getEtherPrice(){return Us(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(t){return Us(this,void 0,void 0,(function*(){if("number"==typeof(t=yield t)&&t<0){t%1&&Ls.throwArgumentError("invalid BlockTag","blockTag",t);let e=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return e+=t,e<0&&(e=0),this.formatter.blockTag(e)}return this.formatter.blockTag(t)}))}_getResolver(t){return Us(this,void 0,void 0,(function*(){const e=yield this.getNetwork();e.ensAddress||Ls.throwError("network does not support ENS",m.errors.UNSUPPORTED_OPERATION,{operation:"ENS",network:e.name});const r={to:e.ensAddress,data:"0x0178b8bf"+tr(t).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}resolveName(t){return Us(this,void 0,void 0,(function*(){t=yield t;try{return Promise.resolve(this.formatter.address(t))}catch(e){if(M(t))throw e}"string"!=typeof t&&Ls.throwArgumentError("invalid ENS name","name",t);const e=yield this._getResolver(t);if(!e)return null;const r={to:e,data:"0x3b3b57de"+tr(t).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}lookupAddress(t){return Us(this,void 0,void 0,(function*(){t=yield t;const e=(t=this.formatter.address(t)).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(e);if(!r)return null;let n=_(yield this.call({to:r,data:"0x691f3431"+tr(e).substring(2)}));if(n.length<32||!L.from(n.slice(0,32)).eq(32))return null;if(n=n.slice(32),n.length<32)return null;const i=L.from(n.slice(0,32)).toNumber();if(n=n.slice(32),i>n.length)return null;const o=Ie(n.slice(0,i));return(yield this.resolveName(o))!=t?null:o}))}perform(t,e){return Ls.throwError(t+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:t})}_startEvent(t){this.polling=this._events.filter(t=>t.pollable()).length>0}_stopEvent(t){this.polling=this._events.filter(t=>t.pollable()).length>0}_addEventListener(t,e,r){const n=new Hs(zs(t),e,r);return this._events.push(n),this._startEvent(n),this}on(t,e){return this._addEventListener(t,e,!1)}once(t,e){return this._addEventListener(t,e,!0)}emit(t,...e){let r=!1,n=[],i=zs(t);return this._events=this._events.filter(t=>t.tag!==i||(setTimeout(()=>{t.listener.apply(this,e)},0),r=!0,!t.once||(n.push(t),!1))),n.forEach(t=>{this._stopEvent(t)}),r}listenerCount(t){if(!t)return this._events.length;let e=zs(t);return this._events.filter(t=>t.tag===e).length}listeners(t){if(null==t)return this._events.map(t=>t.listener);let e=zs(t);return this._events.filter(t=>t.tag===e).map(t=>t.listener)}off(t,e){if(null==e)return this.removeAllListeners(t);const r=[];let n=!1,i=zs(t);return this._events=this._events.filter(t=>t.tag!==i||t.listener!=e||(!!n||(n=!0,r.push(t),!1))),r.forEach(t=>{this._stopEvent(t)}),this}removeAllListeners(t){let e=[];if(null==t)e=this._events,this._events=[];else{const r=zs(t);this._events=this._events.filter(t=>t.tag!==r||(e.push(t),!1))}return e.forEach(t=>{this._stopEvent(t)}),this}}var Js=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const Zs=new m(Bs);function Xs(t){return new Promise((function(e){setTimeout(e,t)}))}function $s(t){if(t.error){const e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}function Qs(t){return t?t.toLowerCase():t}const Ys={};class ta extends mr{constructor(t,e,r){if(Zs.checkNew(new.target,ta),super(),t!==Ys)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");rt(this,"provider",e),null==r&&(r=0),"string"==typeof r?(rt(this,"_address",this.provider.formatter.address(r)),rt(this,"_index",null)):"number"==typeof r?(rt(this,"_index",r),rt(this,"_address",null)):Zs.throwArgumentError("invalid address or index","addressOrIndex",r)}connect(t){return Zs.throwError("cannot alter JSON-RPC Signer connection",m.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new ea(Ys,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(t=>(t.length<=this._index&&Zs.throwError("unknown account #"+this._index,m.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(t[this._index])))}sendUncheckedTransaction(t){t=st(t);const e=this.getAddress().then(t=>(t&&(t=t.toLowerCase()),t));if(null==t.gasLimit){const r=st(t);r.from=e,t.gasLimit=this.provider.estimateGas(r)}return it({tx:it(t),sender:e}).then(({tx:e,sender:r})=>{null!=e.from?e.from.toLowerCase()!==r&&Zs.throwArgumentError("from address mismatch","transaction",t):e.from=r;const n=this.provider.constructor.hexlifyTransaction(e,{from:!0});return this.provider.send("eth_sendTransaction",[n]).then(t=>t,t=>{throw t.responseText&&(t.responseText.indexOf("insufficient funds")>=0&&Zs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{transaction:e}),t.responseText.indexOf("nonce too low")>=0&&Zs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{transaction:e}),t.responseText.indexOf("replacement transaction underpriced")>=0&&Zs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{transaction:e})),t})})}signTransaction(t){return Zs.throwError("signing transactions is unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(t){return this.sendUncheckedTransaction(t).then(t=>Cs(()=>this.provider.getTransaction(t).then(e=>{if(null!==e)return this.provider._wrapTransaction(e,t)}),{onceBlock:this.provider}).catch(e=>{throw e.transactionHash=t,e}))}signMessage(t){const e="string"==typeof t?Pe(t):t;return this.getAddress().then(t=>this.provider.send("eth_sign",[t.toLowerCase(),N(e)]))}unlock(t){const e=this.provider;return this.getAddress().then((function(r){return e.send("personal_unlockAccount",[r.toLowerCase(),t,null])}))}}class ea extends ta{sendTransaction(t){return this.sendUncheckedTransaction(t).then(t=>({hash:t,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:e=>this.provider.waitForTransaction(t,e)}))}}const ra={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};class na extends Ws{constructor(t,e){Zs.checkNew(new.target,na);let r=e;null==r&&(r=new Promise((t,e)=>{setTimeout(()=>{this.detectNetwork().then(e=>{t(e)},t=>{e(t)})},0)})),super(r),t||(t=nt(this.constructor,"defaultUrl")()),rt(this,"connection","string"==typeof t?Object.freeze({url:t}):Object.freeze(st(t))),this._nextId=42}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return Js(this,void 0,void 0,(function*(){yield Xs(0);let t=null;try{t=yield this.send("eth_chainId",[])}catch(e){try{t=yield this.send("net_version",[])}catch(t){}}if(null!=t){const e=nt(this.constructor,"getNetwork");try{return e(L.from(t).toNumber())}catch(e){return Zs.throwError("could not detect network",m.errors.NETWORK_ERROR,{chainId:t,serverError:e})}}return Zs.throwError("could not detect network",m.errors.NETWORK_ERROR)}))}getSigner(t){return new ta(Ys,this,t)}getUncheckedSigner(t){return this.getSigner(t).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(t=>t.map(t=>this.formatter.address(t)))}send(t,e){const r={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:lt(r),provider:this}),Rs(this.connection,JSON.stringify(r),$s).then(t=>(this.emit("debug",{action:"response",request:r,response:t,provider:this}),t),t=>{throw this.emit("debug",{action:"response",error:t,request:r,provider:this}),t})}prepareRequest(t,e){switch(t){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Qs(e.address),e.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Qs(e.address),e.blockTag]];case"getCode":return["eth_getCode",[Qs(e.address),e.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Qs(e.address),e.position,e.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[e.signedTransaction]];case"getBlock":return e.blockTag?["eth_getBlockByNumber",[e.blockTag,!!e.includeTransactions]]:e.blockHash?["eth_getBlockByHash",[e.blockHash,!!e.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[e.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[e.transactionHash]];case"call":return["eth_call",[nt(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0}),e.blockTag]];case"estimateGas":return["eth_estimateGas",[nt(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0})]];case"getLogs":return e.filter&&null!=e.filter.address&&(e.filter.address=Qs(e.filter.address)),["eth_getLogs",[e.filter]]}return null}perform(t,e){const r=this.prepareRequest(t,e);return null==r&&Zs.throwError(t+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:t}),"sendTransaction"===t?this.send(r[0],r[1]).catch(t=>{throw t.responseText&&(t.responseText.indexOf("insufficient funds")>0&&Zs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),t.responseText.indexOf("nonce too low")>0&&Zs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),t.responseText.indexOf("replacement transaction underpriced")>0&&Zs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),t}):this.send(r[0],r[1])}_startEvent(t){"pending"===t.tag&&this._startPending(),super._startEvent(t)}_startPending(){if(null!=this._pendingFilter)return;const t=this,e=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=e,e.then((function(r){return function n(){t.send("eth_getFilterChanges",[r]).then((function(r){if(t._pendingFilter!=e)return null;let n=Promise.resolve();return r.forEach((function(e){t._emitted["t:"+e.toLowerCase()]="pending",n=n.then((function(){return t.getTransaction(e).then((function(e){return t.emit("pending",e),null}))}))})),n.then((function(){return Xs(1e3)}))})).then((function(){if(t._pendingFilter==e)return setTimeout((function(){n()}),0),null;t.send("eth_uninstallFilter",[r])})).catch(t=>{})}(),r})).catch(t=>{})}_stopEvent(t){"pending"===t.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(t)}static hexlifyTransaction(t,e){const r=st(ra);if(e)for(const t in e)e[t]&&(r[t]=!0);ot(t,r);const n={};return["gasLimit","gasPrice","nonce","value"].forEach((function(e){if(null==t[e])return;const r=T(t[e]);"gasLimit"===e&&(e="gas"),n[e]=r})),["from","to","data"].forEach((function(e){null!=t[e]&&(n[e]=N(t[e]))})),n}}var ia=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const oa=new m(Bs);class sa extends na{constructor(t,e){oa.checkAbstract(new.target,sa),t=nt(new.target,"getNetwork")(t),e=nt(new.target,"getApiKey")(e),super(nt(new.target,"getUrl")(t,e),t),"string"==typeof e?rt(this,"apiKey",e):null!=e&&Object.keys(e).forEach(t=>{rt(this,t,e[t])})}detectNetwork(){return ia(this,void 0,void 0,(function*(){return this.network}))}_startPending(){oa.warn("WARNING: API provider does not support pending filters")}getSigner(t){return oa.throwError("API provider does not support signing",m.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(t){return t}static getUrl(t,e){return oa.throwError("not implemented; sub-classes must override getUrl",m.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const aa=new m(Bs);class ua extends sa{static getApiKey(t){return null==t?"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC":(t&&"string"!=typeof t&&aa.throwArgumentError("invalid apiKey","apiKey",t),t)}static getUrl(t,e){let r=null;switch(t.name){case"homestead":r="eth-mainnet.alchemyapi.io/jsonrpc/";break;case"ropsten":r="eth-ropsten.alchemyapi.io/jsonrpc/";break;case"rinkeby":r="eth-rinkeby.alchemyapi.io/jsonrpc/";break;case"goerli":r="eth-goerli.alchemyapi.io/jsonrpc/";break;case"kovan":r="eth-kovan.alchemyapi.io/jsonrpc/";break;default:aa.throwArgumentError("unsupported network","network",arguments[0])}return"https://"+r+e}}var la=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const ha=new m(Bs);class ca extends sa{static getApiKey(t){return null!=t&&ha.throwArgumentError("apiKey not supported for cloudflare","apiKey",t),null}static getUrl(t,e){let r=null;switch(t.name){case"homestead":r="https://cloudflare-eth.com/";break;default:ha.throwArgumentError("unsupported network","network",arguments[0])}return r}perform(t,e){const r=Object.create(null,{perform:{get:()=>super.perform}});return la(this,void 0,void 0,(function*(){if("getBlockNumber"===t){return(yield r.perform.call(this,"getBlock",{blockTag:"latest"})).number}return r.perform.call(this,t,e)}))}}var fa=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const da=new m(Bs);function pa(t){const e=[];for(let r in t){if(null==t[r])continue;let n=N(t[r]);({gasLimit:!0,gasPrice:!0,nonce:!0,value:!0})[r]&&(n=T(n)),e.push(r+"="+n)}return e.join("&")}function ma(t){if(0==t.status&&("No records found"===t.message||"No transactions found"===t.message))return t.result;if(1!=t.status||"OK"!=t.message){const e=new Error("invalid response");throw e.result=JSON.stringify(t),e}return t.result}function ga(t){if("2.0"!=t.jsonrpc){const e=new Error("invalid response");throw e.result=JSON.stringify(t),e}if(t.error){const e=new Error(t.error.message||"unknown error");throw t.error.code&&(e.code=t.error.code),t.error.data&&(e.data=t.error.data),e}return t.result}function va(t){if("pending"===t)throw new Error("pending not supported");return"latest"===t?t:parseInt(t.substring(2),16)}class ya extends Ws{constructor(t,e){da.checkNew(new.target,ya),super(t);let r="invalid";this.network&&(r=this.network.name);let n=null;switch(r){case"homestead":n="https://api.etherscan.io";break;case"ropsten":n="https://api-ropsten.etherscan.io";break;case"rinkeby":n="https://api-rinkeby.etherscan.io";break;case"kovan":n="https://api-kovan.etherscan.io";break;case"goerli":n="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}rt(this,"baseUrl",n),rt(this,"apiKey",e||"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB")}detectNetwork(){return fa(this,void 0,void 0,(function*(){return this.network}))}perform(t,e){const r=Object.create(null,{perform:{get:()=>super.perform}});return fa(this,void 0,void 0,(function*(){let n=this.baseUrl,i="";this.apiKey&&(i+="&apikey="+this.apiKey);const o=(t,e)=>fa(this,void 0,void 0,(function*(){this.emit("debug",{action:"request",request:t,provider:this});const r=yield Rs(t,null,e||ga);return this.emit("debug",{action:"response",request:t,response:lt(r),provider:this}),r}));switch(t){case"getBlockNumber":return n+="/api?module=proxy&action=eth_blockNumber"+i,o(n);case"getGasPrice":return n+="/api?module=proxy&action=eth_gasPrice"+i,o(n);case"getBalance":return n+="/api?module=account&action=balance&address="+e.address,n+="&tag="+e.blockTag+i,o(n,ma);case"getTransactionCount":return n+="/api?module=proxy&action=eth_getTransactionCount&address="+e.address,n+="&tag="+e.blockTag+i,o(n);case"getCode":return n+="/api?module=proxy&action=eth_getCode&address="+e.address,n+="&tag="+e.blockTag+i,o(n,ga);case"getStorageAt":return n+="/api?module=proxy&action=eth_getStorageAt&address="+e.address,n+="&position="+e.position,n+="&tag="+e.blockTag+i,o(n,ga);case"sendTransaction":return n+="/api?module=proxy&action=eth_sendRawTransaction&hex="+e.signedTransaction,n+=i,o(n).catch(t=>{throw t.responseText&&(t.responseText.toLowerCase().indexOf("insufficient funds")>=0&&da.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),t.responseText.indexOf("same hash was already imported")>=0&&da.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),t.responseText.indexOf("another transaction with same nonce")>=0&&da.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),t});case"getBlock":if(e.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+e.blockTag,e.includeTransactions?n+="&boolean=true":n+="&boolean=false",n+=i,o(n);throw new Error("getBlock by blockHash not implemented");case"getTransaction":return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+e.transactionHash,n+=i,o(n);case"getTransactionReceipt":return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+e.transactionHash,n+=i,o(n);case"call":{let t=pa(e.transaction);if(t&&(t="&"+t),n+="/api?module=proxy&action=eth_call"+t,"latest"!==e.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return n+=i,o(n)}case"estimateGas":{let t=pa(e.transaction);return t&&(t="&"+t),n+="/api?module=proxy&action=eth_estimateGas&"+t,n+=i,o(n)}case"getLogs":{if(n+="/api?module=logs&action=getLogs",e.filter.fromBlock&&(n+="&fromBlock="+va(e.filter.fromBlock)),e.filter.toBlock&&(n+="&toBlock="+va(e.filter.toBlock)),e.filter.address&&(n+="&address="+e.filter.address),e.filter.topics&&e.filter.topics.length>0&&(e.filter.topics.length>1&&da.throwError("unsupported topic count",m.errors.UNSUPPORTED_OPERATION,{topics:e.filter.topics}),1===e.filter.topics.length)){const t=e.filter.topics[0];"string"==typeof t&&66===t.length||da.throwError("unsupported topic format",m.errors.UNSUPPORTED_OPERATION,{topic0:t}),n+="&topic0="+t}n+=i;const t=yield o(n,ma);let r={};for(let e=0;e(n+="/api?module=account&action=txlist&address="+t,n+="&startblock="+e,n+="&endblock="+r,n+="&sort=asc"+i,this.emit("debug",{action:"request",request:n,provider:this}),Rs(n,null,ma).then(t=>{this.emit("debug",{action:"response",request:n,response:lt(t),provider:this});let e=[];return t.forEach(t=>{["contractAddress","to"].forEach((function(e){""==t[e]&&delete t[e]})),null==t.creates&&null!=t.contractAddress&&(t.creates=t.contractAddress);let r=this.formatter.transactionResponse(t);t.timeStamp&&(r.timestamp=parseInt(t.timeStamp)),e.push(r)}),e})))}}var wa=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const ba=new m(Bs);function Ea(){return(new Date).getTime()}function _a(t){let e=null;for(let r=0;re?null:(n+i)/2}function Aa(t){if(null===t)return"null";if("number"==typeof t||"boolean"==typeof t)return JSON.stringify(t);if("string"==typeof t)return t;if(L.isBigNumber(t))return t.toString();if(Array.isArray(t))return JSON.stringify(t.map(t=>Aa(t)));if("object"==typeof t){const e=Object.keys(t);return e.sort(),"{"+e.map(e=>{let r=t[e];return r="function"==typeof r?"[function]":Aa(r),JSON.stringify(e)+":"+r}).join(",")+"}"}throw new Error("unknown value type: "+typeof t)}let Sa=1;function Ma(t){let e=null,r=null,n=new Promise(n=>{e=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(e,t)});return{cancel:e,getPromise:function(){return n},wait:t=>(n=n.then(t),n)}}function Na(t,e){const r={provider:t.provider,weight:t.weight};return t.start&&(r.start=t.start),e&&(r.duration=e-t.start),t.done&&(t.error?r.error=t.error:r.result=t.result||null),r}function Pa(t,e,r){let n=Aa;switch(e){case"getBlockNumber":return function(e){const r=e.map(t=>t.result);let n=ka(e.map(t=>t.result),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=t._highestBlockNumber&&(t._highestBlockNumber=n),t._highestBlockNumber};case"getGasPrice":return function(t){const e=t.map(t=>t.result);return e.sort(),e[Math.floor(e.length/2)]};case"getEtherPrice":return function(t){return ka(t.map(t=>t.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(t){return null==t?null:((t=st(t)).confirmations=-1,Aa(t))};break;case"getBlock":n=r.includeTransactions?function(t){return null==t?null:((t=st(t)).transactions=t.transactions.map(t=>((t=st(t)).confirmations=-1,t)),Aa(t))}:function(t){return null==t?null:Aa(t)};break;default:throw new Error("unknown method: "+e)}return function(t,e){return function(r){const n={};r.forEach(e=>{const r=t(e.result);n[r]||(n[r]={count:0,result:e.result}),n[r].count++});const i=Object.keys(n);for(let t=0;t=e)return r.result}}}(n,t.quorum)}function xa(t,e){return wa(this,void 0,void 0,(function*(){const r=t.provider;return null!=r.blockNumber&&r.blockNumber>=e||-1===e?r:Cs(()=>new Promise((n,i)=>{setTimeout((function(){return r.blockNumber>=e?n(r):t.cancelled?n(null):n(void 0)}),0)}),{oncePoll:r})}))}function Ta(t,e,r,n){return wa(this,void 0,void 0,(function*(){let i=t.provider;switch(r){case"getBlockNumber":case"getGasPrice":return i[r]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return n.blockTag&&M(n.blockTag)&&(i=yield xa(t,e)),i[r](n.address,n.blockTag||"latest");case"getStorageAt":return n.blockTag&&M(n.blockTag)&&(i=yield xa(t,e)),i.getStorageAt(n.address,n.position,n.blockTag||"latest");case"getBlock":return n.blockTag&&M(n.blockTag)&&(i=yield xa(t,e)),i[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash);case"call":case"estimateGas":return n.blockTag&&M(n.blockTag)&&(i=yield xa(t,e)),i[r](n.transaction);case"getTransaction":case"getTransactionReceipt":return i[r](n.transactionHash);case"getLogs":{let r=n.filter;return(r.fromBlock&&M(r.fromBlock)||r.toBlock&&M(r.toBlock))&&(i=yield xa(t,e)),i.getLogs(r)}}return ba.throwError("unknown method error",m.errors.UNKNOWN_ERROR,{method:r,params:n})}))}class Ia extends Ws{constructor(t,e){ba.checkNew(new.target,Ia),0===t.length&&ba.throwArgumentError("missing providers","providers",t);const r=t.map((t,e)=>{if(cr.isProvider(t))return Object.freeze({provider:t,weight:1,stallTimeout:750,priority:1});const r=st(t);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);const n=r.weight;return(n%1||n>512||n<1)&&ba.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${e}].weight`,n),Object.freeze(r)}),n=r.reduce((t,e)=>t+e.weight,0);null==e?e=n/2:e>n&&ba.throwArgumentError("quorum will always fail; larger than total weight","quorum",e);let i=_a(r.map(t=>t.provider.network));null==i&&(i=new Promise((t,e)=>{setTimeout(()=>{this.detectNetwork().then(t,e)},0)})),super(i),rt(this,"providerConfigs",Object.freeze(r)),rt(this,"quorum",e),this._highestBlockNumber=-1}detectNetwork(){return wa(this,void 0,void 0,(function*(){return _a(yield Promise.all(this.providerConfigs.map(t=>t.provider.getNetwork())))}))}perform(t,e){return wa(this,void 0,void 0,(function*(){if("sendTransaction"===t){const t=yield Promise.all(this.providerConfigs.map(t=>t.provider.sendTransaction(e.signedTransaction).then(t=>t.hash,t=>t)));for(let e=0;et.priority-e.priority);const i=this._highestBlockNumber;let o=0,s=!0;for(;;){const a=Ea();let u=n.filter(t=>t.runner&&a-t.startt+e.weight,0);for(;u{r.staller=null}),r.runner=Ta(r,i,t,e).then(n=>{r.done=!0,r.result=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:Na(r,Ea()),request:{method:t,params:lt(e)},provider:this})},n=>{r.done=!0,r.error=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:Na(r,Ea()),request:{method:t,params:lt(e)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:Na(r,null),request:{method:t,params:lt(e)},provider:this}),u+=r.weight}const l=[];n.forEach(t=>{!t.done&&t.runner&&(l.push(t.runner),t.staller&&l.push(t.staller.getPromise()))}),l.length&&(yield Promise.race(l));const h=n.filter(t=>t.done&&null==t.error);if(h.length>=this.quorum){const t=r(h);if(void 0!==t)return n.forEach(t=>{t.staller&&t.staller.cancel(),t.cancelled=!0}),t;s||(yield Ma(100).getPromise()),s=!1}if(0===n.filter(t=>!t.done).length)break}return n.forEach(t=>{t.staller&&t.staller.cancel(),t.cancelled=!0}),ba.throwError("failed to meet quorum",m.errors.SERVER_ERROR,{method:t,params:e,results:n.map(t=>Na(t)),provider:this})}))}}var Ra=r((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="providers/5.0.1"})),Ca=(e(Ra),Ra.version,e(r((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(t){var n=new g.Logger(Ra.version);r=function(){n.throwError("WebSockets not supported in this environment",g.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}t.exports=r})))),Ba=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))};const Oa=new m(Bs);let Fa=1;class Ua extends na{constructor(t,e){"any"===e&&Oa.throwError("WebSocketProvider does not support 'any' network yet",m.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),super(t,e),this._pollingInterval=-1,rt(this,"_websocket",new Ca(this.connection.url)),rt(this,"_requests",{}),rt(this,"_subs",{}),rt(this,"_subIds",{}),this._wsReady=!1,this._websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(t=>{this._websocket.send(this._requests[t].payload)})},this._websocket.onmessage=t=>{const e=t.data,r=JSON.parse(e);if(null!=r.id){const t=String(r.id),n=this._requests[t];if(delete this._requests[t],void 0!==r.result)n.callback(null,r.result);else if(r.error){const t=new Error(r.error.message||"unknown error");rt(t,"code",r.error.code||null),rt(t,"response",e),n.callback(t,void 0)}else n.callback(new Error("unknown error"),void 0)}else if("eth_subscription"===r.method){const t=this._subs[r.params.subscription];t&&t.processFunc(r.params.result)}else console.warn("this should not happen")};const r=setInterval(()=>{this.emit("poll")},1e3);r.unref&&r.unref()}get pollingInterval(){return 0}resetEventsBlock(t){Oa.throwError("cannot reset events block on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(t){Oa.throwError("cannot set polling interval on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return Ba(this,void 0,void 0,(function*(){return null}))}set polling(t){t&&Oa.throwError("cannot set polling on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(t,e){const r=Fa++;return new Promise((n,i)=>{const o=JSON.stringify({method:t,params:e,id:r,jsonrpc:"2.0"});this._requests[String(r)]={callback:function(t,e){return t?i(t):n(e)},payload:o},this._wsReady&&this._websocket.send(o)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(t,e,r){return Ba(this,void 0,void 0,(function*(){let n=this._subIds[t];null==n&&(n=Promise.all(e).then(t=>this.send("eth_subscribe",t)),this._subIds[t]=n);const i=yield n;this._subs[i]={tag:t,processFunc:r}}))}_startEvent(t){switch(t.type){case"block":this._subscribe("block",["newHeads"],t=>{const e=L.from(t.number).toNumber();this._emitted.block=e,this.emit("block",e)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],t=>{this.emit("pending",t)});break;case"filter":this._subscribe(t.tag,["logs",this._getFilter(t.filter)],e=>{null==e.removed&&(e.removed=!1),this.emit(t.filter,this.formatter.filterLog(e))});break;case"tx":{const e=t=>{const e=t.hash;this.getTransactionReceipt(e).then(t=>{t&&this.emit(e,t)})};e(t),this._subscribe("tx",["newHeads"],t=>{this._events.filter(t=>"tx"===t.type).forEach(e)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",t)}}_stopEvent(t){let e=t.tag;if("tx"===t.type){if(this._events.filter(t=>"tx"===t.type).length)return;e="tx"}else if(this.listenerCount(t.event))return;const r=this._subIds[e];r&&(delete this._subIds[e],r.then(t=>{this._subs[t]&&(delete this._subs[t],this.send("eth_unsubscribe",[t]))}))}}const La=new m(Bs);class Da extends sa{static getWebSocketProvider(t,e){const r=new Da(t,e).connection;r.password&&La.throwError("INFURA WebSocket project secrets unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});const n=r.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");return new Ua(n,t)}static getApiKey(t){const e={apiKey:"84842078b09946638c03157f83405213",projectId:"84842078b09946638c03157f83405213",projectSecret:null};return null==t||("string"==typeof t?e.projectId=t:null!=t.projectSecret?("string"!=typeof t.projectId&&La.throwArgumentError("projectSecret requires a projectId","projectId",t.projectId),"string"!=typeof t.projectSecret&&La.throwArgumentError("invalid projectSecret","projectSecret","[REDACTED]"),e.projectId=t.projectId,e.projectSecret=t.projectSecret):t.projectId&&(e.projectId=t.projectId),e.apiKey=e.projectId),e}static getUrl(t,e){let r=null;switch(t.name){case"homestead":r="mainnet.infura.io";break;case"ropsten":r="ropsten.infura.io";break;case"rinkeby":r="rinkeby.infura.io";break;case"kovan":r="kovan.infura.io";break;case"goerli":r="goerli.infura.io";break;default:La.throwError("unsupported network",m.errors.INVALID_ARGUMENT,{argument:"network",value:t})}const n={url:"https://"+r+"/v3/"+e.projectId};return null!=e.projectSecret&&(n.user="",n.password=e.projectSecret),n}}const ja=new m(Bs);class za extends sa{static getApiKey(t){return t&&"string"!=typeof t&&ja.throwArgumentError("invalid apiKey","apiKey",t),t||"ETHERS_JS_SHARED"}static getUrl(t,e){ja.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let r=null;switch(t.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:ja.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+e}}const qa=new m(Bs);let Ka=1;function Ha(t,e){return function(r,n){"eth_sign"==r&&t.isMetaMask&&(r="personal_sign",n=[n[1],n[0]]);const i={method:r,params:n,id:Ka++,jsonrpc:"2.0"};return new Promise((t,r)=>{e(i,(function(e,n){if(e)return r(e);if(n.error){const t=new Error(n.error.message);return t.code=n.error.code,t.data=n.error.data,r(t)}t(n.result)}))})}}class Ga extends na{constructor(t,e){qa.checkNew(new.target,Ga),null==t&&qa.throwArgumentError("missing provider","provider",t);let r=null,n=null,i=null;"function"==typeof t?(r="unknown:",n=t):(r=t.host||t.path||"",!r&&t.isMetaMask&&(r="metamask"),i=t,t.request?(""===r&&(r="eip-1193:"),n=function(t){return function(e,r){return null==r&&(r=[]),"eth_sign"==e&&t.isMetaMask&&(e="personal_sign",r=[r[1],r[0]]),t.request({method:e,params:r})}}(t)):t.sendAsync?n=Ha(t,t.sendAsync.bind(t)):t.send?n=Ha(t,t.send.bind(t)):qa.throwArgumentError("unsupported provider","provider",t),r||(r="unknown:")),super(r,e),rt(this,"jsonRpcFetchFunc",n),rt(this,"provider",i)}send(t,e){return this.jsonRpcFetchFunc(t,e)}}const Va=new m(Bs);function Wa(t,e){null==t&&(t="homestead");const r=Ms(t);return r&&r._defaultProvider||Va.throwError("unsupported getDefaultProvider network",m.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:t}),r._defaultProvider({FallbackProvider:Ia,AlchemyProvider:ua,CloudflareProvider:ca,EtherscanProvider:ya,InfuraProvider:Da,JsonRpcProvider:na,NodesmithProvider:za,Web3Provider:Ga,IpcProvider:null},e)}var Ja=Object.freeze({Provider:cr,BaseProvider:Ws,FallbackProvider:Ia,AlchemyProvider:ua,CloudflareProvider:ca,EtherscanProvider:ya,InfuraProvider:Da,JsonRpcProvider:na,NodesmithProvider:za,Web3Provider:Ga,WebSocketProvider:Ua,IpcProvider:null,JsonRpcSigner:ta,getDefaultProvider:Wa,getNetwork:Ms,Formatter:Fs});const Za=new RegExp("^bytes([0-9]+)$"),Xa=new RegExp("^(u?int)([0-9]*)$"),$a=new RegExp("^(.*)\\[([0-9]*)\\]$");function Qa(t,e){if(t.length!=e.length)throw new Error("type/value count mismatch");const r=[];return t.forEach((function(t,n){r.push(function t(e,r,n){switch(e){case"address":return n?S(r,32):_(r);case"string":return Pe(r);case"bytes":return _(r);case"bool":return r=r?"0x01":"0x00",n?S(r,32):_(r)}let i=e.match(Xa);if(i){let t=parseInt(i[2]||"256");if(t%8!=0||0===t||t>256)throw new Error("invalid number type - "+e);return n&&(t=256),S(r=L.from(r).toTwos(t),t/8)}if(i=e.match(Za),i){const t=parseInt(i[1]);if(String(t)!=i[1]||0===t||t>32)throw new Error("invalid number type - "+e);if(_(r).byteLength!==t)throw new Error("invalid value for "+e);return n?_((r+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):r}if(i=e.match($a),i&&Array.isArray(r)){const n=i[1];if(parseInt(i[2]||String(r.length))!=r.length)throw new Error("invalid value for "+e);const o=[];return r.forEach((function(e){o.push(t(n,e,!0))})),k(o)}throw new Error("unknown type - "+e)}(t,e[n]))})),N(k(r))}const Ya=new m("units/5.0.1"),tu=["wei","kwei","mwei","gwei","szabo","finney","ether"];function eu(t,e){if("string"==typeof e){const t=tu.indexOf(e);-1!==t&&(e=3*t)}return X(t,null!=e?e:18)}function ru(t,e){if("string"==typeof e){const t=tu.indexOf(e);-1!==t&&(e=3*t)}return $(t,null!=e?e:18)}var nu=Object.freeze({AbiCoder:Ze,defaultAbiCoder:Xe,Fragment:Et,EventFragment:_t,FunctionFragment:Nt,ParamType:wt,FormatTypes:vt,checkResultErrors:Ct,Logger:m,RLP:Vt,fetchJson:Rs,poll:Cs,checkProperties:ot,deepCopy:lt,defineReadOnly:rt,getStatic:nt,resolveProperties:it,shallowCopy:st,arrayify:_,concat:k,stripZeros:A,zeroPad:S,isBytes:E,isBytesLike:b,defaultPath:_o,HDNode:ko,SigningKey:Xi,Interface:ur,LogDescription:ir,TransactionDescription:or,base64:Ps,hexlify:N,isHexString:M,hexStripZeros:I,hexValue:T,hexZeroPad:R,hexDataLength:P,hexDataSlice:x,nameprep:Ke,_toEscapedUtf8String:function(t,e){return'"'+Ne(t,e).map(t=>{if(t<256){switch(t){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(t>=32&&t<127)return String.fromCharCode(t)}return t<=65535?xe(t):xe(55296+((t-=65536)>>10&1023))+xe(56320+(1023&t))}).join("")+'"'},toUtf8Bytes:Pe,toUtf8CodePoints:Re,toUtf8String:Ie,Utf8ErrorFuncs:Me,formatBytes32String:function(t){const e=Pe(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return N(k([e,de]).slice(0,32))},parseBytes32String:function(t){const e=_(t);if(32!==e.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;0===e[r-1];)r--;return Ie(e.slice(0,r))},hashMessage:rr,namehash:tr,isValidName:function(t){try{const e=t.split(".");for(let t=0;t2||!e[0].match(/^-?[0-9]*$/)||e[1]&&!e[1].match(/^[0-9]*$/)||"."===t||"-."===t)&&Ya.throwArgumentError("invalid value","value",t);let r=e[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");let i="";2===e.length&&(i="."+(e[1]||"0"));const o=[];for(;r.length;){if(r.length<=3){o.unshift(r);break}{const t=r.length-3;o.unshift(r.substring(t)),r=r.substring(0,t)}}return n+o.join(",")+i},computeHmac:ai,keccak256:Lt,ripemd160:ii,sha256:oi,sha512:si,randomBytes:Io,shuffled:No,solidityPack:Qa,solidityKeccak256:function(t,e){return Lt(Qa(t,e))},soliditySha256:function(t,e){return oi(Qa(t,e))},splitSignature:C,joinSignature:B,parseTransaction:so,serializeTransaction:oo,getJsonWalletAddress:function(t){if(jo(t))try{return Yt(JSON.parse(t).ethaddr)}catch(t){return null}if(zo(t))try{return Yt(JSON.parse(t).address)}catch(t){return null}return null},computeAddress:no,recoverAddress:io,computePublicKey:Qi,recoverPublicKey:$i,verifyMessage:function(t,e){return io(rr(t),e)},mnemonicToEntropy:So,entropyToMnemonic:Mo,isValidMnemonic:function(t,e){try{return So(t,e),!0}catch(t){}return!1},mnemonicToSeed:Ao,SupportedAlgorithm:ni,get UnicodeNormalizationForm(){return ke},get Utf8ErrorReason(){return Ae},Indexed:sr});const iu="ethers/5.0.1",ou=new m("ethers/5.0.1");var su=Object.freeze({Signer:mr,Wallet:ys,VoidSigner:gr,getDefaultProvider:Wa,providers:Ja,Contract:Tr,ContractFactory:Ir,BigNumber:L,FixedNumber:Y,constants:be,get errors(){return p},logger:ou,utils:nu,wordlists:fo,version:"ethers/5.0.1",Wordlist:uo});try{const t=window;null==t._ethers&&(t._ethers=su)}catch(t){}export{L as BigNumber,Tr as Contract,Ir as ContractFactory,Y as FixedNumber,mr as Signer,gr as VoidSigner,ys as Wallet,uo as Wordlist,be as constants,p as errors,su as ethers,Wa as getDefaultProvider,ou as logger,Ja as providers,nu as utils,iu as version,fo as wordlists}; +!function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=t);for(var n=!r.JS_SHA3_NO_COMMON_JS&&e.exports,i="0123456789abcdef".split(""),o=[0,8,16,24],s=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],a=[224,256,384,512],h=["hex","buffer","arrayBuffer","array"],u=function(t,e,r){return function(n){return new b(t,e,t).update(n)[r]()}},l=function(t,e,r){return function(n,i){return new b(t,e,i).update(n)[r]()}},c=function(t,e){var r=u(t,e,"hex");r.create=function(){return new b(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}b.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,s=this.blocks,a=this.byteCount,h=this.blockCount,u=0,l=this.s;u>2]|=t[u]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(s[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=s[h],r=0;r>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+i[15&t]+i[t>>12&15]+i[t>>8&15]+i[t>>20&15]+i[t>>16&15]+i[t>>28&15]+i[t>>24&15];a%e==0&&(M(r),s=0)}return o&&(t=r[s],o>0&&(h+=i[t>>4&15]+i[15&t]),o>1&&(h+=i[t>>12&15]+i[t>>8&15]),o>2&&(h+=i[t>>20&15]+i[t>>16&15])),h},b.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var h=new Uint32Array(t);s>8&255,h[t+2]=e>>16&255,h[t+3]=e>>24&255;a%r==0&&M(n)}return o&&(t=a<<2,e=n[s],o>0&&(h[t]=255&e),o>1&&(h[t+1]=e>>8&255),o>2&&(h[t+2]=e>>16&255)),h};var M=function(t){var e,r,n,i,o,a,h,u,l,c,f,d,m,p,g,v,y,w,b,M,_,E,k,A,S,N,P,x,T,R,I,C,B,O,F,L,U,D,j,z,q,K,H,G,V,W,J,Z,X,$,Q,Y,tt,et,rt,nt,it,ot,st,at,ht,ut,lt;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],h=t[3]^t[13]^t[23]^t[33]^t[43],u=t[4]^t[14]^t[24]^t[34]^t[44],l=t[5]^t[15]^t[25]^t[35]^t[45],c=t[6]^t[16]^t[26]^t[36]^t[46],f=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|h>>>31),r=(m=t[9]^t[19]^t[29]^t[39]^t[49])^(h<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(u<<1|l>>>31),r=o^(l<<1|u>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(c<<1|f>>>31),r=h^(f<<1|c>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=u^(d<<1|m>>>31),r=l^(m<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=c^(i<<1|o>>>31),r=f^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,p=t[0],g=t[1],W=t[11]<<4|t[10]>>>28,J=t[10]<<4|t[11]>>>28,x=t[20]<<3|t[21]>>>29,T=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ht=t[30]<<9|t[31]>>>23,K=t[40]<<18|t[41]>>>14,H=t[41]<<18|t[40]>>>14,O=t[2]<<1|t[3]>>>31,F=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,Z=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,I=t[32]<<13|t[33]>>>19,ut=t[42]<<2|t[43]>>>30,lt=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,L=t[14]<<6|t[15]>>>26,U=t[15]<<6|t[14]>>>26,w=t[25]<<11|t[24]>>>21,b=t[24]<<11|t[25]>>>21,$=t[34]<<15|t[35]>>>17,Q=t[35]<<15|t[34]>>>17,C=t[45]<<29|t[44]>>>3,B=t[44]<<29|t[45]>>>3,A=t[6]<<28|t[7]>>>4,S=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,D=t[26]<<25|t[27]>>>7,j=t[27]<<25|t[26]>>>7,M=t[36]<<21|t[37]>>>11,_=t[37]<<21|t[36]>>>11,Y=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,G=t[8]<<27|t[9]>>>5,V=t[9]<<27|t[8]>>>5,N=t[18]<<20|t[19]>>>12,P=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,st=t[28]<<7|t[29]>>>25,z=t[38]<<8|t[39]>>>24,q=t[39]<<8|t[38]>>>24,E=t[48]<<14|t[49]>>>18,k=t[49]<<14|t[48]>>>18,t[0]=p^~v&w,t[1]=g^~y&b,t[10]=A^~N&x,t[11]=S^~P&T,t[20]=O^~L&D,t[21]=F^~U&j,t[30]=G^~W&Z,t[31]=V^~J&X,t[40]=et^~nt&ot,t[41]=rt^~it&st,t[2]=v^~w&M,t[3]=y^~b&_,t[12]=N^~x&R,t[13]=P^~T&I,t[22]=L^~D&z,t[23]=U^~j&q,t[32]=W^~Z&$,t[33]=J^~X&Q,t[42]=nt^~ot&at,t[43]=it^~st&ht,t[4]=w^~M&E,t[5]=b^~_&k,t[14]=x^~R&C,t[15]=T^~I&B,t[24]=D^~z&K,t[25]=j^~q&H,t[34]=Z^~$&Y,t[35]=X^~Q&tt,t[44]=ot^~at&ut,t[45]=st^~ht<,t[6]=M^~E&p,t[7]=_^~k&g,t[16]=R^~C&A,t[17]=I^~B&S,t[26]=z^~K&O,t[27]=q^~H&F,t[36]=$^~Y&G,t[37]=Q^~tt&V,t[46]=at^~ut&et,t[47]=ht^~lt&rt,t[8]=E^~p&v,t[9]=k^~g&y,t[18]=C^~A&N,t[19]=B^~S&P,t[28]=K^~O&L,t[29]=H^~F&U,t[38]=Y^~G&W,t[39]=tt^~V&J,t[48]=ut^~et&nt,t[49]=lt^~rt&it,t[0]^=s[n],t[1]^=s[n+1]};if(n)e.exports=d;else for(p=0;p>=8;return e}function jt(t,e,r){let n=0;for(let i=0;ie+1+n&&Ut.throwError("child data too short",m.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:i}}function Kt(t,e){if(0===t.length&&Ut.throwError("data too short",m.errors.BUFFER_OVERRUN,{}),t[e]>=248){const r=t[e]-247;e+1+r>t.length&&Ut.throwError("data short segment too short",m.errors.BUFFER_OVERRUN,{});const n=jt(t,e+1,r);return e+1+r+n>t.length&&Ut.throwError("data long segment too short",m.errors.BUFFER_OVERRUN,{}),qt(t,e,e+1+r,r+n)}if(t[e]>=192){const r=t[e]-192;return e+1+r>t.length&&Ut.throwError("data array too short",m.errors.BUFFER_OVERRUN,{}),qt(t,e,e+1,r)}if(t[e]>=184){const r=t[e]-183;e+1+r>t.length&&Ut.throwError("data array too short",m.errors.BUFFER_OVERRUN,{});const n=jt(t,e+1,r);e+1+r+n>t.length&&Ut.throwError("data array too short",m.errors.BUFFER_OVERRUN,{});return{consumed:1+r+n,result:S(t.slice(e+1+r,e+1+r+n))}}if(t[e]>=128){const r=t[e]-128;e+1+r>t.length&&Ut.throwError("data too short",m.errors.BUFFER_OVERRUN,{});return{consumed:1+r,result:S(t.slice(e+1,e+1+r))}}return{consumed:1,result:S(t[e])}}function Ht(t){const e=M(t),r=Kt(e,0);return r.consumed!==e.length&&Ut.throwArgumentError("invalid rlp data","data",t),r.result}var Gt=Object.freeze({encode:zt,decode:Ht});const Vt=new m("address/5.0.1");function Wt(t){A(t,20)||Vt.throwArgumentError("invalid address","address",t);const e=(t=t.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let t=0;t<40;t++)r[t]=e[t].charCodeAt(0);const n=M(Lt(r));for(let t=0;t<40;t+=2)n[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&n[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}const Jt={};for(let t=0;t<10;t++)Jt[String(t)]=String(t);for(let t=0;t<26;t++)Jt[String.fromCharCode(65+t)]=String(10+t);const Zt=Math.floor((Xt=9007199254740991,Math.log10?Math.log10(Xt):Math.log(Xt)/Math.LN10));var Xt;function $t(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map(t=>Jt[t]).join("");for(;e.length>=Zt;){let t=e.substring(0,Zt);e=parseInt(t,10)%97+e.substring(t.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function Qt(t){let e=null;if("string"!=typeof t&&Vt.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=Wt(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&Vt.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==$t(t)&&Vt.throwArgumentError("bad icap checksum","address",t),e=new o(t.substring(4),36).toString(16);e.length<40;)e="0"+e;e=Wt("0x"+e)}else Vt.throwArgumentError("invalid address","address",t);return e}function Yt(t){let e=null;try{e=Qt(t.from)}catch(e){Vt.throwArgumentError("missing from address","transaction",t)}return Qt(P(Lt(zt([e,E(M(L.from(t.nonce).toHexString()))])),12))}class te extends Ct{constructor(t){super("address","address",t,!1)}encode(t,e){try{Qt(e)}catch(t){this._throwError(t.message,e)}return t.writeValue(e)}decode(t){return Qt(R(t.readValue().toHexString(),20))}}class ee extends Ct{constructor(t){super(t.name,t.type,void 0,t.dynamic),this.coder=t}encode(t,e){return this.coder.encode(t,e)}decode(t){return this.coder.decode(t)}}const re=new m("abi/5.0.1");function ne(t,e,r){let n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){let t={};n=e.map(e=>{const n=e.localName;return n||re.throwError("cannot encode object for signature with missing names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),t[n]&&re.throwError("cannot encode object for signature with duplicate names",m.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),t[n]=!0,r[n]})}else re.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&re.throwArgumentError("types/value length mismatch","tuple",r);let i=new Bt(t.wordSize),o=new Bt(t.wordSize),s=[];e.forEach((t,e)=>{let r=n[e];if(t.dynamic){let e=o.length;t.encode(o,r);let n=i.writeUpdatableValue();s.push(t=>{n(t+e)})}else t.encode(i,r)}),s.forEach(t=>{t(i.length)});let a=t.writeBytes(i.data);return a+=t.writeBytes(o.data),a}function ie(t,e){let r=[],n=t.subReader(0),i=0;e.forEach(e=>{let o=null;if(e.dynamic){let r=t.readValue(),s=n.subReader(r.toNumber());try{o=e.decode(s)}catch(t){if(t.code===m.errors.BUFFER_OVERRUN)throw t;o=t,o.baseType=e.name,o.name=e.localName,o.type=e.type}i+=s.consumed}else try{o=e.decode(t)}catch(t){if(t.code===m.errors.BUFFER_OVERRUN)throw t;o=t,o.baseType=e.name,o.name=e.localName,o.type=e.type}null!=o&&r.push(o)}),t.readBytes(i);const o=e.reduce((t,e)=>{const r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t},{});e.forEach((t,e)=>{let n=t.localName;if(!n||1!==o[n])return;if("length"===n&&(n="_length"),null!=r[n])return;const i=r[e];i instanceof Error?Object.defineProperty(r,n,{get:()=>{throw i}}):r[n]=i});for(let t=0;t{throw e}})}return Object.freeze(r)}class oe extends Ct{constructor(t,e,r){super("array",t.type+"["+(e>=0?e:"")+"]",r,-1===e||t.dynamic),this.coder=t,this.length=e}encode(t,e){Array.isArray(e)||this._throwError("expected array value",e);let r=this.length;-1===r&&(r=e.length,t.writeValue(e.length)),re.checkArgumentCount(r,e.length,"coder array"+(this.localName?" "+this.localName:""));let n=[];for(let t=0;t>6==2;n++)t++;return t}return t===Ee.OVERRUN?r.length-e-1:0}!function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(_e||(_e={})),function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}(Ee||(Ee={}));const Ae=Object.freeze({error:function(t,e,r,n,i){return Me.throwArgumentError(`invalid codepoint at offset ${e}; ${t}`,"bytes",r)},ignore:ke,replace:function(t,e,r,n,i){return t===Ee.OVERLONG?(n.push(i),0):(n.push(65533),ke(t,e,r))}});function Se(t,e){null==e&&(e=Ae.error),t=M(t);const r=[];let n=0;for(;n>7==0){r.push(i);continue}let o=null,s=null;if(192==(224&i))o=1,s=127;else if(224==(240&i))o=2,s=2047;else{if(240!=(248&i)){n+=e(128==(192&i)?Ee.UNEXPECTED_CONTINUE:Ee.BAD_PREFIX,n-1,t,r);continue}o=3,s=65535}if(n-1+o>=t.length){n+=e(Ee.OVERRUN,n-1,t,r);continue}let a=i&(1<<8-o-1)-1;for(let i=0;i1114111?n+=e(Ee.OUT_OF_RANGE,n-1-o,t,r,a):a>=55296&&a<=57343?n+=e(Ee.UTF16_SURROGATE,n-1-o,t,r,a):a<=s?n+=e(Ee.OVERLONG,n-1-o,t,r,a):r.push(a))}return r}function Ne(t,e=_e.current){e!=_e.current&&(Me.checkNormalize(),t=t.normalize(e));let r=[];for(let e=0;e>6|192),r.push(63&n|128);else if(55296==(64512&n)){e++;const i=t.charCodeAt(e);if(e>=t.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const o=65536+((1023&n)<<10)+(1023&i);r.push(o>>18|240),r.push(o>>12&63|128),r.push(o>>6&63|128),r.push(63&o|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return M(r)}function Pe(t){const e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function xe(t){return t.map(t=>t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t)))).join("")}function Te(t,e){return xe(Se(t,e))}function Re(t,e=_e.current){return Se(Ne(t,e))}function Ie(t,e){e||(e=function(t){return[parseInt(t,16)]});let r=0,n={};return t.split(",").forEach(t=>{let i=t.split(":");r+=parseInt(i[0],16),n[r]=e(i[1])}),n}function Ce(t){let e=0;return t.split(",").map(t=>{let r=t.split("-");1===r.length?r[1]="0":""===r[1]&&(r[1]="1");let n=e+parseInt(r[0],16);return e=parseInt(r[1],16),{l:n,h:e}})}function Be(t,e){let r=0;for(let n=0;n=r&&t<=r+i.h&&(t-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(t-r))continue;return i}}return null}const Oe=Ce("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),Fe="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(t=>parseInt(t,16)),Le=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],Ue=Ie("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),De=Ie("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),je=Ie("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(t){if(t.length%4!=0)throw new Error("bad data");let e=[];for(let r=0;r{if(Fe.indexOf(t)>=0)return[];if(t>=65024&&t<=65039)return[];let e=function(t){let e=Be(t,Le);if(e)return[t+e.s];let r=Ue[t];if(r)return r;let n=De[t];if(n)return[t+n[0]];let i=je[t];return i||null}(t);return e||[t]}),e=r.reduce((t,e)=>(e.forEach(e=>{t.push(e)}),t),[]),e=Re(xe(e),_e.NFKC),e.forEach(t=>{if(Be(t,ze))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),e.forEach(t=>{if(Be(t,Oe))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let n=xe(e);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}class Ke extends ae{constructor(t){super("string",t)}encode(t,e){return super.encode(t,Ne(e))}decode(t){return Te(super.decode(t))}}class He extends Ct{constructor(t,e){let r=!1;const n=[];t.forEach(t=>{t.dynamic&&(r=!0),n.push(t.type)});super("tuple","tuple("+n.join(",")+")",e,r),this.coders=t}encode(t,e){return ne(t,this.coders,e)}decode(t){return t.coerce(this.name,ie(t,this.coders))}}const Ge=new m("abi/5.0.1"),Ve=new RegExp(/^bytes([0-9]*)$/),We=new RegExp(/^(u?int)([0-9]*)$/);class Je{constructor(t){Ge.checkNew(new.target,Je),et(this,"coerceFunc",t||null)}_getCoder(t){switch(t.baseType){case"address":return new te(t.name);case"bool":return new se(t.name);case"string":return new Ke(t.name);case"bytes":return new he(t.name);case"array":return new oe(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new He((t.components||[]).map(t=>this._getCoder(t)),t.name);case"":return new le(t.name)}let e=t.type.match(We);if(e){let r=parseInt(e[2]||"256");return(0===r||r>256||r%8!=0)&&Ge.throwArgumentError("invalid "+e[1]+" bit length","param",t),new be(r/8,"int"===e[1],t.name)}if(e=t.type.match(Ve),e){let r=parseInt(e[1]);return(0===r||r>32)&&Ge.throwArgumentError("invalid bytes length","param",t),new ue(r,t.name)}return Ge.throwArgumentError("invalid type","type",t.type)}_getWordSize(){return 32}_getReader(t){return new Ot(t,this._getWordSize(),this.coerceFunc)}_getWriter(){return new Bt(this._getWordSize())}encode(t,e){t.length!==e.length&&Ge.throwError("types/values length mismatch",m.errors.INVALID_ARGUMENT,{count:{types:t.length,values:e.length},value:{types:t,values:e}});const r=t.map(t=>this._getCoder(yt.from(t))),n=new He(r,"_"),i=this._getWriter();return n.encode(i,e),i.data}decode(t,e){const r=t.map(t=>this._getCoder(yt.from(t)));return new He(r,"_").decode(this._getReader(M(e)))}}const Ze=new Je,Xe=new m("hash/5.0.1"),$e=new Uint8Array([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]),Qe=new RegExp("^((.*)\\.)?([^.]+)$");function Ye(t){"string"!=typeof t&&Xe.throwArgumentError("invalid address - "+String(t),"name",t);let e=$e;for(;t.length;){const r=t.match(Qe);e=Lt(_([e,Lt(Ne(qe(r[3])))])),t=r[2]||""}return S(e)}function tr(t){return Lt(Ne(t))}function er(t){return"string"==typeof t&&(t=Ne(t)),Lt(_([Ne("Ethereum Signed Message:\n"),Ne(String(t.length)),t]))}const rr=new m("abi/5.0.1");class nr extends ut{}class ir extends ut{}class or extends ut{static isIndexed(t){return!(!t||!t._isIndexed)}}function sr(t,e){const r=new Error("deferred error during ABI decoding triggered accessing "+t);return r.error=e,r}class ar{constructor(t){rr.checkNew(new.target,ar);let e=[];e="string"==typeof t?JSON.parse(t):t,et(this,"fragments",e.map(t=>bt.from(t)).filter(t=>null!=t)),et(this,"_abiCoder",rt(new.target,"getAbiCoder")()),et(this,"functions",{}),et(this,"errors",{}),et(this,"events",{}),et(this,"structs",{}),this.fragments.forEach(t=>{let e=null;switch(t.type){case"constructor":return this.deploy?void rr.warn("duplicate definition - constructor"):void et(this,"deploy",t);case"function":e=this.functions;break;case"event":e=this.events;break;default:return}let r=t.format();e[r]?rr.warn("duplicate definition - "+r):e[r]=t}),this.deploy||et(this,"deploy",At.from({payable:!1,type:"constructor"})),et(this,"_isInterface",!0)}format(t){t||(t=gt.full),t===gt.sighash&&rr.throwArgumentError("interface does not support formatting sighash","format",t);const e=this.fragments.map(e=>e.format(t));return t===gt.json?JSON.stringify(e.map(t=>JSON.parse(t))):e}static getAbiCoder(){return Ze}static getAddress(t){return Qt(t)}static getSighash(t){return P(tr(t.format()),0,4)}static getEventTopic(t){return tr(t.format())}getFunction(t){if(A(t)){for(const e in this.functions)if(t===this.getSighash(e))return this.functions[e];rr.throwArgumentError("no matching function","sighash",t)}if(-1===t.indexOf("(")){const e=t.trim(),r=Object.keys(this.functions).filter(t=>t.split("(")[0]===e);return 0===r.length?rr.throwArgumentError("no matching function","name",e):r.length>1&&rr.throwArgumentError("multiple matching functions","name",e),this.functions[r[0]]}const e=this.functions[St.fromString(t).format()];return e||rr.throwArgumentError("no matching function","signature",t),e}getEvent(t){if(A(t)){const e=t.toLowerCase();for(const t in this.events)if(e===this.getEventTopic(t))return this.events[t];rr.throwArgumentError("no matching event","topichash",e)}if(-1===t.indexOf("(")){const e=t.trim(),r=Object.keys(this.events).filter(t=>t.split("(")[0]===e);return 0===r.length?rr.throwArgumentError("no matching event","name",e):r.length>1&&rr.throwArgumentError("multiple matching events","name",e),this.events[r[0]]}const e=this.events[Mt.fromString(t).format()];return e||rr.throwArgumentError("no matching event","signature",t),e}getSighash(t){return"string"==typeof t&&(t=this.getFunction(t)),rt(this.constructor,"getSighash")(t)}getEventTopic(t){return"string"==typeof t&&(t=this.getEvent(t)),rt(this.constructor,"getEventTopic")(t)}_decodeParams(t,e){return this._abiCoder.decode(t,e)}_encodeParams(t,e){return this._abiCoder.encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeFunctionData(t,e){"string"==typeof t&&(t=this.getFunction(t));const r=M(e);return S(r.slice(0,4))!==this.getSighash(t)&&rr.throwArgumentError(`data signature does not match function ${t.name}.`,"data",S(r)),this._decodeParams(t.inputs,r.slice(4))}encodeFunctionData(t,e){return"string"==typeof t&&(t=this.getFunction(t)),S(_([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))}decodeFunctionResult(t,e){"string"==typeof t&&(t=this.getFunction(t));let r=M(e),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,r)}catch(t){}break;case 4:"0x08c379a0"===S(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return rr.throwError("call revert exception",m.errors.CALL_EXCEPTION,{method:t.format(),errorSignature:i,errorArgs:[n],reason:n})}encodeFunctionResult(t,e){return"string"==typeof t&&(t=this.getFunction(t)),S(this._abiCoder.encode(t.outputs,e||[]))}encodeFilterTopics(t,e){"string"==typeof t&&(t=this.getEvent(t)),e.length>t.inputs.length&&rr.throwError("too many arguments for "+t.format(),m.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});let r=[];t.anonymous||r.push(this.getEventTopic(t));const n=(t,e)=>"string"===t.type?tr(e):"bytes"===t.type?Lt(S(e)):("address"===t.type&&this._abiCoder.encode(["address"],[e]),R(S(e),32));for(e.forEach((e,i)=>{let o=t.inputs[i];o.indexed?null==e?r.push(null):"array"===o.baseType||"tuple"===o.baseType?rr.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,e):Array.isArray(e)?r.push(e.map(t=>n(o,t))):r.push(n(o,e)):null!=e&&rr.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,e)});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(t,e){"string"==typeof t&&(t=this.getEvent(t));const r=[],n=[],i=[];return t.anonymous||r.push(this.getEventTopic(t)),e.length!==t.inputs.length&&rr.throwArgumentError("event arguments/values mismatch","values",e),t.inputs.forEach((t,o)=>{const s=e[o];if(t.indexed)if("string"===t.type)r.push(tr(s));else if("bytes"===t.type)r.push(Lt(s));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");r.push(this._abiCoder.encode([t.type],[s]))}else n.push(t),i.push(s)}),{data:this._abiCoder.encode(n,i),topics:r}}decodeEventLog(t,e,r){if("string"==typeof t&&(t=this.getEvent(t)),null!=r&&!t.anonymous){let e=this.getEventTopic(t);A(r[0],32)&&r[0].toLowerCase()===e||rr.throwError("fragment/topic mismatch",m.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:e,value:r[0]}),r=r.slice(1)}let n=[],i=[],o=[];t.inputs.forEach((t,e)=>{t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(n.push(yt.fromObject({type:"bytes32",name:t.name})),o.push(!0)):(n.push(t),o.push(!1)):(i.push(t),o.push(!1))});let s=null!=r?this._abiCoder.decode(n,_(r)):null,a=this._abiCoder.decode(i,e),h=[],u=0,l=0;t.inputs.forEach((t,e)=>{if(t.indexed)if(null==s)h[e]=new or({_isIndexed:!0,hash:null});else if(o[e])h[e]=new or({_isIndexed:!0,hash:s[l++]});else try{h[e]=s[l++]}catch(t){h[e]=t}else try{h[e]=a[u++]}catch(t){h[e]=t}if(t.name&&null==h[t.name]){const r=h[e];r instanceof Error?Object.defineProperty(h,t.name,{get:()=>{throw sr("property "+JSON.stringify(t.name),r)}}):h[t.name]=r}});for(let t=0;t{throw sr("index "+t,e)}})}return Object.freeze(h)}parseTransaction(t){let e=this.getFunction(t.data.substring(0,10).toLowerCase());return e?new ir({args:this._abiCoder.decode(e.inputs,"0x"+t.data.substring(10)),functionFragment:e,name:e.name,signature:e.format(),sighash:this.getSighash(e),value:L.from(t.value||"0")}):null}parseLog(t){let e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new nr({eventFragment:e,name:e.name,signature:e.format(),topic:this.getEventTopic(e),args:this.decodeEventLog(e,t.data,t.topics)})}static isInterface(t){return!(!t||!t._isInterface)}}const hr=new m("abstract-provider/5.0.1");class ur extends ut{static isForkEvent(t){return!(!t||!t._isForkEvent)}}class lr{constructor(){hr.checkAbstract(new.target,lr),et(this,"_isProvider",!0)}addListener(t,e){return this.on(t,e)}removeListener(t,e){return this.off(t,e)}static isProvider(t){return!(!t||!t._isProvider)}}var cr=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const fr=new m("abstract-signer/5.0.1"),dr=["chainId","data","from","gasLimit","gasPrice","nonce","to","value"];class mr{constructor(){fr.checkAbstract(new.target,mr),et(this,"_isSigner",!0)}getBalance(t){return cr(this,void 0,void 0,(function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),t)}))}getTransactionCount(t){return cr(this,void 0,void 0,(function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),t)}))}estimateGas(t){return cr(this,void 0,void 0,(function*(){this._checkProvider("estimateGas");const e=yield nt(this.checkTransaction(t));return yield this.provider.estimateGas(e)}))}call(t,e){return cr(this,void 0,void 0,(function*(){this._checkProvider("call");const r=yield nt(this.checkTransaction(t));return yield this.provider.call(r,e)}))}sendTransaction(t){return this._checkProvider("sendTransaction"),this.populateTransaction(t).then(t=>this.signTransaction(t).then(t=>this.provider.sendTransaction(t)))}getChainId(){return cr(this,void 0,void 0,(function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId}))}getGasPrice(){return cr(this,void 0,void 0,(function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()}))}resolveName(t){return cr(this,void 0,void 0,(function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(t)}))}checkTransaction(t){for(const e in t)-1===dr.indexOf(e)&&fr.throwArgumentError("invalid transaction key: "+e,"transaction",t);const e=ot(t);return null==e.from?e.from=this.getAddress():e.from=Promise.all([Promise.resolve(e.from),this.getAddress()]).then(e=>(e[0]!==e[1]&&fr.throwArgumentError("from address mismatch","transaction",t),e[0])),e}populateTransaction(t){return cr(this,void 0,void 0,(function*(){const e=yield nt(this.checkTransaction(t));return null!=e.to&&(e.to=Promise.resolve(e.to).then(t=>this.resolveName(t))),null==e.gasPrice&&(e.gasPrice=this.getGasPrice()),null==e.nonce&&(e.nonce=this.getTransactionCount("pending")),null==e.gasLimit&&(e.gasLimit=this.estimateGas(e).catch(t=>fr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",m.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,tx:e}))),null==e.chainId?e.chainId=this.getChainId():e.chainId=Promise.all([Promise.resolve(e.chainId),this.getChainId()]).then(e=>(0!==e[1]&&e[0]!==e[1]&&fr.throwArgumentError("chainId address mismatch","transaction",t),e[0])),yield nt(e)}))}_checkProvider(t){this.provider||fr.throwError("missing provider",m.errors.UNSUPPORTED_OPERATION,{operation:t||"_checkProvider"})}static isSigner(t){return!(!t||!t._isSigner)}}class pr extends mr{constructor(t,e){fr.checkNew(new.target,pr),super(),et(this,"address",t),et(this,"provider",e||null)}getAddress(){return Promise.resolve(this.address)}_fail(t,e){return Promise.resolve().then(()=>{fr.throwError(t,m.errors.UNSUPPORTED_OPERATION,{operation:e})})}signMessage(t){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(t){return this._fail("VoidSigner cannot sign transactions","signTransaction")}connect(t){return new pr(this.address,t)}}var gr=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const vr=new m("contracts/5.0.1"),yr={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function wr(t,e){return gr(this,void 0,void 0,(function*(){const r=yield e;try{return Qt(r)}catch(t){}return t||vr.throwError("a provider or signer is needed to resolve ENS names",m.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"}),yield t.resolveName(r)}))}function br(t,e,r){if(Array.isArray(r))return Promise.all(r.map((r,n)=>br(t,Array.isArray(e)?e[n]:e[r.name],r)));if("address"===r.type)return wr(t,e);if("tuple"===r.type)return br(t,e,r.components);if("array"===r.baseType){if(!Array.isArray(e))throw new Error("invalid value for array");return Promise.all(e.map(e=>br(t,e,r.arrayChildren)))}return Promise.resolve(e)}function Mr(t,e,r){return gr(this,void 0,void 0,(function*(){let n={};r.length===e.inputs.length+1&&"object"==typeof r[r.length-1]&&(n=ot(r.pop())),vr.checkArgumentCount(r.length,e.inputs.length,"passed to contract"),t.signer?n.from?n.from=nt({override:wr(t.signer,n.from),signer:t.signer.getAddress()}).then(t=>gr(this,void 0,void 0,(function*(){return Qt(t.signer)!==t.override&&vr.throwError("Contract with a Signer cannot override from",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),t.override}))):n.from=t.signer.getAddress():n.from&&(n.from=wr(t.provider,n.from));const i=yield nt({args:br(t.signer||t.provider,r,e.inputs),address:t.resolvedAddress,overrides:nt(n)||{}}),o={data:t.interface.encodeFunctionData(e,i.args),to:i.address},s=i.overrides;if(null!=s.nonce&&(o.nonce=L.from(s.nonce).toNumber()),null!=s.gasLimit&&(o.gasLimit=L.from(s.gasLimit)),null!=s.gasPrice&&(o.gasPrice=L.from(s.gasPrice)),null!=s.from&&(o.from=s.from),null==o.gasLimit&&null!=e.gas&&(o.gasLimit=L.from(e.gas).add(21e3)),s.value){const t=L.from(s.value);t.isZero()||e.payable||vr.throwError("non-payable method cannot override value",m.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:n.value}),o.value=t}delete n.nonce,delete n.gasLimit,delete n.gasPrice,delete n.from,delete n.value;const a=Object.keys(n).filter(t=>null!=n[t]);return a.length&&vr.throwError("cannot override "+a.map(t=>JSON.stringify(t)).join(","),m.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:a}),o}))}function _r(t,e,r){const n=t.signer||t.provider;return function(...i){return gr(this,void 0,void 0,(function*(){let o=void 0;if(i.length===e.inputs.length+1&&"object"==typeof i[i.length-1]){const t=ot(i.pop());null!=t.blockTag&&(o=yield t.blockTag),delete t.blockTag,i.push(t)}null!=t.deployTransaction&&(yield t._deployed(o));const s=yield Mr(t,e,i),a=yield n.call(s,o);try{let n=t.interface.decodeFunctionResult(e,a);return r&&1===e.outputs.length&&(n=n[0]),n}catch(e){throw e.code===m.errors.CALL_EXCEPTION&&(e.address=t.address,e.args=i,e.transaction=s),e}}))}}function Er(t,e,r){return e.constant?_r(t,e,r):function(t,e){return function(...r){return gr(this,void 0,void 0,(function*(){t.signer||vr.throwError("sending a transaction requires a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=t.deployTransaction&&(yield t._deployed());const n=yield Mr(t,e,r),i=yield t.signer.sendTransaction(n),o=i.wait.bind(i);return i.wait=e=>o(e).then(e=>(e.events=e.logs.map(r=>{let n=ht(r),i=null;try{i=t.interface.parseLog(r)}catch(t){}return i&&(n.args=i.args,n.decode=(e,r)=>t.interface.decodeEventLog(i.eventFragment,e,r),n.event=i.name,n.eventSignature=i.signature),n.removeListener=()=>t.provider,n.getBlock=()=>t.provider.getBlock(e.blockHash),n.getTransaction=()=>t.provider.getTransaction(e.transactionHash),n.getTransactionReceipt=()=>Promise.resolve(e),n}),e)),i}))}}(t,e)}function kr(t){return!t.address||null!=t.topics&&0!==t.topics.length?(t.address||"*")+"@"+(t.topics?t.topics.map(t=>Array.isArray(t)?t.join("|"):t).join(":"):""):"*"}class Ar{constructor(t,e){et(this,"tag",t),et(this,"filter",e),this._listeners=[]}addListener(t,e){this._listeners.push({listener:t,once:e})}removeListener(t){let e=!1;this._listeners=this._listeners.filter(r=>!(!e&&r.listener===t)||(e=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(t=>t.listener)}listenerCount(){return this._listeners.length}run(t){const e=this.listenerCount();return this._listeners=this._listeners.filter(e=>{const r=t.slice();return setTimeout(()=>{e.listener.apply(this,r)},0),!e.once}),e}prepareEvent(t){}getEmit(t){return[t]}}class Sr extends Ar{constructor(){super("error",null)}}class Nr extends Ar{constructor(t,e,r,n){const i={address:t};let o=e.getEventTopic(r);n?(o!==n[0]&&vr.throwArgumentError("topic mismatch","topics",n),i.topics=n.slice()):i.topics=[o],super(kr(i),i),et(this,"address",t),et(this,"interface",e),et(this,"fragment",r)}prepareEvent(t){super.prepareEvent(t),t.event=this.fragment.name,t.eventSignature=this.fragment.format(),t.decode=(t,e)=>this.interface.decodeEventLog(this.fragment,t,e);try{t.args=this.interface.decodeEventLog(this.fragment,t.data,t.topics)}catch(e){t.args=null,t.decodeError=e}}getEmit(t){const e=It(t.args);if(e.length)throw e[0].error;const r=(t.args||[]).slice();return r.push(t),r}}class Pr extends Ar{constructor(t,e){super("*",{address:t}),et(this,"address",t),et(this,"interface",e)}prepareEvent(t){super.prepareEvent(t);try{const e=this.interface.parseLog(t);t.event=e.name,t.eventSignature=e.signature,t.decode=(t,r)=>this.interface.decodeEventLog(e.eventFragment,t,r),t.args=e.args}catch(t){}}}class xr{constructor(t,e,r){vr.checkNew(new.target,xr),et(this,"interface",rt(new.target,"getInterface")(e)),null==r?(et(this,"provider",null),et(this,"signer",null)):mr.isSigner(r)?(et(this,"provider",r.provider||null),et(this,"signer",r)):lr.isProvider(r)?(et(this,"provider",r),et(this,"signer",null)):vr.throwArgumentError("invalid signer or provider","signerOrProvider",r),et(this,"callStatic",{}),et(this,"estimateGas",{}),et(this,"functions",{}),et(this,"populateTransaction",{}),et(this,"filters",{});{const t={};Object.keys(this.interface.events).forEach(e=>{const r=this.interface.events[e];et(this.filters,e,(...t)=>({address:this.address,topics:this.interface.encodeFilterTopics(r,t)})),t[r.name]||(t[r.name]=[]),t[r.name].push(e)}),Object.keys(t).forEach(e=>{const r=t[e];1===r.length?et(this.filters,e,this.filters[r[0]]):vr.warn(`Duplicate definition of ${e} (${r.join(", ")})`)})}if(et(this,"_runningEvents",{}),et(this,"_wrappedEmits",{}),et(this,"address",t),this.provider)et(this,"resolvedAddress",this.provider.resolveName(t).then(t=>{if(null==t)throw new Error("name not found");return t}).catch(e=>{throw console.log("ERROR: Cannot find Contract - "+t),e}));else try{et(this,"resolvedAddress",Promise.resolve(Qt(t)))}catch(t){vr.throwError("provider is required to use ENS name as contract address",m.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}const n={},i={};Object.keys(this.interface.functions).forEach(t=>{const e=this.interface.functions[t];if(i[t])vr.warn("Duplicate ABI entry for "+JSON.stringify(name));else{i[t]=!0;{const r=e.name;n[r]||(n[r]=[]),n[r].push(t)}null==this[t]&&et(this,t,Er(this,e,!0)),null==this.functions[t]&&et(this.functions,t,Er(this,e,!1)),null==this.callStatic[t]&&et(this.callStatic,t,_r(this,e,!0)),null==this.populateTransaction[t]&&et(this.populateTransaction,t,function(t,e){return function(...r){return gr(this,void 0,void 0,(function*(){return Mr(t,e,r)}))}}(this,e)),null==this.estimateGas[t]&&et(this.estimateGas,t,function(t,e){const r=t.signer||t.provider;return function(...n){return gr(this,void 0,void 0,(function*(){r||vr.throwError("estimate require a provider or signer",m.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const i=yield Mr(t,e,n);return yield r.estimateGas(i)}))}}(this,e))}}),Object.keys(n).forEach(t=>{const e=n[t];if(e.length>1)return;const r=e[0];null==this[t]&&et(this,t,this[r]),null==this.functions[t]&&et(this.functions,t,this.functions[r]),null==this.callStatic[t]&&et(this.callStatic,t,this.callStatic[r]),null==this.populateTransaction[t]&&et(this.populateTransaction,t,this.populateTransaction[r]),null==this.estimateGas[t]&&et(this.estimateGas,t,this.estimateGas[r])})}static getContractAddress(t){return Yt(t)}static getInterface(t){return ar.isInterface(t)?t:new ar(t)}deployed(){return this._deployed()}_deployed(t){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,t).then(t=>("0x"===t&&vr.throwError("contract not deployed",m.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(t){this.signer||vr.throwError("sending a transactions require a signer",m.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const e=ot(t||{});return["from","to"].forEach((function(t){null!=e[t]&&vr.throwError("cannot override "+t,m.errors.UNSUPPORTED_OPERATION,{operation:t})})),e.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(e))}connect(t){"string"==typeof t&&(t=new pr(t,this.provider));const e=new this.constructor(this.address,this.interface,t);return this.deployTransaction&&et(e,"deployTransaction",this.deployTransaction),e}attach(t){return new this.constructor(t,this.interface,this.signer||this.provider)}static isIndexed(t){return or.isIndexed(t)}_normalizeRunningEvent(t){return this._runningEvents[t.tag]?this._runningEvents[t.tag]:t}_getRunningEvent(t){if("string"==typeof t){if("error"===t)return this._normalizeRunningEvent(new Sr);if("event"===t)return this._normalizeRunningEvent(new Ar("event",null));if("*"===t)return this._normalizeRunningEvent(new Pr(this.address,this.interface));const e=this.interface.getEvent(t);return this._normalizeRunningEvent(new Nr(this.address,this.interface,e))}if(t.topics&&t.topics.length>0){try{const e=t.topics[0];if("string"!=typeof e)throw new Error("invalid topic");const r=this.interface.getEvent(e);return this._normalizeRunningEvent(new Nr(this.address,this.interface,r,t.topics))}catch(t){}const e={address:this.address,topics:t.topics};return this._normalizeRunningEvent(new Ar(kr(e),e))}return this._normalizeRunningEvent(new Pr(this.address,this.interface))}_checkRunningEvents(t){if(0===t.listenerCount()){delete this._runningEvents[t.tag];const e=this._wrappedEmits[t.tag];e&&(this.provider.off(t.filter,e),delete this._wrappedEmits[t.tag])}}_wrapEvent(t,e,r){const n=ht(e);return n.removeListener=()=>{r&&(t.removeListener(r),this._checkRunningEvents(t))},n.getBlock=()=>this.provider.getBlock(e.blockHash),n.getTransaction=()=>this.provider.getTransaction(e.transactionHash),n.getTransactionReceipt=()=>this.provider.getTransactionReceipt(e.transactionHash),t.prepareEvent(n),n}_addEventListener(t,e,r){if(this.provider||vr.throwError("events require a provider or a signer with a provider",m.errors.UNSUPPORTED_OPERATION,{operation:"once"}),t.addListener(e,r),this._runningEvents[t.tag]=t,!this._wrappedEmits[t.tag]){const r=r=>{let n=this._wrapEvent(t,r,e);if(null==n.decodeError)try{const e=t.getEmit(n);this.emit(t.filter,...e)}catch(t){n.decodeError=t.error}null!=t.filter&&this.emit("event",n),null!=n.decodeError&&this.emit("error",n.decodeError,n)};this._wrappedEmits[t.tag]=r,null!=t.filter&&this.provider.on(t.filter,r)}}queryFilter(t,e,r){const n=this._getRunningEvent(t),i=ot(n.filter);return"string"==typeof e&&A(e,32)?(null!=r&&vr.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),i.blockHash=e):(i.fromBlock=null!=e?e:0,i.toBlock=null!=r?r:"latest"),this.provider.getLogs(i).then(t=>t.map(t=>this._wrapEvent(n,t,null)))}on(t,e){return this._addEventListener(this._getRunningEvent(t),e,!1),this}once(t,e){return this._addEventListener(this._getRunningEvent(t),e,!0),this}emit(t,...e){if(!this.provider)return!1;const r=this._getRunningEvent(t),n=r.run(e)>0;return this._checkRunningEvents(r),n}listenerCount(t){return this.provider?this._getRunningEvent(t).listenerCount():0}listeners(t){if(!this.provider)return[];if(null==t){const t=[];for(let e in this._runningEvents)this._runningEvents[e].listeners().forEach(e=>{t.push(e)});return t}return this._getRunningEvent(t).listeners()}removeAllListeners(t){if(!this.provider)return this;if(null==t){for(const t in this._runningEvents){const e=this._runningEvents[t];e.removeAllListeners(),this._checkRunningEvents(e)}return this}const e=this._getRunningEvent(t);return e.removeAllListeners(),this._checkRunningEvents(e),this}off(t,e){if(!this.provider)return this;const r=this._getRunningEvent(t);return r.removeListener(e),this._checkRunningEvents(r),this}removeListener(t,e){return this.off(t,e)}}class Tr{constructor(t,e,r){let n=null;n="string"==typeof e?e:b(e)?S(e):e&&"string"==typeof e.object?e.object:"!","0x"!==n.substring(0,2)&&(n="0x"+n),(!A(n)||n.length%2)&&vr.throwArgumentError("invalid bytecode","bytecode",e),r&&!mr.isSigner(r)&&vr.throwArgumentError("invalid signer","signer",r),et(this,"bytecode",n),et(this,"interface",rt(new.target,"getInterface")(t)),et(this,"signer",r||null)}getDeployTransaction(...t){let e={};if(t.length===this.interface.deploy.inputs.length+1&&"object"==typeof t[t.length-1]){e=ot(t.pop());for(const t in e)if(!yr[t])throw new Error("unknown transaction override "+t)}return["data","from","to"].forEach(t=>{null!=e[t]&&vr.throwError("cannot override "+t,m.errors.UNSUPPORTED_OPERATION,{operation:t})}),vr.checkArgumentCount(t.length,this.interface.deploy.inputs.length," in Contract constructor"),e.data=S(_([this.bytecode,this.interface.encodeDeploy(t)])),e}deploy(...t){return gr(this,void 0,void 0,(function*(){let e={};t.length===this.interface.deploy.inputs.length+1&&(e=t.pop()),vr.checkArgumentCount(t.length,this.interface.deploy.inputs.length," in Contract constructor");const r=yield br(this.signer,t,this.interface.deploy.inputs);r.push(e);const n=this.getDeployTransaction(...r),i=yield this.signer.sendTransaction(n),o=rt(this.constructor,"getContractAddress")(i),s=rt(this.constructor,"getContract")(o,this.interface,this.signer);return et(s,"deployTransaction",i),s}))}attach(t){return this.constructor.getContract(t,this.interface,this.signer)}connect(t){return new this.constructor(this.interface,this.bytecode,t)}static fromSolidity(t,e){null==t&&vr.throwError("missing compiler output",m.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof t&&(t=JSON.parse(t));const r=t.abi;let n=null;return t.bytecode?n=t.bytecode:t.evm&&t.evm.bytecode&&(n=t.evm.bytecode),new this(r,n,e)}static getInterface(t){return xr.getInterface(t)}static getContractAddress(t){return Yt(t)}static getContract(t,e,r){return new xr(t,e,r)}}class Rr{constructor(t){et(this,"alphabet",t),et(this,"base",t.length),et(this,"_alphabetMap",{}),et(this,"_leader",t.charAt(0));for(let e=0;e0;)r.push(n%this.base),n=n/this.base|0}let n="";for(let t=0;0===e[t]&&t=0;--t)n+=this.alphabet[r[t]];return n}decode(t){if("string"!=typeof t)throw new TypeError("Expected String");let e=[];if(0===t.length)return new Uint8Array(e);e.push(0);for(let r=0;r>=8;for(;i>0;)e.push(255&i),i>>=8}for(let r=0;t[r]===this._leader&&r>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Lr(t){return 1===t.length?"0"+t:t}function Ur(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}var Dr={inherits:Or,toArray:function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n>8,s=255&i;o?r.push(o,s):r.push(s)}else for(n=0;n>>0}return o},split32:function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},rotr32:function(t,e){return t>>>e|t<<32-e},rotl32:function(t,e){return t<>>32-e},sum32:function(t,e){return t+e>>>0},sum32_3:function(t,e,r){return t+e+r>>>0},sum32_4:function(t,e,r,n){return t+e+r+n>>>0},sum32_5:function(t,e,r,n,i){return t+e+r+n+i>>>0},sum64:function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,s=(o>>0,t[e+1]=o},sum64_hi:function(t,e,r,n){return(e+n>>>0>>0},sum64_lo:function(t,e,r,n){return e+n>>>0},sum64_4_hi:function(t,e,r,n,i,o,s,a){var h=0,u=e;return h+=(u=u+n>>>0)>>0)>>0)>>0},sum64_4_lo:function(t,e,r,n,i,o,s,a){return e+n+o+a>>>0},sum64_5_hi:function(t,e,r,n,i,o,s,a,h,u){var l=0,c=e;return l+=(c=c+n>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(t,e,r,n,i,o,s,a,h,u){return e+n+o+a+u>>>0},rotr64_hi:function(t,e,r){return(e<<32-r|t>>>r)>>>0},rotr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0},shr64_hi:function(t,e,r){return t>>>r},shr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0}};function jr(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var zr=jr;jr.prototype.update=function(t,e){if(t=Dr.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=Dr.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o>>3},g1_256:function(t){return Kr(t,17)^Kr(t,19)^t>>>10}},Jr=Dr.sum32,Zr=Dr.sum32_4,Xr=Dr.sum32_5,$r=Wr.ch32,Qr=Wr.maj32,Yr=Wr.s0_256,tn=Wr.s1_256,en=Wr.g0_256,rn=Wr.g1_256,nn=qr.BlockHash,on=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function sn(){if(!(this instanceof sn))return new sn;nn.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=on,this.W=new Array(64)}Dr.inherits(sn,nn);var an=sn;sn.blockSize=512,sn.outSize=256,sn.hmacStrength=192,sn.padLength=64,sn.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),Cr(t.length<=this.blockSize);for(var e=t.length;e>24&255,h[e.length+1]=c>>16&255,h[e.length+2]=c>>8&255,h[e.length+3]=255&c;let f=M(si(i,t,h));o||(o=f.length,l=new Uint8Array(o),s=Math.ceil(n/o),u=n-(s-1)*o),l.set(f);for(let e=1;e=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function h(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),e,n)},o.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},o.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=a(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,u=0,l=r;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,h=s/67108864|0;r.words[0]=a;for(var u=1;u>>26,c=67108863&h,f=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=f;d++){var m=u-d|0;l+=(s=(i=0|t.words[m])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[u]=0|c,h=0|l}return 0!==h?r.words[u]=0|h:r.length--,r.strip()}o.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?u[6-h.length]+h+n:h+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=l[t],d=c[t];n="";var m=this.clone();for(m.negative=0;!m.isZero();){var p=m.modn(d).toString(t);n=(m=m.idivn(d)).isZero()?p+n:u[f-p.length]+p+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(t,e){return r(void 0!==s),this.toArrayLike(s,t,e)},o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},o.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,h="le"===e,u=new t(o),l=this.clone();if(h){for(a=0;!l.isZero();a++)s=l.andln(255),l.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,d=0|s[1],m=8191&d,p=d>>>13,g=0|s[2],v=8191&g,y=g>>>13,w=0|s[3],b=8191&w,M=w>>>13,_=0|s[4],E=8191&_,k=_>>>13,A=0|s[5],S=8191&A,N=A>>>13,P=0|s[6],x=8191&P,T=P>>>13,R=0|s[7],I=8191&R,C=R>>>13,B=0|s[8],O=8191&B,F=B>>>13,L=0|s[9],U=8191&L,D=L>>>13,j=0|a[0],z=8191&j,q=j>>>13,K=0|a[1],H=8191&K,G=K>>>13,V=0|a[2],W=8191&V,J=V>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,tt=Q>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ht=8191&at,ut=at>>>13,lt=0|a[8],ct=8191<,ft=lt>>>13,dt=0|a[9],mt=8191&dt,pt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(c,z))|0)+((8191&(i=(i=Math.imul(c,q))+Math.imul(f,z)|0))<<13)|0;u=((o=Math.imul(f,q))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(m,z),i=(i=Math.imul(m,q))+Math.imul(p,z)|0,o=Math.imul(p,q);var vt=(u+(n=n+Math.imul(c,H)|0)|0)+((8191&(i=(i=i+Math.imul(c,G)|0)+Math.imul(f,H)|0))<<13)|0;u=((o=o+Math.imul(f,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,z),i=(i=Math.imul(v,q))+Math.imul(y,z)|0,o=Math.imul(y,q),n=n+Math.imul(m,H)|0,i=(i=i+Math.imul(m,G)|0)+Math.imul(p,H)|0,o=o+Math.imul(p,G)|0;var yt=(u+(n=n+Math.imul(c,W)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(f,W)|0))<<13)|0;u=((o=o+Math.imul(f,J)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,z),i=(i=Math.imul(b,q))+Math.imul(M,z)|0,o=Math.imul(M,q),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,o=o+Math.imul(y,G)|0,n=n+Math.imul(m,W)|0,i=(i=i+Math.imul(m,J)|0)+Math.imul(p,W)|0,o=o+Math.imul(p,J)|0;var wt=(u+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,$)|0)+Math.imul(f,X)|0))<<13)|0;u=((o=o+Math.imul(f,$)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(E,z),i=(i=Math.imul(E,q))+Math.imul(k,z)|0,o=Math.imul(k,q),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(M,H)|0,o=o+Math.imul(M,G)|0,n=n+Math.imul(v,W)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,W)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(m,X)|0,i=(i=i+Math.imul(m,$)|0)+Math.imul(p,X)|0,o=o+Math.imul(p,$)|0;var bt=(u+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(f,Y)|0))<<13)|0;u=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(S,z),i=(i=Math.imul(S,q))+Math.imul(N,z)|0,o=Math.imul(N,q),n=n+Math.imul(E,H)|0,i=(i=i+Math.imul(E,G)|0)+Math.imul(k,H)|0,o=o+Math.imul(k,G)|0,n=n+Math.imul(b,W)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,J)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,$)|0,n=n+Math.imul(m,Y)|0,i=(i=i+Math.imul(m,tt)|0)+Math.imul(p,Y)|0,o=o+Math.imul(p,tt)|0;var Mt=(u+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(f,rt)|0))<<13)|0;u=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,q))+Math.imul(T,z)|0,o=Math.imul(T,q),n=n+Math.imul(S,H)|0,i=(i=i+Math.imul(S,G)|0)+Math.imul(N,H)|0,o=o+Math.imul(N,G)|0,n=n+Math.imul(E,W)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(b,X)|0,i=(i=i+Math.imul(b,$)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,$)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(m,rt)|0,i=(i=i+Math.imul(m,nt)|0)+Math.imul(p,rt)|0,o=o+Math.imul(p,nt)|0;var _t=(u+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;u=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,q))+Math.imul(C,z)|0,o=Math.imul(C,q),n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,G)|0)+Math.imul(T,H)|0,o=o+Math.imul(T,G)|0,n=n+Math.imul(S,W)|0,i=(i=i+Math.imul(S,J)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,J)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(M,Y)|0,o=o+Math.imul(M,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(m,ot)|0,i=(i=i+Math.imul(m,st)|0)+Math.imul(p,ot)|0,o=o+Math.imul(p,st)|0;var Et=(u+(n=n+Math.imul(c,ht)|0)|0)+((8191&(i=(i=i+Math.imul(c,ut)|0)+Math.imul(f,ht)|0))<<13)|0;u=((o=o+Math.imul(f,ut)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(O,z),i=(i=Math.imul(O,q))+Math.imul(F,z)|0,o=Math.imul(F,q),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,G)|0)+Math.imul(C,H)|0,o=o+Math.imul(C,G)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(T,W)|0,o=o+Math.imul(T,J)|0,n=n+Math.imul(S,X)|0,i=(i=i+Math.imul(S,$)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,$)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(m,ht)|0,i=(i=i+Math.imul(m,ut)|0)+Math.imul(p,ht)|0,o=o+Math.imul(p,ut)|0;var kt=(u+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;u=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(U,z),i=(i=Math.imul(U,q))+Math.imul(D,z)|0,o=Math.imul(D,q),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(F,H)|0,o=o+Math.imul(F,G)|0,n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,$)|0,n=n+Math.imul(S,Y)|0,i=(i=i+Math.imul(S,tt)|0)+Math.imul(N,Y)|0,o=o+Math.imul(N,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,n=n+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,ut)|0)+Math.imul(y,ht)|0,o=o+Math.imul(y,ut)|0,n=n+Math.imul(m,ct)|0,i=(i=i+Math.imul(m,ft)|0)+Math.imul(p,ct)|0,o=o+Math.imul(p,ft)|0;var At=(u+(n=n+Math.imul(c,mt)|0)|0)+((8191&(i=(i=i+Math.imul(c,pt)|0)+Math.imul(f,mt)|0))<<13)|0;u=((o=o+Math.imul(f,pt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(U,H),i=(i=Math.imul(U,G))+Math.imul(D,H)|0,o=Math.imul(D,G),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(F,W)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,tt)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,tt)|0,n=n+Math.imul(S,rt)|0,i=(i=i+Math.imul(S,nt)|0)+Math.imul(N,rt)|0,o=o+Math.imul(N,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(b,ht)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,ut)|0,n=n+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ct)|0,o=o+Math.imul(y,ft)|0;var St=(u+(n=n+Math.imul(m,mt)|0)|0)+((8191&(i=(i=i+Math.imul(m,pt)|0)+Math.imul(p,mt)|0))<<13)|0;u=((o=o+Math.imul(p,pt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(U,W),i=(i=Math.imul(U,J))+Math.imul(D,W)|0,o=Math.imul(D,J),n=n+Math.imul(O,X)|0,i=(i=i+Math.imul(O,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(x,rt)|0,i=(i=i+Math.imul(x,nt)|0)+Math.imul(T,rt)|0,o=o+Math.imul(T,nt)|0,n=n+Math.imul(S,ot)|0,i=(i=i+Math.imul(S,st)|0)+Math.imul(N,ot)|0,o=o+Math.imul(N,st)|0,n=n+Math.imul(E,ht)|0,i=(i=i+Math.imul(E,ut)|0)+Math.imul(k,ht)|0,o=o+Math.imul(k,ut)|0,n=n+Math.imul(b,ct)|0,i=(i=i+Math.imul(b,ft)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,ft)|0;var Nt=(u+(n=n+Math.imul(v,mt)|0)|0)+((8191&(i=(i=i+Math.imul(v,pt)|0)+Math.imul(y,mt)|0))<<13)|0;u=((o=o+Math.imul(y,pt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(U,X),i=(i=Math.imul(U,$))+Math.imul(D,X)|0,o=Math.imul(D,$),n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,tt)|0,n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(x,ot)|0,i=(i=i+Math.imul(x,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,n=n+Math.imul(S,ht)|0,i=(i=i+Math.imul(S,ut)|0)+Math.imul(N,ht)|0,o=o+Math.imul(N,ut)|0,n=n+Math.imul(E,ct)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(k,ct)|0,o=o+Math.imul(k,ft)|0;var Pt=(u+(n=n+Math.imul(b,mt)|0)|0)+((8191&(i=(i=i+Math.imul(b,pt)|0)+Math.imul(M,mt)|0))<<13)|0;u=((o=o+Math.imul(M,pt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(U,Y),i=(i=Math.imul(U,tt))+Math.imul(D,Y)|0,o=Math.imul(D,tt),n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(F,rt)|0,o=o+Math.imul(F,nt)|0,n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,n=n+Math.imul(x,ht)|0,i=(i=i+Math.imul(x,ut)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,ut)|0,n=n+Math.imul(S,ct)|0,i=(i=i+Math.imul(S,ft)|0)+Math.imul(N,ct)|0,o=o+Math.imul(N,ft)|0;var xt=(u+(n=n+Math.imul(E,mt)|0)|0)+((8191&(i=(i=i+Math.imul(E,pt)|0)+Math.imul(k,mt)|0))<<13)|0;u=((o=o+Math.imul(k,pt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(U,rt),i=(i=Math.imul(U,nt))+Math.imul(D,rt)|0,o=Math.imul(D,nt),n=n+Math.imul(O,ot)|0,i=(i=i+Math.imul(O,st)|0)+Math.imul(F,ot)|0,o=o+Math.imul(F,st)|0,n=n+Math.imul(I,ht)|0,i=(i=i+Math.imul(I,ut)|0)+Math.imul(C,ht)|0,o=o+Math.imul(C,ut)|0,n=n+Math.imul(x,ct)|0,i=(i=i+Math.imul(x,ft)|0)+Math.imul(T,ct)|0,o=o+Math.imul(T,ft)|0;var Tt=(u+(n=n+Math.imul(S,mt)|0)|0)+((8191&(i=(i=i+Math.imul(S,pt)|0)+Math.imul(N,mt)|0))<<13)|0;u=((o=o+Math.imul(N,pt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(U,ot),i=(i=Math.imul(U,st))+Math.imul(D,ot)|0,o=Math.imul(D,st),n=n+Math.imul(O,ht)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(F,ht)|0,o=o+Math.imul(F,ut)|0,n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,ft)|0)+Math.imul(C,ct)|0,o=o+Math.imul(C,ft)|0;var Rt=(u+(n=n+Math.imul(x,mt)|0)|0)+((8191&(i=(i=i+Math.imul(x,pt)|0)+Math.imul(T,mt)|0))<<13)|0;u=((o=o+Math.imul(T,pt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(U,ht),i=(i=Math.imul(U,ut))+Math.imul(D,ht)|0,o=Math.imul(D,ut),n=n+Math.imul(O,ct)|0,i=(i=i+Math.imul(O,ft)|0)+Math.imul(F,ct)|0,o=o+Math.imul(F,ft)|0;var It=(u+(n=n+Math.imul(I,mt)|0)|0)+((8191&(i=(i=i+Math.imul(I,pt)|0)+Math.imul(C,mt)|0))<<13)|0;u=((o=o+Math.imul(C,pt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(U,ct),i=(i=Math.imul(U,ft))+Math.imul(D,ct)|0,o=Math.imul(D,ft);var Ct=(u+(n=n+Math.imul(O,mt)|0)|0)+((8191&(i=(i=i+Math.imul(O,pt)|0)+Math.imul(F,mt)|0))<<13)|0;u=((o=o+Math.imul(F,pt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863;var Bt=(u+(n=Math.imul(U,mt))|0)+((8191&(i=(i=Math.imul(U,pt))+Math.imul(D,mt)|0))<<13)|0;return u=((o=Math.imul(D,pt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,h[0]=gt,h[1]=vt,h[2]=yt,h[3]=wt,h[4]=bt,h[5]=Mt,h[6]=_t,h[7]=Et,h[8]=kt,h[9]=At,h[10]=St,h[11]=Nt,h[12]=Pt,h[13]=xt,h[14]=Tt,h[15]=Rt,h[16]=It,h[17]=Ct,h[18]=Bt,0!==u&&(h[19]=u,r.length++),r};function m(t,e,r){return(new p).mulp(t,e,r)}function p(t,e){this.x=t,this.y=e}Math.imul||(d=f),o.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):m(this,t,e)},p.prototype.makeRBT=function(t){for(var e=new Array(t),r=o.prototype._countBits(t)-1,n=0;n>=1;return n},p.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new o(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,u=0;u=0&&(0!==l||u>=i);u--){var c=0|this.words[u];this.words[u]=l<<26-o|c>>>o,l=c&a}return h&&0!==l&&(h.words[h.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(h/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,h=n.length-i.length;if("mod"!==e){(a=new o(null)).length=h+1,a.words=new Array(a.length);for(var u=0;u=0;c--){var f=67108864*(0|n.words[i.length+c])+(0|n.words[i.length+c-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(i,f,c);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},o.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),h=new o(1),u=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++u;for(var l=n.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(l),s.isub(c)),i.iushrn(1),s.iushrn(1);for(var m=0,p=1;0==(n.words[0]&p)&&m<26;++m,p<<=1);if(m>0)for(n.iushrn(m);m-- >0;)(a.isOdd()||h.isOdd())&&(a.iadd(l),h.isub(c)),a.iushrn(1),h.iushrn(1);e.cmp(n)>=0?(e.isub(n),i.isub(a),s.isub(h)):(n.isub(e),a.isub(i),h.isub(s))}return{a:a,b:h,gcd:n.iushln(u)}},o.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),h=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,l=1;0==(e.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(h),s.iushrn(1);for(var c=0,f=1;0==(n.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(n.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(h),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new _(t)},o.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function E(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new w;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new o(1)).iushrn(2);return this.pow(t,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),h=a.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new o(2*l*l).toRed(this);0!==this.pow(l,u).cmp(h);)l.redIAdd(h);for(var c=this.pow(l,i),f=this.pow(t,i.addn(1).iushrn(1)),d=this.pow(t,i),m=s;0!==d.cmp(a);){for(var p=d,g=0;0!==p.cmp(a);g++)p=p.redSqr();r(g=0;n--){for(var u=e.words[n],l=h-1;l>=0;l--){var c=u>>l&1;i!==r[0]&&(i=this.sqr(i)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===n&&0===l)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}h=26}return i},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new E(t)},n(E,_),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,t)})),ci=r((function(t,e){var r=e;function n(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",r=0;r>8,s=255&i;o?r.push(o,s):r.push(s)}return r},r.zero2=n,r.toHex=i,r.encode=function(t,e){return"hex"===e?i(t):t}})),fi=r((function(t,e){var r=e;r.assert=Cr,r.toArray=ci.toArray,r.zero2=ci.zero2,r.toHex=ci.toHex,r.encode=ci.encode,r.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-h:h,o.isubn(a)):a=0,n[s]=a,o.iushrn(1)}return n},r.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n=0,i=0;t.cmpn(-n)>0||e.cmpn(-i)>0;){var o,s,a,h=t.andln(3)+n&3,u=e.andln(3)+i&3;if(3===h&&(h=-1),3===u&&(u=-1),0==(1&h))o=0;else o=3!==(a=t.andln(7)+n&7)&&5!==a||2!==u?h:-h;if(r[0].push(o),0==(1&u))s=0;else s=3!==(a=e.andln(7)+i&7)&&5!==a||2!==h?u:-u;r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),t.iushrn(1),e.iushrn(1)}return r},r.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(t){return"string"==typeof t?r.toArray(t,"hex"):t},r.intFromLE=function(t){return new li(t,"hex","le")}})),di=function(e){var r=new Uint8Array(e);return(t.crypto||t.msCrypto).getRandomValues(r),r},mi=fi.getNAF,pi=fi.getJSF,gi=fi.assert;function vi(t,e){this.type=t,this.p=new li(e.p,16),this.red=e.prime?li.red(e.prime):li.mont(this.p),this.zero=new li(0).toRed(this.red),this.one=new li(1).toRed(this.red),this.two=new li(2).toRed(this.red),this.n=e.n&&new li(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var yi=vi;function wi(t,e){this.curve=t,this.type=e,this.precomputed=null}vi.prototype.point=function(){throw new Error("Not implemented")},vi.prototype.validate=function(){throw new Error("Not implemented")},vi.prototype._fixedNafMul=function(t,e){gi(t.precomputed);var r=t._getDoubles(),n=mi(e,1,this._bitLength),i=(1<=s;e--)a=(a<<1)+n[e];o.push(a)}for(var h=this.jpoint(null,null,null),u=this.jpoint(null,null,null),l=i;l>0;l--){for(s=0;s=0;a--){for(e=0;a>=0&&0===o[a];a--)e++;if(a>=0&&e++,s=s.dblp(e),a<0)break;var h=o[a];gi(0!==h),s="affine"===t.type?h>0?s.mixedAdd(i[h-1>>1]):s.mixedAdd(i[-h-1>>1].neg()):h>0?s.add(i[h-1>>1]):s.add(i[-h-1>>1].neg())}return"affine"===t.type?s.toP():s},vi.prototype._wnafMulAdd=function(t,e,r,n,i){for(var o=this._wnafT1,s=this._wnafT2,a=this._wnafT3,h=0,u=0;u=1;u-=2){var c=u-1,f=u;if(1===o[c]&&1===o[f]){var d=[e[c],null,null,e[f]];0===e[c].y.cmp(e[f].y)?(d[1]=e[c].add(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg())):0===e[c].y.cmp(e[f].y.redNeg())?(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].add(e[f].neg())):(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg()));var m=[-3,-1,-5,-7,0,7,5,1,3],p=pi(r[c],r[f]);h=Math.max(p[0].length,h),a[c]=new Array(h),a[f]=new Array(h);for(var g=0;g=0;u--){for(var M=0;u>=0;){var _=!0;for(g=0;g=0&&M++,w=w.dblp(M),u<0)break;for(g=0;g0?E=s[g][k-1>>1]:k<0&&(E=s[g][-k-1>>1].neg()),w="affine"===E.type?w.mixedAdd(E):w.add(E))}}for(u=0;u=Math.ceil((t.bitLength()+1)/e.step)},wi.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(o=e,s=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:n,b:i},{a:o,b:s}]},Mi.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),h=i.mul(r.b),u=o.mul(n.b);return{k1:t.sub(s).sub(a),k2:h.add(u).neg()}},Mi.prototype.pointFromX=function(t,e){(t=new li(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},Mi.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},Mi.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},Ei.prototype.isInfinity=function(){return this.inf},Ei.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},Ei.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},Ei.prototype.getX=function(){return this.x.fromRed()},Ei.prototype.getY=function(){return this.y.fromRed()},Ei.prototype.mul=function(t){return t=new li(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Ei.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},Ei.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},Ei.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},Ei.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},Ei.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Or(ki,yi.BasePoint),Mi.prototype.jpoint=function(t,e,r){return new ki(this,t,e,r)},ki.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},ki.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},ki.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),a=n.redSub(i),h=o.redSub(s);if(0===a.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),l=u.redMul(a),c=n.redMul(u),f=h.redSqr().redIAdd(l).redISub(c).redISub(c),d=h.redMul(c.redISub(f)).redISub(o.redMul(l)),m=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(f,d,m)},ki.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var h=s.redSqr(),u=h.redMul(s),l=r.redMul(h),c=a.redSqr().redIAdd(u).redISub(l).redISub(l),f=a.redMul(l.redISub(c)).redISub(i.redMul(u)),d=this.z.redMul(s);return this.curve.jpoint(c,f,d)},ki.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,r=0;r=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},ki.prototype.inspect=function(){return this.isInfinity()?"":""},ki.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ai={},Si={},Ni=r((function(t,e){var r=e;r.base=yi,r.short=_i,r.mont=Ai,r.edwards=Si})),Pi=r((function(t,e){var r,n=e,i=fi.assert;function o(t){"short"===t.type?this.curve=new Ni.short(t):"edwards"===t.type?this.curve=new Ni.edwards(t):this.curve=new Ni.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new o(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Yn.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Yn.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Yn.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Yn.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Yn.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Yn.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Yn.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=void 0}catch(t){r=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Yn.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function xi(t){if(!(this instanceof xi))return new xi(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=ci.toArray(t.entropy,t.entropyEnc||"hex"),r=ci.toArray(t.nonce,t.nonceEnc||"hex"),n=ci.toArray(t.pers,t.persEnc||"hex");Cr(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var Ti=xi;xi.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},xi.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=ci.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var Bi=fi.assert;function Oi(t,e){if(t instanceof Oi)return t;this._importDER(t,e)||(Bi(t.r&&t.s,"Signature without r or s"),this.r=new li(t.r,16),this.s=new li(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Fi=Oi;function Li(){this.place=0}function Ui(t,e){var r=t[e.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,s=e.place;o>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}Oi.prototype._importDER=function(t,e){t=fi.toArray(t,e);var r=new Li;if(48!==t[r.place++])return!1;if(Ui(t,r)+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=Ui(t,r),i=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var o=Ui(t,r);if(t.length!==o+r.place)return!1;var s=t.slice(r.place,o+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===s[0]&&128&s[1]&&(s=s.slice(1)),this.r=new li(i),this.s=new li(s),this.recoveryParam=null,!0},Oi.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=Di(e),r=Di(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];ji(n,e.length),(n=n.concat(e)).push(2),ji(n,r.length);var i=n.concat(r),o=[48];return ji(o,i.length),o=o.concat(i),fi.encode(o,t)};var zi=fi.assert;function qi(t){if(!(this instanceof qi))return new qi(t);"string"==typeof t&&(zi(Pi.hasOwnProperty(t),"Unknown curve "+t),t=Pi[t]),t instanceof Pi.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var Ki=qi;qi.prototype.keyPair=function(t){return new Ci(this,t)},qi.prototype.keyFromPrivate=function(t,e){return Ci.fromPrivate(this,t,e)},qi.prototype.keyFromPublic=function(t,e){return Ci.fromPublic(this,t,e)},qi.prototype.genKeyPair=function(t){t||(t={});for(var e=new Ti({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||di(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new li(2));;){var i=new li(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},qi.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},qi.prototype.sign=function(t,e,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new li(t,16));for(var i=this.n.byteLength(),o=e.getPrivate().toArray("be",i),s=t.toArray("be",i),a=new Ti({hash:this.hash,entropy:o,nonce:s,pers:n.pers,persEnc:n.persEnc||"utf8"}),h=this.n.sub(new li(1)),u=0;;u++){var l=n.k?n.k(u):new li(a.generate(this.n.byteLength()));if(!((l=this._truncateToN(l,!0)).cmpn(1)<=0||l.cmp(h)>=0)){var c=this.g.mul(l);if(!c.isInfinity()){var f=c.getX(),d=f.umod(this.n);if(0!==d.cmpn(0)){var m=l.invm(this.n).mul(d.mul(e.getPrivate()).iadd(t));if(0!==(m=m.umod(this.n)).cmpn(0)){var p=(c.getY().isOdd()?1:0)|(0!==f.cmp(d)?2:0);return n.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),p^=1),new Fi({r:d,s:m,recoveryParam:p})}}}}}},qi.prototype.verify=function(t,e,r,n){t=this._truncateToN(new li(t,16)),r=this.keyFromPublic(r,n);var i=(e=new Fi(e,"hex")).r,o=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,a=o.invm(this.n),h=a.mul(t).umod(this.n),u=a.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(h,r.getPublic(),u)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(h,r.getPublic(),u)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},qi.prototype.recoverPubKey=function(t,e,r,n){zi((3&r)===r,"The recovery param is more than two bits"),e=new Fi(e,n);var i=this.n,o=new li(t),s=e.r,a=e.s,h=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),h):this.curve.pointFromX(s,h);var l=e.r.invm(i),c=i.sub(o).mul(l).umod(i),f=a.mul(l).umod(i);return this.g.mulAdd(c,s,f)},qi.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new Fi(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var Hi={},Gi=n(ui),Vi=r((function(t,e){var r=e;r.version=Gi.version,r.utils=fi,r.rand=di,r.curve=Ni,r.curves=Pi,r.ec=Ki,r.eddsa=Hi})).ec;const Wi=new m("signing-key/5.0.1");let Ji=null;function Zi(){return Ji||(Ji=new Vi("secp256k1")),Ji}class Xi{constructor(t){et(this,"curve","secp256k1"),et(this,"privateKey",S(t));const e=Zi().keyFromPrivate(M(this.privateKey));et(this,"publicKey","0x"+e.getPublic(!1,"hex")),et(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),et(this,"_isSigningKey",!0)}_addPoint(t){const e=Zi().keyFromPublic(M(this.publicKey)),r=Zi().keyFromPublic(M(t));return"0x"+e.pub.add(r.pub).encodeCompressed("hex")}signDigest(t){const e=Zi().keyFromPrivate(M(this.privateKey)).sign(M(t),{canonical:!0});return I({recoveryParam:e.recoveryParam,r:R("0x"+e.r.toString(16),32),s:R("0x"+e.s.toString(16),32)})}computeSharedSecret(t){const e=Zi().keyFromPrivate(M(this.privateKey)),r=Zi().keyFromPublic(M(Qi(t)));return R("0x"+e.derive(r.getPublic()).toString(16),32)}static isSigningKey(t){return!(!t||!t._isSigningKey)}}function $i(t,e){const r=I(e),n={r:M(r.r),s:M(r.s)};return"0x"+Zi().recoverPubKey(M(t),n,r.recoveryParam).encode("hex",!1)}function Qi(t,e){const r=M(t);if(32===r.length){const t=new Xi(r);return e?"0x"+Zi().keyFromPrivate(r).getPublic(!0,"hex"):t.publicKey}return 33===r.length?e?S(r):"0x"+Zi().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?e?"0x"+Zi().keyFromPublic(r).getPublic(!0,"hex"):S(r):Wi.throwArgumentError("invalid public or private key","key","[REDACTED]")}const Yi=new m("transactions/5.0.1");function to(t){return"0x"===t?me:L.from(t)}const eo=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],ro={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function no(t){return Qt(P(Lt(P(Qi(t),1)),12))}function io(t,e){return no($i(M(t),e))}function oo(t,e){it(t,ro);const r=[];eo.forEach((function(e){let n=t[e.name]||[];const i={};e.numeric&&(i.hexPad="left"),n=M(S(n,i)),e.length&&n.length!==e.length&&n.length>0&&Yi.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),e.maxLength&&(n=E(n),n.length>e.maxLength&&Yi.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n)),r.push(S(n))}));let n=0;if(null!=t.chainId?(n=t.chainId,"number"!=typeof n&&Yi.throwArgumentError("invalid transaction.chainId","transaction",t)):e&&!w(e)&&e.v>28&&(n=Math.floor((e.v-35)/2)),0!==n&&(r.push(S(n)),r.push("0x"),r.push("0x")),!e)return zt(r);const i=I(e);let o=27+i.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),o+=2*n+8,i.v>28&&i.v!==o&&Yi.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):i.v!==o&&Yi.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),r.push(S(o)),r.push(E(M(i.r))),r.push(E(M(i.s))),zt(r)}function so(t){const e=Ht(t);9!==e.length&&6!==e.length&&Yi.throwArgumentError("invalid raw transaction","rawTransaction",t);const r={nonce:to(e[0]).toNumber(),gasPrice:to(e[1]),gasLimit:to(e[2]),to:(n=e[3],"0x"===n?null:Qt(n)),value:to(e[4]),data:e[5],chainId:0};var n;if(6===e.length)return r;try{r.v=L.from(e[6]).toNumber()}catch(t){return console.log(t),r}if(r.r=R(e[7],32),r.s=R(e[8],32),L.from(r.r).isZero()&&L.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const i=e.slice(0,6);0!==r.chainId&&(i.push(S(r.chainId)),i.push("0x"),i.push("0x"),n-=2*r.chainId+8);const o=Lt(zt(i));try{r.from=io(o,{r:S(r.r),s:S(r.s),recoveryParam:n})}catch(t){console.log(t)}r.hash=Lt(t)}return r}const ao=new m("wordlists/5.0.1");class ho{constructor(t){ao.checkAbstract(new.target,ho),et(this,"locale",t)}split(t){return t.toLowerCase().split(/ +/g)}join(t){return t.join(" ")}static check(t){const e=[];for(let r=0;r<2048;r++){const n=t.getWord(r);if(r!==t.getWordIndex(n))return"0x";e.push(n)}return tr(e.join("\n")+"\n")}static register(t,e){e||(e=t.locale)}}let uo=null;function lo(t){if(null==uo&&(uo="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==ho.check(t)))throw uo=null,new Error("BIP39 Wordlist for en (English) FAILED")}const co=new class extends ho{constructor(){super("en")}getWord(t){return lo(this),uo[t]}getWordIndex(t){return lo(this),uo.indexOf(t)}};ho.register(co);const fo={en:co},mo=new m("hdnode/5.0.1"),po=L.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),go=Ne("Bitcoin seed");function vo(t){return(1<=256)throw new Error("Depth too large!");return wo(_([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",S(this.depth),this.parentFingerprint,R(S(this.index),4),this.chainCode,null!=this.privateKey?_(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new Eo(Mo,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(t){if(t>4294967295)throw new Error("invalid index - "+String(t));let e=this.path;e&&(e+="/"+(2147483647&t));const r=new Uint8Array(37);if(2147483648&t){if(!this.privateKey)throw new Error("cannot derive child of neutered node");r.set(M(this.privateKey),1),e&&(e+="'")}else r.set(M(this.publicKey));for(let e=24;e>=0;e-=8)r[33+(e>>3)]=t>>24-e&255;const n=M(si(ri.sha512,this.chainCode,r)),i=n.slice(0,32),o=n.slice(32);let s=null,a=null;if(this.privateKey)s=yo(L.from(i).add(this.privateKey).mod(po));else{a=new Xi(S(i))._addPoint(this.publicKey)}let h=e;const u=this.mnemonic;return u&&(h=Object.freeze({phrase:u.phrase,path:e,locale:u.locale||"en"})),new Eo(Mo,s,a,this.fingerprint,yo(o),t,this.depth+1,h)}derivePath(t){const e=t.split("/");if(0===e.length||"m"===e[0]&&0!==this.depth)throw new Error("invalid path - "+t);"m"===e[0]&&e.shift();let r=this;for(let t=0;t=2147483648)throw new Error("invalid path index - "+n);r=r._derive(2147483648+t)}else{if(!n.match(/^[0-9]+$/))throw new Error("invalid path component - "+n);{const t=parseInt(n);if(t>=2147483648)throw new Error("invalid path index - "+n);r=r._derive(t)}}}return r}static _fromSeed(t,e){const r=M(t);if(r.length<16||r.length>64)throw new Error("invalid seed");const n=M(si(ri.sha512,go,r));return new Eo(Mo,yo(n.slice(0,32)),null,"0x00000000",yo(n.slice(32)),0,0,e)}static fromMnemonic(t,e,r){return t=So(Ao(t,r=bo(r)),r),Eo._fromSeed(ko(t,e),{phrase:t,path:"m",locale:r.locale})}static fromSeed(t){return Eo._fromSeed(t,null)}static fromExtendedKey(t){const e=Ir.decode(t);82===e.length&&wo(e.slice(0,78))===t||mo.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const r=e[4],n=S(e.slice(5,9)),i=parseInt(S(e.slice(9,13)).substring(2),16),o=S(e.slice(13,45)),s=e.slice(45,78);switch(S(e.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new Eo(Mo,null,S(s),n,o,i,r,null);case"0x0488ade4":case"0x04358394 ":if(0!==s[0])break;return new Eo(Mo,S(s.slice(1)),null,n,o,i,r,null)}return mo.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function ko(t,e){e||(e="");const r=Ne("mnemonic"+e,_e.NFKD);return ai(Ne(t,_e.NFKD),r,2048,64,"sha512")}function Ao(t,e){e=bo(e),mo.checkNormalize();const r=e.split(t);if(r.length%3!=0)throw new Error("invalid mnemonic");const n=M(new Uint8Array(Math.ceil(11*r.length/8)));let i=0;for(let t=0;t>3]|=1<<7-i%8),i++}const o=32*r.length/3,s=vo(r.length/3);if((M(ii(n.slice(0,o/8)))[0]&s)!==(n[n.length-1]&s))throw new Error("invalid checksum");return S(n.slice(0,o/8))}function So(t,e){if(e=bo(e),(t=M(t)).length%4!=0||t.length<16||t.length>32)throw new Error("invalid entropy");const r=[0];let n=11;for(let e=0;e8?(r[r.length-1]<<=8,r[r.length-1]|=t[e],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[e]>>8-n,r.push(t[e]&(1<<8-n)-1),n+=3);const i=t.length/4,o=M(ii(t))[0]&vo(i);return r[r.length-1]<<=i,r[r.length-1]|=o>>8-i,e.join(r.map(t=>e.getWord(t)))}function No(t){for(let e=(t=t.slice()).length-1;e>0;e--){const r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}const Po=new m("random/5.0.1");let xo=null;try{if(xo=window,null==xo)throw new Error("try next")}catch(t){try{if(xo=global,null==xo)throw new Error("try next")}catch(t){xo={}}}let To=xo.crypto||xo.msCrypto;function Ro(t){(t<=0||t>1024||t%1)&&Po.throwArgumentError("invalid length","length",t);const e=new Uint8Array(t);return To.getRandomValues(e),M(e)}To&&To.getRandomValues||(Po.warn("WARNING: Missing strong random number source"),To={getRandomValues:function(t){return Po.throwError("no secure random source avaialble",m.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var Io=r((function(t,e){!function(e){function r(t){return parseInt(t)===t}function n(t){if(!r(t.length))return!1;for(var e=0;e255)return!1;return!0}function i(t,e){if(t.buffer&&ArrayBuffer.isView(t)&&"Uint8Array"===t.name)return e&&(t=t.slice?t.slice():Array.prototype.slice.call(t)),t;if(Array.isArray(t)){if(!n(t))throw new Error("Array contains invalid value: "+t);return new Uint8Array(t)}if(r(t.length)&&n(t))return new Uint8Array(t);throw new Error("unsupported array-like object")}function o(t){return new Uint8Array(t)}function s(t,e,r,n,i){null==n&&null==i||(t=t.slice?t.slice(n,i):Array.prototype.slice.call(t,n,i)),e.set(t,r)}var a,h={toBytes:function(t){var e=[],r=0;for(t=encodeURI(t);r191&&n<224?(e.push(String.fromCharCode((31&n)<<6|63&t[r+1])),r+=2):(e.push(String.fromCharCode((15&n)<<12|(63&t[r+1])<<6|63&t[r+2])),r+=3)}return e.join("")}},u=(a="0123456789abcdef",{toBytes:function(t){for(var e=[],r=0;r>4]+a[15&n])}return e.join("")}}),l={16:10,24:12,32:14},c=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],m=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],p=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],g=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],y=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],w=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],b=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],M=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],_=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],k=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],A=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function S(t){for(var e=[],r=0;r>2,this._Ke[r][e%4]=o[e],this._Kd[t-r][e%4]=o[e];for(var s,a=0,h=i;h>16&255]<<24^f[s>>8&255]<<16^f[255&s]<<8^f[s>>24&255]^c[a]<<24,a+=1,8!=i)for(e=1;e>8&255]<<8^f[s>>16&255]<<16^f[s>>24&255]<<24;for(e=i/2+1;e>2,d=h%4,this._Ke[u][d]=o[e],this._Kd[t-u][d]=o[e++],h++}for(var u=1;u>24&255]^E[s>>16&255]^k[s>>8&255]^A[255&s]},N.prototype.encrypt=function(t){if(16!=t.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var e=this._Ke.length-1,r=[0,0,0,0],n=S(t),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var s=1;s>24&255]^p[n[(i+1)%4]>>16&255]^g[n[(i+2)%4]>>8&255]^v[255&n[(i+3)%4]]^this._Ke[s][i];n=r.slice()}var a,h=o(16);for(i=0;i<4;i++)a=this._Ke[e][i],h[4*i]=255&(f[n[i]>>24&255]^a>>24),h[4*i+1]=255&(f[n[(i+1)%4]>>16&255]^a>>16),h[4*i+2]=255&(f[n[(i+2)%4]>>8&255]^a>>8),h[4*i+3]=255&(f[255&n[(i+3)%4]]^a);return h},N.prototype.decrypt=function(t){if(16!=t.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var e=this._Kd.length-1,r=[0,0,0,0],n=S(t),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var s=1;s>24&255]^w[n[(i+3)%4]>>16&255]^b[n[(i+2)%4]>>8&255]^M[255&n[(i+1)%4]]^this._Kd[s][i];n=r.slice()}var a,h=o(16);for(i=0;i<4;i++)a=this._Kd[e][i],h[4*i]=255&(d[n[i]>>24&255]^a>>24),h[4*i+1]=255&(d[n[(i+3)%4]>>16&255]^a>>16),h[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^a>>8),h[4*i+3]=255&(d[255&n[(i+1)%4]]^a);return h};var P=function(t){if(!(this instanceof P))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new N(t)};P.prototype.encrypt=function(t){if((t=i(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=o(t.length),r=o(16),n=0;n=0;--e)this._counter[e]=t%256,t>>=8},I.prototype.setBytes=function(t){if(16!=(t=i(t,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=t},I.prototype.increment=function(){for(var t=15;t>=0;t--){if(255!==this._counter[t]){this._counter[t]++;break}this._counter[t]=0}};var C=function(t,e){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",e instanceof I||(e=new I(e)),this._counter=e,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new N(t)};C.prototype.encrypt=function(t){for(var e=i(t,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=t.length-e,n=0;n=64;){let d,m,p,g,v,y=r,w=n,b=i,M=o,_=s,E=a,k=h,A=u;for(m=0;m<16;m++)p=c+4*m,l[m]=(255&t[p])<<24|(255&t[p+1])<<16|(255&t[p+2])<<8|255&t[p+3];for(m=16;m<64;m++)d=l[m-2],g=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,d=l[m-15],v=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,l[m]=(g+l[m-7]|0)+(v+l[m-16]|0)|0;for(m=0;m<64;m++)g=(((_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7))+(_&E^~_&k)|0)+(A+(e[m]+l[m]|0)|0)|0,v=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&w^y&b^w&b)|0,A=k,k=E,E=_,_=M+g|0,M=b,b=w,w=y,y=g+v|0;r=r+y|0,n=n+w|0,i=i+b|0,o=o+M|0,s=s+_|0,a=a+E|0,h=h+k|0,u=u+A|0,c+=64,f-=64}}c(t);let f,d=t.length%64,m=t.length/536870912|0,p=t.length<<3,g=d<56?56:120,v=t.slice(t.length-d,t.length);for(v.push(128),f=d+1;f>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),v.push(p>>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),c(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,h>>>24&255,h>>>16&255,h>>>8&255,h>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255]}function n(t,e,n){t=t.length<=64?t:r(t);const i=64+e.length+4,o=new Array(i),s=new Array(64);let a,h=[];for(a=0;a<64;a++)o[a]=54;for(a=0;a=i-4;t--){if(o[t]++,o[t]<=255)return;o[t]=0}}for(;n>=32;)u(),h=h.concat(r(s.concat(r(o)))),n-=32;return n>0&&(u(),h=h.concat(r(s.concat(r(o))).slice(0,n))),h}function i(t,e,r,n,i){let o;for(h(t,16*(2*r-1),i,0,16),o=0;o<2*r;o++)a(t,16*o,i,16),s(i,n),h(i,0,t,e+16*o,16);for(o=0;o>>32-e}function s(t,e){h(t,0,e,0,16);for(let t=8;t>0;t-=2)e[4]^=o(e[0]+e[12],7),e[8]^=o(e[4]+e[0],9),e[12]^=o(e[8]+e[4],13),e[0]^=o(e[12]+e[8],18),e[9]^=o(e[5]+e[1],7),e[13]^=o(e[9]+e[5],9),e[1]^=o(e[13]+e[9],13),e[5]^=o(e[1]+e[13],18),e[14]^=o(e[10]+e[6],7),e[2]^=o(e[14]+e[10],9),e[6]^=o(e[2]+e[14],13),e[10]^=o(e[6]+e[2],18),e[3]^=o(e[15]+e[11],7),e[7]^=o(e[3]+e[15],9),e[11]^=o(e[7]+e[3],13),e[15]^=o(e[11]+e[7],18),e[1]^=o(e[0]+e[3],7),e[2]^=o(e[1]+e[0],9),e[3]^=o(e[2]+e[1],13),e[0]^=o(e[3]+e[2],18),e[6]^=o(e[5]+e[4],7),e[7]^=o(e[6]+e[5],9),e[4]^=o(e[7]+e[6],13),e[5]^=o(e[4]+e[7],18),e[11]^=o(e[10]+e[9],7),e[8]^=o(e[11]+e[10],9),e[9]^=o(e[8]+e[11],13),e[10]^=o(e[9]+e[8],18),e[12]^=o(e[15]+e[14],7),e[13]^=o(e[12]+e[15],9),e[14]^=o(e[13]+e[12],13),e[15]^=o(e[14]+e[13],18);for(let r=0;r<16;++r)t[r]+=e[r]}function a(t,e,r,n){for(let i=0;i=256)return!1}return!0}function l(t,e){if("number"!=typeof t||t%1)throw new Error("invalid "+e);return t}function c(t,e,r,o,s,c,f){if(r=l(r,"N"),o=l(o,"r"),s=l(s,"p"),c=l(c,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>2147483647/128/o)throw new Error("N too large");if(o>2147483647/128/s)throw new Error("r too large");if(!u(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!u(e))throw new Error("salt must be an array or buffer");e=Array.prototype.slice.call(e);let d=n(t,e,128*s*o);const m=new Uint32Array(32*s*o);for(let t=0;tP&&(e=P);for(let t=0;tP&&(e=P);for(let t=0;t>0&255),d.push(m[t]>>8&255),d.push(m[t]>>16&255),d.push(m[t]>>24&255);const u=n(t,d,c);return f&&f(null,1,u),u}f&&x(T)};if(!f)for(;;){const t=T();if(null!=t)return t}T()}const f={scrypt:function(t,e,r,n,i,o,s){return new Promise((function(a,h){let u=0;s&&s(0),c(t,e,r,n,i,o,(function(t,e,r){if(t)h(t);else if(r)s&&1!==u&&s(1),a(new Uint8Array(r));else if(s&&e!==u)return u=e,s(e)}))}))},syncScrypt:function(t,e,r,n,i,o){return new Uint8Array(c(t,e,r,n,i,o))}};t.exports=f}()})),Ho=Ko.scrypt,Go=Ko.syncScrypt;if(t.crypto&&crypto.getRandomValues){var Vo=new Uint8Array(16);qo=function(){return crypto.getRandomValues(Vo),Vo}}if(!qo){var Wo=new Array(16);qo=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),Wo[e]=t>>>((3&e)<<3)&255;return Wo}}for(var Jo=qo,Zo=[],Xo={},$o=0;$o<256;$o++)Zo[$o]=($o+256).toString(16).substr(1),Xo[Zo[$o]]=$o;function Qo(t,e){var r=e||0,n=Zo;return n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]}var Yo=Jo(),ts=[1|Yo[0],Yo[1],Yo[2],Yo[3],Yo[4],Yo[5]],es=16383&(Yo[6]<<8|Yo[7]),rs=0,ns=0;function is(t,e,r){var n=e&&r||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null);var i=(t=t||{}).random||(t.rng||Jo)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e)for(var o=0;o<16;o++)e[n+o]=i[o];return e||Qo(i)}var os=is;os.v1=function(t,e,r){var n=e&&r||0,i=e||[],o=void 0!==(t=t||{}).clockseq?t.clockseq:es,s=void 0!==t.msecs?t.msecs:(new Date).getTime(),a=void 0!==t.nsecs?t.nsecs:ns+1,h=s-rs+(a-ns)/1e4;if(h<0&&void 0===t.clockseq&&(o=o+1&16383),(h<0||s>rs)&&void 0===t.nsecs&&(a=0),a>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");rs=s,ns=a,es=o;var u=(1e4*(268435455&(s+=122192928e5))+a)%4294967296;i[n++]=u>>>24&255,i[n++]=u>>>16&255,i[n++]=u>>>8&255,i[n++]=255&u;var l=s/4294967296*1e4&268435455;i[n++]=l>>>8&255,i[n++]=255&l,i[n++]=l>>>24&15|16,i[n++]=l>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var c=t.node||ts,f=0;f<6;f++)i[n+f]=c[f];return e||Qo(i)},os.v4=is,os.parse=function(t,e,r){var n=e&&r||0,i=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,(function(t){i<16&&(e[n+i++]=Xo[t])}));i<16;)e[n+i++]=0;return e},os.unparse=Qo;var ss=os,as=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const hs=new m("json-wallets/5.0.1");function us(t){return null!=t&&t.mnemonic&&t.mnemonic.phrase}class ls extends ut{isKeystoreAccount(t){return!(!t||!t._isKeystoreAccount)}}function cs(t,e){const r=Co(Fo(t,"crypto/ciphertext"));if(S(Lt(_([e.slice(16,32),r]))).substring(2)!==Fo(t,"crypto/mac").toLowerCase())throw new Error("invalid password");const n=function(t,e,r){if("aes-128-ctr"===Fo(t,"crypto/cipher")){const n=Co(Fo(t,"crypto/cipherparams/iv")),i=new Io.Counter(n);return M(new Io.ModeOfOperation.ctr(e,i).decrypt(r))}return null}(t,e.slice(0,16),r);n||hs.throwError("unsupported cipher",m.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=e.slice(32,64),o=no(n);if(t.address){let e=t.address.toLowerCase();if("0x"!==e.substring(0,2)&&(e="0x"+e),Qt(e)!==o)throw new Error("address mismatch")}const s={_isKeystoreAccount:!0,address:o,privateKey:S(n)};if("0.1"===Fo(t,"x-ethers/version")){const e=Co(Fo(t,"x-ethers/mnemonicCiphertext")),r=Co(Fo(t,"x-ethers/mnemonicCounter")),n=new Io.Counter(r),o=new Io.ModeOfOperation.ctr(i,n),a=Fo(t,"x-ethers/path")||_o,h=Fo(t,"x-ethers/locale")||"en",u=M(o.decrypt(e));try{const t=So(u,h),e=Eo.fromMnemonic(t,null,h).derivePath(a);if(e.privateKey!=s.privateKey)throw new Error("mnemonic mismatch");s.mnemonic=e.mnemonic}catch(t){if(t.code!==m.errors.INVALID_ARGUMENT||"wordlist"!==t.argument)throw t}}return new ls(s)}function fs(t,e,r,n,i){return M(ai(t,e,r,n,i))}function ds(t,e,r,n,i){return Promise.resolve(fs(t,e,r,n,i))}function ms(t,e,r,n,i){const o=Oo(e),s=Fo(t,"crypto/kdf");if(s&&"string"==typeof s){const e=function(t,e){return hs.throwArgumentError("invalid key-derivation function parameters",t,e)};if("scrypt"===s.toLowerCase()){const r=Co(Fo(t,"crypto/kdfparams/salt")),a=parseInt(Fo(t,"crypto/kdfparams/n")),h=parseInt(Fo(t,"crypto/kdfparams/r")),u=parseInt(Fo(t,"crypto/kdfparams/p"));a&&h&&u||e("kdf",s),0!=(a&a-1)&&e("N",a);const l=parseInt(Fo(t,"crypto/kdfparams/dklen"));return 32!==l&&e("dklen",l),n(o,r,a,h,u,64,i)}if("pbkdf2"===s.toLowerCase()){const n=Co(Fo(t,"crypto/kdfparams/salt"));let i=null;const s=Fo(t,"crypto/kdfparams/prf");"hmac-sha256"===s?i="sha256":"hmac-sha512"===s?i="sha512":e("prf",s);const a=parseInt(Fo(t,"crypto/kdfparams/c")),h=parseInt(Fo(t,"crypto/kdfparams/dklen"));return 32!==h&&e("dklen",h),r(o,n,a,h,i)}}return hs.throwArgumentError("unsupported key-derivation function","kdf",s)}function ps(t,e,r){if(jo(t)){r&&r(0);const n=Do(t,e);return r&&r(1),Promise.resolve(n)}return zo(t)?function(t,e,r){return as(this,void 0,void 0,(function*(){const n=JSON.parse(t);return cs(n,yield ms(n,e,ds,Ho,r))}))}(t,e,r):Promise.reject(new Error("invalid JSON wallet"))}function gs(t,e){if(jo(t))return Do(t,e);if(zo(t))return function(t,e){const r=JSON.parse(t);return cs(r,ms(r,e,fs,Go))}(t,e);throw new Error("invalid JSON wallet")}const vs=new m("wallet/5.0.1");class ys extends mr{constructor(t,e){if(vs.checkNew(new.target,ys),super(),null!=(r=t)&&A(r.privateKey,32)&&null!=r.address){const e=new Xi(t.privateKey);if(et(this,"_signingKey",()=>e),et(this,"address",no(this.publicKey)),this.address!==Qt(t.address)&&vs.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(t){const e=t.mnemonic;return e&&e.phrase}(t)){const e=t.mnemonic;et(this,"_mnemonic",()=>({phrase:e.phrase,path:e.path||_o,locale:e.locale||"en"}));const r=this.mnemonic;no(Eo.fromMnemonic(r.phrase,null,r.locale).derivePath(r.path).privateKey)!==this.address&&vs.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else et(this,"_mnemonic",()=>null)}else{if(Xi.isSigningKey(t))"secp256k1"!==t.curve&&vs.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),et(this,"_signingKey",()=>t);else{const e=new Xi(t);et(this,"_signingKey",()=>e)}et(this,"_mnemonic",()=>null),et(this,"address",no(this.publicKey))}var r;e&&!lr.isProvider(e)&&vs.throwArgumentError("invalid provider","provider",e),et(this,"provider",e||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(t){return new ys(this,t)}signTransaction(t){return nt(t).then(t=>{if(null!=t.from){if(Qt(t.from)!==this.address)throw new Error("transaction from address mismatch");delete t.from}const e=this._signingKey().signDigest(Lt(oo(t)));return oo(t,e)})}signMessage(t){return Promise.resolve(C(this._signingKey().signDigest(er(t))))}encrypt(t,e,r){if("function"!=typeof e||r||(r=e,e={}),r&&"function"!=typeof r)throw new Error("invalid callback");return e||(e={}),function(t,e,r,n){try{if(Qt(t.address)!==no(t.privateKey))throw new Error("address/privateKey mismatch");if(us(t)){const e=t.mnemonic;if(Eo.fromMnemonic(e.phrase,null,e.locale).derivePath(e.path||_o).privateKey!=t.privateKey)throw new Error("mnemonic mismatch")}}catch(t){return Promise.reject(t)}"function"!=typeof r||n||(n=r,r={}),r||(r={});const i=M(t.privateKey),o=Oo(e);let s=null,a=null,h=null;if(us(t)){const e=t.mnemonic;s=M(Ao(e.phrase,e.locale||"en")),a=e.path||_o,h=e.locale||"en"}let u=r.client;u||(u="ethers.js");let l=null;l=r.salt?M(r.salt):Ro(32);let c=null;if(r.iv){if(c=M(r.iv),16!==c.length)throw new Error("invalid iv")}else c=Ro(16);let f=null;if(r.uuid){if(f=M(r.uuid),16!==f.length)throw new Error("invalid uuid")}else f=Ro(16);let d=1<<17,m=8,p=1;return r.scrypt&&(r.scrypt.N&&(d=r.scrypt.N),r.scrypt.r&&(m=r.scrypt.r),r.scrypt.p&&(p=r.scrypt.p)),Ho(o,l,d,m,p,64,n).then(e=>{const r=(e=M(e)).slice(0,16),n=e.slice(16,32),o=e.slice(32,64),g=new Io.Counter(c),v=M(new Io.ModeOfOperation.ctr(r,g).encrypt(i)),y=Lt(_([n,v])),w={address:t.address.substring(2).toLowerCase(),id:ss.v4({random:f}),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:S(c).substring(2)},ciphertext:S(v).substring(2),kdf:"scrypt",kdfparams:{salt:S(l).substring(2),n:d,dklen:32,p:p,r:m},mac:y.substring(2)}};if(s){const t=Ro(16),e=new Io.Counter(t),r=M(new Io.ModeOfOperation.ctr(o,e).encrypt(s)),n=new Date,i=n.getUTCFullYear()+"-"+Bo(n.getUTCMonth()+1,2)+"-"+Bo(n.getUTCDate(),2)+"T"+Bo(n.getUTCHours(),2)+"-"+Bo(n.getUTCMinutes(),2)+"-"+Bo(n.getUTCSeconds(),2)+".0Z";w["x-ethers"]={client:u,gethFilename:"UTC--"+i+"--"+w.address,mnemonicCounter:S(t).substring(2),mnemonicCiphertext:S(r).substring(2),path:a,locale:h,version:"0.1"}}return JSON.stringify(w)})}(this,t,e,r)}static createRandom(t){let e=Ro(16);t||(t={}),t.extraEntropy&&(e=M(P(Lt(_([e,t.extraEntropy])),0,16)));const r=So(e,t.locale);return ys.fromMnemonic(r,t.path,t.locale)}static fromEncryptedJson(t,e,r){return ps(t,e,r).then(t=>new ys(t))}static fromEncryptedJsonSync(t,e){return new ys(gs(t,e))}static fromMnemonic(t,e,r){return e||(e=_o),new ys(Eo.fromMnemonic(t,null,r).derivePath(e))}}const ws=new m("networks/5.0.1");function bs(t){return function(e,r){null==r&&(r={});const n=[];if(e.InfuraProvider)try{n.push(new e.InfuraProvider(t,r.infura))}catch(t){}if(e.EtherscanProvider)try{n.push(new e.EtherscanProvider(t,r.etherscan))}catch(t){}if(e.AlchemyProvider)try{n.push(new e.AlchemyProvider(t,r.alchemy))}catch(t){}if(e.CloudflareProvider)try{n.push(new e.CloudflareProvider(t))}catch(t){}if(0===n.length)return null;if(e.FallbackProvider){let i=1;return null!=r.quorum?i=r.quorum:"homestead"===t&&(i=2),new e.FallbackProvider(n,i)}return n[0]}}function Ms(t,e){return function(r,n){return r.JsonRpcProvider?new r.JsonRpcProvider(t,e):null}}const _s={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:bs("homestead")},Es={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:bs("ropsten")},ks={chainId:63,name:"classicMordor",_defaultProvider:Ms("https://www.ethercluster.com/mordor","classicMordor")},As={unspecified:{chainId:0,name:"unspecified"},homestead:_s,mainnet:_s,morden:{chainId:2,name:"morden"},ropsten:Es,testnet:Es,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:bs("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:bs("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:bs("goerli")},classic:{chainId:61,name:"classic",_defaultProvider:Ms("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:ks,classicTestnet:ks,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:Ms("https://www.ethercluster.com/kotti","classicKotti")}};function Ss(t){if(null==t)return null;if("number"==typeof t){for(const e in As){const r=As[e];if(r.chainId===t)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:t,name:"unknown"}}if("string"==typeof t){const e=As[t];return null==e?null:{name:e.name,chainId:e.chainId,ensAddress:e.ensAddress,_defaultProvider:e._defaultProvider||null}}const e=As[t.name];return e?(0!==t.chainId&&t.chainId!==e.chainId&&ws.throwArgumentError("network chainId mismatch","network",t),{name:t.name,chainId:e.chainId,ensAddress:t.ensAddress||e.ensAddress||null,_defaultProvider:t._defaultProvider||e._defaultProvider||null}):("number"!=typeof t.chainId&&ws.throwArgumentError("invalid network chainId","network",t),t)}function Ns(t){t=M(t);let e="";for(let r=0;r0&&(a=t.timeout),t.headers)for(const e in t.headers)n[e.toLowerCase()]={key:e,value:String(t.headers[e])},["if-none-match","if-modified-since"].indexOf(e.toLowerCase())>=0&&(s=!0);if(null!=t.user&&null!=t.password){"https:"!==i.substring(0,6)&&!0!==t.allowInsecureAuthentication&&Rs.throwError("basic authentication requires a secure https url",m.errors.INVALID_ARGUMENT,{argument:"url",url:i,user:t.user,password:"[REDACTED]"});const e=t.user+":"+t.password;n.authorization={key:"Authorization",value:"Basic "+Ns(Ne(e))}}}e&&(o.method="POST",o.body=e,n["content-type"]={key:"Content-Type",value:"application/json"});const h={};Object.keys(n).forEach(t=>{const e=n[t];h[e.key]=e.value}),o.headers=h;const u=function(){let t=null;return{promise:new Promise((function(e,r){a&&(t=setTimeout(()=>{null!=t&&(t=null,r(Rs.makeError("timeout",m.errors.TIMEOUT,{requestBody:o.body||null,requestMethod:o.method,timeout:a,url:i})))},a))})),cancel:function(){null!=t&&(clearTimeout(t),t=null)}}}(),l=function(){return Ts(this,void 0,void 0,(function*(){let t=null;try{t=yield function(t,e){return xs(this,void 0,void 0,(function*(){null==e&&(e={});const r={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0,mode:"cors",cache:"no-cache",credentials:"same-origin",redirect:"follow",referrer:"client"},n=yield fetch(t,r),i=yield n.text(),o={};return n.headers.forEach?n.headers.forEach((t,e)=>{o[e.toLowerCase()]=t}):n.headers.keys().forEach(t=>{o[t.toLowerCase()]=n.headers.get(t)}),{headers:o,statusCode:n.status,statusMessage:n.statusText,body:i}}))}(i,o)}catch(e){t=e.response,null==t&&(u.cancel(),Rs.throwError("missing response",m.errors.SERVER_ERROR,{requestBody:o.body||null,requestMethod:o.method,serverError:e,url:i}))}let e=t.body;s&&304===t.statusCode?e=null:(t.statusCode<200||t.statusCode>=300)&&(u.cancel(),Rs.throwError("bad response",m.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:e,requestBody:o.body||null,requestMethod:o.method,url:i})),u.cancel();let n=null;if(null!=e)try{n=JSON.parse(e)}catch(t){Rs.throwError("invalid JSON",m.errors.SERVER_ERROR,{body:e,error:t,requestBody:o.body||null,requestMethod:o.method,url:i})}if(r)try{n=yield r(n,t)}catch(t){Rs.throwError("processing response error",m.errors.SERVER_ERROR,{body:n,error:t,requestBody:o.body||null,requestMethod:o.method,url:i})}return n}))}();return Promise.race([u.promise,l])}function Cs(t,e){return e||(e={}),null==(e=ot(e)).floor&&(e.floor=0),null==e.ceiling&&(e.ceiling=1e4),null==e.interval&&(e.interval=250),new Promise((function(r,n){let i=null,o=!1;const s=()=>!o&&(o=!0,i&&clearTimeout(i),!0);e.timeout&&(i=setTimeout(()=>{s()&&n(new Error("timeout"))},e.timeout));const a=e.retryLimit;let h=0;!function i(){return t().then((function(t){if(void 0!==t)s()&&r(t);else if(e.oncePoll)e.oncePoll.once("poll",i);else if(e.onceBlock)e.onceBlock.once("block",i);else if(!o){if(h++,h>a)return void(s()&&n(new Error("retry limit reached")));let t=e.interval*parseInt(String(Math.random()*Math.pow(2,h)));te.ceiling&&(t=e.ceiling),setTimeout(i,t)}return null}),(function(t){s()&&n(t)}))}()}))}const Bs="providers/5.0.2",Os=new m(Bs);class Fs{constructor(){Os.checkNew(new.target,Fs),this.formats=this.getDefaultFormats()}getDefaultFormats(){const t={},e=this.address.bind(this),r=this.bigNumber.bind(this),n=this.blockTag.bind(this),i=this.data.bind(this),o=this.hash.bind(this),s=this.hex.bind(this),a=this.number.bind(this);return t.transaction={hash:o,blockHash:Fs.allowNull(o,null),blockNumber:Fs.allowNull(a,null),transactionIndex:Fs.allowNull(a,null),confirmations:Fs.allowNull(a,null),from:e,gasPrice:r,gasLimit:r,to:Fs.allowNull(e,null),value:r,nonce:a,data:i,r:Fs.allowNull(this.uint256),s:Fs.allowNull(this.uint256),v:Fs.allowNull(a),creates:Fs.allowNull(e,null),raw:Fs.allowNull(i)},t.transactionRequest={from:Fs.allowNull(e),nonce:Fs.allowNull(a),gasLimit:Fs.allowNull(r),gasPrice:Fs.allowNull(r),to:Fs.allowNull(e),value:Fs.allowNull(r),data:Fs.allowNull(t=>this.data(t,!0))},t.receiptLog={transactionIndex:a,blockNumber:a,transactionHash:o,address:e,topics:Fs.arrayOf(o),data:i,logIndex:a,blockHash:o},t.receipt={to:Fs.allowNull(this.address,null),from:Fs.allowNull(this.address,null),contractAddress:Fs.allowNull(e,null),transactionIndex:a,root:Fs.allowNull(o),gasUsed:r,logsBloom:Fs.allowNull(i),blockHash:o,transactionHash:o,logs:Fs.arrayOf(this.receiptLog.bind(this)),blockNumber:a,confirmations:Fs.allowNull(a,null),cumulativeGasUsed:r,status:Fs.allowNull(a)},t.block={hash:o,parentHash:o,number:a,timestamp:a,nonce:Fs.allowNull(s),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:e,extraData:i,transactions:Fs.allowNull(Fs.arrayOf(o))},t.blockWithTransactions=ot(t.block),t.blockWithTransactions.transactions=Fs.allowNull(Fs.arrayOf(this.transactionResponse.bind(this))),t.filter={fromBlock:Fs.allowNull(n,void 0),toBlock:Fs.allowNull(n,void 0),blockHash:Fs.allowNull(o,void 0),address:Fs.allowNull(e,void 0),topics:Fs.allowNull(this.topics.bind(this),void 0)},t.filterLog={blockNumber:Fs.allowNull(a),blockHash:Fs.allowNull(o),transactionIndex:a,removed:Fs.allowNull(this.boolean.bind(this)),address:e,data:Fs.allowFalsish(i,"0x"),topics:Fs.arrayOf(o),transactionHash:o,logIndex:a},t}number(t){return L.from(t).toNumber()}bigNumber(t){return L.from(t)}boolean(t){if("boolean"==typeof t)return t;if("string"==typeof t){if("true"===(t=t.toLowerCase()))return!0;if("false"===t)return!1}throw new Error("invalid boolean - "+t)}hex(t,e){return"string"==typeof t&&(e||"0x"===t.substring(0,2)||(t="0x"+t),A(t))?t.toLowerCase():Os.throwArgumentError("invalid hash","value",t)}data(t,e){const r=this.hex(t,e);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+t);return r}address(t){return Qt(t)}callAddress(t){if(!A(t,32))return null;const e=Qt(P(t,12));return e===ce?null:e}contractAddress(t){return Yt(t)}blockTag(t){if(null==t)return"latest";if("earliest"===t)return"0x0";if("latest"===t||"pending"===t)return t;if("number"==typeof t||A(t))return x(t);throw new Error("invalid blockTag")}hash(t,e){const r=this.hex(t,e);return 32!==N(r)?Os.throwArgumentError("invalid hash","value",t):r}difficulty(t){if(null==t)return null;const e=L.from(t);try{return e.toNumber()}catch(t){}return null}uint256(t){if(!A(t))throw new Error("invalid uint256");return R(t,32)}_block(t,e){return null!=t.author&&null==t.miner&&(t.miner=t.author),Fs.check(e,t)}block(t){return this._block(t,this.formats.block)}blockWithTransactions(t){return this._block(t,this.formats.blockWithTransactions)}transactionRequest(t){return Fs.check(this.formats.transactionRequest,t)}transactionResponse(t){null!=t.gas&&null==t.gasLimit&&(t.gasLimit=t.gas),t.to&&L.from(t.to).isZero()&&(t.to="0x0000000000000000000000000000000000000000"),null!=t.input&&null==t.data&&(t.data=t.input),null==t.to&&null==t.creates&&(t.creates=this.contractAddress(t));const e=Fs.check(this.formats.transaction,t);if(null!=t.chainId){let r=t.chainId;A(r)&&(r=L.from(r).toNumber()),e.chainId=r}else{let r=t.networkId;null==r&&null==e.v&&(r=t.chainId),A(r)&&(r=L.from(r).toNumber()),"number"!=typeof r&&null!=e.v&&(r=(e.v-35)/2,r<0&&(r=0),r=parseInt(r)),"number"!=typeof r&&(r=0),e.chainId=r}return e.blockHash&&"x"===e.blockHash.replace(/0/g,"")&&(e.blockHash=null),e}transaction(t){return so(t)}receiptLog(t){return Fs.check(this.formats.receiptLog,t)}receipt(t){const e=Fs.check(this.formats.receipt,t);return null!=t.status&&(e.byzantium=!0),e}topics(t){return Array.isArray(t)?t.map(t=>this.topics(t)):null!=t?this.hash(t,!0):null}filter(t){return Fs.check(this.formats.filter,t)}filterLog(t){return Fs.check(this.formats.filterLog,t)}static check(t,e){const r={};for(const n in t)try{const i=t[n](e[n]);void 0!==i&&(r[n]=i)}catch(t){throw t.checkKey=n,t.checkValue=e[n],t}return r}static allowNull(t,e){return function(r){return null==r?e:t(r)}}static allowFalsish(t,e){return function(r){return r?t(r):e}}static arrayOf(t){return function(e){if(!Array.isArray(e))throw new Error("not an array");const r=[];return e.forEach((function(e){r.push(t(e))})),r}}}var Ls=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const Us=new m(Bs);function Ds(t){return null==t?"null":(32!==N(t)&&Us.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function js(t){for(t=t.slice();t.length>0&&null==t[t.length-1];)t.pop();return t.map(t=>{if(Array.isArray(t)){const e={};t.forEach(t=>{e[Ds(t)]=!0});const r=Object.keys(e);return r.sort(),r.join("|")}return Ds(t)}).join("&")}function zs(t){if("string"==typeof t){if(32===N(t=t.toLowerCase()))return"tx:"+t;if(-1===t.indexOf(":"))return t}else{if(Array.isArray(t))return"filter:*:"+js(t);if(ur.isForkEvent(t))throw Us.warn("not implemented"),new Error("not implemented");if(t&&"object"==typeof t)return"filter:"+(t.address||"*")+":"+js(t.topics||[])}throw new Error("invalid event - "+t)}function qs(){return(new Date).getTime()}const Ks=["block","network","pending","poll"];class Hs{constructor(t,e,r){et(this,"tag",t),et(this,"listener",e),et(this,"once",r)}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const t=this.tag.split(":");return"tx"!==t[0]?null:t[1]}get filter(){const t=this.tag.split(":");if("filter"!==t[0])return null;const e=t[1],r=""===(n=t[2])?[]:n.split(/&/g).map(t=>{if(""===t)return[];const e=t.split("|").map(t=>"null"===t?null:t);return 1===e.length?e[0]:e});var n;const i={};return r.length>0&&(i.topics=r),e&&"*"!==e&&(i.address=e),i}pollable(){return this.tag.indexOf(":")>=0||Ks.indexOf(this.tag)>=0}}let Gs=null,Vs=1;class Ws extends lr{constructor(t){if(Us.checkNew(new.target,lr),super(),this._events=[],this._emitted={block:-2},this.formatter=new.target.getFormatter(),et(this,"anyNetwork","any"===t),this.anyNetwork&&(t=this.detectNetwork()),t instanceof Promise)this._networkPromise=t,t.catch(t=>{}),this._ready().catch(t=>{});else{const e=rt(new.target,"getNetwork")(t);e?(et(this,"_network",e),this.emit("network",e,null)):Us.throwArgumentError("invalid network","network",t)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return Ls(this,void 0,void 0,(function*(){if(null==this._network){let t=null;if(this._networkPromise)try{t=yield this._networkPromise}catch(t){}null==t&&(t=yield this.detectNetwork()),t||Us.throwError("no network detected",m.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=t:et(this,"_network",t),this.emit("network",t,null))}return this._network}))}get ready(){return Cs(()=>this._ready().then(t=>t,t=>{if(t.code!==m.errors.NETWORK_ERROR||"noNetwork"!==t.event)throw t}))}static getFormatter(){return null==Gs&&(Gs=new Fs),Gs}static getNetwork(t){return Ss(null==t?"homestead":t)}_getInternalBlockNumber(t){return Ls(this,void 0,void 0,(function*(){yield this._ready();const e=this._internalBlockNumber;if(t>0&&this._internalBlockNumber){const r=yield e;if(qs()-r.respTime<=t)return r.blockNumber}const r=qs(),n=nt({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(t=>null,t=>t)}).then(({blockNumber:t,networkError:e})=>{if(e)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),e;const i=qs();return(t=L.from(t).toNumber())1e3)Us.warn("network block skew detected; skipping block events"),this.emit("error",Us.makeError("network block skew detected",m.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(let t=this._emitted.block+1;t<=r;t++)this.emit("block",t);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach(t=>{if("block"===t)return;const e=this._emitted[t];"pending"!==e&&r-e>12&&delete this._emitted[t]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach(t=>{switch(t.type){case"tx":{const r=t.hash;let n=this.getTransactionReceipt(r).then(t=>t&&null!=t.blockNumber?(this._emitted["t:"+r]=t.blockNumber,this.emit(r,t),null):null).catch(t=>{this.emit("error",t)});e.push(n);break}case"filter":{const n=t.filter;n.fromBlock=this._lastBlockNumber+1,n.toBlock=r;const i=this.getLogs(n).then(t=>{0!==t.length&&t.forEach(t=>{this._emitted["b:"+t.blockHash]=t.blockNumber,this._emitted["t:"+t.transactionHash]=t.blockNumber,this.emit(n,t)})}).catch(t=>{this.emit("error",t)});e.push(i);break}}}),this._lastBlockNumber=r,Promise.all(e).then(()=>{this.emit("didPoll",t)}),null}this.emit("didPoll",t)}))}resetEventsBlock(t){this._lastBlockNumber=t-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return Ls(this,void 0,void 0,(function*(){return Us.throwError("provider does not support network detection",m.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})}))}getNetwork(){return Ls(this,void 0,void 0,(function*(){const t=yield this._ready(),e=yield this.detectNetwork();if(t.chainId!==e.chainId){if(this.anyNetwork)return this._network=e,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",e,t),yield(r=0,new Promise(t=>{setTimeout(t,r)})),this._network;const n=Us.makeError("underlying network changed",m.errors.NETWORK_ERROR,{event:"changed",network:t,detectedNetwork:e});throw this.emit("error",n),n}var r;return t}))}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(t=>{this._setFastBlockNumber(t)}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(t){t&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!t&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(t){if("number"!=typeof t||t<=0||parseInt(String(t))!=t)throw new Error("invalid polling interval");this._pollingInterval=t,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const t=qs();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then(t=>((null==this._fastBlockNumber||t>this._fastBlockNumber)&&(this._fastBlockNumber=t),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(t){null!=this._fastBlockNumber&&tthis._fastBlockNumber)&&(this._fastBlockNumber=t,this._fastBlockNumberPromise=Promise.resolve(t)))}waitForTransaction(t,e,r){return Ls(this,void 0,void 0,(function*(){null==e&&(e=1);const n=yield this.getTransactionReceipt(t);return(n?n.confirmations:0)>=e?n:new Promise((n,i)=>{let o=null,s=!1;const a=r=>{r.confirmations0&&(o=setTimeout(()=>{s||(o=null,s=!0,this.removeListener(t,a),i(Us.makeError("timeout exceeded",m.errors.TIMEOUT,{timeout:r})))},r),o.unref&&o.unref())})}))}getBlockNumber(){return Ls(this,void 0,void 0,(function*(){return this._getInternalBlockNumber(0)}))}getGasPrice(){return Ls(this,void 0,void 0,(function*(){return yield this.getNetwork(),L.from(yield this.perform("getGasPrice",{}))}))}getBalance(t,e){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield nt({address:this._getAddress(t),blockTag:this._getBlockTag(e)});return L.from(yield this.perform("getBalance",r))}))}getTransactionCount(t,e){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield nt({address:this._getAddress(t),blockTag:this._getBlockTag(e)});return L.from(yield this.perform("getTransactionCount",r)).toNumber()}))}getCode(t,e){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield nt({address:this._getAddress(t),blockTag:this._getBlockTag(e)});return S(yield this.perform("getCode",r))}))}getStorageAt(t,e,r){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const n=yield nt({address:this._getAddress(t),blockTag:this._getBlockTag(r),position:Promise.resolve(e).then(t=>x(t))});return S(yield this.perform("getStorageAt",n))}))}_wrapTransaction(t,e){if(null!=e&&32!==N(e))throw new Error("invalid response - sendTransaction");const r=t;return null!=e&&t.hash!==e&&Us.throwError("Transaction hash mismatch from Provider.sendTransaction.",m.errors.UNKNOWN_ERROR,{expectedHash:t.hash,returnedHash:e}),r.wait=e=>Ls(this,void 0,void 0,(function*(){0!==e&&(this._emitted["t:"+t.hash]="pending");const r=yield this.waitForTransaction(t.hash,e);return null==r&&0===e?null:(this._emitted["t:"+t.hash]=r.blockNumber,0===r.status&&Us.throwError("transaction failed",m.errors.CALL_EXCEPTION,{transactionHash:t.hash,transaction:t,receipt:r}),r)})),r}sendTransaction(t){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield Promise.resolve(t).then(t=>S(t)),r=this.formatter.transaction(t);try{const t=yield this.perform("sendTransaction",{signedTransaction:e});return this._wrapTransaction(r,t)}catch(t){throw t.transaction=r,t.transactionHash=r.hash,t}}))}_getTransactionRequest(t){return Ls(this,void 0,void 0,(function*(){const e=yield t,r={};return["from","to"].forEach(t=>{null!=e[t]&&(r[t]=Promise.resolve(e[t]).then(t=>t?this._getAddress(t):null))}),["gasLimit","gasPrice","value"].forEach(t=>{null!=e[t]&&(r[t]=Promise.resolve(e[t]).then(t=>t?L.from(t):null))}),["data"].forEach(t=>{null!=e[t]&&(r[t]=Promise.resolve(e[t]).then(t=>t?S(t):null))}),this.formatter.transactionRequest(yield nt(r))}))}_getFilter(t){return Ls(this,void 0,void 0,(function*(){t=yield t;const e={};return null!=t.address&&(e.address=this._getAddress(t.address)),["blockHash","topics"].forEach(r=>{null!=t[r]&&(e[r]=t[r])}),["fromBlock","toBlock"].forEach(r=>{null!=t[r]&&(e[r]=this._getBlockTag(t[r]))}),this.formatter.filter(yield nt(e))}))}call(t,e){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const r=yield nt({transaction:this._getTransactionRequest(t),blockTag:this._getBlockTag(e)});return S(yield this.perform("call",r))}))}estimateGas(t){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield nt({transaction:this._getTransactionRequest(t)});return L.from(yield this.perform("estimateGas",e))}))}_getAddress(t){return Ls(this,void 0,void 0,(function*(){const e=yield this.resolveName(t);return null==e&&Us.throwError("ENS name not configured",m.errors.UNSUPPORTED_OPERATION,{operation:`resolveName(${JSON.stringify(t)})`}),e}))}_getBlock(t,e){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork(),t=yield t;let r=-128;const n={includeTransactions:!!e};if(A(t,32))n.blockHash=t;else try{n.blockTag=this.formatter.blockTag(yield this._getBlockTag(t)),A(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16))}catch(e){Us.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",t)}return Cs(()=>Ls(this,void 0,void 0,(function*(){const t=yield this.perform("getBlock",n);if(null==t)return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?null:void 0;if(e){let e=null;for(let r=0;rLs(this,void 0,void 0,(function*(){const r=yield this.perform("getTransaction",e);if(null==r)return null==this._emitted["t:"+t]?null:void 0;const n=this.formatter.transactionResponse(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let t=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;t<=0&&(t=1),n.confirmations=t}return this._wrapTransaction(n)})),{oncePoll:this})}))}getTransactionReceipt(t){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork(),t=yield t;const e={transactionHash:this.formatter.hash(t,!0)};return Cs(()=>Ls(this,void 0,void 0,(function*(){const r=yield this.perform("getTransactionReceipt",e);if(null==r)return null==this._emitted["t:"+t]?null:void 0;if(null==r.blockHash)return;const n=this.formatter.receipt(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let t=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-n.blockNumber+1;t<=0&&(t=1),n.confirmations=t}return n})),{oncePoll:this})}))}getLogs(t){return Ls(this,void 0,void 0,(function*(){yield this.getNetwork();const e=yield nt({filter:this._getFilter(t)}),r=yield this.perform("getLogs",e);return r.forEach(t=>{null==t.removed&&(t.removed=!1)}),Fs.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)}))}getEtherPrice(){return Ls(this,void 0,void 0,(function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})}))}_getBlockTag(t){return Ls(this,void 0,void 0,(function*(){if("number"==typeof(t=yield t)&&t<0){t%1&&Us.throwArgumentError("invalid BlockTag","blockTag",t);let e=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return e+=t,e<0&&(e=0),this.formatter.blockTag(e)}return this.formatter.blockTag(t)}))}_getResolver(t){return Ls(this,void 0,void 0,(function*(){const e=yield this.getNetwork();e.ensAddress||Us.throwError("network does not support ENS",m.errors.UNSUPPORTED_OPERATION,{operation:"ENS",network:e.name});const r={to:e.ensAddress,data:"0x0178b8bf"+Ye(t).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}resolveName(t){return Ls(this,void 0,void 0,(function*(){t=yield t;try{return Promise.resolve(this.formatter.address(t))}catch(e){if(A(t))throw e}"string"!=typeof t&&Us.throwArgumentError("invalid ENS name","name",t);const e=yield this._getResolver(t);if(!e)return null;const r={to:e,data:"0x3b3b57de"+Ye(t).substring(2)};return this.formatter.callAddress(yield this.call(r))}))}lookupAddress(t){return Ls(this,void 0,void 0,(function*(){t=yield t;const e=(t=this.formatter.address(t)).substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(e);if(!r)return null;let n=M(yield this.call({to:r,data:"0x691f3431"+Ye(e).substring(2)}));if(n.length<32||!L.from(n.slice(0,32)).eq(32))return null;if(n=n.slice(32),n.length<32)return null;const i=L.from(n.slice(0,32)).toNumber();if(n=n.slice(32),i>n.length)return null;const o=Te(n.slice(0,i));return(yield this.resolveName(o))!=t?null:o}))}perform(t,e){return Us.throwError(t+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:t})}_startEvent(t){this.polling=this._events.filter(t=>t.pollable()).length>0}_stopEvent(t){this.polling=this._events.filter(t=>t.pollable()).length>0}_addEventListener(t,e,r){const n=new Hs(zs(t),e,r);return this._events.push(n),this._startEvent(n),this}on(t,e){return this._addEventListener(t,e,!1)}once(t,e){return this._addEventListener(t,e,!0)}emit(t,...e){let r=!1,n=[],i=zs(t);return this._events=this._events.filter(t=>t.tag!==i||(setTimeout(()=>{t.listener.apply(this,e)},0),r=!0,!t.once||(n.push(t),!1))),n.forEach(t=>{this._stopEvent(t)}),r}listenerCount(t){if(!t)return this._events.length;let e=zs(t);return this._events.filter(t=>t.tag===e).length}listeners(t){if(null==t)return this._events.map(t=>t.listener);let e=zs(t);return this._events.filter(t=>t.tag===e).map(t=>t.listener)}off(t,e){if(null==e)return this.removeAllListeners(t);const r=[];let n=!1,i=zs(t);return this._events=this._events.filter(t=>t.tag!==i||t.listener!=e||(!!n||(n=!0,r.push(t),!1))),r.forEach(t=>{this._stopEvent(t)}),this}removeAllListeners(t){let e=[];if(null==t)e=this._events,this._events=[];else{const r=zs(t);this._events=this._events.filter(t=>t.tag!==r||(e.push(t),!1))}return e.forEach(t=>{this._stopEvent(t)}),this}}var Js=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const Zs=new m(Bs);function Xs(t){return new Promise((function(e){setTimeout(e,t)}))}function $s(t){if(t.error){const e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}function Qs(t){return t?t.toLowerCase():t}const Ys={};class ta extends mr{constructor(t,e,r){if(Zs.checkNew(new.target,ta),super(),t!==Ys)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");et(this,"provider",e),null==r&&(r=0),"string"==typeof r?(et(this,"_address",this.provider.formatter.address(r)),et(this,"_index",null)):"number"==typeof r?(et(this,"_index",r),et(this,"_address",null)):Zs.throwArgumentError("invalid address or index","addressOrIndex",r)}connect(t){return Zs.throwError("cannot alter JSON-RPC Signer connection",m.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new ea(Ys,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(t=>(t.length<=this._index&&Zs.throwError("unknown account #"+this._index,m.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(t[this._index])))}sendUncheckedTransaction(t){t=ot(t);const e=this.getAddress().then(t=>(t&&(t=t.toLowerCase()),t));if(null==t.gasLimit){const r=ot(t);r.from=e,t.gasLimit=this.provider.estimateGas(r)}return nt({tx:nt(t),sender:e}).then(({tx:e,sender:r})=>{null!=e.from?e.from.toLowerCase()!==r&&Zs.throwArgumentError("from address mismatch","transaction",t):e.from=r;const n=this.provider.constructor.hexlifyTransaction(e,{from:!0});return this.provider.send("eth_sendTransaction",[n]).then(t=>t,t=>{throw t.responseText&&(t.responseText.indexOf("insufficient funds")>=0&&Zs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{transaction:e}),t.responseText.indexOf("nonce too low")>=0&&Zs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{transaction:e}),t.responseText.indexOf("replacement transaction underpriced")>=0&&Zs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{transaction:e})),t})})}signTransaction(t){return Zs.throwError("signing transactions is unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(t){return this.sendUncheckedTransaction(t).then(t=>Cs(()=>this.provider.getTransaction(t).then(e=>{if(null!==e)return this.provider._wrapTransaction(e,t)}),{onceBlock:this.provider}).catch(e=>{throw e.transactionHash=t,e}))}signMessage(t){const e="string"==typeof t?Ne(t):t;return this.getAddress().then(t=>this.provider.send("eth_sign",[t.toLowerCase(),S(e)]))}unlock(t){const e=this.provider;return this.getAddress().then((function(r){return e.send("personal_unlockAccount",[r.toLowerCase(),t,null])}))}}class ea extends ta{sendTransaction(t){return this.sendUncheckedTransaction(t).then(t=>({hash:t,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:e=>this.provider.waitForTransaction(t,e)}))}}const ra={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};class na extends Ws{constructor(t,e){Zs.checkNew(new.target,na);let r=e;null==r&&(r=new Promise((t,e)=>{setTimeout(()=>{this.detectNetwork().then(e=>{t(e)},t=>{e(t)})},0)})),super(r),t||(t=rt(this.constructor,"defaultUrl")()),et(this,"connection","string"==typeof t?Object.freeze({url:t}):Object.freeze(ot(t))),this._nextId=42}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return Js(this,void 0,void 0,(function*(){yield Xs(0);let t=null;try{t=yield this.send("eth_chainId",[])}catch(e){try{t=yield this.send("net_version",[])}catch(t){}}if(null!=t){const e=rt(this.constructor,"getNetwork");try{return e(L.from(t).toNumber())}catch(e){return Zs.throwError("could not detect network",m.errors.NETWORK_ERROR,{chainId:t,event:"invalidNetwork",serverError:e})}}return Zs.throwError("could not detect network",m.errors.NETWORK_ERROR,{event:"noNetwork"})}))}getSigner(t){return new ta(Ys,this,t)}getUncheckedSigner(t){return this.getSigner(t).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(t=>t.map(t=>this.formatter.address(t)))}send(t,e){const r={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:ht(r),provider:this}),Is(this.connection,JSON.stringify(r),$s).then(t=>(this.emit("debug",{action:"response",request:r,response:t,provider:this}),t),t=>{throw this.emit("debug",{action:"response",error:t,request:r,provider:this}),t})}prepareRequest(t,e){switch(t){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Qs(e.address),e.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Qs(e.address),e.blockTag]];case"getCode":return["eth_getCode",[Qs(e.address),e.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Qs(e.address),e.position,e.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[e.signedTransaction]];case"getBlock":return e.blockTag?["eth_getBlockByNumber",[e.blockTag,!!e.includeTransactions]]:e.blockHash?["eth_getBlockByHash",[e.blockHash,!!e.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[e.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[e.transactionHash]];case"call":return["eth_call",[rt(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0}),e.blockTag]];case"estimateGas":return["eth_estimateGas",[rt(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0})]];case"getLogs":return e.filter&&null!=e.filter.address&&(e.filter.address=Qs(e.filter.address)),["eth_getLogs",[e.filter]]}return null}perform(t,e){const r=this.prepareRequest(t,e);return null==r&&Zs.throwError(t+" not implemented",m.errors.NOT_IMPLEMENTED,{operation:t}),"sendTransaction"===t?this.send(r[0],r[1]).catch(t=>{throw t.responseText&&(t.responseText.indexOf("insufficient funds")>0&&Zs.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),t.responseText.indexOf("nonce too low")>0&&Zs.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),t.responseText.indexOf("replacement transaction underpriced")>0&&Zs.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),t}):this.send(r[0],r[1])}_startEvent(t){"pending"===t.tag&&this._startPending(),super._startEvent(t)}_startPending(){if(null!=this._pendingFilter)return;const t=this,e=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=e,e.then((function(r){return function n(){t.send("eth_getFilterChanges",[r]).then((function(r){if(t._pendingFilter!=e)return null;let n=Promise.resolve();return r.forEach((function(e){t._emitted["t:"+e.toLowerCase()]="pending",n=n.then((function(){return t.getTransaction(e).then((function(e){return t.emit("pending",e),null}))}))})),n.then((function(){return Xs(1e3)}))})).then((function(){if(t._pendingFilter==e)return setTimeout((function(){n()}),0),null;t.send("eth_uninstallFilter",[r])})).catch(t=>{})}(),r})).catch(t=>{})}_stopEvent(t){"pending"===t.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(t)}static hexlifyTransaction(t,e){const r=ot(ra);if(e)for(const t in e)e[t]&&(r[t]=!0);it(t,r);const n={};return["gasLimit","gasPrice","nonce","value"].forEach((function(e){if(null==t[e])return;const r=x(t[e]);"gasLimit"===e&&(e="gas"),n[e]=r})),["from","to","data"].forEach((function(e){null!=t[e]&&(n[e]=S(t[e]))})),n}}var ia=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const oa=new m(Bs);class sa extends na{constructor(t,e){oa.checkAbstract(new.target,sa),t=rt(new.target,"getNetwork")(t),e=rt(new.target,"getApiKey")(e);super(rt(new.target,"getUrl")(t,e),t),"string"==typeof e?et(this,"apiKey",e):null!=e&&Object.keys(e).forEach(t=>{et(this,t,e[t])})}detectNetwork(){return ia(this,void 0,void 0,(function*(){return this.network}))}_startPending(){oa.warn("WARNING: API provider does not support pending filters")}getSigner(t){return oa.throwError("API provider does not support signing",m.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(t){return t}static getUrl(t,e){return oa.throwError("not implemented; sub-classes must override getUrl",m.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const aa=new m(Bs);class ha extends sa{static getApiKey(t){return null==t?"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC":(t&&"string"!=typeof t&&aa.throwArgumentError("invalid apiKey","apiKey",t),t)}static getUrl(t,e){let r=null;switch(t.name){case"homestead":r="eth-mainnet.alchemyapi.io/jsonrpc/";break;case"ropsten":r="eth-ropsten.alchemyapi.io/jsonrpc/";break;case"rinkeby":r="eth-rinkeby.alchemyapi.io/jsonrpc/";break;case"goerli":r="eth-goerli.alchemyapi.io/jsonrpc/";break;case"kovan":r="eth-kovan.alchemyapi.io/jsonrpc/";break;default:aa.throwArgumentError("unsupported network","network",arguments[0])}return"https://"+r+e}}var ua=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const la=new m(Bs);class ca extends sa{static getApiKey(t){return null!=t&&la.throwArgumentError("apiKey not supported for cloudflare","apiKey",t),null}static getUrl(t,e){let r=null;switch(t.name){case"homestead":r="https://cloudflare-eth.com/";break;default:la.throwArgumentError("unsupported network","network",arguments[0])}return r}perform(t,e){const r=Object.create(null,{perform:{get:()=>super.perform}});return ua(this,void 0,void 0,(function*(){if("getBlockNumber"===t){return(yield r.perform.call(this,"getBlock",{blockTag:"latest"})).number}return r.perform.call(this,t,e)}))}}var fa=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const da=new m(Bs);function ma(t){const e=[];for(let r in t){if(null==t[r])continue;let n=S(t[r]);({gasLimit:!0,gasPrice:!0,nonce:!0,value:!0})[r]&&(n=x(n)),e.push(r+"="+n)}return e.join("&")}function pa(t){if(0==t.status&&("No records found"===t.message||"No transactions found"===t.message))return t.result;if(1!=t.status||"OK"!=t.message){const e=new Error("invalid response");throw e.result=JSON.stringify(t),e}return t.result}function ga(t){if("2.0"!=t.jsonrpc){const e=new Error("invalid response");throw e.result=JSON.stringify(t),e}if(t.error){const e=new Error(t.error.message||"unknown error");throw t.error.code&&(e.code=t.error.code),t.error.data&&(e.data=t.error.data),e}return t.result}function va(t){if("pending"===t)throw new Error("pending not supported");return"latest"===t?t:parseInt(t.substring(2),16)}class ya extends Ws{constructor(t,e){da.checkNew(new.target,ya),super(t);let r="invalid";this.network&&(r=this.network.name);let n=null;switch(r){case"homestead":n="https://api.etherscan.io";break;case"ropsten":n="https://api-ropsten.etherscan.io";break;case"rinkeby":n="https://api-rinkeby.etherscan.io";break;case"kovan":n="https://api-kovan.etherscan.io";break;case"goerli":n="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}et(this,"baseUrl",n),et(this,"apiKey",e||"9D13ZE7XSBTJ94N9BNJ2MA33VMAY2YPIRB")}detectNetwork(){return fa(this,void 0,void 0,(function*(){return this.network}))}perform(t,e){const r=Object.create(null,{perform:{get:()=>super.perform}});return fa(this,void 0,void 0,(function*(){let n=this.baseUrl,i="";this.apiKey&&(i+="&apikey="+this.apiKey);const o=(t,e)=>fa(this,void 0,void 0,(function*(){this.emit("debug",{action:"request",request:t,provider:this});const r=yield Is(t,null,e||ga);return this.emit("debug",{action:"response",request:t,response:ht(r),provider:this}),r}));switch(t){case"getBlockNumber":return n+="/api?module=proxy&action=eth_blockNumber"+i,o(n);case"getGasPrice":return n+="/api?module=proxy&action=eth_gasPrice"+i,o(n);case"getBalance":return n+="/api?module=account&action=balance&address="+e.address,n+="&tag="+e.blockTag+i,o(n,pa);case"getTransactionCount":return n+="/api?module=proxy&action=eth_getTransactionCount&address="+e.address,n+="&tag="+e.blockTag+i,o(n);case"getCode":return n+="/api?module=proxy&action=eth_getCode&address="+e.address,n+="&tag="+e.blockTag+i,o(n,ga);case"getStorageAt":return n+="/api?module=proxy&action=eth_getStorageAt&address="+e.address,n+="&position="+e.position,n+="&tag="+e.blockTag+i,o(n,ga);case"sendTransaction":return n+="/api?module=proxy&action=eth_sendRawTransaction&hex="+e.signedTransaction,n+=i,o(n).catch(t=>{throw t.responseText&&(t.responseText.toLowerCase().indexOf("insufficient funds")>=0&&da.throwError("insufficient funds",m.errors.INSUFFICIENT_FUNDS,{}),t.responseText.indexOf("same hash was already imported")>=0&&da.throwError("nonce has already been used",m.errors.NONCE_EXPIRED,{}),t.responseText.indexOf("another transaction with same nonce")>=0&&da.throwError("replacement fee too low",m.errors.REPLACEMENT_UNDERPRICED,{})),t});case"getBlock":if(e.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+e.blockTag,e.includeTransactions?n+="&boolean=true":n+="&boolean=false",n+=i,o(n);throw new Error("getBlock by blockHash not implemented");case"getTransaction":return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+e.transactionHash,n+=i,o(n);case"getTransactionReceipt":return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+e.transactionHash,n+=i,o(n);case"call":{let t=ma(e.transaction);if(t&&(t="&"+t),n+="/api?module=proxy&action=eth_call"+t,"latest"!==e.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return n+=i,o(n)}case"estimateGas":{let t=ma(e.transaction);return t&&(t="&"+t),n+="/api?module=proxy&action=eth_estimateGas&"+t,n+=i,o(n)}case"getLogs":{if(n+="/api?module=logs&action=getLogs",e.filter.fromBlock&&(n+="&fromBlock="+va(e.filter.fromBlock)),e.filter.toBlock&&(n+="&toBlock="+va(e.filter.toBlock)),e.filter.address&&(n+="&address="+e.filter.address),e.filter.topics&&e.filter.topics.length>0&&(e.filter.topics.length>1&&da.throwError("unsupported topic count",m.errors.UNSUPPORTED_OPERATION,{topics:e.filter.topics}),1===e.filter.topics.length)){const t=e.filter.topics[0];"string"==typeof t&&66===t.length||da.throwError("unsupported topic format",m.errors.UNSUPPORTED_OPERATION,{topic0:t}),n+="&topic0="+t}n+=i;const t=yield o(n,pa);let r={};for(let e=0;e(n+="/api?module=account&action=txlist&address="+t,n+="&startblock="+e,n+="&endblock="+r,n+="&sort=asc"+i,this.emit("debug",{action:"request",request:n,provider:this}),Is(n,null,pa).then(t=>{this.emit("debug",{action:"response",request:n,response:ht(t),provider:this});let e=[];return t.forEach(t=>{["contractAddress","to"].forEach((function(e){""==t[e]&&delete t[e]})),null==t.creates&&null!=t.contractAddress&&(t.creates=t.contractAddress);let r=this.formatter.transactionResponse(t);t.timeStamp&&(r.timestamp=parseInt(t.timeStamp)),e.push(r)}),e})))}}var wa=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const ba=new m(Bs);function Ma(){return(new Date).getTime()}function _a(t){let e=null;for(let r=0;re?null:(n+i)/2}function ka(t){if(null===t)return"null";if("number"==typeof t||"boolean"==typeof t)return JSON.stringify(t);if("string"==typeof t)return t;if(L.isBigNumber(t))return t.toString();if(Array.isArray(t))return JSON.stringify(t.map(t=>ka(t)));if("object"==typeof t){const e=Object.keys(t);return e.sort(),"{"+e.map(e=>{let r=t[e];return r="function"==typeof r?"[function]":ka(r),JSON.stringify(e)+":"+r}).join(",")+"}"}throw new Error("unknown value type: "+typeof t)}let Aa=1;function Sa(t){let e=null,r=null,n=new Promise(n=>{e=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(e,t)});return{cancel:e,getPromise:function(){return n},wait:t=>(n=n.then(t),n)}}function Na(t,e){const r={provider:t.provider,weight:t.weight};return t.start&&(r.start=t.start),e&&(r.duration=e-t.start),t.done&&(t.error?r.error=t.error:r.result=t.result||null),r}function Pa(t,e,r){let n=ka;switch(e){case"getBlockNumber":return function(e){const r=e.map(t=>t.result);let n=Ea(e.map(t=>t.result),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=t._highestBlockNumber&&(t._highestBlockNumber=n),t._highestBlockNumber};case"getGasPrice":return function(t){const e=t.map(t=>t.result);return e.sort(),e[Math.floor(e.length/2)]};case"getEtherPrice":return function(t){return Ea(t.map(t=>t.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(t){return null==t?null:((t=ot(t)).confirmations=-1,ka(t))};break;case"getBlock":n=r.includeTransactions?function(t){return null==t?null:((t=ot(t)).transactions=t.transactions.map(t=>((t=ot(t)).confirmations=-1,t)),ka(t))}:function(t){return null==t?null:ka(t)};break;default:throw new Error("unknown method: "+e)}return function(t,e){return function(r){const n={};r.forEach(e=>{const r=t(e.result);n[r]||(n[r]={count:0,result:e.result}),n[r].count++});const i=Object.keys(n);for(let t=0;t=e)return r.result}}}(n,t.quorum)}function xa(t,e){return wa(this,void 0,void 0,(function*(){const r=t.provider;return null!=r.blockNumber&&r.blockNumber>=e||-1===e?r:Cs(()=>new Promise((n,i)=>{setTimeout((function(){return r.blockNumber>=e?n(r):t.cancelled?n(null):n(void 0)}),0)}),{oncePoll:r})}))}function Ta(t,e,r,n){return wa(this,void 0,void 0,(function*(){let i=t.provider;switch(r){case"getBlockNumber":case"getGasPrice":return i[r]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return n.blockTag&&A(n.blockTag)&&(i=yield xa(t,e)),i[r](n.address,n.blockTag||"latest");case"getStorageAt":return n.blockTag&&A(n.blockTag)&&(i=yield xa(t,e)),i.getStorageAt(n.address,n.position,n.blockTag||"latest");case"getBlock":return n.blockTag&&A(n.blockTag)&&(i=yield xa(t,e)),i[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash);case"call":case"estimateGas":return n.blockTag&&A(n.blockTag)&&(i=yield xa(t,e)),i[r](n.transaction);case"getTransaction":case"getTransactionReceipt":return i[r](n.transactionHash);case"getLogs":{let r=n.filter;return(r.fromBlock&&A(r.fromBlock)||r.toBlock&&A(r.toBlock))&&(i=yield xa(t,e)),i.getLogs(r)}}return ba.throwError("unknown method error",m.errors.UNKNOWN_ERROR,{method:r,params:n})}))}class Ra extends Ws{constructor(t,e){ba.checkNew(new.target,Ra),0===t.length&&ba.throwArgumentError("missing providers","providers",t);const r=t.map((t,e)=>{if(lr.isProvider(t))return Object.freeze({provider:t,weight:1,stallTimeout:750,priority:1});const r=ot(t);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);const n=r.weight;return(n%1||n>512||n<1)&&ba.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${e}].weight`,n),Object.freeze(r)}),n=r.reduce((t,e)=>t+e.weight,0);null==e?e=n/2:e>n&&ba.throwArgumentError("quorum will always fail; larger than total weight","quorum",e);let i=_a(r.map(t=>t.provider.network));null==i&&(i=new Promise((t,e)=>{setTimeout(()=>{this.detectNetwork().then(t,e)},0)})),super(i),et(this,"providerConfigs",Object.freeze(r)),et(this,"quorum",e),this._highestBlockNumber=-1}detectNetwork(){return wa(this,void 0,void 0,(function*(){return _a(yield Promise.all(this.providerConfigs.map(t=>t.provider.getNetwork())))}))}perform(t,e){return wa(this,void 0,void 0,(function*(){if("sendTransaction"===t){const t=yield Promise.all(this.providerConfigs.map(t=>t.provider.sendTransaction(e.signedTransaction).then(t=>t.hash,t=>t)));for(let e=0;et.priority-e.priority);const i=this._highestBlockNumber;let o=0,s=!0;for(;;){const a=Ma();let h=n.filter(t=>t.runner&&a-t.startt+e.weight,0);for(;h{r.staller=null}),r.runner=Ta(r,i,t,e).then(n=>{r.done=!0,r.result=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:Na(r,Ma()),request:{method:t,params:ht(e)},provider:this})},n=>{r.done=!0,r.error=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:Na(r,Ma()),request:{method:t,params:ht(e)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:Na(r,null),request:{method:t,params:ht(e)},provider:this}),h+=r.weight}const u=[];n.forEach(t=>{!t.done&&t.runner&&(u.push(t.runner),t.staller&&u.push(t.staller.getPromise()))}),u.length&&(yield Promise.race(u));const l=n.filter(t=>t.done&&null==t.error);if(l.length>=this.quorum){const t=r(l);if(void 0!==t)return n.forEach(t=>{t.staller&&t.staller.cancel(),t.cancelled=!0}),t;s||(yield Sa(100).getPromise()),s=!1}if(0===n.filter(t=>!t.done).length)break}return n.forEach(t=>{t.staller&&t.staller.cancel(),t.cancelled=!0}),ba.throwError("failed to meet quorum",m.errors.SERVER_ERROR,{method:t,params:e,results:n.map(t=>Na(t)),provider:this})}))}}var Ia=r((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="providers/5.0.2"})),Ca=(e(Ia),Ia.version,e(r((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(t){var n=new p.Logger(Ia.version);r=function(){n.throwError("WebSockets not supported in this environment",p.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}t.exports=r})))),Ba=window&&window.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{h(n.next(t))}catch(t){o(t)}}function a(t){try{h(n.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}h((n=n.apply(t,e||[])).next())}))};const Oa=new m(Bs);let Fa=1;class La extends na{constructor(t,e){"any"===e&&Oa.throwError("WebSocketProvider does not support 'any' network yet",m.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),super(t,e),this._pollingInterval=-1,et(this,"_websocket",new Ca(this.connection.url)),et(this,"_requests",{}),et(this,"_subs",{}),et(this,"_subIds",{}),this._wsReady=!1,this._websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(t=>{this._websocket.send(this._requests[t].payload)})},this._websocket.onmessage=t=>{const e=t.data,r=JSON.parse(e);if(null!=r.id){const t=String(r.id),n=this._requests[t];if(delete this._requests[t],void 0!==r.result)n.callback(null,r.result);else if(r.error){const t=new Error(r.error.message||"unknown error");et(t,"code",r.error.code||null),et(t,"response",e),n.callback(t,void 0)}else n.callback(new Error("unknown error"),void 0)}else if("eth_subscription"===r.method){const t=this._subs[r.params.subscription];t&&t.processFunc(r.params.result)}else console.warn("this should not happen")};const r=setInterval(()=>{this.emit("poll")},1e3);r.unref&&r.unref()}get pollingInterval(){return 0}resetEventsBlock(t){Oa.throwError("cannot reset events block on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(t){Oa.throwError("cannot set polling interval on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return Ba(this,void 0,void 0,(function*(){return null}))}set polling(t){t&&Oa.throwError("cannot set polling on WebSocketProvider",m.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(t,e){const r=Fa++;return new Promise((n,i)=>{const o=JSON.stringify({method:t,params:e,id:r,jsonrpc:"2.0"});this._requests[String(r)]={callback:function(t,e){return t?i(t):n(e)},payload:o},this._wsReady&&this._websocket.send(o)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(t,e,r){return Ba(this,void 0,void 0,(function*(){let n=this._subIds[t];null==n&&(n=Promise.all(e).then(t=>this.send("eth_subscribe",t)),this._subIds[t]=n);const i=yield n;this._subs[i]={tag:t,processFunc:r}}))}_startEvent(t){switch(t.type){case"block":this._subscribe("block",["newHeads"],t=>{const e=L.from(t.number).toNumber();this._emitted.block=e,this.emit("block",e)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],t=>{this.emit("pending",t)});break;case"filter":this._subscribe(t.tag,["logs",this._getFilter(t.filter)],e=>{null==e.removed&&(e.removed=!1),this.emit(t.filter,this.formatter.filterLog(e))});break;case"tx":{const e=t=>{const e=t.hash;this.getTransactionReceipt(e).then(t=>{t&&this.emit(e,t)})};e(t),this._subscribe("tx",["newHeads"],t=>{this._events.filter(t=>"tx"===t.type).forEach(e)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",t)}}_stopEvent(t){let e=t.tag;if("tx"===t.type){if(this._events.filter(t=>"tx"===t.type).length)return;e="tx"}else if(this.listenerCount(t.event))return;const r=this._subIds[e];r&&(delete this._subIds[e],r.then(t=>{this._subs[t]&&(delete this._subs[t],this.send("eth_unsubscribe",[t]))}))}}const Ua=new m(Bs);class Da extends sa{static getWebSocketProvider(t,e){const r=new Da(t,e).connection;r.password&&Ua.throwError("INFURA WebSocket project secrets unsupported",m.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});const n=r.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");return new La(n,t)}static getApiKey(t){const e={apiKey:"84842078b09946638c03157f83405213",projectId:"84842078b09946638c03157f83405213",projectSecret:null};return null==t||("string"==typeof t?e.projectId=t:null!=t.projectSecret?("string"!=typeof t.projectId&&Ua.throwArgumentError("projectSecret requires a projectId","projectId",t.projectId),"string"!=typeof t.projectSecret&&Ua.throwArgumentError("invalid projectSecret","projectSecret","[REDACTED]"),e.projectId=t.projectId,e.projectSecret=t.projectSecret):t.projectId&&(e.projectId=t.projectId),e.apiKey=e.projectId),e}static getUrl(t,e){let r=null;switch(t.name){case"homestead":r="mainnet.infura.io";break;case"ropsten":r="ropsten.infura.io";break;case"rinkeby":r="rinkeby.infura.io";break;case"kovan":r="kovan.infura.io";break;case"goerli":r="goerli.infura.io";break;default:Ua.throwError("unsupported network",m.errors.INVALID_ARGUMENT,{argument:"network",value:t})}const n={url:"https://"+r+"/v3/"+e.projectId};return null!=e.projectSecret&&(n.user="",n.password=e.projectSecret),n}}const ja=new m(Bs);class za extends sa{static getApiKey(t){return t&&"string"!=typeof t&&ja.throwArgumentError("invalid apiKey","apiKey",t),t||"ETHERS_JS_SHARED"}static getUrl(t,e){ja.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let r=null;switch(t.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:ja.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+e}}const qa=new m(Bs);let Ka=1;function Ha(t,e){return function(r,n){"eth_sign"==r&&t.isMetaMask&&(r="personal_sign",n=[n[1],n[0]]);const i={method:r,params:n,id:Ka++,jsonrpc:"2.0"};return new Promise((t,r)=>{e(i,(function(e,n){if(e)return r(e);if(n.error){const t=new Error(n.error.message);return t.code=n.error.code,t.data=n.error.data,r(t)}t(n.result)}))})}}class Ga extends na{constructor(t,e){qa.checkNew(new.target,Ga),null==t&&qa.throwArgumentError("missing provider","provider",t);let r=null,n=null,i=null;"function"==typeof t?(r="unknown:",n=t):(r=t.host||t.path||"",!r&&t.isMetaMask&&(r="metamask"),i=t,t.request?(""===r&&(r="eip-1193:"),n=function(t){return function(e,r){return null==r&&(r=[]),"eth_sign"==e&&t.isMetaMask&&(e="personal_sign",r=[r[1],r[0]]),t.request({method:e,params:r})}}(t)):t.sendAsync?n=Ha(t,t.sendAsync.bind(t)):t.send?n=Ha(t,t.send.bind(t)):qa.throwArgumentError("unsupported provider","provider",t),r||(r="unknown:")),super(r,e),et(this,"jsonRpcFetchFunc",n),et(this,"provider",i)}send(t,e){return this.jsonRpcFetchFunc(t,e)}}const Va=new m(Bs);function Wa(t,e){null==t&&(t="homestead");const r=Ss(t);return r&&r._defaultProvider||Va.throwError("unsupported getDefaultProvider network",m.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:t}),r._defaultProvider({FallbackProvider:Ra,AlchemyProvider:ha,CloudflareProvider:ca,EtherscanProvider:ya,InfuraProvider:Da,JsonRpcProvider:na,NodesmithProvider:za,Web3Provider:Ga,IpcProvider:null},e)}var Ja=Object.freeze({Provider:lr,BaseProvider:Ws,FallbackProvider:Ra,AlchemyProvider:ha,CloudflareProvider:ca,EtherscanProvider:ya,InfuraProvider:Da,JsonRpcProvider:na,NodesmithProvider:za,Web3Provider:Ga,WebSocketProvider:La,IpcProvider:null,JsonRpcSigner:ta,getDefaultProvider:Wa,getNetwork:Ss,Formatter:Fs});const Za=new RegExp("^bytes([0-9]+)$"),Xa=new RegExp("^(u?int)([0-9]*)$"),$a=new RegExp("^(.*)\\[([0-9]*)\\]$");function Qa(t,e){if(t.length!=e.length)throw new Error("type/value count mismatch");const r=[];return t.forEach((function(t,n){r.push(function t(e,r,n){switch(e){case"address":return n?k(r,32):M(r);case"string":return Ne(r);case"bytes":return M(r);case"bool":return r=r?"0x01":"0x00",n?k(r,32):M(r)}let i=e.match(Xa);if(i){let t=parseInt(i[2]||"256");if(t%8!=0||0===t||t>256)throw new Error("invalid number type - "+e);return n&&(t=256),k(r=L.from(r).toTwos(t),t/8)}if(i=e.match(Za),i){const t=parseInt(i[1]);if(String(t)!=i[1]||0===t||t>32)throw new Error("invalid number type - "+e);if(M(r).byteLength!==t)throw new Error("invalid value for "+e);return n?M((r+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):r}if(i=e.match($a),i&&Array.isArray(r)){const n=i[1];if(parseInt(i[2]||String(r.length))!=r.length)throw new Error("invalid value for "+e);const o=[];return r.forEach((function(e){o.push(t(n,e,!0))})),_(o)}throw new Error("unknown type - "+e)}(t,e[n]))})),S(_(r))}const Ya=new m("units/5.0.1"),th=["wei","kwei","mwei","gwei","szabo","finney","ether"];function eh(t,e){if("string"==typeof e){const t=th.indexOf(e);-1!==t&&(e=3*t)}return Z(t,null!=e?e:18)}function rh(t,e){if("string"==typeof e){const t=th.indexOf(e);-1!==t&&(e=3*t)}return X(t,null!=e?e:18)}var nh=Object.freeze({AbiCoder:Je,defaultAbiCoder:Ze,Fragment:bt,EventFragment:Mt,FunctionFragment:St,ParamType:yt,FormatTypes:gt,checkResultErrors:It,Logger:m,RLP:Gt,fetchJson:Is,poll:Cs,checkProperties:it,deepCopy:ht,defineReadOnly:et,getStatic:rt,resolveProperties:nt,shallowCopy:ot,arrayify:M,concat:_,stripZeros:E,zeroPad:k,isBytes:b,isBytesLike:w,defaultPath:_o,HDNode:Eo,SigningKey:Xi,Interface:ar,LogDescription:nr,TransactionDescription:ir,base64:Ps,hexlify:S,isHexString:A,hexStripZeros:T,hexValue:x,hexZeroPad:R,hexDataLength:N,hexDataSlice:P,nameprep:qe,_toEscapedUtf8String:function(t,e){return'"'+Se(t,e).map(t=>{if(t<256){switch(t){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(t>=32&&t<127)return String.fromCharCode(t)}return t<=65535?Pe(t):Pe(55296+((t-=65536)>>10&1023))+Pe(56320+(1023&t))}).join("")+'"'},toUtf8Bytes:Ne,toUtf8CodePoints:Re,toUtf8String:Te,Utf8ErrorFuncs:Ae,formatBytes32String:function(t){const e=Ne(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return S(_([e,fe]).slice(0,32))},parseBytes32String:function(t){const e=M(t);if(32!==e.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;0===e[r-1];)r--;return Te(e.slice(0,r))},hashMessage:er,namehash:Ye,isValidName:function(t){try{const e=t.split(".");for(let t=0;t2||!e[0].match(/^-?[0-9]*$/)||e[1]&&!e[1].match(/^[0-9]*$/)||"."===t||"-."===t)&&Ya.throwArgumentError("invalid value","value",t);let r=e[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");let i="";2===e.length&&(i="."+(e[1]||"0"));const o=[];for(;r.length;){if(r.length<=3){o.unshift(r);break}{const t=r.length-3;o.unshift(r.substring(t)),r=r.substring(0,t)}}return n+o.join(",")+i},computeHmac:si,keccak256:Lt,ripemd160:ni,sha256:ii,sha512:oi,randomBytes:Ro,shuffled:No,solidityPack:Qa,solidityKeccak256:function(t,e){return Lt(Qa(t,e))},soliditySha256:function(t,e){return ii(Qa(t,e))},splitSignature:I,joinSignature:C,parseTransaction:so,serializeTransaction:oo,getJsonWalletAddress:function(t){if(jo(t))try{return Qt(JSON.parse(t).ethaddr)}catch(t){return null}if(zo(t))try{return Qt(JSON.parse(t).address)}catch(t){return null}return null},computeAddress:no,recoverAddress:io,computePublicKey:Qi,recoverPublicKey:$i,verifyMessage:function(t,e){return io(er(t),e)},mnemonicToEntropy:Ao,entropyToMnemonic:So,isValidMnemonic:function(t,e){try{return Ao(t,e),!0}catch(t){}return!1},mnemonicToSeed:ko,SupportedAlgorithm:ri,get UnicodeNormalizationForm(){return _e},get Utf8ErrorReason(){return Ee},Indexed:or});const ih="ethers/5.0.2",oh=new m("ethers/5.0.2");var sh=Object.freeze({Signer:mr,Wallet:ys,VoidSigner:pr,getDefaultProvider:Wa,providers:Ja,Contract:xr,ContractFactory:Tr,BigNumber:L,FixedNumber:Q,constants:we,get errors(){return d},logger:oh,utils:nh,wordlists:fo,version:"ethers/5.0.2",Wordlist:ho});try{const t=window;null==t._ethers&&(t._ethers=sh)}catch(t){}export{L as BigNumber,xr as Contract,Tr as ContractFactory,Q as FixedNumber,mr as Signer,pr as VoidSigner,ys as Wallet,ho as Wordlist,we as constants,d as errors,sh as ethers,Wa as getDefaultProvider,oh as logger,Ja as providers,nh as utils,ih as version,fo as wordlists}; diff --git a/packages/ethers/dist/ethers.umd.js b/packages/ethers/dist/ethers.umd.js index f1a5731e6..2772245a0 100644 --- a/packages/ethers/dist/ethers.umd.js +++ b/packages/ethers/dist/ethers.umd.js @@ -3005,7 +3005,13 @@ } else if (cmp > 0) { r.isub(this.p); } else { - r.strip(); + if (r.strip !== undefined) { + // r is BN v4 instance + r.strip(); + } else { + // r is BN v5 instance + r._strip(); + } } return r; @@ -3464,7 +3470,7 @@ var _version = createCommonjsModule(function (module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.version = "logger/5.0.1"; + exports.version = "logger/5.0.2"; }); var _version$1 = unwrapExports(_version); @@ -3527,6 +3533,7 @@ // - operation ErrorCode["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION"; // Network Error (i.e. Ethereum Network, such as an invalid chain ID) + // - event ("noNetwork" is not re-thrown in provider.ready; otherwise thrown) ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR"; // Some sort of bad response from the server ErrorCode["SERVER_ERROR"] = "SERVER_ERROR"; @@ -11774,6 +11781,3442 @@ 'default': _package }); + var bn$1 = createCommonjsModule(function (module) { + (function (module, exports) { + 'use strict'; + + // Utils + function assert (val, msg) { + if (!val) throw new Error(msg || 'Assertion failed'); + } + + // Could use `inherits` module, but don't want to move from single file + // architecture yet. + function inherits (ctor, superCtor) { + ctor.super_ = superCtor; + var TempCtor = function () {}; + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + } + + // BN + + function BN (number, base, endian) { + if (BN.isBN(number)) { + return number; + } + + this.negative = 0; + this.words = null; + this.length = 0; + + // Reduction context + this.red = null; + + if (number !== null) { + if (base === 'le' || base === 'be') { + endian = base; + base = 10; + } + + this._init(number || 0, base || 10, endian || 'be'); + } + } + if (typeof module === 'object') { + module.exports = BN; + } else { + exports.BN = BN; + } + + BN.BN = BN; + BN.wordSize = 26; + + var Buffer; + try { + Buffer = require$$0.Buffer; + } catch (e) { + } + + BN.isBN = function isBN (num) { + if (num instanceof BN) { + return true; + } + + return num !== null && typeof num === 'object' && + num.constructor.wordSize === BN.wordSize && Array.isArray(num.words); + }; + + BN.max = function max (left, right) { + if (left.cmp(right) > 0) return left; + return right; + }; + + BN.min = function min (left, right) { + if (left.cmp(right) < 0) return left; + return right; + }; + + BN.prototype._init = function init (number, base, endian) { + if (typeof number === 'number') { + return this._initNumber(number, base, endian); + } + + if (typeof number === 'object') { + return this._initArray(number, base, endian); + } + + if (base === 'hex') { + base = 16; + } + assert(base === (base | 0) && base >= 2 && base <= 36); + + number = number.toString().replace(/\s+/g, ''); + var start = 0; + if (number[0] === '-') { + start++; + } + + if (base === 16) { + this._parseHex(number, start); + } else { + this._parseBase(number, base, start); + } + + if (number[0] === '-') { + this.negative = 1; + } + + this.strip(); + + if (endian !== 'le') return; + + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initNumber = function _initNumber (number, base, endian) { + if (number < 0) { + this.negative = 1; + number = -number; + } + if (number < 0x4000000) { + this.words = [ number & 0x3ffffff ]; + this.length = 1; + } else if (number < 0x10000000000000) { + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff + ]; + this.length = 2; + } else { + assert(number < 0x20000000000000); // 2 ^ 53 (unsafe) + this.words = [ + number & 0x3ffffff, + (number / 0x4000000) & 0x3ffffff, + 1 + ]; + this.length = 3; + } + + if (endian !== 'le') return; + + // Reverse the bytes + this._initArray(this.toArray(), base, endian); + }; + + BN.prototype._initArray = function _initArray (number, base, endian) { + // Perhaps a Uint8Array + assert(typeof number.length === 'number'); + if (number.length <= 0) { + this.words = [ 0 ]; + this.length = 1; + return this; + } + + this.length = Math.ceil(number.length / 3); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + var off = 0; + if (endian === 'be') { + for (i = number.length - 1, j = 0; i >= 0; i -= 3) { + w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } else if (endian === 'le') { + for (i = 0, j = 0; i < number.length; i += 3) { + w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + } + return this.strip(); + }; + + function parseHex (str, start, end) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r <<= 4; + + // 'a' - 'f' + if (c >= 49 && c <= 54) { + r |= c - 49 + 0xa; + + // 'A' - 'F' + } else if (c >= 17 && c <= 22) { + r |= c - 17 + 0xa; + + // '0' - '9' + } else { + r |= c & 0xf; + } + } + return r; + } + + BN.prototype._parseHex = function _parseHex (number, start) { + // Create possibly bigger array to ensure that it fits the number + this.length = Math.ceil((number.length - start) / 6); + this.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + this.words[i] = 0; + } + + var j, w; + // Scan 24-bit chunks and add them to the number + var off = 0; + for (i = number.length - 6, j = 0; i >= start; i -= 6) { + w = parseHex(number, i, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + off += 24; + if (off >= 26) { + off -= 26; + j++; + } + } + if (i + 6 !== start) { + w = parseHex(number, start, i + 6); + this.words[j] |= (w << off) & 0x3ffffff; + this.words[j + 1] |= w >>> (26 - off) & 0x3fffff; + } + this.strip(); + }; + + function parseBase (str, start, end, mul) { + var r = 0; + var len = Math.min(str.length, end); + for (var i = start; i < len; i++) { + var c = str.charCodeAt(i) - 48; + + r *= mul; + + // 'a' + if (c >= 49) { + r += c - 49 + 0xa; + + // 'A' + } else if (c >= 17) { + r += c - 17 + 0xa; + + // '0' - '9' + } else { + r += c; + } + } + return r; + } + + BN.prototype._parseBase = function _parseBase (number, base, start) { + // Initialize as zero + this.words = [ 0 ]; + this.length = 1; + + // Find length of limb in base + for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) { + limbLen++; + } + limbLen--; + limbPow = (limbPow / base) | 0; + + var total = number.length - start; + var mod = total % limbLen; + var end = Math.min(total, total - mod) + start; + + var word = 0; + for (var i = start; i < end; i += limbLen) { + word = parseBase(number, i, i + limbLen, base); + + this.imuln(limbPow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + + if (mod !== 0) { + var pow = 1; + word = parseBase(number, i, number.length, base); + + for (i = 0; i < mod; i++) { + pow *= base; + } + + this.imuln(pow); + if (this.words[0] + word < 0x4000000) { + this.words[0] += word; + } else { + this._iaddn(word); + } + } + }; + + BN.prototype.copy = function copy (dest) { + dest.words = new Array(this.length); + for (var i = 0; i < this.length; i++) { + dest.words[i] = this.words[i]; + } + dest.length = this.length; + dest.negative = this.negative; + dest.red = this.red; + }; + + BN.prototype.clone = function clone () { + var r = new BN(null); + this.copy(r); + return r; + }; + + BN.prototype._expand = function _expand (size) { + while (this.length < size) { + this.words[this.length++] = 0; + } + return this; + }; + + // Remove leading `0` from `this` + BN.prototype.strip = function strip () { + while (this.length > 1 && this.words[this.length - 1] === 0) { + this.length--; + } + return this._normSign(); + }; + + BN.prototype._normSign = function _normSign () { + // -0 = 0 + if (this.length === 1 && this.words[0] === 0) { + this.negative = 0; + } + return this; + }; + + BN.prototype.inspect = function inspect () { + return (this.red ? ''; + }; + + /* + + var zeros = []; + var groupSizes = []; + var groupBases = []; + + var s = ''; + var i = -1; + while (++i < BN.wordSize) { + zeros[i] = s; + s += '0'; + } + groupSizes[0] = 0; + groupSizes[1] = 0; + groupBases[0] = 0; + groupBases[1] = 0; + var base = 2 - 1; + while (++base < 36 + 1) { + var groupSize = 0; + var groupBase = 1; + while (groupBase < (1 << BN.wordSize) / base) { + groupBase *= base; + groupSize += 1; + } + groupSizes[base] = groupSize; + groupBases[base] = groupBase; + } + + */ + + var zeros = [ + '', + '0', + '00', + '000', + '0000', + '00000', + '000000', + '0000000', + '00000000', + '000000000', + '0000000000', + '00000000000', + '000000000000', + '0000000000000', + '00000000000000', + '000000000000000', + '0000000000000000', + '00000000000000000', + '000000000000000000', + '0000000000000000000', + '00000000000000000000', + '000000000000000000000', + '0000000000000000000000', + '00000000000000000000000', + '000000000000000000000000', + '0000000000000000000000000' + ]; + + var groupSizes = [ + 0, 0, + 25, 16, 12, 11, 10, 9, 8, + 8, 7, 7, 7, 7, 6, 6, + 6, 6, 6, 6, 6, 5, 5, + 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5 + ]; + + var groupBases = [ + 0, 0, + 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, + 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625, + 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632, + 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, + 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176 + ]; + + BN.prototype.toString = function toString (base, padding) { + base = base || 10; + padding = padding | 0 || 1; + + var out; + if (base === 16 || base === 'hex') { + out = ''; + var off = 0; + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = this.words[i]; + var word = (((w << off) | carry) & 0xffffff).toString(16); + carry = (w >>> (24 - off)) & 0xffffff; + if (carry !== 0 || i !== this.length - 1) { + out = zeros[6 - word.length] + word + out; + } else { + out = word + out; + } + off += 2; + if (off >= 26) { + off -= 26; + i--; + } + } + if (carry !== 0) { + out = carry.toString(16) + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + if (base === (base | 0) && base >= 2 && base <= 36) { + // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base)); + var groupSize = groupSizes[base]; + // var groupBase = Math.pow(base, groupSize); + var groupBase = groupBases[base]; + out = ''; + var c = this.clone(); + c.negative = 0; + while (!c.isZero()) { + var r = c.modn(groupBase).toString(base); + c = c.idivn(groupBase); + + if (!c.isZero()) { + out = zeros[groupSize - r.length] + r + out; + } else { + out = r + out; + } + } + if (this.isZero()) { + out = '0' + out; + } + while (out.length % padding !== 0) { + out = '0' + out; + } + if (this.negative !== 0) { + out = '-' + out; + } + return out; + } + + assert(false, 'Base should be between 2 and 36'); + }; + + BN.prototype.toNumber = function toNumber () { + var ret = this.words[0]; + if (this.length === 2) { + ret += this.words[1] * 0x4000000; + } else if (this.length === 3 && this.words[2] === 0x01) { + // NOTE: at this stage it is known that the top bit is set + ret += 0x10000000000000 + (this.words[1] * 0x4000000); + } else if (this.length > 2) { + assert(false, 'Number can only safely store up to 53 bits'); + } + return (this.negative !== 0) ? -ret : ret; + }; + + BN.prototype.toJSON = function toJSON () { + return this.toString(16); + }; + + BN.prototype.toBuffer = function toBuffer (endian, length) { + assert(typeof Buffer !== 'undefined'); + return this.toArrayLike(Buffer, endian, length); + }; + + BN.prototype.toArray = function toArray (endian, length) { + return this.toArrayLike(Array, endian, length); + }; + + BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) { + var byteLength = this.byteLength(); + var reqLength = length || Math.max(1, byteLength); + assert(byteLength <= reqLength, 'byte array longer than desired length'); + assert(reqLength > 0, 'Requested array length <= 0'); + + this.strip(); + var littleEndian = endian === 'le'; + var res = new ArrayType(reqLength); + + var b, i; + var q = this.clone(); + if (!littleEndian) { + // Assume big-endian + for (i = 0; i < reqLength - byteLength; i++) { + res[i] = 0; + } + + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[reqLength - i - 1] = b; + } + } else { + for (i = 0; !q.isZero(); i++) { + b = q.andln(0xff); + q.iushrn(8); + + res[i] = b; + } + + for (; i < reqLength; i++) { + res[i] = 0; + } + } + + return res; + }; + + if (Math.clz32) { + BN.prototype._countBits = function _countBits (w) { + return 32 - Math.clz32(w); + }; + } else { + BN.prototype._countBits = function _countBits (w) { + var t = w; + var r = 0; + if (t >= 0x1000) { + r += 13; + t >>>= 13; + } + if (t >= 0x40) { + r += 7; + t >>>= 7; + } + if (t >= 0x8) { + r += 4; + t >>>= 4; + } + if (t >= 0x02) { + r += 2; + t >>>= 2; + } + return r + t; + }; + } + + BN.prototype._zeroBits = function _zeroBits (w) { + // Short-cut + if (w === 0) return 26; + + var t = w; + var r = 0; + if ((t & 0x1fff) === 0) { + r += 13; + t >>>= 13; + } + if ((t & 0x7f) === 0) { + r += 7; + t >>>= 7; + } + if ((t & 0xf) === 0) { + r += 4; + t >>>= 4; + } + if ((t & 0x3) === 0) { + r += 2; + t >>>= 2; + } + if ((t & 0x1) === 0) { + r++; + } + return r; + }; + + // Return number of used bits in a BN + BN.prototype.bitLength = function bitLength () { + var w = this.words[this.length - 1]; + var hi = this._countBits(w); + return (this.length - 1) * 26 + hi; + }; + + function toBitArray (num) { + var w = new Array(num.bitLength()); + + for (var bit = 0; bit < w.length; bit++) { + var off = (bit / 26) | 0; + var wbit = bit % 26; + + w[bit] = (num.words[off] & (1 << wbit)) >>> wbit; + } + + return w; + } + + // Number of trailing zero bits + BN.prototype.zeroBits = function zeroBits () { + if (this.isZero()) return 0; + + var r = 0; + for (var i = 0; i < this.length; i++) { + var b = this._zeroBits(this.words[i]); + r += b; + if (b !== 26) break; + } + return r; + }; + + BN.prototype.byteLength = function byteLength () { + return Math.ceil(this.bitLength() / 8); + }; + + BN.prototype.toTwos = function toTwos (width) { + if (this.negative !== 0) { + return this.abs().inotn(width).iaddn(1); + } + return this.clone(); + }; + + BN.prototype.fromTwos = function fromTwos (width) { + if (this.testn(width - 1)) { + return this.notn(width).iaddn(1).ineg(); + } + return this.clone(); + }; + + BN.prototype.isNeg = function isNeg () { + return this.negative !== 0; + }; + + // Return negative clone of `this` + BN.prototype.neg = function neg () { + return this.clone().ineg(); + }; + + BN.prototype.ineg = function ineg () { + if (!this.isZero()) { + this.negative ^= 1; + } + + return this; + }; + + // Or `num` with `this` in-place + BN.prototype.iuor = function iuor (num) { + while (this.length < num.length) { + this.words[this.length++] = 0; + } + + for (var i = 0; i < num.length; i++) { + this.words[i] = this.words[i] | num.words[i]; + } + + return this.strip(); + }; + + BN.prototype.ior = function ior (num) { + assert((this.negative | num.negative) === 0); + return this.iuor(num); + }; + + // Or `num` with `this` + BN.prototype.or = function or (num) { + if (this.length > num.length) return this.clone().ior(num); + return num.clone().ior(this); + }; + + BN.prototype.uor = function uor (num) { + if (this.length > num.length) return this.clone().iuor(num); + return num.clone().iuor(this); + }; + + // And `num` with `this` in-place + BN.prototype.iuand = function iuand (num) { + // b = min-length(num, this) + var b; + if (this.length > num.length) { + b = num; + } else { + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = this.words[i] & num.words[i]; + } + + this.length = b.length; + + return this.strip(); + }; + + BN.prototype.iand = function iand (num) { + assert((this.negative | num.negative) === 0); + return this.iuand(num); + }; + + // And `num` with `this` + BN.prototype.and = function and (num) { + if (this.length > num.length) return this.clone().iand(num); + return num.clone().iand(this); + }; + + BN.prototype.uand = function uand (num) { + if (this.length > num.length) return this.clone().iuand(num); + return num.clone().iuand(this); + }; + + // Xor `num` with `this` in-place + BN.prototype.iuxor = function iuxor (num) { + // a.length > b.length + var a; + var b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + for (var i = 0; i < b.length; i++) { + this.words[i] = a.words[i] ^ b.words[i]; + } + + if (this !== a) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = a.length; + + return this.strip(); + }; + + BN.prototype.ixor = function ixor (num) { + assert((this.negative | num.negative) === 0); + return this.iuxor(num); + }; + + // Xor `num` with `this` + BN.prototype.xor = function xor (num) { + if (this.length > num.length) return this.clone().ixor(num); + return num.clone().ixor(this); + }; + + BN.prototype.uxor = function uxor (num) { + if (this.length > num.length) return this.clone().iuxor(num); + return num.clone().iuxor(this); + }; + + // Not ``this`` with ``width`` bitwidth + BN.prototype.inotn = function inotn (width) { + assert(typeof width === 'number' && width >= 0); + + var bytesNeeded = Math.ceil(width / 26) | 0; + var bitsLeft = width % 26; + + // Extend the buffer with leading zeroes + this._expand(bytesNeeded); + + if (bitsLeft > 0) { + bytesNeeded--; + } + + // Handle complete words + for (var i = 0; i < bytesNeeded; i++) { + this.words[i] = ~this.words[i] & 0x3ffffff; + } + + // Handle the residue + if (bitsLeft > 0) { + this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft)); + } + + // And remove leading zeroes + return this.strip(); + }; + + BN.prototype.notn = function notn (width) { + return this.clone().inotn(width); + }; + + // Set `bit` of `this` + BN.prototype.setn = function setn (bit, val) { + assert(typeof bit === 'number' && bit >= 0); + + var off = (bit / 26) | 0; + var wbit = bit % 26; + + this._expand(off + 1); + + if (val) { + this.words[off] = this.words[off] | (1 << wbit); + } else { + this.words[off] = this.words[off] & ~(1 << wbit); + } + + return this.strip(); + }; + + // Add `num` to `this` in-place + BN.prototype.iadd = function iadd (num) { + var r; + + // negative + positive + if (this.negative !== 0 && num.negative === 0) { + this.negative = 0; + r = this.isub(num); + this.negative ^= 1; + return this._normSign(); + + // positive + negative + } else if (this.negative === 0 && num.negative !== 0) { + num.negative = 0; + r = this.isub(num); + num.negative = 1; + return r._normSign(); + } + + // a.length > b.length + var a, b; + if (this.length > num.length) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) + (b.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + this.words[i] = r & 0x3ffffff; + carry = r >>> 26; + } + + this.length = a.length; + if (carry !== 0) { + this.words[this.length] = carry; + this.length++; + // Copy the rest of the words + } else if (a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + return this; + }; + + // Add `num` to `this` + BN.prototype.add = function add (num) { + var res; + if (num.negative !== 0 && this.negative === 0) { + num.negative = 0; + res = this.sub(num); + num.negative ^= 1; + return res; + } else if (num.negative === 0 && this.negative !== 0) { + this.negative = 0; + res = num.sub(this); + this.negative = 1; + return res; + } + + if (this.length > num.length) return this.clone().iadd(num); + + return num.clone().iadd(this); + }; + + // Subtract `num` from `this` in-place + BN.prototype.isub = function isub (num) { + // this - (-num) = this + num + if (num.negative !== 0) { + num.negative = 0; + var r = this.iadd(num); + num.negative = 1; + return r._normSign(); + + // -this - num = -(this + num) + } else if (this.negative !== 0) { + this.negative = 0; + this.iadd(num); + this.negative = 1; + return this._normSign(); + } + + // At this point both numbers are positive + var cmp = this.cmp(num); + + // Optimization - zeroify + if (cmp === 0) { + this.negative = 0; + this.length = 1; + this.words[0] = 0; + return this; + } + + // a > b + var a, b; + if (cmp > 0) { + a = this; + b = num; + } else { + a = num; + b = this; + } + + var carry = 0; + for (var i = 0; i < b.length; i++) { + r = (a.words[i] | 0) - (b.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + for (; carry !== 0 && i < a.length; i++) { + r = (a.words[i] | 0) + carry; + carry = r >> 26; + this.words[i] = r & 0x3ffffff; + } + + // Copy rest of the words + if (carry === 0 && i < a.length && a !== this) { + for (; i < a.length; i++) { + this.words[i] = a.words[i]; + } + } + + this.length = Math.max(this.length, i); + + if (a !== this) { + this.negative = 1; + } + + return this.strip(); + }; + + // Subtract `num` from `this` + BN.prototype.sub = function sub (num) { + return this.clone().isub(num); + }; + + function smallMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + var len = (self.length + num.length) | 0; + out.length = len; + len = (len - 1) | 0; + + // Peel one iteration (compiler can't do it, because of code complexity) + var a = self.words[0] | 0; + var b = num.words[0] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + var carry = (r / 0x4000000) | 0; + out.words[0] = lo; + + for (var k = 1; k < len; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = carry >>> 26; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = (k - j) | 0; + a = self.words[i] | 0; + b = num.words[j] | 0; + r = a * b + rword; + ncarry += (r / 0x4000000) | 0; + rword = r & 0x3ffffff; + } + out.words[k] = rword | 0; + carry = ncarry | 0; + } + if (carry !== 0) { + out.words[k] = carry | 0; + } else { + out.length--; + } + + return out.strip(); + } + + // TODO(indutny): it may be reasonable to omit it for users who don't need + // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit + // multiplication (like elliptic secp256k1). + var comb10MulTo = function comb10MulTo (self, num, out) { + var a = self.words; + var b = num.words; + var o = out.words; + var c = 0; + var lo; + var mid; + var hi; + var a0 = a[0] | 0; + var al0 = a0 & 0x1fff; + var ah0 = a0 >>> 13; + var a1 = a[1] | 0; + var al1 = a1 & 0x1fff; + var ah1 = a1 >>> 13; + var a2 = a[2] | 0; + var al2 = a2 & 0x1fff; + var ah2 = a2 >>> 13; + var a3 = a[3] | 0; + var al3 = a3 & 0x1fff; + var ah3 = a3 >>> 13; + var a4 = a[4] | 0; + var al4 = a4 & 0x1fff; + var ah4 = a4 >>> 13; + var a5 = a[5] | 0; + var al5 = a5 & 0x1fff; + var ah5 = a5 >>> 13; + var a6 = a[6] | 0; + var al6 = a6 & 0x1fff; + var ah6 = a6 >>> 13; + var a7 = a[7] | 0; + var al7 = a7 & 0x1fff; + var ah7 = a7 >>> 13; + var a8 = a[8] | 0; + var al8 = a8 & 0x1fff; + var ah8 = a8 >>> 13; + var a9 = a[9] | 0; + var al9 = a9 & 0x1fff; + var ah9 = a9 >>> 13; + var b0 = b[0] | 0; + var bl0 = b0 & 0x1fff; + var bh0 = b0 >>> 13; + var b1 = b[1] | 0; + var bl1 = b1 & 0x1fff; + var bh1 = b1 >>> 13; + var b2 = b[2] | 0; + var bl2 = b2 & 0x1fff; + var bh2 = b2 >>> 13; + var b3 = b[3] | 0; + var bl3 = b3 & 0x1fff; + var bh3 = b3 >>> 13; + var b4 = b[4] | 0; + var bl4 = b4 & 0x1fff; + var bh4 = b4 >>> 13; + var b5 = b[5] | 0; + var bl5 = b5 & 0x1fff; + var bh5 = b5 >>> 13; + var b6 = b[6] | 0; + var bl6 = b6 & 0x1fff; + var bh6 = b6 >>> 13; + var b7 = b[7] | 0; + var bl7 = b7 & 0x1fff; + var bh7 = b7 >>> 13; + var b8 = b[8] | 0; + var bl8 = b8 & 0x1fff; + var bh8 = b8 >>> 13; + var b9 = b[9] | 0; + var bl9 = b9 & 0x1fff; + var bh9 = b9 >>> 13; + + out.negative = self.negative ^ num.negative; + out.length = 19; + /* k = 0 */ + lo = Math.imul(al0, bl0); + mid = Math.imul(al0, bh0); + mid = (mid + Math.imul(ah0, bl0)) | 0; + hi = Math.imul(ah0, bh0); + var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0; + w0 &= 0x3ffffff; + /* k = 1 */ + lo = Math.imul(al1, bl0); + mid = Math.imul(al1, bh0); + mid = (mid + Math.imul(ah1, bl0)) | 0; + hi = Math.imul(ah1, bh0); + lo = (lo + Math.imul(al0, bl1)) | 0; + mid = (mid + Math.imul(al0, bh1)) | 0; + mid = (mid + Math.imul(ah0, bl1)) | 0; + hi = (hi + Math.imul(ah0, bh1)) | 0; + var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0; + w1 &= 0x3ffffff; + /* k = 2 */ + lo = Math.imul(al2, bl0); + mid = Math.imul(al2, bh0); + mid = (mid + Math.imul(ah2, bl0)) | 0; + hi = Math.imul(ah2, bh0); + lo = (lo + Math.imul(al1, bl1)) | 0; + mid = (mid + Math.imul(al1, bh1)) | 0; + mid = (mid + Math.imul(ah1, bl1)) | 0; + hi = (hi + Math.imul(ah1, bh1)) | 0; + lo = (lo + Math.imul(al0, bl2)) | 0; + mid = (mid + Math.imul(al0, bh2)) | 0; + mid = (mid + Math.imul(ah0, bl2)) | 0; + hi = (hi + Math.imul(ah0, bh2)) | 0; + var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0; + w2 &= 0x3ffffff; + /* k = 3 */ + lo = Math.imul(al3, bl0); + mid = Math.imul(al3, bh0); + mid = (mid + Math.imul(ah3, bl0)) | 0; + hi = Math.imul(ah3, bh0); + lo = (lo + Math.imul(al2, bl1)) | 0; + mid = (mid + Math.imul(al2, bh1)) | 0; + mid = (mid + Math.imul(ah2, bl1)) | 0; + hi = (hi + Math.imul(ah2, bh1)) | 0; + lo = (lo + Math.imul(al1, bl2)) | 0; + mid = (mid + Math.imul(al1, bh2)) | 0; + mid = (mid + Math.imul(ah1, bl2)) | 0; + hi = (hi + Math.imul(ah1, bh2)) | 0; + lo = (lo + Math.imul(al0, bl3)) | 0; + mid = (mid + Math.imul(al0, bh3)) | 0; + mid = (mid + Math.imul(ah0, bl3)) | 0; + hi = (hi + Math.imul(ah0, bh3)) | 0; + var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0; + w3 &= 0x3ffffff; + /* k = 4 */ + lo = Math.imul(al4, bl0); + mid = Math.imul(al4, bh0); + mid = (mid + Math.imul(ah4, bl0)) | 0; + hi = Math.imul(ah4, bh0); + lo = (lo + Math.imul(al3, bl1)) | 0; + mid = (mid + Math.imul(al3, bh1)) | 0; + mid = (mid + Math.imul(ah3, bl1)) | 0; + hi = (hi + Math.imul(ah3, bh1)) | 0; + lo = (lo + Math.imul(al2, bl2)) | 0; + mid = (mid + Math.imul(al2, bh2)) | 0; + mid = (mid + Math.imul(ah2, bl2)) | 0; + hi = (hi + Math.imul(ah2, bh2)) | 0; + lo = (lo + Math.imul(al1, bl3)) | 0; + mid = (mid + Math.imul(al1, bh3)) | 0; + mid = (mid + Math.imul(ah1, bl3)) | 0; + hi = (hi + Math.imul(ah1, bh3)) | 0; + lo = (lo + Math.imul(al0, bl4)) | 0; + mid = (mid + Math.imul(al0, bh4)) | 0; + mid = (mid + Math.imul(ah0, bl4)) | 0; + hi = (hi + Math.imul(ah0, bh4)) | 0; + var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0; + w4 &= 0x3ffffff; + /* k = 5 */ + lo = Math.imul(al5, bl0); + mid = Math.imul(al5, bh0); + mid = (mid + Math.imul(ah5, bl0)) | 0; + hi = Math.imul(ah5, bh0); + lo = (lo + Math.imul(al4, bl1)) | 0; + mid = (mid + Math.imul(al4, bh1)) | 0; + mid = (mid + Math.imul(ah4, bl1)) | 0; + hi = (hi + Math.imul(ah4, bh1)) | 0; + lo = (lo + Math.imul(al3, bl2)) | 0; + mid = (mid + Math.imul(al3, bh2)) | 0; + mid = (mid + Math.imul(ah3, bl2)) | 0; + hi = (hi + Math.imul(ah3, bh2)) | 0; + lo = (lo + Math.imul(al2, bl3)) | 0; + mid = (mid + Math.imul(al2, bh3)) | 0; + mid = (mid + Math.imul(ah2, bl3)) | 0; + hi = (hi + Math.imul(ah2, bh3)) | 0; + lo = (lo + Math.imul(al1, bl4)) | 0; + mid = (mid + Math.imul(al1, bh4)) | 0; + mid = (mid + Math.imul(ah1, bl4)) | 0; + hi = (hi + Math.imul(ah1, bh4)) | 0; + lo = (lo + Math.imul(al0, bl5)) | 0; + mid = (mid + Math.imul(al0, bh5)) | 0; + mid = (mid + Math.imul(ah0, bl5)) | 0; + hi = (hi + Math.imul(ah0, bh5)) | 0; + var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0; + w5 &= 0x3ffffff; + /* k = 6 */ + lo = Math.imul(al6, bl0); + mid = Math.imul(al6, bh0); + mid = (mid + Math.imul(ah6, bl0)) | 0; + hi = Math.imul(ah6, bh0); + lo = (lo + Math.imul(al5, bl1)) | 0; + mid = (mid + Math.imul(al5, bh1)) | 0; + mid = (mid + Math.imul(ah5, bl1)) | 0; + hi = (hi + Math.imul(ah5, bh1)) | 0; + lo = (lo + Math.imul(al4, bl2)) | 0; + mid = (mid + Math.imul(al4, bh2)) | 0; + mid = (mid + Math.imul(ah4, bl2)) | 0; + hi = (hi + Math.imul(ah4, bh2)) | 0; + lo = (lo + Math.imul(al3, bl3)) | 0; + mid = (mid + Math.imul(al3, bh3)) | 0; + mid = (mid + Math.imul(ah3, bl3)) | 0; + hi = (hi + Math.imul(ah3, bh3)) | 0; + lo = (lo + Math.imul(al2, bl4)) | 0; + mid = (mid + Math.imul(al2, bh4)) | 0; + mid = (mid + Math.imul(ah2, bl4)) | 0; + hi = (hi + Math.imul(ah2, bh4)) | 0; + lo = (lo + Math.imul(al1, bl5)) | 0; + mid = (mid + Math.imul(al1, bh5)) | 0; + mid = (mid + Math.imul(ah1, bl5)) | 0; + hi = (hi + Math.imul(ah1, bh5)) | 0; + lo = (lo + Math.imul(al0, bl6)) | 0; + mid = (mid + Math.imul(al0, bh6)) | 0; + mid = (mid + Math.imul(ah0, bl6)) | 0; + hi = (hi + Math.imul(ah0, bh6)) | 0; + var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0; + w6 &= 0x3ffffff; + /* k = 7 */ + lo = Math.imul(al7, bl0); + mid = Math.imul(al7, bh0); + mid = (mid + Math.imul(ah7, bl0)) | 0; + hi = Math.imul(ah7, bh0); + lo = (lo + Math.imul(al6, bl1)) | 0; + mid = (mid + Math.imul(al6, bh1)) | 0; + mid = (mid + Math.imul(ah6, bl1)) | 0; + hi = (hi + Math.imul(ah6, bh1)) | 0; + lo = (lo + Math.imul(al5, bl2)) | 0; + mid = (mid + Math.imul(al5, bh2)) | 0; + mid = (mid + Math.imul(ah5, bl2)) | 0; + hi = (hi + Math.imul(ah5, bh2)) | 0; + lo = (lo + Math.imul(al4, bl3)) | 0; + mid = (mid + Math.imul(al4, bh3)) | 0; + mid = (mid + Math.imul(ah4, bl3)) | 0; + hi = (hi + Math.imul(ah4, bh3)) | 0; + lo = (lo + Math.imul(al3, bl4)) | 0; + mid = (mid + Math.imul(al3, bh4)) | 0; + mid = (mid + Math.imul(ah3, bl4)) | 0; + hi = (hi + Math.imul(ah3, bh4)) | 0; + lo = (lo + Math.imul(al2, bl5)) | 0; + mid = (mid + Math.imul(al2, bh5)) | 0; + mid = (mid + Math.imul(ah2, bl5)) | 0; + hi = (hi + Math.imul(ah2, bh5)) | 0; + lo = (lo + Math.imul(al1, bl6)) | 0; + mid = (mid + Math.imul(al1, bh6)) | 0; + mid = (mid + Math.imul(ah1, bl6)) | 0; + hi = (hi + Math.imul(ah1, bh6)) | 0; + lo = (lo + Math.imul(al0, bl7)) | 0; + mid = (mid + Math.imul(al0, bh7)) | 0; + mid = (mid + Math.imul(ah0, bl7)) | 0; + hi = (hi + Math.imul(ah0, bh7)) | 0; + var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0; + w7 &= 0x3ffffff; + /* k = 8 */ + lo = Math.imul(al8, bl0); + mid = Math.imul(al8, bh0); + mid = (mid + Math.imul(ah8, bl0)) | 0; + hi = Math.imul(ah8, bh0); + lo = (lo + Math.imul(al7, bl1)) | 0; + mid = (mid + Math.imul(al7, bh1)) | 0; + mid = (mid + Math.imul(ah7, bl1)) | 0; + hi = (hi + Math.imul(ah7, bh1)) | 0; + lo = (lo + Math.imul(al6, bl2)) | 0; + mid = (mid + Math.imul(al6, bh2)) | 0; + mid = (mid + Math.imul(ah6, bl2)) | 0; + hi = (hi + Math.imul(ah6, bh2)) | 0; + lo = (lo + Math.imul(al5, bl3)) | 0; + mid = (mid + Math.imul(al5, bh3)) | 0; + mid = (mid + Math.imul(ah5, bl3)) | 0; + hi = (hi + Math.imul(ah5, bh3)) | 0; + lo = (lo + Math.imul(al4, bl4)) | 0; + mid = (mid + Math.imul(al4, bh4)) | 0; + mid = (mid + Math.imul(ah4, bl4)) | 0; + hi = (hi + Math.imul(ah4, bh4)) | 0; + lo = (lo + Math.imul(al3, bl5)) | 0; + mid = (mid + Math.imul(al3, bh5)) | 0; + mid = (mid + Math.imul(ah3, bl5)) | 0; + hi = (hi + Math.imul(ah3, bh5)) | 0; + lo = (lo + Math.imul(al2, bl6)) | 0; + mid = (mid + Math.imul(al2, bh6)) | 0; + mid = (mid + Math.imul(ah2, bl6)) | 0; + hi = (hi + Math.imul(ah2, bh6)) | 0; + lo = (lo + Math.imul(al1, bl7)) | 0; + mid = (mid + Math.imul(al1, bh7)) | 0; + mid = (mid + Math.imul(ah1, bl7)) | 0; + hi = (hi + Math.imul(ah1, bh7)) | 0; + lo = (lo + Math.imul(al0, bl8)) | 0; + mid = (mid + Math.imul(al0, bh8)) | 0; + mid = (mid + Math.imul(ah0, bl8)) | 0; + hi = (hi + Math.imul(ah0, bh8)) | 0; + var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0; + w8 &= 0x3ffffff; + /* k = 9 */ + lo = Math.imul(al9, bl0); + mid = Math.imul(al9, bh0); + mid = (mid + Math.imul(ah9, bl0)) | 0; + hi = Math.imul(ah9, bh0); + lo = (lo + Math.imul(al8, bl1)) | 0; + mid = (mid + Math.imul(al8, bh1)) | 0; + mid = (mid + Math.imul(ah8, bl1)) | 0; + hi = (hi + Math.imul(ah8, bh1)) | 0; + lo = (lo + Math.imul(al7, bl2)) | 0; + mid = (mid + Math.imul(al7, bh2)) | 0; + mid = (mid + Math.imul(ah7, bl2)) | 0; + hi = (hi + Math.imul(ah7, bh2)) | 0; + lo = (lo + Math.imul(al6, bl3)) | 0; + mid = (mid + Math.imul(al6, bh3)) | 0; + mid = (mid + Math.imul(ah6, bl3)) | 0; + hi = (hi + Math.imul(ah6, bh3)) | 0; + lo = (lo + Math.imul(al5, bl4)) | 0; + mid = (mid + Math.imul(al5, bh4)) | 0; + mid = (mid + Math.imul(ah5, bl4)) | 0; + hi = (hi + Math.imul(ah5, bh4)) | 0; + lo = (lo + Math.imul(al4, bl5)) | 0; + mid = (mid + Math.imul(al4, bh5)) | 0; + mid = (mid + Math.imul(ah4, bl5)) | 0; + hi = (hi + Math.imul(ah4, bh5)) | 0; + lo = (lo + Math.imul(al3, bl6)) | 0; + mid = (mid + Math.imul(al3, bh6)) | 0; + mid = (mid + Math.imul(ah3, bl6)) | 0; + hi = (hi + Math.imul(ah3, bh6)) | 0; + lo = (lo + Math.imul(al2, bl7)) | 0; + mid = (mid + Math.imul(al2, bh7)) | 0; + mid = (mid + Math.imul(ah2, bl7)) | 0; + hi = (hi + Math.imul(ah2, bh7)) | 0; + lo = (lo + Math.imul(al1, bl8)) | 0; + mid = (mid + Math.imul(al1, bh8)) | 0; + mid = (mid + Math.imul(ah1, bl8)) | 0; + hi = (hi + Math.imul(ah1, bh8)) | 0; + lo = (lo + Math.imul(al0, bl9)) | 0; + mid = (mid + Math.imul(al0, bh9)) | 0; + mid = (mid + Math.imul(ah0, bl9)) | 0; + hi = (hi + Math.imul(ah0, bh9)) | 0; + var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0; + w9 &= 0x3ffffff; + /* k = 10 */ + lo = Math.imul(al9, bl1); + mid = Math.imul(al9, bh1); + mid = (mid + Math.imul(ah9, bl1)) | 0; + hi = Math.imul(ah9, bh1); + lo = (lo + Math.imul(al8, bl2)) | 0; + mid = (mid + Math.imul(al8, bh2)) | 0; + mid = (mid + Math.imul(ah8, bl2)) | 0; + hi = (hi + Math.imul(ah8, bh2)) | 0; + lo = (lo + Math.imul(al7, bl3)) | 0; + mid = (mid + Math.imul(al7, bh3)) | 0; + mid = (mid + Math.imul(ah7, bl3)) | 0; + hi = (hi + Math.imul(ah7, bh3)) | 0; + lo = (lo + Math.imul(al6, bl4)) | 0; + mid = (mid + Math.imul(al6, bh4)) | 0; + mid = (mid + Math.imul(ah6, bl4)) | 0; + hi = (hi + Math.imul(ah6, bh4)) | 0; + lo = (lo + Math.imul(al5, bl5)) | 0; + mid = (mid + Math.imul(al5, bh5)) | 0; + mid = (mid + Math.imul(ah5, bl5)) | 0; + hi = (hi + Math.imul(ah5, bh5)) | 0; + lo = (lo + Math.imul(al4, bl6)) | 0; + mid = (mid + Math.imul(al4, bh6)) | 0; + mid = (mid + Math.imul(ah4, bl6)) | 0; + hi = (hi + Math.imul(ah4, bh6)) | 0; + lo = (lo + Math.imul(al3, bl7)) | 0; + mid = (mid + Math.imul(al3, bh7)) | 0; + mid = (mid + Math.imul(ah3, bl7)) | 0; + hi = (hi + Math.imul(ah3, bh7)) | 0; + lo = (lo + Math.imul(al2, bl8)) | 0; + mid = (mid + Math.imul(al2, bh8)) | 0; + mid = (mid + Math.imul(ah2, bl8)) | 0; + hi = (hi + Math.imul(ah2, bh8)) | 0; + lo = (lo + Math.imul(al1, bl9)) | 0; + mid = (mid + Math.imul(al1, bh9)) | 0; + mid = (mid + Math.imul(ah1, bl9)) | 0; + hi = (hi + Math.imul(ah1, bh9)) | 0; + var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0; + w10 &= 0x3ffffff; + /* k = 11 */ + lo = Math.imul(al9, bl2); + mid = Math.imul(al9, bh2); + mid = (mid + Math.imul(ah9, bl2)) | 0; + hi = Math.imul(ah9, bh2); + lo = (lo + Math.imul(al8, bl3)) | 0; + mid = (mid + Math.imul(al8, bh3)) | 0; + mid = (mid + Math.imul(ah8, bl3)) | 0; + hi = (hi + Math.imul(ah8, bh3)) | 0; + lo = (lo + Math.imul(al7, bl4)) | 0; + mid = (mid + Math.imul(al7, bh4)) | 0; + mid = (mid + Math.imul(ah7, bl4)) | 0; + hi = (hi + Math.imul(ah7, bh4)) | 0; + lo = (lo + Math.imul(al6, bl5)) | 0; + mid = (mid + Math.imul(al6, bh5)) | 0; + mid = (mid + Math.imul(ah6, bl5)) | 0; + hi = (hi + Math.imul(ah6, bh5)) | 0; + lo = (lo + Math.imul(al5, bl6)) | 0; + mid = (mid + Math.imul(al5, bh6)) | 0; + mid = (mid + Math.imul(ah5, bl6)) | 0; + hi = (hi + Math.imul(ah5, bh6)) | 0; + lo = (lo + Math.imul(al4, bl7)) | 0; + mid = (mid + Math.imul(al4, bh7)) | 0; + mid = (mid + Math.imul(ah4, bl7)) | 0; + hi = (hi + Math.imul(ah4, bh7)) | 0; + lo = (lo + Math.imul(al3, bl8)) | 0; + mid = (mid + Math.imul(al3, bh8)) | 0; + mid = (mid + Math.imul(ah3, bl8)) | 0; + hi = (hi + Math.imul(ah3, bh8)) | 0; + lo = (lo + Math.imul(al2, bl9)) | 0; + mid = (mid + Math.imul(al2, bh9)) | 0; + mid = (mid + Math.imul(ah2, bl9)) | 0; + hi = (hi + Math.imul(ah2, bh9)) | 0; + var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0; + w11 &= 0x3ffffff; + /* k = 12 */ + lo = Math.imul(al9, bl3); + mid = Math.imul(al9, bh3); + mid = (mid + Math.imul(ah9, bl3)) | 0; + hi = Math.imul(ah9, bh3); + lo = (lo + Math.imul(al8, bl4)) | 0; + mid = (mid + Math.imul(al8, bh4)) | 0; + mid = (mid + Math.imul(ah8, bl4)) | 0; + hi = (hi + Math.imul(ah8, bh4)) | 0; + lo = (lo + Math.imul(al7, bl5)) | 0; + mid = (mid + Math.imul(al7, bh5)) | 0; + mid = (mid + Math.imul(ah7, bl5)) | 0; + hi = (hi + Math.imul(ah7, bh5)) | 0; + lo = (lo + Math.imul(al6, bl6)) | 0; + mid = (mid + Math.imul(al6, bh6)) | 0; + mid = (mid + Math.imul(ah6, bl6)) | 0; + hi = (hi + Math.imul(ah6, bh6)) | 0; + lo = (lo + Math.imul(al5, bl7)) | 0; + mid = (mid + Math.imul(al5, bh7)) | 0; + mid = (mid + Math.imul(ah5, bl7)) | 0; + hi = (hi + Math.imul(ah5, bh7)) | 0; + lo = (lo + Math.imul(al4, bl8)) | 0; + mid = (mid + Math.imul(al4, bh8)) | 0; + mid = (mid + Math.imul(ah4, bl8)) | 0; + hi = (hi + Math.imul(ah4, bh8)) | 0; + lo = (lo + Math.imul(al3, bl9)) | 0; + mid = (mid + Math.imul(al3, bh9)) | 0; + mid = (mid + Math.imul(ah3, bl9)) | 0; + hi = (hi + Math.imul(ah3, bh9)) | 0; + var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0; + w12 &= 0x3ffffff; + /* k = 13 */ + lo = Math.imul(al9, bl4); + mid = Math.imul(al9, bh4); + mid = (mid + Math.imul(ah9, bl4)) | 0; + hi = Math.imul(ah9, bh4); + lo = (lo + Math.imul(al8, bl5)) | 0; + mid = (mid + Math.imul(al8, bh5)) | 0; + mid = (mid + Math.imul(ah8, bl5)) | 0; + hi = (hi + Math.imul(ah8, bh5)) | 0; + lo = (lo + Math.imul(al7, bl6)) | 0; + mid = (mid + Math.imul(al7, bh6)) | 0; + mid = (mid + Math.imul(ah7, bl6)) | 0; + hi = (hi + Math.imul(ah7, bh6)) | 0; + lo = (lo + Math.imul(al6, bl7)) | 0; + mid = (mid + Math.imul(al6, bh7)) | 0; + mid = (mid + Math.imul(ah6, bl7)) | 0; + hi = (hi + Math.imul(ah6, bh7)) | 0; + lo = (lo + Math.imul(al5, bl8)) | 0; + mid = (mid + Math.imul(al5, bh8)) | 0; + mid = (mid + Math.imul(ah5, bl8)) | 0; + hi = (hi + Math.imul(ah5, bh8)) | 0; + lo = (lo + Math.imul(al4, bl9)) | 0; + mid = (mid + Math.imul(al4, bh9)) | 0; + mid = (mid + Math.imul(ah4, bl9)) | 0; + hi = (hi + Math.imul(ah4, bh9)) | 0; + var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0; + w13 &= 0x3ffffff; + /* k = 14 */ + lo = Math.imul(al9, bl5); + mid = Math.imul(al9, bh5); + mid = (mid + Math.imul(ah9, bl5)) | 0; + hi = Math.imul(ah9, bh5); + lo = (lo + Math.imul(al8, bl6)) | 0; + mid = (mid + Math.imul(al8, bh6)) | 0; + mid = (mid + Math.imul(ah8, bl6)) | 0; + hi = (hi + Math.imul(ah8, bh6)) | 0; + lo = (lo + Math.imul(al7, bl7)) | 0; + mid = (mid + Math.imul(al7, bh7)) | 0; + mid = (mid + Math.imul(ah7, bl7)) | 0; + hi = (hi + Math.imul(ah7, bh7)) | 0; + lo = (lo + Math.imul(al6, bl8)) | 0; + mid = (mid + Math.imul(al6, bh8)) | 0; + mid = (mid + Math.imul(ah6, bl8)) | 0; + hi = (hi + Math.imul(ah6, bh8)) | 0; + lo = (lo + Math.imul(al5, bl9)) | 0; + mid = (mid + Math.imul(al5, bh9)) | 0; + mid = (mid + Math.imul(ah5, bl9)) | 0; + hi = (hi + Math.imul(ah5, bh9)) | 0; + var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0; + w14 &= 0x3ffffff; + /* k = 15 */ + lo = Math.imul(al9, bl6); + mid = Math.imul(al9, bh6); + mid = (mid + Math.imul(ah9, bl6)) | 0; + hi = Math.imul(ah9, bh6); + lo = (lo + Math.imul(al8, bl7)) | 0; + mid = (mid + Math.imul(al8, bh7)) | 0; + mid = (mid + Math.imul(ah8, bl7)) | 0; + hi = (hi + Math.imul(ah8, bh7)) | 0; + lo = (lo + Math.imul(al7, bl8)) | 0; + mid = (mid + Math.imul(al7, bh8)) | 0; + mid = (mid + Math.imul(ah7, bl8)) | 0; + hi = (hi + Math.imul(ah7, bh8)) | 0; + lo = (lo + Math.imul(al6, bl9)) | 0; + mid = (mid + Math.imul(al6, bh9)) | 0; + mid = (mid + Math.imul(ah6, bl9)) | 0; + hi = (hi + Math.imul(ah6, bh9)) | 0; + var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0; + w15 &= 0x3ffffff; + /* k = 16 */ + lo = Math.imul(al9, bl7); + mid = Math.imul(al9, bh7); + mid = (mid + Math.imul(ah9, bl7)) | 0; + hi = Math.imul(ah9, bh7); + lo = (lo + Math.imul(al8, bl8)) | 0; + mid = (mid + Math.imul(al8, bh8)) | 0; + mid = (mid + Math.imul(ah8, bl8)) | 0; + hi = (hi + Math.imul(ah8, bh8)) | 0; + lo = (lo + Math.imul(al7, bl9)) | 0; + mid = (mid + Math.imul(al7, bh9)) | 0; + mid = (mid + Math.imul(ah7, bl9)) | 0; + hi = (hi + Math.imul(ah7, bh9)) | 0; + var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0; + w16 &= 0x3ffffff; + /* k = 17 */ + lo = Math.imul(al9, bl8); + mid = Math.imul(al9, bh8); + mid = (mid + Math.imul(ah9, bl8)) | 0; + hi = Math.imul(ah9, bh8); + lo = (lo + Math.imul(al8, bl9)) | 0; + mid = (mid + Math.imul(al8, bh9)) | 0; + mid = (mid + Math.imul(ah8, bl9)) | 0; + hi = (hi + Math.imul(ah8, bh9)) | 0; + var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0; + w17 &= 0x3ffffff; + /* k = 18 */ + lo = Math.imul(al9, bl9); + mid = Math.imul(al9, bh9); + mid = (mid + Math.imul(ah9, bl9)) | 0; + hi = Math.imul(ah9, bh9); + var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0; + c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0; + w18 &= 0x3ffffff; + o[0] = w0; + o[1] = w1; + o[2] = w2; + o[3] = w3; + o[4] = w4; + o[5] = w5; + o[6] = w6; + o[7] = w7; + o[8] = w8; + o[9] = w9; + o[10] = w10; + o[11] = w11; + o[12] = w12; + o[13] = w13; + o[14] = w14; + o[15] = w15; + o[16] = w16; + o[17] = w17; + o[18] = w18; + if (c !== 0) { + o[19] = c; + out.length++; + } + return out; + }; + + // Polyfill comb + if (!Math.imul) { + comb10MulTo = smallMulTo; + } + + function bigMulTo (self, num, out) { + out.negative = num.negative ^ self.negative; + out.length = self.length + num.length; + + var carry = 0; + var hncarry = 0; + for (var k = 0; k < out.length - 1; k++) { + // Sum all words with the same `i + j = k` and accumulate `ncarry`, + // note that ncarry could be >= 0x3ffffff + var ncarry = hncarry; + hncarry = 0; + var rword = carry & 0x3ffffff; + var maxJ = Math.min(k, num.length - 1); + for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) { + var i = k - j; + var a = self.words[i] | 0; + var b = num.words[j] | 0; + var r = a * b; + + var lo = r & 0x3ffffff; + ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0; + lo = (lo + rword) | 0; + rword = lo & 0x3ffffff; + ncarry = (ncarry + (lo >>> 26)) | 0; + + hncarry += ncarry >>> 26; + ncarry &= 0x3ffffff; + } + out.words[k] = rword; + carry = ncarry; + ncarry = hncarry; + } + if (carry !== 0) { + out.words[k] = carry; + } else { + out.length--; + } + + return out.strip(); + } + + function jumboMulTo (self, num, out) { + var fftm = new FFTM(); + return fftm.mulp(self, num, out); + } + + BN.prototype.mulTo = function mulTo (num, out) { + var res; + var len = this.length + num.length; + if (this.length === 10 && num.length === 10) { + res = comb10MulTo(this, num, out); + } else if (len < 63) { + res = smallMulTo(this, num, out); + } else if (len < 1024) { + res = bigMulTo(this, num, out); + } else { + res = jumboMulTo(this, num, out); + } + + return res; + }; + + // Cooley-Tukey algorithm for FFT + // slightly revisited to rely on looping instead of recursion + + function FFTM (x, y) { + this.x = x; + this.y = y; + } + + FFTM.prototype.makeRBT = function makeRBT (N) { + var t = new Array(N); + var l = BN.prototype._countBits(N) - 1; + for (var i = 0; i < N; i++) { + t[i] = this.revBin(i, l, N); + } + + return t; + }; + + // Returns binary-reversed representation of `x` + FFTM.prototype.revBin = function revBin (x, l, N) { + if (x === 0 || x === N - 1) return x; + + var rb = 0; + for (var i = 0; i < l; i++) { + rb |= (x & 1) << (l - i - 1); + x >>= 1; + } + + return rb; + }; + + // Performs "tweedling" phase, therefore 'emulating' + // behaviour of the recursive algorithm + FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) { + for (var i = 0; i < N; i++) { + rtws[i] = rws[rbt[i]]; + itws[i] = iws[rbt[i]]; + } + }; + + FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) { + this.permute(rbt, rws, iws, rtws, itws, N); + + for (var s = 1; s < N; s <<= 1) { + var l = s << 1; + + var rtwdf = Math.cos(2 * Math.PI / l); + var itwdf = Math.sin(2 * Math.PI / l); + + for (var p = 0; p < N; p += l) { + var rtwdf_ = rtwdf; + var itwdf_ = itwdf; + + for (var j = 0; j < s; j++) { + var re = rtws[p + j]; + var ie = itws[p + j]; + + var ro = rtws[p + j + s]; + var io = itws[p + j + s]; + + var rx = rtwdf_ * ro - itwdf_ * io; + + io = rtwdf_ * io + itwdf_ * ro; + ro = rx; + + rtws[p + j] = re + ro; + itws[p + j] = ie + io; + + rtws[p + j + s] = re - ro; + itws[p + j + s] = ie - io; + + /* jshint maxdepth : false */ + if (j !== l) { + rx = rtwdf * rtwdf_ - itwdf * itwdf_; + + itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_; + rtwdf_ = rx; + } + } + } + } + }; + + FFTM.prototype.guessLen13b = function guessLen13b (n, m) { + var N = Math.max(m, n) | 1; + var odd = N & 1; + var i = 0; + for (N = N / 2 | 0; N; N = N >>> 1) { + i++; + } + + return 1 << i + 1 + odd; + }; + + FFTM.prototype.conjugate = function conjugate (rws, iws, N) { + if (N <= 1) return; + + for (var i = 0; i < N / 2; i++) { + var t = rws[i]; + + rws[i] = rws[N - i - 1]; + rws[N - i - 1] = t; + + t = iws[i]; + + iws[i] = -iws[N - i - 1]; + iws[N - i - 1] = -t; + } + }; + + FFTM.prototype.normalize13b = function normalize13b (ws, N) { + var carry = 0; + for (var i = 0; i < N / 2; i++) { + var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + + Math.round(ws[2 * i] / N) + + carry; + + ws[i] = w & 0x3ffffff; + + if (w < 0x4000000) { + carry = 0; + } else { + carry = w / 0x4000000 | 0; + } + } + + return ws; + }; + + FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) { + var carry = 0; + for (var i = 0; i < len; i++) { + carry = carry + (ws[i] | 0); + + rws[2 * i] = carry & 0x1fff; carry = carry >>> 13; + rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13; + } + + // Pad with zeroes + for (i = 2 * len; i < N; ++i) { + rws[i] = 0; + } + + assert(carry === 0); + assert((carry & ~0x1fff) === 0); + }; + + FFTM.prototype.stub = function stub (N) { + var ph = new Array(N); + for (var i = 0; i < N; i++) { + ph[i] = 0; + } + + return ph; + }; + + FFTM.prototype.mulp = function mulp (x, y, out) { + var N = 2 * this.guessLen13b(x.length, y.length); + + var rbt = this.makeRBT(N); + + var _ = this.stub(N); + + var rws = new Array(N); + var rwst = new Array(N); + var iwst = new Array(N); + + var nrws = new Array(N); + var nrwst = new Array(N); + var niwst = new Array(N); + + var rmws = out.words; + rmws.length = N; + + this.convert13b(x.words, x.length, rws, N); + this.convert13b(y.words, y.length, nrws, N); + + this.transform(rws, _, rwst, iwst, N, rbt); + this.transform(nrws, _, nrwst, niwst, N, rbt); + + for (var i = 0; i < N; i++) { + var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i]; + iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i]; + rwst[i] = rx; + } + + this.conjugate(rwst, iwst, N); + this.transform(rwst, iwst, rmws, _, N, rbt); + this.conjugate(rmws, _, N); + this.normalize13b(rmws, N); + + out.negative = x.negative ^ y.negative; + out.length = x.length + y.length; + return out.strip(); + }; + + // Multiply `this` by `num` + BN.prototype.mul = function mul (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return this.mulTo(num, out); + }; + + // Multiply employing FFT + BN.prototype.mulf = function mulf (num) { + var out = new BN(null); + out.words = new Array(this.length + num.length); + return jumboMulTo(this, num, out); + }; + + // In-place Multiplication + BN.prototype.imul = function imul (num) { + return this.clone().mulTo(num, this); + }; + + BN.prototype.imuln = function imuln (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + + // Carry + var carry = 0; + for (var i = 0; i < this.length; i++) { + var w = (this.words[i] | 0) * num; + var lo = (w & 0x3ffffff) + (carry & 0x3ffffff); + carry >>= 26; + carry += (w / 0x4000000) | 0; + // NOTE: lo is 27bit maximum + carry += lo >>> 26; + this.words[i] = lo & 0x3ffffff; + } + + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + + return this; + }; + + BN.prototype.muln = function muln (num) { + return this.clone().imuln(num); + }; + + // `this` * `this` + BN.prototype.sqr = function sqr () { + return this.mul(this); + }; + + // `this` * `this` in-place + BN.prototype.isqr = function isqr () { + return this.imul(this.clone()); + }; + + // Math.pow(`this`, `num`) + BN.prototype.pow = function pow (num) { + var w = toBitArray(num); + if (w.length === 0) return new BN(1); + + // Skip leading zeroes + var res = this; + for (var i = 0; i < w.length; i++, res = res.sqr()) { + if (w[i] !== 0) break; + } + + if (++i < w.length) { + for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) { + if (w[i] === 0) continue; + + res = res.mul(q); + } + } + + return res; + }; + + // Shift-left in-place + BN.prototype.iushln = function iushln (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r); + var i; + + if (r !== 0) { + var carry = 0; + + for (i = 0; i < this.length; i++) { + var newCarry = this.words[i] & carryMask; + var c = ((this.words[i] | 0) - newCarry) << r; + this.words[i] = c | carry; + carry = newCarry >>> (26 - r); + } + + if (carry) { + this.words[i] = carry; + this.length++; + } + } + + if (s !== 0) { + for (i = this.length - 1; i >= 0; i--) { + this.words[i + s] = this.words[i]; + } + + for (i = 0; i < s; i++) { + this.words[i] = 0; + } + + this.length += s; + } + + return this.strip(); + }; + + BN.prototype.ishln = function ishln (bits) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushln(bits); + }; + + // Shift-right in-place + // NOTE: `hint` is a lowest bit before trailing zeroes + // NOTE: if `extended` is present - it will be filled with destroyed bits + BN.prototype.iushrn = function iushrn (bits, hint, extended) { + assert(typeof bits === 'number' && bits >= 0); + var h; + if (hint) { + h = (hint - (hint % 26)) / 26; + } else { + h = 0; + } + + var r = bits % 26; + var s = Math.min((bits - r) / 26, this.length); + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + var maskedWords = extended; + + h -= s; + h = Math.max(0, h); + + // Extended mode, copy masked part + if (maskedWords) { + for (var i = 0; i < s; i++) { + maskedWords.words[i] = this.words[i]; + } + maskedWords.length = s; + } + + if (s === 0) { + // No-op, we should not move anything at all + } else if (this.length > s) { + this.length -= s; + for (i = 0; i < this.length; i++) { + this.words[i] = this.words[i + s]; + } + } else { + this.words[0] = 0; + this.length = 1; + } + + var carry = 0; + for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) { + var word = this.words[i] | 0; + this.words[i] = (carry << (26 - r)) | (word >>> r); + carry = word & mask; + } + + // Push carried bits as a mask + if (maskedWords && carry !== 0) { + maskedWords.words[maskedWords.length++] = carry; + } + + if (this.length === 0) { + this.words[0] = 0; + this.length = 1; + } + + return this.strip(); + }; + + BN.prototype.ishrn = function ishrn (bits, hint, extended) { + // TODO(indutny): implement me + assert(this.negative === 0); + return this.iushrn(bits, hint, extended); + }; + + // Shift-left + BN.prototype.shln = function shln (bits) { + return this.clone().ishln(bits); + }; + + BN.prototype.ushln = function ushln (bits) { + return this.clone().iushln(bits); + }; + + // Shift-right + BN.prototype.shrn = function shrn (bits) { + return this.clone().ishrn(bits); + }; + + BN.prototype.ushrn = function ushrn (bits) { + return this.clone().iushrn(bits); + }; + + // Test if n bit is set + BN.prototype.testn = function testn (bit) { + assert(typeof bit === 'number' && bit >= 0); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) return false; + + // Check bit and return + var w = this.words[s]; + + return !!(w & q); + }; + + // Return only lowers bits of number (in-place) + BN.prototype.imaskn = function imaskn (bits) { + assert(typeof bits === 'number' && bits >= 0); + var r = bits % 26; + var s = (bits - r) / 26; + + assert(this.negative === 0, 'imaskn works only with positive numbers'); + + if (this.length <= s) { + return this; + } + + if (r !== 0) { + s++; + } + this.length = Math.min(s, this.length); + + if (r !== 0) { + var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r); + this.words[this.length - 1] &= mask; + } + + return this.strip(); + }; + + // Return only lowers bits of number + BN.prototype.maskn = function maskn (bits) { + return this.clone().imaskn(bits); + }; + + // Add plain number `num` to `this` + BN.prototype.iaddn = function iaddn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.isubn(-num); + + // Possible sign change + if (this.negative !== 0) { + if (this.length === 1 && (this.words[0] | 0) < num) { + this.words[0] = num - (this.words[0] | 0); + this.negative = 0; + return this; + } + + this.negative = 0; + this.isubn(num); + this.negative = 1; + return this; + } + + // Add without checks + return this._iaddn(num); + }; + + BN.prototype._iaddn = function _iaddn (num) { + this.words[0] += num; + + // Carry + for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) { + this.words[i] -= 0x4000000; + if (i === this.length - 1) { + this.words[i + 1] = 1; + } else { + this.words[i + 1]++; + } + } + this.length = Math.max(this.length, i + 1); + + return this; + }; + + // Subtract plain number `num` from `this` + BN.prototype.isubn = function isubn (num) { + assert(typeof num === 'number'); + assert(num < 0x4000000); + if (num < 0) return this.iaddn(-num); + + if (this.negative !== 0) { + this.negative = 0; + this.iaddn(num); + this.negative = 1; + return this; + } + + this.words[0] -= num; + + if (this.length === 1 && this.words[0] < 0) { + this.words[0] = -this.words[0]; + this.negative = 1; + } else { + // Carry + for (var i = 0; i < this.length && this.words[i] < 0; i++) { + this.words[i] += 0x4000000; + this.words[i + 1] -= 1; + } + } + + return this.strip(); + }; + + BN.prototype.addn = function addn (num) { + return this.clone().iaddn(num); + }; + + BN.prototype.subn = function subn (num) { + return this.clone().isubn(num); + }; + + BN.prototype.iabs = function iabs () { + this.negative = 0; + + return this; + }; + + BN.prototype.abs = function abs () { + return this.clone().iabs(); + }; + + BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) { + var len = num.length + shift; + var i; + + this._expand(len); + + var w; + var carry = 0; + for (i = 0; i < num.length; i++) { + w = (this.words[i + shift] | 0) + carry; + var right = (num.words[i] | 0) * mul; + w -= right & 0x3ffffff; + carry = (w >> 26) - ((right / 0x4000000) | 0); + this.words[i + shift] = w & 0x3ffffff; + } + for (; i < this.length - shift; i++) { + w = (this.words[i + shift] | 0) + carry; + carry = w >> 26; + this.words[i + shift] = w & 0x3ffffff; + } + + if (carry === 0) return this.strip(); + + // Subtraction overflow + assert(carry === -1); + carry = 0; + for (i = 0; i < this.length; i++) { + w = -(this.words[i] | 0) + carry; + carry = w >> 26; + this.words[i] = w & 0x3ffffff; + } + this.negative = 1; + + return this.strip(); + }; + + BN.prototype._wordDiv = function _wordDiv (num, mode) { + var shift = this.length - num.length; + + var a = this.clone(); + var b = num; + + // Normalize + var bhi = b.words[b.length - 1] | 0; + var bhiBits = this._countBits(bhi); + shift = 26 - bhiBits; + if (shift !== 0) { + b = b.ushln(shift); + a.iushln(shift); + bhi = b.words[b.length - 1] | 0; + } + + // Initialize quotient + var m = a.length - b.length; + var q; + + if (mode !== 'mod') { + q = new BN(null); + q.length = m + 1; + q.words = new Array(q.length); + for (var i = 0; i < q.length; i++) { + q.words[i] = 0; + } + } + + var diff = a.clone()._ishlnsubmul(b, 1, m); + if (diff.negative === 0) { + a = diff; + if (q) { + q.words[m] = 1; + } + } + + for (var j = m - 1; j >= 0; j--) { + var qj = (a.words[b.length + j] | 0) * 0x4000000 + + (a.words[b.length + j - 1] | 0); + + // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max + // (0x7ffffff) + qj = Math.min((qj / bhi) | 0, 0x3ffffff); + + a._ishlnsubmul(b, qj, j); + while (a.negative !== 0) { + qj--; + a.negative = 0; + a._ishlnsubmul(b, 1, j); + if (!a.isZero()) { + a.negative ^= 1; + } + } + if (q) { + q.words[j] = qj; + } + } + if (q) { + q.strip(); + } + a.strip(); + + // Denormalize + if (mode !== 'div' && shift !== 0) { + a.iushrn(shift); + } + + return { + div: q || null, + mod: a + }; + }; + + // NOTE: 1) `mode` can be set to `mod` to request mod only, + // to `div` to request div only, or be absent to + // request both div & mod + // 2) `positive` is true if unsigned mod is requested + BN.prototype.divmod = function divmod (num, mode, positive) { + assert(!num.isZero()); + + if (this.isZero()) { + return { + div: new BN(0), + mod: new BN(0) + }; + } + + var div, mod, res; + if (this.negative !== 0 && num.negative === 0) { + res = this.neg().divmod(num, mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.iadd(num); + } + } + + return { + div: div, + mod: mod + }; + } + + if (this.negative === 0 && num.negative !== 0) { + res = this.divmod(num.neg(), mode); + + if (mode !== 'mod') { + div = res.div.neg(); + } + + return { + div: div, + mod: res.mod + }; + } + + if ((this.negative & num.negative) !== 0) { + res = this.neg().divmod(num.neg(), mode); + + if (mode !== 'div') { + mod = res.mod.neg(); + if (positive && mod.negative !== 0) { + mod.isub(num); + } + } + + return { + div: res.div, + mod: mod + }; + } + + // Both numbers are positive at this point + + // Strip both numbers to approximate shift value + if (num.length > this.length || this.cmp(num) < 0) { + return { + div: new BN(0), + mod: this + }; + } + + // Very short reduction + if (num.length === 1) { + if (mode === 'div') { + return { + div: this.divn(num.words[0]), + mod: null + }; + } + + if (mode === 'mod') { + return { + div: null, + mod: new BN(this.modn(num.words[0])) + }; + } + + return { + div: this.divn(num.words[0]), + mod: new BN(this.modn(num.words[0])) + }; + } + + return this._wordDiv(num, mode); + }; + + // Find `this` / `num` + BN.prototype.div = function div (num) { + return this.divmod(num, 'div', false).div; + }; + + // Find `this` % `num` + BN.prototype.mod = function mod (num) { + return this.divmod(num, 'mod', false).mod; + }; + + BN.prototype.umod = function umod (num) { + return this.divmod(num, 'mod', true).mod; + }; + + // Find Round(`this` / `num`) + BN.prototype.divRound = function divRound (num) { + var dm = this.divmod(num); + + // Fast case - exact division + if (dm.mod.isZero()) return dm.div; + + var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod; + + var half = num.ushrn(1); + var r2 = num.andln(1); + var cmp = mod.cmp(half); + + // Round down + if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div; + + // Round up + return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1); + }; + + BN.prototype.modn = function modn (num) { + assert(num <= 0x3ffffff); + var p = (1 << 26) % num; + + var acc = 0; + for (var i = this.length - 1; i >= 0; i--) { + acc = (p * acc + (this.words[i] | 0)) % num; + } + + return acc; + }; + + // In-place division by number + BN.prototype.idivn = function idivn (num) { + assert(num <= 0x3ffffff); + + var carry = 0; + for (var i = this.length - 1; i >= 0; i--) { + var w = (this.words[i] | 0) + carry * 0x4000000; + this.words[i] = (w / num) | 0; + carry = w % num; + } + + return this.strip(); + }; + + BN.prototype.divn = function divn (num) { + return this.clone().idivn(num); + }; + + BN.prototype.egcd = function egcd (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var x = this; + var y = p.clone(); + + if (x.negative !== 0) { + x = x.umod(p); + } else { + x = x.clone(); + } + + // A * x + B * y = x + var A = new BN(1); + var B = new BN(0); + + // C * x + D * y = y + var C = new BN(0); + var D = new BN(1); + + var g = 0; + + while (x.isEven() && y.isEven()) { + x.iushrn(1); + y.iushrn(1); + ++g; + } + + var yp = y.clone(); + var xp = x.clone(); + + while (!x.isZero()) { + for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + x.iushrn(i); + while (i-- > 0) { + if (A.isOdd() || B.isOdd()) { + A.iadd(yp); + B.isub(xp); + } + + A.iushrn(1); + B.iushrn(1); + } + } + + for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + y.iushrn(j); + while (j-- > 0) { + if (C.isOdd() || D.isOdd()) { + C.iadd(yp); + D.isub(xp); + } + + C.iushrn(1); + D.iushrn(1); + } + } + + if (x.cmp(y) >= 0) { + x.isub(y); + A.isub(C); + B.isub(D); + } else { + y.isub(x); + C.isub(A); + D.isub(B); + } + } + + return { + a: C, + b: D, + gcd: y.iushln(g) + }; + }; + + // This is reduced incarnation of the binary EEA + // above, designated to invert members of the + // _prime_ fields F(p) at a maximal speed + BN.prototype._invmp = function _invmp (p) { + assert(p.negative === 0); + assert(!p.isZero()); + + var a = this; + var b = p.clone(); + + if (a.negative !== 0) { + a = a.umod(p); + } else { + a = a.clone(); + } + + var x1 = new BN(1); + var x2 = new BN(0); + + var delta = b.clone(); + + while (a.cmpn(1) > 0 && b.cmpn(1) > 0) { + for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1); + if (i > 0) { + a.iushrn(i); + while (i-- > 0) { + if (x1.isOdd()) { + x1.iadd(delta); + } + + x1.iushrn(1); + } + } + + for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1); + if (j > 0) { + b.iushrn(j); + while (j-- > 0) { + if (x2.isOdd()) { + x2.iadd(delta); + } + + x2.iushrn(1); + } + } + + if (a.cmp(b) >= 0) { + a.isub(b); + x1.isub(x2); + } else { + b.isub(a); + x2.isub(x1); + } + } + + var res; + if (a.cmpn(1) === 0) { + res = x1; + } else { + res = x2; + } + + if (res.cmpn(0) < 0) { + res.iadd(p); + } + + return res; + }; + + BN.prototype.gcd = function gcd (num) { + if (this.isZero()) return num.abs(); + if (num.isZero()) return this.abs(); + + var a = this.clone(); + var b = num.clone(); + a.negative = 0; + b.negative = 0; + + // Remove common factor of two + for (var shift = 0; a.isEven() && b.isEven(); shift++) { + a.iushrn(1); + b.iushrn(1); + } + + do { + while (a.isEven()) { + a.iushrn(1); + } + while (b.isEven()) { + b.iushrn(1); + } + + var r = a.cmp(b); + if (r < 0) { + // Swap `a` and `b` to make `a` always bigger than `b` + var t = a; + a = b; + b = t; + } else if (r === 0 || b.cmpn(1) === 0) { + break; + } + + a.isub(b); + } while (true); + + return b.iushln(shift); + }; + + // Invert number in the field F(num) + BN.prototype.invm = function invm (num) { + return this.egcd(num).a.umod(num); + }; + + BN.prototype.isEven = function isEven () { + return (this.words[0] & 1) === 0; + }; + + BN.prototype.isOdd = function isOdd () { + return (this.words[0] & 1) === 1; + }; + + // And first word and num + BN.prototype.andln = function andln (num) { + return this.words[0] & num; + }; + + // Increment at the bit position in-line + BN.prototype.bincn = function bincn (bit) { + assert(typeof bit === 'number'); + var r = bit % 26; + var s = (bit - r) / 26; + var q = 1 << r; + + // Fast case: bit is much higher than all existing words + if (this.length <= s) { + this._expand(s + 1); + this.words[s] |= q; + return this; + } + + // Add bit and propagate, if needed + var carry = q; + for (var i = s; carry !== 0 && i < this.length; i++) { + var w = this.words[i] | 0; + w += carry; + carry = w >>> 26; + w &= 0x3ffffff; + this.words[i] = w; + } + if (carry !== 0) { + this.words[i] = carry; + this.length++; + } + return this; + }; + + BN.prototype.isZero = function isZero () { + return this.length === 1 && this.words[0] === 0; + }; + + BN.prototype.cmpn = function cmpn (num) { + var negative = num < 0; + + if (this.negative !== 0 && !negative) return -1; + if (this.negative === 0 && negative) return 1; + + this.strip(); + + var res; + if (this.length > 1) { + res = 1; + } else { + if (negative) { + num = -num; + } + + assert(num <= 0x3ffffff, 'Number is too big'); + + var w = this.words[0] | 0; + res = w === num ? 0 : w < num ? -1 : 1; + } + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Compare two numbers and return: + // 1 - if `this` > `num` + // 0 - if `this` == `num` + // -1 - if `this` < `num` + BN.prototype.cmp = function cmp (num) { + if (this.negative !== 0 && num.negative === 0) return -1; + if (this.negative === 0 && num.negative !== 0) return 1; + + var res = this.ucmp(num); + if (this.negative !== 0) return -res | 0; + return res; + }; + + // Unsigned comparison + BN.prototype.ucmp = function ucmp (num) { + // At this point both numbers have the same sign + if (this.length > num.length) return 1; + if (this.length < num.length) return -1; + + var res = 0; + for (var i = this.length - 1; i >= 0; i--) { + var a = this.words[i] | 0; + var b = num.words[i] | 0; + + if (a === b) continue; + if (a < b) { + res = -1; + } else if (a > b) { + res = 1; + } + break; + } + return res; + }; + + BN.prototype.gtn = function gtn (num) { + return this.cmpn(num) === 1; + }; + + BN.prototype.gt = function gt (num) { + return this.cmp(num) === 1; + }; + + BN.prototype.gten = function gten (num) { + return this.cmpn(num) >= 0; + }; + + BN.prototype.gte = function gte (num) { + return this.cmp(num) >= 0; + }; + + BN.prototype.ltn = function ltn (num) { + return this.cmpn(num) === -1; + }; + + BN.prototype.lt = function lt (num) { + return this.cmp(num) === -1; + }; + + BN.prototype.lten = function lten (num) { + return this.cmpn(num) <= 0; + }; + + BN.prototype.lte = function lte (num) { + return this.cmp(num) <= 0; + }; + + BN.prototype.eqn = function eqn (num) { + return this.cmpn(num) === 0; + }; + + BN.prototype.eq = function eq (num) { + return this.cmp(num) === 0; + }; + + // + // A reduce context, could be using montgomery or something better, depending + // on the `m` itself. + // + BN.red = function red (num) { + return new Red(num); + }; + + BN.prototype.toRed = function toRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + assert(this.negative === 0, 'red works only with positives'); + return ctx.convertTo(this)._forceRed(ctx); + }; + + BN.prototype.fromRed = function fromRed () { + assert(this.red, 'fromRed works only with numbers in reduction context'); + return this.red.convertFrom(this); + }; + + BN.prototype._forceRed = function _forceRed (ctx) { + this.red = ctx; + return this; + }; + + BN.prototype.forceRed = function forceRed (ctx) { + assert(!this.red, 'Already a number in reduction context'); + return this._forceRed(ctx); + }; + + BN.prototype.redAdd = function redAdd (num) { + assert(this.red, 'redAdd works only with red numbers'); + return this.red.add(this, num); + }; + + BN.prototype.redIAdd = function redIAdd (num) { + assert(this.red, 'redIAdd works only with red numbers'); + return this.red.iadd(this, num); + }; + + BN.prototype.redSub = function redSub (num) { + assert(this.red, 'redSub works only with red numbers'); + return this.red.sub(this, num); + }; + + BN.prototype.redISub = function redISub (num) { + assert(this.red, 'redISub works only with red numbers'); + return this.red.isub(this, num); + }; + + BN.prototype.redShl = function redShl (num) { + assert(this.red, 'redShl works only with red numbers'); + return this.red.shl(this, num); + }; + + BN.prototype.redMul = function redMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.mul(this, num); + }; + + BN.prototype.redIMul = function redIMul (num) { + assert(this.red, 'redMul works only with red numbers'); + this.red._verify2(this, num); + return this.red.imul(this, num); + }; + + BN.prototype.redSqr = function redSqr () { + assert(this.red, 'redSqr works only with red numbers'); + this.red._verify1(this); + return this.red.sqr(this); + }; + + BN.prototype.redISqr = function redISqr () { + assert(this.red, 'redISqr works only with red numbers'); + this.red._verify1(this); + return this.red.isqr(this); + }; + + // Square root over p + BN.prototype.redSqrt = function redSqrt () { + assert(this.red, 'redSqrt works only with red numbers'); + this.red._verify1(this); + return this.red.sqrt(this); + }; + + BN.prototype.redInvm = function redInvm () { + assert(this.red, 'redInvm works only with red numbers'); + this.red._verify1(this); + return this.red.invm(this); + }; + + // Return negative clone of `this` % `red modulo` + BN.prototype.redNeg = function redNeg () { + assert(this.red, 'redNeg works only with red numbers'); + this.red._verify1(this); + return this.red.neg(this); + }; + + BN.prototype.redPow = function redPow (num) { + assert(this.red && !num.red, 'redPow(normalNum)'); + this.red._verify1(this); + return this.red.pow(this, num); + }; + + // Prime numbers with efficient reduction + var primes = { + k256: null, + p224: null, + p192: null, + p25519: null + }; + + // Pseudo-Mersenne prime + function MPrime (name, p) { + // P = 2 ^ N - K + this.name = name; + this.p = new BN(p, 16); + this.n = this.p.bitLength(); + this.k = new BN(1).iushln(this.n).isub(this.p); + + this.tmp = this._tmp(); + } + + MPrime.prototype._tmp = function _tmp () { + var tmp = new BN(null); + tmp.words = new Array(Math.ceil(this.n / 13)); + return tmp; + }; + + MPrime.prototype.ireduce = function ireduce (num) { + // Assumes that `num` is less than `P^2` + // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P) + var r = num; + var rlen; + + do { + this.split(r, this.tmp); + r = this.imulK(r); + r = r.iadd(this.tmp); + rlen = r.bitLength(); + } while (rlen > this.n); + + var cmp = rlen < this.n ? -1 : r.ucmp(this.p); + if (cmp === 0) { + r.words[0] = 0; + r.length = 1; + } else if (cmp > 0) { + r.isub(this.p); + } else { + if (r.strip !== undefined) { + // r is BN v4 instance + r.strip(); + } else { + // r is BN v5 instance + r._strip(); + } + } + + return r; + }; + + MPrime.prototype.split = function split (input, out) { + input.iushrn(this.n, 0, out); + }; + + MPrime.prototype.imulK = function imulK (num) { + return num.imul(this.k); + }; + + function K256 () { + MPrime.call( + this, + 'k256', + 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f'); + } + inherits(K256, MPrime); + + K256.prototype.split = function split (input, output) { + // 256 = 9 * 26 + 22 + var mask = 0x3fffff; + + var outLen = Math.min(input.length, 9); + for (var i = 0; i < outLen; i++) { + output.words[i] = input.words[i]; + } + output.length = outLen; + + if (input.length <= 9) { + input.words[0] = 0; + input.length = 1; + return; + } + + // Shift by 9 limbs + var prev = input.words[9]; + output.words[output.length++] = prev & mask; + + for (i = 10; i < input.length; i++) { + var next = input.words[i] | 0; + input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22); + prev = next; + } + prev >>>= 22; + input.words[i - 10] = prev; + if (prev === 0 && input.length > 10) { + input.length -= 10; + } else { + input.length -= 9; + } + }; + + K256.prototype.imulK = function imulK (num) { + // K = 0x1000003d1 = [ 0x40, 0x3d1 ] + num.words[num.length] = 0; + num.words[num.length + 1] = 0; + num.length += 2; + + // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390 + var lo = 0; + for (var i = 0; i < num.length; i++) { + var w = num.words[i] | 0; + lo += w * 0x3d1; + num.words[i] = lo & 0x3ffffff; + lo = w * 0x40 + ((lo / 0x4000000) | 0); + } + + // Fast length reduction + if (num.words[num.length - 1] === 0) { + num.length--; + if (num.words[num.length - 1] === 0) { + num.length--; + } + } + return num; + }; + + function P224 () { + MPrime.call( + this, + 'p224', + 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001'); + } + inherits(P224, MPrime); + + function P192 () { + MPrime.call( + this, + 'p192', + 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff'); + } + inherits(P192, MPrime); + + function P25519 () { + // 2 ^ 255 - 19 + MPrime.call( + this, + '25519', + '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed'); + } + inherits(P25519, MPrime); + + P25519.prototype.imulK = function imulK (num) { + // K = 0x13 + var carry = 0; + for (var i = 0; i < num.length; i++) { + var hi = (num.words[i] | 0) * 0x13 + carry; + var lo = hi & 0x3ffffff; + hi >>>= 26; + + num.words[i] = lo; + carry = hi; + } + if (carry !== 0) { + num.words[num.length++] = carry; + } + return num; + }; + + // Exported mostly for testing purposes, use plain name instead + BN._prime = function prime (name) { + // Cached version of prime + if (primes[name]) return primes[name]; + + var prime; + if (name === 'k256') { + prime = new K256(); + } else if (name === 'p224') { + prime = new P224(); + } else if (name === 'p192') { + prime = new P192(); + } else if (name === 'p25519') { + prime = new P25519(); + } else { + throw new Error('Unknown prime ' + name); + } + primes[name] = prime; + + return prime; + }; + + // + // Base reduction engine + // + function Red (m) { + if (typeof m === 'string') { + var prime = BN._prime(m); + this.m = prime.p; + this.prime = prime; + } else { + assert(m.gtn(1), 'modulus must be greater than 1'); + this.m = m; + this.prime = null; + } + } + + Red.prototype._verify1 = function _verify1 (a) { + assert(a.negative === 0, 'red works only with positives'); + assert(a.red, 'red works only with red numbers'); + }; + + Red.prototype._verify2 = function _verify2 (a, b) { + assert((a.negative | b.negative) === 0, 'red works only with positives'); + assert(a.red && a.red === b.red, + 'red works only with red numbers'); + }; + + Red.prototype.imod = function imod (a) { + if (this.prime) return this.prime.ireduce(a)._forceRed(this); + return a.umod(this.m)._forceRed(this); + }; + + Red.prototype.neg = function neg (a) { + if (a.isZero()) { + return a.clone(); + } + + return this.m.sub(a)._forceRed(this); + }; + + Red.prototype.add = function add (a, b) { + this._verify2(a, b); + + var res = a.add(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.iadd = function iadd (a, b) { + this._verify2(a, b); + + var res = a.iadd(b); + if (res.cmp(this.m) >= 0) { + res.isub(this.m); + } + return res; + }; + + Red.prototype.sub = function sub (a, b) { + this._verify2(a, b); + + var res = a.sub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res._forceRed(this); + }; + + Red.prototype.isub = function isub (a, b) { + this._verify2(a, b); + + var res = a.isub(b); + if (res.cmpn(0) < 0) { + res.iadd(this.m); + } + return res; + }; + + Red.prototype.shl = function shl (a, num) { + this._verify1(a); + return this.imod(a.ushln(num)); + }; + + Red.prototype.imul = function imul (a, b) { + this._verify2(a, b); + return this.imod(a.imul(b)); + }; + + Red.prototype.mul = function mul (a, b) { + this._verify2(a, b); + return this.imod(a.mul(b)); + }; + + Red.prototype.isqr = function isqr (a) { + return this.imul(a, a.clone()); + }; + + Red.prototype.sqr = function sqr (a) { + return this.mul(a, a); + }; + + Red.prototype.sqrt = function sqrt (a) { + if (a.isZero()) return a.clone(); + + var mod3 = this.m.andln(3); + assert(mod3 % 2 === 1); + + // Fast case + if (mod3 === 3) { + var pow = this.m.add(new BN(1)).iushrn(2); + return this.pow(a, pow); + } + + // Tonelli-Shanks algorithm (Totally unoptimized and slow) + // + // Find Q and S, that Q * 2 ^ S = (P - 1) + var q = this.m.subn(1); + var s = 0; + while (!q.isZero() && q.andln(1) === 0) { + s++; + q.iushrn(1); + } + assert(!q.isZero()); + + var one = new BN(1).toRed(this); + var nOne = one.redNeg(); + + // Find quadratic non-residue + // NOTE: Max is such because of generalized Riemann hypothesis. + var lpow = this.m.subn(1).iushrn(1); + var z = this.m.bitLength(); + z = new BN(2 * z * z).toRed(this); + + while (this.pow(z, lpow).cmp(nOne) !== 0) { + z.redIAdd(nOne); + } + + var c = this.pow(z, q); + var r = this.pow(a, q.addn(1).iushrn(1)); + var t = this.pow(a, q); + var m = s; + while (t.cmp(one) !== 0) { + var tmp = t; + for (var i = 0; tmp.cmp(one) !== 0; i++) { + tmp = tmp.redSqr(); + } + assert(i < m); + var b = this.pow(c, new BN(1).iushln(m - i - 1)); + + r = r.redMul(b); + c = b.redSqr(); + t = t.redMul(c); + m = i; + } + + return r; + }; + + Red.prototype.invm = function invm (a) { + var inv = a._invmp(this.m); + if (inv.negative !== 0) { + inv.negative = 0; + return this.imod(inv).redNeg(); + } else { + return this.imod(inv); + } + }; + + Red.prototype.pow = function pow (a, num) { + if (num.isZero()) return new BN(1).toRed(this); + if (num.cmpn(1) === 0) return a.clone(); + + var windowSize = 4; + var wnd = new Array(1 << windowSize); + wnd[0] = new BN(1).toRed(this); + wnd[1] = a; + for (var i = 2; i < wnd.length; i++) { + wnd[i] = this.mul(wnd[i - 1], a); + } + + var res = wnd[0]; + var current = 0; + var currentLen = 0; + var start = num.bitLength() % 26; + if (start === 0) { + start = 26; + } + + for (i = num.length - 1; i >= 0; i--) { + var word = num.words[i]; + for (var j = start - 1; j >= 0; j--) { + var bit = (word >> j) & 1; + if (res !== wnd[0]) { + res = this.sqr(res); + } + + if (bit === 0 && current === 0) { + currentLen = 0; + continue; + } + + current <<= 1; + current |= bit; + currentLen++; + if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue; + + res = this.mul(res, wnd[current]); + currentLen = 0; + current = 0; + } + start = 26; + } + + return res; + }; + + Red.prototype.convertTo = function convertTo (num) { + var r = num.umod(this.m); + + return r === num ? r.clone() : r; + }; + + Red.prototype.convertFrom = function convertFrom (num) { + var res = num.clone(); + res.red = null; + return res; + }; + + // + // Montgomery method engine + // + + BN.mont = function mont (num) { + return new Mont(num); + }; + + function Mont (m) { + Red.call(this, m); + + this.shift = this.m.bitLength(); + if (this.shift % 26 !== 0) { + this.shift += 26 - (this.shift % 26); + } + + this.r = new BN(1).iushln(this.shift); + this.r2 = this.imod(this.r.sqr()); + this.rinv = this.r._invmp(this.m); + + this.minv = this.rinv.mul(this.r).isubn(1).div(this.m); + this.minv = this.minv.umod(this.r); + this.minv = this.r.sub(this.minv); + } + inherits(Mont, Red); + + Mont.prototype.convertTo = function convertTo (num) { + return this.imod(num.ushln(this.shift)); + }; + + Mont.prototype.convertFrom = function convertFrom (num) { + var r = this.imod(num.mul(this.rinv)); + r.red = null; + return r; + }; + + Mont.prototype.imul = function imul (a, b) { + if (a.isZero() || b.isZero()) { + a.words[0] = 0; + a.length = 1; + return a; + } + + var t = a.imul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.mul = function mul (a, b) { + if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this); + + var t = a.mul(b); + var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m); + var u = t.isub(c).iushrn(this.shift); + var res = u; + if (u.cmp(this.m) >= 0) { + res = u.isub(this.m); + } else if (u.cmpn(0) < 0) { + res = u.iadd(this.m); + } + + return res._forceRed(this); + }; + + Mont.prototype.invm = function invm (a) { + // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R + var res = this.imod(a._invmp(this.m).mul(this.r2)); + return res._forceRed(this); + }; + })('object' === 'undefined' || module, commonjsGlobal); + }); + var utils_1 = createCommonjsModule(function (module, exports) { 'use strict'; @@ -11951,7 +15394,7 @@ utils.parseBytes = parseBytes; function intFromLE(bytes) { - return new bn(bytes, 'hex', 'le'); + return new bn$1(bytes, 'hex', 'le'); } utils.intFromLE = intFromLE; }); @@ -11968,18 +15411,18 @@ function BaseCurve(type, conf) { this.type = type; - this.p = new bn(conf.p, 16); + this.p = new bn$1(conf.p, 16); // Use Montgomery, when there is no fast reduction for the prime - this.red = conf.prime ? bn.red(conf.prime) : bn.mont(this.p); + this.red = conf.prime ? bn$1.red(conf.prime) : bn$1.mont(this.p); // Useful for many curves - this.zero = new bn(0).toRed(this.red); - this.one = new bn(1).toRed(this.red); - this.two = new bn(2).toRed(this.red); + this.zero = new bn$1(0).toRed(this.red); + this.one = new bn$1(1).toRed(this.red); + this.two = new bn$1(2).toRed(this.red); // Curve configuration, optional - this.n = conf.n && new bn(conf.n, 16); + this.n = conf.n && new bn$1(conf.n, 16); this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed); // Temporary arrays @@ -12347,8 +15790,8 @@ function ShortCurve(conf) { base.call(this, 'short', conf); - this.a = new bn(conf.a, 16).toRed(this.red); - this.b = new bn(conf.b, 16).toRed(this.red); + this.a = new bn$1(conf.a, 16).toRed(this.red); + this.b = new bn$1(conf.b, 16).toRed(this.red); this.tinv = this.two.redInvm(); this.zeroA = this.a.fromRed().cmpn(0) === 0; @@ -12371,7 +15814,7 @@ var beta; var lambda; if (conf.beta) { - beta = new bn(conf.beta, 16).toRed(this.red); + beta = new bn$1(conf.beta, 16).toRed(this.red); } else { var betas = this._getEndoRoots(this.p); // Choose the smallest beta @@ -12379,7 +15822,7 @@ beta = beta.toRed(this.red); } if (conf.lambda) { - lambda = new bn(conf.lambda, 16); + lambda = new bn$1(conf.lambda, 16); } else { // Choose the lambda that is matching selected beta var lambdas = this._getEndoRoots(this.n); @@ -12396,8 +15839,8 @@ if (conf.basis) { basis = conf.basis.map(function(vec) { return { - a: new bn(vec.a, 16), - b: new bn(vec.b, 16) + a: new bn$1(vec.a, 16), + b: new bn$1(vec.b, 16) }; }); } else { @@ -12415,11 +15858,11 @@ // Find roots of for x^2 + x + 1 in F // Root = (-1 +- Sqrt(-3)) / 2 // - var red = num === this.p ? this.red : bn.mont(num); - var tinv = new bn(2).toRed(red).redInvm(); + var red = num === this.p ? this.red : bn$1.mont(num); + var tinv = new bn$1(2).toRed(red).redInvm(); var ntinv = tinv.redNeg(); - var s = new bn(3).toRed(red).redNeg().redSqrt().redMul(tinv); + var s = new bn$1(3).toRed(red).redNeg().redSqrt().redMul(tinv); var l1 = ntinv.redAdd(s).fromRed(); var l2 = ntinv.redSub(s).fromRed(); @@ -12434,10 +15877,10 @@ // Run EGCD, until r(L + 1) < aprxSqrt var u = lambda; var v = this.n.clone(); - var x1 = new bn(1); - var y1 = new bn(0); - var x2 = new bn(0); - var y2 = new bn(1); + var x1 = new bn$1(1); + var y1 = new bn$1(0); + var x2 = new bn$1(0); + var y2 = new bn$1(1); // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n) var a0; @@ -12522,7 +15965,7 @@ }; ShortCurve.prototype.pointFromX = function pointFromX(x, odd) { - x = new bn(x, 16); + x = new bn$1(x, 16); if (!x.red) x = x.toRed(this.red); @@ -12592,8 +16035,8 @@ this.y = null; this.inf = true; } else { - this.x = new bn(x, 16); - this.y = new bn(y, 16); + this.x = new bn$1(x, 16); + this.y = new bn$1(y, 16); // Force redgomery representation when loading from JSON if (isRed) { this.x.forceRed(this.curve.red); @@ -12757,7 +16200,7 @@ }; Point.prototype.mul = function mul(k) { - k = new bn(k, 16); + k = new bn$1(k, 16); if (this.isInfinity()) return this; else if (this._hasDoubles(k)) @@ -12829,11 +16272,11 @@ if (x === null && y === null && z === null) { this.x = this.curve.one; this.y = this.curve.one; - this.z = new bn(0); + this.z = new bn$1(0); } else { - this.x = new bn(x, 16); - this.y = new bn(y, 16); - this.z = new bn(z, 16); + this.x = new bn$1(x, 16); + this.y = new bn$1(y, 16); + this.z = new bn$1(z, 16); } if (!this.x.red) this.x = this.x.toRed(this.curve.red); @@ -13217,7 +16660,7 @@ }; JPoint.prototype.mul = function mul(k, kbase) { - k = new bn(k, kbase); + k = new bn$1(k, kbase); return this.curve._wnafMul(this, k); }; @@ -13689,7 +17132,7 @@ }; KeyPair.prototype._importPrivate = function _importPrivate(key, enc) { - this.priv = new bn(key, enc || 16); + this.priv = new bn$1(key, enc || 16); // Ensure that the priv won't be bigger than n, otherwise we may fail // in fixed multiplication method @@ -13747,8 +17190,8 @@ return; assert$4(options.r && options.s, 'Signature without r or s'); - this.r = new bn(options.r, 16); - this.s = new bn(options.s, 16); + this.r = new bn$1(options.r, 16); + this.s = new bn$1(options.s, 16); if (options.recoveryParam === undefined) this.recoveryParam = null; else @@ -13818,8 +17261,8 @@ s = s.slice(1); } - this.r = new bn(r); - this.s = new bn(s); + this.r = new bn$1(r); + this.s = new bn$1(s); this.recoveryParam = null; return true; @@ -13935,9 +17378,9 @@ }); var bytes = this.n.byteLength(); - var ns2 = this.n.sub(new bn(2)); + var ns2 = this.n.sub(new bn$1(2)); do { - var priv = new bn(drbg.generate(bytes)); + var priv = new bn$1(drbg.generate(bytes)); if (priv.cmp(ns2) > 0) continue; @@ -13965,7 +17408,7 @@ options = {}; key = this.keyFromPrivate(key, enc); - msg = this._truncateToN(new bn(msg, 16)); + msg = this._truncateToN(new bn$1(msg, 16)); // Zero-extend key to provide enough entropy var bytes = this.n.byteLength(); @@ -13984,12 +17427,12 @@ }); // Number of bytes to generate - var ns1 = this.n.sub(new bn(1)); + var ns1 = this.n.sub(new bn$1(1)); for (var iter = 0; true; iter++) { var k = options.k ? options.k(iter) : - new bn(drbg.generate(this.n.byteLength())); + new bn$1(drbg.generate(this.n.byteLength())); k = this._truncateToN(k, true); if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) continue; @@ -14022,7 +17465,7 @@ }; EC.prototype.verify = function verify(msg, signature$1, key, enc) { - msg = this._truncateToN(new bn(msg, 16)); + msg = this._truncateToN(new bn$1(msg, 16)); key = this.keyFromPublic(key, enc); signature$1 = new signature(signature$1, 'hex'); @@ -14065,7 +17508,7 @@ signature$1 = new signature(signature$1, enc); var n = this.n; - var e = new bn(msg); + var e = new bn$1(msg); var r = signature$1.r; var s = signature$1.s; @@ -17970,7 +21413,7 @@ var _version$I = createCommonjsModule(function (module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.version = "providers/5.0.1"; + exports.version = "providers/5.0.2"; }); var _version$J = unwrapExports(_version$I); @@ -18626,7 +22069,7 @@ // Squash any "unhandled promise" errors; that do not need to be handled network.catch(function (error) { }); // Trigger initial network setting (async) - _this._ready(); + _this._ready().catch(function (error) { }); } else { var knownNetwork = lib$3.getStatic((_newTarget), "getNetwork")(network); @@ -18696,7 +22139,18 @@ // For "any", this can change (a "network" event is emitted before // any change is refelcted); otherwise this cannot change get: function () { - return this._ready(); + var _this = this; + return lib$l.poll(function () { + return _this._ready().then(function (network) { + return network; + }, function (error) { + // If the network isn't running yet, we will wait + if (error.code === lib.Logger.errors.NETWORK_ERROR && error.event === "noNetwork") { + return undefined; + } + throw error; + }); + }); }, enumerable: true, configurable: true @@ -18720,7 +22174,7 @@ var _this = this; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.ready]; + case 0: return [4 /*yield*/, this._ready()]; case 1: _a.sent(); internalBlockNumber = this._internalBlockNumber; @@ -18790,6 +22244,7 @@ logger.warn("network block skew detected; skipping block events"); this.emit("error", logger.makeError("network block skew detected", lib.Logger.errors.NETWORK_ERROR, { blockNumber: blockNumber, + event: "blockSkew", previousBlockNumber: this._emitted.block })); this.emit("block", blockNumber); @@ -18902,7 +22357,7 @@ var network, currentNetwork, error; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.ready]; + case 0: return [4 /*yield*/, this._ready()]; case 1: network = _a.sent(); return [4 /*yield*/, this.detectNetwork()]; @@ -20213,11 +23668,14 @@ catch (error) { return [2 /*return*/, logger.throwError("could not detect network", lib.Logger.errors.NETWORK_ERROR, { chainId: chainId, + event: "invalidNetwork", serverError: error })]; } } - return [2 /*return*/, logger.throwError("could not detect network", lib.Logger.errors.NETWORK_ERROR)]; + return [2 /*return*/, logger.throwError("could not detect network", lib.Logger.errors.NETWORK_ERROR, { + event: "noNetwork" + })]; } }); }); @@ -22950,7 +26408,7 @@ var _version$M = createCommonjsModule(function (module, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - exports.version = "ethers/5.0.1"; + exports.version = "ethers/5.0.2"; }); var _version$N = unwrapExports(_version$M); diff --git a/packages/ethers/dist/ethers.umd.min.js b/packages/ethers/dist/ethers.umd.min.js index a69d5a612..05385e9d7 100644 --- a/packages/ethers/dist/ethers.umd.min.js +++ b/packages/ethers/dist/ethers.umd.min.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).ethers={})}(this,(function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function n(e,t){return e(t={exports:{}},t.exports),t.exports}function i(e){return e&&e.default||e}var o=Object.freeze({default:{}}),a=i(o),s=n((function(e){!function(e,t){function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function i(e,t,r){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var o;"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{o=a.Buffer}catch(e){}function s(e,t,r){for(var n=0,i=Math.min(e.length,r),o=t;o=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function u(e,t,r,n){for(var i=0,o=Math.min(e.length,r),a=t;a=49?s-49+10:s>=17?s-17+10:s}return i}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},i.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},i.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)a=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=a<>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,o++);return this.strip()},i.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)i=s(e,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==t&&(i=s(e,t,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,a=o%n,s=Math.min(o,o-a)+r,c=0,l=r;l1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],a=i*o,s=67108863&a,u=a/67108864|0;r.words[0]=s;for(var c=1;c>>26,f=67108863&u,h=Math.min(c,t.length-1),d=Math.max(0,c-e.length+1);d<=h;d++){var p=c-d|0;l+=(a=(i=0|e.words[p])*(o=0|t.words[d])+f)/67108864|0,f=67108863&a}r.words[c]=0|f,u=0|l}return 0!==u?r.words[c]=0|u:r.length--,r.strip()}i.prototype.toString=function(e,t){var n;if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var i=0,o=0,a=0;a>>24-i&16777215)||a!==this.length-1?c[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,a--)}for(0!==o&&(n=o.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var h=l[e],d=f[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(d).toString(e);n=(p=p.idivn(d)).isZero()?g+n:c[h-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return r(void 0!==o),this.toArrayLike(o,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var a,s,u="le"===t,c=new e(o),l=this.clone();if(u){for(s=0;!l.isZero();s++)a=l.andln(255),l.iushrn(8),c[s]=a;for(;s=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==o&&a>26,this.words[a]=67108863&t;if(0===o&&a>>13,d=0|a[1],p=8191&d,g=d>>>13,m=0|a[2],y=8191&m,v=m>>>13,b=0|a[3],w=8191&b,_=b>>>13,E=0|a[4],k=8191&E,P=E>>>13,S=0|a[5],A=8191&S,M=S>>>13,x=0|a[6],O=8191&x,N=x>>>13,R=0|a[7],T=8191&R,C=R>>>13,B=0|a[8],I=8191&B,F=B>>>13,L=0|a[9],U=8191&L,j=L>>>13,D=0|s[0],z=8191&D,H=D>>>13,K=0|s[1],W=8191&K,q=K>>>13,G=0|s[2],V=8191&G,J=G>>>13,Z=0|s[3],X=8191&Z,$=Z>>>13,Q=0|s[4],Y=8191&Q,ee=Q>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ie=0|s[6],oe=8191&ie,ae=ie>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,le=0|s[8],fe=8191&le,he=le>>>13,de=0|s[9],pe=8191&de,ge=de>>>13;r.negative=e.negative^t.negative,r.length=19;var me=(c+(n=Math.imul(f,z))|0)+((8191&(i=(i=Math.imul(f,H))+Math.imul(h,z)|0))<<13)|0;c=((o=Math.imul(h,H))+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,H))+Math.imul(g,z)|0,o=Math.imul(g,H);var ye=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,q)|0)+Math.imul(h,W)|0))<<13)|0;c=((o=o+Math.imul(h,q)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(y,z),i=(i=Math.imul(y,H))+Math.imul(v,z)|0,o=Math.imul(v,H),n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,q)|0;var ve=(c+(n=n+Math.imul(f,V)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,V)|0))<<13)|0;c=((o=o+Math.imul(h,J)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(w,z),i=(i=Math.imul(w,H))+Math.imul(_,z)|0,o=Math.imul(_,H),n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,q)|0)+Math.imul(v,W)|0,o=o+Math.imul(v,q)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(g,V)|0,o=o+Math.imul(g,J)|0;var be=(c+(n=n+Math.imul(f,X)|0)|0)+((8191&(i=(i=i+Math.imul(f,$)|0)+Math.imul(h,X)|0))<<13)|0;c=((o=o+Math.imul(h,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(k,z),i=(i=Math.imul(k,H))+Math.imul(P,z)|0,o=Math.imul(P,H),n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,q)|0,n=n+Math.imul(y,V)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(v,V)|0,o=o+Math.imul(v,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,$)|0;var we=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,ee)|0)+Math.imul(h,Y)|0))<<13)|0;c=((o=o+Math.imul(h,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(A,z),i=(i=Math.imul(A,H))+Math.imul(M,z)|0,o=Math.imul(M,H),n=n+Math.imul(k,W)|0,i=(i=i+Math.imul(k,q)|0)+Math.imul(P,W)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(y,X)|0,i=(i=i+Math.imul(y,$)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(g,Y)|0,o=o+Math.imul(g,ee)|0;var _e=(c+(n=n+Math.imul(f,re)|0)|0)+((8191&(i=(i=i+Math.imul(f,ne)|0)+Math.imul(h,re)|0))<<13)|0;c=((o=o+Math.imul(h,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(O,z),i=(i=Math.imul(O,H))+Math.imul(N,z)|0,o=Math.imul(N,H),n=n+Math.imul(A,W)|0,i=(i=i+Math.imul(A,q)|0)+Math.imul(M,W)|0,o=o+Math.imul(M,q)|0,n=n+Math.imul(k,V)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(P,V)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,ee)|0)+Math.imul(v,Y)|0,o=o+Math.imul(v,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(g,re)|0,o=o+Math.imul(g,ne)|0;var Ee=(c+(n=n+Math.imul(f,oe)|0)|0)+((8191&(i=(i=i+Math.imul(f,ae)|0)+Math.imul(h,oe)|0))<<13)|0;c=((o=o+Math.imul(h,ae)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(T,z),i=(i=Math.imul(T,H))+Math.imul(C,z)|0,o=Math.imul(C,H),n=n+Math.imul(O,W)|0,i=(i=i+Math.imul(O,q)|0)+Math.imul(N,W)|0,o=o+Math.imul(N,q)|0,n=n+Math.imul(A,V)|0,i=(i=i+Math.imul(A,J)|0)+Math.imul(M,V)|0,o=o+Math.imul(M,J)|0,n=n+Math.imul(k,X)|0,i=(i=i+Math.imul(k,$)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,$)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,ee)|0,n=n+Math.imul(y,re)|0,i=(i=i+Math.imul(y,ne)|0)+Math.imul(v,re)|0,o=o+Math.imul(v,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,ae)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,ae)|0;var ke=(c+(n=n+Math.imul(f,ue)|0)|0)+((8191&(i=(i=i+Math.imul(f,ce)|0)+Math.imul(h,ue)|0))<<13)|0;c=((o=o+Math.imul(h,ce)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,H))+Math.imul(F,z)|0,o=Math.imul(F,H),n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,q)|0)+Math.imul(C,W)|0,o=o+Math.imul(C,q)|0,n=n+Math.imul(O,V)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(N,V)|0,o=o+Math.imul(N,J)|0,n=n+Math.imul(A,X)|0,i=(i=i+Math.imul(A,$)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,$)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(_,re)|0,o=o+Math.imul(_,ne)|0,n=n+Math.imul(y,oe)|0,i=(i=i+Math.imul(y,ae)|0)+Math.imul(v,oe)|0,o=o+Math.imul(v,ae)|0,n=n+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,ce)|0;var Pe=(c+(n=n+Math.imul(f,fe)|0)|0)+((8191&(i=(i=i+Math.imul(f,he)|0)+Math.imul(h,fe)|0))<<13)|0;c=((o=o+Math.imul(h,he)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(U,z),i=(i=Math.imul(U,H))+Math.imul(j,z)|0,o=Math.imul(j,H),n=n+Math.imul(I,W)|0,i=(i=i+Math.imul(I,q)|0)+Math.imul(F,W)|0,o=o+Math.imul(F,q)|0,n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(C,V)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(O,X)|0,i=(i=i+Math.imul(O,$)|0)+Math.imul(N,X)|0,o=o+Math.imul(N,$)|0,n=n+Math.imul(A,Y)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(M,Y)|0,o=o+Math.imul(M,ee)|0,n=n+Math.imul(k,re)|0,i=(i=i+Math.imul(k,ne)|0)+Math.imul(P,re)|0,o=o+Math.imul(P,ne)|0,n=n+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,ae)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,ae)|0,n=n+Math.imul(y,ue)|0,i=(i=i+Math.imul(y,ce)|0)+Math.imul(v,ue)|0,o=o+Math.imul(v,ce)|0,n=n+Math.imul(p,fe)|0,i=(i=i+Math.imul(p,he)|0)+Math.imul(g,fe)|0,o=o+Math.imul(g,he)|0;var Se=(c+(n=n+Math.imul(f,pe)|0)|0)+((8191&(i=(i=i+Math.imul(f,ge)|0)+Math.imul(h,pe)|0))<<13)|0;c=((o=o+Math.imul(h,ge)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(U,W),i=(i=Math.imul(U,q))+Math.imul(j,W)|0,o=Math.imul(j,q),n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(F,V)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(N,Y)|0,o=o+Math.imul(N,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(M,re)|0,o=o+Math.imul(M,ne)|0,n=n+Math.imul(k,oe)|0,i=(i=i+Math.imul(k,ae)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,ae)|0,n=n+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,n=n+Math.imul(y,fe)|0,i=(i=i+Math.imul(y,he)|0)+Math.imul(v,fe)|0,o=o+Math.imul(v,he)|0;var Ae=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;c=((o=o+Math.imul(g,ge)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(U,V),i=(i=Math.imul(U,J))+Math.imul(j,V)|0,o=Math.imul(j,J),n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,ee)|0,n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(N,re)|0,o=o+Math.imul(N,ne)|0,n=n+Math.imul(A,oe)|0,i=(i=i+Math.imul(A,ae)|0)+Math.imul(M,oe)|0,o=o+Math.imul(M,ae)|0,n=n+Math.imul(k,ue)|0,i=(i=i+Math.imul(k,ce)|0)+Math.imul(P,ue)|0,o=o+Math.imul(P,ce)|0,n=n+Math.imul(w,fe)|0,i=(i=i+Math.imul(w,he)|0)+Math.imul(_,fe)|0,o=o+Math.imul(_,he)|0;var Me=(c+(n=n+Math.imul(y,pe)|0)|0)+((8191&(i=(i=i+Math.imul(y,ge)|0)+Math.imul(v,pe)|0))<<13)|0;c=((o=o+Math.imul(v,ge)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(U,X),i=(i=Math.imul(U,$))+Math.imul(j,X)|0,o=Math.imul(j,$),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(C,re)|0,o=o+Math.imul(C,ne)|0,n=n+Math.imul(O,oe)|0,i=(i=i+Math.imul(O,ae)|0)+Math.imul(N,oe)|0,o=o+Math.imul(N,ae)|0,n=n+Math.imul(A,ue)|0,i=(i=i+Math.imul(A,ce)|0)+Math.imul(M,ue)|0,o=o+Math.imul(M,ce)|0,n=n+Math.imul(k,fe)|0,i=(i=i+Math.imul(k,he)|0)+Math.imul(P,fe)|0,o=o+Math.imul(P,he)|0;var xe=(c+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,ge)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,ge)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(U,Y),i=(i=Math.imul(U,ee))+Math.imul(j,Y)|0,o=Math.imul(j,ee),n=n+Math.imul(I,re)|0,i=(i=i+Math.imul(I,ne)|0)+Math.imul(F,re)|0,o=o+Math.imul(F,ne)|0,n=n+Math.imul(T,oe)|0,i=(i=i+Math.imul(T,ae)|0)+Math.imul(C,oe)|0,o=o+Math.imul(C,ae)|0,n=n+Math.imul(O,ue)|0,i=(i=i+Math.imul(O,ce)|0)+Math.imul(N,ue)|0,o=o+Math.imul(N,ce)|0,n=n+Math.imul(A,fe)|0,i=(i=i+Math.imul(A,he)|0)+Math.imul(M,fe)|0,o=o+Math.imul(M,he)|0;var Oe=(c+(n=n+Math.imul(k,pe)|0)|0)+((8191&(i=(i=i+Math.imul(k,ge)|0)+Math.imul(P,pe)|0))<<13)|0;c=((o=o+Math.imul(P,ge)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(U,re),i=(i=Math.imul(U,ne))+Math.imul(j,re)|0,o=Math.imul(j,ne),n=n+Math.imul(I,oe)|0,i=(i=i+Math.imul(I,ae)|0)+Math.imul(F,oe)|0,o=o+Math.imul(F,ae)|0,n=n+Math.imul(T,ue)|0,i=(i=i+Math.imul(T,ce)|0)+Math.imul(C,ue)|0,o=o+Math.imul(C,ce)|0,n=n+Math.imul(O,fe)|0,i=(i=i+Math.imul(O,he)|0)+Math.imul(N,fe)|0,o=o+Math.imul(N,he)|0;var Ne=(c+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,ge)|0)+Math.imul(M,pe)|0))<<13)|0;c=((o=o+Math.imul(M,ge)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,n=Math.imul(U,oe),i=(i=Math.imul(U,ae))+Math.imul(j,oe)|0,o=Math.imul(j,ae),n=n+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,ce)|0)+Math.imul(F,ue)|0,o=o+Math.imul(F,ce)|0,n=n+Math.imul(T,fe)|0,i=(i=i+Math.imul(T,he)|0)+Math.imul(C,fe)|0,o=o+Math.imul(C,he)|0;var Re=(c+(n=n+Math.imul(O,pe)|0)|0)+((8191&(i=(i=i+Math.imul(O,ge)|0)+Math.imul(N,pe)|0))<<13)|0;c=((o=o+Math.imul(N,ge)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(U,ue),i=(i=Math.imul(U,ce))+Math.imul(j,ue)|0,o=Math.imul(j,ce),n=n+Math.imul(I,fe)|0,i=(i=i+Math.imul(I,he)|0)+Math.imul(F,fe)|0,o=o+Math.imul(F,he)|0;var Te=(c+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,ge)|0)+Math.imul(C,pe)|0))<<13)|0;c=((o=o+Math.imul(C,ge)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(U,fe),i=(i=Math.imul(U,he))+Math.imul(j,fe)|0,o=Math.imul(j,he);var Ce=(c+(n=n+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ge)|0)+Math.imul(F,pe)|0))<<13)|0;c=((o=o+Math.imul(F,ge)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863;var Be=(c+(n=Math.imul(U,pe))|0)+((8191&(i=(i=Math.imul(U,ge))+Math.imul(j,pe)|0))<<13)|0;return c=((o=Math.imul(j,ge))+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,u[0]=me,u[1]=ye,u[2]=ve,u[3]=be,u[4]=we,u[5]=_e,u[6]=Ee,u[7]=ke,u[8]=Pe,u[9]=Se,u[10]=Ae,u[11]=Me,u[12]=xe,u[13]=Oe,u[14]=Ne,u[15]=Re,u[16]=Te,u[17]=Ce,u[18]=Be,0!==c&&(u[19]=c,r.length++),r};function p(e,t,r){return(new g).mulp(e,t,r)}function g(e,t){this.x=e,this.y=t}Math.imul||(d=h),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,t):r<63?h(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,a&=67108863}r.words[o]=s,n=a,a=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,i,o){for(var a=0;a>>=1)i++;return 1<>>=13,n[2*a+1]=8191&o,o>>>=13;for(a=2*t;a>=26,t+=i/67108864|0,t+=o>>>26,this.words[n]=67108863&o}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n=0);var t,n=e%26,i=(e-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var a=0;for(t=0;t>>26-n}a&&(this.words[t]=a,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,a=Math.min((e-o)/26,this.length),s=67108863^67108863>>>o<a)for(this.length-=a,c=0;c=0&&(0!==l||c>=i);c--){var f=0|this.words[c];this.words[c]=l<<26-o|f>>>o,l=f&s}return u&&0!==l&&(u.words[u.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),o=e,a=0|o.words[o.length-1];0!==(r=26-this._countBits(a))&&(o=o.ushln(r),n.iushln(r),a=0|o.words[o.length-1]);var s,u=n.length-o.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.length);for(var c=0;c=0;f--){var h=67108864*(0|n.words[o.length+f])+(0|n.words[o.length+f-1]);for(h=Math.min(h/a|0,67108863),n._ishlnsubmul(o,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(o,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(o=s.div.neg()),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.iadd(e)),{div:o,mod:a}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(o=s.div.neg()),{div:o,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(a=s.mod.neg(),n&&0!==a.negative&&a.isub(e)),{div:s.div,mod:a}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var o,a,s},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},i.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var o=new i(1),a=new i(0),s=new i(0),u=new i(1),c=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++c;for(var l=n.clone(),f=t.clone();!t.isZero();){for(var h=0,d=1;0==(t.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(o.isOdd()||a.isOdd())&&(o.iadd(l),a.isub(f)),o.iushrn(1),a.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||u.isOdd())&&(s.iadd(l),u.isub(f)),s.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),o.isub(s),a.isub(u)):(n.isub(t),s.isub(o),u.isub(a))}return{a:s,b:u,gcd:n.iushln(c)}},i.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var o,a=new i(1),s=new i(0),u=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var c=0,l=1;0==(t.words[0]&l)&&c<26;++c,l<<=1);if(c>0)for(t.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);for(var f=0,h=1;0==(n.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(n.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(s)):(n.isub(t),s.isub(a))}return(o=0===t.cmpn(1)?a:s).cmpn(0)<0&&o.iadd(e),o},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,s&=67108863,this.words[a]=s}return 0!==o&&(this.words[a]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function k(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):r.strip(),r},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},n(v,y),v.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=o}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new b;else if("p192"===e)t=new w;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return m[e]=t,t},E.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var o=this.m.subn(1),a=0;!o.isZero()&&0===o.andln(1);)a++,o.iushrn(1);r(!o.isZero());var s=new i(1).toRed(this),u=s.redNeg(),c=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new i(2*l*l).toRed(this);0!==this.pow(l,c).cmp(u);)l.redIAdd(u);for(var f=this.pow(l,o),h=this.pow(e,o.addn(1).iushrn(1)),d=this.pow(e,o),p=a;0!==d.cmp(s);){for(var g=d,m=0;0!==g.cmp(s);m++)g=g.redSqr();r(m=0;n--){for(var c=t.words[n],l=u-1;l>=0;l--){var f=c>>l&1;o!==r[0]&&(o=this.sqr(o)),0!==f||0!==a?(a<<=1,a|=f,(4===++s||0===n&&0===l)&&(o=this.mul(o,r[a]),s=0,a=0)):s=0}u=26}return o},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new k(e)},n(k,E),k.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},k.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},k.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),a=o;return o.cmp(this.m)>=0?a=o.isub(this.m):o.cmpn(0)<0&&(a=o.iadd(this.m)),a._forceRed(this)},k.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,t)})),u=(s.BN,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="logger/5.0.1"}))),c=(r(u),u.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=!1,n=!1,i={debug:1,default:2,info:2,warning:3,error:4,off:5},o=i.default,a=null;var s,c,l=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(t){try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(r){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(s=t.LogLevel||(t.LogLevel={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(c=t.ErrorCode||(t.ErrorCode={}));var f=function(){function e(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}return e.prototype._log=function(e,t){var r=e.toLowerCase();null==i[r]&&this.throwArgumentError("invalid log level name","logLevel",e),o>i[r]||console.log.apply(console,t)},e.prototype.debug=function(){for(var t=[],r=0;r=9007199254740991)&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(r,e.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))},e.prototype.checkArgumentCount=function(t,r,n){n=n?": "+n:"",tr&&this.throwError("too many arguments"+n,e.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:r})},e.prototype.checkNew=function(t,r){t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})},e.prototype.checkAbstract=function(t,r){t===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",e.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",e.errors.MISSING_NEW,{name:r.name})},e.globalLogger=function(){return a||(a=new e(u.version)),a},e.setCensorship=function(t,i){if(!t&&i&&this.globalLogger().throwError("cannot permanently disable censorship",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),r){if(!t)return;this.globalLogger().throwError("error censorship permanent",e.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}n=!!t,r=!!i},e.setLogLevel=function(t){var r=i[t];null!=r?o=r:e.globalLogger().warn("invalid log level - "+t)},e.errors=c,e.levels=s,e}();t.Logger=f}))),l=(r(c),c.LogLevel,c.ErrorCode,c.Logger,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="bytes/5.0.1"}))),f=(r(l),l.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(l.version);function n(e){return!!e.toHexString}function i(e){return e.slice||(e.slice=function(){var t=Array.prototype.slice.call(arguments);return i(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function o(e){return h(e)&&!(e.length%2)||a(e)}function a(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(var t=0;t=256||r%1)return!1}return!0}function s(e,t){if(t||(t={}),"number"==typeof e){r.checkSafeUint53(e,"invalid arrayify value");for(var o=[];e;)o.unshift(255&e),e=parseInt(String(e/256));return 0===o.length&&o.push(0),i(new Uint8Array(o))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),n(e)&&(e=e.toHexString()),h(e)){var s=e.substring(2);s.length%2&&("left"===t.hexPad?s="0x0"+s.substring(2):"right"===t.hexPad?s+="0":r.throwArgumentError("hex data is odd-length","value",e));o=[];for(var u=0;ut&&r.throwArgumentError("value out of range","value",arguments[0]);var n=new Uint8Array(t);return n.set(e,t-e.length),i(n)}function h(e,t){return!("string"!=typeof e||!e.match(/^0x[0-9A-Fa-f]*$/))&&(!t||e.length===2+2*t)}t.isBytesLike=o,t.isBytes=a,t.arrayify=s,t.concat=u,t.stripZeros=function(e){var t=s(e);if(0===t.length)return t;for(var r=0;r>4]+"0123456789abcdef"[15&u]}return o}return r.throwArgumentError("invalid hexlify value","value",e)}function p(e){"string"!=typeof e&&(e=d(e)),h(e)||r.throwArgumentError("invalid hex string","value",e),e=e.substring(2);for(var t=0;t2*t+2&&r.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function m(e){var t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(o(e)){var n=s(e);65!==n.length&&r.throwArgumentError("invalid signature string; must be 65 bytes","signature",e),t.r=d(n.slice(0,32)),t.s=d(n.slice(32,64)),t.v=n[64],t.recoveryParam=1-t.v%2,t.v<27&&(0===t.v||1===t.v?t.v+=27:r.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam&&(n[32]|=128),t._vs=d(n.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){var i=f(s(t._vs),32);t._vs=d(i);var a=i[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=a:t.recoveryParam!==a&&r.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),i[0]&=127;var u=d(i);null==t.s?t.s=u:t.s!==u&&r.throwArgumentError("signature v mismatch _vs","signature",e)}null==t.recoveryParam?null==t.v?r.throwArgumentError("signature missing v and recoveryParam","signature",e):t.recoveryParam=1-t.v%2:null==t.v?t.v=27+t.recoveryParam:t.recoveryParam!==1-t.v%2&&r.throwArgumentError("signature recoveryParam mismatch v","signature",e),null!=t.r&&h(t.r)?t.r=g(t.r,32):r.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&h(t.s)?t.s=g(t.s,32):r.throwArgumentError("signature missing or invalid s","signature",e);var c=s(t.s);c[0]>=128&&r.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(c[0]|=128);var l=d(c);t._vs&&(h(t._vs)||r.throwArgumentError("signature invalid _vs","signature",e),t._vs=g(t._vs,32)),null==t._vs?t._vs=l:t._vs!==l&&r.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t}t.hexlify=d,t.hexDataLength=function(e){if("string"!=typeof e)e=d(e);else if(!h(e)||e.length%2)return null;return(e.length-2)/2},t.hexDataSlice=function(e,t,n){return"string"!=typeof e?e=d(e):(!h(e)||e.length%2)&&r.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=n?"0x"+e.substring(t,2+2*n):"0x"+e.substring(t)},t.hexConcat=function(e){var t="0x";return e.forEach((function(e){t+=d(e).substring(2)})),t},t.hexValue=function(e){var t=p(d(e,{hexPad:"left"}));return"0x"===t?"0x0":t},t.hexStripZeros=p,t.hexZeroPad=g,t.splitSignature=m,t.joinSignature=function(e){return d(u([(e=m(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}}))),h=(r(f),f.isBytesLike,f.isBytes,f.arrayify,f.concat,f.stripZeros,f.zeroPad,f.isHexString,f.hexlify,f.hexDataLength,f.hexDataSlice,f.hexConcat,f.hexValue,f.hexStripZeros,f.hexZeroPad,f.splitSignature,f.joinSignature,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="bignumber/5.0.1"}))),d=(r(h),h.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(h.version),n={};t.isBigNumberish=function(e){return null!=e&&(i.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||f.isHexString(e)||"bigint"==typeof e||f.isBytes(e))};var i=function(){function e(t,i){var o=this.constructor;r.checkNew(o,e),t!==n&&r.throwError("cannot call constructor directly; use BigNumber.from",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=i,this._isBigNumber=!0,Object.freeze(this)}return e.prototype.fromTwos=function(e){return a(u(this).fromTwos(e))},e.prototype.toTwos=function(e){return a(u(this).toTwos(e))},e.prototype.abs=function(){return"-"===this._hex[0]?e.from(this._hex.substring(1)):this},e.prototype.add=function(e){return a(u(this).add(u(e)))},e.prototype.sub=function(e){return a(u(this).sub(u(e)))},e.prototype.div=function(t){return e.from(t).isZero()&&l("division by zero","div"),a(u(this).div(u(t)))},e.prototype.mul=function(e){return a(u(this).mul(u(e)))},e.prototype.mod=function(e){var t=u(e);return t.isNeg()&&l("cannot modulo negative values","mod"),a(u(this).umod(t))},e.prototype.pow=function(e){return a(u(this).pow(u(e)))},e.prototype.and=function(e){var t=u(e);return(this.isNegative()||t.isNeg())&&l("cannot 'and' negative values","and"),a(u(this).and(t))},e.prototype.or=function(e){var t=u(e);return(this.isNegative()||t.isNeg())&&l("cannot 'or' negative values","or"),a(u(this).or(t))},e.prototype.xor=function(e){var t=u(e);return(this.isNegative()||t.isNeg())&&l("cannot 'xor' negative values","xor"),a(u(this).xor(t))},e.prototype.mask=function(e){return(this.isNegative()||e<0)&&l("cannot mask negative values","mask"),a(u(this).maskn(e))},e.prototype.shl=function(e){return(this.isNegative()||e<0)&&l("cannot shift negative values","shl"),a(u(this).shln(e))},e.prototype.shr=function(e){return(this.isNegative()||e<0)&&l("cannot shift negative values","shr"),a(u(this).shrn(e))},e.prototype.eq=function(e){return u(this).eq(u(e))},e.prototype.lt=function(e){return u(this).lt(u(e))},e.prototype.lte=function(e){return u(this).lte(u(e))},e.prototype.gt=function(e){return u(this).gt(u(e))},e.prototype.gte=function(e){return u(this).gte(u(e))},e.prototype.isNegative=function(){return"-"===this._hex[0]},e.prototype.isZero=function(){return u(this).isZero()},e.prototype.toNumber=function(){try{return u(this).toNumber()}catch(e){l("overflow","toNumber",this.toString())}return null},e.prototype.toString=function(){return 0!==arguments.length&&r.throwError("bigNumber.toString does not accept parameters",c.Logger.errors.UNEXPECTED_ARGUMENT,{}),u(this).toString(10)},e.prototype.toHexString=function(){return this._hex},e.from=function(t){return t instanceof e?t:"string"==typeof t?t.match(/-?0x[0-9a-f]+/i)?new e(n,o(t)):t.match(/^-?[0-9]+$/)?new e(n,o(new s.BN(t))):r.throwArgumentError("invalid BigNumber string","value",t):"number"==typeof t?(t%1&&l("underflow","BigNumber.from",t),(t>=9007199254740991||t<=-9007199254740991)&&l("overflow","BigNumber.from",t),e.from(String(t))):"bigint"==typeof t?e.from(t.toString()):f.isBytes(t)?e.from(f.hexlify(t)):t._hex&&f.isHexString(t._hex)?e.from(t._hex):t.toHexString&&"string"==typeof(t=t.toHexString())?e.from(t):r.throwArgumentError("invalid BigNumber value","value",t)},e.isBigNumber=function(e){return!(!e||!e._isBigNumber)},e}();function o(e){if("string"!=typeof e)return o(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&r.throwArgumentError("invalid hex","value",e),"0x00"===(e=o(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function a(e){return i.from(o(e))}function u(e){var t=i.from(e).toHexString();return"-"===t[0]?new s.BN("-"+t.substring(3),16):new s.BN(t.substring(2),16)}function l(e,t,n){var i={fault:e,operation:t};return null!=n&&(i.value=n),r.throwError(e,c.Logger.errors.NUMERIC_FAULT,i)}t.BigNumber=i}))),p=(r(d),d.isBigNumberish,d.BigNumber,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(h.version),n={},i=d.BigNumber.from(0),o=d.BigNumber.from(-1);function a(e,t,n,i){var o={fault:t,operation:n};return void 0!==i&&(o.value=i),r.throwError(e,c.Logger.errors.NUMERIC_FAULT,o)}for(var s="0";s.length<256;)s+=s;function u(e){if("number"!=typeof e)try{e=d.BigNumber.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+s.substring(0,e):r.throwArgumentError("invalid decimal size","decimals",e)}function l(e,t){null==t&&(t=0);var r=u(t),n=(e=d.BigNumber.from(e)).lt(i);n&&(e=e.mul(o));for(var a=e.mod(r).toString();a.length2&&r.throwArgumentError("too many decimal points","value",e);var c=s[0],l=s[1];for(c||(c="0"),l||(l="0"),l.length>n.length-1&&a("fractional component exceeds decimals","underflow","parseFixed");l.length80&&r.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",a),new e(n,i,o,a)},e}();t.FixedFormat=g;var m=function(){function e(t,n,i,o){var a=this.constructor;r.checkNew(a,e),this.format=o,this._hex=n,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}return e.prototype._checkFormat=function(e){this.format.name!==e.format.name&&r.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)},e.prototype.addUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.add(n),this.format.decimals,this.format)},e.prototype.subUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.sub(n),this.format.decimals,this.format)},e.prototype.mulUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)},e.prototype.divUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)},e.prototype.round=function(t){null==t&&(t=0),(t<0||t>80||t%1)&&r.throwArgumentError("invalid decimal count","decimals",t);var n=this.toString().split(".");if(n[1].length<=t)return this;var i="0."+s.substring(0,t)+"5";return n=this.addUnsafe(e.fromString(i,this.format))._value.split("."),e.fromString(n[0]+"."+n[1].substring(0,t))},e.prototype.toString=function(){return this._value},e.prototype.toHexString=function(e){if(null==e)return this._hex;e%8&&r.throwArgumentError("invalid byte width","width",e);var t=d.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return f.hexZeroPad(t,e/8)},e.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())},e.prototype.toFormat=function(t){return e.fromString(this._value,t)},e.fromValue=function(t,r,n){return null!=n||null==r||d.isBigNumberish(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),e.fromString(l(t,r),g.from(n))},e.fromString=function(t,r){null==r&&(r="fixed");var o=g.from(r),s=p(t,o.decimals);!o.signed&&s.lt(i)&&a("unsigned value cannot be negative","overflow","value",t);var u=null;o.signed?u=s.toTwos(o.width).toHexString():(u=s.toHexString(),u=f.hexZeroPad(u,o.width/8));var c=l(s,o.decimals);return new e(n,u,c,o)},e.fromBytes=function(t,r){null==r&&(r="fixed");var i=g.from(r);if(f.arrayify(t).length>i.width/8)throw new Error("overflow");var o=d.BigNumber.from(t);i.signed&&(o=o.fromTwos(i.width));var a=o.toTwos((i.signed?0:1)+i.width).toHexString(),s=l(o,i.decimals);return new e(n,a,s,i)},e.from=function(t,n){if("string"==typeof t)return e.fromString(t,n);if(f.isBytes(t))return e.fromBytes(t,n);try{return e.fromValue(t,0,n)}catch(e){if(e.code!==c.Logger.errors.INVALID_ARGUMENT)throw e}return r.throwArgumentError("invalid FixedNumber value","value",t)},e.isFixedNumber=function(e){return!(!e||!e._isFixedNumber)},e}();t.FixedNumber=m}))),g=(r(p),p.formatFixed,p.parseFixed,p.FixedFormat,p.FixedNumber,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.BigNumber=d.BigNumber,t.formatFixed=p.formatFixed,t.FixedFormat=p.FixedFormat,t.FixedNumber=p.FixedNumber,t.parseFixed=p.parseFixed}))),m=(r(g),g.BigNumber,g.formatFixed,g.FixedFormat,g.FixedNumber,g.parseFixed,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="properties/5.0.1"}))),y=(r(m),m.version,n((function(e,r){var n=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function s(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},i=t&&t.__generator||function(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0||"tuple"===e)&&u[t])return!0;return(s[t]||"payable"===t)&&o.throwArgumentError("invalid modifier","name",t),!1}function f(e,t){for(var r in t)y.defineReadOnly(e,r,t[r])}r.FormatTypes=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});var h=new RegExp(/^(.*)\[([0-9]*)\]$/),d=function(){function e(t,r){t!==a&&o.throwError("use fromString",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),f(this,r);var n=this.type.match(h);f(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:e.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}return e.prototype.format=function(e){if(e||(e=r.FormatTypes.sighash),r.FormatTypes[e]||o.throwArgumentError("invalid format type","format",e),e===r.FormatTypes.json){var t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map((function(t){return JSON.parse(t.format(e))}))),JSON.stringify(t)}var n="";return"array"===this.baseType?(n+=this.arrayChildren.format(e),n+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(e!==r.FormatTypes.sighash&&(n+=this.type),n+="("+this.components.map((function(t){return t.format(e)})).join(e===r.FormatTypes.full?", ":",")+")"):n+=this.type,e!==r.FormatTypes.sighash&&(!0===this.indexed&&(n+=" indexed"),e===r.FormatTypes.full&&this.name&&(n+=" "+this.name)),n},e.from=function(t,r){return"string"==typeof t?e.fromString(t,r):e.fromObject(t)},e.fromObject=function(t){return e.isParamType(t)?t:new e(a,{name:t.name||null,type:S(t.type),indexed:null==t.indexed?null:!!t.indexed,components:t.components?t.components.map(e.fromObject):null})},e.fromString=function(t,r){return function(t){return e.fromObject({name:t.name,type:t.type,indexed:t.indexed,components:t.components})}(function(e,t){var r=e;function n(t){o.throwArgumentError("unexpected character at position "+t,"param",e)}function i(e){var r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");for(var a={type:"",name:"",state:{allowType:!0}},s=a,u=0;u2&&o.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||o.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=g.BigNumber.from(r[1]),r[0]):e}function _(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach((function(e){switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}}))}function E(e){var t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&o.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&o.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||o.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&o.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&o.throwArgumentError("unable to determine stateMutability","value",e),t}r.EventFragment=b;var k=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.format=function(e){if(e||(e=r.FormatTypes.sighash),r.FormatTypes[e]||o.throwArgumentError("invalid format type","format",e),e===r.FormatTypes.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))}))});e===r.FormatTypes.sighash&&o.throwError("cannot format a constructor for sighash",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var t="constructor("+this.inputs.map((function(t){return t.format(e)})).join(e===r.FormatTypes.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()},t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(t.isConstructorFragment(e))return e;"constructor"!==e.type&&o.throwArgumentError("invalid constructor object","value",e);var r=E(e);r.constant&&o.throwArgumentError("constructor cannot be constant","value",e);var n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?g.BigNumber.from(e.gas):null};return new t(a,n)},t.fromString=function(e){var r={type:"constructor"},n=(e=w(e,r)).match(x);return n&&"constructor"===n[1].trim()||o.throwArgumentError("invalid constructor string","value",e),r.inputs=p(n[2].trim(),!1),_(n[3].trim(),r),t.fromObject(r)},t.isConstructorFragment=function(e){return e&&e._isFragment&&"constructor"===e.type},t}(m);r.ConstructorFragment=k;var P=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.format=function(e){if(e||(e=r.FormatTypes.sighash),r.FormatTypes[e]||o.throwArgumentError("invalid format type","format",e),e===r.FormatTypes.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(t){return JSON.parse(t.format(e))})),ouputs:this.outputs.map((function(t){return JSON.parse(t.format(e))}))});var t="";return e!==r.FormatTypes.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map((function(t){return t.format(e)})).join(e===r.FormatTypes.full?", ":",")+") ",e!==r.FormatTypes.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map((function(t){return t.format(e)})).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()},t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(t.isFunctionFragment(e))return e;"function"!==e.type&&o.throwArgumentError("invalid function object","value",e);var r=E(e),n={type:e.type,name:M(e.name),constant:r.constant,inputs:e.inputs?e.inputs.map(d.fromObject):[],outputs:e.outputs?e.outputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?g.BigNumber.from(e.gas):null};return new t(a,n)},t.fromString=function(e){var r={type:"function"},n=(e=w(e,r)).split(" returns ");n.length>2&&o.throwArgumentError("invalid function string","value",e);var i=n[0].match(x);if(i||o.throwArgumentError("invalid function signature","value",e),r.name=i[1].trim(),r.name&&M(r.name),r.inputs=p(i[2],!1),_(i[3].trim(),r),n.length>1){var a=n[1].match(x);""==a[1].trim()&&""==a[3].trim()||o.throwArgumentError("unexpected tokens","value",e),r.outputs=p(a[2],!1)}else r.outputs=[];return t.fromObject(r)},t.isFunctionFragment=function(e){return e&&e._isFragment&&"function"===e.type},t}(k);function S(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}r.FunctionFragment=P;var A=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function M(e){return e&&e.match(A)||o.throwArgumentError('invalid identifier "'+e+'"',"value",e),e}var x=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")}))),w=(r(b),b.FormatTypes,b.ParamType,b.Fragment,b.EventFragment,b.ConstructorFragment,b.FunctionFragment,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(v.version);t.checkResultErrors=function(e){var t=[],r=function(e,n){if(Array.isArray(n))for(var i in n){var o=e.slice();o.push(i);try{r(o,n[i])}catch(e){t.push({path:o,error:e})}}};return r([],e),t};var n=function(){function e(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}return e.prototype._throwError=function(e,t){r.throwArgumentError(e,this.localName,t)},e}();t.Coder=n;var i=function(){function e(e){y.defineReadOnly(this,"wordSize",e||32),this._data=f.arrayify([]),this._padding=new Uint8Array(e)}return Object.defineProperty(e.prototype,"data",{get:function(){return f.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._data.length},enumerable:!0,configurable:!0}),e.prototype._writeData=function(e){return this._data=f.concat([this._data,e]),e.length},e.prototype.writeBytes=function(e){var t=f.arrayify(e);return t.length%this.wordSize&&(t=f.concat([t,this._padding.slice(t.length%this.wordSize)])),this._writeData(t)},e.prototype._getValue=function(e){var t=f.arrayify(g.BigNumber.from(e));return t.length>this.wordSize&&r.throwError("value out-of-bounds",c.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=f.concat([this._padding.slice(t.length%this.wordSize),t])),t},e.prototype.writeValue=function(e){return this._writeData(this._getValue(e))},e.prototype.writeUpdatableValue=function(){var e=this,t=this.length;return this.writeValue(0),function(r){e._data.set(e._getValue(r),t)}},e}();t.Writer=i;var o=function(){function e(e,t,r){y.defineReadOnly(this,"_data",f.arrayify(e)),y.defineReadOnly(this,"wordSize",t||32),y.defineReadOnly(this,"_coerceFunc",r),this._offset=0}return Object.defineProperty(e.prototype,"data",{get:function(){return f.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"consumed",{get:function(){return this._offset},enumerable:!0,configurable:!0}),e.coerce=function(e,t){var r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t},e.prototype.coerce=function(t,r){return this._coerceFunc?this._coerceFunc(t,r):e.coerce(t,r)},e.prototype._peekBytes=function(e,t){var n=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&r.throwError("data out-of-bounds",c.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n}),this._data.slice(this._offset,this._offset+n)},e.prototype.subReader=function(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc)},e.prototype.readBytes=function(e){var t=this._peekBytes(0,e);return this._offset+=t.length,t.slice(0,e)},e.prototype.readValue=function(){return g.BigNumber.from(this.readBytes(this.wordSize))},e}();t.Reader=o}))),_=(r(w),w.checkResultErrors,w.Coder,w.Writer,w.Reader,n((function(e){ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).ethers={})}(this,(function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function n(t,e){return t(e={exports:{}},e.exports),e.exports}function i(t){return t&&t.default||t}var o=Object.freeze({default:{}}),s=i(o),a=n((function(t){!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function n(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=i:e.BN=i,i.BN=i,i.wordSize=26;try{o=s.Buffer}catch(t){}function a(t,e,r){for(var n=0,i=Math.min(t.length,r),o=e;o=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return i}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=a(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,l=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var l=1;l>>26,c=67108863&u,f=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=f;d++){var p=l-d|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[l]=0|c,u=0|h}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],d=c[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);n=(p=p.idivn(d)).isZero()?m+n:l[f-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,l=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),l[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],v=8191&g,y=g>>>13,b=0|s[3],w=8191&b,_=b>>>13,M=0|s[4],E=8191&M,k=M>>>13,S=0|s[5],P=8191&S,A=S>>>13,x=0|s[6],N=8191&x,O=x>>>13,R=0|s[7],T=8191&R,C=R>>>13,B=0|s[8],I=8191&B,F=B>>>13,L=0|s[9],U=8191&L,j=L>>>13,D=0|a[0],z=8191&D,H=D>>>13,K=0|a[1],q=8191&K,W=K>>>13,G=0|a[2],V=8191&G,J=G>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,tt=Q>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,lt=at>>>13,ht=0|a[8],ct=8191&ht,ft=ht>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(l+(n=Math.imul(c,z))|0)+((8191&(i=(i=Math.imul(c,H))+Math.imul(f,z)|0))<<13)|0;l=((o=Math.imul(f,H))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,H))+Math.imul(m,z)|0,o=Math.imul(m,H);var vt=(l+(n=n+Math.imul(c,q)|0)|0)+((8191&(i=(i=i+Math.imul(c,W)|0)+Math.imul(f,q)|0))<<13)|0;l=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,z),i=(i=Math.imul(v,H))+Math.imul(y,z)|0,o=Math.imul(y,H),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(m,q)|0,o=o+Math.imul(m,W)|0;var yt=(l+(n=n+Math.imul(c,V)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(f,V)|0))<<13)|0;l=((o=o+Math.imul(f,J)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,z),i=(i=Math.imul(w,H))+Math.imul(_,z)|0,o=Math.imul(_,H),n=n+Math.imul(v,q)|0,i=(i=i+Math.imul(v,W)|0)+Math.imul(y,q)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,J)|0;var bt=(l+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,$)|0)+Math.imul(f,X)|0))<<13)|0;l=((o=o+Math.imul(f,$)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(E,z),i=(i=Math.imul(E,H))+Math.imul(k,z)|0,o=Math.imul(k,H),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,W)|0)+Math.imul(_,q)|0,o=o+Math.imul(_,W)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,$)|0;var wt=(l+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(f,Y)|0))<<13)|0;l=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,z),i=(i=Math.imul(P,H))+Math.imul(A,z)|0,o=Math.imul(A,H),n=n+Math.imul(E,q)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(k,q)|0,o=o+Math.imul(k,W)|0,n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,tt)|0;var _t=(l+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(f,rt)|0))<<13)|0;l=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(N,z),i=(i=Math.imul(N,H))+Math.imul(O,z)|0,o=Math.imul(O,H),n=n+Math.imul(P,q)|0,i=(i=i+Math.imul(P,W)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,W)|0,n=n+Math.imul(E,V)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(l+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;l=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,z),i=(i=Math.imul(T,H))+Math.imul(C,z)|0,o=Math.imul(C,H),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,W)|0)+Math.imul(O,q)|0,o=o+Math.imul(O,W)|0,n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var Et=(l+(n=n+Math.imul(c,ut)|0)|0)+((8191&(i=(i=i+Math.imul(c,lt)|0)+Math.imul(f,ut)|0))<<13)|0;l=((o=o+Math.imul(f,lt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,H))+Math.imul(F,z)|0,o=Math.imul(F,H),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(C,q)|0,o=o+Math.imul(C,W)|0,n=n+Math.imul(N,V)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,$)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,lt)|0;var kt=(l+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;l=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(U,z),i=(i=Math.imul(U,H))+Math.imul(j,z)|0,o=Math.imul(j,H),n=n+Math.imul(I,q)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(F,q)|0,o=o+Math.imul(F,W)|0,n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(C,V)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,$)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,st)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,lt)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,ft)|0;var St=(l+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(f,pt)|0))<<13)|0;l=((o=o+Math.imul(f,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,W))+Math.imul(j,q)|0,o=Math.imul(j,W),n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(F,V)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,lt)|0,n=n+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ct)|0,o=o+Math.imul(y,ft)|0;var Pt=(l+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;l=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(U,V),i=(i=Math.imul(U,J))+Math.imul(j,V)|0,o=Math.imul(j,J),n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(E,ut)|0,i=(i=i+Math.imul(E,lt)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,lt)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,ft)|0;var At=(l+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;l=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(U,X),i=(i=Math.imul(U,$))+Math.imul(j,X)|0,o=Math.imul(j,$),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,lt)|0,n=n+Math.imul(E,ct)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(k,ct)|0,o=o+Math.imul(k,ft)|0;var xt=(l+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;l=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(U,Y),i=(i=Math.imul(U,tt))+Math.imul(j,Y)|0,o=Math.imul(j,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(F,rt)|0,o=o+Math.imul(F,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,lt)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,lt)|0,n=n+Math.imul(P,ct)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var Nt=(l+(n=n+Math.imul(E,pt)|0)|0)+((8191&(i=(i=i+Math.imul(E,mt)|0)+Math.imul(k,pt)|0))<<13)|0;l=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(U,rt),i=(i=Math.imul(U,nt))+Math.imul(j,rt)|0,o=Math.imul(j,nt),n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(F,ot)|0,o=o+Math.imul(F,st)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,lt)|0)+Math.imul(C,ut)|0,o=o+Math.imul(C,lt)|0,n=n+Math.imul(N,ct)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(O,ct)|0,o=o+Math.imul(O,ft)|0;var Ot=(l+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(A,pt)|0))<<13)|0;l=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(U,ot),i=(i=Math.imul(U,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,lt)|0)+Math.imul(F,ut)|0,o=o+Math.imul(F,lt)|0,n=n+Math.imul(T,ct)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(C,ct)|0,o=o+Math.imul(C,ft)|0;var Rt=(l+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(O,pt)|0))<<13)|0;l=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(U,ut),i=(i=Math.imul(U,lt))+Math.imul(j,ut)|0,o=Math.imul(j,lt),n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,ft)|0)+Math.imul(F,ct)|0,o=o+Math.imul(F,ft)|0;var Tt=(l+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(C,pt)|0))<<13)|0;l=((o=o+Math.imul(C,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(U,ct),i=(i=Math.imul(U,ft))+Math.imul(j,ct)|0,o=Math.imul(j,ft);var Ct=(l+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(F,pt)|0))<<13)|0;l=((o=o+Math.imul(F,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863;var Bt=(l+(n=Math.imul(U,pt))|0)+((8191&(i=(i=Math.imul(U,mt))+Math.imul(j,pt)|0))<<13)|0;return l=((o=Math.imul(j,mt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,u[0]=gt,u[1]=vt,u[2]=yt,u[3]=bt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=Et,u[8]=kt,u[9]=St,u[10]=Pt,u[11]=At,u[12]=xt,u[13]=Nt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=Ct,u[18]=Bt,0!==l&&(u[19]=l,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,l=0;l=0&&(0!==h||l>=i);l--){var c=0|this.words[l];this.words[l]=h<<26-o|c>>>o,h=c&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),n.iushln(r),s=0|o.words[o.length-1]);var a,u=n.length-o.length;if("mod"!==e){(a=new i(null)).length=u+1,a.words=new Array(a.length);for(var l=0;l=0;c--){var f=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(o,f,c);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),s=new i(0),a=new i(0),u=new i(1),l=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++l;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(h),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(c)),a.iushrn(1),u.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(a),s.isub(u)):(n.isub(e),a.isub(o),u.isub(s))}return{a:a,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new i(1),a=new i(0),u=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,h=1;0==(e.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(e.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var c=0,f=1;0==(n.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(n.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new M(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function E(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return g[t]=e,e},M.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new i(1).toRed(this),u=a.redNeg(),l=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,l).cmp(u);)h.redIAdd(u);for(var c=this.pow(h,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;n--){for(var l=e.words[n],h=u-1;h>=0;h--){var c=l>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===n&&0===h)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}u=26}return o},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new E(t)},n(E,M),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,e)})),u=(a.BN,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="logger/5.0.2"}))),l=(r(u),u.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=!1,n=!1,i={debug:1,default:2,info:2,warning:3,error:4,off:5},o=i.default,s=null;var a,l,h=function(){try{var t=[];if(["NFD","NFC","NFKD","NFKC"].forEach((function(e){try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(r){t.push(e)}})),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();!function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(a=e.LogLevel||(e.LogLevel={})),function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT"}(l=e.ErrorCode||(e.ErrorCode={}));var c=function(){function t(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}return t.prototype._log=function(t,e){var r=t.toLowerCase();null==i[r]&&this.throwArgumentError("invalid log level name","logLevel",t),o>i[r]||console.log.apply(console,e)},t.prototype.debug=function(){for(var e=[],r=0;r=9007199254740991)&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,t.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))},t.prototype.checkArgumentCount=function(e,r,n){n=n?": "+n:"",er&&this.throwError("too many arguments"+n,t.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})},t.prototype.checkNew=function(e,r){e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})},t.prototype.checkAbstract=function(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",t.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",t.errors.MISSING_NEW,{name:r.name})},t.globalLogger=function(){return s||(s=new t(u.version)),s},t.setCensorship=function(e,i){if(!e&&i&&this.globalLogger().throwError("cannot permanently disable censorship",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),r){if(!e)return;this.globalLogger().throwError("error censorship permanent",t.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}n=!!e,r=!!i},t.setLogLevel=function(e){var r=i[e];null!=r?o=r:t.globalLogger().warn("invalid log level - "+e)},t.errors=l,t.levels=a,t}();e.Logger=c}))),h=(r(l),l.LogLevel,l.ErrorCode,l.Logger,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="bytes/5.0.1"}))),c=(r(h),h.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(h.version);function n(t){return!!t.toHexString}function i(t){return t.slice||(t.slice=function(){var e=Array.prototype.slice.call(arguments);return i(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function o(t){return f(t)&&!(t.length%2)||s(t)}function s(t){if(null==t)return!1;if(t.constructor===Uint8Array)return!0;if("string"==typeof t)return!1;if(null==t.length)return!1;for(var e=0;e=256||r%1)return!1}return!0}function a(t,e){if(e||(e={}),"number"==typeof t){r.checkSafeUint53(t,"invalid arrayify value");for(var o=[];t;)o.unshift(255&t),t=parseInt(String(t/256));return 0===o.length&&o.push(0),i(new Uint8Array(o))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),n(t)&&(t=t.toHexString()),f(t)){var a=t.substring(2);a.length%2&&("left"===e.hexPad?a="0x0"+a.substring(2):"right"===e.hexPad?a+="0":r.throwArgumentError("hex data is odd-length","value",t));o=[];for(var u=0;ue&&r.throwArgumentError("value out of range","value",arguments[0]);var n=new Uint8Array(e);return n.set(t,e-t.length),i(n)}function f(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}e.isBytesLike=o,e.isBytes=s,e.arrayify=a,e.concat=u,e.stripZeros=function(t){var e=a(t);if(0===e.length)return e;for(var r=0;r>4]+"0123456789abcdef"[15&u]}return o}return r.throwArgumentError("invalid hexlify value","value",t)}function p(t){"string"!=typeof t&&(t=d(t)),f(t)||r.throwArgumentError("invalid hex string","value",t),t=t.substring(2);for(var e=0;e2*e+2&&r.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function g(t){var e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(o(t)){var n=a(t);65!==n.length&&r.throwArgumentError("invalid signature string; must be 65 bytes","signature",t),e.r=d(n.slice(0,32)),e.s=d(n.slice(32,64)),e.v=n[64],e.recoveryParam=1-e.v%2,e.v<27&&(0===e.v||1===e.v?e.v+=27:r.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam&&(n[32]|=128),e._vs=d(n.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){var i=c(a(e._vs),32);e._vs=d(i);var s=i[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=s:e.recoveryParam!==s&&r.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),i[0]&=127;var u=d(i);null==e.s?e.s=u:e.s!==u&&r.throwArgumentError("signature v mismatch _vs","signature",t)}null==e.recoveryParam?null==e.v?r.throwArgumentError("signature missing v and recoveryParam","signature",t):e.recoveryParam=1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==1-e.v%2&&r.throwArgumentError("signature recoveryParam mismatch v","signature",t),null!=e.r&&f(e.r)?e.r=m(e.r,32):r.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&f(e.s)?e.s=m(e.s,32):r.throwArgumentError("signature missing or invalid s","signature",t);var l=a(e.s);l[0]>=128&&r.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(l[0]|=128);var h=d(l);e._vs&&(f(e._vs)||r.throwArgumentError("signature invalid _vs","signature",t),e._vs=m(e._vs,32)),null==e._vs?e._vs=h:e._vs!==h&&r.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e}e.hexlify=d,e.hexDataLength=function(t){if("string"!=typeof t)t=d(t);else if(!f(t)||t.length%2)return null;return(t.length-2)/2},e.hexDataSlice=function(t,e,n){return"string"!=typeof t?t=d(t):(!f(t)||t.length%2)&&r.throwArgumentError("invalid hexData","value",t),e=2+2*e,null!=n?"0x"+t.substring(e,2+2*n):"0x"+t.substring(e)},e.hexConcat=function(t){var e="0x";return t.forEach((function(t){e+=d(t).substring(2)})),e},e.hexValue=function(t){var e=p(d(t,{hexPad:"left"}));return"0x"===e?"0x0":e},e.hexStripZeros=p,e.hexZeroPad=m,e.splitSignature=g,e.joinSignature=function(t){return d(u([(t=g(t)).r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}}))),f=(r(c),c.isBytesLike,c.isBytes,c.arrayify,c.concat,c.stripZeros,c.zeroPad,c.isHexString,c.hexlify,c.hexDataLength,c.hexDataSlice,c.hexConcat,c.hexValue,c.hexStripZeros,c.hexZeroPad,c.splitSignature,c.joinSignature,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="bignumber/5.0.1"}))),d=(r(f),f.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(f.version),n={};e.isBigNumberish=function(t){return null!=t&&(i.isBigNumber(t)||"number"==typeof t&&t%1==0||"string"==typeof t&&!!t.match(/^-?[0-9]+$/)||c.isHexString(t)||"bigint"==typeof t||c.isBytes(t))};var i=function(){function t(e,i){var o=this.constructor;r.checkNew(o,t),e!==n&&r.throwError("cannot call constructor directly; use BigNumber.from",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=i,this._isBigNumber=!0,Object.freeze(this)}return t.prototype.fromTwos=function(t){return s(u(this).fromTwos(t))},t.prototype.toTwos=function(t){return s(u(this).toTwos(t))},t.prototype.abs=function(){return"-"===this._hex[0]?t.from(this._hex.substring(1)):this},t.prototype.add=function(t){return s(u(this).add(u(t)))},t.prototype.sub=function(t){return s(u(this).sub(u(t)))},t.prototype.div=function(e){return t.from(e).isZero()&&h("division by zero","div"),s(u(this).div(u(e)))},t.prototype.mul=function(t){return s(u(this).mul(u(t)))},t.prototype.mod=function(t){var e=u(t);return e.isNeg()&&h("cannot modulo negative values","mod"),s(u(this).umod(e))},t.prototype.pow=function(t){return s(u(this).pow(u(t)))},t.prototype.and=function(t){var e=u(t);return(this.isNegative()||e.isNeg())&&h("cannot 'and' negative values","and"),s(u(this).and(e))},t.prototype.or=function(t){var e=u(t);return(this.isNegative()||e.isNeg())&&h("cannot 'or' negative values","or"),s(u(this).or(e))},t.prototype.xor=function(t){var e=u(t);return(this.isNegative()||e.isNeg())&&h("cannot 'xor' negative values","xor"),s(u(this).xor(e))},t.prototype.mask=function(t){return(this.isNegative()||t<0)&&h("cannot mask negative values","mask"),s(u(this).maskn(t))},t.prototype.shl=function(t){return(this.isNegative()||t<0)&&h("cannot shift negative values","shl"),s(u(this).shln(t))},t.prototype.shr=function(t){return(this.isNegative()||t<0)&&h("cannot shift negative values","shr"),s(u(this).shrn(t))},t.prototype.eq=function(t){return u(this).eq(u(t))},t.prototype.lt=function(t){return u(this).lt(u(t))},t.prototype.lte=function(t){return u(this).lte(u(t))},t.prototype.gt=function(t){return u(this).gt(u(t))},t.prototype.gte=function(t){return u(this).gte(u(t))},t.prototype.isNegative=function(){return"-"===this._hex[0]},t.prototype.isZero=function(){return u(this).isZero()},t.prototype.toNumber=function(){try{return u(this).toNumber()}catch(t){h("overflow","toNumber",this.toString())}return null},t.prototype.toString=function(){return 0!==arguments.length&&r.throwError("bigNumber.toString does not accept parameters",l.Logger.errors.UNEXPECTED_ARGUMENT,{}),u(this).toString(10)},t.prototype.toHexString=function(){return this._hex},t.from=function(e){return e instanceof t?e:"string"==typeof e?e.match(/-?0x[0-9a-f]+/i)?new t(n,o(e)):e.match(/^-?[0-9]+$/)?new t(n,o(new a.BN(e))):r.throwArgumentError("invalid BigNumber string","value",e):"number"==typeof e?(e%1&&h("underflow","BigNumber.from",e),(e>=9007199254740991||e<=-9007199254740991)&&h("overflow","BigNumber.from",e),t.from(String(e))):"bigint"==typeof e?t.from(e.toString()):c.isBytes(e)?t.from(c.hexlify(e)):e._hex&&c.isHexString(e._hex)?t.from(e._hex):e.toHexString&&"string"==typeof(e=e.toHexString())?t.from(e):r.throwArgumentError("invalid BigNumber value","value",e)},t.isBigNumber=function(t){return!(!t||!t._isBigNumber)},t}();function o(t){if("string"!=typeof t)return o(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&r.throwArgumentError("invalid hex","value",t),"0x00"===(t=o(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function s(t){return i.from(o(t))}function u(t){var e=i.from(t).toHexString();return"-"===e[0]?new a.BN("-"+e.substring(3),16):new a.BN(e.substring(2),16)}function h(t,e,n){var i={fault:t,operation:e};return null!=n&&(i.value=n),r.throwError(t,l.Logger.errors.NUMERIC_FAULT,i)}e.BigNumber=i}))),p=(r(d),d.isBigNumberish,d.BigNumber,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(f.version),n={},i=d.BigNumber.from(0),o=d.BigNumber.from(-1);function s(t,e,n,i){var o={fault:e,operation:n};return void 0!==i&&(o.value=i),r.throwError(t,l.Logger.errors.NUMERIC_FAULT,o)}for(var a="0";a.length<256;)a+=a;function u(t){if("number"!=typeof t)try{t=d.BigNumber.from(t).toNumber()}catch(t){}return"number"==typeof t&&t>=0&&t<=256&&!(t%1)?"1"+a.substring(0,t):r.throwArgumentError("invalid decimal size","decimals",t)}function h(t,e){null==e&&(e=0);var r=u(e),n=(t=d.BigNumber.from(t)).lt(i);n&&(t=t.mul(o));for(var s=t.mod(r).toString();s.length2&&r.throwArgumentError("too many decimal points","value",t);var l=a[0],h=a[1];for(l||(l="0"),h||(h="0"),h.length>n.length-1&&s("fractional component exceeds decimals","underflow","parseFixed");h.length80&&r.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",s),new t(n,i,o,s)},t}();e.FixedFormat=m;var g=function(){function t(e,n,i,o){var s=this.constructor;r.checkNew(s,t),this.format=o,this._hex=n,this._value=i,this._isFixedNumber=!0,Object.freeze(this)}return t.prototype._checkFormat=function(t){this.format.name!==t.format.name&&r.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",t)},t.prototype.addUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.add(n),this.format.decimals,this.format)},t.prototype.subUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.sub(n),this.format.decimals,this.format)},t.prototype.mulUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)},t.prototype.divUnsafe=function(e){this._checkFormat(e);var r=p(this._value,this.format.decimals),n=p(e._value,e.format.decimals);return t.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)},t.prototype.round=function(e){null==e&&(e=0),(e<0||e>80||e%1)&&r.throwArgumentError("invalid decimal count","decimals",e);var n=this.toString().split(".");if(n[1].length<=e)return this;var i="0."+a.substring(0,e)+"5";return n=this.addUnsafe(t.fromString(i,this.format))._value.split("."),t.fromString(n[0]+"."+n[1].substring(0,e))},t.prototype.toString=function(){return this._value},t.prototype.toHexString=function(t){if(null==t)return this._hex;t%8&&r.throwArgumentError("invalid byte width","width",t);var e=d.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(t).toHexString();return c.hexZeroPad(e,t/8)},t.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())},t.prototype.toFormat=function(e){return t.fromString(this._value,e)},t.fromValue=function(e,r,n){return null!=n||null==r||d.isBigNumberish(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),t.fromString(h(e,r),m.from(n))},t.fromString=function(e,r){null==r&&(r="fixed");var o=m.from(r),a=p(e,o.decimals);!o.signed&&a.lt(i)&&s("unsigned value cannot be negative","overflow","value",e);var u=null;o.signed?u=a.toTwos(o.width).toHexString():(u=a.toHexString(),u=c.hexZeroPad(u,o.width/8));var l=h(a,o.decimals);return new t(n,u,l,o)},t.fromBytes=function(e,r){null==r&&(r="fixed");var i=m.from(r);if(c.arrayify(e).length>i.width/8)throw new Error("overflow");var o=d.BigNumber.from(e);i.signed&&(o=o.fromTwos(i.width));var s=o.toTwos((i.signed?0:1)+i.width).toHexString(),a=h(o,i.decimals);return new t(n,s,a,i)},t.from=function(e,n){if("string"==typeof e)return t.fromString(e,n);if(c.isBytes(e))return t.fromBytes(e,n);try{return t.fromValue(e,0,n)}catch(t){if(t.code!==l.Logger.errors.INVALID_ARGUMENT)throw t}return r.throwArgumentError("invalid FixedNumber value","value",e)},t.isFixedNumber=function(t){return!(!t||!t._isFixedNumber)},t}();e.FixedNumber=g}))),m=(r(p),p.formatFixed,p.parseFixed,p.FixedFormat,p.FixedNumber,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.BigNumber=d.BigNumber,e.formatFixed=p.formatFixed,e.FixedFormat=p.FixedFormat,e.FixedNumber=p.FixedNumber,e.parseFixed=p.parseFixed}))),g=(r(m),m.BigNumber,m.formatFixed,m.FixedFormat,m.FixedNumber,m.parseFixed,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="properties/5.0.1"}))),v=(r(g),g.version,n((function(t,r){var n=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},i=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0||"tuple"===t)&&u[e])return!0;return(a[e]||"payable"===e)&&o.throwArgumentError("invalid modifier","name",e),!1}function c(t,e){for(var r in e)v.defineReadOnly(t,r,e[r])}r.FormatTypes=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"});var f=new RegExp(/^(.*)\[([0-9]*)\]$/),d=function(){function t(e,r){e!==s&&o.throwError("use fromString",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),c(this,r);var n=this.type.match(f);c(this,n?{arrayLength:parseInt(n[2]||"-1"),arrayChildren:t.fromObject({type:n[1],components:this.components}),baseType:"array"}:{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}return t.prototype.format=function(t){if(t||(t=r.FormatTypes.sighash),r.FormatTypes[t]||o.throwArgumentError("invalid format type","format",t),t===r.FormatTypes.json){var e={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(e.indexed=this.indexed),this.components&&(e.components=this.components.map((function(e){return JSON.parse(e.format(t))}))),JSON.stringify(e)}var n="";return"array"===this.baseType?(n+=this.arrayChildren.format(t),n+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):"tuple"===this.baseType?(t!==r.FormatTypes.sighash&&(n+=this.type),n+="("+this.components.map((function(e){return e.format(t)})).join(t===r.FormatTypes.full?", ":",")+")"):n+=this.type,t!==r.FormatTypes.sighash&&(!0===this.indexed&&(n+=" indexed"),t===r.FormatTypes.full&&this.name&&(n+=" "+this.name)),n},t.from=function(e,r){return"string"==typeof e?t.fromString(e,r):t.fromObject(e)},t.fromObject=function(e){return t.isParamType(e)?e:new t(s,{name:e.name||null,type:S(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(t.fromObject):null})},t.fromString=function(e,r){return function(e){return t.fromObject({name:e.name,type:e.type,indexed:e.indexed,components:e.components})}(function(t,e){var r=t;function n(e){o.throwArgumentError("unexpected character at position "+e,"param",t)}function i(t){var r={type:"",name:"",parent:t,state:{allowType:!0}};return e&&(r.indexed=!1),r}t=t.replace(/\s/g," ");for(var s={type:"",name:"",state:{allowType:!0}},a=s,u=0;u2&&o.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||o.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=m.BigNumber.from(r[1]),r[0]):t}function _(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach((function(t){switch(t.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+t)}}))}function M(t){var e={constant:!1,payable:!0,stateMutability:"payable"};return null!=t.stateMutability?(e.stateMutability=t.stateMutability,e.constant="view"===e.stateMutability||"pure"===e.stateMutability,null!=t.constant&&!!t.constant!==e.constant&&o.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable="payable"===e.stateMutability,null!=t.payable&&!!t.payable!==e.payable&&o.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):null!=t.payable?(e.payable=!!t.payable,null!=t.constant||e.payable||"constructor"===t.type||o.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&o.throwArgumentError("cannot have constant payable function","value",t)):null!=t.constant?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):"constructor"!==t.type&&o.throwArgumentError("unable to determine stateMutability","value",t),e}r.EventFragment=b;var E=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.format=function(t){if(t||(t=r.FormatTypes.sighash),r.FormatTypes[t]||o.throwArgumentError("invalid format type","format",t),t===r.FormatTypes.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))}))});t===r.FormatTypes.sighash&&o.throwError("cannot format a constructor for sighash",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});var e="constructor("+this.inputs.map((function(e){return e.format(t)})).join(t===r.FormatTypes.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "),e.trim()},e.from=function(t){return"string"==typeof t?e.fromString(t):e.fromObject(t)},e.fromObject=function(t){if(e.isConstructorFragment(t))return t;"constructor"!==t.type&&o.throwArgumentError("invalid constructor object","value",t);var r=M(t);r.constant&&o.throwArgumentError("constructor cannot be constant","value",t);var n={name:null,type:t.type,inputs:t.inputs?t.inputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:t.gas?m.BigNumber.from(t.gas):null};return new e(s,n)},e.fromString=function(t){var r={type:"constructor"},n=(t=w(t,r)).match(x);return n&&"constructor"===n[1].trim()||o.throwArgumentError("invalid constructor string","value",t),r.inputs=p(n[2].trim(),!1),_(n[3].trim(),r),e.fromObject(r)},e.isConstructorFragment=function(t){return t&&t._isFragment&&"constructor"===t.type},e}(g);r.ConstructorFragment=E;var k=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.format=function(t){if(t||(t=r.FormatTypes.sighash),r.FormatTypes[t]||o.throwArgumentError("invalid format type","format",t),t===r.FormatTypes.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payble:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map((function(e){return JSON.parse(e.format(t))})),ouputs:this.outputs.map((function(e){return JSON.parse(e.format(t))}))});var e="";return t!==r.FormatTypes.sighash&&(e+="function "),e+=this.name+"("+this.inputs.map((function(e){return e.format(t)})).join(t===r.FormatTypes.full?", ":",")+") ",t!==r.FormatTypes.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(e+=this.stateMutability+" "):this.constant&&(e+="view "),this.outputs&&this.outputs.length&&(e+="returns ("+this.outputs.map((function(e){return e.format(t)})).join(", ")+") "),null!=this.gas&&(e+="@"+this.gas.toString()+" ")),e.trim()},e.from=function(t){return"string"==typeof t?e.fromString(t):e.fromObject(t)},e.fromObject=function(t){if(e.isFunctionFragment(t))return t;"function"!==t.type&&o.throwArgumentError("invalid function object","value",t);var r=M(t),n={type:t.type,name:A(t.name),constant:r.constant,inputs:t.inputs?t.inputs.map(d.fromObject):[],outputs:t.outputs?t.outputs.map(d.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:t.gas?m.BigNumber.from(t.gas):null};return new e(s,n)},e.fromString=function(t){var r={type:"function"},n=(t=w(t,r)).split(" returns ");n.length>2&&o.throwArgumentError("invalid function string","value",t);var i=n[0].match(x);if(i||o.throwArgumentError("invalid function signature","value",t),r.name=i[1].trim(),r.name&&A(r.name),r.inputs=p(i[2],!1),_(i[3].trim(),r),n.length>1){var s=n[1].match(x);""==s[1].trim()&&""==s[3].trim()||o.throwArgumentError("unexpected tokens","value",t),r.outputs=p(s[2],!1)}else r.outputs=[];return e.fromObject(r)},e.isFunctionFragment=function(t){return t&&t._isFragment&&"function"===t.type},e}(E);function S(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}r.FunctionFragment=k;var P=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function A(t){return t&&t.match(P)||o.throwArgumentError('invalid identifier "'+t+'"',"value",t),t}var x=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")}))),w=(r(b),b.FormatTypes,b.ParamType,b.Fragment,b.EventFragment,b.ConstructorFragment,b.FunctionFragment,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(y.version);e.checkResultErrors=function(t){var e=[],r=function(t,n){if(Array.isArray(n))for(var i in n){var o=t.slice();o.push(i);try{r(o,n[i])}catch(t){e.push({path:o,error:t})}}};return r([],t),e};var n=function(){function t(t,e,r,n){this.name=t,this.type=e,this.localName=r,this.dynamic=n}return t.prototype._throwError=function(t,e){r.throwArgumentError(t,this.localName,e)},t}();e.Coder=n;var i=function(){function t(t){v.defineReadOnly(this,"wordSize",t||32),this._data=c.arrayify([]),this._padding=new Uint8Array(t)}return Object.defineProperty(t.prototype,"data",{get:function(){return c.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"length",{get:function(){return this._data.length},enumerable:!0,configurable:!0}),t.prototype._writeData=function(t){return this._data=c.concat([this._data,t]),t.length},t.prototype.writeBytes=function(t){var e=c.arrayify(t);return e.length%this.wordSize&&(e=c.concat([e,this._padding.slice(e.length%this.wordSize)])),this._writeData(e)},t.prototype._getValue=function(t){var e=c.arrayify(m.BigNumber.from(t));return e.length>this.wordSize&&r.throwError("value out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:e.length}),e.length%this.wordSize&&(e=c.concat([this._padding.slice(e.length%this.wordSize),e])),e},t.prototype.writeValue=function(t){return this._writeData(this._getValue(t))},t.prototype.writeUpdatableValue=function(){var t=this,e=this.length;return this.writeValue(0),function(r){t._data.set(t._getValue(r),e)}},t}();e.Writer=i;var o=function(){function t(t,e,r){v.defineReadOnly(this,"_data",c.arrayify(t)),v.defineReadOnly(this,"wordSize",e||32),v.defineReadOnly(this,"_coerceFunc",r),this._offset=0}return Object.defineProperty(t.prototype,"data",{get:function(){return c.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"consumed",{get:function(){return this._offset},enumerable:!0,configurable:!0}),t.coerce=function(t,e){var r=t.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(e=e.toNumber()),e},t.prototype.coerce=function(e,r){return this._coerceFunc?this._coerceFunc(e,r):t.coerce(e,r)},t.prototype._peekBytes=function(t,e){var n=Math.ceil(e/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&r.throwError("data out-of-bounds",l.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n}),this._data.slice(this._offset,this._offset+n)},t.prototype.subReader=function(e){return new t(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc)},t.prototype.readBytes=function(t){var e=this._peekBytes(0,t);return this._offset+=e.length,e.slice(0,t)},t.prototype.readValue=function(){return m.BigNumber.from(this.readBytes(this.wordSize))},t}();e.Reader=o}))),_=(r(w),w.checkResultErrors,w.Coder,w.Writer,w.Reader,n((function(t){ /** * [js-sha3]{@link https://github.com/emn178/js-sha3} * @@ -7,4 +7,4 @@ * @copyright Chen, Yi-Cyuan 2015-2016 * @license MIT */ -!function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=t);for(var n=!r.JS_SHA3_NO_COMMON_JS&&e.exports,i="0123456789abcdef".split(""),o=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],s=[224,256,384,512],u=["hex","buffer","arrayBuffer","array"],c=function(e,t,r){return function(n){return new w(e,t,e).update(n)[r]()}},l=function(e,t,r){return function(n,i){return new w(e,t,i).update(n)[r]()}},f=function(e,t){var r=c(e,t,"hex");r.create=function(){return new w(e,t,e)},r.update=function(e){return r.create().update(e)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}w.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,a=this.blocks,s=this.byteCount,u=this.blockCount,c=0,l=this.s;c>2]|=e[c]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(a[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=s){for(this.start=r-s,this.block=a[u],r=0;r>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+i[15&e]+i[e>>12&15]+i[e>>8&15]+i[e>>20&15]+i[e>>16&15]+i[e>>28&15]+i[e>>24&15];s%t==0&&(_(r),a=0)}return o&&(e=r[a],o>0&&(u+=i[e>>4&15]+i[15&e]),o>1&&(u+=i[e>>12&15]+i[e>>8&15]),o>2&&(u+=i[e>>20&15]+i[e>>16&15])),u},w.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,a=0,s=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(s);for(var u=new Uint32Array(e);a>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;s%r==0&&_(n)}return o&&(e=s<<2,t=n[a],o>0&&(u[e]=255&t),o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u};var _=function(e){var t,r,n,i,o,s,u,c,l,f,h,d,p,g,m,y,v,b,w,_,E,k,P,S,A,M,x,O,N,R,T,C,B,I,F,L,U,j,D,z,H,K,W,q,G,V,J,Z,X,$,Q,Y,ee,te,re,ne,ie,oe,ae,se,ue,ce,le;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],h=e[7]^e[17]^e[27]^e[37]^e[47],t=(d=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(c<<1|l>>>31),r=o^(l<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(f<<1|h>>>31),r=u^(h<<1|f>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(d<<1|p>>>31),r=l^(p<<1|d>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=f^(i<<1|o>>>31),r=h^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,g=e[0],m=e[1],V=e[11]<<4|e[10]>>>28,J=e[10]<<4|e[11]>>>28,O=e[20]<<3|e[21]>>>29,N=e[21]<<3|e[20]>>>29,se=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,K=e[40]<<18|e[41]>>>14,W=e[41]<<18|e[40]>>>14,I=e[2]<<1|e[3]>>>31,F=e[3]<<1|e[2]>>>31,y=e[13]<<12|e[12]>>>20,v=e[12]<<12|e[13]>>>20,Z=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,R=e[33]<<13|e[32]>>>19,T=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,le=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,L=e[14]<<6|e[15]>>>26,U=e[15]<<6|e[14]>>>26,b=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,$=e[34]<<15|e[35]>>>17,Q=e[35]<<15|e[34]>>>17,C=e[45]<<29|e[44]>>>3,B=e[44]<<29|e[45]>>>3,S=e[6]<<28|e[7]>>>4,A=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,j=e[26]<<25|e[27]>>>7,D=e[27]<<25|e[26]>>>7,_=e[36]<<21|e[37]>>>11,E=e[37]<<21|e[36]>>>11,Y=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,G=e[9]<<27|e[8]>>>5,M=e[18]<<20|e[19]>>>12,x=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,ae=e[28]<<7|e[29]>>>25,z=e[38]<<8|e[39]>>>24,H=e[39]<<8|e[38]>>>24,k=e[48]<<14|e[49]>>>18,P=e[49]<<14|e[48]>>>18,e[0]=g^~y&b,e[1]=m^~v&w,e[10]=S^~M&O,e[11]=A^~x&N,e[20]=I^~L&j,e[21]=F^~U&D,e[30]=q^~V&Z,e[31]=G^~J&X,e[40]=te^~ne&oe,e[41]=re^~ie&ae,e[2]=y^~b&_,e[3]=v^~w&E,e[12]=M^~O&R,e[13]=x^~N&T,e[22]=L^~j&z,e[23]=U^~D&H,e[32]=V^~Z&$,e[33]=J^~X&Q,e[42]=ne^~oe&se,e[43]=ie^~ae&ue,e[4]=b^~_&k,e[5]=w^~E&P,e[14]=O^~R&C,e[15]=N^~T&B,e[24]=j^~z&K,e[25]=D^~H&W,e[34]=Z^~$&Y,e[35]=X^~Q&ee,e[44]=oe^~se&ce,e[45]=ae^~ue&le,e[6]=_^~k&g,e[7]=E^~P&m,e[16]=R^~C&S,e[17]=T^~B&A,e[26]=z^~K&I,e[27]=H^~W&F,e[36]=$^~Y&q,e[37]=Q^~ee&G,e[46]=se^~ce&te,e[47]=ue^~le&re,e[8]=k^~g&y,e[9]=P^~m&v,e[18]=C^~S&M,e[19]=B^~A&x,e[28]=K^~I&L,e[29]=W^~F&U,e[38]=Y^~q&V,e[39]=ee^~G&J,e[48]=ce^~te&ne,e[49]=le^~re&ie,e[0]^=a[n],e[1]^=a[n+1]};if(n)e.exports=d;else for(g=0;g>=8;return t}function i(e,t,r){for(var n=0,i=0;it+1+i&&r.throwError("child data too short",c.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+i,result:o}}function a(e,t){if(0===e.length&&r.throwError("data too short",c.Logger.errors.BUFFER_OVERRUN,{}),e[t]>=248){t+1+(s=e[t]-247)>e.length&&r.throwError("data short segment too short",c.Logger.errors.BUFFER_OVERRUN,{});var n=i(e,t+1,s);return t+1+s+n>e.length&&r.throwError("data long segment too short",c.Logger.errors.BUFFER_OVERRUN,{}),o(e,t,t+1+s,s+n)}if(e[t]>=192){var a=e[t]-192;return t+1+a>e.length&&r.throwError("data array too short",c.Logger.errors.BUFFER_OVERRUN,{}),o(e,t,t+1,a)}if(e[t]>=184){var s;t+1+(s=e[t]-183)>e.length&&r.throwError("data array too short",c.Logger.errors.BUFFER_OVERRUN,{});var u=i(e,t+1,s);return t+1+s+u>e.length&&r.throwError("data array too short",c.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+s+u,result:f.hexlify(e.slice(t+1+s,t+1+s+u))}}if(e[t]>=128){var l=e[t]-128;return t+1+l>e.length&&r.throwError("data too short",c.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+l,result:f.hexlify(e.slice(t+1,t+1+l))}}return{consumed:1,result:f.hexlify(e[t])}}t.encode=function(e){return f.hexlify(function e(t){if(Array.isArray(t)){var i=[];if(t.forEach((function(t){i=i.concat(e(t))})),i.length<=55)return i.unshift(192+i.length),i;var o=n(i.length);return o.unshift(247+o.length),o.concat(i)}f.isBytesLike(t)||r.throwArgumentError("RLP object must be BytesLike","object",t);var a=Array.prototype.slice.call(f.arrayify(t));if(1===a.length&&a[0]<=127)return a;if(a.length<=55)return a.unshift(128+a.length),a;var s=n(a.length);return s.unshift(183+s.length),s.concat(a)}(e))},t.decode=function(e){var t=f.arrayify(e),n=a(t,0);return n.consumed!==t.length&&r.throwArgumentError("invalid rlp data","data",e),n.result}}))),S=(r(P),P.encode,P.decode,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="address/5.0.1"}))),A=(r(S),S.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(S.version);function n(e){f.isHexString(e,20)||r.throwArgumentError("invalid address","address",e);for(var t=(e=e.toLowerCase()).substring(2).split(""),n=new Uint8Array(40),i=0;i<40;i++)n[i]=t[i].charCodeAt(0);var o=f.arrayify(E.keccak256(n));for(i=0;i<40;i+=2)o[i>>1]>>4>=8&&(t[i]=t[i].toUpperCase()),(15&o[i>>1])>=8&&(t[i+1]=t[i+1].toUpperCase());return"0x"+t.join("")}for(var i={},o=0;o<10;o++)i[String(o)]=String(o);for(o=0;o<26;o++)i[String.fromCharCode(65+o)]=String(10+o);var a,u=Math.floor((a=9007199254740991,Math.log10?Math.log10(a):Math.log(a)/Math.LN10));function l(e){for(var t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map((function(e){return i[e]})).join("");t.length>=u;){var r=t.substring(0,u);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function h(e){var t=null;if("string"!=typeof e&&r.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=n(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&r.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==l(e)&&r.throwArgumentError("bad icap checksum","address",e),t=new s.BN(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=n("0x"+t)}else r.throwArgumentError("invalid address","address",e);return t}t.getAddress=h,t.isAddress=function(e){try{return h(e),!0}catch(e){}return!1},t.getIcapAddress=function(e){for(var t=new s.BN(h(e).substring(2),16).toString(36).toUpperCase();t.length<30;)t="0"+t;return"XE"+l("XE00"+t)+t},t.getContractAddress=function(e){var t=null;try{t=h(e.from)}catch(t){r.throwArgumentError("missing from address","transaction",e)}var n=f.stripZeros(f.arrayify(g.BigNumber.from(e.nonce).toHexString()));return h(f.hexDataSlice(E.keccak256(P.encode([t,n])),12))},t.getCreate2Address=function(e,t,n){return 32!==f.hexDataLength(t)&&r.throwArgumentError("salt must be 32 bytes","salt",t),32!==f.hexDataLength(n)&&r.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",n),h(f.hexDataSlice(E.keccak256(f.concat(["0xff",h(e),t,n])),12))}}))),M=(r(A),A.getAddress,A.isAddress,A.getIcapAddress,A.getContractAddress,A.getCreate2Address,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(e){function t(t){return e.call(this,"address","address",t,!1)||this}return i(t,e),t.prototype.encode=function(e,t){try{A.getAddress(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)},t.prototype.decode=function(e){return A.getAddress(f.hexZeroPad(e.readValue().toHexString(),20))},t}(w.Coder);r.AddressCoder=o}))),x=(r(M),M.AddressCoder,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this,t.name,t.type,void 0,t.dynamic)||this;return r.coder=t,r}return i(t,e),t.prototype.encode=function(e,t){return this.coder.encode(e,t)},t.prototype.decode=function(e){return this.coder.decode(e)},t}(w.Coder);r.AnonymousCoder=o}))),O=(r(x),x.AnonymousCoder,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new c.Logger(v.version);function a(e,t,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){var i={};n=t.map((function(e){var t=e.localName;return t||o.throwError("cannot encode object for signature with missing names",c.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),i[t]&&o.throwError("cannot encode object for signature with duplicate names",c.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:e,value:r}),i[t]=!0,r[t]}))}else o.throwArgumentError("invalid tuple value","tuple",r);t.length!==n.length&&o.throwArgumentError("types/value length mismatch","tuple",r);var a=new w.Writer(e.wordSize),s=new w.Writer(e.wordSize),u=[];t.forEach((function(e,t){var r=n[t];if(e.dynamic){var i=s.length;e.encode(s,r);var o=a.writeUpdatableValue();u.push((function(e){o(e+i)}))}else e.encode(a,r)})),u.forEach((function(e){e(a.length)}));var l=e.writeBytes(a.data);return l+=e.writeBytes(s.data)}function s(e,t){var r=[],n=e.subReader(0),i=0;t.forEach((function(t){var o=null;if(t.dynamic){var a=e.readValue(),s=n.subReader(a.toNumber());try{o=t.decode(s)}catch(e){if(e.code===c.Logger.errors.BUFFER_OVERRUN)throw e;(o=e).baseType=t.name,o.name=t.localName,o.type=t.type}i+=s.consumed}else try{o=t.decode(e)}catch(e){if(e.code===c.Logger.errors.BUFFER_OVERRUN)throw e;(o=e).baseType=t.name,o.name=t.localName,o.type=t.type}null!=o&&r.push(o)})),e.readBytes(i);var o=t.reduce((function(e,t){var r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e}),{});t.forEach((function(e,t){var n=e.localName;if(n&&1===o[n]&&("length"===n&&(n="_length"),null==r[n])){var i=r[t];i instanceof Error?Object.defineProperty(r,n,{get:function(){throw i}}):r[n]=i}}));for(var a=function(e){var t=r[e];t instanceof Error&&Object.defineProperty(r,e,{get:function(){throw t}})},s=0;s=0?r:"")+"]",a=-1===r||t.dynamic;return(i=e.call(this,"array",o,n,a)||this).coder=t,i.length=r,i}return i(t,e),t.prototype.encode=function(e,t){Array.isArray(t)||this._throwError("expected array value",t);var r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),o.checkArgumentCount(r,t.length,"coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i>6==2;s++)a++;return a}return e===n.OVERRUN?r.length-t-1:0}function a(e,r){null==r&&(r=t.Utf8ErrorFuncs.error),e=f.arrayify(e);for(var i=[],o=0;o>7!=0){var s=null,u=null;if(192==(224&a))s=1,u=127;else if(224==(240&a))s=2,u=2047;else{if(240!=(248&a)){o+=r(128==(192&a)?n.UNEXPECTED_CONTINUE:n.BAD_PREFIX,o-1,e,i);continue}s=3,u=65535}if(o-1+s>=e.length)o+=r(n.OVERRUN,o-1,e,i);else{for(var c=a&(1<<8-s-1)-1,l=0;l1114111?o+=r(n.OUT_OF_RANGE,o-1-s,e,i,c):c>=55296&&c<=57343?o+=r(n.UTF16_SURROGATE,o-1-s,e,i,c):c<=u?o+=r(n.OVERLONG,o-1-s,e,i,c):i.push(c))}}else i.push(a)}return i}function s(e,t){void 0===t&&(t=r.current),t!=r.current&&(i.checkNormalize(),e=e.normalize(t));for(var n=[],o=0;o>6|192),n.push(63&a|128);else if(55296==(64512&a)){o++;var s=e.charCodeAt(o);if(o>=e.length||56320!=(64512&s))throw new Error("invalid utf-8 string");var u=65536+((1023&a)<<10)+(1023&s);n.push(u>>18|240),n.push(u>>12&63|128),n.push(u>>6&63|128),n.push(63&u|128)}else n.push(a>>12|224),n.push(a>>6&63|128),n.push(63&a|128)}return f.arrayify(n)}function u(e){var t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function l(e){return e.map((function(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10&1023),56320+(1023&e)))})).join("")}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(r=t.UnicodeNormalizationForm||(t.UnicodeNormalizationForm={})),function(e){e.UNEXPECTED_CONTINUE="unexpected continuation byte",e.BAD_PREFIX="bad codepoint prefix",e.OVERRUN="string overrun",e.MISSING_CONTINUE="missing continuation byte",e.OUT_OF_RANGE="out of UTF-8 range",e.UTF16_SURROGATE="UTF-16 surrogate",e.OVERLONG="overlong representation"}(n=t.Utf8ErrorReason||(t.Utf8ErrorReason={})),t.Utf8ErrorFuncs=Object.freeze({error:function(e,t,r,n,o){return i.throwArgumentError("invalid codepoint at offset "+t+"; "+e,"bytes",r)},ignore:o,replace:function(e,t,r,i,a){return e===n.OVERLONG?(i.push(a),0):(i.push(65533),o(e,t,r))}}),t.toUtf8Bytes=s,t._toEscapedUtf8String=function(e,t){return'"'+a(e,t).map((function(e){if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?u(e):u(55296+((e-=65536)>>10&1023))+u(56320+(1023&e))})).join("")+'"'},t._toUtf8String=l,t.toUtf8String=function(e,t){return l(a(e,t))},t.toUtf8CodePoints=function(e,t){return void 0===t&&(t=r.current),a(s(e,t))}}))),U=(r(L),L.UnicodeNormalizationForm,L.Utf8ErrorReason,L.Utf8ErrorFuncs,L.toUtf8Bytes,L._toEscapedUtf8String,L._toUtf8String,L.toUtf8String,L.toUtf8CodePoints,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.formatBytes32String=function(e){var t=L.toUtf8Bytes(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return f.hexlify(f.concat([t,B.HashZero]).slice(0,32))},t.parseBytes32String=function(e){var t=f.arrayify(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return L.toUtf8String(t.slice(0,r))}}))),j=(r(U),U.formatBytes32String,U.parseBytes32String,n((function(e,t){function r(e,t){t||(t=function(e){return[parseInt(e,16)]});var r=0,n={};return e.split(",").forEach((function(e){var i=e.split(":");r+=parseInt(i[0],16),n[r]=t(i[1])})),n}function n(e){var t=0;return e.split(",").map((function(e){var r=e.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:t+parseInt(r[0],16),h:t=parseInt(r[1],16)}}))}function i(e,t){for(var r=0,n=0;n=(r+=i.l)&&e<=r+i.h&&(e-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(e-r))continue;return i}}return null}Object.defineProperty(t,"__esModule",{value:!0});var o=n("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),a="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(e){return parseInt(e,16)})),s=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],u=r("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),c=r("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),l=r("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(e){if(e.length%4!=0)throw new Error("bad data");for(var t=[],r=0;r=0)return[];if(e>=65024&&e<=65039)return[];var t=d(e);return t||[e]})),r=t.reduce((function(e,t){return t.forEach((function(t){e.push(t)})),e}),[]),(r=L.toUtf8CodePoints(L._toUtf8String(r),L.UnicodeNormalizationForm.NFKC)).forEach((function(e){if(p(e))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),r.forEach((function(e){if(h(e))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var n=L._toUtf8String(r);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}}))),D=(r(j),j._nameprepTableA1,j._nameprepTableB2,j._nameprepTableC,j.nameprep,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.formatBytes32String=U.formatBytes32String,t.parseBytes32String=U.parseBytes32String,t.nameprep=j.nameprep,t._toEscapedUtf8String=L._toEscapedUtf8String,t.toUtf8Bytes=L.toUtf8Bytes,t.toUtf8CodePoints=L.toUtf8CodePoints,t.toUtf8String=L.toUtf8String,t.UnicodeNormalizationForm=L.UnicodeNormalizationForm,t.Utf8ErrorFuncs=L.Utf8ErrorFuncs,t.Utf8ErrorReason=L.Utf8ErrorReason}))),z=(r(D),D.formatBytes32String,D.parseBytes32String,D.nameprep,D._toEscapedUtf8String,D.toUtf8Bytes,D.toUtf8CodePoints,D.toUtf8String,D.UnicodeNormalizationForm,D.Utf8ErrorFuncs,D.Utf8ErrorReason,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(e){function t(t){return e.call(this,"string",t)||this}return i(t,e),t.prototype.encode=function(t,r){return e.prototype.encode.call(this,t,D.toUtf8Bytes(r))},t.prototype.decode=function(t){return D.toUtf8String(e.prototype.decode.call(this,t))},t}(R.DynamicBytesCoder);r.StringCoder=o}))),H=(r(z),z.StringCoder,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(e){function t(t,r){var n=this,i=!1,o=[];t.forEach((function(e){e.dynamic&&(i=!0),o.push(e.type)}));var a="tuple("+o.join(",")+")";return(n=e.call(this,"tuple",a,r,i)||this).coders=t,n}return i(t,e),t.prototype.encode=function(e,t){return O.pack(e,this.coders,t)},t.prototype.decode=function(e){return e.coerce(this.name,O.unpack(e,this.coders))},t}(w.Coder);r.TupleCoder=o}))),K=(r(H),H.TupleCoder,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(v.version),n=new RegExp(/^bytes([0-9]*)$/),i=new RegExp(/^(u?int)([0-9]*)$/),o=function(){function e(t){var n=this.constructor;r.checkNew(n,e),y.defineReadOnly(this,"coerceFunc",t||null)}return e.prototype._getCoder=function(e){var t=this;switch(e.baseType){case"address":return new M.AddressCoder(e.name);case"bool":return new N.BooleanCoder(e.name);case"string":return new z.StringCoder(e.name);case"bytes":return new R.BytesCoder(e.name);case"array":return new O.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new H.TupleCoder((e.components||[]).map((function(e){return t._getCoder(e)})),e.name);case"":return new C.NullCoder(e.name)}var o,a=e.type.match(i);return a?((0===(o=parseInt(a[2]||"256"))||o>256||o%8!=0)&&r.throwArgumentError("invalid "+a[1]+" bit length","param",e),new I.NumberCoder(o/8,"int"===a[1],e.name)):(a=e.type.match(n))?((0===(o=parseInt(a[1]))||o>32)&&r.throwArgumentError("invalid bytes length","param",e),new T.FixedBytesCoder(o,e.name)):r.throwArgumentError("invalid type","type",e.type)},e.prototype._getWordSize=function(){return 32},e.prototype._getReader=function(e){return new w.Reader(e,this._getWordSize(),this.coerceFunc)},e.prototype._getWriter=function(){return new w.Writer(this._getWordSize())},e.prototype.encode=function(e,t){var n=this;e.length!==t.length&&r.throwError("types/values length mismatch",c.Logger.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var i=e.map((function(e){return n._getCoder(b.ParamType.from(e))})),o=new H.TupleCoder(i,"_"),a=this._getWriter();return o.encode(a,t),a.data},e.prototype.decode=function(e,t){var r=this,n=e.map((function(e){return r._getCoder(b.ParamType.from(e))}));return new H.TupleCoder(n,"_").decode(this._getReader(f.arrayify(t)))},e}();t.AbiCoder=o,t.defaultAbiCoder=new o}))),W=(r(K),K.AbiCoder,K.defaultAbiCoder,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="hash/5.0.1"}))),q=(r(W),W.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(W.version),n=new Uint8Array([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]),i=new RegExp("^((.*)\\.)?([^.]+)$");t.isValidName=function(e){try{for(var t=e.split("."),r=0;r1&&o.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var i=this.functions[b.FunctionFragment.fromString(e).format()];return i||o.throwArgumentError("no matching function","signature",e),i},e.prototype.getEvent=function(e){if(f.isHexString(e)){var t=e.toLowerCase();for(var r in this.events)if(t===this.getEventTopic(r))return this.events[r];o.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){var n=e.trim(),i=Object.keys(this.events).filter((function(e){return e.split("(")[0]===n}));return 0===i.length?o.throwArgumentError("no matching event","name",n):i.length>1&&o.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}var a=this.events[b.EventFragment.fromString(e).format()];return a||o.throwArgumentError("no matching event","signature",e),a},e.prototype.getSighash=function(e){return"string"==typeof e&&(e=this.getFunction(e)),y.getStatic(this.constructor,"getSighash")(e)},e.prototype.getEventTopic=function(e){return"string"==typeof e&&(e=this.getEvent(e)),y.getStatic(this.constructor,"getEventTopic")(e)},e.prototype._decodeParams=function(e,t){return this._abiCoder.decode(e,t)},e.prototype._encodeParams=function(e,t){return this._abiCoder.encode(e,t)},e.prototype.encodeDeploy=function(e){return this._encodeParams(this.deploy.inputs,e||[])},e.prototype.decodeFunctionData=function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=f.arrayify(t);return f.hexlify(r.slice(0,4))!==this.getSighash(e)&&o.throwArgumentError("data signature does not match function "+e.name+".","data",f.hexlify(r)),this._decodeParams(e.inputs,r.slice(4))},e.prototype.encodeFunctionData=function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),f.hexlify(f.concat([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))},e.prototype.decodeFunctionResult=function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=f.arrayify(t),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:"0x08c379a0"===f.hexlify(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return o.throwError("call revert exception",c.Logger.errors.CALL_EXCEPTION,{method:e.format(),errorSignature:i,errorArgs:[n],reason:n})},e.prototype.encodeFunctionResult=function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),f.hexlify(this._abiCoder.encode(e.outputs,t||[]))},e.prototype.encodeFilterTopics=function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&o.throwError("too many arguments for "+e.format(),c.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});var n=[];e.anonymous||n.push(this.getEventTopic(e));var i=function(e,t){return"string"===e.type?q.id(t):"bytes"===e.type?E.keccak256(f.hexlify(t)):("address"===e.type&&r._abiCoder.encode(["address"],[t]),f.hexZeroPad(f.hexlify(t),32))};for(t.forEach((function(t,r){var a=e.inputs[r];a.indexed?null==t?n.push(null):"array"===a.baseType||"tuple"===a.baseType?o.throwArgumentError("filtering with tuples or arrays not supported","contract."+a.name,t):Array.isArray(t)?n.push(t.map((function(e){return i(a,e)}))):n.push(i(a,t)):null!=t&&o.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+a.name,t)}));n.length&&null===n[n.length-1];)n.pop();return n},e.prototype.encodeEventLog=function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e));var n=[],i=[],a=[];return e.anonymous||n.push(this.getEventTopic(e)),t.length!==e.inputs.length&&o.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((function(e,o){var s=t[o];if(e.indexed)if("string"===e.type)n.push(q.id(s));else if("bytes"===e.type)n.push(E.keccak256(s));else{if("tuple"===e.baseType||"array"===e.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([e.type],[s]))}else i.push(e),a.push(s)})),{data:this._abiCoder.encode(i,a),topics:n}},e.prototype.decodeEventLog=function(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){var n=this.getEventTopic(e);f.isHexString(r[0],32)&&r[0].toLowerCase()===n||o.throwError("fragment/topic mismatch",c.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],a=[],s=[];e.inputs.forEach((function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(i.push(b.ParamType.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(i.push(e),s.push(!1)):(a.push(e),s.push(!1))}));var h=null!=r?this._abiCoder.decode(i,f.concat(r)):null,d=this._abiCoder.decode(a,t),p=[],g=0,m=0;e.inputs.forEach((function(e,t){if(e.indexed)if(null==h)p[t]=new u({_isIndexed:!0,hash:null});else if(s[t])p[t]=new u({_isIndexed:!0,hash:h[m++]});else try{p[t]=h[m++]}catch(e){p[t]=e}else try{p[t]=d[g++]}catch(e){p[t]=e}if(e.name&&null==p[e.name]){var r=p[t];r instanceof Error?Object.defineProperty(p,e.name,{get:function(){throw l("property "+JSON.stringify(e.name),r)}}):p[e.name]=r}}));for(var y=function(e){var t=p[e];t instanceof Error&&Object.defineProperty(p,e,{get:function(){throw l("index "+e,t)}})},v=0;v0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1)){var r=t[0];null==s[e]&&y.defineReadOnly(s,e,s[r]),null==s.functions[e]&&y.defineReadOnly(s.functions,e,s.functions[r]),null==s.callStatic[e]&&y.defineReadOnly(s.callStatic,e,s.callStatic[r]),null==s.populateTransaction[e]&&y.defineReadOnly(s.populateTransaction,e,s.populateTransaction[r]),null==s.estimateGas[e]&&y.defineReadOnly(s.estimateGas,e,s.estimateGas[r])}}))}return e.getContractAddress=function(e){return A.getContractAddress(e)},e.getInterface=function(e){return V.Interface.isInterface(e)?e:new V.Interface(e)},e.prototype.deployed=function(){return this._deployed()},e.prototype._deployed=function(e){var t=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return t})):this._deployedPromise=this.provider.getCode(this.address,e).then((function(e){return"0x"===e&&u.throwError("contract not deployed",c.Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:t.address,operation:"getDeployed"}),t}))),this._deployedPromise},e.prototype.fallback=function(e){var t=this;this.signer||u.throwError("sending a transactions require a signer",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var r=y.shallowCopy(e||{});return["from","to"].forEach((function(e){null!=r[e]&&u.throwError("cannot override "+e,c.Logger.errors.UNSUPPORTED_OPERATION,{operation:e})})),r.to=this.resolvedAddress,this.deployed().then((function(){return t.signer.sendTransaction(r)}))},e.prototype.connect=function(e){"string"==typeof e&&(e=new $.VoidSigner(e,this.provider));var t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&y.defineReadOnly(t,"deployTransaction",this.deployTransaction),t},e.prototype.attach=function(e){return new this.constructor(e,this.interface,this.signer||this.provider)},e.isIndexed=function(e){return V.Indexed.isIndexed(e)},e.prototype._normalizeRunningEvent=function(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e},e.prototype._getRunningEvent=function(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new _);if("event"===e)return this._normalizeRunningEvent(new w("event",null));if("*"===e)return this._normalizeRunningEvent(new k(this.address,this.interface));var t=this.interface.getEvent(e);return this._normalizeRunningEvent(new E(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{var r=e.topics[0];if("string"!=typeof r)throw new Error("invalid topic");t=this.interface.getEvent(r);return this._normalizeRunningEvent(new E(this.address,this.interface,t,e.topics))}catch(e){}var n={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new w(b(n),n))}return this._normalizeRunningEvent(new k(this.address,this.interface))},e.prototype._checkRunningEvents=function(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];var t=this._wrappedEmits[e.tag];t&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}},e.prototype._wrapEvent=function(e,t,r){var n=this,i=y.deepCopy(t);return i.removeListener=function(){r&&(e.removeListener(r),n._checkRunningEvents(e))},i.getBlock=function(){return n.provider.getBlock(t.blockHash)},i.getTransaction=function(){return n.provider.getTransaction(t.transactionHash)},i.getTransactionReceipt=function(){return n.provider.getTransactionReceipt(t.transactionHash)},e.prepareEvent(i),i},e.prototype._addEventListener=function(e,t,r){var n=this;if(this.provider||u.throwError("events require a provider or a signer with a provider",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,r),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){var i=function(r){var i=n._wrapEvent(e,r,t);if(null==i.decodeError)try{var o=e.getEmit(i);n.emit.apply(n,s([e.filter],o))}catch(e){i.decodeError=e.error}null!=e.filter&&n.emit("event",i),null!=i.decodeError&&n.emit("error",i.decodeError,i)};this._wrappedEmits[e.tag]=i,null!=e.filter&&this.provider.on(e.filter,i)}},e.prototype.queryFilter=function(e,t,r){var n=this,i=this._getRunningEvent(e),o=y.shallowCopy(i.filter);return"string"==typeof t&&f.isHexString(t,32)?(null!=r&&u.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),o.blockHash=t):(o.fromBlock=null!=t?t:0,o.toBlock=null!=r?r:"latest"),this.provider.getLogs(o).then((function(e){return e.map((function(e){return n._wrapEvent(i,e,null)}))}))},e.prototype.on=function(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this},e.prototype.once=function(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this},e.prototype.emit=function(e){for(var t=[],r=1;r0;return this._checkRunningEvents(n),i},e.prototype.listenerCount=function(e){return this.provider?this._getRunningEvent(e).listenerCount():0},e.prototype.listeners=function(e){if(!this.provider)return[];if(null==e){var t=[];for(var r in this._runningEvents)this._runningEvents[r].listeners().forEach((function(e){t.push(e)}));return t}return this._getRunningEvent(e).listeners()},e.prototype.removeAllListeners=function(e){if(!this.provider)return this;if(null==e){for(var t in this._runningEvents){var r=this._runningEvents[t];r.removeAllListeners(),this._checkRunningEvents(r)}return this}var n=this._getRunningEvent(e);return n.removeAllListeners(),this._checkRunningEvents(n),this},e.prototype.off=function(e,t){if(!this.provider)return this;var r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this},e.prototype.removeListener=function(e,t){return this.off(e,t)},e}();r.Contract=P;var S=function(){function e(e,t,r){var n=this.constructor,i=null;"0x"!==(i="string"==typeof t?t:f.isBytes(t)?f.hexlify(t):t&&"string"==typeof t.object?t.object:"!").substring(0,2)&&(i="0x"+i),(!f.isHexString(i)||i.length%2)&&u.throwArgumentError("invalid bytecode","bytecode",t),r&&!$.Signer.isSigner(r)&&u.throwArgumentError("invalid signer","signer",r),y.defineReadOnly(this,"bytecode",i),y.defineReadOnly(this,"interface",y.getStatic(n,"getInterface")(e)),y.defineReadOnly(this,"signer",r||null)}return e.prototype.getDeployTransaction=function(){for(var e=[],t=0;t0;)r.push(i%this.base),i=i/this.base|0}for(var a="",s=0;0===t[s]&&s=0;--u)a+=this.alphabet[r[u]];return a},e.prototype.decode=function(e){if("string"!=typeof e)throw new TypeError("Expected String");var t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(var r=0;r>=8;for(;i>0;)t.push(255&i),i>>=8}for(var a=0;e[a]===this._leader&&a>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function oe(e){return 1===e.length?"0"+e:e}function ae(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}var se={inherits:ne,toArray:function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n>8,a=255&i;o?r.push(o,a):r.push(a)}else for(n=0;n>>0}return o},split32:function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},rotr32:function(e,t){return e>>>t|e<<32-t},rotl32:function(e,t){return e<>>32-t},sum32:function(e,t){return e+t>>>0},sum32_3:function(e,t,r){return e+t+r>>>0},sum32_4:function(e,t,r,n){return e+t+r+n>>>0},sum32_5:function(e,t,r,n,i){return e+t+r+n+i>>>0},sum64:function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,a=(o>>0,e[t+1]=o},sum64_hi:function(e,t,r,n){return(t+n>>>0>>0},sum64_lo:function(e,t,r,n){return t+n>>>0},sum64_4_hi:function(e,t,r,n,i,o,a,s){var u=0,c=t;return u+=(c=c+n>>>0)>>0)>>0)>>0},sum64_4_lo:function(e,t,r,n,i,o,a,s){return t+n+o+s>>>0},sum64_5_hi:function(e,t,r,n,i,o,a,s,u,c){var l=0,f=t;return l+=(f=f+n>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(e,t,r,n,i,o,a,s,u,c){return t+n+o+s+c>>>0},rotr64_hi:function(e,t,r){return(t<<32-r|e>>>r)>>>0},rotr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0},shr64_hi:function(e,t,r){return e>>>r},shr64_lo:function(e,t,r){return(e<<32-r|t>>>r)>>>0}};function ue(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var ce=ue;ue.prototype.update=function(e,t){if(e=se.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=se.join32(e,0,e.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o>>3},g1_256:function(e){return fe(e,17)^fe(e,19)^e>>>10}},me=se.sum32,ye=se.sum32_4,ve=se.sum32_5,be=ge.ch32,we=ge.maj32,_e=ge.s0_256,Ee=ge.s1_256,ke=ge.g0_256,Pe=ge.g1_256,Se=le.BlockHash,Ae=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function Me(){if(!(this instanceof Me))return new Me;Se.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Ae,this.W=new Array(64)}se.inherits(Me,Se);var xe=Me;Me.blockSize=512,Me.outSize=256,Me.hmacStrength=192,Me.padLength=64,Me.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;nthis.blockSize&&(e=(new this.Hash).update(e).digest()),te(e.length<=this.blockSize);for(var t=e.length;t>24&255,l[t.length+1]=h>>16&255,l[t.length+2]=h>>8&255,l[t.length+3]=255&h;var d=f.arrayify(Et.computeHmac(i,e,l));o||(o=d.length,s=new Uint8Array(o),a=n-((u=Math.ceil(n/o))-1)*o),s.set(d);for(var p=1;p>8,a=255&i;o?r.push(o,a):r.push(a)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}})),Mt=n((function(e,t){var r=t;r.assert=te,r.toArray=At.toArray,r.zero2=At.zero2,r.toHex=At.toHex,r.encode=At.encode,r.getNAF=function(e,t,r){var n=new Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(s)):s=0,n[a]=s,o.iushrn(1)}return n},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;e.cmpn(-n)>0||t.cmpn(-i)>0;){var o,a,s,u=e.andln(3)+n&3,c=t.andln(3)+i&3;if(3===u&&(u=-1),3===c&&(c=-1),0==(1&u))o=0;else o=3!==(s=e.andln(7)+n&7)&&5!==s||2!==c?u:-u;if(r[0].push(o),0==(1&c))a=0;else a=3!==(s=t.andln(7)+i&7)&&5!==s||2!==u?c:-c;r[1].push(a),2*n===o+1&&(n=1-n),2*i===a+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new s(e,"hex","le")}})),xt=function(e){var r=new Uint8Array(e);return(t.crypto||t.msCrypto).getRandomValues(r),r},Ot=Mt.getNAF,Nt=Mt.getJSF,Rt=Mt.assert;function Tt(e,t){this.type=e,this.p=new s(t.p,16),this.red=t.prime?s.red(t.prime):s.mont(this.p),this.zero=new s(0).toRed(this.red),this.one=new s(1).toRed(this.red),this.two=new s(2).toRed(this.red),this.n=t.n&&new s(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Ct=Tt;function Bt(e,t){this.curve=e,this.type=t,this.precomputed=null}Tt.prototype.point=function(){throw new Error("Not implemented")},Tt.prototype.validate=function(){throw new Error("Not implemented")},Tt.prototype._fixedNafMul=function(e,t){Rt(e.precomputed);var r=e._getDoubles(),n=Ot(t,1,this._bitLength),i=(1<=a;t--)s=(s<<1)+n[t];o.push(s)}for(var u=this.jpoint(null,null,null),c=this.jpoint(null,null,null),l=i;l>0;l--){for(a=0;a=0;s--){for(t=0;s>=0&&0===o[s];s--)t++;if(s>=0&&t++,a=a.dblp(t),s<0)break;var u=o[s];Rt(0!==u),a="affine"===e.type?u>0?a.mixedAdd(i[u-1>>1]):a.mixedAdd(i[-u-1>>1].neg()):u>0?a.add(i[u-1>>1]):a.add(i[-u-1>>1].neg())}return"affine"===e.type?a.toP():a},Tt.prototype._wnafMulAdd=function(e,t,r,n,i){for(var o=this._wnafT1,a=this._wnafT2,s=this._wnafT3,u=0,c=0;c=1;c-=2){var f=c-1,h=c;if(1===o[f]&&1===o[h]){var d=[t[f],null,null,t[h]];0===t[f].y.cmp(t[h].y)?(d[1]=t[f].add(t[h]),d[2]=t[f].toJ().mixedAdd(t[h].neg())):0===t[f].y.cmp(t[h].y.redNeg())?(d[1]=t[f].toJ().mixedAdd(t[h]),d[2]=t[f].add(t[h].neg())):(d[1]=t[f].toJ().mixedAdd(t[h]),d[2]=t[f].toJ().mixedAdd(t[h].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],g=Nt(r[f],r[h]);u=Math.max(g[0].length,u),s[f]=new Array(u),s[h]=new Array(u);for(var m=0;m=0;c--){for(var _=0;c>=0;){var E=!0;for(m=0;m=0&&_++,b=b.dblp(_),c<0)break;for(m=0;m0?k=a[m][P-1>>1]:P<0&&(k=a[m][-P-1>>1].neg()),b="affine"===k.type?b.mixedAdd(k):b.add(k))}}for(c=0;c=Math.ceil((e.bitLength()+1)/t.step)},Bt.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(o=t,a=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),a=a.neg()),[{a:n,b:i},{a:o,b:a}]},Ft.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),a=i.mul(r.a),s=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(a).sub(s),k2:u.add(c).neg()}},Ft.prototype.pointFromX=function(e,t){(e=new s(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(t&&!i||!t&&i)&&(n=n.redNeg()),this.point(e,n)},Ft.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},Ft.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},Ut.prototype.isInfinity=function(){return this.inf},Ut.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},Ut.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),a=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,a)},Ut.prototype.getX=function(){return this.x.fromRed()},Ut.prototype.getY=function(){return this.y.fromRed()},Ut.prototype.mul=function(e){return e=new s(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},Ut.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},Ut.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},Ut.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},Ut.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},Ut.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},ne(jt,Ct.BasePoint),Ft.prototype.jpoint=function(e,t,r){return new jt(this,e,t,r)},jt.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},jt.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},jt.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),a=e.y.redMul(r.redMul(this.z)),s=n.redSub(i),u=o.redSub(a);if(0===s.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),l=c.redMul(s),f=n.redMul(c),h=u.redSqr().redIAdd(l).redISub(f).redISub(f),d=u.redMul(f.redISub(h)).redISub(o.redMul(l)),p=this.z.redMul(e.z).redMul(s);return this.curve.jpoint(h,d,p)},jt.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),a=r.redSub(n),s=i.redSub(o);if(0===a.cmpn(0))return 0!==s.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=a.redSqr(),c=u.redMul(a),l=r.redMul(u),f=s.redSqr().redIAdd(c).redISub(l).redISub(l),h=s.redMul(l.redISub(f)).redISub(i.redMul(c)),d=this.z.redMul(a);return this.curve.jpoint(f,h,d)},jt.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},jt.prototype.inspect=function(){return this.isInfinity()?"":""},jt.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Dt={},zt={},Ht=n((function(e,t){var r=t;r.base=Ct,r.short=Lt,r.mont=Dt,r.edwards=zt})),Kt=n((function(e,t){var r,n=t,i=Mt.assert;function o(e){"short"===e.type?this.curve=new Ht.short(e):"edwards"===e.type?this.curve=new Ht.edwards(e):this.curve=new Ht.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function a(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new o(t);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,a("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:wt.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),a("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:wt.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),a("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:wt.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),a("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:wt.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),a("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:wt.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),a("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:wt.sha256,gRed:!1,g:["9"]}),a("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:wt.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=void 0}catch(e){r=void 0}a("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:wt.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function Wt(e){if(!(this instanceof Wt))return new Wt(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=At.toArray(e.entropy,e.entropyEnc||"hex"),r=At.toArray(e.nonce,e.nonceEnc||"hex"),n=At.toArray(e.pers,e.persEnc||"hex");te(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}var qt=Wt;Wt.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},Wt.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=At.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var Zt=Mt.assert;function Xt(e,t){if(e instanceof Xt)return e;this._importDER(e,t)||(Zt(e.r&&e.s,"Signature without r or s"),this.r=new s(e.r,16),this.s=new s(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}var $t=Xt;function Qt(){this.place=0}function Yt(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,a=t.place;o>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}Xt.prototype._importDER=function(e,t){e=Mt.toArray(e,t);var r=new Qt;if(48!==e[r.place++])return!1;if(Yt(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var n=Yt(e,r),i=e.slice(r.place,n+r.place);if(r.place+=n,2!==e[r.place++])return!1;var o=Yt(e,r);if(e.length!==o+r.place)return!1;var a=e.slice(r.place,o+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===a[0]&&128&a[1]&&(a=a.slice(1)),this.r=new s(i),this.s=new s(a),this.recoveryParam=null,!0},Xt.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=er(t),r=er(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];tr(n,t.length),(n=n.concat(t)).push(2),tr(n,r.length);var i=n.concat(r),o=[48];return tr(o,i.length),o=o.concat(i),Mt.encode(o,e)};var rr=Mt.assert;function nr(e){if(!(this instanceof nr))return new nr(e);"string"==typeof e&&(rr(Kt.hasOwnProperty(e),"Unknown curve "+e),e=Kt[e]),e instanceof Kt.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}var ir=nr;nr.prototype.keyPair=function(e){return new Jt(this,e)},nr.prototype.keyFromPrivate=function(e,t){return Jt.fromPrivate(this,e,t)},nr.prototype.keyFromPublic=function(e,t){return Jt.fromPublic(this,e,t)},nr.prototype.genKeyPair=function(e){e||(e={});for(var t=new qt({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||xt(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new s(2));;){var i=new s(t.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},nr.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},nr.prototype.sign=function(e,t,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new s(e,16));for(var i=this.n.byteLength(),o=t.getPrivate().toArray("be",i),a=e.toArray("be",i),u=new qt({hash:this.hash,entropy:o,nonce:a,pers:n.pers,persEnc:n.persEnc||"utf8"}),c=this.n.sub(new s(1)),l=0;;l++){var f=n.k?n.k(l):new s(u.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(c)>=0)){var h=this.g.mul(f);if(!h.isInfinity()){var d=h.getX(),p=d.umod(this.n);if(0!==p.cmpn(0)){var g=f.invm(this.n).mul(p.mul(t.getPrivate()).iadd(e));if(0!==(g=g.umod(this.n)).cmpn(0)){var m=(h.getY().isOdd()?1:0)|(0!==d.cmp(p)?2:0);return n.canonical&&g.cmp(this.nh)>0&&(g=this.n.sub(g),m^=1),new $t({r:p,s:g,recoveryParam:m})}}}}}},nr.prototype.verify=function(e,t,r,n){e=this._truncateToN(new s(e,16)),r=this.keyFromPublic(r,n);var i=(t=new $t(t,"hex")).r,o=t.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var a,u=o.invm(this.n),c=u.mul(e).umod(this.n),l=u.mul(i).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,r.getPublic(),l)).isInfinity()&&a.eqXToP(i):!(a=this.g.mulAdd(c,r.getPublic(),l)).isInfinity()&&0===a.getX().umod(this.n).cmp(i)},nr.prototype.recoverPubKey=function(e,t,r,n){rr((3&r)===r,"The recovery param is more than two bits"),t=new $t(t,n);var i=this.n,o=new s(e),a=t.r,u=t.s,c=1&r,l=r>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");a=l?this.curve.pointFromX(a.add(this.curve.n),c):this.curve.pointFromX(a,c);var f=t.r.invm(i),h=i.sub(o).mul(f).umod(i),d=u.mul(f).umod(i);return this.g.mulAdd(h,a,d)},nr.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new $t(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var or,ar={},sr=i(St),ur=n((function(e,t){var r=t;r.version=sr.version,r.utils=Mt,r.rand=xt,r.curve=Ht,r.curves=Kt,r.ec=ir,r.eddsa=ar})),cr=(ur.ec,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="signing-key/5.0.1"}))),lr=(r(cr),cr.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(cr.version),n=null;function i(){return n||(n=new ur.ec("secp256k1")),n}var o=function(){function e(e){y.defineReadOnly(this,"curve","secp256k1"),y.defineReadOnly(this,"privateKey",f.hexlify(e));var t=i().keyFromPrivate(f.arrayify(this.privateKey));y.defineReadOnly(this,"publicKey","0x"+t.getPublic(!1,"hex")),y.defineReadOnly(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),y.defineReadOnly(this,"_isSigningKey",!0)}return e.prototype._addPoint=function(e){var t=i().keyFromPublic(f.arrayify(this.publicKey)),r=i().keyFromPublic(f.arrayify(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")},e.prototype.signDigest=function(e){var t=i().keyFromPrivate(f.arrayify(this.privateKey)).sign(f.arrayify(e),{canonical:!0});return f.splitSignature({recoveryParam:t.recoveryParam,r:f.hexZeroPad("0x"+t.r.toString(16),32),s:f.hexZeroPad("0x"+t.s.toString(16),32)})},e.prototype.computeSharedSecret=function(e){var t=i().keyFromPrivate(f.arrayify(this.privateKey)),r=i().keyFromPublic(f.arrayify(a(e)));return f.hexZeroPad("0x"+t.derive(r.getPublic()).toString(16),32)},e.isSigningKey=function(e){return!(!e||!e._isSigningKey)},e}();function a(e,t){var n=f.arrayify(e);if(32===n.length){var a=new o(n);return t?"0x"+i().keyFromPrivate(n).getPublic(!0,"hex"):a.publicKey}return 33===n.length?t?f.hexlify(n):"0x"+i().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?t?"0x"+i().keyFromPublic(n).getPublic(!0,"hex"):f.hexlify(n):r.throwArgumentError("invalid public or private key","key","[REDACTED]")}t.SigningKey=o,t.recoverPublicKey=function(e,t){var r=f.splitSignature(t),n={r:f.arrayify(r.r),s:f.arrayify(r.s)};return"0x"+i().recoverPubKey(f.arrayify(e),n,r.recoveryParam).encode("hex",!1)},t.computePublicKey=a}))),fr=(r(lr),lr.SigningKey,lr.recoverPublicKey,lr.computePublicKey,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="transactions/5.0.1"}))),hr=(r(fr),fr.version,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(P),o=new c.Logger(fr.version);function a(e){return"0x"===e?B.Zero:g.BigNumber.from(e)}var s=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],u={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function l(e){var t=lr.computePublicKey(e);return A.getAddress(f.hexDataSlice(E.keccak256(f.hexDataSlice(t,1)),12))}function h(e,t){return l(lr.recoverPublicKey(f.arrayify(e),t))}r.computeAddress=l,r.recoverAddress=h,r.serialize=function(e,t){y.checkProperties(e,u);var r=[];s.forEach((function(t){var n=e[t.name]||[],i={};t.numeric&&(i.hexPad="left"),n=f.arrayify(f.hexlify(n,i)),t.length&&n.length!==t.length&&n.length>0&&o.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),t.maxLength&&(n=f.stripZeros(n)).length>t.maxLength&&o.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),r.push(f.hexlify(n))}));var n=0;if(null!=e.chainId?"number"!=typeof(n=e.chainId)&&o.throwArgumentError("invalid transaction.chainId","transaction",e):t&&!f.isBytesLike(t)&&t.v>28&&(n=Math.floor((t.v-35)/2)),0!==n&&(r.push(f.hexlify(n)),r.push("0x"),r.push("0x")),!t)return i.encode(r);var a=f.splitSignature(t),c=27+a.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),c+=2*n+8,a.v>28&&a.v!==c&&o.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):a.v!==c&&o.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),r.push(f.hexlify(c)),r.push(f.stripZeros(f.arrayify(a.r))),r.push(f.stripZeros(f.arrayify(a.s))),i.encode(r)},r.parse=function(e){var t=i.decode(e);9!==t.length&&6!==t.length&&o.throwArgumentError("invalid raw transaction","rawTransaction",e);var r,n={nonce:a(t[0]).toNumber(),gasPrice:a(t[1]),gasLimit:a(t[2]),to:(r=t[3],"0x"===r?null:A.getAddress(r)),value:a(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=g.BigNumber.from(t[6]).toNumber()}catch(e){return console.log(e),n}if(n.r=f.hexZeroPad(t[7],32),n.s=f.hexZeroPad(t[8],32),g.BigNumber.from(n.r).isZero()&&g.BigNumber.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var s=n.v-27,u=t.slice(0,6);0!==n.chainId&&(u.push(f.hexlify(n.chainId)),u.push("0x"),u.push("0x"),s-=2*n.chainId+8);var c=E.keccak256(i.encode(u));try{n.from=h(c,{r:f.hexlify(n.r),s:f.hexlify(n.s),recoveryParam:s})}catch(e){console.log(e)}n.hash=E.keccak256(e)}return n}}))),dr=(r(hr),hr.computeAddress,hr.recoverAddress,hr.serialize,hr.parse,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="wordlists/5.0.1"}))),pr=(r(dr),dr.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.logger=new c.Logger(dr.version);var r=function(){function e(r){var n=this.constructor;t.logger.checkAbstract(n,e),y.defineReadOnly(this,"locale",r)}return e.prototype.split=function(e){return e.toLowerCase().split(/ +/g)},e.prototype.join=function(e){return e.join(" ")},e.check=function(e){for(var t=[],r=0;r<2048;r++){var n=e.getWord(r);if(r!==e.getWordIndex(n))return"0x";t.push(n)}return q.id(t.join("\n")+"\n")},e.register=function(e,t){t||(t=e.locale)},e}();t.Wordlist=r}))),gr=(r(pr),pr.logger,pr.Wordlist,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=null;function a(e){if(null==o&&(o="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==pr.Wordlist.check(e)))throw o=null,new Error("BIP39 Wordlist for en (English) FAILED")}var s=new(function(e){function t(){return e.call(this,"en")||this}return i(t,e),t.prototype.getWord=function(e){return a(this),o[e]},t.prototype.getWordIndex=function(e){return a(this),o.indexOf(e)},t}(pr.Wordlist));r.langEn=s,pr.Wordlist.register(s)}))),mr=(r(gr),gr.langEn,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Wordlist=pr.Wordlist;var r={en:gr.langEn};t.wordlists=r}))),yr=(r(mr),mr.Wordlist,mr.wordlists,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="hdnode/5.0.1"}))),vr=(r(yr),yr.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(yr.version),n=g.BigNumber.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),i=D.toUtf8Bytes("Bitcoin seed");function o(e){return(1<=256)throw new Error("Depth too large!");return s(f.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",f.hexlify(this.depth),this.parentFingerprint,f.hexZeroPad(f.hexlify(this.index),4),this.chainCode,null!=this.privateKey?f.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),e.prototype.neuter=function(){return new e(l,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)},e.prototype._derive=function(t){if(t>4294967295)throw new Error("invalid index - "+String(t));var r=this.path;r&&(r+="/"+(2147483647&t));var i=new Uint8Array(37);if(2147483648&t){if(!this.privateKey)throw new Error("cannot derive child of neutered node");i.set(f.arrayify(this.privateKey),1),r&&(r+="'")}else i.set(f.arrayify(this.publicKey));for(var o=24;o>=0;o-=8)i[33+(o>>3)]=t>>24-o&255;var s=f.arrayify(Et.computeHmac(Et.SupportedAlgorithm.sha512,this.chainCode,i)),u=s.slice(0,32),c=s.slice(32),h=null,d=null;this.privateKey?h=a(g.BigNumber.from(u).add(this.privateKey).mod(n)):d=new lr.SigningKey(f.hexlify(u))._addPoint(this.publicKey);var p=r,m=this.mnemonic;return m&&(p=Object.freeze({phrase:m.phrase,path:r,locale:m.locale||"en"})),new e(l,h,d,this.fingerprint,a(c),t,this.depth+1,p)},e.prototype.derivePath=function(e){var t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();for(var r=this,n=0;n=2147483648)throw new Error("invalid path index - "+i);r=r._derive(2147483648+o)}else{if(!i.match(/^[0-9]+$/))throw new Error("invalid path component - "+i);var o;if((o=parseInt(i))>=2147483648)throw new Error("invalid path index - "+i);r=r._derive(o)}}return r},e._fromSeed=function(t,r){var n=f.arrayify(t);if(n.length<16||n.length>64)throw new Error("invalid seed");var o=f.arrayify(Et.computeHmac(Et.SupportedAlgorithm.sha512,i,n));return new e(l,a(o.slice(0,32)),null,"0x00000000",a(o.slice(32)),0,0,r)},e.fromMnemonic=function(t,r,n){return t=m(p(t,n=u(n)),n),e._fromSeed(d(t,r),{phrase:t,path:"m",locale:n.locale})},e.fromSeed=function(t){return e._fromSeed(t,null)},e.fromExtendedKey=function(t){var n=ee.Base58.decode(t);82===n.length&&s(n.slice(0,78))===t||r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");var i=n[4],o=f.hexlify(n.slice(5,9)),a=parseInt(f.hexlify(n.slice(9,13)).substring(2),16),u=f.hexlify(n.slice(13,45)),c=n.slice(45,78);switch(f.hexlify(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new e(l,null,f.hexlify(c),o,u,a,i,null);case"0x0488ade4":case"0x04358394 ":if(0!==c[0])break;return new e(l,f.hexlify(c.slice(1)),null,o,u,a,i,null)}return r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")},e}();function d(e,t){t||(t="");var r=D.toUtf8Bytes("mnemonic"+t,D.UnicodeNormalizationForm.NFKD);return kt.pbkdf2(D.toUtf8Bytes(e,D.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512")}function p(e,t){t=u(t),r.checkNormalize();var n=t.split(e);if(n.length%3!=0)throw new Error("invalid mnemonic");for(var i=f.arrayify(new Uint8Array(Math.ceil(11*n.length/8))),a=0,s=0;s>3]|=1<<7-a%8),a++}var h=32*n.length/3,d=o(n.length/3);if((f.arrayify(Et.sha256(i.slice(0,h/8)))[0]&d)!==(i[i.length-1]&d))throw new Error("invalid checksum");return f.hexlify(i.slice(0,h/8))}function m(e,t){if(t=u(t),(e=f.arrayify(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");for(var r=[0],n=11,i=0;i8?(r[r.length-1]<<=8,r[r.length-1]|=e[i],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[i]>>8-n,r.push(e[i]&(1<<8-n)-1),n+=3);var a=e.length/4,s=f.arrayify(Et.sha256(e))[0]&o(a);return r[r.length-1]<<=a,r[r.length-1]|=s>>8-a,t.join(r.map((function(e){return t.getWord(e)})))}t.HDNode=h,t.mnemonicToSeed=d,t.mnemonicToEntropy=p,t.entropyToMnemonic=m,t.isValidMnemonic=function(e,t){try{return p(e,t),!0}catch(e){}return!1}}))),br=(r(vr),vr.defaultPath,vr.HDNode,vr.mnemonicToSeed,vr.mnemonicToEntropy,vr.entropyToMnemonic,vr.isValidMnemonic,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="random/5.0.1"}))),wr=(r(br),br.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.shuffled=function(e){for(var t=(e=e.slice()).length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}}))),_r=(r(wr),wr.shuffled,n((function(e,r){Object.defineProperty(r,"__esModule",{value:!0});var n=new c.Logger(br.version);r.shuffled=wr.shuffled;var i=null;try{if(null==(i=window))throw new Error("try next")}catch(e){try{if(null==(i=t))throw new Error("try next")}catch(e){i={}}}var o=i.crypto||i.msCrypto;o&&o.getRandomValues||(n.warn("WARNING: Missing strong random number source"),o={getRandomValues:function(e){return n.throwError("no secure random source avaialble",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}}),r.randomBytes=function(e){(e<=0||e>1024||e%1)&&n.throwArgumentError("invalid length","length",e);var t=new Uint8Array(e);return o.getRandomValues(t),f.arrayify(t)}}))),Er=(r(_r),_r.shuffled,_r.randomBytes,n((function(e,t){!function(t){function r(e){return parseInt(e)===e}function n(e){if(!r(e.length))return!1;for(var t=0;t255)return!1;return!0}function i(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!n(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(r(e.length)&&n(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function o(e){return new Uint8Array(e)}function a(e,t,r,n,i){null==n&&null==i||(e=e.slice?e.slice(n,i):Array.prototype.slice.call(e,n,i)),t.set(e,r)}var s,u={toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}},c=(s="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+s[15&n])}return t.join("")}}),l={16:10,24:12,32:14},f=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],h=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],g=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],m=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],y=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],v=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],w=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],_=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],E=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],k=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],P=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],S=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function A(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=o[t],this._Kd[e-r][t%4]=o[t];for(var a,s=0,u=i;u>16&255]<<24^h[a>>8&255]<<16^h[255&a]<<8^h[a>>24&255]^f[s]<<24,s+=1,8!=i)for(t=1;t>8&255]<<8^h[a>>16&255]<<16^h[a>>24&255]<<24;for(t=i/2+1;t>2,d=u%4,this._Ke[c][d]=o[t],this._Kd[e-c][d]=o[t++],u++}for(var c=1;c>24&255]^k[a>>16&255]^P[a>>8&255]^S[255&a]},M.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=A(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var a=1;a>24&255]^g[n[(i+1)%4]>>16&255]^m[n[(i+2)%4]>>8&255]^y[255&n[(i+3)%4]]^this._Ke[a][i];n=r.slice()}var s,u=o(16);for(i=0;i<4;i++)s=this._Ke[t][i],u[4*i]=255&(h[n[i]>>24&255]^s>>24),u[4*i+1]=255&(h[n[(i+1)%4]>>16&255]^s>>16),u[4*i+2]=255&(h[n[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(h[255&n[(i+3)%4]]^s);return u},M.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=A(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var a=1;a>24&255]^b[n[(i+3)%4]>>16&255]^w[n[(i+2)%4]>>8&255]^_[255&n[(i+1)%4]]^this._Kd[a][i];n=r.slice()}var s,u=o(16);for(i=0;i<4;i++)s=this._Kd[t][i],u[4*i]=255&(d[n[i]>>24&255]^s>>24),u[4*i+1]=255&(d[n[(i+3)%4]>>16&255]^s>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^s>>8),u[4*i+3]=255&(d[255&n[(i+1)%4]]^s);return u};var x=function(e){if(!(this instanceof x))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new M(e)};x.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=o(e.length),r=o(16),n=0;n=0;--t)this._counter[t]=e%256,e>>=8},T.prototype.setBytes=function(e){if(16!=(e=i(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},T.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var C=function(e,t){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof T||(t=new T(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new M(e)};C.prototype.encrypt=function(e){for(var t=i(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;n=64;){let d,p,g,m,y,v=r,b=n,w=i,_=o,E=a,k=s,P=u,S=c;for(p=0;p<16;p++)g=f+4*p,l[p]=(255&e[g])<<24|(255&e[g+1])<<16|(255&e[g+2])<<8|255&e[g+3];for(p=16;p<64;p++)d=l[p-2],m=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,d=l[p-15],y=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,l[p]=(m+l[p-7]|0)+(y+l[p-16]|0)|0;for(p=0;p<64;p++)m=(((E>>>6|E<<26)^(E>>>11|E<<21)^(E>>>25|E<<7))+(E&k^~E&P)|0)+(S+(t[p]+l[p]|0)|0)|0,y=((v>>>2|v<<30)^(v>>>13|v<<19)^(v>>>22|v<<10))+(v&b^v&w^b&w)|0,S=P,P=k,k=E,E=_+m|0,_=w,w=b,b=v,v=m+y|0;r=r+v|0,n=n+b|0,i=i+w|0,o=o+_|0,a=a+E|0,s=s+k|0,u=u+P|0,c=c+S|0,f+=64,h-=64}}f(e);let h,d=e.length%64,p=e.length/536870912|0,g=e.length<<3,m=d<56?56:120,y=e.slice(e.length-d,e.length);for(y.push(128),h=d+1;h>>24&255),y.push(p>>>16&255),y.push(p>>>8&255),y.push(p>>>0&255),y.push(g>>>24&255),y.push(g>>>16&255),y.push(g>>>8&255),y.push(g>>>0&255),f(y),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function n(e,t,n){e=e.length<=64?e:r(e);const i=64+t.length+4,o=new Array(i),a=new Array(64);let s,u=[];for(s=0;s<64;s++)o[s]=54;for(s=0;s=i-4;e--){if(o[e]++,o[e]<=255)return;o[e]=0}}for(;n>=32;)c(),u=u.concat(r(a.concat(r(o)))),n-=32;return n>0&&(c(),u=u.concat(r(a.concat(r(o))).slice(0,n))),u}function i(e,t,r,n,i){let o;for(u(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)s(e,16*o,i,16),a(i,n),u(i,0,e,t+16*o,16);for(o=0;o>>32-t}function a(e,t){u(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=o(t[0]+t[12],7),t[8]^=o(t[4]+t[0],9),t[12]^=o(t[8]+t[4],13),t[0]^=o(t[12]+t[8],18),t[9]^=o(t[5]+t[1],7),t[13]^=o(t[9]+t[5],9),t[1]^=o(t[13]+t[9],13),t[5]^=o(t[1]+t[13],18),t[14]^=o(t[10]+t[6],7),t[2]^=o(t[14]+t[10],9),t[6]^=o(t[2]+t[14],13),t[10]^=o(t[6]+t[2],18),t[3]^=o(t[15]+t[11],7),t[7]^=o(t[3]+t[15],9),t[11]^=o(t[7]+t[3],13),t[15]^=o(t[11]+t[7],18),t[1]^=o(t[0]+t[3],7),t[2]^=o(t[1]+t[0],9),t[3]^=o(t[2]+t[1],13),t[0]^=o(t[3]+t[2],18),t[6]^=o(t[5]+t[4],7),t[7]^=o(t[6]+t[5],9),t[4]^=o(t[7]+t[6],13),t[5]^=o(t[4]+t[7],18),t[11]^=o(t[10]+t[9],7),t[8]^=o(t[11]+t[10],9),t[9]^=o(t[8]+t[11],13),t[10]^=o(t[9]+t[8],18),t[12]^=o(t[15]+t[14],7),t[13]^=o(t[12]+t[15],9),t[14]^=o(t[13]+t[12],13),t[15]^=o(t[14]+t[13],18);for(let r=0;r<16;++r)e[r]+=t[r]}function s(e,t,r,n){for(let i=0;i=256)return!1}return!0}function l(e,t){if("number"!=typeof e||e%1)throw new Error("invalid "+t);return e}function f(e,t,r,o,a,f,h){if(r=l(r,"N"),o=l(o,"r"),a=l(a,"p"),f=l(f,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>2147483647/128/o)throw new Error("N too large");if(o>2147483647/128/a)throw new Error("r too large");if(!c(e))throw new Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!c(t))throw new Error("salt must be an array or buffer");t=Array.prototype.slice.call(t);let d=n(e,t,128*a*o);const p=new Uint32Array(32*a*o);for(let e=0;ex&&(t=x);for(let e=0;ex&&(t=x);for(let e=0;e>0&255),d.push(p[e]>>8&255),d.push(p[e]>>16&255),d.push(p[e]>>24&255);const c=n(e,d,f);return h&&h(null,1,c),c}h&&O(N)};if(!h)for(;;){const e=N();if(null!=e)return e}N()}const h={scrypt:function(e,t,r,n,i,o,a){return new Promise((function(s,u){let c=0;a&&a(0),f(e,t,r,n,i,o,(function(e,t,r){if(e)u(e);else if(r)a&&1!==c&&a(1),s(new Uint8Array(r));else if(a&&t!==c)return c=t,a(t)}))}))},syncScrypt:function(e,t,r,n,i,o){return new Uint8Array(f(e,t,r,n,i,o))}};e.exports=h}()})));Mr.scrypt,Mr.syncScrypt;if(t.crypto&&crypto.getRandomValues){var xr=new Uint8Array(16);or=function(){return crypto.getRandomValues(xr),xr}}if(!or){var Or=new Array(16);or=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),Or[t]=e>>>((3&t)<<3)&255;return Or}}for(var Nr=or,Rr=[],Tr={},Cr=0;Cr<256;Cr++)Rr[Cr]=(Cr+256).toString(16).substr(1),Tr[Rr[Cr]]=Cr;function Br(e,t){var r=t||0,n=Rr;return n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]}var Ir=Nr(),Fr=[1|Ir[0],Ir[1],Ir[2],Ir[3],Ir[4],Ir[5]],Lr=16383&(Ir[6]<<8|Ir[7]),Ur=0,jr=0;function Dr(e,t,r){var n=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||Nr)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var o=0;o<16;o++)t[n+o]=i[o];return t||Br(i)}var zr=Dr;zr.v1=function(e,t,r){var n=t&&r||0,i=t||[],o=void 0!==(e=e||{}).clockseq?e.clockseq:Lr,a=void 0!==e.msecs?e.msecs:(new Date).getTime(),s=void 0!==e.nsecs?e.nsecs:jr+1,u=a-Ur+(s-jr)/1e4;if(u<0&&void 0===e.clockseq&&(o=o+1&16383),(u<0||a>Ur)&&void 0===e.nsecs&&(s=0),s>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Ur=a,jr=s,Lr=o;var c=(1e4*(268435455&(a+=122192928e5))+s)%4294967296;i[n++]=c>>>24&255,i[n++]=c>>>16&255,i[n++]=c>>>8&255,i[n++]=255&c;var l=a/4294967296*1e4&268435455;i[n++]=l>>>8&255,i[n++]=255&l,i[n++]=l>>>24&15|16,i[n++]=l>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var f=e.node||Fr,h=0;h<6;h++)i[n+h]=f[h];return t||Br(i)},zr.v4=Dr,zr.parse=function(e,t,r){var n=t&&r||0,i=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,(function(e){i<16&&(t[n+i++]=Tr[e])}));i<16;)t[n+i++]=0;return t},zr.unparse=Br;var Hr=zr,Kr=n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function s(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(f=e.timeout),e.headers)for(var h in e.headers)a[h.toLowerCase()]={key:h,value:String(e.headers[h])},["if-none-match","if-modified-since"].indexOf(h.toLowerCase())>=0&&(l=!0);if(null!=e.user&&null!=e.password){"https:"!==s.substring(0,6)&&!0!==e.allowInsecureAuthentication&&o.throwError("basic authentication requires a secure https url",c.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:s,user:e.user,password:"[REDACTED]"});var d=e.user+":"+e.password;a.authorization={key:"Authorization",value:"Basic "+Zr.encode(D.toUtf8Bytes(d))}}}t&&(u.method="POST",u.body=t,a["content-type"]={key:"Content-Type",value:"application/json"});var p={};Object.keys(a).forEach((function(e){var t=a[e];p[t.key]=t.value})),u.headers=p;var g,m=(g=null,{promise:new Promise((function(e,t){f&&(g=setTimeout((function(){null!=g&&(g=null,t(o.makeError("timeout",c.Logger.errors.TIMEOUT,{requestBody:u.body||null,requestMethod:u.method,timeout:f,url:s})))}),f))})),cancel:function(){null!=g&&(clearTimeout(g),g=null)}}),y=function(){return n(this,void 0,void 0,(function(){var e,t,n,a,f;return i(this,(function(i){switch(i.label){case 0:e=null,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,$r.getUrl(s,u)];case 2:return e=i.sent(),[3,4];case 3:return t=i.sent(),null==(e=t.response)&&(m.cancel(),o.throwError("missing response",c.Logger.errors.SERVER_ERROR,{requestBody:u.body||null,requestMethod:u.method,serverError:t,url:s})),[3,4];case 4:if(n=e.body,l&&304===e.statusCode?n=null:(e.statusCode<200||e.statusCode>=300)&&(m.cancel(),o.throwError("bad response",c.Logger.errors.SERVER_ERROR,{status:e.statusCode,headers:e.headers,body:n,requestBody:u.body||null,requestMethod:u.method,url:s})),m.cancel(),a=null,null!=n)try{a=JSON.parse(n)}catch(e){o.throwError("invalid JSON",c.Logger.errors.SERVER_ERROR,{body:n,error:e,requestBody:u.body||null,requestMethod:u.method,url:s})}if(!r)return[3,8];i.label=5;case 5:return i.trys.push([5,7,,8]),[4,r(a,e)];case 6:return a=i.sent(),[3,8];case 7:return f=i.sent(),o.throwError("processing response error",c.Logger.errors.SERVER_ERROR,{body:a,error:f,requestBody:u.body||null,requestMethod:u.method,url:s}),[3,8];case 8:return[2,a]}}))}))}();return Promise.race([m.promise,y])},r.poll=function(e,t){return t||(t={}),null==(t=y.shallowCopy(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise((function(r,n){var i=null,o=!1,a=function(){return!o&&(o=!0,i&&clearTimeout(i),!0)};t.timeout&&(i=setTimeout((function(){a()&&n(new Error("timeout"))}),t.timeout));var s=t.retryLimit,u=0;!function i(){return e().then((function(e){if(void 0!==e)a()&&r(e);else if(t.oncePoll)t.oncePoll.once("poll",i);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!o){if(++u>s)return void(a()&&n(new Error("retry limit reached")));var c=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));ct.ceiling&&(c=t.ceiling),setTimeout(i,c)}return null}),(function(e){a()&&n(e)}))}()}))}}))),Yr=(r(Qr),Qr.fetchJson,Qr.poll,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="providers/5.0.1"}))),en=(r(Yr),Yr.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(Yr.version),n=function(){function e(){var t=this.constructor;r.checkNew(t,e),this.formats=this.getDefaultFormats()}return e.prototype.getDefaultFormats=function(){var t=this,r={},n=this.address.bind(this),i=this.bigNumber.bind(this),o=this.blockTag.bind(this),a=this.data.bind(this),s=this.hash.bind(this),u=this.hex.bind(this),c=this.number.bind(this);return r.transaction={hash:s,blockHash:e.allowNull(s,null),blockNumber:e.allowNull(c,null),transactionIndex:e.allowNull(c,null),confirmations:e.allowNull(c,null),from:n,gasPrice:i,gasLimit:i,to:e.allowNull(n,null),value:i,nonce:c,data:a,r:e.allowNull(this.uint256),s:e.allowNull(this.uint256),v:e.allowNull(c),creates:e.allowNull(n,null),raw:e.allowNull(a)},r.transactionRequest={from:e.allowNull(n),nonce:e.allowNull(c),gasLimit:e.allowNull(i),gasPrice:e.allowNull(i),to:e.allowNull(n),value:e.allowNull(i),data:e.allowNull((function(e){return t.data(e,!0)}))},r.receiptLog={transactionIndex:c,blockNumber:c,transactionHash:s,address:n,topics:e.arrayOf(s),data:a,logIndex:c,blockHash:s},r.receipt={to:e.allowNull(this.address,null),from:e.allowNull(this.address,null),contractAddress:e.allowNull(n,null),transactionIndex:c,root:e.allowNull(s),gasUsed:i,logsBloom:e.allowNull(a),blockHash:s,transactionHash:s,logs:e.arrayOf(this.receiptLog.bind(this)),blockNumber:c,confirmations:e.allowNull(c,null),cumulativeGasUsed:i,status:e.allowNull(c)},r.block={hash:s,parentHash:s,number:c,timestamp:c,nonce:e.allowNull(u),difficulty:this.difficulty.bind(this),gasLimit:i,gasUsed:i,miner:n,extraData:a,transactions:e.allowNull(e.arrayOf(s))},r.blockWithTransactions=y.shallowCopy(r.block),r.blockWithTransactions.transactions=e.allowNull(e.arrayOf(this.transactionResponse.bind(this))),r.filter={fromBlock:e.allowNull(o,void 0),toBlock:e.allowNull(o,void 0),blockHash:e.allowNull(s,void 0),address:e.allowNull(n,void 0),topics:e.allowNull(this.topics.bind(this),void 0)},r.filterLog={blockNumber:e.allowNull(c),blockHash:e.allowNull(s),transactionIndex:c,removed:e.allowNull(this.boolean.bind(this)),address:n,data:e.allowFalsish(a,"0x"),topics:e.arrayOf(s),transactionHash:s,logIndex:c},r},e.prototype.number=function(e){return g.BigNumber.from(e).toNumber()},e.prototype.bigNumber=function(e){return g.BigNumber.from(e)},e.prototype.boolean=function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw new Error("invalid boolean - "+e)},e.prototype.hex=function(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),f.isHexString(e))?e.toLowerCase():r.throwArgumentError("invalid hash","value",e)},e.prototype.data=function(e,t){var r=this.hex(e,t);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+e);return r},e.prototype.address=function(e){return A.getAddress(e)},e.prototype.callAddress=function(e){if(!f.isHexString(e,32))return null;var t=A.getAddress(f.hexDataSlice(e,12));return t===B.AddressZero?null:t},e.prototype.contractAddress=function(e){return A.getContractAddress(e)},e.prototype.blockTag=function(e){if(null==e)return"latest";if("earliest"===e)return"0x0";if("latest"===e||"pending"===e)return e;if("number"==typeof e||f.isHexString(e))return f.hexValue(e);throw new Error("invalid blockTag")},e.prototype.hash=function(e,t){var n=this.hex(e,t);return 32!==f.hexDataLength(n)?r.throwArgumentError("invalid hash","value",e):n},e.prototype.difficulty=function(e){if(null==e)return null;var t=g.BigNumber.from(e);try{return t.toNumber()}catch(e){}return null},e.prototype.uint256=function(e){if(!f.isHexString(e))throw new Error("invalid uint256");return f.hexZeroPad(e,32)},e.prototype._block=function(t,r){return null!=t.author&&null==t.miner&&(t.miner=t.author),e.check(r,t)},e.prototype.block=function(e){return this._block(e,this.formats.block)},e.prototype.blockWithTransactions=function(e){return this._block(e,this.formats.blockWithTransactions)},e.prototype.transactionRequest=function(t){return e.check(this.formats.transactionRequest,t)},e.prototype.transactionResponse=function(t){null!=t.gas&&null==t.gasLimit&&(t.gasLimit=t.gas),t.to&&g.BigNumber.from(t.to).isZero()&&(t.to="0x0000000000000000000000000000000000000000"),null!=t.input&&null==t.data&&(t.data=t.input),null==t.to&&null==t.creates&&(t.creates=this.contractAddress(t));var r=e.check(this.formats.transaction,t);if(null!=t.chainId){var n=t.chainId;f.isHexString(n)&&(n=g.BigNumber.from(n).toNumber()),r.chainId=n}else{null==(n=t.networkId)&&null==r.v&&(n=t.chainId),f.isHexString(n)&&(n=g.BigNumber.from(n).toNumber()),"number"!=typeof n&&null!=r.v&&((n=(r.v-35)/2)<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),r.chainId=n}return r.blockHash&&"x"===r.blockHash.replace(/0/g,"")&&(r.blockHash=null),r},e.prototype.transaction=function(e){return hr.parse(e)},e.prototype.receiptLog=function(t){return e.check(this.formats.receiptLog,t)},e.prototype.receipt=function(t){var r=e.check(this.formats.receipt,t);return null!=t.status&&(r.byzantium=!0),r},e.prototype.topics=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.topics(e)})):null!=e?this.hash(e,!0):null},e.prototype.filter=function(t){return e.check(this.formats.filter,t)},e.prototype.filterLog=function(t){return e.check(this.formats.filterLog,t)},e.check=function(e,t){var r={};for(var n in e)try{var i=e[n](t[n]);void 0!==i&&(r[n]=i)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r},e.allowNull=function(e,t){return function(r){return null==r?t:e(r)}},e.allowFalsish=function(e,t){return function(r){return r?e(r):t}},e.arrayOf=function(e){return function(t){if(!Array.isArray(t))throw new Error("not an array");var r=[];return t.forEach((function(t){r.push(e(t))})),r}},e}();t.Formatter=n}))),tn=(r(en),en.Formatter,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function s(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&null==e[e.length-1];)e.pop();return e.map((function(e){if(Array.isArray(e)){var t={};e.forEach((function(e){t[u(e)]=!0}));var r=Object.keys(t);return r.sort(),r.join("|")}return u(e)})).join("&")}function h(e){if("string"==typeof e){if(e=e.toLowerCase(),32===f.hexDataLength(e))return"tx:"+e;if(-1===e.indexOf(":"))return e}else{if(Array.isArray(e))return"filter:*:"+l(e);if(Z.ForkEvent.isForkEvent(e))throw s.warn("not implemented"),new Error("not implemented");if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+l(e.topics||[])}throw new Error("invalid event - "+e)}function d(){return(new Date).getTime()}var p=["block","network","pending","poll"],m=function(){function e(e,t,r){y.defineReadOnly(this,"tag",e),y.defineReadOnly(this,"listener",t),y.defineReadOnly(this,"once",r)}return Object.defineProperty(e.prototype,"event",{get:function(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.tag.split(":")[0]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hash",{get:function(){var e=this.tag.split(":");return"tx"!==e[0]?null:e[1]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){var e=this.tag.split(":");if("filter"!==e[0])return null;var t,r=e[1],n=""===(t=e[2])?[]:t.split(/&/g).map((function(e){if(""===e)return[];var t=e.split("|").map((function(e){return"null"===e?null:e}));return 1===t.length?t[0]:t})),i={};return n.length>0&&(i.topics=n),r&&"*"!==r&&(i.address=r),i},enumerable:!0,configurable:!0}),e.prototype.pollable=function(){return this.tag.indexOf(":")>=0||p.indexOf(this.tag)>=0},e}();r.Event=m;var v=null,b=1,w=function(e){function t(t){var r=this.constructor,n=this;if(s.checkNew(r,Z.Provider),(n=e.call(this)||this)._events=[],n._emitted={block:-2},n.formatter=r.getFormatter(),y.defineReadOnly(n,"anyNetwork","any"===t),n.anyNetwork&&(t=n.detectNetwork()),t instanceof Promise)n._networkPromise=t,t.catch((function(e){})),n._ready();else{var i=y.getStatic(r,"getNetwork")(t);i?(y.defineReadOnly(n,"_network",i),n.emit("network",i,null)):s.throwArgumentError("invalid network","network",t)}return n._maxInternalBlockNumber=-1024,n._lastBlockNumber=-2,n._pollingInterval=4e3,n._fastQueryDate=0,n}return i(t,e),t.prototype._ready=function(){return o(this,void 0,void 0,(function(){var e;return a(this,(function(t){switch(t.label){case 0:if(null!=this._network)return[3,7];if(e=null,!this._networkPromise)return[3,4];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this._networkPromise];case 2:return e=t.sent(),[3,4];case 3:return t.sent(),[3,4];case 4:return null!=e?[3,6]:[4,this.detectNetwork()];case 5:e=t.sent(),t.label=6;case 6:e||s.throwError("no network detected",c.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:y.defineReadOnly(this,"_network",e),this.emit("network",e,null)),t.label=7;case 7:return[2,this._network]}}))}))},Object.defineProperty(t.prototype,"ready",{get:function(){return this._ready()},enumerable:!0,configurable:!0}),t.getFormatter=function(){return null==v&&(v=new en.Formatter),v},t.getNetwork=function(e){return Jr.getNetwork(null==e?"homestead":e)},t.prototype._getInternalBlockNumber=function(e){return o(this,void 0,void 0,(function(){var t,r,n,i,o=this;return a(this,(function(a){switch(a.label){case 0:return[4,this.ready];case 1:return a.sent(),t=this._internalBlockNumber,e>0&&this._internalBlockNumber?[4,t]:[3,3];case 2:if(r=a.sent(),d()-r.respTime<=e)return[2,r.blockNumber];a.label=3;case 3:return n=d(),i=y.resolveProperties({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((function(e){return null}),(function(e){return e}))}).then((function(e){var t=e.blockNumber,r=e.networkError;if(r)throw o._internalBlockNumber===i&&(o._internalBlockNumber=null),r;var a=d();return(t=g.BigNumber.from(t).toNumber())1e3)s.warn("network block skew detected; skipping block events"),this.emit("error",s.makeError("network block skew detected",c.Logger.errors.NETWORK_ERROR,{blockNumber:r,previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(n=this._emitted.block+1;n<=r;n++)this.emit("block",n);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach((function(e){if("block"!==e){var t=i._emitted[e];"pending"!==t&&r-t>12&&delete i._emitted[e]}}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach((function(e){switch(e.type){case"tx":var n=e.hash,o=i.getTransactionReceipt(n).then((function(e){return e&&null!=e.blockNumber?(i._emitted["t:"+n]=e.blockNumber,i.emit(n,e),null):null})).catch((function(e){i.emit("error",e)}));t.push(o);break;case"filter":var a=e.filter;a.fromBlock=i._lastBlockNumber+1,a.toBlock=r;o=i.getLogs(a).then((function(e){0!==e.length&&e.forEach((function(e){i._emitted["b:"+e.blockHash]=e.blockNumber,i._emitted["t:"+e.transactionHash]=e.blockNumber,i.emit(a,e)}))})).catch((function(e){i.emit("error",e)}));t.push(o)}})),this._lastBlockNumber=r,Promise.all(t).then((function(){i.emit("didPoll",e)})),[2,null]}}))}))},t.prototype.resetEventsBlock=function(e){this._lastBlockNumber=e-1,this.polling&&this.poll()},Object.defineProperty(t.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),t.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){return a(this,(function(e){return[2,s.throwError("provider does not support network detection",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})]}))}))},t.prototype.getNetwork=function(){return o(this,void 0,void 0,(function(){var e,t,r;return a(this,(function(n){switch(n.label){case 0:return[4,this.ready];case 1:return e=n.sent(),[4,this.detectNetwork()];case 2:return t=n.sent(),e.chainId===t.chainId?[3,5]:this.anyNetwork?(this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),[4,(i=0,new Promise((function(e){setTimeout(e,i)})))]):[3,4];case 3:return n.sent(),[2,this._network];case 4:throw r=s.makeError("underlying network changed",c.Logger.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t}),this.emit("error",r),r;case 5:return[2,e]}var i}))}))},Object.defineProperty(t.prototype,"blockNumber",{get:function(){var e=this;return this._getInternalBlockNumber(100+this.pollingInterval/2).then((function(t){e._setFastBlockNumber(t)})),null!=this._fastBlockNumber?this._fastBlockNumber:-1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"polling",{get:function(){return null!=this._poller},set:function(e){var t=this;e&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((function(){t.poll(),t._bootstrapPoll=setTimeout((function(){t._poller||t.poll(),t._bootstrapPoll=null}),t.pollingInterval)}),0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(e){var t=this;if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){t.poll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),t.prototype._getFastBlockNumber=function(){var e=this,t=d();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then((function(t){return(null==e._fastBlockNumber||t>e._fastBlockNumber)&&(e._fastBlockNumber=t),e._fastBlockNumber}))),this._fastBlockNumberPromise},t.prototype._setFastBlockNumber=function(e){null!=this._fastBlockNumber&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))},t.prototype.waitForTransaction=function(e,t,r){return o(this,void 0,void 0,(function(){var n,i=this;return a(this,(function(o){switch(o.label){case 0:return null==t&&(t=1),[4,this.getTransactionReceipt(e)];case 1:return((n=o.sent())?n.confirmations:0)>=t?[2,n]:[2,new Promise((function(n,o){var a=null,u=!1,l=function(r){r.confirmations0&&(a=setTimeout((function(){u||(a=null,u=!0,i.removeListener(e,l),o(s.makeError("timeout exceeded",c.Logger.errors.TIMEOUT,{timeout:r})))}),r)).unref&&a.unref()}))]}}))}))},t.prototype.getBlockNumber=function(){return o(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this._getInternalBlockNumber(0)]}))}))},t.prototype.getGasPrice=function(){return o(this,void 0,void 0,(function(){var e,t;return a(this,(function(r){switch(r.label){case 0:return[4,this.getNetwork()];case 1:return r.sent(),t=(e=g.BigNumber).from,[4,this.perform("getGasPrice",{})];case 2:return[2,t.apply(e,[r.sent()])]}}))}))},t.prototype.getBalance=function(e,t){return o(this,void 0,void 0,(function(){var r,n,i;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,y.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(t)})];case 2:return r=o.sent(),i=(n=g.BigNumber).from,[4,this.perform("getBalance",r)];case 3:return[2,i.apply(n,[o.sent()])]}}))}))},t.prototype.getTransactionCount=function(e,t){return o(this,void 0,void 0,(function(){var r,n,i;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,y.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(t)})];case 2:return r=o.sent(),i=(n=g.BigNumber).from,[4,this.perform("getTransactionCount",r)];case 3:return[2,i.apply(n,[o.sent()]).toNumber()]}}))}))},t.prototype.getCode=function(e,t){return o(this,void 0,void 0,(function(){var r,n;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,y.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(t)})];case 2:return r=i.sent(),n=f.hexlify,[4,this.perform("getCode",r)];case 3:return[2,n.apply(void 0,[i.sent()])]}}))}))},t.prototype.getStorageAt=function(e,t,r){return o(this,void 0,void 0,(function(){var n,i;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,y.resolveProperties({address:this._getAddress(e),blockTag:this._getBlockTag(r),position:Promise.resolve(t).then((function(e){return f.hexValue(e)}))})];case 2:return n=o.sent(),i=f.hexlify,[4,this.perform("getStorageAt",n)];case 3:return[2,i.apply(void 0,[o.sent()])]}}))}))},t.prototype._wrapTransaction=function(e,t){var r=this;if(null!=t&&32!==f.hexDataLength(t))throw new Error("invalid response - sendTransaction");var n=e;return null!=t&&e.hash!==t&&s.throwError("Transaction hash mismatch from Provider.sendTransaction.",c.Logger.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),n.wait=function(t){return o(r,void 0,void 0,(function(){var r;return a(this,(function(n){switch(n.label){case 0:return 0!==t&&(this._emitted["t:"+e.hash]="pending"),[4,this.waitForTransaction(e.hash,t)];case 1:return null==(r=n.sent())&&0===t?[2,null]:(this._emitted["t:"+e.hash]=r.blockNumber,0===r.status&&s.throwError("transaction failed",c.Logger.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:r}),[2,r])}}))}))},n},t.prototype.sendTransaction=function(e){return o(this,void 0,void 0,(function(){var t,r,n,i;return a(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,Promise.resolve(e).then((function(e){return f.hexlify(e)}))];case 2:t=o.sent(),r=this.formatter.transaction(e),o.label=3;case 3:return o.trys.push([3,5,,6]),[4,this.perform("sendTransaction",{signedTransaction:t})];case 4:return n=o.sent(),[2,this._wrapTransaction(r,n)];case 5:throw(i=o.sent()).transaction=r,i.transactionHash=r.hash,i;case 6:return[2]}}))}))},t.prototype._getTransactionRequest=function(e){return o(this,void 0,void 0,(function(){var t,r,n,i,o=this;return a(this,(function(a){switch(a.label){case 0:return[4,e];case 1:return t=a.sent(),r={},["from","to"].forEach((function(e){null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((function(e){return e?o._getAddress(e):null})))})),["gasLimit","gasPrice","value"].forEach((function(e){null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((function(e){return e?g.BigNumber.from(e):null})))})),["data"].forEach((function(e){null!=t[e]&&(r[e]=Promise.resolve(t[e]).then((function(e){return e?f.hexlify(e):null})))})),i=(n=this.formatter).transactionRequest,[4,y.resolveProperties(r)];case 2:return[2,i.apply(n,[a.sent()])]}}))}))},t.prototype._getFilter=function(e){return o(this,void 0,void 0,(function(){var t,r,n,i=this;return a(this,(function(o){switch(o.label){case 0:return[4,e];case 1:return e=o.sent(),t={},null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach((function(r){null!=e[r]&&(t[r]=e[r])})),["fromBlock","toBlock"].forEach((function(r){null!=e[r]&&(t[r]=i._getBlockTag(e[r]))})),n=(r=this.formatter).filter,[4,y.resolveProperties(t)];case 2:return[2,n.apply(r,[o.sent()])]}}))}))},t.prototype.call=function(e,t){return o(this,void 0,void 0,(function(){var r,n;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,y.resolveProperties({transaction:this._getTransactionRequest(e),blockTag:this._getBlockTag(t)})];case 2:return r=i.sent(),n=f.hexlify,[4,this.perform("call",r)];case 3:return[2,n.apply(void 0,[i.sent()])]}}))}))},t.prototype.estimateGas=function(e){return o(this,void 0,void 0,(function(){var t,r,n;return a(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,y.resolveProperties({transaction:this._getTransactionRequest(e)})];case 2:return t=i.sent(),n=(r=g.BigNumber).from,[4,this.perform("estimateGas",t)];case 3:return[2,n.apply(r,[i.sent()])]}}))}))},t.prototype._getAddress=function(e){return o(this,void 0,void 0,(function(){var t;return a(this,(function(r){switch(r.label){case 0:return[4,this.resolveName(e)];case 1:return null==(t=r.sent())&&s.throwError("ENS name not configured",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify(e)+")"}),[2,t]}}))}))},t.prototype._getBlock=function(e,t){return o(this,void 0,void 0,(function(){var r,n,i,u,c,l=this;return a(this,(function(h){switch(h.label){case 0:return[4,this.getNetwork()];case 1:return h.sent(),[4,e];case 2:return e=h.sent(),r=-128,n={includeTransactions:!!t},f.isHexString(e,32)?(n.blockHash=e,[3,6]):[3,3];case 3:return h.trys.push([3,5,,6]),i=n,c=(u=this.formatter).blockTag,[4,this._getBlockTag(e)];case 4:return i.blockTag=c.apply(u,[h.sent()]),f.isHexString(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16)),[3,6];case 5:return h.sent(),s.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",e),[3,6];case 6:return[2,Qr.poll((function(){return o(l,void 0,void 0,(function(){var e,i,o,s,u;return a(this,(function(a){switch(a.label){case 0:return[4,this.perform("getBlock",n)];case 1:if(null==(e=a.sent()))return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?[2,null]:[2,void 0];if(!t)return[3,8];i=null,o=0,a.label=2;case 2:return on.length?[2,null]:(s=D.toUtf8String(n.slice(0,o)),[4,this.resolveName(s)]));case 4:return a.sent()!=e?[2,null]:[2,s]}}))}))},t.prototype.perform=function(e,t){return s.throwError(e+" not implemented",c.Logger.errors.NOT_IMPLEMENTED,{operation:e})},t.prototype._startEvent=function(e){this.polling=this._events.filter((function(e){return e.pollable()})).length>0},t.prototype._stopEvent=function(e){this.polling=this._events.filter((function(e){return e.pollable()})).length>0},t.prototype._addEventListener=function(e,t,r){var n=new m(h(e),t,r);return this._events.push(n),this._startEvent(n),this},t.prototype.on=function(e,t){return this._addEventListener(e,t,!1)},t.prototype.once=function(e,t){return this._addEventListener(e,t,!0)},t.prototype.emit=function(e){for(var t=this,r=[],n=1;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&s.throwError("insufficient funds",c.Logger.errors.INSUFFICIENT_FUNDS,{transaction:n}),e.responseText.indexOf("nonce too low")>=0&&s.throwError("nonce has already been used",c.Logger.errors.NONCE_EXPIRED,{transaction:n}),e.responseText.indexOf("replacement transaction underpriced")>=0&&s.throwError("replacement fee too low",c.Logger.errors.REPLACEMENT_UNDERPRICED,{transaction:n})),e}))}))},t.prototype.signTransaction=function(e){return s.throwError("signing transactions is unsupported",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})},t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then((function(e){return Qr.poll((function(){return t.provider.getTransaction(e).then((function(r){if(null!==r)return t.provider._wrapTransaction(r,e)}))}),{onceBlock:t.provider}).catch((function(t){throw t.transactionHash=e,t}))}))},t.prototype.signMessage=function(e){var t=this,r="string"==typeof e?D.toUtf8Bytes(e):e;return this.getAddress().then((function(e){return t.provider.send("eth_sign",[e.toLowerCase(),f.hexlify(r)])}))},t.prototype.unlock=function(e){var t=this.provider;return this.getAddress().then((function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])}))},t}($.Signer);r.JsonRpcSigner=p;var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then((function(e){return{hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(r){return t.provider.waitForTransaction(e,r)}}}))},t}(p),v={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},b=function(e){function t(r,n){var i=this.constructor,o=this;s.checkNew(i,t);var a=n;return null==a&&(a=new Promise((function(e,t){setTimeout((function(){o.detectNetwork().then((function(t){e(t)}),(function(e){t(e)}))}),0)}))),o=e.call(this,a)||this,r||(r=y.getStatic(o.constructor,"defaultUrl")()),"string"==typeof r?y.defineReadOnly(o,"connection",Object.freeze({url:r})):y.defineReadOnly(o,"connection",Object.freeze(y.shallowCopy(r))),o._nextId=42,o}return i(t,e),t.defaultUrl=function(){return"http://localhost:8545"},t.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){var e,t;return a(this,(function(r){switch(r.label){case 0:return[4,u(0)];case 1:r.sent(),e=null,r.label=2;case 2:return r.trys.push([2,4,,9]),[4,this.send("eth_chainId",[])];case 3:return e=r.sent(),[3,9];case 4:r.sent(),r.label=5;case 5:return r.trys.push([5,7,,8]),[4,this.send("net_version",[])];case 6:return e=r.sent(),[3,8];case 7:return r.sent(),[3,8];case 8:return[3,9];case 9:if(null!=e){t=y.getStatic(this.constructor,"getNetwork");try{return[2,t(g.BigNumber.from(e).toNumber())]}catch(t){return[2,s.throwError("could not detect network",c.Logger.errors.NETWORK_ERROR,{chainId:e,serverError:t})]}}return[2,s.throwError("could not detect network",c.Logger.errors.NETWORK_ERROR)]}}))}))},t.prototype.getSigner=function(e){return new p(d,this,e)},t.prototype.getUncheckedSigner=function(e){return this.getSigner(e).connectUnchecked()},t.prototype.listAccounts=function(){var e=this;return this.send("eth_accounts",[]).then((function(t){return t.map((function(t){return e.formatter.address(t)}))}))},t.prototype.send=function(e,t){var r=this,n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:y.deepCopy(n),provider:this}),Qr.fetchJson(this.connection,JSON.stringify(n),l).then((function(e){return r.emit("debug",{action:"response",request:n,response:e,provider:r}),e}),(function(e){throw r.emit("debug",{action:"response",error:e,request:n,provider:r}),e}))},t.prototype.prepareRequest=function(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[h(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[h(t.address),t.blockTag]];case"getCode":return["eth_getCode",[h(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[h(t.address),t.position,t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":return t.blockTag?["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]]:t.blockHash?["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":return["eth_call",[y.getStatic(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0}),t.blockTag]];case"estimateGas":return["eth_estimateGas",[y.getStatic(this.constructor,"hexlifyTransaction")(t.transaction,{from:!0})]];case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=h(t.filter.address)),["eth_getLogs",[t.filter]]}return null},t.prototype.perform=function(e,t){var r=this.prepareRequest(e,t);return null==r&&s.throwError(e+" not implemented",c.Logger.errors.NOT_IMPLEMENTED,{operation:e}),"sendTransaction"===e?this.send(r[0],r[1]).catch((function(e){throw e.responseText&&(e.responseText.indexOf("insufficient funds")>0&&s.throwError("insufficient funds",c.Logger.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("nonce too low")>0&&s.throwError("nonce has already been used",c.Logger.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("replacement transaction underpriced")>0&&s.throwError("replacement fee too low",c.Logger.errors.REPLACEMENT_UNDERPRICED,{})),e})):this.send(r[0],r[1])},t.prototype._startEvent=function(t){"pending"===t.tag&&this._startPending(),e.prototype._startEvent.call(this,t)},t.prototype._startPending=function(){if(null==this._pendingFilter){var e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then((function(r){return function n(){e.send("eth_getFilterChanges",[r]).then((function(r){if(e._pendingFilter!=t)return null;var n=Promise.resolve();return r.forEach((function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then((function(){return e.getTransaction(t).then((function(t){return e.emit("pending",t),null}))}))})),n.then((function(){return u(1e3)}))})).then((function(){if(e._pendingFilter==t)return setTimeout((function(){n()}),0),null;e.send("eth_uninstallFilter",[r])})).catch((function(e){}))}(),r})).catch((function(e){}))}},t.prototype._stopEvent=function(t){"pending"===t.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),e.prototype._stopEvent.call(this,t)},t.hexlifyTransaction=function(e,t){var r=y.shallowCopy(v);if(t)for(var n in t)t[n]&&(r[n]=!0);y.checkProperties(e,r);var i={};return["gasLimit","gasPrice","nonce","value"].forEach((function(t){if(null!=e[t]){var r=f.hexValue(e[t]);"gasLimit"===t&&(t="gas"),i[t]=r}})),["from","to","data"].forEach((function(t){null!=e[t]&&(i[t]=f.hexlify(e[t]))})),i},t}(tn.BaseProvider);r.JsonRpcProvider=b}))),nn=(r(rn),rn.JsonRpcSigner,rn.JsonRpcProvider,n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function s(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&s.throwError("insufficient funds",c.Logger.errors.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("same hash was already imported")>=0&&s.throwError("nonce has already been used",c.Logger.errors.NONCE_EXPIRED,{}),e.responseText.indexOf("another transaction with same nonce")>=0&&s.throwError("replacement fee too low",c.Logger.errors.REPLACEMENT_UNDERPRICED,{})),e}))];case 8:if(r.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+r.blockTag,r.includeTransactions?n+="&boolean=true":n+="&boolean=false",[2,f(n+=i)];throw new Error("getBlock by blockHash not implemented");case 9:return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+r.transactionHash,[2,f(n+=i)];case 10:return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+r.transactionHash,[2,f(n+=i)];case 11:if((p=u(r.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_call"+p,"latest"!==r.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return[2,f(n+=i)];case 12:return(p=u(r.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_estimateGas&"+p,[2,f(n+=i)];case 13:return n+="/api?module=logs&action=getLogs",r.filter.fromBlock&&(n+="&fromBlock="+d(r.filter.fromBlock)),r.filter.toBlock&&(n+="&toBlock="+d(r.filter.toBlock)),r.filter.address&&(n+="&address="+r.filter.address),r.filter.topics&&r.filter.topics.length>0&&(r.filter.topics.length>1&&s.throwError("unsupported topic count",c.Logger.errors.UNSUPPORTED_OPERATION,{topics:r.filter.topics}),1===r.filter.topics.length&&("string"==typeof(g=r.filter.topics[0])&&66===g.length||s.throwError("unsupported topic format",c.Logger.errors.UNSUPPORTED_OPERATION,{topic0:g}),n+="&topic0="+g)),[4,f(n+=i,l)];case 14:m=P.sent(),v={},b=0,P.label=15;case 15:return b0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]t?null:(n+i)/2}function d(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if(g.BigNumber.isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map((function(e){return d(e)})));if("object"==typeof e){var t=Object.keys(e);return t.sort(),"{"+t.map((function(t){var r=e[t];return r="function"==typeof r?"[function]":d(r),JSON.stringify(t)+":"+r})).join(",")+"}"}throw new Error("unknown value type: "+typeof e)}var p=1;function m(e){var t=null,r=null,n=new Promise((function(n){t=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(t,e)}));return{cancel:t,getPromise:function(){return n},wait:function(e){return n=n.then(e)}}}function v(e,t){var r={provider:e.provider,weight:e.weight};return e.start&&(r.start=e.start),t&&(r.duration=t-e.start),e.done&&(e.error?r.error=e.error:r.result=e.result||null),r}function b(e,t,r){var n=d;switch(t){case"getBlockNumber":return function(t){var r=t.map((function(e){return e.result})),n=h(t.map((function(e){return e.result})),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=e._highestBlockNumber&&(e._highestBlockNumber=n),e._highestBlockNumber};case"getGasPrice":return function(e){var t=e.map((function(e){return e.result}));return t.sort(),t[Math.floor(t.length/2)]};case"getEtherPrice":return function(e){return h(e.map((function(e){return e.result})))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(e){return null==e?null:((e=y.shallowCopy(e)).confirmations=-1,d(e))};break;case"getBlock":n=r.includeTransactions?function(e){return null==e?null:((e=y.shallowCopy(e)).transactions=e.transactions.map((function(e){return(e=y.shallowCopy(e)).confirmations=-1,e})),d(e))}:function(e){return null==e?null:d(e)};break;default:throw new Error("unknown method: "+t)}return function(e,t){return function(r){var n={};r.forEach((function(t){var r=e(t.result);n[r]||(n[r]={count:0,result:t.result}),n[r].count++}));for(var i=Object.keys(n),o=0;o=t)return a.result}}}(n,e.quorum)}function w(e,t){return o(this,void 0,void 0,(function(){var r;return a(this,(function(n){return null!=(r=e.provider).blockNumber&&r.blockNumber>=t||-1===t?[2,r]:[2,Qr.poll((function(){return new Promise((function(n,i){setTimeout((function(){return r.blockNumber>=t?n(r):e.cancelled?n(null):n(void 0)}),0)}))}),{oncePoll:r})]}))}))}var _=function(e){function t(r,n){var i=this.constructor,o=this;s.checkNew(i,t),0===r.length&&s.throwArgumentError("missing providers","providers",r);var a=r.map((function(e,t){if(Z.Provider.isProvider(e))return Object.freeze({provider:e,weight:1,stallTimeout:750,priority:1});var r=y.shallowCopy(e);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);var n=r.weight;return(n%1||n>512||n<1)&&s.throwArgumentError("invalid weight; must be integer in [1, 512]","providers["+t+"].weight",n),Object.freeze(r)})),u=a.reduce((function(e,t){return e+t.weight}),0);null==n?n=u/2:n>u&&s.throwArgumentError("quorum will always fail; larger than total weight","quorum",n);var c=l(a.map((function(e){return e.provider.network})));return null==c&&(c=new Promise((function(e,t){setTimeout((function(){o.detectNetwork().then(e,t)}),0)}))),o=e.call(this,c)||this,y.defineReadOnly(o,"providerConfigs",Object.freeze(a)),y.defineReadOnly(o,"quorum",n),o._highestBlockNumber=-1,o}return i(t,e),t.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){return a(this,(function(e){switch(e.label){case 0:return[4,Promise.all(this.providerConfigs.map((function(e){return e.provider.getNetwork()})))];case 1:return[2,l(e.sent())]}}))}))},t.prototype.perform=function(e,t){return o(this,void 0,void 0,(function(){var r,n,i,l,h,d,g,_,E,k,P,S=this;return a(this,(function(A){switch(A.label){case 0:return"sendTransaction"!==e?[3,2]:[4,Promise.all(this.providerConfigs.map((function(e){return e.provider.sendTransaction(t.signedTransaction).then((function(e){return e.hash}),(function(e){return e}))})))];case 1:for(r=A.sent(),n=0;n=k.quorum?void 0!==(P=l(E))?(h.forEach((function(e){e.staller&&e.staller.cancel(),e.cancelled=!0})),[2,{value:P}]):_?[3,4]:[4,m(100).getPromise()]:[3,5];case 3:A.sent(),A.label=4;case 4:_=!1,A.label=5;case 5:return 0===h.filter((function(e){return!e.done})).length?[2,"break"]:[2]}}))},k=this,A.label=5;case 5:return[5,E()];case 6:return"object"==typeof(P=A.sent())?[2,P.value]:"break"===P?[3,7]:[3,5];case 7:return h.forEach((function(e){e.staller&&e.staller.cancel(),e.cancelled=!0})),[2,s.throwError("failed to meet quorum",c.Logger.errors.SERVER_ERROR,{method:e,params:t,results:h.map((function(e){return v(e)})),provider:this})]}}))}))},t}(tn.BaseProvider);r.FallbackProvider=_}))),cn=(r(un),un.FallbackProvider,null),ln=n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(e){var n=new c.Logger(Yr.version);r=function(){n.throwError("WebSockets not supported in this environment",c.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}e.exports=r})),fn=(r(ln),n((function(e,r){var n,i=t&&t.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=t&&t.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{u(n.next(e))}catch(e){o(e)}}function s(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}u((n=n.apply(e,t||[])).next())}))},a=t&&t.__generator||function(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]256)throw new Error("invalid number type - "+t);return a&&(u=256),o=g.BigNumber.from(o).toTwos(u),f.zeroPad(o,u/8)}if(s=t.match(r)){var u=parseInt(s[1]);if(String(u)!=s[1]||0===u||u>32)throw new Error("invalid number type - "+t);if(f.arrayify(o).byteLength!==u)throw new Error("invalid value for "+t);return a?f.arrayify((o+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):o}if((s=t.match(i))&&Array.isArray(o)){var c=s[1];if(parseInt(s[2]||String(o.length))!=o.length)throw new Error("invalid value for "+t);var l=[];return o.forEach((function(t){l.push(e(c,t,!0))})),f.concat(l)}throw new Error("unknown type - "+t)}(e,t[a]))})),f.hexlify(f.concat(o))}t.pack=o,t.keccak256=function(e,t){return E.keccak256(o(e,t))},t.sha256=function(e,t){return Et.sha256(o(e,t))}}))),yn=(r(mn),mn.pack,mn.keccak256,mn.sha256,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="units/5.0.1"}))),vn=(r(yn),yn.version,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var r=new c.Logger(yn.version),n=["wei","kwei","mwei","gwei","szabo","finney","ether"];function i(e,t){if("string"==typeof t){var r=n.indexOf(t);-1!==r&&(t=3*r)}return g.formatFixed(e,null!=t?t:18)}function o(e,t){if("string"==typeof t){var r=n.indexOf(t);-1!==r&&(t=3*r)}return g.parseFixed(e,null!=t?t:18)}t.commify=function(e){var t=String(e).split(".");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&r.throwArgumentError("invalid value","value",e);var n=t[0],i="";for("-"===n.substring(0,1)&&(i="-",n=n.substring(1));"0"===n.substring(0,1);)n=n.substring(1);""===n&&(n="0");var o="";2===t.length&&(o="."+(t[1]||"0"));for(var a=[];n.length;){if(n.length<=3){a.unshift(n);break}var s=n.length-3;a.unshift(n.substring(s)),n=n.substring(0,s)}return i+a.join(",")+o},t.formatUnits=i,t.parseUnits=o,t.formatEther=function(e){return i(e,18)},t.parseEther=function(e){return o(e,18)}}))),bn=(r(vn),vn.commify,vn.formatUnits,vn.parseUnits,vn.formatEther,vn.parseEther,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0}),r.AbiCoder=V.AbiCoder,r.checkResultErrors=V.checkResultErrors,r.defaultAbiCoder=V.defaultAbiCoder,r.EventFragment=V.EventFragment,r.FormatTypes=V.FormatTypes,r.Fragment=V.Fragment,r.FunctionFragment=V.FunctionFragment,r.Indexed=V.Indexed,r.Interface=V.Interface,r.LogDescription=V.LogDescription,r.ParamType=V.ParamType,r.TransactionDescription=V.TransactionDescription,r.getAddress=A.getAddress,r.getCreate2Address=A.getCreate2Address,r.getContractAddress=A.getContractAddress,r.getIcapAddress=A.getIcapAddress,r.isAddress=A.isAddress;var i=n(Zr);r.base64=i,r.arrayify=f.arrayify,r.concat=f.concat,r.hexDataSlice=f.hexDataSlice,r.hexDataLength=f.hexDataLength,r.hexlify=f.hexlify,r.hexStripZeros=f.hexStripZeros,r.hexValue=f.hexValue,r.hexZeroPad=f.hexZeroPad,r.isBytes=f.isBytes,r.isBytesLike=f.isBytesLike,r.isHexString=f.isHexString,r.joinSignature=f.joinSignature,r.zeroPad=f.zeroPad,r.splitSignature=f.splitSignature,r.stripZeros=f.stripZeros,r.hashMessage=q.hashMessage,r.id=q.id,r.isValidName=q.isValidName,r.namehash=q.namehash,r.defaultPath=vr.defaultPath,r.entropyToMnemonic=vr.entropyToMnemonic,r.HDNode=vr.HDNode,r.isValidMnemonic=vr.isValidMnemonic,r.mnemonicToEntropy=vr.mnemonicToEntropy,r.mnemonicToSeed=vr.mnemonicToSeed,r.getJsonWalletAddress=Wr.getJsonWalletAddress,r.keccak256=E.keccak256,r.Logger=c.Logger,r.computeHmac=Et.computeHmac,r.ripemd160=Et.ripemd160,r.sha256=Et.sha256,r.sha512=Et.sha512,r.solidityKeccak256=mn.keccak256,r.solidityPack=mn.pack,r.soliditySha256=mn.sha256,r.randomBytes=_r.randomBytes,r.shuffled=_r.shuffled,r.checkProperties=y.checkProperties,r.deepCopy=y.deepCopy,r.defineReadOnly=y.defineReadOnly,r.getStatic=y.getStatic,r.resolveProperties=y.resolveProperties,r.shallowCopy=y.shallowCopy;var o=n(P);r.RLP=o,r.computePublicKey=lr.computePublicKey,r.recoverPublicKey=lr.recoverPublicKey,r.SigningKey=lr.SigningKey,r.formatBytes32String=D.formatBytes32String,r.nameprep=D.nameprep,r.parseBytes32String=D.parseBytes32String,r._toEscapedUtf8String=D._toEscapedUtf8String,r.toUtf8Bytes=D.toUtf8Bytes,r.toUtf8CodePoints=D.toUtf8CodePoints,r.toUtf8String=D.toUtf8String,r.Utf8ErrorFuncs=D.Utf8ErrorFuncs,r.computeAddress=hr.computeAddress,r.parseTransaction=hr.parse,r.recoverAddress=hr.recoverAddress,r.serializeTransaction=hr.serialize,r.commify=vn.commify,r.formatEther=vn.formatEther,r.parseEther=vn.parseEther,r.formatUnits=vn.formatUnits,r.parseUnits=vn.parseUnits,r.verifyMessage=Gr.verifyMessage,r.fetchJson=Qr.fetchJson,r.poll=Qr.poll;var a=Et;r.SupportedAlgorithm=a.SupportedAlgorithm;var s=D;r.UnicodeNormalizationForm=s.UnicodeNormalizationForm,r.Utf8ErrorReason=s.Utf8ErrorReason}))),wn=(r(bn),bn.AbiCoder,bn.checkResultErrors,bn.defaultAbiCoder,bn.EventFragment,bn.FormatTypes,bn.Fragment,bn.FunctionFragment,bn.Indexed,bn.Interface,bn.LogDescription,bn.ParamType,bn.TransactionDescription,bn.getAddress,bn.getCreate2Address,bn.getContractAddress,bn.getIcapAddress,bn.isAddress,bn.base64,bn.arrayify,bn.concat,bn.hexDataSlice,bn.hexDataLength,bn.hexlify,bn.hexStripZeros,bn.hexValue,bn.hexZeroPad,bn.isBytes,bn.isBytesLike,bn.isHexString,bn.joinSignature,bn.zeroPad,bn.splitSignature,bn.stripZeros,bn.hashMessage,bn.id,bn.isValidName,bn.namehash,bn.defaultPath,bn.entropyToMnemonic,bn.HDNode,bn.isValidMnemonic,bn.mnemonicToEntropy,bn.mnemonicToSeed,bn.getJsonWalletAddress,bn.keccak256,bn.Logger,bn.computeHmac,bn.ripemd160,bn.sha256,bn.sha512,bn.solidityKeccak256,bn.solidityPack,bn.soliditySha256,bn.randomBytes,bn.shuffled,bn.checkProperties,bn.deepCopy,bn.defineReadOnly,bn.getStatic,bn.resolveProperties,bn.shallowCopy,bn.RLP,bn.computePublicKey,bn.recoverPublicKey,bn.SigningKey,bn.formatBytes32String,bn.nameprep,bn.parseBytes32String,bn._toEscapedUtf8String,bn.toUtf8Bytes,bn.toUtf8CodePoints,bn.toUtf8String,bn.Utf8ErrorFuncs,bn.computeAddress,bn.parseTransaction,bn.recoverAddress,bn.serializeTransaction,bn.commify,bn.formatEther,bn.parseEther,bn.formatUnits,bn.parseUnits,bn.verifyMessage,bn.fetchJson,bn.poll,bn.SupportedAlgorithm,bn.UnicodeNormalizationForm,bn.Utf8ErrorReason,n((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.version="ethers/5.0.1"}))),_n=(r(wn),wn.version,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0}),r.Contract=Y.Contract,r.ContractFactory=Y.ContractFactory,r.BigNumber=g.BigNumber,r.FixedNumber=g.FixedNumber,r.Signer=$.Signer,r.VoidSigner=$.VoidSigner,r.Wallet=Gr.Wallet;var i=n(B);r.constants=i;var o=n(gn);r.providers=o;var a=gn;r.getDefaultProvider=a.getDefaultProvider,r.Wordlist=mr.Wordlist,r.wordlists=mr.wordlists;var s=n(bn);r.utils=s,r.errors=c.ErrorCode,r.version=wn.version;var u=new c.Logger(wn.version);r.logger=u}))),En=(r(_n),_n.Contract,_n.ContractFactory,_n.BigNumber,_n.FixedNumber,_n.Signer,_n.VoidSigner,_n.Wallet,_n.constants,_n.providers,_n.getDefaultProvider,_n.Wordlist,_n.wordlists,_n.utils,_n.errors,_n.version,_n.logger,n((function(e,r){var n=t&&t.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(_n);r.ethers=i;try{var o=window;null==o._ethers&&(o._ethers=i)}catch(e){}var a=_n;r.Signer=a.Signer,r.Wallet=a.Wallet,r.VoidSigner=a.VoidSigner,r.getDefaultProvider=a.getDefaultProvider,r.providers=a.providers,r.Contract=a.Contract,r.ContractFactory=a.ContractFactory,r.BigNumber=a.BigNumber,r.FixedNumber=a.FixedNumber,r.constants=a.constants,r.errors=a.errors,r.logger=a.logger,r.utils=a.utils,r.wordlists=a.wordlists,r.version=a.version,r.Wordlist=a.Wordlist}))),kn=r(En),Pn=En.ethers,Sn=En.Signer,An=En.Wallet,Mn=En.VoidSigner,xn=En.getDefaultProvider,On=En.providers,Nn=En.Contract,Rn=En.ContractFactory,Tn=En.BigNumber,Cn=En.FixedNumber,Bn=En.constants,In=En.errors,Fn=En.logger,Ln=En.utils,Un=En.wordlists,jn=En.version,Dn=En.Wordlist;e.BigNumber=Tn,e.Contract=Nn,e.ContractFactory=Rn,e.FixedNumber=Cn,e.Signer=Sn,e.VoidSigner=Mn,e.Wallet=An,e.Wordlist=Dn,e.constants=Bn,e.default=kn,e.errors=In,e.ethers=Pn,e.getDefaultProvider=xn,e.logger=Fn,e.providers=On,e.utils=Ln,e.version=jn,e.wordlists=Un,Object.defineProperty(e,"__esModule",{value:!0})})); +!function(){var r="object"==typeof window?window:{};!r.JS_SHA3_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node&&(r=e);for(var n=!r.JS_SHA3_NO_COMMON_JS&&t.exports,i="0123456789abcdef".split(""),o=[0,8,16,24],s=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],a=[224,256,384,512],u=["hex","buffer","arrayBuffer","array"],l=function(t,e,r){return function(n){return new w(t,e,t).update(n)[r]()}},h=function(t,e,r){return function(n,i){return new w(t,e,i).update(n)[r]()}},c=function(t,e){var r=l(t,e,"hex");r.create=function(){return new w(t,e,t)},r.update=function(t){return r.create().update(t)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}w.prototype.update=function(t){var e="string"!=typeof t;e&&t.constructor===ArrayBuffer&&(t=new Uint8Array(t));for(var r,n,i=t.length,s=this.blocks,a=this.byteCount,u=this.blockCount,l=0,h=this.s;l>2]|=t[l]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(s[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=s[u],r=0;r>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e>4&15]+i[15&t]+i[t>>12&15]+i[t>>8&15]+i[t>>20&15]+i[t>>16&15]+i[t>>28&15]+i[t>>24&15];a%e==0&&(_(r),s=0)}return o&&(t=r[s],o>0&&(u+=i[t>>4&15]+i[15&t]),o>1&&(u+=i[t>>12&15]+i[t>>8&15]),o>2&&(u+=i[t>>20&15]+i[t>>16&15])),u},w.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;t=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var u=new Uint32Array(t);s>8&255,u[t+2]=e>>16&255,u[t+3]=e>>24&255;a%r==0&&_(n)}return o&&(t=a<<2,e=n[s],o>0&&(u[t]=255&e),o>1&&(u[t+1]=e>>8&255),o>2&&(u[t+2]=e>>16&255)),u};var _=function(t){var e,r,n,i,o,a,u,l,h,c,f,d,p,m,g,v,y,b,w,_,M,E,k,S,P,A,x,N,O,R,T,C,B,I,F,L,U,j,D,z,H,K,q,W,G,V,J,Z,X,$,Q,Y,tt,et,rt,nt,it,ot,st,at,ut,lt,ht;for(n=0;n<48;n+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],u=t[3]^t[13]^t[23]^t[33]^t[43],l=t[4]^t[14]^t[24]^t[34]^t[44],h=t[5]^t[15]^t[25]^t[35]^t[45],c=t[6]^t[16]^t[26]^t[36]^t[46],f=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(a<<1|u>>>31),r=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(u<<1|a>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=i^(l<<1|h>>>31),r=o^(h<<1|l>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=a^(c<<1|f>>>31),r=u^(f<<1|c>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=l^(d<<1|p>>>31),r=h^(p<<1|d>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=c^(i<<1|o>>>31),r=f^(o<<1|i>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,m=t[0],g=t[1],V=t[11]<<4|t[10]>>>28,J=t[10]<<4|t[11]>>>28,N=t[20]<<3|t[21]>>>29,O=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ut=t[30]<<9|t[31]>>>23,K=t[40]<<18|t[41]>>>14,q=t[41]<<18|t[40]>>>14,I=t[2]<<1|t[3]>>>31,F=t[3]<<1|t[2]>>>31,v=t[13]<<12|t[12]>>>20,y=t[12]<<12|t[13]>>>20,Z=t[22]<<10|t[23]>>>22,X=t[23]<<10|t[22]>>>22,R=t[33]<<13|t[32]>>>19,T=t[32]<<13|t[33]>>>19,lt=t[42]<<2|t[43]>>>30,ht=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,rt=t[4]<<30|t[5]>>>2,L=t[14]<<6|t[15]>>>26,U=t[15]<<6|t[14]>>>26,b=t[25]<<11|t[24]>>>21,w=t[24]<<11|t[25]>>>21,$=t[34]<<15|t[35]>>>17,Q=t[35]<<15|t[34]>>>17,C=t[45]<<29|t[44]>>>3,B=t[44]<<29|t[45]>>>3,S=t[6]<<28|t[7]>>>4,P=t[7]<<28|t[6]>>>4,nt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,j=t[26]<<25|t[27]>>>7,D=t[27]<<25|t[26]>>>7,_=t[36]<<21|t[37]>>>11,M=t[37]<<21|t[36]>>>11,Y=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,W=t[8]<<27|t[9]>>>5,G=t[9]<<27|t[8]>>>5,A=t[18]<<20|t[19]>>>12,x=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,st=t[28]<<7|t[29]>>>25,z=t[38]<<8|t[39]>>>24,H=t[39]<<8|t[38]>>>24,E=t[48]<<14|t[49]>>>18,k=t[49]<<14|t[48]>>>18,t[0]=m^~v&b,t[1]=g^~y&w,t[10]=S^~A&N,t[11]=P^~x&O,t[20]=I^~L&j,t[21]=F^~U&D,t[30]=W^~V&Z,t[31]=G^~J&X,t[40]=et^~nt&ot,t[41]=rt^~it&st,t[2]=v^~b&_,t[3]=y^~w&M,t[12]=A^~N&R,t[13]=x^~O&T,t[22]=L^~j&z,t[23]=U^~D&H,t[32]=V^~Z&$,t[33]=J^~X&Q,t[42]=nt^~ot&at,t[43]=it^~st&ut,t[4]=b^~_&E,t[5]=w^~M&k,t[14]=N^~R&C,t[15]=O^~T&B,t[24]=j^~z&K,t[25]=D^~H&q,t[34]=Z^~$&Y,t[35]=X^~Q&tt,t[44]=ot^~at<,t[45]=st^~ut&ht,t[6]=_^~E&m,t[7]=M^~k&g,t[16]=R^~C&S,t[17]=T^~B&P,t[26]=z^~K&I,t[27]=H^~q&F,t[36]=$^~Y&W,t[37]=Q^~tt&G,t[46]=at^~lt&et,t[47]=ut^~ht&rt,t[8]=E^~m&v,t[9]=k^~g&y,t[18]=C^~S&A,t[19]=B^~P&x,t[28]=K^~I&L,t[29]=q^~F&U,t[38]=Y^~W&V,t[39]=tt^~G&J,t[48]=lt^~et&nt,t[49]=ht^~rt&it,t[0]^=s[n],t[1]^=s[n+1]};if(n)t.exports=d;else for(m=0;m>=8;return e}function i(t,e,r){for(var n=0,i=0;ie+1+i&&r.throwError("child data too short",l.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+i,result:o}}function s(t,e){if(0===t.length&&r.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),t[e]>=248){e+1+(a=t[e]-247)>t.length&&r.throwError("data short segment too short",l.Logger.errors.BUFFER_OVERRUN,{});var n=i(t,e+1,a);return e+1+a+n>t.length&&r.throwError("data long segment too short",l.Logger.errors.BUFFER_OVERRUN,{}),o(t,e,e+1+a,a+n)}if(t[e]>=192){var s=t[e]-192;return e+1+s>t.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),o(t,e,e+1,s)}if(t[e]>=184){var a;e+1+(a=t[e]-183)>t.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{});var u=i(t,e+1,a);return e+1+a+u>t.length&&r.throwError("data array too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+a+u,result:c.hexlify(t.slice(e+1+a,e+1+a+u))}}if(t[e]>=128){var h=t[e]-128;return e+1+h>t.length&&r.throwError("data too short",l.Logger.errors.BUFFER_OVERRUN,{}),{consumed:1+h,result:c.hexlify(t.slice(e+1,e+1+h))}}return{consumed:1,result:c.hexlify(t[e])}}e.encode=function(t){return c.hexlify(function t(e){if(Array.isArray(e)){var i=[];if(e.forEach((function(e){i=i.concat(t(e))})),i.length<=55)return i.unshift(192+i.length),i;var o=n(i.length);return o.unshift(247+o.length),o.concat(i)}c.isBytesLike(e)||r.throwArgumentError("RLP object must be BytesLike","object",e);var s=Array.prototype.slice.call(c.arrayify(e));if(1===s.length&&s[0]<=127)return s;if(s.length<=55)return s.unshift(128+s.length),s;var a=n(s.length);return a.unshift(183+a.length),a.concat(s)}(t))},e.decode=function(t){var e=c.arrayify(t),n=s(e,0);return n.consumed!==e.length&&r.throwArgumentError("invalid rlp data","data",t),n.result}}))),S=(r(k),k.encode,k.decode,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="address/5.0.1"}))),P=(r(S),S.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(S.version);function n(t){c.isHexString(t,20)||r.throwArgumentError("invalid address","address",t);for(var e=(t=t.toLowerCase()).substring(2).split(""),n=new Uint8Array(40),i=0;i<40;i++)n[i]=e[i].charCodeAt(0);var o=c.arrayify(M.keccak256(n));for(i=0;i<40;i+=2)o[i>>1]>>4>=8&&(e[i]=e[i].toUpperCase()),(15&o[i>>1])>=8&&(e[i+1]=e[i+1].toUpperCase());return"0x"+e.join("")}for(var i={},o=0;o<10;o++)i[String(o)]=String(o);for(o=0;o<26;o++)i[String.fromCharCode(65+o)]=String(10+o);var s,u=Math.floor((s=9007199254740991,Math.log10?Math.log10(s):Math.log(s)/Math.LN10));function h(t){for(var e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map((function(t){return i[t]})).join("");e.length>=u;){var r=e.substring(0,u);e=parseInt(r,10)%97+e.substring(r.length)}for(var n=String(98-parseInt(e,10)%97);n.length<2;)n="0"+n;return n}function f(t){var e=null;if("string"!=typeof t&&r.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=n(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&r.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==h(t)&&r.throwArgumentError("bad icap checksum","address",t),e=new a.BN(t.substring(4),36).toString(16);e.length<40;)e="0"+e;e=n("0x"+e)}else r.throwArgumentError("invalid address","address",t);return e}e.getAddress=f,e.isAddress=function(t){try{return f(t),!0}catch(t){}return!1},e.getIcapAddress=function(t){for(var e=new a.BN(f(t).substring(2),16).toString(36).toUpperCase();e.length<30;)e="0"+e;return"XE"+h("XE00"+e)+e},e.getContractAddress=function(t){var e=null;try{e=f(t.from)}catch(e){r.throwArgumentError("missing from address","transaction",t)}var n=c.stripZeros(c.arrayify(m.BigNumber.from(t.nonce).toHexString()));return f(c.hexDataSlice(M.keccak256(k.encode([e,n])),12))},e.getCreate2Address=function(t,e,n){return 32!==c.hexDataLength(e)&&r.throwArgumentError("salt must be 32 bytes","salt",e),32!==c.hexDataLength(n)&&r.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",n),f(c.hexDataSlice(M.keccak256(c.concat(["0xff",f(t),e,n])),12))}}))),A=(r(P),P.getAddress,P.isAddress,P.getIcapAddress,P.getContractAddress,P.getCreate2Address,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){return t.call(this,"address","address",e,!1)||this}return i(e,t),e.prototype.encode=function(t,e){try{P.getAddress(e)}catch(t){this._throwError(t.message,e)}return t.writeValue(e)},e.prototype.decode=function(t){return P.getAddress(c.hexZeroPad(t.readValue().toHexString(),20))},e}(w.Coder);r.AddressCoder=o}))),x=(r(A),A.AddressCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){var r=t.call(this,e.name,e.type,void 0,e.dynamic)||this;return r.coder=e,r}return i(e,t),e.prototype.encode=function(t,e){return this.coder.encode(t,e)},e.prototype.decode=function(t){return this.coder.decode(t)},e}(w.Coder);r.AnonymousCoder=o}))),N=(r(x),x.AnonymousCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=new l.Logger(y.version);function s(t,e,r){var n=null;if(Array.isArray(r))n=r;else if(r&&"object"==typeof r){var i={};n=e.map((function(t){var e=t.localName;return e||o.throwError("cannot encode object for signature with missing names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]&&o.throwError("cannot encode object for signature with duplicate names",l.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),i[e]=!0,r[e]}))}else o.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&o.throwArgumentError("types/value length mismatch","tuple",r);var s=new w.Writer(t.wordSize),a=new w.Writer(t.wordSize),u=[];e.forEach((function(t,e){var r=n[e];if(t.dynamic){var i=a.length;t.encode(a,r);var o=s.writeUpdatableValue();u.push((function(t){o(t+i)}))}else t.encode(s,r)})),u.forEach((function(t){t(s.length)}));var h=t.writeBytes(s.data);return h+=t.writeBytes(a.data)}function a(t,e){var r=[],n=t.subReader(0),i=0;e.forEach((function(e){var o=null;if(e.dynamic){var s=t.readValue(),a=n.subReader(s.toNumber());try{o=e.decode(a)}catch(t){if(t.code===l.Logger.errors.BUFFER_OVERRUN)throw t;(o=t).baseType=e.name,o.name=e.localName,o.type=e.type}i+=a.consumed}else try{o=e.decode(t)}catch(t){if(t.code===l.Logger.errors.BUFFER_OVERRUN)throw t;(o=t).baseType=e.name,o.name=e.localName,o.type=e.type}null!=o&&r.push(o)})),t.readBytes(i);var o=e.reduce((function(t,e){var r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t}),{});e.forEach((function(t,e){var n=t.localName;if(n&&1===o[n]&&("length"===n&&(n="_length"),null==r[n])){var i=r[e];i instanceof Error?Object.defineProperty(r,n,{get:function(){throw i}}):r[n]=i}}));for(var s=function(t){var e=r[t];e instanceof Error&&Object.defineProperty(r,t,{get:function(){throw e}})},a=0;a=0?r:"")+"]",s=-1===r||e.dynamic;return(i=t.call(this,"array",o,n,s)||this).coder=e,i.length=r,i}return i(e,t),e.prototype.encode=function(t,e){Array.isArray(e)||this._throwError("expected array value",e);var r=this.length;-1===r&&(r=e.length,t.writeValue(e.length)),o.checkArgumentCount(r,e.length,"coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i>6==2;a++)s++;return s}return t===n.OVERRUN?r.length-e-1:0}function s(t,r){null==r&&(r=e.Utf8ErrorFuncs.error),t=c.arrayify(t);for(var i=[],o=0;o>7!=0){var a=null,u=null;if(192==(224&s))a=1,u=127;else if(224==(240&s))a=2,u=2047;else{if(240!=(248&s)){o+=r(128==(192&s)?n.UNEXPECTED_CONTINUE:n.BAD_PREFIX,o-1,t,i);continue}a=3,u=65535}if(o-1+a>=t.length)o+=r(n.OVERRUN,o-1,t,i);else{for(var l=s&(1<<8-a-1)-1,h=0;h1114111?o+=r(n.OUT_OF_RANGE,o-1-a,t,i,l):l>=55296&&l<=57343?o+=r(n.UTF16_SURROGATE,o-1-a,t,i,l):l<=u?o+=r(n.OVERLONG,o-1-a,t,i,l):i.push(l))}}else i.push(s)}return i}function a(t,e){void 0===e&&(e=r.current),e!=r.current&&(i.checkNormalize(),t=t.normalize(e));for(var n=[],o=0;o>6|192),n.push(63&s|128);else if(55296==(64512&s)){o++;var a=t.charCodeAt(o);if(o>=t.length||56320!=(64512&a))throw new Error("invalid utf-8 string");var u=65536+((1023&s)<<10)+(1023&a);n.push(u>>18|240),n.push(u>>12&63|128),n.push(u>>6&63|128),n.push(63&u|128)}else n.push(s>>12|224),n.push(s>>6&63|128),n.push(63&s|128)}return c.arrayify(n)}function u(t){var e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function h(t){return t.map((function(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10&1023),56320+(1023&t)))})).join("")}!function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(r=e.UnicodeNormalizationForm||(e.UnicodeNormalizationForm={})),function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}(n=e.Utf8ErrorReason||(e.Utf8ErrorReason={})),e.Utf8ErrorFuncs=Object.freeze({error:function(t,e,r,n,o){return i.throwArgumentError("invalid codepoint at offset "+e+"; "+t,"bytes",r)},ignore:o,replace:function(t,e,r,i,s){return t===n.OVERLONG?(i.push(s),0):(i.push(65533),o(t,e,r))}}),e.toUtf8Bytes=a,e._toEscapedUtf8String=function(t,e){return'"'+s(t,e).map((function(t){if(t<256){switch(t){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(t>=32&&t<127)return String.fromCharCode(t)}return t<=65535?u(t):u(55296+((t-=65536)>>10&1023))+u(56320+(1023&t))})).join("")+'"'},e._toUtf8String=h,e.toUtf8String=function(t,e){return h(s(t,e))},e.toUtf8CodePoints=function(t,e){return void 0===e&&(e=r.current),s(a(t,e))}}))),U=(r(L),L.UnicodeNormalizationForm,L.Utf8ErrorReason,L.Utf8ErrorFuncs,L.toUtf8Bytes,L._toEscapedUtf8String,L._toUtf8String,L.toUtf8String,L.toUtf8CodePoints,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatBytes32String=function(t){var e=L.toUtf8Bytes(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return c.hexlify(c.concat([e,B.HashZero]).slice(0,32))},e.parseBytes32String=function(t){var e=c.arrayify(t);if(32!==e.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==e[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===e[r-1];)r--;return L.toUtf8String(e.slice(0,r))}}))),j=(r(U),U.formatBytes32String,U.parseBytes32String,n((function(t,e){function r(t,e){e||(e=function(t){return[parseInt(t,16)]});var r=0,n={};return t.split(",").forEach((function(t){var i=t.split(":");r+=parseInt(i[0],16),n[r]=e(i[1])})),n}function n(t){var e=0;return t.split(",").map((function(t){var r=t.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:e+parseInt(r[0],16),h:e=parseInt(r[1],16)}}))}function i(t,e){for(var r=0,n=0;n=(r+=i.l)&&t<=r+i.h&&(t-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(t-r))continue;return i}}return null}Object.defineProperty(e,"__esModule",{value:!0});var o=n("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),s="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map((function(t){return parseInt(t,16)})),a=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],u=r("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),l=r("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),h=r("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",(function(t){if(t.length%4!=0)throw new Error("bad data");for(var e=[],r=0;r=0)return[];if(t>=65024&&t<=65039)return[];var e=d(t);return e||[t]})),r=e.reduce((function(t,e){return e.forEach((function(e){t.push(e)})),t}),[]),(r=L.toUtf8CodePoints(L._toUtf8String(r),L.UnicodeNormalizationForm.NFKC)).forEach((function(t){if(p(t))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")})),r.forEach((function(t){if(f(t))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")}));var n=L._toUtf8String(r);if("-"===n.substring(0,1)||"--"===n.substring(2,4)||"-"===n.substring(n.length-1))throw new Error("invalid hyphen");if(n.length>63)throw new Error("too long");return n}}))),D=(r(j),j._nameprepTableA1,j._nameprepTableB2,j._nameprepTableC,j.nameprep,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.formatBytes32String=U.formatBytes32String,e.parseBytes32String=U.parseBytes32String,e.nameprep=j.nameprep,e._toEscapedUtf8String=L._toEscapedUtf8String,e.toUtf8Bytes=L.toUtf8Bytes,e.toUtf8CodePoints=L.toUtf8CodePoints,e.toUtf8String=L.toUtf8String,e.UnicodeNormalizationForm=L.UnicodeNormalizationForm,e.Utf8ErrorFuncs=L.Utf8ErrorFuncs,e.Utf8ErrorReason=L.Utf8ErrorReason}))),z=(r(D),D.formatBytes32String,D.parseBytes32String,D.nameprep,D._toEscapedUtf8String,D.toUtf8Bytes,D.toUtf8CodePoints,D.toUtf8String,D.UnicodeNormalizationForm,D.Utf8ErrorFuncs,D.Utf8ErrorReason,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e){return t.call(this,"string",e)||this}return i(e,t),e.prototype.encode=function(e,r){return t.prototype.encode.call(this,e,D.toUtf8Bytes(r))},e.prototype.decode=function(e){return D.toUtf8String(t.prototype.decode.call(this,e))},e}(R.DynamicBytesCoder);r.StringCoder=o}))),H=(r(z),z.StringCoder,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(t){function e(e,r){var n=this,i=!1,o=[];e.forEach((function(t){t.dynamic&&(i=!0),o.push(t.type)}));var s="tuple("+o.join(",")+")";return(n=t.call(this,"tuple",s,r,i)||this).coders=e,n}return i(e,t),e.prototype.encode=function(t,e){return N.pack(t,this.coders,e)},e.prototype.decode=function(t){return t.coerce(this.name,N.unpack(t,this.coders))},e}(w.Coder);r.TupleCoder=o}))),K=(r(H),H.TupleCoder,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(y.version),n=new RegExp(/^bytes([0-9]*)$/),i=new RegExp(/^(u?int)([0-9]*)$/),o=function(){function t(e){var n=this.constructor;r.checkNew(n,t),v.defineReadOnly(this,"coerceFunc",e||null)}return t.prototype._getCoder=function(t){var e=this;switch(t.baseType){case"address":return new A.AddressCoder(t.name);case"bool":return new O.BooleanCoder(t.name);case"string":return new z.StringCoder(t.name);case"bytes":return new R.BytesCoder(t.name);case"array":return new N.ArrayCoder(this._getCoder(t.arrayChildren),t.arrayLength,t.name);case"tuple":return new H.TupleCoder((t.components||[]).map((function(t){return e._getCoder(t)})),t.name);case"":return new C.NullCoder(t.name)}var o,s=t.type.match(i);return s?((0===(o=parseInt(s[2]||"256"))||o>256||o%8!=0)&&r.throwArgumentError("invalid "+s[1]+" bit length","param",t),new I.NumberCoder(o/8,"int"===s[1],t.name)):(s=t.type.match(n))?((0===(o=parseInt(s[1]))||o>32)&&r.throwArgumentError("invalid bytes length","param",t),new T.FixedBytesCoder(o,t.name)):r.throwArgumentError("invalid type","type",t.type)},t.prototype._getWordSize=function(){return 32},t.prototype._getReader=function(t){return new w.Reader(t,this._getWordSize(),this.coerceFunc)},t.prototype._getWriter=function(){return new w.Writer(this._getWordSize())},t.prototype.encode=function(t,e){var n=this;t.length!==e.length&&r.throwError("types/values length mismatch",l.Logger.errors.INVALID_ARGUMENT,{count:{types:t.length,values:e.length},value:{types:t,values:e}});var i=t.map((function(t){return n._getCoder(b.ParamType.from(t))})),o=new H.TupleCoder(i,"_"),s=this._getWriter();return o.encode(s,e),s.data},t.prototype.decode=function(t,e){var r=this,n=t.map((function(t){return r._getCoder(b.ParamType.from(t))}));return new H.TupleCoder(n,"_").decode(this._getReader(c.arrayify(e)))},t}();e.AbiCoder=o,e.defaultAbiCoder=new o}))),q=(r(K),K.AbiCoder,K.defaultAbiCoder,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="hash/5.0.1"}))),W=(r(q),q.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(q.version),n=new Uint8Array([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]),i=new RegExp("^((.*)\\.)?([^.]+)$");e.isValidName=function(t){try{for(var e=t.split("."),r=0;r1&&o.throwArgumentError("multiple matching functions","name",r),this.functions[n[0]]}var i=this.functions[b.FunctionFragment.fromString(t).format()];return i||o.throwArgumentError("no matching function","signature",t),i},t.prototype.getEvent=function(t){if(c.isHexString(t)){var e=t.toLowerCase();for(var r in this.events)if(e===this.getEventTopic(r))return this.events[r];o.throwArgumentError("no matching event","topichash",e)}if(-1===t.indexOf("(")){var n=t.trim(),i=Object.keys(this.events).filter((function(t){return t.split("(")[0]===n}));return 0===i.length?o.throwArgumentError("no matching event","name",n):i.length>1&&o.throwArgumentError("multiple matching events","name",n),this.events[i[0]]}var s=this.events[b.EventFragment.fromString(t).format()];return s||o.throwArgumentError("no matching event","signature",t),s},t.prototype.getSighash=function(t){return"string"==typeof t&&(t=this.getFunction(t)),v.getStatic(this.constructor,"getSighash")(t)},t.prototype.getEventTopic=function(t){return"string"==typeof t&&(t=this.getEvent(t)),v.getStatic(this.constructor,"getEventTopic")(t)},t.prototype._decodeParams=function(t,e){return this._abiCoder.decode(t,e)},t.prototype._encodeParams=function(t,e){return this._abiCoder.encode(t,e)},t.prototype.encodeDeploy=function(t){return this._encodeParams(this.deploy.inputs,t||[])},t.prototype.decodeFunctionData=function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=c.arrayify(e);return c.hexlify(r.slice(0,4))!==this.getSighash(t)&&o.throwArgumentError("data signature does not match function "+t.name+".","data",c.hexlify(r)),this._decodeParams(t.inputs,r.slice(4))},t.prototype.encodeFunctionData=function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),c.hexlify(c.concat([this.getSighash(t),this._encodeParams(t.inputs,e||[])]))},t.prototype.decodeFunctionResult=function(t,e){"string"==typeof t&&(t=this.getFunction(t));var r=c.arrayify(e),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(t.outputs,r)}catch(t){}break;case 4:"0x08c379a0"===c.hexlify(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4))[0])}return o.throwError("call revert exception",l.Logger.errors.CALL_EXCEPTION,{method:t.format(),errorSignature:i,errorArgs:[n],reason:n})},t.prototype.encodeFunctionResult=function(t,e){return"string"==typeof t&&(t=this.getFunction(t)),c.hexlify(this._abiCoder.encode(t.outputs,e||[]))},t.prototype.encodeFilterTopics=function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t)),e.length>t.inputs.length&&o.throwError("too many arguments for "+t.format(),l.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:e});var n=[];t.anonymous||n.push(this.getEventTopic(t));var i=function(t,e){return"string"===t.type?W.id(e):"bytes"===t.type?M.keccak256(c.hexlify(e)):("address"===t.type&&r._abiCoder.encode(["address"],[e]),c.hexZeroPad(c.hexlify(e),32))};for(e.forEach((function(e,r){var s=t.inputs[r];s.indexed?null==e?n.push(null):"array"===s.baseType||"tuple"===s.baseType?o.throwArgumentError("filtering with tuples or arrays not supported","contract."+s.name,e):Array.isArray(e)?n.push(e.map((function(t){return i(s,t)}))):n.push(i(s,e)):null!=e&&o.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+s.name,e)}));n.length&&null===n[n.length-1];)n.pop();return n},t.prototype.encodeEventLog=function(t,e){var r=this;"string"==typeof t&&(t=this.getEvent(t));var n=[],i=[],s=[];return t.anonymous||n.push(this.getEventTopic(t)),e.length!==t.inputs.length&&o.throwArgumentError("event arguments/values mismatch","values",e),t.inputs.forEach((function(t,o){var a=e[o];if(t.indexed)if("string"===t.type)n.push(W.id(a));else if("bytes"===t.type)n.push(M.keccak256(a));else{if("tuple"===t.baseType||"array"===t.baseType)throw new Error("not implemented");n.push(r._abiCoder.encode([t.type],[a]))}else i.push(t),s.push(a)})),{data:this._abiCoder.encode(i,s),topics:n}},t.prototype.decodeEventLog=function(t,e,r){if("string"==typeof t&&(t=this.getEvent(t)),null!=r&&!t.anonymous){var n=this.getEventTopic(t);c.isHexString(r[0],32)&&r[0].toLowerCase()===n||o.throwError("fragment/topic mismatch",l.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],s=[],a=[];t.inputs.forEach((function(t,e){t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(i.push(b.ParamType.fromObject({type:"bytes32",name:t.name})),a.push(!0)):(i.push(t),a.push(!1)):(s.push(t),a.push(!1))}));var f=null!=r?this._abiCoder.decode(i,c.concat(r)):null,d=this._abiCoder.decode(s,e),p=[],m=0,g=0;t.inputs.forEach((function(t,e){if(t.indexed)if(null==f)p[e]=new u({_isIndexed:!0,hash:null});else if(a[e])p[e]=new u({_isIndexed:!0,hash:f[g++]});else try{p[e]=f[g++]}catch(t){p[e]=t}else try{p[e]=d[m++]}catch(t){p[e]=t}if(t.name&&null==p[t.name]){var r=p[e];r instanceof Error?Object.defineProperty(p,t.name,{get:function(){throw h("property "+JSON.stringify(t.name),r)}}):p[t.name]=r}}));for(var v=function(t){var e=p[t];e instanceof Error&&Object.defineProperty(p,t,{get:function(){throw h("index "+t,e)}})},y=0;y0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1)){var r=e[0];null==a[t]&&v.defineReadOnly(a,t,a[r]),null==a.functions[t]&&v.defineReadOnly(a.functions,t,a.functions[r]),null==a.callStatic[t]&&v.defineReadOnly(a.callStatic,t,a.callStatic[r]),null==a.populateTransaction[t]&&v.defineReadOnly(a.populateTransaction,t,a.populateTransaction[r]),null==a.estimateGas[t]&&v.defineReadOnly(a.estimateGas,t,a.estimateGas[r])}}))}return t.getContractAddress=function(t){return P.getContractAddress(t)},t.getInterface=function(t){return V.Interface.isInterface(t)?t:new V.Interface(t)},t.prototype.deployed=function(){return this._deployed()},t.prototype._deployed=function(t){var e=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return e})):this._deployedPromise=this.provider.getCode(this.address,t).then((function(t){return"0x"===t&&u.throwError("contract not deployed",l.Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:e.address,operation:"getDeployed"}),e}))),this._deployedPromise},t.prototype.fallback=function(t){var e=this;this.signer||u.throwError("sending a transactions require a signer",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var r=v.shallowCopy(t||{});return["from","to"].forEach((function(t){null!=r[t]&&u.throwError("cannot override "+t,l.Logger.errors.UNSUPPORTED_OPERATION,{operation:t})})),r.to=this.resolvedAddress,this.deployed().then((function(){return e.signer.sendTransaction(r)}))},t.prototype.connect=function(t){"string"==typeof t&&(t=new $.VoidSigner(t,this.provider));var e=new this.constructor(this.address,this.interface,t);return this.deployTransaction&&v.defineReadOnly(e,"deployTransaction",this.deployTransaction),e},t.prototype.attach=function(t){return new this.constructor(t,this.interface,this.signer||this.provider)},t.isIndexed=function(t){return V.Indexed.isIndexed(t)},t.prototype._normalizeRunningEvent=function(t){return this._runningEvents[t.tag]?this._runningEvents[t.tag]:t},t.prototype._getRunningEvent=function(t){if("string"==typeof t){if("error"===t)return this._normalizeRunningEvent(new _);if("event"===t)return this._normalizeRunningEvent(new w("event",null));if("*"===t)return this._normalizeRunningEvent(new E(this.address,this.interface));var e=this.interface.getEvent(t);return this._normalizeRunningEvent(new M(this.address,this.interface,e))}if(t.topics&&t.topics.length>0){try{var r=t.topics[0];if("string"!=typeof r)throw new Error("invalid topic");e=this.interface.getEvent(r);return this._normalizeRunningEvent(new M(this.address,this.interface,e,t.topics))}catch(t){}var n={address:this.address,topics:t.topics};return this._normalizeRunningEvent(new w(b(n),n))}return this._normalizeRunningEvent(new E(this.address,this.interface))},t.prototype._checkRunningEvents=function(t){if(0===t.listenerCount()){delete this._runningEvents[t.tag];var e=this._wrappedEmits[t.tag];e&&(this.provider.off(t.filter,e),delete this._wrappedEmits[t.tag])}},t.prototype._wrapEvent=function(t,e,r){var n=this,i=v.deepCopy(e);return i.removeListener=function(){r&&(t.removeListener(r),n._checkRunningEvents(t))},i.getBlock=function(){return n.provider.getBlock(e.blockHash)},i.getTransaction=function(){return n.provider.getTransaction(e.transactionHash)},i.getTransactionReceipt=function(){return n.provider.getTransactionReceipt(e.transactionHash)},t.prepareEvent(i),i},t.prototype._addEventListener=function(t,e,r){var n=this;if(this.provider||u.throwError("events require a provider or a signer with a provider",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"}),t.addListener(e,r),this._runningEvents[t.tag]=t,!this._wrappedEmits[t.tag]){var i=function(r){var i=n._wrapEvent(t,r,e);if(null==i.decodeError)try{var o=t.getEmit(i);n.emit.apply(n,a([t.filter],o))}catch(t){i.decodeError=t.error}null!=t.filter&&n.emit("event",i),null!=i.decodeError&&n.emit("error",i.decodeError,i)};this._wrappedEmits[t.tag]=i,null!=t.filter&&this.provider.on(t.filter,i)}},t.prototype.queryFilter=function(t,e,r){var n=this,i=this._getRunningEvent(t),o=v.shallowCopy(i.filter);return"string"==typeof e&&c.isHexString(e,32)?(null!=r&&u.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),o.blockHash=e):(o.fromBlock=null!=e?e:0,o.toBlock=null!=r?r:"latest"),this.provider.getLogs(o).then((function(t){return t.map((function(t){return n._wrapEvent(i,t,null)}))}))},t.prototype.on=function(t,e){return this._addEventListener(this._getRunningEvent(t),e,!1),this},t.prototype.once=function(t,e){return this._addEventListener(this._getRunningEvent(t),e,!0),this},t.prototype.emit=function(t){for(var e=[],r=1;r0;return this._checkRunningEvents(n),i},t.prototype.listenerCount=function(t){return this.provider?this._getRunningEvent(t).listenerCount():0},t.prototype.listeners=function(t){if(!this.provider)return[];if(null==t){var e=[];for(var r in this._runningEvents)this._runningEvents[r].listeners().forEach((function(t){e.push(t)}));return e}return this._getRunningEvent(t).listeners()},t.prototype.removeAllListeners=function(t){if(!this.provider)return this;if(null==t){for(var e in this._runningEvents){var r=this._runningEvents[e];r.removeAllListeners(),this._checkRunningEvents(r)}return this}var n=this._getRunningEvent(t);return n.removeAllListeners(),this._checkRunningEvents(n),this},t.prototype.off=function(t,e){if(!this.provider)return this;var r=this._getRunningEvent(t);return r.removeListener(e),this._checkRunningEvents(r),this},t.prototype.removeListener=function(t,e){return this.off(t,e)},t}();r.Contract=k;var S=function(){function t(t,e,r){var n=this.constructor,i=null;"0x"!==(i="string"==typeof e?e:c.isBytes(e)?c.hexlify(e):e&&"string"==typeof e.object?e.object:"!").substring(0,2)&&(i="0x"+i),(!c.isHexString(i)||i.length%2)&&u.throwArgumentError("invalid bytecode","bytecode",e),r&&!$.Signer.isSigner(r)&&u.throwArgumentError("invalid signer","signer",r),v.defineReadOnly(this,"bytecode",i),v.defineReadOnly(this,"interface",v.getStatic(n,"getInterface")(t)),v.defineReadOnly(this,"signer",r||null)}return t.prototype.getDeployTransaction=function(){for(var t=[],e=0;e0;)r.push(i%this.base),i=i/this.base|0}for(var s="",a=0;0===e[a]&&a=0;--u)s+=this.alphabet[r[u]];return s},t.prototype.decode=function(t){if("string"!=typeof t)throw new TypeError("Expected String");var e=[];if(0===t.length)return new Uint8Array(e);e.push(0);for(var r=0;r>=8;for(;i>0;)e.push(255&i),i>>=8}for(var s=0;t[s]===this._leader&&s>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function ot(t){return 1===t.length?"0"+t:t}function st(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}var at={inherits:nt,toArray:function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n>8,s=255&i;o?r.push(o,s):r.push(s)}else for(n=0;n>>0}return o},split32:function(t,e){for(var r=new Array(4*t.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},rotr32:function(t,e){return t>>>e|t<<32-e},rotl32:function(t,e){return t<>>32-e},sum32:function(t,e){return t+e>>>0},sum32_3:function(t,e,r){return t+e+r>>>0},sum32_4:function(t,e,r,n){return t+e+r+n>>>0},sum32_5:function(t,e,r,n,i){return t+e+r+n+i>>>0},sum64:function(t,e,r,n){var i=t[e],o=n+t[e+1]>>>0,s=(o>>0,t[e+1]=o},sum64_hi:function(t,e,r,n){return(e+n>>>0>>0},sum64_lo:function(t,e,r,n){return e+n>>>0},sum64_4_hi:function(t,e,r,n,i,o,s,a){var u=0,l=e;return u+=(l=l+n>>>0)>>0)>>0)>>0},sum64_4_lo:function(t,e,r,n,i,o,s,a){return e+n+o+a>>>0},sum64_5_hi:function(t,e,r,n,i,o,s,a,u,l){var h=0,c=e;return h+=(c=c+n>>>0)>>0)>>0)>>0)>>0},sum64_5_lo:function(t,e,r,n,i,o,s,a,u,l){return e+n+o+a+l>>>0},rotr64_hi:function(t,e,r){return(e<<32-r|t>>>r)>>>0},rotr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0},shr64_hi:function(t,e,r){return t>>>r},shr64_lo:function(t,e,r){return(t<<32-r|e>>>r)>>>0}};function ut(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}var lt=ut;ut.prototype.update=function(t,e){if(t=at.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=at.join32(t,0,t.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=t>>>16&255,n[i++]=t>>>8&255,n[i++]=255&t}else for(n[i++]=255&t,n[i++]=t>>>8&255,n[i++]=t>>>16&255,n[i++]=t>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;o>>3},g1_256:function(t){return ct(t,17)^ct(t,19)^t>>>10}},gt=at.sum32,vt=at.sum32_4,yt=at.sum32_5,bt=mt.ch32,wt=mt.maj32,_t=mt.s0_256,Mt=mt.s1_256,Et=mt.g0_256,kt=mt.g1_256,St=ht.BlockHash,Pt=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function At(){if(!(this instanceof At))return new At;St.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Pt,this.W=new Array(64)}at.inherits(At,St);var xt=At;At.blockSize=512,At.outSize=256,At.hmacStrength=192,At.padLength=64,At.prototype._update=function(t,e){for(var r=this.W,n=0;n<16;n++)r[n]=t[e+n];for(;nthis.blockSize&&(t=(new this.Hash).update(t).digest()),et(t.length<=this.blockSize);for(var e=t.length;e>24&255,h[e.length+1]=f>>16&255,h[e.length+2]=f>>8&255,h[e.length+3]=255&f;var d=c.arrayify(Me.computeHmac(i,t,h));o||(o=d.length,a=new Uint8Array(o),s=n-((u=Math.ceil(n/o))-1)*o),a.set(d);for(var p=1;p=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(t,e,r,n){for(var i=0,o=Math.min(t.length,r),s=e;s=49?a-49+10:a>=17?a-17+10:a}return i}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),"-"===t[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},i.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r=e;r-=6)i=a(t,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==e&&(i=a(t,e,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var o=t.length-r,s=o%n,a=Math.min(o,o-s)+r,l=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var l=1;l>>26,c=67108863&u,f=Math.min(l,e.length-1),d=Math.max(0,l-t.length+1);d<=f;d++){var p=l-d|0;h+=(s=(i=0|t.words[p])*(o=0|e.words[d])+c)/67108864|0,c=67108863&s}r.words[l]=0|c,u=0|h}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(n=o.toString(16)+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var f=h[t],d=c[t];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);n=(p=p.idivn(d)).isZero()?m+n:l[f-m.length]+m+n}for(this.isZero()&&(n="0"+n);n.length%e!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,n){var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===e,l=new t(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),l[a]=s;for(;a=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ot.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&e;for(;0!==o&&s>26,this.words[s]=67108863&e;if(0===o&&s>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],v=8191&g,y=g>>>13,b=0|s[3],w=8191&b,_=b>>>13,M=0|s[4],E=8191&M,k=M>>>13,S=0|s[5],P=8191&S,A=S>>>13,x=0|s[6],N=8191&x,O=x>>>13,R=0|s[7],T=8191&R,C=R>>>13,B=0|s[8],I=8191&B,F=B>>>13,L=0|s[9],U=8191&L,j=L>>>13,D=0|a[0],z=8191&D,H=D>>>13,K=0|a[1],q=8191&K,W=K>>>13,G=0|a[2],V=8191&G,J=G>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,tt=Q>>>13,et=0|a[5],rt=8191&et,nt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ut=8191&at,lt=at>>>13,ht=0|a[8],ct=8191&ht,ft=ht>>>13,dt=0|a[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(l+(n=Math.imul(c,z))|0)+((8191&(i=(i=Math.imul(c,H))+Math.imul(f,z)|0))<<13)|0;l=((o=Math.imul(f,H))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,H))+Math.imul(m,z)|0,o=Math.imul(m,H);var vt=(l+(n=n+Math.imul(c,q)|0)|0)+((8191&(i=(i=i+Math.imul(c,W)|0)+Math.imul(f,q)|0))<<13)|0;l=((o=o+Math.imul(f,W)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,z),i=(i=Math.imul(v,H))+Math.imul(y,z)|0,o=Math.imul(y,H),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(m,q)|0,o=o+Math.imul(m,W)|0;var yt=(l+(n=n+Math.imul(c,V)|0)|0)+((8191&(i=(i=i+Math.imul(c,J)|0)+Math.imul(f,V)|0))<<13)|0;l=((o=o+Math.imul(f,J)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(w,z),i=(i=Math.imul(w,H))+Math.imul(_,z)|0,o=Math.imul(_,H),n=n+Math.imul(v,q)|0,i=(i=i+Math.imul(v,W)|0)+Math.imul(y,q)|0,o=o+Math.imul(y,W)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,V)|0,o=o+Math.imul(m,J)|0;var bt=(l+(n=n+Math.imul(c,X)|0)|0)+((8191&(i=(i=i+Math.imul(c,$)|0)+Math.imul(f,X)|0))<<13)|0;l=((o=o+Math.imul(f,$)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(E,z),i=(i=Math.imul(E,H))+Math.imul(k,z)|0,o=Math.imul(k,H),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,W)|0)+Math.imul(_,q)|0,o=o+Math.imul(_,W)|0,n=n+Math.imul(v,V)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,V)|0,o=o+Math.imul(y,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,$)|0;var wt=(l+(n=n+Math.imul(c,Y)|0)|0)+((8191&(i=(i=i+Math.imul(c,tt)|0)+Math.imul(f,Y)|0))<<13)|0;l=((o=o+Math.imul(f,tt)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,z),i=(i=Math.imul(P,H))+Math.imul(A,z)|0,o=Math.imul(A,H),n=n+Math.imul(E,q)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(k,q)|0,o=o+Math.imul(k,W)|0,n=n+Math.imul(w,V)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,V)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(v,X)|0,i=(i=i+Math.imul(v,$)|0)+Math.imul(y,X)|0,o=o+Math.imul(y,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,tt)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,tt)|0;var _t=(l+(n=n+Math.imul(c,rt)|0)|0)+((8191&(i=(i=i+Math.imul(c,nt)|0)+Math.imul(f,rt)|0))<<13)|0;l=((o=o+Math.imul(f,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(N,z),i=(i=Math.imul(N,H))+Math.imul(O,z)|0,o=Math.imul(O,H),n=n+Math.imul(P,q)|0,i=(i=i+Math.imul(P,W)|0)+Math.imul(A,q)|0,o=o+Math.imul(A,W)|0,n=n+Math.imul(E,V)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(k,V)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Y)|0,o=o+Math.imul(y,tt)|0,n=n+Math.imul(p,rt)|0,i=(i=i+Math.imul(p,nt)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,nt)|0;var Mt=(l+(n=n+Math.imul(c,ot)|0)|0)+((8191&(i=(i=i+Math.imul(c,st)|0)+Math.imul(f,ot)|0))<<13)|0;l=((o=o+Math.imul(f,st)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(T,z),i=(i=Math.imul(T,H))+Math.imul(C,z)|0,o=Math.imul(C,H),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,W)|0)+Math.imul(O,q)|0,o=o+Math.imul(O,W)|0,n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(A,V)|0,o=o+Math.imul(A,J)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,tt)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,o=o+Math.imul(y,nt)|0,n=n+Math.imul(p,ot)|0,i=(i=i+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var Et=(l+(n=n+Math.imul(c,ut)|0)|0)+((8191&(i=(i=i+Math.imul(c,lt)|0)+Math.imul(f,ut)|0))<<13)|0;l=((o=o+Math.imul(f,lt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(I,z),i=(i=Math.imul(I,H))+Math.imul(F,z)|0,o=Math.imul(F,H),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(C,q)|0,o=o+Math.imul(C,W)|0,n=n+Math.imul(N,V)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(O,V)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(A,X)|0,o=o+Math.imul(A,$)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,tt)|0,n=n+Math.imul(w,rt)|0,i=(i=i+Math.imul(w,nt)|0)+Math.imul(_,rt)|0,o=o+Math.imul(_,nt)|0,n=n+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(y,ot)|0,o=o+Math.imul(y,st)|0,n=n+Math.imul(p,ut)|0,i=(i=i+Math.imul(p,lt)|0)+Math.imul(m,ut)|0,o=o+Math.imul(m,lt)|0;var kt=(l+(n=n+Math.imul(c,ct)|0)|0)+((8191&(i=(i=i+Math.imul(c,ft)|0)+Math.imul(f,ct)|0))<<13)|0;l=((o=o+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(U,z),i=(i=Math.imul(U,H))+Math.imul(j,z)|0,o=Math.imul(j,H),n=n+Math.imul(I,q)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(F,q)|0,o=o+Math.imul(F,W)|0,n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(C,V)|0,o=o+Math.imul(C,J)|0,n=n+Math.imul(N,X)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,$)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(A,Y)|0,o=o+Math.imul(A,tt)|0,n=n+Math.imul(E,rt)|0,i=(i=i+Math.imul(E,nt)|0)+Math.imul(k,rt)|0,o=o+Math.imul(k,nt)|0,n=n+Math.imul(w,ot)|0,i=(i=i+Math.imul(w,st)|0)+Math.imul(_,ot)|0,o=o+Math.imul(_,st)|0,n=n+Math.imul(v,ut)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(y,ut)|0,o=o+Math.imul(y,lt)|0,n=n+Math.imul(p,ct)|0,i=(i=i+Math.imul(p,ft)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,ft)|0;var St=(l+(n=n+Math.imul(c,pt)|0)|0)+((8191&(i=(i=i+Math.imul(c,mt)|0)+Math.imul(f,pt)|0))<<13)|0;l=((o=o+Math.imul(f,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(U,q),i=(i=Math.imul(U,W))+Math.imul(j,q)|0,o=Math.imul(j,W),n=n+Math.imul(I,V)|0,i=(i=i+Math.imul(I,J)|0)+Math.imul(F,V)|0,o=o+Math.imul(F,J)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,$)|0,n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,tt)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(A,rt)|0,o=o+Math.imul(A,nt)|0,n=n+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(k,ot)|0,o=o+Math.imul(k,st)|0,n=n+Math.imul(w,ut)|0,i=(i=i+Math.imul(w,lt)|0)+Math.imul(_,ut)|0,o=o+Math.imul(_,lt)|0,n=n+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,ft)|0)+Math.imul(y,ct)|0,o=o+Math.imul(y,ft)|0;var Pt=(l+(n=n+Math.imul(p,pt)|0)|0)+((8191&(i=(i=i+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;l=((o=o+Math.imul(m,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(U,V),i=(i=Math.imul(U,J))+Math.imul(j,V)|0,o=Math.imul(j,J),n=n+Math.imul(I,X)|0,i=(i=i+Math.imul(I,$)|0)+Math.imul(F,X)|0,o=o+Math.imul(F,$)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(C,Y)|0,o=o+Math.imul(C,tt)|0,n=n+Math.imul(N,rt)|0,i=(i=i+Math.imul(N,nt)|0)+Math.imul(O,rt)|0,o=o+Math.imul(O,nt)|0,n=n+Math.imul(P,ot)|0,i=(i=i+Math.imul(P,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0,n=n+Math.imul(E,ut)|0,i=(i=i+Math.imul(E,lt)|0)+Math.imul(k,ut)|0,o=o+Math.imul(k,lt)|0,n=n+Math.imul(w,ct)|0,i=(i=i+Math.imul(w,ft)|0)+Math.imul(_,ct)|0,o=o+Math.imul(_,ft)|0;var At=(l+(n=n+Math.imul(v,pt)|0)|0)+((8191&(i=(i=i+Math.imul(v,mt)|0)+Math.imul(y,pt)|0))<<13)|0;l=((o=o+Math.imul(y,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(U,X),i=(i=Math.imul(U,$))+Math.imul(j,X)|0,o=Math.imul(j,$),n=n+Math.imul(I,Y)|0,i=(i=i+Math.imul(I,tt)|0)+Math.imul(F,Y)|0,o=o+Math.imul(F,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,nt)|0,n=n+Math.imul(N,ot)|0,i=(i=i+Math.imul(N,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,n=n+Math.imul(P,ut)|0,i=(i=i+Math.imul(P,lt)|0)+Math.imul(A,ut)|0,o=o+Math.imul(A,lt)|0,n=n+Math.imul(E,ct)|0,i=(i=i+Math.imul(E,ft)|0)+Math.imul(k,ct)|0,o=o+Math.imul(k,ft)|0;var xt=(l+(n=n+Math.imul(w,pt)|0)|0)+((8191&(i=(i=i+Math.imul(w,mt)|0)+Math.imul(_,pt)|0))<<13)|0;l=((o=o+Math.imul(_,mt)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(U,Y),i=(i=Math.imul(U,tt))+Math.imul(j,Y)|0,o=Math.imul(j,tt),n=n+Math.imul(I,rt)|0,i=(i=i+Math.imul(I,nt)|0)+Math.imul(F,rt)|0,o=o+Math.imul(F,nt)|0,n=n+Math.imul(T,ot)|0,i=(i=i+Math.imul(T,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,n=n+Math.imul(N,ut)|0,i=(i=i+Math.imul(N,lt)|0)+Math.imul(O,ut)|0,o=o+Math.imul(O,lt)|0,n=n+Math.imul(P,ct)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,ft)|0;var Nt=(l+(n=n+Math.imul(E,pt)|0)|0)+((8191&(i=(i=i+Math.imul(E,mt)|0)+Math.imul(k,pt)|0))<<13)|0;l=((o=o+Math.imul(k,mt)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,n=Math.imul(U,rt),i=(i=Math.imul(U,nt))+Math.imul(j,rt)|0,o=Math.imul(j,nt),n=n+Math.imul(I,ot)|0,i=(i=i+Math.imul(I,st)|0)+Math.imul(F,ot)|0,o=o+Math.imul(F,st)|0,n=n+Math.imul(T,ut)|0,i=(i=i+Math.imul(T,lt)|0)+Math.imul(C,ut)|0,o=o+Math.imul(C,lt)|0,n=n+Math.imul(N,ct)|0,i=(i=i+Math.imul(N,ft)|0)+Math.imul(O,ct)|0,o=o+Math.imul(O,ft)|0;var Ot=(l+(n=n+Math.imul(P,pt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(A,pt)|0))<<13)|0;l=((o=o+Math.imul(A,mt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(U,ot),i=(i=Math.imul(U,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),n=n+Math.imul(I,ut)|0,i=(i=i+Math.imul(I,lt)|0)+Math.imul(F,ut)|0,o=o+Math.imul(F,lt)|0,n=n+Math.imul(T,ct)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(C,ct)|0,o=o+Math.imul(C,ft)|0;var Rt=(l+(n=n+Math.imul(N,pt)|0)|0)+((8191&(i=(i=i+Math.imul(N,mt)|0)+Math.imul(O,pt)|0))<<13)|0;l=((o=o+Math.imul(O,mt)|0)+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,n=Math.imul(U,ut),i=(i=Math.imul(U,lt))+Math.imul(j,ut)|0,o=Math.imul(j,lt),n=n+Math.imul(I,ct)|0,i=(i=i+Math.imul(I,ft)|0)+Math.imul(F,ct)|0,o=o+Math.imul(F,ft)|0;var Tt=(l+(n=n+Math.imul(T,pt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(C,pt)|0))<<13)|0;l=((o=o+Math.imul(C,mt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(U,ct),i=(i=Math.imul(U,ft))+Math.imul(j,ct)|0,o=Math.imul(j,ft);var Ct=(l+(n=n+Math.imul(I,pt)|0)|0)+((8191&(i=(i=i+Math.imul(I,mt)|0)+Math.imul(F,pt)|0))<<13)|0;l=((o=o+Math.imul(F,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863;var Bt=(l+(n=Math.imul(U,pt))|0)+((8191&(i=(i=Math.imul(U,mt))+Math.imul(j,pt)|0))<<13)|0;return l=((o=Math.imul(j,mt))+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,u[0]=gt,u[1]=vt,u[2]=yt,u[3]=bt,u[4]=wt,u[5]=_t,u[6]=Mt,u[7]=Et,u[8]=kt,u[9]=St,u[10]=Pt,u[11]=At,u[12]=xt,u[13]=Nt,u[14]=Ot,u[15]=Rt,u[16]=Tt,u[17]=Ct,u[18]=Bt,0!==l&&(u[19]=l,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n>=1;return n},m.prototype.permute=function(t,e,r,n,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s>=26,e+=i/67108864|0,e+=o>>>26,this.words[n]=67108863&o}return 0!==e&&(this.words[n]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,l=0;l=0&&(0!==h||l>=i);l--){var c=0|this.words[l];this.words[l]=h<<26-o|c>>>o,h=c&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(u/67108864|0),this.words[i+n]=67108863&o}for(;i>26,this.words[i+n]=67108863&o;if(0===a)return this.strip();for(r(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),o=t,s=0|o.words[o.length-1];0!==(r=26-this._countBits(s))&&(o=o.ushln(r),n.iushln(r),s=0|o.words[o.length-1]);var a,u=n.length-o.length;if("mod"!==e){(a=new i(null)).length=u+1,a.words=new Array(a.length);for(var l=0;l=0;c--){var f=67108864*(0|n.words[o.length+c])+(0|n.words[o.length+c-1]);for(f=Math.min(f/s|0,67108863),n._ishlnsubmul(o,f,c);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(o,1,c),n.isZero()||(n.negative^=1);a&&(a.words[c]=f)}return a&&a.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},i.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(o=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(o=a.div.neg()),{div:o,mod:a.mod}):0!=(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,a},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,n=0,i=this.length-1;i>=0;i--)n=(e*n+(0|this.words[i]))%t;return n},i.prototype.idivn=function(t){r(t<=67108863);for(var e=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*e;this.words[n]=i/t|0,e=i%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new i(1),s=new i(0),a=new i(0),u=new i(1),l=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++l;for(var h=n.clone(),c=e.clone();!e.isZero();){for(var f=0,d=1;0==(e.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(h),s.isub(c)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(n.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(c)),a.iushrn(1),u.iushrn(1);e.cmp(n)>=0?(e.isub(n),o.isub(a),s.isub(u)):(n.isub(e),a.isub(o),u.isub(s))}return{a:a,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new i(1),a=new i(0),u=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,h=1;0==(e.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(e.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var c=0,f=1;0==(n.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(n.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(o=0===e.cmpn(1)?s:a).cmpn(0)<0&&o.iadd(t),o},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var o=e;e=r,r=o}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new M(t)},i.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function E(t){M.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},n(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n>>22,i=o}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return g[t]=e,e},M.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},M.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},M.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},M.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},M.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},M.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},M.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},M.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},M.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},M.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},M.prototype.isqr=function(t){return this.imul(t,t.clone())},M.prototype.sqr=function(t){return this.mul(t,t)},M.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new i(1)).iushrn(2);return this.pow(t,n)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var a=new i(1).toRed(this),u=a.redNeg(),l=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new i(2*h*h).toRed(this);0!==this.pow(h,l).cmp(u);)h.redIAdd(u);for(var c=this.pow(h,o),f=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(a);){for(var m=d,g=0;0!==m.cmp(a);g++)m=m.redSqr();r(g=0;n--){for(var l=e.words[n],h=u-1;h>=0;h--){var c=l>>h&1;o!==r[0]&&(o=this.sqr(o)),0!==c||0!==s?(s<<=1,s|=c,(4===++a||0===n&&0===h)&&(o=this.mul(o,r[s]),a=0,s=0)):a=0}u=26}return o},M.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},M.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new E(t)},n(E,M),E.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},E.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},E.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(n).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t,e)})),Ae=n((function(t,e){var r=e;function n(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",r=0;r>8,s=255&i;o?r.push(o,s):r.push(s)}return r},r.zero2=n,r.toHex=i,r.encode=function(t,e){return"hex"===e?i(t):t}})),xe=n((function(t,e){var r=e;r.assert=et,r.toArray=Ae.toArray,r.zero2=Ae.zero2,r.toHex=Ae.toHex,r.encode=Ae.encode,r.getNAF=function(t,e,r){var n=new Array(Math.max(t.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,o.isubn(a)):a=0,n[s]=a,o.iushrn(1)}return n},r.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var n=0,i=0;t.cmpn(-n)>0||e.cmpn(-i)>0;){var o,s,a,u=t.andln(3)+n&3,l=e.andln(3)+i&3;if(3===u&&(u=-1),3===l&&(l=-1),0==(1&u))o=0;else o=3!==(a=t.andln(7)+n&7)&&5!==a||2!==l?u:-u;if(r[0].push(o),0==(1&l))s=0;else s=3!==(a=e.andln(7)+i&7)&&5!==a||2!==u?l:-l;r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),t.iushrn(1),e.iushrn(1)}return r},r.cachedProperty=function(t,e,r){var n="_"+e;t.prototype[e]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(t){return"string"==typeof t?r.toArray(t,"hex"):t},r.intFromLE=function(t){return new Pe(t,"hex","le")}})),Ne=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r},Oe=xe.getNAF,Re=xe.getJSF,Te=xe.assert;function Ce(t,e){this.type=t,this.p=new Pe(e.p,16),this.red=e.prime?Pe.red(e.prime):Pe.mont(this.p),this.zero=new Pe(0).toRed(this.red),this.one=new Pe(1).toRed(this.red),this.two=new Pe(2).toRed(this.red),this.n=e.n&&new Pe(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Be=Ce;function Ie(t,e){this.curve=t,this.type=e,this.precomputed=null}Ce.prototype.point=function(){throw new Error("Not implemented")},Ce.prototype.validate=function(){throw new Error("Not implemented")},Ce.prototype._fixedNafMul=function(t,e){Te(t.precomputed);var r=t._getDoubles(),n=Oe(e,1,this._bitLength),i=(1<=s;e--)a=(a<<1)+n[e];o.push(a)}for(var u=this.jpoint(null,null,null),l=this.jpoint(null,null,null),h=i;h>0;h--){for(s=0;s=0;a--){for(e=0;a>=0&&0===o[a];a--)e++;if(a>=0&&e++,s=s.dblp(e),a<0)break;var u=o[a];Te(0!==u),s="affine"===t.type?u>0?s.mixedAdd(i[u-1>>1]):s.mixedAdd(i[-u-1>>1].neg()):u>0?s.add(i[u-1>>1]):s.add(i[-u-1>>1].neg())}return"affine"===t.type?s.toP():s},Ce.prototype._wnafMulAdd=function(t,e,r,n,i){for(var o=this._wnafT1,s=this._wnafT2,a=this._wnafT3,u=0,l=0;l=1;l-=2){var c=l-1,f=l;if(1===o[c]&&1===o[f]){var d=[e[c],null,null,e[f]];0===e[c].y.cmp(e[f].y)?(d[1]=e[c].add(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg())):0===e[c].y.cmp(e[f].y.redNeg())?(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].add(e[f].neg())):(d[1]=e[c].toJ().mixedAdd(e[f]),d[2]=e[c].toJ().mixedAdd(e[f].neg()));var p=[-3,-1,-5,-7,0,7,5,1,3],m=Re(r[c],r[f]);u=Math.max(m[0].length,u),a[c]=new Array(u),a[f]=new Array(u);for(var g=0;g=0;l--){for(var _=0;l>=0;){var M=!0;for(g=0;g=0&&_++,b=b.dblp(_),l<0)break;for(g=0;g0?E=s[g][k-1>>1]:k<0&&(E=s[g][-k-1>>1].neg()),b="affine"===E.type?b.mixedAdd(E):b.add(E))}}for(l=0;l=Math.ceil((t.bitLength()+1)/e.step)},Ie.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(o=e,s=r),n.negative&&(n=n.neg(),i=i.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:n,b:i},{a:o,b:s}]},Le.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],n=e[1],i=n.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),u=i.mul(r.b),l=o.mul(n.b);return{k1:t.sub(s).sub(a),k2:u.add(l).neg()}},Le.prototype.pointFromX=function(t,e){(t=new Pe(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(e&&!i||!e&&i)&&(n=n.redNeg()),this.point(t,n)},Le.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,n=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},Le.prototype._endoWnafMulAdd=function(t,e,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},je.prototype.isInfinity=function(){return this.inf},je.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),n=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},je.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),n=t.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},je.prototype.getX=function(){return this.x.fromRed()},je.prototype.getY=function(){return this.y.fromRed()},je.prototype.mul=function(t){return t=new Pe(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},je.prototype.mulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},je.prototype.jmulAdd=function(t,e,r){var n=[this,e],i=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},je.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},je.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,n=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return e},je.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},nt(De,Be.BasePoint),Le.prototype.jpoint=function(t,e,r){return new De(this,t,e,r)},De.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),n=this.y.redMul(e).redMul(t);return this.curve.point(r,n)},De.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},De.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(e),i=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),a=n.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),h=l.redMul(a),c=n.redMul(l),f=u.redSqr().redIAdd(h).redISub(c).redISub(c),d=u.redMul(c.redISub(f)).redISub(o.redMul(h)),p=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(f,d,p)},De.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,n=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),l=u.redMul(s),h=r.redMul(u),c=a.redSqr().redIAdd(l).redISub(h).redISub(h),f=a.redMul(h.redISub(c)).redISub(i.redMul(l)),d=this.z.redMul(s);return this.curve.jpoint(c,f,d)},De.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var e=this,r=0;r=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},De.prototype.inspect=function(){return this.isInfinity()?"":""},De.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var ze={},He={},Ke=n((function(t,e){var r=e;r.base=Be,r.short=Ue,r.mont=ze,r.edwards=He})),qe=n((function(t,e){var r,n=e,i=xe.assert;function o(t){"short"===t.type?this.curve=new Ke.short(t):"edwards"===t.type?this.curve=new Ke.edwards(t):this.curve=new Ke.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(t,e){Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:function(){var r=new o(e);return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=o,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:we.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:we.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:we.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:we.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:we.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:we.sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:we.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=void 0}catch(t){r=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:we.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}));function We(t){if(!(this instanceof We))return new We(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Ae.toArray(t.entropy,t.entropyEnc||"hex"),r=Ae.toArray(t.nonce,t.nonceEnc||"hex"),n=Ae.toArray(t.pers,t.persEnc||"hex");et(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var Ge=We;We.prototype._init=function(t,e,r){var n=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},We.prototype.generate=function(t,e,r,n){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(n=r,r=e,e=null),r&&(r=Ae.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var Xe=xe.assert;function $e(t,e){if(t instanceof $e)return t;this._importDER(t,e)||(Xe(t.r&&t.s,"Signature without r or s"),this.r=new Pe(t.r,16),this.s=new Pe(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Qe=$e;function Ye(){this.place=0}function tr(t,e){var r=t[e.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,s=e.place;o>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}$e.prototype._importDER=function(t,e){t=xe.toArray(t,e);var r=new Ye;if(48!==t[r.place++])return!1;if(tr(t,r)+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=tr(t,r),i=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var o=tr(t,r);if(t.length!==o+r.place)return!1;var s=t.slice(r.place,o+r.place);return 0===i[0]&&128&i[1]&&(i=i.slice(1)),0===s[0]&&128&s[1]&&(s=s.slice(1)),this.r=new Pe(i),this.s=new Pe(s),this.recoveryParam=null,!0},$e.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=er(e),r=er(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];rr(n,e.length),(n=n.concat(e)).push(2),rr(n,r.length);var i=n.concat(r),o=[48];return rr(o,i.length),o=o.concat(i),xe.encode(o,t)};var nr=xe.assert;function ir(t){if(!(this instanceof ir))return new ir(t);"string"==typeof t&&(nr(qe.hasOwnProperty(t),"Unknown curve "+t),t=qe[t]),t instanceof qe.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var or=ir;ir.prototype.keyPair=function(t){return new Ze(this,t)},ir.prototype.keyFromPrivate=function(t,e){return Ze.fromPrivate(this,t,e)},ir.prototype.keyFromPublic=function(t,e){return Ze.fromPublic(this,t,e)},ir.prototype.genKeyPair=function(t){t||(t={});for(var e=new Ge({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||Ne(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),n=this.n.sub(new Pe(2));;){var i=new Pe(e.generate(r));if(!(i.cmp(n)>0))return i.iaddn(1),this.keyFromPrivate(i)}},ir.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},ir.prototype.sign=function(t,e,r,n){"object"==typeof r&&(n=r,r=null),n||(n={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new Pe(t,16));for(var i=this.n.byteLength(),o=e.getPrivate().toArray("be",i),s=t.toArray("be",i),a=new Ge({hash:this.hash,entropy:o,nonce:s,pers:n.pers,persEnc:n.persEnc||"utf8"}),u=this.n.sub(new Pe(1)),l=0;;l++){var h=n.k?n.k(l):new Pe(a.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(u)>=0)){var c=this.g.mul(h);if(!c.isInfinity()){var f=c.getX(),d=f.umod(this.n);if(0!==d.cmpn(0)){var p=h.invm(this.n).mul(d.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(c.getY().isOdd()?1:0)|(0!==f.cmp(d)?2:0);return n.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new Qe({r:d,s:p,recoveryParam:m})}}}}}},ir.prototype.verify=function(t,e,r,n){t=this._truncateToN(new Pe(t,16)),r=this.keyFromPublic(r,n);var i=(e=new Qe(e,"hex")).r,o=e.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,a=o.invm(this.n),u=a.mul(t).umod(this.n),l=a.mul(i).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(u,r.getPublic(),l)).isInfinity()&&s.eqXToP(i):!(s=this.g.mulAdd(u,r.getPublic(),l)).isInfinity()&&0===s.getX().umod(this.n).cmp(i)},ir.prototype.recoverPubKey=function(t,e,r,n){nr((3&r)===r,"The recovery param is more than two bits"),e=new Qe(e,n);var i=this.n,o=new Pe(t),s=e.r,a=e.s,u=1&r,l=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");s=l?this.curve.pointFromX(s.add(this.curve.n),u):this.curve.pointFromX(s,u);var h=e.r.invm(i),c=i.sub(o).mul(h).umod(i),f=a.mul(h).umod(i);return this.g.mulAdd(c,s,f)},ir.prototype.getKeyRecoveryParam=function(t,e,r,n){if(null!==(e=new Qe(e,n)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")};var sr,ar={},ur=i(Se),lr=n((function(t,e){var r=e;r.version=ur.version,r.utils=xe,r.rand=Ne,r.curve=Ke,r.curves=qe,r.ec=or,r.eddsa=ar})),hr=(lr.ec,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="signing-key/5.0.1"}))),cr=(r(hr),hr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(hr.version),n=null;function i(){return n||(n=new lr.ec("secp256k1")),n}var o=function(){function t(t){v.defineReadOnly(this,"curve","secp256k1"),v.defineReadOnly(this,"privateKey",c.hexlify(t));var e=i().keyFromPrivate(c.arrayify(this.privateKey));v.defineReadOnly(this,"publicKey","0x"+e.getPublic(!1,"hex")),v.defineReadOnly(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),v.defineReadOnly(this,"_isSigningKey",!0)}return t.prototype._addPoint=function(t){var e=i().keyFromPublic(c.arrayify(this.publicKey)),r=i().keyFromPublic(c.arrayify(t));return"0x"+e.pub.add(r.pub).encodeCompressed("hex")},t.prototype.signDigest=function(t){var e=i().keyFromPrivate(c.arrayify(this.privateKey)).sign(c.arrayify(t),{canonical:!0});return c.splitSignature({recoveryParam:e.recoveryParam,r:c.hexZeroPad("0x"+e.r.toString(16),32),s:c.hexZeroPad("0x"+e.s.toString(16),32)})},t.prototype.computeSharedSecret=function(t){var e=i().keyFromPrivate(c.arrayify(this.privateKey)),r=i().keyFromPublic(c.arrayify(s(t)));return c.hexZeroPad("0x"+e.derive(r.getPublic()).toString(16),32)},t.isSigningKey=function(t){return!(!t||!t._isSigningKey)},t}();function s(t,e){var n=c.arrayify(t);if(32===n.length){var s=new o(n);return e?"0x"+i().keyFromPrivate(n).getPublic(!0,"hex"):s.publicKey}return 33===n.length?e?c.hexlify(n):"0x"+i().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?e?"0x"+i().keyFromPublic(n).getPublic(!0,"hex"):c.hexlify(n):r.throwArgumentError("invalid public or private key","key","[REDACTED]")}e.SigningKey=o,e.recoverPublicKey=function(t,e){var r=c.splitSignature(e),n={r:c.arrayify(r.r),s:c.arrayify(r.s)};return"0x"+i().recoverPubKey(c.arrayify(t),n,r.recoveryParam).encode("hex",!1)},e.computePublicKey=s}))),fr=(r(cr),cr.SigningKey,cr.recoverPublicKey,cr.computePublicKey,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="transactions/5.0.1"}))),dr=(r(fr),fr.version,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var i=n(k),o=new l.Logger(fr.version);function s(t){return"0x"===t?B.Zero:m.BigNumber.from(t)}var a=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],u={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function h(t){var e=cr.computePublicKey(t);return P.getAddress(c.hexDataSlice(M.keccak256(c.hexDataSlice(e,1)),12))}function f(t,e){return h(cr.recoverPublicKey(c.arrayify(t),e))}r.computeAddress=h,r.recoverAddress=f,r.serialize=function(t,e){v.checkProperties(t,u);var r=[];a.forEach((function(e){var n=t[e.name]||[],i={};e.numeric&&(i.hexPad="left"),n=c.arrayify(c.hexlify(n,i)),e.length&&n.length!==e.length&&n.length>0&&o.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),e.maxLength&&(n=c.stripZeros(n)).length>e.maxLength&&o.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),r.push(c.hexlify(n))}));var n=0;if(null!=t.chainId?"number"!=typeof(n=t.chainId)&&o.throwArgumentError("invalid transaction.chainId","transaction",t):e&&!c.isBytesLike(e)&&e.v>28&&(n=Math.floor((e.v-35)/2)),0!==n&&(r.push(c.hexlify(n)),r.push("0x"),r.push("0x")),!e)return i.encode(r);var s=c.splitSignature(e),l=27+s.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),l+=2*n+8,s.v>28&&s.v!==l&&o.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):s.v!==l&&o.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),r.push(c.hexlify(l)),r.push(c.stripZeros(c.arrayify(s.r))),r.push(c.stripZeros(c.arrayify(s.s))),i.encode(r)},r.parse=function(t){var e=i.decode(t);9!==e.length&&6!==e.length&&o.throwArgumentError("invalid raw transaction","rawTransaction",t);var r,n={nonce:s(e[0]).toNumber(),gasPrice:s(e[1]),gasLimit:s(e[2]),to:(r=e[3],"0x"===r?null:P.getAddress(r)),value:s(e[4]),data:e[5],chainId:0};if(6===e.length)return n;try{n.v=m.BigNumber.from(e[6]).toNumber()}catch(t){return console.log(t),n}if(n.r=c.hexZeroPad(e[7],32),n.s=c.hexZeroPad(e[8],32),m.BigNumber.from(n.r).isZero()&&m.BigNumber.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var a=n.v-27,u=e.slice(0,6);0!==n.chainId&&(u.push(c.hexlify(n.chainId)),u.push("0x"),u.push("0x"),a-=2*n.chainId+8);var l=M.keccak256(i.encode(u));try{n.from=f(l,{r:c.hexlify(n.r),s:c.hexlify(n.s),recoveryParam:a})}catch(t){console.log(t)}n.hash=M.keccak256(t)}return n}}))),pr=(r(dr),dr.computeAddress,dr.recoverAddress,dr.serialize,dr.parse,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="wordlists/5.0.1"}))),mr=(r(pr),pr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});e.logger=new l.Logger(pr.version);var r=function(){function t(r){var n=this.constructor;e.logger.checkAbstract(n,t),v.defineReadOnly(this,"locale",r)}return t.prototype.split=function(t){return t.toLowerCase().split(/ +/g)},t.prototype.join=function(t){return t.join(" ")},t.check=function(t){for(var e=[],r=0;r<2048;r++){var n=t.getWord(r);if(r!==t.getWordIndex(n))return"0x";e.push(n)}return W.id(e.join("\n")+"\n")},t.register=function(t,e){e||(e=t.locale)},t}();e.Wordlist=r}))),gr=(r(mr),mr.logger,mr.Wordlist,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=null;function s(t){if(null==o&&(o="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==mr.Wordlist.check(t)))throw o=null,new Error("BIP39 Wordlist for en (English) FAILED")}var a=new(function(t){function e(){return t.call(this,"en")||this}return i(e,t),e.prototype.getWord=function(t){return s(this),o[t]},e.prototype.getWordIndex=function(t){return s(this),o.indexOf(t)},e}(mr.Wordlist));r.langEn=a,mr.Wordlist.register(a)}))),vr=(r(gr),gr.langEn,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.Wordlist=mr.Wordlist;var r={en:gr.langEn};e.wordlists=r}))),yr=(r(vr),vr.Wordlist,vr.wordlists,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="hdnode/5.0.1"}))),br=(r(yr),yr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(yr.version),n=m.BigNumber.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),i=D.toUtf8Bytes("Bitcoin seed");function o(t){return(1<=256)throw new Error("Depth too large!");return a(c.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",c.hexlify(this.depth),this.parentFingerprint,c.hexZeroPad(c.hexlify(this.index),4),this.chainCode,null!=this.privateKey?c.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),t.prototype.neuter=function(){return new t(h,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)},t.prototype._derive=function(e){if(e>4294967295)throw new Error("invalid index - "+String(e));var r=this.path;r&&(r+="/"+(2147483647&e));var i=new Uint8Array(37);if(2147483648&e){if(!this.privateKey)throw new Error("cannot derive child of neutered node");i.set(c.arrayify(this.privateKey),1),r&&(r+="'")}else i.set(c.arrayify(this.publicKey));for(var o=24;o>=0;o-=8)i[33+(o>>3)]=e>>24-o&255;var a=c.arrayify(Me.computeHmac(Me.SupportedAlgorithm.sha512,this.chainCode,i)),u=a.slice(0,32),l=a.slice(32),f=null,d=null;this.privateKey?f=s(m.BigNumber.from(u).add(this.privateKey).mod(n)):d=new cr.SigningKey(c.hexlify(u))._addPoint(this.publicKey);var p=r,g=this.mnemonic;return g&&(p=Object.freeze({phrase:g.phrase,path:r,locale:g.locale||"en"})),new t(h,f,d,this.fingerprint,s(l),e,this.depth+1,p)},t.prototype.derivePath=function(t){var e=t.split("/");if(0===e.length||"m"===e[0]&&0!==this.depth)throw new Error("invalid path - "+t);"m"===e[0]&&e.shift();for(var r=this,n=0;n=2147483648)throw new Error("invalid path index - "+i);r=r._derive(2147483648+o)}else{if(!i.match(/^[0-9]+$/))throw new Error("invalid path component - "+i);var o;if((o=parseInt(i))>=2147483648)throw new Error("invalid path index - "+i);r=r._derive(o)}}return r},t._fromSeed=function(e,r){var n=c.arrayify(e);if(n.length<16||n.length>64)throw new Error("invalid seed");var o=c.arrayify(Me.computeHmac(Me.SupportedAlgorithm.sha512,i,n));return new t(h,s(o.slice(0,32)),null,"0x00000000",s(o.slice(32)),0,0,r)},t.fromMnemonic=function(e,r,n){return e=g(p(e,n=u(n)),n),t._fromSeed(d(e,r),{phrase:e,path:"m",locale:n.locale})},t.fromSeed=function(e){return t._fromSeed(e,null)},t.fromExtendedKey=function(e){var n=tt.Base58.decode(e);82===n.length&&a(n.slice(0,78))===e||r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");var i=n[4],o=c.hexlify(n.slice(5,9)),s=parseInt(c.hexlify(n.slice(9,13)).substring(2),16),u=c.hexlify(n.slice(13,45)),l=n.slice(45,78);switch(c.hexlify(n.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new t(h,null,c.hexlify(l),o,u,s,i,null);case"0x0488ade4":case"0x04358394 ":if(0!==l[0])break;return new t(h,c.hexlify(l.slice(1)),null,o,u,s,i,null)}return r.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")},t}();function d(t,e){e||(e="");var r=D.toUtf8Bytes("mnemonic"+e,D.UnicodeNormalizationForm.NFKD);return Ee.pbkdf2(D.toUtf8Bytes(t,D.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512")}function p(t,e){e=u(e),r.checkNormalize();var n=e.split(t);if(n.length%3!=0)throw new Error("invalid mnemonic");for(var i=c.arrayify(new Uint8Array(Math.ceil(11*n.length/8))),s=0,a=0;a>3]|=1<<7-s%8),s++}var f=32*n.length/3,d=o(n.length/3);if((c.arrayify(Me.sha256(i.slice(0,f/8)))[0]&d)!==(i[i.length-1]&d))throw new Error("invalid checksum");return c.hexlify(i.slice(0,f/8))}function g(t,e){if(e=u(e),(t=c.arrayify(t)).length%4!=0||t.length<16||t.length>32)throw new Error("invalid entropy");for(var r=[0],n=11,i=0;i8?(r[r.length-1]<<=8,r[r.length-1]|=t[i],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[i]>>8-n,r.push(t[i]&(1<<8-n)-1),n+=3);var s=t.length/4,a=c.arrayify(Me.sha256(t))[0]&o(s);return r[r.length-1]<<=s,r[r.length-1]|=a>>8-s,e.join(r.map((function(t){return e.getWord(t)})))}e.HDNode=f,e.mnemonicToSeed=d,e.mnemonicToEntropy=p,e.entropyToMnemonic=g,e.isValidMnemonic=function(t,e){try{return p(t,e),!0}catch(t){}return!1}}))),wr=(r(br),br.defaultPath,br.HDNode,br.mnemonicToSeed,br.mnemonicToEntropy,br.entropyToMnemonic,br.isValidMnemonic,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="random/5.0.1"}))),_r=(r(wr),wr.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.shuffled=function(t){for(var e=(t=t.slice()).length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}}))),Mr=(r(_r),_r.shuffled,n((function(t,r){Object.defineProperty(r,"__esModule",{value:!0});var n=new l.Logger(wr.version);r.shuffled=_r.shuffled;var i=null;try{if(null==(i=window))throw new Error("try next")}catch(t){try{if(null==(i=e))throw new Error("try next")}catch(t){i={}}}var o=i.crypto||i.msCrypto;o&&o.getRandomValues||(n.warn("WARNING: Missing strong random number source"),o={getRandomValues:function(t){return n.throwError("no secure random source avaialble",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}}),r.randomBytes=function(t){(t<=0||t>1024||t%1)&&n.throwArgumentError("invalid length","length",t);var e=new Uint8Array(t);return o.getRandomValues(e),c.arrayify(e)}}))),Er=(r(Mr),Mr.shuffled,Mr.randomBytes,n((function(t,e){!function(e){function r(t){return parseInt(t)===t}function n(t){if(!r(t.length))return!1;for(var e=0;e255)return!1;return!0}function i(t,e){if(t.buffer&&ArrayBuffer.isView(t)&&"Uint8Array"===t.name)return e&&(t=t.slice?t.slice():Array.prototype.slice.call(t)),t;if(Array.isArray(t)){if(!n(t))throw new Error("Array contains invalid value: "+t);return new Uint8Array(t)}if(r(t.length)&&n(t))return new Uint8Array(t);throw new Error("unsupported array-like object")}function o(t){return new Uint8Array(t)}function s(t,e,r,n,i){null==n&&null==i||(t=t.slice?t.slice(n,i):Array.prototype.slice.call(t,n,i)),e.set(t,r)}var a,u={toBytes:function(t){var e=[],r=0;for(t=encodeURI(t);r191&&n<224?(e.push(String.fromCharCode((31&n)<<6|63&t[r+1])),r+=2):(e.push(String.fromCharCode((15&n)<<12|(63&t[r+1])<<6|63&t[r+2])),r+=3)}return e.join("")}},l=(a="0123456789abcdef",{toBytes:function(t){for(var e=[],r=0;r>4]+a[15&n])}return e.join("")}}),h={16:10,24:12,32:14},c=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],f=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],g=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],v=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],y=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],w=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],_=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],M=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],k=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],S=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function P(t){for(var e=[],r=0;r>2,this._Ke[r][e%4]=o[e],this._Kd[t-r][e%4]=o[e];for(var s,a=0,u=i;u>16&255]<<24^f[s>>8&255]<<16^f[255&s]<<8^f[s>>24&255]^c[a]<<24,a+=1,8!=i)for(e=1;e>8&255]<<8^f[s>>16&255]<<16^f[s>>24&255]<<24;for(e=i/2+1;e>2,d=u%4,this._Ke[l][d]=o[e],this._Kd[t-l][d]=o[e++],u++}for(var l=1;l>24&255]^E[s>>16&255]^k[s>>8&255]^S[255&s]},A.prototype.encrypt=function(t){if(16!=t.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var e=this._Ke.length-1,r=[0,0,0,0],n=P(t),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var s=1;s>24&255]^m[n[(i+1)%4]>>16&255]^g[n[(i+2)%4]>>8&255]^v[255&n[(i+3)%4]]^this._Ke[s][i];n=r.slice()}var a,u=o(16);for(i=0;i<4;i++)a=this._Ke[e][i],u[4*i]=255&(f[n[i]>>24&255]^a>>24),u[4*i+1]=255&(f[n[(i+1)%4]>>16&255]^a>>16),u[4*i+2]=255&(f[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(f[255&n[(i+3)%4]]^a);return u},A.prototype.decrypt=function(t){if(16!=t.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var e=this._Kd.length-1,r=[0,0,0,0],n=P(t),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var s=1;s>24&255]^b[n[(i+3)%4]>>16&255]^w[n[(i+2)%4]>>8&255]^_[255&n[(i+1)%4]]^this._Kd[s][i];n=r.slice()}var a,u=o(16);for(i=0;i<4;i++)a=this._Kd[e][i],u[4*i]=255&(d[n[i]>>24&255]^a>>24),u[4*i+1]=255&(d[n[(i+3)%4]>>16&255]^a>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(d[255&n[(i+1)%4]]^a);return u};var x=function(t){if(!(this instanceof x))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new A(t)};x.prototype.encrypt=function(t){if((t=i(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=o(t.length),r=o(16),n=0;n=0;--e)this._counter[e]=t%256,t>>=8},T.prototype.setBytes=function(t){if(16!=(t=i(t,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=t},T.prototype.increment=function(){for(var t=15;t>=0;t--){if(255!==this._counter[t]){this._counter[t]++;break}this._counter[t]=0}};var C=function(t,e){if(!(this instanceof C))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",e instanceof T||(e=new T(e)),this._counter=e,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new A(t)};C.prototype.encrypt=function(t){for(var e=i(t,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=t.length-e,n=0;n=64;){let d,p,m,g,v,y=r,b=n,w=i,_=o,M=s,E=a,k=u,S=l;for(p=0;p<16;p++)m=c+4*p,h[p]=(255&t[m])<<24|(255&t[m+1])<<16|(255&t[m+2])<<8|255&t[m+3];for(p=16;p<64;p++)d=h[p-2],g=(d>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,d=h[p-15],v=(d>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,h[p]=(g+h[p-7]|0)+(v+h[p-16]|0)|0;for(p=0;p<64;p++)g=(((M>>>6|M<<26)^(M>>>11|M<<21)^(M>>>25|M<<7))+(M&E^~M&k)|0)+(S+(e[p]+h[p]|0)|0)|0,v=((y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10))+(y&b^y&w^b&w)|0,S=k,k=E,E=M,M=_+g|0,_=w,w=b,b=y,y=g+v|0;r=r+y|0,n=n+b|0,i=i+w|0,o=o+_|0,s=s+M|0,a=a+E|0,u=u+k|0,l=l+S|0,c+=64,f-=64}}c(t);let f,d=t.length%64,p=t.length/536870912|0,m=t.length<<3,g=d<56?56:120,v=t.slice(t.length-d,t.length);for(v.push(128),f=d+1;f>>24&255),v.push(p>>>16&255),v.push(p>>>8&255),v.push(p>>>0&255),v.push(m>>>24&255),v.push(m>>>16&255),v.push(m>>>8&255),v.push(m>>>0&255),c(v),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function n(t,e,n){t=t.length<=64?t:r(t);const i=64+e.length+4,o=new Array(i),s=new Array(64);let a,u=[];for(a=0;a<64;a++)o[a]=54;for(a=0;a=i-4;t--){if(o[t]++,o[t]<=255)return;o[t]=0}}for(;n>=32;)l(),u=u.concat(r(s.concat(r(o)))),n-=32;return n>0&&(l(),u=u.concat(r(s.concat(r(o))).slice(0,n))),u}function i(t,e,r,n,i){let o;for(u(t,16*(2*r-1),i,0,16),o=0;o<2*r;o++)a(t,16*o,i,16),s(i,n),u(i,0,t,e+16*o,16);for(o=0;o>>32-e}function s(t,e){u(t,0,e,0,16);for(let t=8;t>0;t-=2)e[4]^=o(e[0]+e[12],7),e[8]^=o(e[4]+e[0],9),e[12]^=o(e[8]+e[4],13),e[0]^=o(e[12]+e[8],18),e[9]^=o(e[5]+e[1],7),e[13]^=o(e[9]+e[5],9),e[1]^=o(e[13]+e[9],13),e[5]^=o(e[1]+e[13],18),e[14]^=o(e[10]+e[6],7),e[2]^=o(e[14]+e[10],9),e[6]^=o(e[2]+e[14],13),e[10]^=o(e[6]+e[2],18),e[3]^=o(e[15]+e[11],7),e[7]^=o(e[3]+e[15],9),e[11]^=o(e[7]+e[3],13),e[15]^=o(e[11]+e[7],18),e[1]^=o(e[0]+e[3],7),e[2]^=o(e[1]+e[0],9),e[3]^=o(e[2]+e[1],13),e[0]^=o(e[3]+e[2],18),e[6]^=o(e[5]+e[4],7),e[7]^=o(e[6]+e[5],9),e[4]^=o(e[7]+e[6],13),e[5]^=o(e[4]+e[7],18),e[11]^=o(e[10]+e[9],7),e[8]^=o(e[11]+e[10],9),e[9]^=o(e[8]+e[11],13),e[10]^=o(e[9]+e[8],18),e[12]^=o(e[15]+e[14],7),e[13]^=o(e[12]+e[15],9),e[14]^=o(e[13]+e[12],13),e[15]^=o(e[14]+e[13],18);for(let r=0;r<16;++r)t[r]+=e[r]}function a(t,e,r,n){for(let i=0;i=256)return!1}return!0}function h(t,e){if("number"!=typeof t||t%1)throw new Error("invalid "+e);return t}function c(t,e,r,o,s,c,f){if(r=h(r,"N"),o=h(o,"r"),s=h(s,"p"),c=h(c,"dkLen"),0===r||0!=(r&r-1))throw new Error("N must be power of 2");if(r>2147483647/128/o)throw new Error("N too large");if(o>2147483647/128/s)throw new Error("r too large");if(!l(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!l(e))throw new Error("salt must be an array or buffer");e=Array.prototype.slice.call(e);let d=n(t,e,128*s*o);const p=new Uint32Array(32*s*o);for(let t=0;tx&&(e=x);for(let t=0;tx&&(e=x);for(let t=0;t>0&255),d.push(p[t]>>8&255),d.push(p[t]>>16&255),d.push(p[t]>>24&255);const l=n(t,d,c);return f&&f(null,1,l),l}f&&N(O)};if(!f)for(;;){const t=O();if(null!=t)return t}O()}const f={scrypt:function(t,e,r,n,i,o,s){return new Promise((function(a,u){let l=0;s&&s(0),c(t,e,r,n,i,o,(function(t,e,r){if(t)u(t);else if(r)s&&1!==l&&s(1),a(new Uint8Array(r));else if(s&&e!==l)return l=e,s(e)}))}))},syncScrypt:function(t,e,r,n,i,o){return new Uint8Array(c(t,e,r,n,i,o))}};t.exports=f}()})));xr.scrypt,xr.syncScrypt;if(e.crypto&&crypto.getRandomValues){var Nr=new Uint8Array(16);sr=function(){return crypto.getRandomValues(Nr),Nr}}if(!sr){var Or=new Array(16);sr=function(){for(var t,e=0;e<16;e++)0==(3&e)&&(t=4294967296*Math.random()),Or[e]=t>>>((3&e)<<3)&255;return Or}}for(var Rr=sr,Tr=[],Cr={},Br=0;Br<256;Br++)Tr[Br]=(Br+256).toString(16).substr(1),Cr[Tr[Br]]=Br;function Ir(t,e){var r=e||0,n=Tr;return n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+"-"+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]+n[t[r++]]}var Fr=Rr(),Lr=[1|Fr[0],Fr[1],Fr[2],Fr[3],Fr[4],Fr[5]],Ur=16383&(Fr[6]<<8|Fr[7]),jr=0,Dr=0;function zr(t,e,r){var n=e&&r||0;"string"==typeof t&&(e="binary"==t?new Array(16):null,t=null);var i=(t=t||{}).random||(t.rng||Rr)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,e)for(var o=0;o<16;o++)e[n+o]=i[o];return e||Ir(i)}var Hr=zr;Hr.v1=function(t,e,r){var n=e&&r||0,i=e||[],o=void 0!==(t=t||{}).clockseq?t.clockseq:Ur,s=void 0!==t.msecs?t.msecs:(new Date).getTime(),a=void 0!==t.nsecs?t.nsecs:Dr+1,u=s-jr+(a-Dr)/1e4;if(u<0&&void 0===t.clockseq&&(o=o+1&16383),(u<0||s>jr)&&void 0===t.nsecs&&(a=0),a>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");jr=s,Dr=a,Ur=o;var l=(1e4*(268435455&(s+=122192928e5))+a)%4294967296;i[n++]=l>>>24&255,i[n++]=l>>>16&255,i[n++]=l>>>8&255,i[n++]=255&l;var h=s/4294967296*1e4&268435455;i[n++]=h>>>8&255,i[n++]=255&h,i[n++]=h>>>24&15|16,i[n++]=h>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var c=t.node||Lr,f=0;f<6;f++)i[n+f]=c[f];return e||Ir(i)},Hr.v4=zr,Hr.parse=function(t,e,r){var n=e&&r||0,i=0;for(e=e||[],t.toLowerCase().replace(/[0-9a-f]{2}/g,(function(t){i<16&&(e[n+i++]=Cr[t])}));i<16;)e[n+i++]=0;return e},Hr.unparse=Ir;var Kr=Hr,qr=n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(c=t.timeout),t.headers)for(var f in t.headers)s[f.toLowerCase()]={key:f,value:String(t.headers[f])},["if-none-match","if-modified-since"].indexOf(f.toLowerCase())>=0&&(h=!0);if(null!=t.user&&null!=t.password){"https:"!==a.substring(0,6)&&!0!==t.allowInsecureAuthentication&&o.throwError("basic authentication requires a secure https url",l.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:a,user:t.user,password:"[REDACTED]"});var d=t.user+":"+t.password;s.authorization={key:"Authorization",value:"Basic "+Xr.encode(D.toUtf8Bytes(d))}}}e&&(u.method="POST",u.body=e,s["content-type"]={key:"Content-Type",value:"application/json"});var p={};Object.keys(s).forEach((function(t){var e=s[t];p[e.key]=e.value})),u.headers=p;var m,g=(m=null,{promise:new Promise((function(t,e){c&&(m=setTimeout((function(){null!=m&&(m=null,e(o.makeError("timeout",l.Logger.errors.TIMEOUT,{requestBody:u.body||null,requestMethod:u.method,timeout:c,url:a})))}),c))})),cancel:function(){null!=m&&(clearTimeout(m),m=null)}}),v=function(){return n(this,void 0,void 0,(function(){var t,e,n,s,c;return i(this,(function(i){switch(i.label){case 0:t=null,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,Qr.getUrl(a,u)];case 2:return t=i.sent(),[3,4];case 3:return e=i.sent(),null==(t=e.response)&&(g.cancel(),o.throwError("missing response",l.Logger.errors.SERVER_ERROR,{requestBody:u.body||null,requestMethod:u.method,serverError:e,url:a})),[3,4];case 4:if(n=t.body,h&&304===t.statusCode?n=null:(t.statusCode<200||t.statusCode>=300)&&(g.cancel(),o.throwError("bad response",l.Logger.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:n,requestBody:u.body||null,requestMethod:u.method,url:a})),g.cancel(),s=null,null!=n)try{s=JSON.parse(n)}catch(t){o.throwError("invalid JSON",l.Logger.errors.SERVER_ERROR,{body:n,error:t,requestBody:u.body||null,requestMethod:u.method,url:a})}if(!r)return[3,8];i.label=5;case 5:return i.trys.push([5,7,,8]),[4,r(s,t)];case 6:return s=i.sent(),[3,8];case 7:return c=i.sent(),o.throwError("processing response error",l.Logger.errors.SERVER_ERROR,{body:s,error:c,requestBody:u.body||null,requestMethod:u.method,url:a}),[3,8];case 8:return[2,s]}}))}))}();return Promise.race([g.promise,v])},r.poll=function(t,e){return e||(e={}),null==(e=v.shallowCopy(e)).floor&&(e.floor=0),null==e.ceiling&&(e.ceiling=1e4),null==e.interval&&(e.interval=250),new Promise((function(r,n){var i=null,o=!1,s=function(){return!o&&(o=!0,i&&clearTimeout(i),!0)};e.timeout&&(i=setTimeout((function(){s()&&n(new Error("timeout"))}),e.timeout));var a=e.retryLimit,u=0;!function i(){return t().then((function(t){if(void 0!==t)s()&&r(t);else if(e.oncePoll)e.oncePoll.once("poll",i);else if(e.onceBlock)e.onceBlock.once("block",i);else if(!o){if(++u>a)return void(s()&&n(new Error("retry limit reached")));var l=e.interval*parseInt(String(Math.random()*Math.pow(2,u)));le.ceiling&&(l=e.ceiling),setTimeout(i,l)}return null}),(function(t){s()&&n(t)}))}()}))}}))),tn=(r(Yr),Yr.fetchJson,Yr.poll,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="providers/5.0.2"}))),en=(r(tn),tn.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(tn.version),n=function(){function t(){var e=this.constructor;r.checkNew(e,t),this.formats=this.getDefaultFormats()}return t.prototype.getDefaultFormats=function(){var e=this,r={},n=this.address.bind(this),i=this.bigNumber.bind(this),o=this.blockTag.bind(this),s=this.data.bind(this),a=this.hash.bind(this),u=this.hex.bind(this),l=this.number.bind(this);return r.transaction={hash:a,blockHash:t.allowNull(a,null),blockNumber:t.allowNull(l,null),transactionIndex:t.allowNull(l,null),confirmations:t.allowNull(l,null),from:n,gasPrice:i,gasLimit:i,to:t.allowNull(n,null),value:i,nonce:l,data:s,r:t.allowNull(this.uint256),s:t.allowNull(this.uint256),v:t.allowNull(l),creates:t.allowNull(n,null),raw:t.allowNull(s)},r.transactionRequest={from:t.allowNull(n),nonce:t.allowNull(l),gasLimit:t.allowNull(i),gasPrice:t.allowNull(i),to:t.allowNull(n),value:t.allowNull(i),data:t.allowNull((function(t){return e.data(t,!0)}))},r.receiptLog={transactionIndex:l,blockNumber:l,transactionHash:a,address:n,topics:t.arrayOf(a),data:s,logIndex:l,blockHash:a},r.receipt={to:t.allowNull(this.address,null),from:t.allowNull(this.address,null),contractAddress:t.allowNull(n,null),transactionIndex:l,root:t.allowNull(a),gasUsed:i,logsBloom:t.allowNull(s),blockHash:a,transactionHash:a,logs:t.arrayOf(this.receiptLog.bind(this)),blockNumber:l,confirmations:t.allowNull(l,null),cumulativeGasUsed:i,status:t.allowNull(l)},r.block={hash:a,parentHash:a,number:l,timestamp:l,nonce:t.allowNull(u),difficulty:this.difficulty.bind(this),gasLimit:i,gasUsed:i,miner:n,extraData:s,transactions:t.allowNull(t.arrayOf(a))},r.blockWithTransactions=v.shallowCopy(r.block),r.blockWithTransactions.transactions=t.allowNull(t.arrayOf(this.transactionResponse.bind(this))),r.filter={fromBlock:t.allowNull(o,void 0),toBlock:t.allowNull(o,void 0),blockHash:t.allowNull(a,void 0),address:t.allowNull(n,void 0),topics:t.allowNull(this.topics.bind(this),void 0)},r.filterLog={blockNumber:t.allowNull(l),blockHash:t.allowNull(a),transactionIndex:l,removed:t.allowNull(this.boolean.bind(this)),address:n,data:t.allowFalsish(s,"0x"),topics:t.arrayOf(a),transactionHash:a,logIndex:l},r},t.prototype.number=function(t){return m.BigNumber.from(t).toNumber()},t.prototype.bigNumber=function(t){return m.BigNumber.from(t)},t.prototype.boolean=function(t){if("boolean"==typeof t)return t;if("string"==typeof t){if("true"===(t=t.toLowerCase()))return!0;if("false"===t)return!1}throw new Error("invalid boolean - "+t)},t.prototype.hex=function(t,e){return"string"==typeof t&&(e||"0x"===t.substring(0,2)||(t="0x"+t),c.isHexString(t))?t.toLowerCase():r.throwArgumentError("invalid hash","value",t)},t.prototype.data=function(t,e){var r=this.hex(t,e);if(r.length%2!=0)throw new Error("invalid data; odd-length - "+t);return r},t.prototype.address=function(t){return P.getAddress(t)},t.prototype.callAddress=function(t){if(!c.isHexString(t,32))return null;var e=P.getAddress(c.hexDataSlice(t,12));return e===B.AddressZero?null:e},t.prototype.contractAddress=function(t){return P.getContractAddress(t)},t.prototype.blockTag=function(t){if(null==t)return"latest";if("earliest"===t)return"0x0";if("latest"===t||"pending"===t)return t;if("number"==typeof t||c.isHexString(t))return c.hexValue(t);throw new Error("invalid blockTag")},t.prototype.hash=function(t,e){var n=this.hex(t,e);return 32!==c.hexDataLength(n)?r.throwArgumentError("invalid hash","value",t):n},t.prototype.difficulty=function(t){if(null==t)return null;var e=m.BigNumber.from(t);try{return e.toNumber()}catch(t){}return null},t.prototype.uint256=function(t){if(!c.isHexString(t))throw new Error("invalid uint256");return c.hexZeroPad(t,32)},t.prototype._block=function(e,r){return null!=e.author&&null==e.miner&&(e.miner=e.author),t.check(r,e)},t.prototype.block=function(t){return this._block(t,this.formats.block)},t.prototype.blockWithTransactions=function(t){return this._block(t,this.formats.blockWithTransactions)},t.prototype.transactionRequest=function(e){return t.check(this.formats.transactionRequest,e)},t.prototype.transactionResponse=function(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&m.BigNumber.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e));var r=t.check(this.formats.transaction,e);if(null!=e.chainId){var n=e.chainId;c.isHexString(n)&&(n=m.BigNumber.from(n).toNumber()),r.chainId=n}else{null==(n=e.networkId)&&null==r.v&&(n=e.chainId),c.isHexString(n)&&(n=m.BigNumber.from(n).toNumber()),"number"!=typeof n&&null!=r.v&&((n=(r.v-35)/2)<0&&(n=0),n=parseInt(n)),"number"!=typeof n&&(n=0),r.chainId=n}return r.blockHash&&"x"===r.blockHash.replace(/0/g,"")&&(r.blockHash=null),r},t.prototype.transaction=function(t){return dr.parse(t)},t.prototype.receiptLog=function(e){return t.check(this.formats.receiptLog,e)},t.prototype.receipt=function(e){var r=t.check(this.formats.receipt,e);return null!=e.status&&(r.byzantium=!0),r},t.prototype.topics=function(t){var e=this;return Array.isArray(t)?t.map((function(t){return e.topics(t)})):null!=t?this.hash(t,!0):null},t.prototype.filter=function(e){return t.check(this.formats.filter,e)},t.prototype.filterLog=function(e){return t.check(this.formats.filterLog,e)},t.check=function(t,e){var r={};for(var n in t)try{var i=t[n](e[n]);void 0!==i&&(r[n]=i)}catch(t){throw t.checkKey=n,t.checkValue=e[n],t}return r},t.allowNull=function(t,e){return function(r){return null==r?e:t(r)}},t.allowFalsish=function(t,e){return function(r){return r?t(r):e}},t.arrayOf=function(t){return function(e){if(!Array.isArray(e))throw new Error("not an array");var r=[];return e.forEach((function(e){r.push(t(e))})),r}},t}();e.Formatter=n}))),rn=(r(en),en.Formatter,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&null==t[t.length-1];)t.pop();return t.map((function(t){if(Array.isArray(t)){var e={};t.forEach((function(t){e[u(t)]=!0}));var r=Object.keys(e);return r.sort(),r.join("|")}return u(t)})).join("&")}function f(t){if("string"==typeof t){if(t=t.toLowerCase(),32===c.hexDataLength(t))return"tx:"+t;if(-1===t.indexOf(":"))return t}else{if(Array.isArray(t))return"filter:*:"+h(t);if(Z.ForkEvent.isForkEvent(t))throw a.warn("not implemented"),new Error("not implemented");if(t&&"object"==typeof t)return"filter:"+(t.address||"*")+":"+h(t.topics||[])}throw new Error("invalid event - "+t)}function d(){return(new Date).getTime()}var p=["block","network","pending","poll"],g=function(){function t(t,e,r){v.defineReadOnly(this,"tag",t),v.defineReadOnly(this,"listener",e),v.defineReadOnly(this,"once",r)}return Object.defineProperty(t.prototype,"event",{get:function(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"type",{get:function(){return this.tag.split(":")[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hash",{get:function(){var t=this.tag.split(":");return"tx"!==t[0]?null:t[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"filter",{get:function(){var t=this.tag.split(":");if("filter"!==t[0])return null;var e,r=t[1],n=""===(e=t[2])?[]:e.split(/&/g).map((function(t){if(""===t)return[];var e=t.split("|").map((function(t){return"null"===t?null:t}));return 1===e.length?e[0]:e})),i={};return n.length>0&&(i.topics=n),r&&"*"!==r&&(i.address=r),i},enumerable:!0,configurable:!0}),t.prototype.pollable=function(){return this.tag.indexOf(":")>=0||p.indexOf(this.tag)>=0},t}();r.Event=g;var y=null,b=1,w=function(t){function e(e){var r=this.constructor,n=this;if(a.checkNew(r,Z.Provider),(n=t.call(this)||this)._events=[],n._emitted={block:-2},n.formatter=r.getFormatter(),v.defineReadOnly(n,"anyNetwork","any"===e),n.anyNetwork&&(e=n.detectNetwork()),e instanceof Promise)n._networkPromise=e,e.catch((function(t){})),n._ready().catch((function(t){}));else{var i=v.getStatic(r,"getNetwork")(e);i?(v.defineReadOnly(n,"_network",i),n.emit("network",i,null)):a.throwArgumentError("invalid network","network",e)}return n._maxInternalBlockNumber=-1024,n._lastBlockNumber=-2,n._pollingInterval=4e3,n._fastQueryDate=0,n}return i(e,t),e.prototype._ready=function(){return o(this,void 0,void 0,(function(){var t;return s(this,(function(e){switch(e.label){case 0:if(null!=this._network)return[3,7];if(t=null,!this._networkPromise)return[3,4];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,this._networkPromise];case 2:return t=e.sent(),[3,4];case 3:return e.sent(),[3,4];case 4:return null!=t?[3,6]:[4,this.detectNetwork()];case 5:t=e.sent(),e.label=6;case 6:t||a.throwError("no network detected",l.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=t:v.defineReadOnly(this,"_network",t),this.emit("network",t,null)),e.label=7;case 7:return[2,this._network]}}))}))},Object.defineProperty(e.prototype,"ready",{get:function(){var t=this;return Yr.poll((function(){return t._ready().then((function(t){return t}),(function(t){if(t.code!==l.Logger.errors.NETWORK_ERROR||"noNetwork"!==t.event)throw t}))}))},enumerable:!0,configurable:!0}),e.getFormatter=function(){return null==y&&(y=new en.Formatter),y},e.getNetwork=function(t){return Zr.getNetwork(null==t?"homestead":t)},e.prototype._getInternalBlockNumber=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i,o=this;return s(this,(function(s){switch(s.label){case 0:return[4,this._ready()];case 1:return s.sent(),e=this._internalBlockNumber,t>0&&this._internalBlockNumber?[4,e]:[3,3];case 2:if(r=s.sent(),d()-r.respTime<=t)return[2,r.blockNumber];s.label=3;case 3:return n=d(),i=v.resolveProperties({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then((function(t){return null}),(function(t){return t}))}).then((function(t){var e=t.blockNumber,r=t.networkError;if(r)throw o._internalBlockNumber===i&&(o._internalBlockNumber=null),r;var s=d();return(e=m.BigNumber.from(e).toNumber())1e3)a.warn("network block skew detected; skipping block events"),this.emit("error",a.makeError("network block skew detected",l.Logger.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(n=this._emitted.block+1;n<=r;n++)this.emit("block",n);return this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach((function(t){if("block"!==t){var e=i._emitted[t];"pending"!==e&&r-e>12&&delete i._emitted[t]}}))),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach((function(t){switch(t.type){case"tx":var n=t.hash,o=i.getTransactionReceipt(n).then((function(t){return t&&null!=t.blockNumber?(i._emitted["t:"+n]=t.blockNumber,i.emit(n,t),null):null})).catch((function(t){i.emit("error",t)}));e.push(o);break;case"filter":var s=t.filter;s.fromBlock=i._lastBlockNumber+1,s.toBlock=r;o=i.getLogs(s).then((function(t){0!==t.length&&t.forEach((function(t){i._emitted["b:"+t.blockHash]=t.blockNumber,i._emitted["t:"+t.transactionHash]=t.blockNumber,i.emit(s,t)}))})).catch((function(t){i.emit("error",t)}));e.push(o)}})),this._lastBlockNumber=r,Promise.all(e).then((function(){i.emit("didPoll",t)})),[2,null]}}))}))},e.prototype.resetEventsBlock=function(t){this._lastBlockNumber=t-1,this.polling&&this.poll()},Object.defineProperty(e.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){return[2,a.throwError("provider does not support network detection",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})]}))}))},e.prototype.getNetwork=function(){return o(this,void 0,void 0,(function(){var t,e,r;return s(this,(function(n){switch(n.label){case 0:return[4,this._ready()];case 1:return t=n.sent(),[4,this.detectNetwork()];case 2:return e=n.sent(),t.chainId===e.chainId?[3,5]:this.anyNetwork?(this._network=e,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",e,t),[4,(i=0,new Promise((function(t){setTimeout(t,i)})))]):[3,4];case 3:return n.sent(),[2,this._network];case 4:throw r=a.makeError("underlying network changed",l.Logger.errors.NETWORK_ERROR,{event:"changed",network:t,detectedNetwork:e}),this.emit("error",r),r;case 5:return[2,t]}var i}))}))},Object.defineProperty(e.prototype,"blockNumber",{get:function(){var t=this;return this._getInternalBlockNumber(100+this.pollingInterval/2).then((function(e){t._setFastBlockNumber(e)})),null!=this._fastBlockNumber?this._fastBlockNumber:-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"polling",{get:function(){return null!=this._poller},set:function(t){var e=this;t&&!this._poller?(this._poller=setInterval(this.poll.bind(this),this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout((function(){e.poll(),e._bootstrapPoll=setTimeout((function(){e._poller||e.poll(),e._bootstrapPoll=null}),e.pollingInterval)}),0))):!t&&this._poller&&(clearInterval(this._poller),this._poller=null)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(t){var e=this;if("number"!=typeof t||t<=0||parseInt(String(t))!=t)throw new Error("invalid polling interval");this._pollingInterval=t,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){e.poll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),e.prototype._getFastBlockNumber=function(){var t=this,e=d();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then((function(e){return(null==t._fastBlockNumber||e>t._fastBlockNumber)&&(t._fastBlockNumber=e),t._fastBlockNumber}))),this._fastBlockNumberPromise},e.prototype._setFastBlockNumber=function(t){null!=this._fastBlockNumber&&tthis._fastBlockNumber)&&(this._fastBlockNumber=t,this._fastBlockNumberPromise=Promise.resolve(t)))},e.prototype.waitForTransaction=function(t,e,r){return o(this,void 0,void 0,(function(){var n,i=this;return s(this,(function(o){switch(o.label){case 0:return null==e&&(e=1),[4,this.getTransactionReceipt(t)];case 1:return((n=o.sent())?n.confirmations:0)>=e?[2,n]:[2,new Promise((function(n,o){var s=null,u=!1,h=function(r){r.confirmations0&&(s=setTimeout((function(){u||(s=null,u=!0,i.removeListener(t,h),o(a.makeError("timeout exceeded",l.Logger.errors.TIMEOUT,{timeout:r})))}),r)).unref&&s.unref()}))]}}))}))},e.prototype.getBlockNumber=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){return[2,this._getInternalBlockNumber(0)]}))}))},e.prototype.getGasPrice=function(){return o(this,void 0,void 0,(function(){var t,e;return s(this,(function(r){switch(r.label){case 0:return[4,this.getNetwork()];case 1:return r.sent(),e=(t=m.BigNumber).from,[4,this.perform("getGasPrice",{})];case 2:return[2,e.apply(t,[r.sent()])]}}))}))},e.prototype.getBalance=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(e)})];case 2:return r=o.sent(),i=(n=m.BigNumber).from,[4,this.perform("getBalance",r)];case 3:return[2,i.apply(n,[o.sent()])]}}))}))},e.prototype.getTransactionCount=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(e)})];case 2:return r=o.sent(),i=(n=m.BigNumber).from,[4,this.perform("getTransactionCount",r)];case 3:return[2,i.apply(n,[o.sent()]).toNumber()]}}))}))},e.prototype.getCode=function(t,e){return o(this,void 0,void 0,(function(){var r,n;return s(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(e)})];case 2:return r=i.sent(),n=c.hexlify,[4,this.perform("getCode",r)];case 3:return[2,n.apply(void 0,[i.sent()])]}}))}))},e.prototype.getStorageAt=function(t,e,r){return o(this,void 0,void 0,(function(){var n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,v.resolveProperties({address:this._getAddress(t),blockTag:this._getBlockTag(r),position:Promise.resolve(e).then((function(t){return c.hexValue(t)}))})];case 2:return n=o.sent(),i=c.hexlify,[4,this.perform("getStorageAt",n)];case 3:return[2,i.apply(void 0,[o.sent()])]}}))}))},e.prototype._wrapTransaction=function(t,e){var r=this;if(null!=e&&32!==c.hexDataLength(e))throw new Error("invalid response - sendTransaction");var n=t;return null!=e&&t.hash!==e&&a.throwError("Transaction hash mismatch from Provider.sendTransaction.",l.Logger.errors.UNKNOWN_ERROR,{expectedHash:t.hash,returnedHash:e}),n.wait=function(e){return o(r,void 0,void 0,(function(){var r;return s(this,(function(n){switch(n.label){case 0:return 0!==e&&(this._emitted["t:"+t.hash]="pending"),[4,this.waitForTransaction(t.hash,e)];case 1:return null==(r=n.sent())&&0===e?[2,null]:(this._emitted["t:"+t.hash]=r.blockNumber,0===r.status&&a.throwError("transaction failed",l.Logger.errors.CALL_EXCEPTION,{transactionHash:t.hash,transaction:t,receipt:r}),[2,r])}}))}))},n},e.prototype.sendTransaction=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i;return s(this,(function(o){switch(o.label){case 0:return[4,this.getNetwork()];case 1:return o.sent(),[4,Promise.resolve(t).then((function(t){return c.hexlify(t)}))];case 2:e=o.sent(),r=this.formatter.transaction(t),o.label=3;case 3:return o.trys.push([3,5,,6]),[4,this.perform("sendTransaction",{signedTransaction:e})];case 4:return n=o.sent(),[2,this._wrapTransaction(r,n)];case 5:throw(i=o.sent()).transaction=r,i.transactionHash=r.hash,i;case 6:return[2]}}))}))},e.prototype._getTransactionRequest=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i,o=this;return s(this,(function(s){switch(s.label){case 0:return[4,t];case 1:return e=s.sent(),r={},["from","to"].forEach((function(t){null!=e[t]&&(r[t]=Promise.resolve(e[t]).then((function(t){return t?o._getAddress(t):null})))})),["gasLimit","gasPrice","value"].forEach((function(t){null!=e[t]&&(r[t]=Promise.resolve(e[t]).then((function(t){return t?m.BigNumber.from(t):null})))})),["data"].forEach((function(t){null!=e[t]&&(r[t]=Promise.resolve(e[t]).then((function(t){return t?c.hexlify(t):null})))})),i=(n=this.formatter).transactionRequest,[4,v.resolveProperties(r)];case 2:return[2,i.apply(n,[s.sent()])]}}))}))},e.prototype._getFilter=function(t){return o(this,void 0,void 0,(function(){var e,r,n,i=this;return s(this,(function(o){switch(o.label){case 0:return[4,t];case 1:return t=o.sent(),e={},null!=t.address&&(e.address=this._getAddress(t.address)),["blockHash","topics"].forEach((function(r){null!=t[r]&&(e[r]=t[r])})),["fromBlock","toBlock"].forEach((function(r){null!=t[r]&&(e[r]=i._getBlockTag(t[r]))})),n=(r=this.formatter).filter,[4,v.resolveProperties(e)];case 2:return[2,n.apply(r,[o.sent()])]}}))}))},e.prototype.call=function(t,e){return o(this,void 0,void 0,(function(){var r,n;return s(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({transaction:this._getTransactionRequest(t),blockTag:this._getBlockTag(e)})];case 2:return r=i.sent(),n=c.hexlify,[4,this.perform("call",r)];case 3:return[2,n.apply(void 0,[i.sent()])]}}))}))},e.prototype.estimateGas=function(t){return o(this,void 0,void 0,(function(){var e,r,n;return s(this,(function(i){switch(i.label){case 0:return[4,this.getNetwork()];case 1:return i.sent(),[4,v.resolveProperties({transaction:this._getTransactionRequest(t)})];case 2:return e=i.sent(),n=(r=m.BigNumber).from,[4,this.perform("estimateGas",e)];case 3:return[2,n.apply(r,[i.sent()])]}}))}))},e.prototype._getAddress=function(t){return o(this,void 0,void 0,(function(){var e;return s(this,(function(r){switch(r.label){case 0:return[4,this.resolveName(t)];case 1:return null==(e=r.sent())&&a.throwError("ENS name not configured",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify(t)+")"}),[2,e]}}))}))},e.prototype._getBlock=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i,u,l,h=this;return s(this,(function(f){switch(f.label){case 0:return[4,this.getNetwork()];case 1:return f.sent(),[4,t];case 2:return t=f.sent(),r=-128,n={includeTransactions:!!e},c.isHexString(t,32)?(n.blockHash=t,[3,6]):[3,3];case 3:return f.trys.push([3,5,,6]),i=n,l=(u=this.formatter).blockTag,[4,this._getBlockTag(t)];case 4:return i.blockTag=l.apply(u,[f.sent()]),c.isHexString(n.blockTag)&&(r=parseInt(n.blockTag.substring(2),16)),[3,6];case 5:return f.sent(),a.throwArgumentError("invalid block hash or block tag","blockHashOrBlockTag",t),[3,6];case 6:return[2,Yr.poll((function(){return o(h,void 0,void 0,(function(){var t,i,o,a,u;return s(this,(function(s){switch(s.label){case 0:return[4,this.perform("getBlock",n)];case 1:if(null==(t=s.sent()))return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?[2,null]:[2,void 0];if(!e)return[3,8];i=null,o=0,s.label=2;case 2:return on.length?[2,null]:(a=D.toUtf8String(n.slice(0,o)),[4,this.resolveName(a)]));case 4:return s.sent()!=t?[2,null]:[2,a]}}))}))},e.prototype.perform=function(t,e){return a.throwError(t+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:t})},e.prototype._startEvent=function(t){this.polling=this._events.filter((function(t){return t.pollable()})).length>0},e.prototype._stopEvent=function(t){this.polling=this._events.filter((function(t){return t.pollable()})).length>0},e.prototype._addEventListener=function(t,e,r){var n=new g(f(t),e,r);return this._events.push(n),this._startEvent(n),this},e.prototype.on=function(t,e){return this._addEventListener(t,e,!1)},e.prototype.once=function(t,e){return this._addEventListener(t,e,!0)},e.prototype.emit=function(t){for(var e=this,r=[],n=1;n0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&a.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{transaction:n}),t.responseText.indexOf("nonce too low")>=0&&a.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{transaction:n}),t.responseText.indexOf("replacement transaction underpriced")>=0&&a.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{transaction:n})),t}))}))},e.prototype.signTransaction=function(t){return a.throwError("signing transactions is unsupported",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})},e.prototype.sendTransaction=function(t){var e=this;return this.sendUncheckedTransaction(t).then((function(t){return Yr.poll((function(){return e.provider.getTransaction(t).then((function(r){if(null!==r)return e.provider._wrapTransaction(r,t)}))}),{onceBlock:e.provider}).catch((function(e){throw e.transactionHash=t,e}))}))},e.prototype.signMessage=function(t){var e=this,r="string"==typeof t?D.toUtf8Bytes(t):t;return this.getAddress().then((function(t){return e.provider.send("eth_sign",[t.toLowerCase(),c.hexlify(r)])}))},e.prototype.unlock=function(t){var e=this.provider;return this.getAddress().then((function(r){return e.send("personal_unlockAccount",[r.toLowerCase(),t,null])}))},e}($.Signer);r.JsonRpcSigner=p;var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.sendTransaction=function(t){var e=this;return this.sendUncheckedTransaction(t).then((function(t){return{hash:t,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(r){return e.provider.waitForTransaction(t,r)}}}))},e}(p),y={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},b=function(t){function e(r,n){var i=this.constructor,o=this;a.checkNew(i,e);var s=n;return null==s&&(s=new Promise((function(t,e){setTimeout((function(){o.detectNetwork().then((function(e){t(e)}),(function(t){e(t)}))}),0)}))),o=t.call(this,s)||this,r||(r=v.getStatic(o.constructor,"defaultUrl")()),"string"==typeof r?v.defineReadOnly(o,"connection",Object.freeze({url:r})):v.defineReadOnly(o,"connection",Object.freeze(v.shallowCopy(r))),o._nextId=42,o}return i(e,t),e.defaultUrl=function(){return"http://localhost:8545"},e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){var t,e;return s(this,(function(r){switch(r.label){case 0:return[4,u(0)];case 1:r.sent(),t=null,r.label=2;case 2:return r.trys.push([2,4,,9]),[4,this.send("eth_chainId",[])];case 3:return t=r.sent(),[3,9];case 4:r.sent(),r.label=5;case 5:return r.trys.push([5,7,,8]),[4,this.send("net_version",[])];case 6:return t=r.sent(),[3,8];case 7:return r.sent(),[3,8];case 8:return[3,9];case 9:if(null!=t){e=v.getStatic(this.constructor,"getNetwork");try{return[2,e(m.BigNumber.from(t).toNumber())]}catch(e){return[2,a.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR,{chainId:t,event:"invalidNetwork",serverError:e})]}}return[2,a.throwError("could not detect network",l.Logger.errors.NETWORK_ERROR,{event:"noNetwork"})]}}))}))},e.prototype.getSigner=function(t){return new p(d,this,t)},e.prototype.getUncheckedSigner=function(t){return this.getSigner(t).connectUnchecked()},e.prototype.listAccounts=function(){var t=this;return this.send("eth_accounts",[]).then((function(e){return e.map((function(e){return t.formatter.address(e)}))}))},e.prototype.send=function(t,e){var r=this,n={method:t,params:e,id:this._nextId++,jsonrpc:"2.0"};return this.emit("debug",{action:"request",request:v.deepCopy(n),provider:this}),Yr.fetchJson(this.connection,JSON.stringify(n),h).then((function(t){return r.emit("debug",{action:"response",request:n,response:t,provider:r}),t}),(function(t){throw r.emit("debug",{action:"response",error:t,request:n,provider:r}),t}))},e.prototype.prepareRequest=function(t,e){switch(t){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[f(e.address),e.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[f(e.address),e.blockTag]];case"getCode":return["eth_getCode",[f(e.address),e.blockTag]];case"getStorageAt":return["eth_getStorageAt",[f(e.address),e.position,e.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[e.signedTransaction]];case"getBlock":return e.blockTag?["eth_getBlockByNumber",[e.blockTag,!!e.includeTransactions]]:e.blockHash?["eth_getBlockByHash",[e.blockHash,!!e.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[e.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[e.transactionHash]];case"call":return["eth_call",[v.getStatic(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0}),e.blockTag]];case"estimateGas":return["eth_estimateGas",[v.getStatic(this.constructor,"hexlifyTransaction")(e.transaction,{from:!0})]];case"getLogs":return e.filter&&null!=e.filter.address&&(e.filter.address=f(e.filter.address)),["eth_getLogs",[e.filter]]}return null},e.prototype.perform=function(t,e){var r=this.prepareRequest(t,e);return null==r&&a.throwError(t+" not implemented",l.Logger.errors.NOT_IMPLEMENTED,{operation:t}),"sendTransaction"===t?this.send(r[0],r[1]).catch((function(t){throw t.responseText&&(t.responseText.indexOf("insufficient funds")>0&&a.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{}),t.responseText.indexOf("nonce too low")>0&&a.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{}),t.responseText.indexOf("replacement transaction underpriced")>0&&a.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{})),t})):this.send(r[0],r[1])},e.prototype._startEvent=function(e){"pending"===e.tag&&this._startPending(),t.prototype._startEvent.call(this,e)},e.prototype._startPending=function(){if(null==this._pendingFilter){var t=this,e=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=e,e.then((function(r){return function n(){t.send("eth_getFilterChanges",[r]).then((function(r){if(t._pendingFilter!=e)return null;var n=Promise.resolve();return r.forEach((function(e){t._emitted["t:"+e.toLowerCase()]="pending",n=n.then((function(){return t.getTransaction(e).then((function(e){return t.emit("pending",e),null}))}))})),n.then((function(){return u(1e3)}))})).then((function(){if(t._pendingFilter==e)return setTimeout((function(){n()}),0),null;t.send("eth_uninstallFilter",[r])})).catch((function(t){}))}(),r})).catch((function(t){}))}},e.prototype._stopEvent=function(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),t.prototype._stopEvent.call(this,e)},e.hexlifyTransaction=function(t,e){var r=v.shallowCopy(y);if(e)for(var n in e)e[n]&&(r[n]=!0);v.checkProperties(t,r);var i={};return["gasLimit","gasPrice","nonce","value"].forEach((function(e){if(null!=t[e]){var r=c.hexValue(t[e]);"gasLimit"===e&&(e="gas"),i[e]=r}})),["from","to","data"].forEach((function(e){null!=t[e]&&(i[e]=c.hexlify(t[e]))})),i},e}(rn.BaseProvider);r.JsonRpcProvider=b}))),on=(r(nn),nn.JsonRpcSigner,nn.JsonRpcProvider,n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0&&a.throwError("insufficient funds",l.Logger.errors.INSUFFICIENT_FUNDS,{}),t.responseText.indexOf("same hash was already imported")>=0&&a.throwError("nonce has already been used",l.Logger.errors.NONCE_EXPIRED,{}),t.responseText.indexOf("another transaction with same nonce")>=0&&a.throwError("replacement fee too low",l.Logger.errors.REPLACEMENT_UNDERPRICED,{})),t}))];case 8:if(r.blockTag)return n+="/api?module=proxy&action=eth_getBlockByNumber&tag="+r.blockTag,r.includeTransactions?n+="&boolean=true":n+="&boolean=false",[2,c(n+=i)];throw new Error("getBlock by blockHash not implemented");case 9:return n+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+r.transactionHash,[2,c(n+=i)];case 10:return n+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+r.transactionHash,[2,c(n+=i)];case 11:if((p=u(r.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_call"+p,"latest"!==r.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return[2,c(n+=i)];case 12:return(p=u(r.transaction))&&(p="&"+p),n+="/api?module=proxy&action=eth_estimateGas&"+p,[2,c(n+=i)];case 13:return n+="/api?module=logs&action=getLogs",r.filter.fromBlock&&(n+="&fromBlock="+d(r.filter.fromBlock)),r.filter.toBlock&&(n+="&toBlock="+d(r.filter.toBlock)),r.filter.address&&(n+="&address="+r.filter.address),r.filter.topics&&r.filter.topics.length>0&&(r.filter.topics.length>1&&a.throwError("unsupported topic count",l.Logger.errors.UNSUPPORTED_OPERATION,{topics:r.filter.topics}),1===r.filter.topics.length&&("string"==typeof(m=r.filter.topics[0])&&66===m.length||a.throwError("unsupported topic format",l.Logger.errors.UNSUPPORTED_OPERATION,{topic0:m}),n+="&topic0="+m)),[4,c(n+=i,h)];case 14:g=k.sent(),y={},b=0,k.label=15;case 15:return b0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]e?null:(n+i)/2}function d(t){if(null===t)return"null";if("number"==typeof t||"boolean"==typeof t)return JSON.stringify(t);if("string"==typeof t)return t;if(m.BigNumber.isBigNumber(t))return t.toString();if(Array.isArray(t))return JSON.stringify(t.map((function(t){return d(t)})));if("object"==typeof t){var e=Object.keys(t);return e.sort(),"{"+e.map((function(e){var r=t[e];return r="function"==typeof r?"[function]":d(r),JSON.stringify(e)+":"+r})).join(",")+"}"}throw new Error("unknown value type: "+typeof t)}var p=1;function g(t){var e=null,r=null,n=new Promise((function(n){e=function(){r&&(clearTimeout(r),r=null),n()},r=setTimeout(e,t)}));return{cancel:e,getPromise:function(){return n},wait:function(t){return n=n.then(t)}}}function y(t,e){var r={provider:t.provider,weight:t.weight};return t.start&&(r.start=t.start),e&&(r.duration=e-t.start),t.done&&(t.error?r.error=t.error:r.result=t.result||null),r}function b(t,e,r){var n=d;switch(e){case"getBlockNumber":return function(e){var r=e.map((function(t){return t.result})),n=f(e.map((function(t){return t.result})),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=t._highestBlockNumber&&(t._highestBlockNumber=n),t._highestBlockNumber};case"getGasPrice":return function(t){var e=t.map((function(t){return t.result}));return e.sort(),e[Math.floor(e.length/2)]};case"getEtherPrice":return function(t){return f(t.map((function(t){return t.result})))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(t){return null==t?null:((t=v.shallowCopy(t)).confirmations=-1,d(t))};break;case"getBlock":n=r.includeTransactions?function(t){return null==t?null:((t=v.shallowCopy(t)).transactions=t.transactions.map((function(t){return(t=v.shallowCopy(t)).confirmations=-1,t})),d(t))}:function(t){return null==t?null:d(t)};break;default:throw new Error("unknown method: "+e)}return function(t,e){return function(r){var n={};r.forEach((function(e){var r=t(e.result);n[r]||(n[r]={count:0,result:e.result}),n[r].count++}));for(var i=Object.keys(n),o=0;o=e)return s.result}}}(n,t.quorum)}function w(t,e){return o(this,void 0,void 0,(function(){var r;return s(this,(function(n){return null!=(r=t.provider).blockNumber&&r.blockNumber>=e||-1===e?[2,r]:[2,Yr.poll((function(){return new Promise((function(n,i){setTimeout((function(){return r.blockNumber>=e?n(r):t.cancelled?n(null):n(void 0)}),0)}))}),{oncePoll:r})]}))}))}var _=function(t){function e(r,n){var i=this.constructor,o=this;a.checkNew(i,e),0===r.length&&a.throwArgumentError("missing providers","providers",r);var s=r.map((function(t,e){if(Z.Provider.isProvider(t))return Object.freeze({provider:t,weight:1,stallTimeout:750,priority:1});var r=v.shallowCopy(t);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=750),null==r.weight&&(r.weight=1);var n=r.weight;return(n%1||n>512||n<1)&&a.throwArgumentError("invalid weight; must be integer in [1, 512]","providers["+e+"].weight",n),Object.freeze(r)})),u=s.reduce((function(t,e){return t+e.weight}),0);null==n?n=u/2:n>u&&a.throwArgumentError("quorum will always fail; larger than total weight","quorum",n);var l=h(s.map((function(t){return t.provider.network})));return null==l&&(l=new Promise((function(t,e){setTimeout((function(){o.detectNetwork().then(t,e)}),0)}))),o=t.call(this,l)||this,v.defineReadOnly(o,"providerConfigs",Object.freeze(s)),v.defineReadOnly(o,"quorum",n),o._highestBlockNumber=-1,o}return i(e,t),e.prototype.detectNetwork=function(){return o(this,void 0,void 0,(function(){return s(this,(function(t){switch(t.label){case 0:return[4,Promise.all(this.providerConfigs.map((function(t){return t.provider.getNetwork()})))];case 1:return[2,h(t.sent())]}}))}))},e.prototype.perform=function(t,e){return o(this,void 0,void 0,(function(){var r,n,i,h,f,d,m,_,M,E,k,S=this;return s(this,(function(P){switch(P.label){case 0:return"sendTransaction"!==t?[3,2]:[4,Promise.all(this.providerConfigs.map((function(t){return t.provider.sendTransaction(e.signedTransaction).then((function(t){return t.hash}),(function(t){return t}))})))];case 1:for(r=P.sent(),n=0;n=E.quorum?void 0!==(k=h(M))?(f.forEach((function(t){t.staller&&t.staller.cancel(),t.cancelled=!0})),[2,{value:k}]):_?[3,4]:[4,g(100).getPromise()]:[3,5];case 3:P.sent(),P.label=4;case 4:_=!1,P.label=5;case 5:return 0===f.filter((function(t){return!t.done})).length?[2,"break"]:[2]}}))},E=this,P.label=5;case 5:return[5,M()];case 6:return"object"==typeof(k=P.sent())?[2,k.value]:"break"===k?[3,7]:[3,5];case 7:return f.forEach((function(t){t.staller&&t.staller.cancel(),t.cancelled=!0})),[2,a.throwError("failed to meet quorum",l.Logger.errors.SERVER_ERROR,{method:t,params:e,results:f.map((function(t){return y(t)})),provider:this})]}}))}))},e}(rn.BaseProvider);r.FallbackProvider=_}))),hn=(r(ln),ln.FallbackProvider,null),cn=n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=null;try{if(null==(r=WebSocket))throw new Error("inject please")}catch(t){var n=new l.Logger(tn.version);r=function(){n.throwError("WebSockets not supported in this environment",l.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}t.exports=r})),fn=(r(cn),n((function(t,r){var n,i=e&&e.__extends||(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}),o=e&&e.__awaiter||function(t,e,r,n){return new(r||(r=Promise))((function(i,o){function s(t){try{u(n.next(t))}catch(t){o(t)}}function a(t){try{u(n.throw(t))}catch(t){o(t)}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}u((n=n.apply(t,e||[])).next())}))},s=e&&e.__generator||function(t,e){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]256)throw new Error("invalid number type - "+e);return s&&(u=256),o=m.BigNumber.from(o).toTwos(u),c.zeroPad(o,u/8)}if(a=e.match(r)){var u=parseInt(a[1]);if(String(u)!=a[1]||0===u||u>32)throw new Error("invalid number type - "+e);if(c.arrayify(o).byteLength!==u)throw new Error("invalid value for "+e);return s?c.arrayify((o+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):o}if((a=e.match(i))&&Array.isArray(o)){var l=a[1];if(parseInt(a[2]||String(o.length))!=o.length)throw new Error("invalid value for "+e);var h=[];return o.forEach((function(e){h.push(t(l,e,!0))})),c.concat(h)}throw new Error("unknown type - "+e)}(t,e[s]))})),c.hexlify(c.concat(o))}e.pack=o,e.keccak256=function(t,e){return M.keccak256(o(t,e))},e.sha256=function(t,e){return Me.sha256(o(t,e))}}))),yn=(r(vn),vn.pack,vn.keccak256,vn.sha256,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="units/5.0.1"}))),bn=(r(yn),yn.version,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var r=new l.Logger(yn.version),n=["wei","kwei","mwei","gwei","szabo","finney","ether"];function i(t,e){if("string"==typeof e){var r=n.indexOf(e);-1!==r&&(e=3*r)}return m.formatFixed(t,null!=e?e:18)}function o(t,e){if("string"==typeof e){var r=n.indexOf(e);-1!==r&&(e=3*r)}return m.parseFixed(t,null!=e?e:18)}e.commify=function(t){var e=String(t).split(".");(e.length>2||!e[0].match(/^-?[0-9]*$/)||e[1]&&!e[1].match(/^[0-9]*$/)||"."===t||"-."===t)&&r.throwArgumentError("invalid value","value",t);var n=e[0],i="";for("-"===n.substring(0,1)&&(i="-",n=n.substring(1));"0"===n.substring(0,1);)n=n.substring(1);""===n&&(n="0");var o="";2===e.length&&(o="."+(e[1]||"0"));for(var s=[];n.length;){if(n.length<=3){s.unshift(n);break}var a=n.length-3;s.unshift(n.substring(a)),n=n.substring(0,a)}return i+s.join(",")+o},e.formatUnits=i,e.parseUnits=o,e.formatEther=function(t){return i(t,18)},e.parseEther=function(t){return o(t,18)}}))),wn=(r(bn),bn.commify,bn.formatUnits,bn.parseUnits,bn.formatEther,bn.parseEther,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0}),r.AbiCoder=V.AbiCoder,r.checkResultErrors=V.checkResultErrors,r.defaultAbiCoder=V.defaultAbiCoder,r.EventFragment=V.EventFragment,r.FormatTypes=V.FormatTypes,r.Fragment=V.Fragment,r.FunctionFragment=V.FunctionFragment,r.Indexed=V.Indexed,r.Interface=V.Interface,r.LogDescription=V.LogDescription,r.ParamType=V.ParamType,r.TransactionDescription=V.TransactionDescription,r.getAddress=P.getAddress,r.getCreate2Address=P.getCreate2Address,r.getContractAddress=P.getContractAddress,r.getIcapAddress=P.getIcapAddress,r.isAddress=P.isAddress;var i=n(Xr);r.base64=i,r.arrayify=c.arrayify,r.concat=c.concat,r.hexDataSlice=c.hexDataSlice,r.hexDataLength=c.hexDataLength,r.hexlify=c.hexlify,r.hexStripZeros=c.hexStripZeros,r.hexValue=c.hexValue,r.hexZeroPad=c.hexZeroPad,r.isBytes=c.isBytes,r.isBytesLike=c.isBytesLike,r.isHexString=c.isHexString,r.joinSignature=c.joinSignature,r.zeroPad=c.zeroPad,r.splitSignature=c.splitSignature,r.stripZeros=c.stripZeros,r.hashMessage=W.hashMessage,r.id=W.id,r.isValidName=W.isValidName,r.namehash=W.namehash,r.defaultPath=br.defaultPath,r.entropyToMnemonic=br.entropyToMnemonic,r.HDNode=br.HDNode,r.isValidMnemonic=br.isValidMnemonic,r.mnemonicToEntropy=br.mnemonicToEntropy,r.mnemonicToSeed=br.mnemonicToSeed,r.getJsonWalletAddress=Wr.getJsonWalletAddress,r.keccak256=M.keccak256,r.Logger=l.Logger,r.computeHmac=Me.computeHmac,r.ripemd160=Me.ripemd160,r.sha256=Me.sha256,r.sha512=Me.sha512,r.solidityKeccak256=vn.keccak256,r.solidityPack=vn.pack,r.soliditySha256=vn.sha256,r.randomBytes=Mr.randomBytes,r.shuffled=Mr.shuffled,r.checkProperties=v.checkProperties,r.deepCopy=v.deepCopy,r.defineReadOnly=v.defineReadOnly,r.getStatic=v.getStatic,r.resolveProperties=v.resolveProperties,r.shallowCopy=v.shallowCopy;var o=n(k);r.RLP=o,r.computePublicKey=cr.computePublicKey,r.recoverPublicKey=cr.recoverPublicKey,r.SigningKey=cr.SigningKey,r.formatBytes32String=D.formatBytes32String,r.nameprep=D.nameprep,r.parseBytes32String=D.parseBytes32String,r._toEscapedUtf8String=D._toEscapedUtf8String,r.toUtf8Bytes=D.toUtf8Bytes,r.toUtf8CodePoints=D.toUtf8CodePoints,r.toUtf8String=D.toUtf8String,r.Utf8ErrorFuncs=D.Utf8ErrorFuncs,r.computeAddress=dr.computeAddress,r.parseTransaction=dr.parse,r.recoverAddress=dr.recoverAddress,r.serializeTransaction=dr.serialize,r.commify=bn.commify,r.formatEther=bn.formatEther,r.parseEther=bn.parseEther,r.formatUnits=bn.formatUnits,r.parseUnits=bn.parseUnits,r.verifyMessage=Vr.verifyMessage,r.fetchJson=Yr.fetchJson,r.poll=Yr.poll;var s=Me;r.SupportedAlgorithm=s.SupportedAlgorithm;var a=D;r.UnicodeNormalizationForm=a.UnicodeNormalizationForm,r.Utf8ErrorReason=a.Utf8ErrorReason}))),_n=(r(wn),wn.AbiCoder,wn.checkResultErrors,wn.defaultAbiCoder,wn.EventFragment,wn.FormatTypes,wn.Fragment,wn.FunctionFragment,wn.Indexed,wn.Interface,wn.LogDescription,wn.ParamType,wn.TransactionDescription,wn.getAddress,wn.getCreate2Address,wn.getContractAddress,wn.getIcapAddress,wn.isAddress,wn.base64,wn.arrayify,wn.concat,wn.hexDataSlice,wn.hexDataLength,wn.hexlify,wn.hexStripZeros,wn.hexValue,wn.hexZeroPad,wn.isBytes,wn.isBytesLike,wn.isHexString,wn.joinSignature,wn.zeroPad,wn.splitSignature,wn.stripZeros,wn.hashMessage,wn.id,wn.isValidName,wn.namehash,wn.defaultPath,wn.entropyToMnemonic,wn.HDNode,wn.isValidMnemonic,wn.mnemonicToEntropy,wn.mnemonicToSeed,wn.getJsonWalletAddress,wn.keccak256,wn.Logger,wn.computeHmac,wn.ripemd160,wn.sha256,wn.sha512,wn.solidityKeccak256,wn.solidityPack,wn.soliditySha256,wn.randomBytes,wn.shuffled,wn.checkProperties,wn.deepCopy,wn.defineReadOnly,wn.getStatic,wn.resolveProperties,wn.shallowCopy,wn.RLP,wn.computePublicKey,wn.recoverPublicKey,wn.SigningKey,wn.formatBytes32String,wn.nameprep,wn.parseBytes32String,wn._toEscapedUtf8String,wn.toUtf8Bytes,wn.toUtf8CodePoints,wn.toUtf8String,wn.Utf8ErrorFuncs,wn.computeAddress,wn.parseTransaction,wn.recoverAddress,wn.serializeTransaction,wn.commify,wn.formatEther,wn.parseEther,wn.formatUnits,wn.parseUnits,wn.verifyMessage,wn.fetchJson,wn.poll,wn.SupportedAlgorithm,wn.UnicodeNormalizationForm,wn.Utf8ErrorReason,n((function(t,e){Object.defineProperty(e,"__esModule",{value:!0}),e.version="ethers/5.0.2"}))),Mn=(r(_n),_n.version,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0}),r.Contract=Y.Contract,r.ContractFactory=Y.ContractFactory,r.BigNumber=m.BigNumber,r.FixedNumber=m.FixedNumber,r.Signer=$.Signer,r.VoidSigner=$.VoidSigner,r.Wallet=Vr.Wallet;var i=n(B);r.constants=i;var o=n(gn);r.providers=o;var s=gn;r.getDefaultProvider=s.getDefaultProvider,r.Wordlist=vr.Wordlist,r.wordlists=vr.wordlists;var a=n(wn);r.utils=a,r.errors=l.ErrorCode,r.version=_n.version;var u=new l.Logger(_n.version);r.logger=u}))),En=(r(Mn),Mn.Contract,Mn.ContractFactory,Mn.BigNumber,Mn.FixedNumber,Mn.Signer,Mn.VoidSigner,Mn.Wallet,Mn.constants,Mn.providers,Mn.getDefaultProvider,Mn.Wordlist,Mn.wordlists,Mn.utils,Mn.errors,Mn.version,Mn.logger,n((function(t,r){var n=e&&e.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var r in t)Object.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e};Object.defineProperty(r,"__esModule",{value:!0});var i=n(Mn);r.ethers=i;try{var o=window;null==o._ethers&&(o._ethers=i)}catch(t){}var s=Mn;r.Signer=s.Signer,r.Wallet=s.Wallet,r.VoidSigner=s.VoidSigner,r.getDefaultProvider=s.getDefaultProvider,r.providers=s.providers,r.Contract=s.Contract,r.ContractFactory=s.ContractFactory,r.BigNumber=s.BigNumber,r.FixedNumber=s.FixedNumber,r.constants=s.constants,r.errors=s.errors,r.logger=s.logger,r.utils=s.utils,r.wordlists=s.wordlists,r.version=s.version,r.Wordlist=s.Wordlist}))),kn=r(En),Sn=En.ethers,Pn=En.Signer,An=En.Wallet,xn=En.VoidSigner,Nn=En.getDefaultProvider,On=En.providers,Rn=En.Contract,Tn=En.ContractFactory,Cn=En.BigNumber,Bn=En.FixedNumber,In=En.constants,Fn=En.errors,Ln=En.logger,Un=En.utils,jn=En.wordlists,Dn=En.version,zn=En.Wordlist;t.BigNumber=Cn,t.Contract=Rn,t.ContractFactory=Tn,t.FixedNumber=Bn,t.Signer=Pn,t.VoidSigner=xn,t.Wallet=An,t.Wordlist=zn,t.constants=In,t.default=kn,t.errors=Fn,t.ethers=Sn,t.getDefaultProvider=Nn,t.logger=Ln,t.providers=On,t.utils=Un,t.version=Dn,t.wordlists=jn,Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/packages/ethers/lib.esm/_version.d.ts b/packages/ethers/lib.esm/_version.d.ts index 02e083c55..dedf934a5 100644 --- a/packages/ethers/lib.esm/_version.d.ts +++ b/packages/ethers/lib.esm/_version.d.ts @@ -1 +1 @@ -export declare const version = "ethers/5.0.1"; +export declare const version = "ethers/5.0.2"; diff --git a/packages/ethers/lib.esm/_version.js b/packages/ethers/lib.esm/_version.js index 244d6fe57..f86629249 100644 --- a/packages/ethers/lib.esm/_version.js +++ b/packages/ethers/lib.esm/_version.js @@ -1 +1 @@ -export const version = "ethers/5.0.1"; +export const version = "ethers/5.0.2"; diff --git a/packages/ethers/lib/_version.d.ts b/packages/ethers/lib/_version.d.ts index 02e083c55..dedf934a5 100644 --- a/packages/ethers/lib/_version.d.ts +++ b/packages/ethers/lib/_version.d.ts @@ -1 +1 @@ -export declare const version = "ethers/5.0.1"; +export declare const version = "ethers/5.0.2"; diff --git a/packages/ethers/lib/_version.js b/packages/ethers/lib/_version.js index 69a40cb26..4d0135562 100644 --- a/packages/ethers/lib/_version.js +++ b/packages/ethers/lib/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "ethers/5.0.1"; +exports.version = "ethers/5.0.2"; diff --git a/packages/ethers/package.json b/packages/ethers/package.json index b9576d79f..6b87ed2c2 100644 --- a/packages/ethers/package.json +++ b/packages/ethers/package.json @@ -49,7 +49,7 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, - "tarballHash": "0x7b9f3436a8780e60ef1573f5bde9b290a98286eff29a0eb3d10e1d1db013ad5c", + "tarballHash": "0x12cca5b4bba9c899a71c97904ad59108f141bc60787adf4484c3a35b5e22c651", "types": "./lib/index.d.ts", - "version": "5.0.1" + "version": "5.0.2" } diff --git a/packages/ethers/src.ts/_version.ts b/packages/ethers/src.ts/_version.ts index 244d6fe57..f86629249 100644 --- a/packages/ethers/src.ts/_version.ts +++ b/packages/ethers/src.ts/_version.ts @@ -1 +1 @@ -export const version = "ethers/5.0.1"; +export const version = "ethers/5.0.2"; diff --git a/packages/logger/lib.esm/_version.d.ts b/packages/logger/lib.esm/_version.d.ts index a074d2398..e2cbf3f41 100644 --- a/packages/logger/lib.esm/_version.d.ts +++ b/packages/logger/lib.esm/_version.d.ts @@ -1 +1 @@ -export declare const version = "logger/5.0.1"; +export declare const version = "logger/5.0.2"; diff --git a/packages/logger/lib.esm/_version.js b/packages/logger/lib.esm/_version.js index 2b195172a..45258e7b2 100644 --- a/packages/logger/lib.esm/_version.js +++ b/packages/logger/lib.esm/_version.js @@ -1 +1 @@ -export const version = "logger/5.0.1"; +export const version = "logger/5.0.2"; diff --git a/packages/logger/lib.esm/index.js b/packages/logger/lib.esm/index.js index 7e86d4e93..e319a9ad7 100644 --- a/packages/logger/lib.esm/index.js +++ b/packages/logger/lib.esm/index.js @@ -53,6 +53,7 @@ export var ErrorCode; // - operation ErrorCode["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION"; // Network Error (i.e. Ethereum Network, such as an invalid chain ID) + // - event ("noNetwork" is not re-thrown in provider.ready; otherwise thrown) ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR"; // Some sort of bad response from the server ErrorCode["SERVER_ERROR"] = "SERVER_ERROR"; diff --git a/packages/logger/lib/_version.d.ts b/packages/logger/lib/_version.d.ts index a074d2398..e2cbf3f41 100644 --- a/packages/logger/lib/_version.d.ts +++ b/packages/logger/lib/_version.d.ts @@ -1 +1 @@ -export declare const version = "logger/5.0.1"; +export declare const version = "logger/5.0.2"; diff --git a/packages/logger/lib/_version.js b/packages/logger/lib/_version.js index f2bd99dd3..397ba0fb2 100644 --- a/packages/logger/lib/_version.js +++ b/packages/logger/lib/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "logger/5.0.1"; +exports.version = "logger/5.0.2"; diff --git a/packages/logger/lib/index.js b/packages/logger/lib/index.js index b85efda05..2a62f4cf3 100644 --- a/packages/logger/lib/index.js +++ b/packages/logger/lib/index.js @@ -54,6 +54,7 @@ var ErrorCode; // - operation ErrorCode["UNSUPPORTED_OPERATION"] = "UNSUPPORTED_OPERATION"; // Network Error (i.e. Ethereum Network, such as an invalid chain ID) + // - event ("noNetwork" is not re-thrown in provider.ready; otherwise thrown) ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR"; // Some sort of bad response from the server ErrorCode["SERVER_ERROR"] = "SERVER_ERROR"; diff --git a/packages/logger/package.json b/packages/logger/package.json index ec279bdfa..2e48a024f 100644 --- a/packages/logger/package.json +++ b/packages/logger/package.json @@ -20,7 +20,7 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, - "tarballHash": "0x60d97160fe67514a30186143a373a2666748b6ecde050361a5907879ba603696", + "tarballHash": "0x75ce3ac274d6c8a26cd8e25c2416916f7ed3906bca7561d3fed0a9bf116296af", "types": "./lib/index.d.ts", - "version": "5.0.1" + "version": "5.0.2" } diff --git a/packages/logger/src.ts/_version.ts b/packages/logger/src.ts/_version.ts index 2b195172a..45258e7b2 100644 --- a/packages/logger/src.ts/_version.ts +++ b/packages/logger/src.ts/_version.ts @@ -1 +1 @@ -export const version = "logger/5.0.1"; +export const version = "logger/5.0.2"; diff --git a/packages/providers/lib.esm/_version.d.ts b/packages/providers/lib.esm/_version.d.ts index 05ac59906..65dc2b9df 100644 --- a/packages/providers/lib.esm/_version.d.ts +++ b/packages/providers/lib.esm/_version.d.ts @@ -1 +1 @@ -export declare const version = "providers/5.0.1"; +export declare const version = "providers/5.0.2"; diff --git a/packages/providers/lib.esm/_version.js b/packages/providers/lib.esm/_version.js index c129d995d..fca49a3ab 100644 --- a/packages/providers/lib.esm/_version.js +++ b/packages/providers/lib.esm/_version.js @@ -1 +1 @@ -export const version = "providers/5.0.1"; +export const version = "providers/5.0.2"; diff --git a/packages/providers/lib.esm/base-provider.js b/packages/providers/lib.esm/base-provider.js index 13835ccca..e60c11293 100644 --- a/packages/providers/lib.esm/base-provider.js +++ b/packages/providers/lib.esm/base-provider.js @@ -191,7 +191,7 @@ export class BaseProvider extends Provider { // Squash any "unhandled promise" errors; that do not need to be handled network.catch((error) => { }); // Trigger initial network setting (async) - this._ready(); + this._ready().catch((error) => { }); } else { const knownNetwork = getStatic((new.target), "getNetwork")(network); @@ -245,7 +245,17 @@ export class BaseProvider extends Provider { // For "any", this can change (a "network" event is emitted before // any change is refelcted); otherwise this cannot change get ready() { - return this._ready(); + return poll(() => { + return this._ready().then((network) => { + return network; + }, (error) => { + // If the network isn't running yet, we will wait + if (error.code === Logger.errors.NETWORK_ERROR && error.event === "noNetwork") { + return undefined; + } + throw error; + }); + }); } // @TODO: Remove this and just create a singleton formatter static getFormatter() { @@ -262,7 +272,7 @@ export class BaseProvider extends Provider { // than maxAge old or has been requested since the last request _getInternalBlockNumber(maxAge) { return __awaiter(this, void 0, void 0, function* () { - yield this.ready; + yield this._ready(); const internalBlockNumber = this._internalBlockNumber; if (maxAge > 0 && this._internalBlockNumber) { const result = yield internalBlockNumber; @@ -317,6 +327,7 @@ export class BaseProvider extends Provider { logger.warn("network block skew detected; skipping block events"); this.emit("error", logger.makeError("network block skew detected", Logger.errors.NETWORK_ERROR, { blockNumber: blockNumber, + event: "blockSkew", previousBlockNumber: this._emitted.block })); this.emit("block", blockNumber); @@ -418,7 +429,7 @@ export class BaseProvider extends Provider { } getNetwork() { return __awaiter(this, void 0, void 0, function* () { - const network = yield this.ready; + const network = yield this._ready(); // Make sure we are still connected to the same network; this is // only an external call for backends which can have the underlying // network change spontaneously diff --git a/packages/providers/lib.esm/json-rpc-provider.js b/packages/providers/lib.esm/json-rpc-provider.js index e7dc4a0d1..1e9d6ebdd 100644 --- a/packages/providers/lib.esm/json-rpc-provider.js +++ b/packages/providers/lib.esm/json-rpc-provider.js @@ -248,11 +248,14 @@ export class JsonRpcProvider extends BaseProvider { catch (error) { return logger.throwError("could not detect network", Logger.errors.NETWORK_ERROR, { chainId: chainId, + event: "invalidNetwork", serverError: error }); } } - return logger.throwError("could not detect network", Logger.errors.NETWORK_ERROR); + return logger.throwError("could not detect network", Logger.errors.NETWORK_ERROR, { + event: "noNetwork" + }); }); } getSigner(addressOrIndex) { diff --git a/packages/providers/lib/_version.d.ts b/packages/providers/lib/_version.d.ts index 05ac59906..65dc2b9df 100644 --- a/packages/providers/lib/_version.d.ts +++ b/packages/providers/lib/_version.d.ts @@ -1 +1 @@ -export declare const version = "providers/5.0.1"; +export declare const version = "providers/5.0.2"; diff --git a/packages/providers/lib/_version.js b/packages/providers/lib/_version.js index ef91b84c4..d0d0ec7a2 100644 --- a/packages/providers/lib/_version.js +++ b/packages/providers/lib/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "providers/5.0.1"; +exports.version = "providers/5.0.2"; diff --git a/packages/providers/lib/base-provider.js b/packages/providers/lib/base-provider.js index b5093287d..3a93a4636 100644 --- a/packages/providers/lib/base-provider.js +++ b/packages/providers/lib/base-provider.js @@ -253,7 +253,7 @@ var BaseProvider = /** @class */ (function (_super) { // Squash any "unhandled promise" errors; that do not need to be handled network.catch(function (error) { }); // Trigger initial network setting (async) - _this._ready(); + _this._ready().catch(function (error) { }); } else { var knownNetwork = properties_1.getStatic((_newTarget), "getNetwork")(network); @@ -323,7 +323,18 @@ var BaseProvider = /** @class */ (function (_super) { // For "any", this can change (a "network" event is emitted before // any change is refelcted); otherwise this cannot change get: function () { - return this._ready(); + var _this = this; + return web_1.poll(function () { + return _this._ready().then(function (network) { + return network; + }, function (error) { + // If the network isn't running yet, we will wait + if (error.code === logger_1.Logger.errors.NETWORK_ERROR && error.event === "noNetwork") { + return undefined; + } + throw error; + }); + }); }, enumerable: true, configurable: true @@ -347,7 +358,7 @@ var BaseProvider = /** @class */ (function (_super) { var _this = this; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.ready]; + case 0: return [4 /*yield*/, this._ready()]; case 1: _a.sent(); internalBlockNumber = this._internalBlockNumber; @@ -417,6 +428,7 @@ var BaseProvider = /** @class */ (function (_super) { logger.warn("network block skew detected; skipping block events"); this.emit("error", logger.makeError("network block skew detected", logger_1.Logger.errors.NETWORK_ERROR, { blockNumber: blockNumber, + event: "blockSkew", previousBlockNumber: this._emitted.block })); this.emit("block", blockNumber); @@ -529,7 +541,7 @@ var BaseProvider = /** @class */ (function (_super) { var network, currentNetwork, error; return __generator(this, function (_a) { switch (_a.label) { - case 0: return [4 /*yield*/, this.ready]; + case 0: return [4 /*yield*/, this._ready()]; case 1: network = _a.sent(); return [4 /*yield*/, this.detectNetwork()]; diff --git a/packages/providers/lib/json-rpc-provider.js b/packages/providers/lib/json-rpc-provider.js index e09896ba6..f016ea0ca 100644 --- a/packages/providers/lib/json-rpc-provider.js +++ b/packages/providers/lib/json-rpc-provider.js @@ -327,11 +327,14 @@ var JsonRpcProvider = /** @class */ (function (_super) { catch (error) { return [2 /*return*/, logger.throwError("could not detect network", logger_1.Logger.errors.NETWORK_ERROR, { chainId: chainId, + event: "invalidNetwork", serverError: error })]; } } - return [2 /*return*/, logger.throwError("could not detect network", logger_1.Logger.errors.NETWORK_ERROR)]; + return [2 /*return*/, logger.throwError("could not detect network", logger_1.Logger.errors.NETWORK_ERROR, { + event: "noNetwork" + })]; } }); }); diff --git a/packages/providers/package.json b/packages/providers/package.json index ecf5d4f1d..d4432161d 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -56,7 +56,7 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, - "tarballHash": "0xe7f642fee45afdf3cc6c7941f576d04d477f1f5c08e2a4ab9ab5f00854e92a7c", + "tarballHash": "0xd420bc6858a4a862e6e4b41e0d1e0dceab7aa385628c46bc6c69b179ed7ecc90", "types": "./lib/index.d.ts", - "version": "5.0.1" + "version": "5.0.2" } diff --git a/packages/providers/src.ts/_version.ts b/packages/providers/src.ts/_version.ts index c129d995d..fca49a3ab 100644 --- a/packages/providers/src.ts/_version.ts +++ b/packages/providers/src.ts/_version.ts @@ -1 +1 @@ -export const version = "providers/5.0.1"; +export const version = "providers/5.0.2";