@eluvio/elv-player-js 1.0.63 → 1.0.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/0.bundle.js +8 -0
- package/dist/3.bundle.js +4 -0
- package/dist/4.bundle.js +46 -0
- package/dist/5.bundle.js +1 -0
- package/dist/6.bundle.js +1 -0
- package/dist/7.bundle.js +357 -0
- package/dist/82039b3023d7b2c52c275b57ce7bbc42.png +0 -0
- package/dist/index.js +1 -0
- package/dist/vendors~main.bundle.js +39 -0
- package/package-lock.json +1 -1
- package/package.json +1 -1
- package/src/index.js +15 -0
package/dist/4.bundle.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],Array(177).concat([function($,tt){function assert($,tt){if(!$)throw new Error(tt||"Assertion failed")}$.exports=assert,assert.equal=function assertEqual($,tt,et){if($!=tt)throw new Error(et||"Assertion failed: "+$+" != "+tt)}},function($,tt,et){"use strict";var At=tt,nt=et(186),it=et(177),at=et(301);At.assert=it,At.toArray=at.toArray,At.zero2=at.zero2,At.toHex=at.toHex,At.encode=at.encode,At.getNAF=function getNAF($,tt,et){var At=new Array(Math.max($.bitLength(),et)+1);At.fill(0);for(var nt=1<<tt+1,it=$.clone(),at=0;at<At.length;at++){var rt,st=it.andln(nt-1);it.isOdd()?(rt=st>(nt>>1)-1?(nt>>1)-st:st,it.isubn(rt)):rt=0,At[at]=rt,it.iushrn(1)}return At},At.getJSF=function getJSF($,tt){var et=[[],[]];$=$.clone(),tt=tt.clone();for(var At,nt=0,it=0;$.cmpn(-nt)>0||tt.cmpn(-it)>0;){var at,rt,st=$.andln(3)+nt&3,ot=tt.andln(3)+it&3;3===st&&(st=-1),3===ot&&(ot=-1),at=0==(1&st)?0:3!==(At=$.andln(7)+nt&7)&&5!==At||2!==ot?st:-st,et[0].push(at),rt=0==(1&ot)?0:3!==(At=tt.andln(7)+it&7)&&5!==At||2!==st?ot:-ot,et[1].push(rt),2*nt===at+1&&(nt=1-nt),2*it===rt+1&&(it=1-it),$.iushrn(1),tt.iushrn(1)}return et},At.cachedProperty=function cachedProperty($,tt,et){var At="_"+tt;$.prototype[tt]=function cachedProperty(){return void 0!==this[At]?this[At]:this[At]=et.call(this)}},At.parseBytes=function parseBytes($){return"string"==typeof $?At.toArray($,"hex"):$},At.intFromLE=function intFromLE($){return new nt($,"hex","le")}},function($,tt,et){(function($){!function($,tt){"use strict";function assert($,tt){if(!$)throw new Error(tt||"Assertion failed")}function inherits($,tt){$.super_=tt;var TempCtor=function(){};TempCtor.prototype=tt.prototype,$.prototype=new TempCtor,$.prototype.constructor=$}function BN($,tt,et){if(BN.isBN($))return $;this.negative=0,this.words=null,this.length=0,this.red=null,null!==$&&("le"!==tt&&"be"!==tt||(et=tt,tt=10),this._init($||0,tt||10,et||"be"))}var At;"object"==typeof $?$.exports=BN:tt.BN=BN,BN.BN=BN,BN.wordSize=26;try{At=et(413).Buffer}catch($){}function parseHex($,tt,et){for(var At=0,nt=Math.min($.length,et),it=tt;it<nt;it++){var at=$.charCodeAt(it)-48;At<<=4,At|=at>=49&&at<=54?at-49+10:at>=17&&at<=22?at-17+10:15&at}return At}function parseBase($,tt,et,At){for(var nt=0,it=Math.min($.length,et),at=tt;at<it;at++){var rt=$.charCodeAt(at)-48;nt*=At,nt+=rt>=49?rt-49+10:rt>=17?rt-17+10:rt}return nt}BN.isBN=function isBN($){return $ instanceof BN||null!==$&&"object"==typeof $&&$.constructor.wordSize===BN.wordSize&&Array.isArray($.words)},BN.max=function max($,tt){return $.cmp(tt)>0?$:tt},BN.min=function min($,tt){return $.cmp(tt)<0?$:tt},BN.prototype._init=function init($,tt,et){if("number"==typeof $)return this._initNumber($,tt,et);if("object"==typeof $)return this._initArray($,tt,et);"hex"===tt&&(tt=16),assert(tt===(0|tt)&&tt>=2&&tt<=36);var At=0;"-"===($=$.toString().replace(/\s+/g,""))[0]&&At++,16===tt?this._parseHex($,At):this._parseBase($,tt,At),"-"===$[0]&&(this.negative=1),this.strip(),"le"===et&&this._initArray(this.toArray(),tt,et)},BN.prototype._initNumber=function _initNumber($,tt,et){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[67108863&$],this.length=1):$<4503599627370496?(this.words=[67108863&$,$/67108864&67108863],this.length=2):(assert($<9007199254740992),this.words=[67108863&$,$/67108864&67108863,1],this.length=3),"le"===et&&this._initArray(this.toArray(),tt,et)},BN.prototype._initArray=function _initArray($,tt,et){if(assert("number"==typeof $.length),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var At=0;At<this.length;At++)this.words[At]=0;var nt,it,at=0;if("be"===et)for(At=$.length-1,nt=0;At>=0;At-=3)it=$[At]|$[At-1]<<8|$[At-2]<<16,this.words[nt]|=it<<at&67108863,this.words[nt+1]=it>>>26-at&67108863,(at+=24)>=26&&(at-=26,nt++);else if("le"===et)for(At=0,nt=0;At<$.length;At+=3)it=$[At]|$[At+1]<<8|$[At+2]<<16,this.words[nt]|=it<<at&67108863,this.words[nt+1]=it>>>26-at&67108863,(at+=24)>=26&&(at-=26,nt++);return this.strip()},BN.prototype._parseHex=function _parseHex($,tt){this.length=Math.ceil(($.length-tt)/6),this.words=new Array(this.length);for(var et=0;et<this.length;et++)this.words[et]=0;var At,nt,it=0;for(et=$.length-6,At=0;et>=tt;et-=6)nt=parseHex($,et,et+6),this.words[At]|=nt<<it&67108863,this.words[At+1]|=nt>>>26-it&4194303,(it+=24)>=26&&(it-=26,At++);et+6!==tt&&(nt=parseHex($,tt,et+6),this.words[At]|=nt<<it&67108863,this.words[At+1]|=nt>>>26-it&4194303),this.strip()},BN.prototype._parseBase=function _parseBase($,tt,et){this.words=[0],this.length=1;for(var At=0,nt=1;nt<=67108863;nt*=tt)At++;At--,nt=nt/tt|0;for(var it=$.length-et,at=it%At,rt=Math.min(it,it-at)+et,st=0,ot=et;ot<rt;ot+=At)st=parseBase($,ot,ot+At,tt),this.imuln(nt),this.words[0]+st<67108864?this.words[0]+=st:this._iaddn(st);if(0!==at){var ut=1;for(st=parseBase($,ot,$.length,tt),ot=0;ot<at;ot++)ut*=tt;this.imuln(ut),this.words[0]+st<67108864?this.words[0]+=st:this._iaddn(st)}},BN.prototype.copy=function copy($){$.words=new Array(this.length);for(var tt=0;tt<this.length;tt++)$.words[tt]=this.words[tt];$.length=this.length,$.negative=this.negative,$.red=this.red},BN.prototype.clone=function clone(){var $=new BN(null);return this.copy($),$},BN.prototype._expand=function _expand($){for(;this.length<$;)this.words[this.length++]=0;return this},BN.prototype.strip=function strip(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},BN.prototype._normSign=function _normSign(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},BN.prototype.inspect=function inspect(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var nt=["","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"],it=[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],at=[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 smallMulTo($,tt,et){et.negative=tt.negative^$.negative;var At=$.length+tt.length|0;et.length=At,At=At-1|0;var nt=0|$.words[0],it=0|tt.words[0],at=nt*it,rt=67108863&at,st=at/67108864|0;et.words[0]=rt;for(var ot=1;ot<At;ot++){for(var ut=st>>>26,ct=67108863&st,dt=Math.min(ot,tt.length-1),It=Math.max(0,ot-$.length+1);It<=dt;It++){var ht=ot-It|0;ut+=(at=(nt=0|$.words[ht])*(it=0|tt.words[It])+ct)/67108864|0,ct=67108863&at}et.words[ot]=0|ct,st=0|ut}return 0!==st?et.words[ot]=0|st:et.length--,et.strip()}BN.prototype.toString=function toString($,tt){var et;if(tt=0|tt||1,16===($=$||10)||"hex"===$){et="";for(var At=0,rt=0,st=0;st<this.length;st++){var ot=this.words[st],ut=(16777215&(ot<<At|rt)).toString(16);et=0!==(rt=ot>>>24-At&16777215)||st!==this.length-1?nt[6-ut.length]+ut+et:ut+et,(At+=2)>=26&&(At-=26,st--)}for(0!==rt&&(et=rt.toString(16)+et);et.length%tt!=0;)et="0"+et;return 0!==this.negative&&(et="-"+et),et}if($===(0|$)&&$>=2&&$<=36){var ct=it[$],dt=at[$];et="";var It=this.clone();for(It.negative=0;!It.isZero();){var ht=It.modn(dt).toString($);et=(It=It.idivn(dt)).isZero()?ht+et:nt[ct-ht.length]+ht+et}for(this.isZero()&&(et="0"+et);et.length%tt!=0;)et="0"+et;return 0!==this.negative&&(et="-"+et),et}assert(!1,"Base should be between 2 and 36")},BN.prototype.toNumber=function toNumber(){var $=this.words[0];return 2===this.length?$+=67108864*this.words[1]:3===this.length&&1===this.words[2]?$+=4503599627370496+67108864*this.words[1]:this.length>2&&assert(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-$:$},BN.prototype.toJSON=function toJSON(){return this.toString(16)},BN.prototype.toBuffer=function toBuffer($,tt){return assert(void 0!==At),this.toArrayLike(At,$,tt)},BN.prototype.toArray=function toArray($,tt){return this.toArrayLike(Array,$,tt)},BN.prototype.toArrayLike=function toArrayLike($,tt,et){var At=this.byteLength(),nt=et||Math.max(1,At);assert(At<=nt,"byte array longer than desired length"),assert(nt>0,"Requested array length <= 0"),this.strip();var it,at,rt="le"===tt,st=new $(nt),ot=this.clone();if(rt){for(at=0;!ot.isZero();at++)it=ot.andln(255),ot.iushrn(8),st[at]=it;for(;at<nt;at++)st[at]=0}else{for(at=0;at<nt-At;at++)st[at]=0;for(at=0;!ot.isZero();at++)it=ot.andln(255),ot.iushrn(8),st[nt-at-1]=it}return st},Math.clz32?BN.prototype._countBits=function _countBits($){return 32-Math.clz32($)}:BN.prototype._countBits=function _countBits($){var tt=$,et=0;return tt>=4096&&(et+=13,tt>>>=13),tt>=64&&(et+=7,tt>>>=7),tt>=8&&(et+=4,tt>>>=4),tt>=2&&(et+=2,tt>>>=2),et+tt},BN.prototype._zeroBits=function _zeroBits($){if(0===$)return 26;var tt=$,et=0;return 0==(8191&tt)&&(et+=13,tt>>>=13),0==(127&tt)&&(et+=7,tt>>>=7),0==(15&tt)&&(et+=4,tt>>>=4),0==(3&tt)&&(et+=2,tt>>>=2),0==(1&tt)&&et++,et},BN.prototype.bitLength=function bitLength(){var $=this.words[this.length-1],tt=this._countBits($);return 26*(this.length-1)+tt},BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;for(var $=0,tt=0;tt<this.length;tt++){var et=this._zeroBits(this.words[tt]);if($+=et,26!==et)break}return $},BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function toTwos($){return 0!==this.negative?this.abs().inotn($).iaddn(1):this.clone()},BN.prototype.fromTwos=function fromTwos($){return this.testn($-1)?this.notn($).iaddn(1).ineg():this.clone()},BN.prototype.isNeg=function isNeg(){return 0!==this.negative},BN.prototype.neg=function neg(){return this.clone().ineg()},BN.prototype.ineg=function ineg(){return this.isZero()||(this.negative^=1),this},BN.prototype.iuor=function iuor($){for(;this.length<$.length;)this.words[this.length++]=0;for(var tt=0;tt<$.length;tt++)this.words[tt]=this.words[tt]|$.words[tt];return this.strip()},BN.prototype.ior=function ior($){return assert(0==(this.negative|$.negative)),this.iuor($)},BN.prototype.or=function or($){return this.length>$.length?this.clone().ior($):$.clone().ior(this)},BN.prototype.uor=function uor($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},BN.prototype.iuand=function iuand($){var tt;tt=this.length>$.length?$:this;for(var et=0;et<tt.length;et++)this.words[et]=this.words[et]&$.words[et];return this.length=tt.length,this.strip()},BN.prototype.iand=function iand($){return assert(0==(this.negative|$.negative)),this.iuand($)},BN.prototype.and=function and($){return this.length>$.length?this.clone().iand($):$.clone().iand(this)},BN.prototype.uand=function uand($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},BN.prototype.iuxor=function iuxor($){var tt,et;this.length>$.length?(tt=this,et=$):(tt=$,et=this);for(var At=0;At<et.length;At++)this.words[At]=tt.words[At]^et.words[At];if(this!==tt)for(;At<tt.length;At++)this.words[At]=tt.words[At];return this.length=tt.length,this.strip()},BN.prototype.ixor=function ixor($){return assert(0==(this.negative|$.negative)),this.iuxor($)},BN.prototype.xor=function xor($){return this.length>$.length?this.clone().ixor($):$.clone().ixor(this)},BN.prototype.uxor=function uxor($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},BN.prototype.inotn=function inotn($){assert("number"==typeof $&&$>=0);var tt=0|Math.ceil($/26),et=$%26;this._expand(tt),et>0&&tt--;for(var At=0;At<tt;At++)this.words[At]=67108863&~this.words[At];return et>0&&(this.words[At]=~this.words[At]&67108863>>26-et),this.strip()},BN.prototype.notn=function notn($){return this.clone().inotn($)},BN.prototype.setn=function setn($,tt){assert("number"==typeof $&&$>=0);var et=$/26|0,At=$%26;return this._expand(et+1),this.words[et]=tt?this.words[et]|1<<At:this.words[et]&~(1<<At),this.strip()},BN.prototype.iadd=function iadd($){var tt,et,At;if(0!==this.negative&&0===$.negative)return this.negative=0,tt=this.isub($),this.negative^=1,this._normSign();if(0===this.negative&&0!==$.negative)return $.negative=0,tt=this.isub($),$.negative=1,tt._normSign();this.length>$.length?(et=this,At=$):(et=$,At=this);for(var nt=0,it=0;it<At.length;it++)tt=(0|et.words[it])+(0|At.words[it])+nt,this.words[it]=67108863&tt,nt=tt>>>26;for(;0!==nt&&it<et.length;it++)tt=(0|et.words[it])+nt,this.words[it]=67108863&tt,nt=tt>>>26;if(this.length=et.length,0!==nt)this.words[this.length]=nt,this.length++;else if(et!==this)for(;it<et.length;it++)this.words[it]=et.words[it];return this},BN.prototype.add=function add($){var tt;return 0!==$.negative&&0===this.negative?($.negative=0,tt=this.sub($),$.negative^=1,tt):0===$.negative&&0!==this.negative?(this.negative=0,tt=$.sub(this),this.negative=1,tt):this.length>$.length?this.clone().iadd($):$.clone().iadd(this)},BN.prototype.isub=function isub($){if(0!==$.negative){$.negative=0;var tt=this.iadd($);return $.negative=1,tt._normSign()}if(0!==this.negative)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var et,At,nt=this.cmp($);if(0===nt)return this.negative=0,this.length=1,this.words[0]=0,this;nt>0?(et=this,At=$):(et=$,At=this);for(var it=0,at=0;at<At.length;at++)it=(tt=(0|et.words[at])-(0|At.words[at])+it)>>26,this.words[at]=67108863&tt;for(;0!==it&&at<et.length;at++)it=(tt=(0|et.words[at])+it)>>26,this.words[at]=67108863&tt;if(0===it&&at<et.length&&et!==this)for(;at<et.length;at++)this.words[at]=et.words[at];return this.length=Math.max(this.length,at),et!==this&&(this.negative=1),this.strip()},BN.prototype.sub=function sub($){return this.clone().isub($)};var rt=function comb10MulTo($,tt,et){var At,nt,it,at=$.words,rt=tt.words,st=et.words,ot=0,ut=0|at[0],ct=8191&ut,dt=ut>>>13,It=0|at[1],ht=8191&It,pt=It>>>13,yt=0|at[2],Ct=8191&yt,Bt=yt>>>13,Et=0|at[3],mt=8191&Et,Qt=Et>>>13,bt=0|at[4],wt=8191&bt,vt=bt>>>13,Mt=0|at[5],Dt=8191&Mt,St=Mt>>>13,kt=0|at[6],_t=8191&kt,Rt=kt>>>13,Nt=0|at[7],Ht=8191&Nt,Ft=Nt>>>13,Gt=0|at[8],Ut=8191&Gt,xt=Gt>>>13,Lt=0|at[9],Tt=8191&Lt,Yt=Lt>>>13,Ot=0|rt[0],Kt=8191&Ot,Pt=Ot>>>13,qt=0|rt[1],jt=8191&qt,Jt=qt>>>13,zt=0|rt[2],Zt=8191&zt,Vt=zt>>>13,Wt=0|rt[3],Xt=8191&Wt,$t=Wt>>>13,ee=0|rt[4],Ae=8191&ee,ne=ee>>>13,ae=0|rt[5],se=8191&ae,ue=ae>>>13,ce=0|rt[6],ge=8191&ce,de=ce>>>13,Ie=0|rt[7],he=8191&Ie,pe=Ie>>>13,le=0|rt[8],fe=8191&le,ye=le>>>13,Ce=0|rt[9],Be=8191&Ce,Ee=Ce>>>13;et.negative=$.negative^tt.negative,et.length=19;var me=(ot+(At=Math.imul(ct,Kt))|0)+((8191&(nt=(nt=Math.imul(ct,Pt))+Math.imul(dt,Kt)|0))<<13)|0;ot=((it=Math.imul(dt,Pt))+(nt>>>13)|0)+(me>>>26)|0,me&=67108863,At=Math.imul(ht,Kt),nt=(nt=Math.imul(ht,Pt))+Math.imul(pt,Kt)|0,it=Math.imul(pt,Pt);var Qe=(ot+(At=At+Math.imul(ct,jt)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,Jt)|0)+Math.imul(dt,jt)|0))<<13)|0;ot=((it=it+Math.imul(dt,Jt)|0)+(nt>>>13)|0)+(Qe>>>26)|0,Qe&=67108863,At=Math.imul(Ct,Kt),nt=(nt=Math.imul(Ct,Pt))+Math.imul(Bt,Kt)|0,it=Math.imul(Bt,Pt),At=At+Math.imul(ht,jt)|0,nt=(nt=nt+Math.imul(ht,Jt)|0)+Math.imul(pt,jt)|0,it=it+Math.imul(pt,Jt)|0;var be=(ot+(At=At+Math.imul(ct,Zt)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,Vt)|0)+Math.imul(dt,Zt)|0))<<13)|0;ot=((it=it+Math.imul(dt,Vt)|0)+(nt>>>13)|0)+(be>>>26)|0,be&=67108863,At=Math.imul(mt,Kt),nt=(nt=Math.imul(mt,Pt))+Math.imul(Qt,Kt)|0,it=Math.imul(Qt,Pt),At=At+Math.imul(Ct,jt)|0,nt=(nt=nt+Math.imul(Ct,Jt)|0)+Math.imul(Bt,jt)|0,it=it+Math.imul(Bt,Jt)|0,At=At+Math.imul(ht,Zt)|0,nt=(nt=nt+Math.imul(ht,Vt)|0)+Math.imul(pt,Zt)|0,it=it+Math.imul(pt,Vt)|0;var we=(ot+(At=At+Math.imul(ct,Xt)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,$t)|0)+Math.imul(dt,Xt)|0))<<13)|0;ot=((it=it+Math.imul(dt,$t)|0)+(nt>>>13)|0)+(we>>>26)|0,we&=67108863,At=Math.imul(wt,Kt),nt=(nt=Math.imul(wt,Pt))+Math.imul(vt,Kt)|0,it=Math.imul(vt,Pt),At=At+Math.imul(mt,jt)|0,nt=(nt=nt+Math.imul(mt,Jt)|0)+Math.imul(Qt,jt)|0,it=it+Math.imul(Qt,Jt)|0,At=At+Math.imul(Ct,Zt)|0,nt=(nt=nt+Math.imul(Ct,Vt)|0)+Math.imul(Bt,Zt)|0,it=it+Math.imul(Bt,Vt)|0,At=At+Math.imul(ht,Xt)|0,nt=(nt=nt+Math.imul(ht,$t)|0)+Math.imul(pt,Xt)|0,it=it+Math.imul(pt,$t)|0;var ve=(ot+(At=At+Math.imul(ct,Ae)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,ne)|0)+Math.imul(dt,Ae)|0))<<13)|0;ot=((it=it+Math.imul(dt,ne)|0)+(nt>>>13)|0)+(ve>>>26)|0,ve&=67108863,At=Math.imul(Dt,Kt),nt=(nt=Math.imul(Dt,Pt))+Math.imul(St,Kt)|0,it=Math.imul(St,Pt),At=At+Math.imul(wt,jt)|0,nt=(nt=nt+Math.imul(wt,Jt)|0)+Math.imul(vt,jt)|0,it=it+Math.imul(vt,Jt)|0,At=At+Math.imul(mt,Zt)|0,nt=(nt=nt+Math.imul(mt,Vt)|0)+Math.imul(Qt,Zt)|0,it=it+Math.imul(Qt,Vt)|0,At=At+Math.imul(Ct,Xt)|0,nt=(nt=nt+Math.imul(Ct,$t)|0)+Math.imul(Bt,Xt)|0,it=it+Math.imul(Bt,$t)|0,At=At+Math.imul(ht,Ae)|0,nt=(nt=nt+Math.imul(ht,ne)|0)+Math.imul(pt,Ae)|0,it=it+Math.imul(pt,ne)|0;var Me=(ot+(At=At+Math.imul(ct,se)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,ue)|0)+Math.imul(dt,se)|0))<<13)|0;ot=((it=it+Math.imul(dt,ue)|0)+(nt>>>13)|0)+(Me>>>26)|0,Me&=67108863,At=Math.imul(_t,Kt),nt=(nt=Math.imul(_t,Pt))+Math.imul(Rt,Kt)|0,it=Math.imul(Rt,Pt),At=At+Math.imul(Dt,jt)|0,nt=(nt=nt+Math.imul(Dt,Jt)|0)+Math.imul(St,jt)|0,it=it+Math.imul(St,Jt)|0,At=At+Math.imul(wt,Zt)|0,nt=(nt=nt+Math.imul(wt,Vt)|0)+Math.imul(vt,Zt)|0,it=it+Math.imul(vt,Vt)|0,At=At+Math.imul(mt,Xt)|0,nt=(nt=nt+Math.imul(mt,$t)|0)+Math.imul(Qt,Xt)|0,it=it+Math.imul(Qt,$t)|0,At=At+Math.imul(Ct,Ae)|0,nt=(nt=nt+Math.imul(Ct,ne)|0)+Math.imul(Bt,Ae)|0,it=it+Math.imul(Bt,ne)|0,At=At+Math.imul(ht,se)|0,nt=(nt=nt+Math.imul(ht,ue)|0)+Math.imul(pt,se)|0,it=it+Math.imul(pt,ue)|0;var De=(ot+(At=At+Math.imul(ct,ge)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,de)|0)+Math.imul(dt,ge)|0))<<13)|0;ot=((it=it+Math.imul(dt,de)|0)+(nt>>>13)|0)+(De>>>26)|0,De&=67108863,At=Math.imul(Ht,Kt),nt=(nt=Math.imul(Ht,Pt))+Math.imul(Ft,Kt)|0,it=Math.imul(Ft,Pt),At=At+Math.imul(_t,jt)|0,nt=(nt=nt+Math.imul(_t,Jt)|0)+Math.imul(Rt,jt)|0,it=it+Math.imul(Rt,Jt)|0,At=At+Math.imul(Dt,Zt)|0,nt=(nt=nt+Math.imul(Dt,Vt)|0)+Math.imul(St,Zt)|0,it=it+Math.imul(St,Vt)|0,At=At+Math.imul(wt,Xt)|0,nt=(nt=nt+Math.imul(wt,$t)|0)+Math.imul(vt,Xt)|0,it=it+Math.imul(vt,$t)|0,At=At+Math.imul(mt,Ae)|0,nt=(nt=nt+Math.imul(mt,ne)|0)+Math.imul(Qt,Ae)|0,it=it+Math.imul(Qt,ne)|0,At=At+Math.imul(Ct,se)|0,nt=(nt=nt+Math.imul(Ct,ue)|0)+Math.imul(Bt,se)|0,it=it+Math.imul(Bt,ue)|0,At=At+Math.imul(ht,ge)|0,nt=(nt=nt+Math.imul(ht,de)|0)+Math.imul(pt,ge)|0,it=it+Math.imul(pt,de)|0;var Se=(ot+(At=At+Math.imul(ct,he)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,pe)|0)+Math.imul(dt,he)|0))<<13)|0;ot=((it=it+Math.imul(dt,pe)|0)+(nt>>>13)|0)+(Se>>>26)|0,Se&=67108863,At=Math.imul(Ut,Kt),nt=(nt=Math.imul(Ut,Pt))+Math.imul(xt,Kt)|0,it=Math.imul(xt,Pt),At=At+Math.imul(Ht,jt)|0,nt=(nt=nt+Math.imul(Ht,Jt)|0)+Math.imul(Ft,jt)|0,it=it+Math.imul(Ft,Jt)|0,At=At+Math.imul(_t,Zt)|0,nt=(nt=nt+Math.imul(_t,Vt)|0)+Math.imul(Rt,Zt)|0,it=it+Math.imul(Rt,Vt)|0,At=At+Math.imul(Dt,Xt)|0,nt=(nt=nt+Math.imul(Dt,$t)|0)+Math.imul(St,Xt)|0,it=it+Math.imul(St,$t)|0,At=At+Math.imul(wt,Ae)|0,nt=(nt=nt+Math.imul(wt,ne)|0)+Math.imul(vt,Ae)|0,it=it+Math.imul(vt,ne)|0,At=At+Math.imul(mt,se)|0,nt=(nt=nt+Math.imul(mt,ue)|0)+Math.imul(Qt,se)|0,it=it+Math.imul(Qt,ue)|0,At=At+Math.imul(Ct,ge)|0,nt=(nt=nt+Math.imul(Ct,de)|0)+Math.imul(Bt,ge)|0,it=it+Math.imul(Bt,de)|0,At=At+Math.imul(ht,he)|0,nt=(nt=nt+Math.imul(ht,pe)|0)+Math.imul(pt,he)|0,it=it+Math.imul(pt,pe)|0;var ke=(ot+(At=At+Math.imul(ct,fe)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,ye)|0)+Math.imul(dt,fe)|0))<<13)|0;ot=((it=it+Math.imul(dt,ye)|0)+(nt>>>13)|0)+(ke>>>26)|0,ke&=67108863,At=Math.imul(Tt,Kt),nt=(nt=Math.imul(Tt,Pt))+Math.imul(Yt,Kt)|0,it=Math.imul(Yt,Pt),At=At+Math.imul(Ut,jt)|0,nt=(nt=nt+Math.imul(Ut,Jt)|0)+Math.imul(xt,jt)|0,it=it+Math.imul(xt,Jt)|0,At=At+Math.imul(Ht,Zt)|0,nt=(nt=nt+Math.imul(Ht,Vt)|0)+Math.imul(Ft,Zt)|0,it=it+Math.imul(Ft,Vt)|0,At=At+Math.imul(_t,Xt)|0,nt=(nt=nt+Math.imul(_t,$t)|0)+Math.imul(Rt,Xt)|0,it=it+Math.imul(Rt,$t)|0,At=At+Math.imul(Dt,Ae)|0,nt=(nt=nt+Math.imul(Dt,ne)|0)+Math.imul(St,Ae)|0,it=it+Math.imul(St,ne)|0,At=At+Math.imul(wt,se)|0,nt=(nt=nt+Math.imul(wt,ue)|0)+Math.imul(vt,se)|0,it=it+Math.imul(vt,ue)|0,At=At+Math.imul(mt,ge)|0,nt=(nt=nt+Math.imul(mt,de)|0)+Math.imul(Qt,ge)|0,it=it+Math.imul(Qt,de)|0,At=At+Math.imul(Ct,he)|0,nt=(nt=nt+Math.imul(Ct,pe)|0)+Math.imul(Bt,he)|0,it=it+Math.imul(Bt,pe)|0,At=At+Math.imul(ht,fe)|0,nt=(nt=nt+Math.imul(ht,ye)|0)+Math.imul(pt,fe)|0,it=it+Math.imul(pt,ye)|0;var _e=(ot+(At=At+Math.imul(ct,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,Ee)|0)+Math.imul(dt,Be)|0))<<13)|0;ot=((it=it+Math.imul(dt,Ee)|0)+(nt>>>13)|0)+(_e>>>26)|0,_e&=67108863,At=Math.imul(Tt,jt),nt=(nt=Math.imul(Tt,Jt))+Math.imul(Yt,jt)|0,it=Math.imul(Yt,Jt),At=At+Math.imul(Ut,Zt)|0,nt=(nt=nt+Math.imul(Ut,Vt)|0)+Math.imul(xt,Zt)|0,it=it+Math.imul(xt,Vt)|0,At=At+Math.imul(Ht,Xt)|0,nt=(nt=nt+Math.imul(Ht,$t)|0)+Math.imul(Ft,Xt)|0,it=it+Math.imul(Ft,$t)|0,At=At+Math.imul(_t,Ae)|0,nt=(nt=nt+Math.imul(_t,ne)|0)+Math.imul(Rt,Ae)|0,it=it+Math.imul(Rt,ne)|0,At=At+Math.imul(Dt,se)|0,nt=(nt=nt+Math.imul(Dt,ue)|0)+Math.imul(St,se)|0,it=it+Math.imul(St,ue)|0,At=At+Math.imul(wt,ge)|0,nt=(nt=nt+Math.imul(wt,de)|0)+Math.imul(vt,ge)|0,it=it+Math.imul(vt,de)|0,At=At+Math.imul(mt,he)|0,nt=(nt=nt+Math.imul(mt,pe)|0)+Math.imul(Qt,he)|0,it=it+Math.imul(Qt,pe)|0,At=At+Math.imul(Ct,fe)|0,nt=(nt=nt+Math.imul(Ct,ye)|0)+Math.imul(Bt,fe)|0,it=it+Math.imul(Bt,ye)|0;var Re=(ot+(At=At+Math.imul(ht,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ht,Ee)|0)+Math.imul(pt,Be)|0))<<13)|0;ot=((it=it+Math.imul(pt,Ee)|0)+(nt>>>13)|0)+(Re>>>26)|0,Re&=67108863,At=Math.imul(Tt,Zt),nt=(nt=Math.imul(Tt,Vt))+Math.imul(Yt,Zt)|0,it=Math.imul(Yt,Vt),At=At+Math.imul(Ut,Xt)|0,nt=(nt=nt+Math.imul(Ut,$t)|0)+Math.imul(xt,Xt)|0,it=it+Math.imul(xt,$t)|0,At=At+Math.imul(Ht,Ae)|0,nt=(nt=nt+Math.imul(Ht,ne)|0)+Math.imul(Ft,Ae)|0,it=it+Math.imul(Ft,ne)|0,At=At+Math.imul(_t,se)|0,nt=(nt=nt+Math.imul(_t,ue)|0)+Math.imul(Rt,se)|0,it=it+Math.imul(Rt,ue)|0,At=At+Math.imul(Dt,ge)|0,nt=(nt=nt+Math.imul(Dt,de)|0)+Math.imul(St,ge)|0,it=it+Math.imul(St,de)|0,At=At+Math.imul(wt,he)|0,nt=(nt=nt+Math.imul(wt,pe)|0)+Math.imul(vt,he)|0,it=it+Math.imul(vt,pe)|0,At=At+Math.imul(mt,fe)|0,nt=(nt=nt+Math.imul(mt,ye)|0)+Math.imul(Qt,fe)|0,it=it+Math.imul(Qt,ye)|0;var Ne=(ot+(At=At+Math.imul(Ct,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Ct,Ee)|0)+Math.imul(Bt,Be)|0))<<13)|0;ot=((it=it+Math.imul(Bt,Ee)|0)+(nt>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,At=Math.imul(Tt,Xt),nt=(nt=Math.imul(Tt,$t))+Math.imul(Yt,Xt)|0,it=Math.imul(Yt,$t),At=At+Math.imul(Ut,Ae)|0,nt=(nt=nt+Math.imul(Ut,ne)|0)+Math.imul(xt,Ae)|0,it=it+Math.imul(xt,ne)|0,At=At+Math.imul(Ht,se)|0,nt=(nt=nt+Math.imul(Ht,ue)|0)+Math.imul(Ft,se)|0,it=it+Math.imul(Ft,ue)|0,At=At+Math.imul(_t,ge)|0,nt=(nt=nt+Math.imul(_t,de)|0)+Math.imul(Rt,ge)|0,it=it+Math.imul(Rt,de)|0,At=At+Math.imul(Dt,he)|0,nt=(nt=nt+Math.imul(Dt,pe)|0)+Math.imul(St,he)|0,it=it+Math.imul(St,pe)|0,At=At+Math.imul(wt,fe)|0,nt=(nt=nt+Math.imul(wt,ye)|0)+Math.imul(vt,fe)|0,it=it+Math.imul(vt,ye)|0;var He=(ot+(At=At+Math.imul(mt,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(mt,Ee)|0)+Math.imul(Qt,Be)|0))<<13)|0;ot=((it=it+Math.imul(Qt,Ee)|0)+(nt>>>13)|0)+(He>>>26)|0,He&=67108863,At=Math.imul(Tt,Ae),nt=(nt=Math.imul(Tt,ne))+Math.imul(Yt,Ae)|0,it=Math.imul(Yt,ne),At=At+Math.imul(Ut,se)|0,nt=(nt=nt+Math.imul(Ut,ue)|0)+Math.imul(xt,se)|0,it=it+Math.imul(xt,ue)|0,At=At+Math.imul(Ht,ge)|0,nt=(nt=nt+Math.imul(Ht,de)|0)+Math.imul(Ft,ge)|0,it=it+Math.imul(Ft,de)|0,At=At+Math.imul(_t,he)|0,nt=(nt=nt+Math.imul(_t,pe)|0)+Math.imul(Rt,he)|0,it=it+Math.imul(Rt,pe)|0,At=At+Math.imul(Dt,fe)|0,nt=(nt=nt+Math.imul(Dt,ye)|0)+Math.imul(St,fe)|0,it=it+Math.imul(St,ye)|0;var Fe=(ot+(At=At+Math.imul(wt,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(wt,Ee)|0)+Math.imul(vt,Be)|0))<<13)|0;ot=((it=it+Math.imul(vt,Ee)|0)+(nt>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,At=Math.imul(Tt,se),nt=(nt=Math.imul(Tt,ue))+Math.imul(Yt,se)|0,it=Math.imul(Yt,ue),At=At+Math.imul(Ut,ge)|0,nt=(nt=nt+Math.imul(Ut,de)|0)+Math.imul(xt,ge)|0,it=it+Math.imul(xt,de)|0,At=At+Math.imul(Ht,he)|0,nt=(nt=nt+Math.imul(Ht,pe)|0)+Math.imul(Ft,he)|0,it=it+Math.imul(Ft,pe)|0,At=At+Math.imul(_t,fe)|0,nt=(nt=nt+Math.imul(_t,ye)|0)+Math.imul(Rt,fe)|0,it=it+Math.imul(Rt,ye)|0;var Ge=(ot+(At=At+Math.imul(Dt,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Dt,Ee)|0)+Math.imul(St,Be)|0))<<13)|0;ot=((it=it+Math.imul(St,Ee)|0)+(nt>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,At=Math.imul(Tt,ge),nt=(nt=Math.imul(Tt,de))+Math.imul(Yt,ge)|0,it=Math.imul(Yt,de),At=At+Math.imul(Ut,he)|0,nt=(nt=nt+Math.imul(Ut,pe)|0)+Math.imul(xt,he)|0,it=it+Math.imul(xt,pe)|0,At=At+Math.imul(Ht,fe)|0,nt=(nt=nt+Math.imul(Ht,ye)|0)+Math.imul(Ft,fe)|0,it=it+Math.imul(Ft,ye)|0;var Ue=(ot+(At=At+Math.imul(_t,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(_t,Ee)|0)+Math.imul(Rt,Be)|0))<<13)|0;ot=((it=it+Math.imul(Rt,Ee)|0)+(nt>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,At=Math.imul(Tt,he),nt=(nt=Math.imul(Tt,pe))+Math.imul(Yt,he)|0,it=Math.imul(Yt,pe),At=At+Math.imul(Ut,fe)|0,nt=(nt=nt+Math.imul(Ut,ye)|0)+Math.imul(xt,fe)|0,it=it+Math.imul(xt,ye)|0;var xe=(ot+(At=At+Math.imul(Ht,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Ht,Ee)|0)+Math.imul(Ft,Be)|0))<<13)|0;ot=((it=it+Math.imul(Ft,Ee)|0)+(nt>>>13)|0)+(xe>>>26)|0,xe&=67108863,At=Math.imul(Tt,fe),nt=(nt=Math.imul(Tt,ye))+Math.imul(Yt,fe)|0,it=Math.imul(Yt,ye);var Le=(ot+(At=At+Math.imul(Ut,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Ut,Ee)|0)+Math.imul(xt,Be)|0))<<13)|0;ot=((it=it+Math.imul(xt,Ee)|0)+(nt>>>13)|0)+(Le>>>26)|0,Le&=67108863;var Te=(ot+(At=Math.imul(Tt,Be))|0)+((8191&(nt=(nt=Math.imul(Tt,Ee))+Math.imul(Yt,Be)|0))<<13)|0;return ot=((it=Math.imul(Yt,Ee))+(nt>>>13)|0)+(Te>>>26)|0,Te&=67108863,st[0]=me,st[1]=Qe,st[2]=be,st[3]=we,st[4]=ve,st[5]=Me,st[6]=De,st[7]=Se,st[8]=ke,st[9]=_e,st[10]=Re,st[11]=Ne,st[12]=He,st[13]=Fe,st[14]=Ge,st[15]=Ue,st[16]=xe,st[17]=Le,st[18]=Te,0!==ot&&(st[19]=ot,et.length++),et};function jumboMulTo($,tt,et){return(new FFTM).mulp($,tt,et)}function FFTM($,tt){this.x=$,this.y=tt}Math.imul||(rt=smallMulTo),BN.prototype.mulTo=function mulTo($,tt){var et=this.length+$.length;return 10===this.length&&10===$.length?rt(this,$,tt):et<63?smallMulTo(this,$,tt):et<1024?function bigMulTo($,tt,et){et.negative=tt.negative^$.negative,et.length=$.length+tt.length;for(var At=0,nt=0,it=0;it<et.length-1;it++){var at=nt;nt=0;for(var rt=67108863&At,st=Math.min(it,tt.length-1),ot=Math.max(0,it-$.length+1);ot<=st;ot++){var ut=it-ot,ct=(0|$.words[ut])*(0|tt.words[ot]),dt=67108863&ct;rt=67108863&(dt=dt+rt|0),nt+=(at=(at=at+(ct/67108864|0)|0)+(dt>>>26)|0)>>>26,at&=67108863}et.words[it]=rt,At=at,at=nt}return 0!==At?et.words[it]=At:et.length--,et.strip()}(this,$,tt):jumboMulTo(this,$,tt)},FFTM.prototype.makeRBT=function makeRBT($){for(var tt=new Array($),et=BN.prototype._countBits($)-1,At=0;At<$;At++)tt[At]=this.revBin(At,et,$);return tt},FFTM.prototype.revBin=function revBin($,tt,et){if(0===$||$===et-1)return $;for(var At=0,nt=0;nt<tt;nt++)At|=(1&$)<<tt-nt-1,$>>=1;return At},FFTM.prototype.permute=function permute($,tt,et,At,nt,it){for(var at=0;at<it;at++)At[at]=tt[$[at]],nt[at]=et[$[at]]},FFTM.prototype.transform=function transform($,tt,et,At,nt,it){this.permute(it,$,tt,et,At,nt);for(var at=1;at<nt;at<<=1)for(var rt=at<<1,st=Math.cos(2*Math.PI/rt),ot=Math.sin(2*Math.PI/rt),ut=0;ut<nt;ut+=rt)for(var ct=st,dt=ot,It=0;It<at;It++){var ht=et[ut+It],pt=At[ut+It],yt=et[ut+It+at],Ct=At[ut+It+at],Bt=ct*yt-dt*Ct;Ct=ct*Ct+dt*yt,yt=Bt,et[ut+It]=ht+yt,At[ut+It]=pt+Ct,et[ut+It+at]=ht-yt,At[ut+It+at]=pt-Ct,It!==rt&&(Bt=st*ct-ot*dt,dt=st*dt+ot*ct,ct=Bt)}},FFTM.prototype.guessLen13b=function guessLen13b($,tt){var et=1|Math.max(tt,$),At=1&et,nt=0;for(et=et/2|0;et;et>>>=1)nt++;return 1<<nt+1+At},FFTM.prototype.conjugate=function conjugate($,tt,et){if(!(et<=1))for(var At=0;At<et/2;At++){var nt=$[At];$[At]=$[et-At-1],$[et-At-1]=nt,nt=tt[At],tt[At]=-tt[et-At-1],tt[et-At-1]=-nt}},FFTM.prototype.normalize13b=function normalize13b($,tt){for(var et=0,At=0;At<tt/2;At++){var nt=8192*Math.round($[2*At+1]/tt)+Math.round($[2*At]/tt)+et;$[At]=67108863&nt,et=nt<67108864?0:nt/67108864|0}return $},FFTM.prototype.convert13b=function convert13b($,tt,et,At){for(var nt=0,it=0;it<tt;it++)nt+=0|$[it],et[2*it]=8191&nt,nt>>>=13,et[2*it+1]=8191&nt,nt>>>=13;for(it=2*tt;it<At;++it)et[it]=0;assert(0===nt),assert(0==(-8192&nt))},FFTM.prototype.stub=function stub($){for(var tt=new Array($),et=0;et<$;et++)tt[et]=0;return tt},FFTM.prototype.mulp=function mulp($,tt,et){var At=2*this.guessLen13b($.length,tt.length),nt=this.makeRBT(At),it=this.stub(At),at=new Array(At),rt=new Array(At),st=new Array(At),ot=new Array(At),ut=new Array(At),ct=new Array(At),dt=et.words;dt.length=At,this.convert13b($.words,$.length,at,At),this.convert13b(tt.words,tt.length,ot,At),this.transform(at,it,rt,st,At,nt),this.transform(ot,it,ut,ct,At,nt);for(var It=0;It<At;It++){var ht=rt[It]*ut[It]-st[It]*ct[It];st[It]=rt[It]*ct[It]+st[It]*ut[It],rt[It]=ht}return this.conjugate(rt,st,At),this.transform(rt,st,dt,it,At,nt),this.conjugate(dt,it,At),this.normalize13b(dt,At),et.negative=$.negative^tt.negative,et.length=$.length+tt.length,et.strip()},BN.prototype.mul=function mul($){var tt=new BN(null);return tt.words=new Array(this.length+$.length),this.mulTo($,tt)},BN.prototype.mulf=function mulf($){var tt=new BN(null);return tt.words=new Array(this.length+$.length),jumboMulTo(this,$,tt)},BN.prototype.imul=function imul($){return this.clone().mulTo($,this)},BN.prototype.imuln=function imuln($){assert("number"==typeof $),assert($<67108864);for(var tt=0,et=0;et<this.length;et++){var At=(0|this.words[et])*$,nt=(67108863&At)+(67108863&tt);tt>>=26,tt+=At/67108864|0,tt+=nt>>>26,this.words[et]=67108863&nt}return 0!==tt&&(this.words[et]=tt,this.length++),this},BN.prototype.muln=function muln($){return this.clone().imuln($)},BN.prototype.sqr=function sqr(){return this.mul(this)},BN.prototype.isqr=function isqr(){return this.imul(this.clone())},BN.prototype.pow=function pow($){var tt=function toBitArray($){for(var tt=new Array($.bitLength()),et=0;et<tt.length;et++){var At=et/26|0,nt=et%26;tt[et]=($.words[At]&1<<nt)>>>nt}return tt}($);if(0===tt.length)return new BN(1);for(var et=this,At=0;At<tt.length&&0===tt[At];At++,et=et.sqr());if(++At<tt.length)for(var nt=et.sqr();At<tt.length;At++,nt=nt.sqr())0!==tt[At]&&(et=et.mul(nt));return et},BN.prototype.iushln=function iushln($){assert("number"==typeof $&&$>=0);var tt,et=$%26,At=($-et)/26,nt=67108863>>>26-et<<26-et;if(0!==et){var it=0;for(tt=0;tt<this.length;tt++){var at=this.words[tt]&nt,rt=(0|this.words[tt])-at<<et;this.words[tt]=rt|it,it=at>>>26-et}it&&(this.words[tt]=it,this.length++)}if(0!==At){for(tt=this.length-1;tt>=0;tt--)this.words[tt+At]=this.words[tt];for(tt=0;tt<At;tt++)this.words[tt]=0;this.length+=At}return this.strip()},BN.prototype.ishln=function ishln($){return assert(0===this.negative),this.iushln($)},BN.prototype.iushrn=function iushrn($,tt,et){var At;assert("number"==typeof $&&$>=0),At=tt?(tt-tt%26)/26:0;var nt=$%26,it=Math.min(($-nt)/26,this.length),at=67108863^67108863>>>nt<<nt,rt=et;if(At-=it,At=Math.max(0,At),rt){for(var st=0;st<it;st++)rt.words[st]=this.words[st];rt.length=it}if(0===it);else if(this.length>it)for(this.length-=it,st=0;st<this.length;st++)this.words[st]=this.words[st+it];else this.words[0]=0,this.length=1;var ot=0;for(st=this.length-1;st>=0&&(0!==ot||st>=At);st--){var ut=0|this.words[st];this.words[st]=ot<<26-nt|ut>>>nt,ot=ut&at}return rt&&0!==ot&&(rt.words[rt.length++]=ot),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function ishrn($,tt,et){return assert(0===this.negative),this.iushrn($,tt,et)},BN.prototype.shln=function shln($){return this.clone().ishln($)},BN.prototype.ushln=function ushln($){return this.clone().iushln($)},BN.prototype.shrn=function shrn($){return this.clone().ishrn($)},BN.prototype.ushrn=function ushrn($){return this.clone().iushrn($)},BN.prototype.testn=function testn($){assert("number"==typeof $&&$>=0);var tt=$%26,et=($-tt)/26,At=1<<tt;return!(this.length<=et)&&!!(this.words[et]&At)},BN.prototype.imaskn=function imaskn($){assert("number"==typeof $&&$>=0);var tt=$%26,et=($-tt)/26;if(assert(0===this.negative,"imaskn works only with positive numbers"),this.length<=et)return this;if(0!==tt&&et++,this.length=Math.min(et,this.length),0!==tt){var At=67108863^67108863>>>tt<<tt;this.words[this.length-1]&=At}return this.strip()},BN.prototype.maskn=function maskn($){return this.clone().imaskn($)},BN.prototype.iaddn=function iaddn($){return assert("number"==typeof $),assert($<67108864),$<0?this.isubn(-$):0!==this.negative?1===this.length&&(0|this.words[0])<$?(this.words[0]=$-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn($),this.negative=1,this):this._iaddn($)},BN.prototype._iaddn=function _iaddn($){this.words[0]+=$;for(var tt=0;tt<this.length&&this.words[tt]>=67108864;tt++)this.words[tt]-=67108864,tt===this.length-1?this.words[tt+1]=1:this.words[tt+1]++;return this.length=Math.max(this.length,tt+1),this},BN.prototype.isubn=function isubn($){if(assert("number"==typeof $),assert($<67108864),$<0)return this.iaddn(-$);if(0!==this.negative)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var tt=0;tt<this.length&&this.words[tt]<0;tt++)this.words[tt]+=67108864,this.words[tt+1]-=1;return this.strip()},BN.prototype.addn=function addn($){return this.clone().iaddn($)},BN.prototype.subn=function subn($){return this.clone().isubn($)},BN.prototype.iabs=function iabs(){return this.negative=0,this},BN.prototype.abs=function abs(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function _ishlnsubmul($,tt,et){var At,nt,it=$.length+et;this._expand(it);var at=0;for(At=0;At<$.length;At++){nt=(0|this.words[At+et])+at;var rt=(0|$.words[At])*tt;at=((nt-=67108863&rt)>>26)-(rt/67108864|0),this.words[At+et]=67108863&nt}for(;At<this.length-et;At++)at=(nt=(0|this.words[At+et])+at)>>26,this.words[At+et]=67108863&nt;if(0===at)return this.strip();for(assert(-1===at),at=0,At=0;At<this.length;At++)at=(nt=-(0|this.words[At])+at)>>26,this.words[At]=67108863&nt;return this.negative=1,this.strip()},BN.prototype._wordDiv=function _wordDiv($,tt){var et=(this.length,$.length),At=this.clone(),nt=$,it=0|nt.words[nt.length-1];0!==(et=26-this._countBits(it))&&(nt=nt.ushln(et),At.iushln(et),it=0|nt.words[nt.length-1]);var at,rt=At.length-nt.length;if("mod"!==tt){(at=new BN(null)).length=rt+1,at.words=new Array(at.length);for(var st=0;st<at.length;st++)at.words[st]=0}var ot=At.clone()._ishlnsubmul(nt,1,rt);0===ot.negative&&(At=ot,at&&(at.words[rt]=1));for(var ut=rt-1;ut>=0;ut--){var ct=67108864*(0|At.words[nt.length+ut])+(0|At.words[nt.length+ut-1]);for(ct=Math.min(ct/it|0,67108863),At._ishlnsubmul(nt,ct,ut);0!==At.negative;)ct--,At.negative=0,At._ishlnsubmul(nt,1,ut),At.isZero()||(At.negative^=1);at&&(at.words[ut]=ct)}return at&&at.strip(),At.strip(),"div"!==tt&&0!==et&&At.iushrn(et),{div:at||null,mod:At}},BN.prototype.divmod=function divmod($,tt,et){return assert(!$.isZero()),this.isZero()?{div:new BN(0),mod:new BN(0)}:0!==this.negative&&0===$.negative?(it=this.neg().divmod($,tt),"mod"!==tt&&(At=it.div.neg()),"div"!==tt&&(nt=it.mod.neg(),et&&0!==nt.negative&&nt.iadd($)),{div:At,mod:nt}):0===this.negative&&0!==$.negative?(it=this.divmod($.neg(),tt),"mod"!==tt&&(At=it.div.neg()),{div:At,mod:it.mod}):0!=(this.negative&$.negative)?(it=this.neg().divmod($.neg(),tt),"div"!==tt&&(nt=it.mod.neg(),et&&0!==nt.negative&&nt.isub($)),{div:it.div,mod:nt}):$.length>this.length||this.cmp($)<0?{div:new BN(0),mod:this}:1===$.length?"div"===tt?{div:this.divn($.words[0]),mod:null}:"mod"===tt?{div:null,mod:new BN(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new BN(this.modn($.words[0]))}:this._wordDiv($,tt);var At,nt,it},BN.prototype.div=function div($){return this.divmod($,"div",!1).div},BN.prototype.mod=function mod($){return this.divmod($,"mod",!1).mod},BN.prototype.umod=function umod($){return this.divmod($,"mod",!0).mod},BN.prototype.divRound=function divRound($){var tt=this.divmod($);if(tt.mod.isZero())return tt.div;var et=0!==tt.div.negative?tt.mod.isub($):tt.mod,At=$.ushrn(1),nt=$.andln(1),it=et.cmp(At);return it<0||1===nt&&0===it?tt.div:0!==tt.div.negative?tt.div.isubn(1):tt.div.iaddn(1)},BN.prototype.modn=function modn($){assert($<=67108863);for(var tt=(1<<26)%$,et=0,At=this.length-1;At>=0;At--)et=(tt*et+(0|this.words[At]))%$;return et},BN.prototype.idivn=function idivn($){assert($<=67108863);for(var tt=0,et=this.length-1;et>=0;et--){var At=(0|this.words[et])+67108864*tt;this.words[et]=At/$|0,tt=At%$}return this.strip()},BN.prototype.divn=function divn($){return this.clone().idivn($)},BN.prototype.egcd=function egcd($){assert(0===$.negative),assert(!$.isZero());var tt=this,et=$.clone();tt=0!==tt.negative?tt.umod($):tt.clone();for(var At=new BN(1),nt=new BN(0),it=new BN(0),at=new BN(1),rt=0;tt.isEven()&&et.isEven();)tt.iushrn(1),et.iushrn(1),++rt;for(var st=et.clone(),ot=tt.clone();!tt.isZero();){for(var ut=0,ct=1;0==(tt.words[0]&ct)&&ut<26;++ut,ct<<=1);if(ut>0)for(tt.iushrn(ut);ut-- >0;)(At.isOdd()||nt.isOdd())&&(At.iadd(st),nt.isub(ot)),At.iushrn(1),nt.iushrn(1);for(var dt=0,It=1;0==(et.words[0]&It)&&dt<26;++dt,It<<=1);if(dt>0)for(et.iushrn(dt);dt-- >0;)(it.isOdd()||at.isOdd())&&(it.iadd(st),at.isub(ot)),it.iushrn(1),at.iushrn(1);tt.cmp(et)>=0?(tt.isub(et),At.isub(it),nt.isub(at)):(et.isub(tt),it.isub(At),at.isub(nt))}return{a:it,b:at,gcd:et.iushln(rt)}},BN.prototype._invmp=function _invmp($){assert(0===$.negative),assert(!$.isZero());var tt=this,et=$.clone();tt=0!==tt.negative?tt.umod($):tt.clone();for(var At,nt=new BN(1),it=new BN(0),at=et.clone();tt.cmpn(1)>0&&et.cmpn(1)>0;){for(var rt=0,st=1;0==(tt.words[0]&st)&&rt<26;++rt,st<<=1);if(rt>0)for(tt.iushrn(rt);rt-- >0;)nt.isOdd()&&nt.iadd(at),nt.iushrn(1);for(var ot=0,ut=1;0==(et.words[0]&ut)&&ot<26;++ot,ut<<=1);if(ot>0)for(et.iushrn(ot);ot-- >0;)it.isOdd()&&it.iadd(at),it.iushrn(1);tt.cmp(et)>=0?(tt.isub(et),nt.isub(it)):(et.isub(tt),it.isub(nt))}return(At=0===tt.cmpn(1)?nt:it).cmpn(0)<0&&At.iadd($),At},BN.prototype.gcd=function gcd($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var tt=this.clone(),et=$.clone();tt.negative=0,et.negative=0;for(var At=0;tt.isEven()&&et.isEven();At++)tt.iushrn(1),et.iushrn(1);for(;;){for(;tt.isEven();)tt.iushrn(1);for(;et.isEven();)et.iushrn(1);var nt=tt.cmp(et);if(nt<0){var it=tt;tt=et,et=it}else if(0===nt||0===et.cmpn(1))break;tt.isub(et)}return et.iushln(At)},BN.prototype.invm=function invm($){return this.egcd($).a.umod($)},BN.prototype.isEven=function isEven(){return 0==(1&this.words[0])},BN.prototype.isOdd=function isOdd(){return 1==(1&this.words[0])},BN.prototype.andln=function andln($){return this.words[0]&$},BN.prototype.bincn=function bincn($){assert("number"==typeof $);var tt=$%26,et=($-tt)/26,At=1<<tt;if(this.length<=et)return this._expand(et+1),this.words[et]|=At,this;for(var nt=At,it=et;0!==nt&&it<this.length;it++){var at=0|this.words[it];nt=(at+=nt)>>>26,at&=67108863,this.words[it]=at}return 0!==nt&&(this.words[it]=nt,this.length++),this},BN.prototype.isZero=function isZero(){return 1===this.length&&0===this.words[0]},BN.prototype.cmpn=function cmpn($){var tt,et=$<0;if(0!==this.negative&&!et)return-1;if(0===this.negative&&et)return 1;if(this.strip(),this.length>1)tt=1;else{et&&($=-$),assert($<=67108863,"Number is too big");var At=0|this.words[0];tt=At===$?0:At<$?-1:1}return 0!==this.negative?0|-tt:tt},BN.prototype.cmp=function cmp($){if(0!==this.negative&&0===$.negative)return-1;if(0===this.negative&&0!==$.negative)return 1;var tt=this.ucmp($);return 0!==this.negative?0|-tt:tt},BN.prototype.ucmp=function ucmp($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var tt=0,et=this.length-1;et>=0;et--){var At=0|this.words[et],nt=0|$.words[et];if(At!==nt){At<nt?tt=-1:At>nt&&(tt=1);break}}return tt},BN.prototype.gtn=function gtn($){return 1===this.cmpn($)},BN.prototype.gt=function gt($){return 1===this.cmp($)},BN.prototype.gten=function gten($){return this.cmpn($)>=0},BN.prototype.gte=function gte($){return this.cmp($)>=0},BN.prototype.ltn=function ltn($){return-1===this.cmpn($)},BN.prototype.lt=function lt($){return-1===this.cmp($)},BN.prototype.lten=function lten($){return this.cmpn($)<=0},BN.prototype.lte=function lte($){return this.cmp($)<=0},BN.prototype.eqn=function eqn($){return 0===this.cmpn($)},BN.prototype.eq=function eq($){return 0===this.cmp($)},BN.red=function red($){return new Red($)},BN.prototype.toRed=function toRed($){return assert(!this.red,"Already a number in reduction context"),assert(0===this.negative,"red works only with positives"),$.convertTo(this)._forceRed($)},BN.prototype.fromRed=function fromRed(){return assert(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},BN.prototype._forceRed=function _forceRed($){return this.red=$,this},BN.prototype.forceRed=function forceRed($){return assert(!this.red,"Already a number in reduction context"),this._forceRed($)},BN.prototype.redAdd=function redAdd($){return assert(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},BN.prototype.redIAdd=function redIAdd($){return assert(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},BN.prototype.redSub=function redSub($){return assert(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},BN.prototype.redISub=function redISub($){return assert(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},BN.prototype.redShl=function redShl($){return assert(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},BN.prototype.redMul=function redMul($){return assert(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},BN.prototype.redIMul=function redIMul($){return assert(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},BN.prototype.redSqr=function redSqr(){return assert(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function redISqr(){return assert(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function redSqrt(){return assert(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function redInvm(){return assert(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function redNeg(){return assert(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function redPow($){return assert(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var st={k256:null,p224:null,p192:null,p25519:null};function MPrime($,tt){this.name=$,this.p=new BN(tt,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function P224(){MPrime.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function P192(){MPrime.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function P25519(){MPrime.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function Red($){if("string"==typeof $){var tt=BN._prime($);this.m=tt.p,this.prime=tt}else assert($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}function Mont($){Red.call(this,$),this.shift=this.m.bitLength(),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)}MPrime.prototype._tmp=function _tmp(){var $=new BN(null);return $.words=new Array(Math.ceil(this.n/13)),$},MPrime.prototype.ireduce=function ireduce($){var tt,et=$;do{this.split(et,this.tmp),tt=(et=(et=this.imulK(et)).iadd(this.tmp)).bitLength()}while(tt>this.n);var At=tt<this.n?-1:et.ucmp(this.p);return 0===At?(et.words[0]=0,et.length=1):At>0?et.isub(this.p):et.strip(),et},MPrime.prototype.split=function split($,tt){$.iushrn(this.n,0,tt)},MPrime.prototype.imulK=function imulK($){return $.imul(this.k)},inherits(K256,MPrime),K256.prototype.split=function split($,tt){for(var et=Math.min($.length,9),At=0;At<et;At++)tt.words[At]=$.words[At];if(tt.length=et,$.length<=9)return $.words[0]=0,void($.length=1);var nt=$.words[9];for(tt.words[tt.length++]=4194303&nt,At=10;At<$.length;At++){var it=0|$.words[At];$.words[At-10]=(4194303&it)<<4|nt>>>22,nt=it}nt>>>=22,$.words[At-10]=nt,0===nt&&$.length>10?$.length-=10:$.length-=9},K256.prototype.imulK=function imulK($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var tt=0,et=0;et<$.length;et++){var At=0|$.words[et];tt+=977*At,$.words[et]=67108863&tt,tt=64*At+(tt/67108864|0)}return 0===$.words[$.length-1]&&($.length--,0===$.words[$.length-1]&&$.length--),$},inherits(P224,MPrime),inherits(P192,MPrime),inherits(P25519,MPrime),P25519.prototype.imulK=function imulK($){for(var tt=0,et=0;et<$.length;et++){var At=19*(0|$.words[et])+tt,nt=67108863&At;At>>>=26,$.words[et]=nt,tt=At}return 0!==tt&&($.words[$.length++]=tt),$},BN._prime=function prime($){if(st[$])return st[$];var prime;if("k256"===$)prime=new K256;else if("p224"===$)prime=new P224;else if("p192"===$)prime=new P192;else{if("p25519"!==$)throw new Error("Unknown prime "+$);prime=new P25519}return st[$]=prime,prime},Red.prototype._verify1=function _verify1($){assert(0===$.negative,"red works only with positives"),assert($.red,"red works only with red numbers")},Red.prototype._verify2=function _verify2($,tt){assert(0==($.negative|tt.negative),"red works only with positives"),assert($.red&&$.red===tt.red,"red works only with red numbers")},Red.prototype.imod=function imod($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},Red.prototype.neg=function neg($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},Red.prototype.add=function add($,tt){this._verify2($,tt);var et=$.add(tt);return et.cmp(this.m)>=0&&et.isub(this.m),et._forceRed(this)},Red.prototype.iadd=function iadd($,tt){this._verify2($,tt);var et=$.iadd(tt);return et.cmp(this.m)>=0&&et.isub(this.m),et},Red.prototype.sub=function sub($,tt){this._verify2($,tt);var et=$.sub(tt);return et.cmpn(0)<0&&et.iadd(this.m),et._forceRed(this)},Red.prototype.isub=function isub($,tt){this._verify2($,tt);var et=$.isub(tt);return et.cmpn(0)<0&&et.iadd(this.m),et},Red.prototype.shl=function shl($,tt){return this._verify1($),this.imod($.ushln(tt))},Red.prototype.imul=function imul($,tt){return this._verify2($,tt),this.imod($.imul(tt))},Red.prototype.mul=function mul($,tt){return this._verify2($,tt),this.imod($.mul(tt))},Red.prototype.isqr=function isqr($){return this.imul($,$.clone())},Red.prototype.sqr=function sqr($){return this.mul($,$)},Red.prototype.sqrt=function sqrt($){if($.isZero())return $.clone();var tt=this.m.andln(3);if(assert(tt%2==1),3===tt){var et=this.m.add(new BN(1)).iushrn(2);return this.pow($,et)}for(var At=this.m.subn(1),nt=0;!At.isZero()&&0===At.andln(1);)nt++,At.iushrn(1);assert(!At.isZero());var it=new BN(1).toRed(this),at=it.redNeg(),rt=this.m.subn(1).iushrn(1),st=this.m.bitLength();for(st=new BN(2*st*st).toRed(this);0!==this.pow(st,rt).cmp(at);)st.redIAdd(at);for(var ot=this.pow(st,At),ut=this.pow($,At.addn(1).iushrn(1)),ct=this.pow($,At),dt=nt;0!==ct.cmp(it);){for(var It=ct,ht=0;0!==It.cmp(it);ht++)It=It.redSqr();assert(ht<dt);var pt=this.pow(ot,new BN(1).iushln(dt-ht-1));ut=ut.redMul(pt),ot=pt.redSqr(),ct=ct.redMul(ot),dt=ht}return ut},Red.prototype.invm=function invm($){var tt=$._invmp(this.m);return 0!==tt.negative?(tt.negative=0,this.imod(tt).redNeg()):this.imod(tt)},Red.prototype.pow=function pow($,tt){if(tt.isZero())return new BN(1).toRed(this);if(0===tt.cmpn(1))return $.clone();var et=new Array(16);et[0]=new BN(1).toRed(this),et[1]=$;for(var At=2;At<et.length;At++)et[At]=this.mul(et[At-1],$);var nt=et[0],it=0,at=0,rt=tt.bitLength()%26;for(0===rt&&(rt=26),At=tt.length-1;At>=0;At--){for(var st=tt.words[At],ot=rt-1;ot>=0;ot--){var ut=st>>ot&1;nt!==et[0]&&(nt=this.sqr(nt)),0!==ut||0!==it?(it<<=1,it|=ut,(4===++at||0===At&&0===ot)&&(nt=this.mul(nt,et[it]),at=0,it=0)):at=0}rt=26}return nt},Red.prototype.convertTo=function convertTo($){var tt=$.umod(this.m);return tt===$?tt.clone():tt},Red.prototype.convertFrom=function convertFrom($){var tt=$.clone();return tt.red=null,tt},BN.mont=function mont($){return new Mont($)},inherits(Mont,Red),Mont.prototype.convertTo=function convertTo($){return this.imod($.ushln(this.shift))},Mont.prototype.convertFrom=function convertFrom($){var tt=this.imod($.mul(this.rinv));return tt.red=null,tt},Mont.prototype.imul=function imul($,tt){if($.isZero()||tt.isZero())return $.words[0]=0,$.length=1,$;var et=$.imul(tt),At=et.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),nt=et.isub(At).iushrn(this.shift),it=nt;return nt.cmp(this.m)>=0?it=nt.isub(this.m):nt.cmpn(0)<0&&(it=nt.iadd(this.m)),it._forceRed(this)},Mont.prototype.mul=function mul($,tt){if($.isZero()||tt.isZero())return new BN(0)._forceRed(this);var et=$.mul(tt),At=et.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),nt=et.isub(At).iushrn(this.shift),it=nt;return nt.cmp(this.m)>=0?it=nt.isub(this.m):nt.cmpn(0)<0&&(it=nt.iadd(this.m)),it._forceRed(this)},Mont.prototype.invm=function invm($){return this.imod($._invmp(this.m).mul(this.r2))._forceRed(this)}}($,this)}).call(this,et(10)($))},,,function($,tt,et){"use strict";var At=et(177),nt=et(164);function isSurrogatePair($,tt){return 55296==(64512&$.charCodeAt(tt))&&(!(tt<0||tt+1>=$.length)&&56320==(64512&$.charCodeAt(tt+1)))}function htonl($){return($>>>24|$>>>8&65280|$<<8&16711680|(255&$)<<24)>>>0}function zero2($){return 1===$.length?"0"+$:$}function zero8($){return 7===$.length?"0"+$:6===$.length?"00"+$:5===$.length?"000"+$:4===$.length?"0000"+$:3===$.length?"00000"+$:2===$.length?"000000"+$:1===$.length?"0000000"+$:$}tt.inherits=nt,tt.toArray=function toArray($,tt){if(Array.isArray($))return $.slice();if(!$)return[];var et=[];if("string"==typeof $)if(tt){if("hex"===tt)for(($=$.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&($="0"+$),nt=0;nt<$.length;nt+=2)et.push(parseInt($[nt]+$[nt+1],16))}else for(var At=0,nt=0;nt<$.length;nt++){var it=$.charCodeAt(nt);it<128?et[At++]=it:it<2048?(et[At++]=it>>6|192,et[At++]=63&it|128):isSurrogatePair($,nt)?(it=65536+((1023&it)<<10)+(1023&$.charCodeAt(++nt)),et[At++]=it>>18|240,et[At++]=it>>12&63|128,et[At++]=it>>6&63|128,et[At++]=63&it|128):(et[At++]=it>>12|224,et[At++]=it>>6&63|128,et[At++]=63&it|128)}else for(nt=0;nt<$.length;nt++)et[nt]=0|$[nt];return et},tt.toHex=function toHex($){for(var tt="",et=0;et<$.length;et++)tt+=zero2($[et].toString(16));return tt},tt.htonl=htonl,tt.toHex32=function toHex32($,tt){for(var et="",At=0;At<$.length;At++){var nt=$[At];"little"===tt&&(nt=htonl(nt)),et+=zero8(nt.toString(16))}return et},tt.zero2=zero2,tt.zero8=zero8,tt.join32=function join32($,tt,et,nt){var it=et-tt;At(it%4==0);for(var at=new Array(it/4),rt=0,st=tt;rt<at.length;rt++,st+=4){var ot;ot="big"===nt?$[st]<<24|$[st+1]<<16|$[st+2]<<8|$[st+3]:$[st+3]<<24|$[st+2]<<16|$[st+1]<<8|$[st],at[rt]=ot>>>0}return at},tt.split32=function split32($,tt){for(var et=new Array(4*$.length),At=0,nt=0;At<$.length;At++,nt+=4){var it=$[At];"big"===tt?(et[nt]=it>>>24,et[nt+1]=it>>>16&255,et[nt+2]=it>>>8&255,et[nt+3]=255&it):(et[nt+3]=it>>>24,et[nt+2]=it>>>16&255,et[nt+1]=it>>>8&255,et[nt]=255&it)}return et},tt.rotr32=function rotr32($,tt){return $>>>tt|$<<32-tt},tt.rotl32=function rotl32($,tt){return $<<tt|$>>>32-tt},tt.sum32=function sum32($,tt){return $+tt>>>0},tt.sum32_3=function sum32_3($,tt,et){return $+tt+et>>>0},tt.sum32_4=function sum32_4($,tt,et,At){return $+tt+et+At>>>0},tt.sum32_5=function sum32_5($,tt,et,At,nt){return $+tt+et+At+nt>>>0},tt.sum64=function sum64($,tt,et,At){var nt=$[tt],it=At+$[tt+1]>>>0,at=(it<At?1:0)+et+nt;$[tt]=at>>>0,$[tt+1]=it},tt.sum64_hi=function sum64_hi($,tt,et,At){return(tt+At>>>0<tt?1:0)+$+et>>>0},tt.sum64_lo=function sum64_lo($,tt,et,At){return tt+At>>>0},tt.sum64_4_hi=function sum64_4_hi($,tt,et,At,nt,it,at,rt){var st=0,ot=tt;return st+=(ot=ot+At>>>0)<tt?1:0,st+=(ot=ot+it>>>0)<it?1:0,$+et+nt+at+(st+=(ot=ot+rt>>>0)<rt?1:0)>>>0},tt.sum64_4_lo=function sum64_4_lo($,tt,et,At,nt,it,at,rt){return tt+At+it+rt>>>0},tt.sum64_5_hi=function sum64_5_hi($,tt,et,At,nt,it,at,rt,st,ot){var ut=0,ct=tt;return ut+=(ct=ct+At>>>0)<tt?1:0,ut+=(ct=ct+it>>>0)<it?1:0,ut+=(ct=ct+rt>>>0)<rt?1:0,$+et+nt+at+st+(ut+=(ct=ct+ot>>>0)<ot?1:0)>>>0},tt.sum64_5_lo=function sum64_5_lo($,tt,et,At,nt,it,at,rt,st,ot){return tt+At+it+rt+ot>>>0},tt.rotr64_hi=function rotr64_hi($,tt,et){return(tt<<32-et|$>>>et)>>>0},tt.rotr64_lo=function rotr64_lo($,tt,et){return($<<32-et|tt>>>et)>>>0},tt.shr64_hi=function shr64_hi($,tt,et){return $>>>et},tt.shr64_lo=function shr64_lo($,tt,et){return($<<32-et|tt>>>et)>>>0}},function($,tt,et){(function(tt,At){void 0===tt&&(tt=et(170).Buffer);const nt=et(269),it=et(355).default,at=et(356),rt=et(228),st={name:"Utils",nullAddress:"0x0000000000000000000000000000000000000000",weiPerEther:new it("1000000000000000000"),ToBigNumber:$=>new it($),WeiToEther:$=>st.ToBigNumber($).div(st.weiPerEther),EtherToWei:$=>st.ToBigNumber($).times(st.weiPerEther),FormatAddress:$=>$&&"string"==typeof $?(($=$.trim()).startsWith("0x")||($="0x"+$),$.toLowerCase()):"",FormatSignature:$=>($=$.replace("0x",""),"ES256K_"+nt.encode(tt.from($,"hex"))),DecodeVersionHash:$=>{if(!$.startsWith("hq__")&&!$.startsWith("tq__"))throw new Error(`Invalid version hash: "${$}"`);$=$.slice(4);let et=st.FromB58($);const At=et.slice(0,32),nt=At.toString("hex");et=et.slice(32);let it=0;for(;et[it]>=128;)it++;it++;const rt=et.slice(0,it),ot=at.decode(rt);return et=et.slice(it),{digest:nt,size:ot,objectId:"iq__"+st.B58(et),partHash:"hqp_"+st.B58(tt.concat([At,rt]))}},AddressToHash:$=>($=$.replace("0x",""),nt.encode(tt.from($,"hex"))),AddressToSpaceId:$=>"ispc"+st.AddressToHash($),AddressToLibraryId:$=>"ilib"+st.AddressToHash($),AddressToObjectId:$=>"iq__"+st.AddressToHash($),HashToAddress:$=>($=$.substr(4),st.FormatAddress("0x"+nt.decode($).toString("hex"))),EqualAddress:($,tt)=>!(!$||!tt)&&st.FormatAddress($)===st.FormatAddress(tt),EqualHash:($,tt)=>!(!$||!tt)&&(!($.length<=4||tt.length<=4)&&st.HashToAddress($)===st.HashToAddress(tt)),ToBytes32:$=>"0x"+$.split("").map($=>$.charCodeAt(0).toString(16)).join("").slice(0,64).padEnd(64,"0"),BufferToArrayBuffer:$=>$.buffer.slice($.byteOffset,$.byteOffset+$.byteLength),B64:$=>tt.from($,"utf-8").toString("base64"),FromB64:$=>tt.from($,"base64").toString("utf-8"),B58:$=>nt.encode(tt.from($)),FromB58:$=>nt.decode($),DecodeAuthorizationToken:$=>{$=decodeURIComponent($);let[tt,et]=$.split(".");return tt=JSON.parse(st.FromB64(tt)),{...tt,signature:et}},LimitedMap:async($,tt,et)=>{let At=0,nt=!1;const nextIndex=async()=>{for(;nt;)await new Promise($=>setTimeout($,10));nt=!0;const $=At;return At+=1,nt=!1,$};let it=[],at=0;return new Promise((At,nt)=>{[...Array($||1)].forEach(async()=>{at+=1;let $=await nextIndex();for(;$<tt.length;){try{it[$]=await et(tt[$],$)}catch($){nt($)}$=await nextIndex()}at-=1,0===at&&At(it)})})},ResponseToJson:async $=>st.ResponseToFormat("json",$),ResponseToFormat:async($,tt)=>{switch(tt=await tt,$.toLowerCase()){case"json":return await tt.json();case"text":return await tt.text();case"blob":return await tt.blob();case"arraybuffer":return await tt.arrayBuffer();case"formdata":return await tt.formData();case"buffer":return await tt.buffer();default:return tt}},ResizeImage:({imageUrl:$,height:tt})=>!$||$&&!$.startsWith("http")?$:($=rt($).removeSearch("height").removeSearch("header-x_image_height"),tt&&!isNaN(parseInt(tt))&&$.addSearch("height",parseInt(tt)),$.toString()),SafeTraverse($,...tt){if(!$)return $;1===tt.length&&Array.isArray(tt[0])&&(tt=tt[0]);let et=$;for(let $=0;$<tt.length;$++)if(et=et[tt[$]],void 0===et)return;return et},IsCloneable:$=>{if(Object($)!==$)return!0;switch({}.toString.call($).slice(8,-1)){case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return!0;case"Array":case"Object":return Object.keys($).every(tt=>st.IsCloneable($[tt]));case"Map":return[...$.keys()].every(st.IsCloneable)&&[...$.values()].every(st.IsCloneable);case"Set":return[...$.keys()].every(st.IsCloneable);default:return!1}},MakeClonable:$=>{if(st.IsCloneable($))return $;if(tt.isBuffer($))return st.BufferToArrayBuffer($);switch({}.toString.call($).slice(8,-1)){case"Response":case"Function":return;case"Boolean":case"Number":case"String":case"Date":case"RegExp":case"Blob":case"FileList":case"ImageData":case"ImageBitmap":case"ArrayBuffer":return $;case"Array":return $.map($=>st.MakeClonable($));case"Set":return new Set(Array.from($.keys()).map($=>st.MakeClonable($)));case"Map":let tt=new Map;return Array.from($.keys()).forEach(et=>{const At=st.MakeClonable($.get(et));At&&tt.set(et,At)}),tt;case"Error":return $.message;case"Object":let et={};return Object.keys($).map(tt=>{const At=st.MakeClonable($[tt]);At&&(et[tt]=At)}),et;default:return JSON.parse(JSON.stringify($))}},PLATFORM_NODE:"node",PLATFORM_WEB:"web",PLATFORM_REACT_NATIVE:"react-native",Platform:()=>"undefined"!=typeof navigator&&"ReactNative"===navigator.product?st.PLATFORM_REACT_NATIVE:void 0!==At&&void 0!==At.versions&&void 0!==At.versions.node?st.PLATFORM_NODE:st.PLATFORM_WEB};$.exports=st}).call(this,et(170).Buffer,et(172))},function($,tt,et){var At,nt,it;it=function(){function normalize($){var tt=[];if(0===$.length)return"";if("string"!=typeof $[0])throw new TypeError("Url must be a string. Received "+$[0]);if($[0].match(/^[^/:]+:\/*$/)&&$.length>1){var et=$.shift();$[0]=et+$[0]}$[0].match(/^file:\/\/\//)?$[0]=$[0].replace(/^([^/:]+):\/*/,"$1:///"):$[0]=$[0].replace(/^([^/:]+):\/*/,"$1://");for(var At=0;At<$.length;At++){var nt=$[At];if("string"!=typeof nt)throw new TypeError("Url must be a string. Received "+nt);""!==nt&&(At>0&&(nt=nt.replace(/^[\/]+/,"")),nt=At<$.length-1?nt.replace(/[\/]+$/,""):nt.replace(/[\/]+$/,"/"),tt.push(nt))}var it=tt.join("/"),at=(it=it.replace(/\/(\?|&|#[^!])/g,"$1")).split("?");return it=at.shift()+(at.length>0?"?":"")+at.join("&")}return function(){return normalize("object"==typeof arguments[0]?arguments[0]:[].slice.call(arguments))}},$.exports?$.exports=it():void 0===(nt="function"==typeof(At=it)?At.call(tt,et,tt,$):At)||($.exports=nt)},function($,tt,et){const At=et(183);tt.ValidatePresence=($,tt)=>{if(!tt)throw Error(`${$} not specified`)},tt.ValidateLibrary=$=>{if(!$)throw Error("Library ID not specified");if(!$.toString().startsWith("i"))throw Error(`Invalid library ID: ${$}`)},tt.ValidateObject=$=>{if(!$)throw Error("Object ID not specified");if(!$.toString().startsWith("i"))throw Error(`Invalid object ID: ${$}`)},tt.ValidateVersion=$=>{if(!$)throw Error("Version hash not specified");if(!$.toString().startsWith("h"))throw Error(`Invalid version hash: ${$}`)},tt.ValidateWriteToken=$=>{if(!$)throw Error("Write token not specified");if(!$.toString().startsWith("t"))throw Error(`Invalid write token: ${$}`)},tt.ValidatePartHash=$=>{if(!$)throw Error("Part hash not specified");if(!$.toString().startsWith("hqp_")&&!$.toString().startsWith("hqpe"))throw Error(`Invalid part hash: ${$}`)},tt.ValidateParameters=({libraryId:$,objectId:et,versionHash:At})=>{At?tt.ValidateVersion(At):(tt.ValidateLibrary($),tt.ValidateObject(et))},tt.ValidateAddress=$=>{if(!$)throw Error("Address not specified");if(!/^(0x)?[0-9a-f]{40}$/i.test($.toLowerCase()))throw Error(`Invalid address: ${$}`);return At.FormatAddress($)},tt.ValidatePermission=$=>{if($&&"full-access"!==$&&"no-access"!==$)throw Error(`Invalid profile permission: ${$}`);return $},tt.ValidateDate=$=>{if($){if(isNaN(new Date($)))throw Error(`Invalid date: ${$}`);return new Date($).getTime()}}},function($,tt,et){(function($){!function($,tt){"use strict";function assert($,tt){if(!$)throw new Error(tt||"Assertion failed")}function inherits($,tt){$.super_=tt;var TempCtor=function(){};TempCtor.prototype=tt.prototype,$.prototype=new TempCtor,$.prototype.constructor=$}function BN($,tt,et){if(BN.isBN($))return $;this.negative=0,this.words=null,this.length=0,this.red=null,null!==$&&("le"!==tt&&"be"!==tt||(et=tt,tt=10),this._init($||0,tt||10,et||"be"))}var At;"object"==typeof $?$.exports=BN:tt.BN=BN,BN.BN=BN,BN.wordSize=26;try{At="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:et(419).Buffer}catch($){}function parseHex4Bits($,tt){var et=$.charCodeAt(tt);return et>=65&&et<=70?et-55:et>=97&&et<=102?et-87:et-48&15}function parseHexByte($,tt,et){var At=parseHex4Bits($,et);return et-1>=tt&&(At|=parseHex4Bits($,et-1)<<4),At}function parseBase($,tt,et,At){for(var nt=0,it=Math.min($.length,et),at=tt;at<it;at++){var rt=$.charCodeAt(at)-48;nt*=At,nt+=rt>=49?rt-49+10:rt>=17?rt-17+10:rt}return nt}BN.isBN=function isBN($){return $ instanceof BN||null!==$&&"object"==typeof $&&$.constructor.wordSize===BN.wordSize&&Array.isArray($.words)},BN.max=function max($,tt){return $.cmp(tt)>0?$:tt},BN.min=function min($,tt){return $.cmp(tt)<0?$:tt},BN.prototype._init=function init($,tt,et){if("number"==typeof $)return this._initNumber($,tt,et);if("object"==typeof $)return this._initArray($,tt,et);"hex"===tt&&(tt=16),assert(tt===(0|tt)&&tt>=2&&tt<=36);var At=0;"-"===($=$.toString().replace(/\s+/g,""))[0]&&(At++,this.negative=1),At<$.length&&(16===tt?this._parseHex($,At,et):(this._parseBase($,tt,At),"le"===et&&this._initArray(this.toArray(),tt,et)))},BN.prototype._initNumber=function _initNumber($,tt,et){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[67108863&$],this.length=1):$<4503599627370496?(this.words=[67108863&$,$/67108864&67108863],this.length=2):(assert($<9007199254740992),this.words=[67108863&$,$/67108864&67108863,1],this.length=3),"le"===et&&this._initArray(this.toArray(),tt,et)},BN.prototype._initArray=function _initArray($,tt,et){if(assert("number"==typeof $.length),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var At=0;At<this.length;At++)this.words[At]=0;var nt,it,at=0;if("be"===et)for(At=$.length-1,nt=0;At>=0;At-=3)it=$[At]|$[At-1]<<8|$[At-2]<<16,this.words[nt]|=it<<at&67108863,this.words[nt+1]=it>>>26-at&67108863,(at+=24)>=26&&(at-=26,nt++);else if("le"===et)for(At=0,nt=0;At<$.length;At+=3)it=$[At]|$[At+1]<<8|$[At+2]<<16,this.words[nt]|=it<<at&67108863,this.words[nt+1]=it>>>26-at&67108863,(at+=24)>=26&&(at-=26,nt++);return this.strip()},BN.prototype._parseHex=function _parseHex($,tt,et){this.length=Math.ceil(($.length-tt)/6),this.words=new Array(this.length);for(var At=0;At<this.length;At++)this.words[At]=0;var nt,it=0,at=0;if("be"===et)for(At=$.length-1;At>=tt;At-=2)nt=parseHexByte($,tt,At)<<it,this.words[at]|=67108863&nt,it>=18?(it-=18,at+=1,this.words[at]|=nt>>>26):it+=8;else for(At=($.length-tt)%2==0?tt+1:tt;At<$.length;At+=2)nt=parseHexByte($,tt,At)<<it,this.words[at]|=67108863&nt,it>=18?(it-=18,at+=1,this.words[at]|=nt>>>26):it+=8;this.strip()},BN.prototype._parseBase=function _parseBase($,tt,et){this.words=[0],this.length=1;for(var At=0,nt=1;nt<=67108863;nt*=tt)At++;At--,nt=nt/tt|0;for(var it=$.length-et,at=it%At,rt=Math.min(it,it-at)+et,st=0,ot=et;ot<rt;ot+=At)st=parseBase($,ot,ot+At,tt),this.imuln(nt),this.words[0]+st<67108864?this.words[0]+=st:this._iaddn(st);if(0!==at){var ut=1;for(st=parseBase($,ot,$.length,tt),ot=0;ot<at;ot++)ut*=tt;this.imuln(ut),this.words[0]+st<67108864?this.words[0]+=st:this._iaddn(st)}this.strip()},BN.prototype.copy=function copy($){$.words=new Array(this.length);for(var tt=0;tt<this.length;tt++)$.words[tt]=this.words[tt];$.length=this.length,$.negative=this.negative,$.red=this.red},BN.prototype.clone=function clone(){var $=new BN(null);return this.copy($),$},BN.prototype._expand=function _expand($){for(;this.length<$;)this.words[this.length++]=0;return this},BN.prototype.strip=function strip(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},BN.prototype._normSign=function _normSign(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},BN.prototype.inspect=function inspect(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var nt=["","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"],it=[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],at=[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 smallMulTo($,tt,et){et.negative=tt.negative^$.negative;var At=$.length+tt.length|0;et.length=At,At=At-1|0;var nt=0|$.words[0],it=0|tt.words[0],at=nt*it,rt=67108863&at,st=at/67108864|0;et.words[0]=rt;for(var ot=1;ot<At;ot++){for(var ut=st>>>26,ct=67108863&st,dt=Math.min(ot,tt.length-1),It=Math.max(0,ot-$.length+1);It<=dt;It++){var ht=ot-It|0;ut+=(at=(nt=0|$.words[ht])*(it=0|tt.words[It])+ct)/67108864|0,ct=67108863&at}et.words[ot]=0|ct,st=0|ut}return 0!==st?et.words[ot]=0|st:et.length--,et.strip()}BN.prototype.toString=function toString($,tt){var et;if(tt=0|tt||1,16===($=$||10)||"hex"===$){et="";for(var At=0,rt=0,st=0;st<this.length;st++){var ot=this.words[st],ut=(16777215&(ot<<At|rt)).toString(16);et=0!==(rt=ot>>>24-At&16777215)||st!==this.length-1?nt[6-ut.length]+ut+et:ut+et,(At+=2)>=26&&(At-=26,st--)}for(0!==rt&&(et=rt.toString(16)+et);et.length%tt!=0;)et="0"+et;return 0!==this.negative&&(et="-"+et),et}if($===(0|$)&&$>=2&&$<=36){var ct=it[$],dt=at[$];et="";var It=this.clone();for(It.negative=0;!It.isZero();){var ht=It.modn(dt).toString($);et=(It=It.idivn(dt)).isZero()?ht+et:nt[ct-ht.length]+ht+et}for(this.isZero()&&(et="0"+et);et.length%tt!=0;)et="0"+et;return 0!==this.negative&&(et="-"+et),et}assert(!1,"Base should be between 2 and 36")},BN.prototype.toNumber=function toNumber(){var $=this.words[0];return 2===this.length?$+=67108864*this.words[1]:3===this.length&&1===this.words[2]?$+=4503599627370496+67108864*this.words[1]:this.length>2&&assert(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-$:$},BN.prototype.toJSON=function toJSON(){return this.toString(16)},BN.prototype.toBuffer=function toBuffer($,tt){return assert(void 0!==At),this.toArrayLike(At,$,tt)},BN.prototype.toArray=function toArray($,tt){return this.toArrayLike(Array,$,tt)},BN.prototype.toArrayLike=function toArrayLike($,tt,et){var At=this.byteLength(),nt=et||Math.max(1,At);assert(At<=nt,"byte array longer than desired length"),assert(nt>0,"Requested array length <= 0"),this.strip();var it,at,rt="le"===tt,st=new $(nt),ot=this.clone();if(rt){for(at=0;!ot.isZero();at++)it=ot.andln(255),ot.iushrn(8),st[at]=it;for(;at<nt;at++)st[at]=0}else{for(at=0;at<nt-At;at++)st[at]=0;for(at=0;!ot.isZero();at++)it=ot.andln(255),ot.iushrn(8),st[nt-at-1]=it}return st},Math.clz32?BN.prototype._countBits=function _countBits($){return 32-Math.clz32($)}:BN.prototype._countBits=function _countBits($){var tt=$,et=0;return tt>=4096&&(et+=13,tt>>>=13),tt>=64&&(et+=7,tt>>>=7),tt>=8&&(et+=4,tt>>>=4),tt>=2&&(et+=2,tt>>>=2),et+tt},BN.prototype._zeroBits=function _zeroBits($){if(0===$)return 26;var tt=$,et=0;return 0==(8191&tt)&&(et+=13,tt>>>=13),0==(127&tt)&&(et+=7,tt>>>=7),0==(15&tt)&&(et+=4,tt>>>=4),0==(3&tt)&&(et+=2,tt>>>=2),0==(1&tt)&&et++,et},BN.prototype.bitLength=function bitLength(){var $=this.words[this.length-1],tt=this._countBits($);return 26*(this.length-1)+tt},BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;for(var $=0,tt=0;tt<this.length;tt++){var et=this._zeroBits(this.words[tt]);if($+=et,26!==et)break}return $},BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)},BN.prototype.toTwos=function toTwos($){return 0!==this.negative?this.abs().inotn($).iaddn(1):this.clone()},BN.prototype.fromTwos=function fromTwos($){return this.testn($-1)?this.notn($).iaddn(1).ineg():this.clone()},BN.prototype.isNeg=function isNeg(){return 0!==this.negative},BN.prototype.neg=function neg(){return this.clone().ineg()},BN.prototype.ineg=function ineg(){return this.isZero()||(this.negative^=1),this},BN.prototype.iuor=function iuor($){for(;this.length<$.length;)this.words[this.length++]=0;for(var tt=0;tt<$.length;tt++)this.words[tt]=this.words[tt]|$.words[tt];return this.strip()},BN.prototype.ior=function ior($){return assert(0==(this.negative|$.negative)),this.iuor($)},BN.prototype.or=function or($){return this.length>$.length?this.clone().ior($):$.clone().ior(this)},BN.prototype.uor=function uor($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},BN.prototype.iuand=function iuand($){var tt;tt=this.length>$.length?$:this;for(var et=0;et<tt.length;et++)this.words[et]=this.words[et]&$.words[et];return this.length=tt.length,this.strip()},BN.prototype.iand=function iand($){return assert(0==(this.negative|$.negative)),this.iuand($)},BN.prototype.and=function and($){return this.length>$.length?this.clone().iand($):$.clone().iand(this)},BN.prototype.uand=function uand($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},BN.prototype.iuxor=function iuxor($){var tt,et;this.length>$.length?(tt=this,et=$):(tt=$,et=this);for(var At=0;At<et.length;At++)this.words[At]=tt.words[At]^et.words[At];if(this!==tt)for(;At<tt.length;At++)this.words[At]=tt.words[At];return this.length=tt.length,this.strip()},BN.prototype.ixor=function ixor($){return assert(0==(this.negative|$.negative)),this.iuxor($)},BN.prototype.xor=function xor($){return this.length>$.length?this.clone().ixor($):$.clone().ixor(this)},BN.prototype.uxor=function uxor($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},BN.prototype.inotn=function inotn($){assert("number"==typeof $&&$>=0);var tt=0|Math.ceil($/26),et=$%26;this._expand(tt),et>0&&tt--;for(var At=0;At<tt;At++)this.words[At]=67108863&~this.words[At];return et>0&&(this.words[At]=~this.words[At]&67108863>>26-et),this.strip()},BN.prototype.notn=function notn($){return this.clone().inotn($)},BN.prototype.setn=function setn($,tt){assert("number"==typeof $&&$>=0);var et=$/26|0,At=$%26;return this._expand(et+1),this.words[et]=tt?this.words[et]|1<<At:this.words[et]&~(1<<At),this.strip()},BN.prototype.iadd=function iadd($){var tt,et,At;if(0!==this.negative&&0===$.negative)return this.negative=0,tt=this.isub($),this.negative^=1,this._normSign();if(0===this.negative&&0!==$.negative)return $.negative=0,tt=this.isub($),$.negative=1,tt._normSign();this.length>$.length?(et=this,At=$):(et=$,At=this);for(var nt=0,it=0;it<At.length;it++)tt=(0|et.words[it])+(0|At.words[it])+nt,this.words[it]=67108863&tt,nt=tt>>>26;for(;0!==nt&&it<et.length;it++)tt=(0|et.words[it])+nt,this.words[it]=67108863&tt,nt=tt>>>26;if(this.length=et.length,0!==nt)this.words[this.length]=nt,this.length++;else if(et!==this)for(;it<et.length;it++)this.words[it]=et.words[it];return this},BN.prototype.add=function add($){var tt;return 0!==$.negative&&0===this.negative?($.negative=0,tt=this.sub($),$.negative^=1,tt):0===$.negative&&0!==this.negative?(this.negative=0,tt=$.sub(this),this.negative=1,tt):this.length>$.length?this.clone().iadd($):$.clone().iadd(this)},BN.prototype.isub=function isub($){if(0!==$.negative){$.negative=0;var tt=this.iadd($);return $.negative=1,tt._normSign()}if(0!==this.negative)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var et,At,nt=this.cmp($);if(0===nt)return this.negative=0,this.length=1,this.words[0]=0,this;nt>0?(et=this,At=$):(et=$,At=this);for(var it=0,at=0;at<At.length;at++)it=(tt=(0|et.words[at])-(0|At.words[at])+it)>>26,this.words[at]=67108863&tt;for(;0!==it&&at<et.length;at++)it=(tt=(0|et.words[at])+it)>>26,this.words[at]=67108863&tt;if(0===it&&at<et.length&&et!==this)for(;at<et.length;at++)this.words[at]=et.words[at];return this.length=Math.max(this.length,at),et!==this&&(this.negative=1),this.strip()},BN.prototype.sub=function sub($){return this.clone().isub($)};var rt=function comb10MulTo($,tt,et){var At,nt,it,at=$.words,rt=tt.words,st=et.words,ot=0,ut=0|at[0],ct=8191&ut,dt=ut>>>13,It=0|at[1],ht=8191&It,pt=It>>>13,yt=0|at[2],Ct=8191&yt,Bt=yt>>>13,Et=0|at[3],mt=8191&Et,Qt=Et>>>13,bt=0|at[4],wt=8191&bt,vt=bt>>>13,Mt=0|at[5],Dt=8191&Mt,St=Mt>>>13,kt=0|at[6],_t=8191&kt,Rt=kt>>>13,Nt=0|at[7],Ht=8191&Nt,Ft=Nt>>>13,Gt=0|at[8],Ut=8191&Gt,xt=Gt>>>13,Lt=0|at[9],Tt=8191&Lt,Yt=Lt>>>13,Ot=0|rt[0],Kt=8191&Ot,Pt=Ot>>>13,qt=0|rt[1],jt=8191&qt,Jt=qt>>>13,zt=0|rt[2],Zt=8191&zt,Vt=zt>>>13,Wt=0|rt[3],Xt=8191&Wt,$t=Wt>>>13,ee=0|rt[4],Ae=8191&ee,ne=ee>>>13,ae=0|rt[5],se=8191&ae,ue=ae>>>13,ce=0|rt[6],ge=8191&ce,de=ce>>>13,Ie=0|rt[7],he=8191&Ie,pe=Ie>>>13,le=0|rt[8],fe=8191&le,ye=le>>>13,Ce=0|rt[9],Be=8191&Ce,Ee=Ce>>>13;et.negative=$.negative^tt.negative,et.length=19;var me=(ot+(At=Math.imul(ct,Kt))|0)+((8191&(nt=(nt=Math.imul(ct,Pt))+Math.imul(dt,Kt)|0))<<13)|0;ot=((it=Math.imul(dt,Pt))+(nt>>>13)|0)+(me>>>26)|0,me&=67108863,At=Math.imul(ht,Kt),nt=(nt=Math.imul(ht,Pt))+Math.imul(pt,Kt)|0,it=Math.imul(pt,Pt);var Qe=(ot+(At=At+Math.imul(ct,jt)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,Jt)|0)+Math.imul(dt,jt)|0))<<13)|0;ot=((it=it+Math.imul(dt,Jt)|0)+(nt>>>13)|0)+(Qe>>>26)|0,Qe&=67108863,At=Math.imul(Ct,Kt),nt=(nt=Math.imul(Ct,Pt))+Math.imul(Bt,Kt)|0,it=Math.imul(Bt,Pt),At=At+Math.imul(ht,jt)|0,nt=(nt=nt+Math.imul(ht,Jt)|0)+Math.imul(pt,jt)|0,it=it+Math.imul(pt,Jt)|0;var be=(ot+(At=At+Math.imul(ct,Zt)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,Vt)|0)+Math.imul(dt,Zt)|0))<<13)|0;ot=((it=it+Math.imul(dt,Vt)|0)+(nt>>>13)|0)+(be>>>26)|0,be&=67108863,At=Math.imul(mt,Kt),nt=(nt=Math.imul(mt,Pt))+Math.imul(Qt,Kt)|0,it=Math.imul(Qt,Pt),At=At+Math.imul(Ct,jt)|0,nt=(nt=nt+Math.imul(Ct,Jt)|0)+Math.imul(Bt,jt)|0,it=it+Math.imul(Bt,Jt)|0,At=At+Math.imul(ht,Zt)|0,nt=(nt=nt+Math.imul(ht,Vt)|0)+Math.imul(pt,Zt)|0,it=it+Math.imul(pt,Vt)|0;var we=(ot+(At=At+Math.imul(ct,Xt)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,$t)|0)+Math.imul(dt,Xt)|0))<<13)|0;ot=((it=it+Math.imul(dt,$t)|0)+(nt>>>13)|0)+(we>>>26)|0,we&=67108863,At=Math.imul(wt,Kt),nt=(nt=Math.imul(wt,Pt))+Math.imul(vt,Kt)|0,it=Math.imul(vt,Pt),At=At+Math.imul(mt,jt)|0,nt=(nt=nt+Math.imul(mt,Jt)|0)+Math.imul(Qt,jt)|0,it=it+Math.imul(Qt,Jt)|0,At=At+Math.imul(Ct,Zt)|0,nt=(nt=nt+Math.imul(Ct,Vt)|0)+Math.imul(Bt,Zt)|0,it=it+Math.imul(Bt,Vt)|0,At=At+Math.imul(ht,Xt)|0,nt=(nt=nt+Math.imul(ht,$t)|0)+Math.imul(pt,Xt)|0,it=it+Math.imul(pt,$t)|0;var ve=(ot+(At=At+Math.imul(ct,Ae)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,ne)|0)+Math.imul(dt,Ae)|0))<<13)|0;ot=((it=it+Math.imul(dt,ne)|0)+(nt>>>13)|0)+(ve>>>26)|0,ve&=67108863,At=Math.imul(Dt,Kt),nt=(nt=Math.imul(Dt,Pt))+Math.imul(St,Kt)|0,it=Math.imul(St,Pt),At=At+Math.imul(wt,jt)|0,nt=(nt=nt+Math.imul(wt,Jt)|0)+Math.imul(vt,jt)|0,it=it+Math.imul(vt,Jt)|0,At=At+Math.imul(mt,Zt)|0,nt=(nt=nt+Math.imul(mt,Vt)|0)+Math.imul(Qt,Zt)|0,it=it+Math.imul(Qt,Vt)|0,At=At+Math.imul(Ct,Xt)|0,nt=(nt=nt+Math.imul(Ct,$t)|0)+Math.imul(Bt,Xt)|0,it=it+Math.imul(Bt,$t)|0,At=At+Math.imul(ht,Ae)|0,nt=(nt=nt+Math.imul(ht,ne)|0)+Math.imul(pt,Ae)|0,it=it+Math.imul(pt,ne)|0;var Me=(ot+(At=At+Math.imul(ct,se)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,ue)|0)+Math.imul(dt,se)|0))<<13)|0;ot=((it=it+Math.imul(dt,ue)|0)+(nt>>>13)|0)+(Me>>>26)|0,Me&=67108863,At=Math.imul(_t,Kt),nt=(nt=Math.imul(_t,Pt))+Math.imul(Rt,Kt)|0,it=Math.imul(Rt,Pt),At=At+Math.imul(Dt,jt)|0,nt=(nt=nt+Math.imul(Dt,Jt)|0)+Math.imul(St,jt)|0,it=it+Math.imul(St,Jt)|0,At=At+Math.imul(wt,Zt)|0,nt=(nt=nt+Math.imul(wt,Vt)|0)+Math.imul(vt,Zt)|0,it=it+Math.imul(vt,Vt)|0,At=At+Math.imul(mt,Xt)|0,nt=(nt=nt+Math.imul(mt,$t)|0)+Math.imul(Qt,Xt)|0,it=it+Math.imul(Qt,$t)|0,At=At+Math.imul(Ct,Ae)|0,nt=(nt=nt+Math.imul(Ct,ne)|0)+Math.imul(Bt,Ae)|0,it=it+Math.imul(Bt,ne)|0,At=At+Math.imul(ht,se)|0,nt=(nt=nt+Math.imul(ht,ue)|0)+Math.imul(pt,se)|0,it=it+Math.imul(pt,ue)|0;var De=(ot+(At=At+Math.imul(ct,ge)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,de)|0)+Math.imul(dt,ge)|0))<<13)|0;ot=((it=it+Math.imul(dt,de)|0)+(nt>>>13)|0)+(De>>>26)|0,De&=67108863,At=Math.imul(Ht,Kt),nt=(nt=Math.imul(Ht,Pt))+Math.imul(Ft,Kt)|0,it=Math.imul(Ft,Pt),At=At+Math.imul(_t,jt)|0,nt=(nt=nt+Math.imul(_t,Jt)|0)+Math.imul(Rt,jt)|0,it=it+Math.imul(Rt,Jt)|0,At=At+Math.imul(Dt,Zt)|0,nt=(nt=nt+Math.imul(Dt,Vt)|0)+Math.imul(St,Zt)|0,it=it+Math.imul(St,Vt)|0,At=At+Math.imul(wt,Xt)|0,nt=(nt=nt+Math.imul(wt,$t)|0)+Math.imul(vt,Xt)|0,it=it+Math.imul(vt,$t)|0,At=At+Math.imul(mt,Ae)|0,nt=(nt=nt+Math.imul(mt,ne)|0)+Math.imul(Qt,Ae)|0,it=it+Math.imul(Qt,ne)|0,At=At+Math.imul(Ct,se)|0,nt=(nt=nt+Math.imul(Ct,ue)|0)+Math.imul(Bt,se)|0,it=it+Math.imul(Bt,ue)|0,At=At+Math.imul(ht,ge)|0,nt=(nt=nt+Math.imul(ht,de)|0)+Math.imul(pt,ge)|0,it=it+Math.imul(pt,de)|0;var Se=(ot+(At=At+Math.imul(ct,he)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,pe)|0)+Math.imul(dt,he)|0))<<13)|0;ot=((it=it+Math.imul(dt,pe)|0)+(nt>>>13)|0)+(Se>>>26)|0,Se&=67108863,At=Math.imul(Ut,Kt),nt=(nt=Math.imul(Ut,Pt))+Math.imul(xt,Kt)|0,it=Math.imul(xt,Pt),At=At+Math.imul(Ht,jt)|0,nt=(nt=nt+Math.imul(Ht,Jt)|0)+Math.imul(Ft,jt)|0,it=it+Math.imul(Ft,Jt)|0,At=At+Math.imul(_t,Zt)|0,nt=(nt=nt+Math.imul(_t,Vt)|0)+Math.imul(Rt,Zt)|0,it=it+Math.imul(Rt,Vt)|0,At=At+Math.imul(Dt,Xt)|0,nt=(nt=nt+Math.imul(Dt,$t)|0)+Math.imul(St,Xt)|0,it=it+Math.imul(St,$t)|0,At=At+Math.imul(wt,Ae)|0,nt=(nt=nt+Math.imul(wt,ne)|0)+Math.imul(vt,Ae)|0,it=it+Math.imul(vt,ne)|0,At=At+Math.imul(mt,se)|0,nt=(nt=nt+Math.imul(mt,ue)|0)+Math.imul(Qt,se)|0,it=it+Math.imul(Qt,ue)|0,At=At+Math.imul(Ct,ge)|0,nt=(nt=nt+Math.imul(Ct,de)|0)+Math.imul(Bt,ge)|0,it=it+Math.imul(Bt,de)|0,At=At+Math.imul(ht,he)|0,nt=(nt=nt+Math.imul(ht,pe)|0)+Math.imul(pt,he)|0,it=it+Math.imul(pt,pe)|0;var ke=(ot+(At=At+Math.imul(ct,fe)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,ye)|0)+Math.imul(dt,fe)|0))<<13)|0;ot=((it=it+Math.imul(dt,ye)|0)+(nt>>>13)|0)+(ke>>>26)|0,ke&=67108863,At=Math.imul(Tt,Kt),nt=(nt=Math.imul(Tt,Pt))+Math.imul(Yt,Kt)|0,it=Math.imul(Yt,Pt),At=At+Math.imul(Ut,jt)|0,nt=(nt=nt+Math.imul(Ut,Jt)|0)+Math.imul(xt,jt)|0,it=it+Math.imul(xt,Jt)|0,At=At+Math.imul(Ht,Zt)|0,nt=(nt=nt+Math.imul(Ht,Vt)|0)+Math.imul(Ft,Zt)|0,it=it+Math.imul(Ft,Vt)|0,At=At+Math.imul(_t,Xt)|0,nt=(nt=nt+Math.imul(_t,$t)|0)+Math.imul(Rt,Xt)|0,it=it+Math.imul(Rt,$t)|0,At=At+Math.imul(Dt,Ae)|0,nt=(nt=nt+Math.imul(Dt,ne)|0)+Math.imul(St,Ae)|0,it=it+Math.imul(St,ne)|0,At=At+Math.imul(wt,se)|0,nt=(nt=nt+Math.imul(wt,ue)|0)+Math.imul(vt,se)|0,it=it+Math.imul(vt,ue)|0,At=At+Math.imul(mt,ge)|0,nt=(nt=nt+Math.imul(mt,de)|0)+Math.imul(Qt,ge)|0,it=it+Math.imul(Qt,de)|0,At=At+Math.imul(Ct,he)|0,nt=(nt=nt+Math.imul(Ct,pe)|0)+Math.imul(Bt,he)|0,it=it+Math.imul(Bt,pe)|0,At=At+Math.imul(ht,fe)|0,nt=(nt=nt+Math.imul(ht,ye)|0)+Math.imul(pt,fe)|0,it=it+Math.imul(pt,ye)|0;var _e=(ot+(At=At+Math.imul(ct,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ct,Ee)|0)+Math.imul(dt,Be)|0))<<13)|0;ot=((it=it+Math.imul(dt,Ee)|0)+(nt>>>13)|0)+(_e>>>26)|0,_e&=67108863,At=Math.imul(Tt,jt),nt=(nt=Math.imul(Tt,Jt))+Math.imul(Yt,jt)|0,it=Math.imul(Yt,Jt),At=At+Math.imul(Ut,Zt)|0,nt=(nt=nt+Math.imul(Ut,Vt)|0)+Math.imul(xt,Zt)|0,it=it+Math.imul(xt,Vt)|0,At=At+Math.imul(Ht,Xt)|0,nt=(nt=nt+Math.imul(Ht,$t)|0)+Math.imul(Ft,Xt)|0,it=it+Math.imul(Ft,$t)|0,At=At+Math.imul(_t,Ae)|0,nt=(nt=nt+Math.imul(_t,ne)|0)+Math.imul(Rt,Ae)|0,it=it+Math.imul(Rt,ne)|0,At=At+Math.imul(Dt,se)|0,nt=(nt=nt+Math.imul(Dt,ue)|0)+Math.imul(St,se)|0,it=it+Math.imul(St,ue)|0,At=At+Math.imul(wt,ge)|0,nt=(nt=nt+Math.imul(wt,de)|0)+Math.imul(vt,ge)|0,it=it+Math.imul(vt,de)|0,At=At+Math.imul(mt,he)|0,nt=(nt=nt+Math.imul(mt,pe)|0)+Math.imul(Qt,he)|0,it=it+Math.imul(Qt,pe)|0,At=At+Math.imul(Ct,fe)|0,nt=(nt=nt+Math.imul(Ct,ye)|0)+Math.imul(Bt,fe)|0,it=it+Math.imul(Bt,ye)|0;var Re=(ot+(At=At+Math.imul(ht,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(ht,Ee)|0)+Math.imul(pt,Be)|0))<<13)|0;ot=((it=it+Math.imul(pt,Ee)|0)+(nt>>>13)|0)+(Re>>>26)|0,Re&=67108863,At=Math.imul(Tt,Zt),nt=(nt=Math.imul(Tt,Vt))+Math.imul(Yt,Zt)|0,it=Math.imul(Yt,Vt),At=At+Math.imul(Ut,Xt)|0,nt=(nt=nt+Math.imul(Ut,$t)|0)+Math.imul(xt,Xt)|0,it=it+Math.imul(xt,$t)|0,At=At+Math.imul(Ht,Ae)|0,nt=(nt=nt+Math.imul(Ht,ne)|0)+Math.imul(Ft,Ae)|0,it=it+Math.imul(Ft,ne)|0,At=At+Math.imul(_t,se)|0,nt=(nt=nt+Math.imul(_t,ue)|0)+Math.imul(Rt,se)|0,it=it+Math.imul(Rt,ue)|0,At=At+Math.imul(Dt,ge)|0,nt=(nt=nt+Math.imul(Dt,de)|0)+Math.imul(St,ge)|0,it=it+Math.imul(St,de)|0,At=At+Math.imul(wt,he)|0,nt=(nt=nt+Math.imul(wt,pe)|0)+Math.imul(vt,he)|0,it=it+Math.imul(vt,pe)|0,At=At+Math.imul(mt,fe)|0,nt=(nt=nt+Math.imul(mt,ye)|0)+Math.imul(Qt,fe)|0,it=it+Math.imul(Qt,ye)|0;var Ne=(ot+(At=At+Math.imul(Ct,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Ct,Ee)|0)+Math.imul(Bt,Be)|0))<<13)|0;ot=((it=it+Math.imul(Bt,Ee)|0)+(nt>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,At=Math.imul(Tt,Xt),nt=(nt=Math.imul(Tt,$t))+Math.imul(Yt,Xt)|0,it=Math.imul(Yt,$t),At=At+Math.imul(Ut,Ae)|0,nt=(nt=nt+Math.imul(Ut,ne)|0)+Math.imul(xt,Ae)|0,it=it+Math.imul(xt,ne)|0,At=At+Math.imul(Ht,se)|0,nt=(nt=nt+Math.imul(Ht,ue)|0)+Math.imul(Ft,se)|0,it=it+Math.imul(Ft,ue)|0,At=At+Math.imul(_t,ge)|0,nt=(nt=nt+Math.imul(_t,de)|0)+Math.imul(Rt,ge)|0,it=it+Math.imul(Rt,de)|0,At=At+Math.imul(Dt,he)|0,nt=(nt=nt+Math.imul(Dt,pe)|0)+Math.imul(St,he)|0,it=it+Math.imul(St,pe)|0,At=At+Math.imul(wt,fe)|0,nt=(nt=nt+Math.imul(wt,ye)|0)+Math.imul(vt,fe)|0,it=it+Math.imul(vt,ye)|0;var He=(ot+(At=At+Math.imul(mt,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(mt,Ee)|0)+Math.imul(Qt,Be)|0))<<13)|0;ot=((it=it+Math.imul(Qt,Ee)|0)+(nt>>>13)|0)+(He>>>26)|0,He&=67108863,At=Math.imul(Tt,Ae),nt=(nt=Math.imul(Tt,ne))+Math.imul(Yt,Ae)|0,it=Math.imul(Yt,ne),At=At+Math.imul(Ut,se)|0,nt=(nt=nt+Math.imul(Ut,ue)|0)+Math.imul(xt,se)|0,it=it+Math.imul(xt,ue)|0,At=At+Math.imul(Ht,ge)|0,nt=(nt=nt+Math.imul(Ht,de)|0)+Math.imul(Ft,ge)|0,it=it+Math.imul(Ft,de)|0,At=At+Math.imul(_t,he)|0,nt=(nt=nt+Math.imul(_t,pe)|0)+Math.imul(Rt,he)|0,it=it+Math.imul(Rt,pe)|0,At=At+Math.imul(Dt,fe)|0,nt=(nt=nt+Math.imul(Dt,ye)|0)+Math.imul(St,fe)|0,it=it+Math.imul(St,ye)|0;var Fe=(ot+(At=At+Math.imul(wt,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(wt,Ee)|0)+Math.imul(vt,Be)|0))<<13)|0;ot=((it=it+Math.imul(vt,Ee)|0)+(nt>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,At=Math.imul(Tt,se),nt=(nt=Math.imul(Tt,ue))+Math.imul(Yt,se)|0,it=Math.imul(Yt,ue),At=At+Math.imul(Ut,ge)|0,nt=(nt=nt+Math.imul(Ut,de)|0)+Math.imul(xt,ge)|0,it=it+Math.imul(xt,de)|0,At=At+Math.imul(Ht,he)|0,nt=(nt=nt+Math.imul(Ht,pe)|0)+Math.imul(Ft,he)|0,it=it+Math.imul(Ft,pe)|0,At=At+Math.imul(_t,fe)|0,nt=(nt=nt+Math.imul(_t,ye)|0)+Math.imul(Rt,fe)|0,it=it+Math.imul(Rt,ye)|0;var Ge=(ot+(At=At+Math.imul(Dt,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Dt,Ee)|0)+Math.imul(St,Be)|0))<<13)|0;ot=((it=it+Math.imul(St,Ee)|0)+(nt>>>13)|0)+(Ge>>>26)|0,Ge&=67108863,At=Math.imul(Tt,ge),nt=(nt=Math.imul(Tt,de))+Math.imul(Yt,ge)|0,it=Math.imul(Yt,de),At=At+Math.imul(Ut,he)|0,nt=(nt=nt+Math.imul(Ut,pe)|0)+Math.imul(xt,he)|0,it=it+Math.imul(xt,pe)|0,At=At+Math.imul(Ht,fe)|0,nt=(nt=nt+Math.imul(Ht,ye)|0)+Math.imul(Ft,fe)|0,it=it+Math.imul(Ft,ye)|0;var Ue=(ot+(At=At+Math.imul(_t,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(_t,Ee)|0)+Math.imul(Rt,Be)|0))<<13)|0;ot=((it=it+Math.imul(Rt,Ee)|0)+(nt>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,At=Math.imul(Tt,he),nt=(nt=Math.imul(Tt,pe))+Math.imul(Yt,he)|0,it=Math.imul(Yt,pe),At=At+Math.imul(Ut,fe)|0,nt=(nt=nt+Math.imul(Ut,ye)|0)+Math.imul(xt,fe)|0,it=it+Math.imul(xt,ye)|0;var xe=(ot+(At=At+Math.imul(Ht,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Ht,Ee)|0)+Math.imul(Ft,Be)|0))<<13)|0;ot=((it=it+Math.imul(Ft,Ee)|0)+(nt>>>13)|0)+(xe>>>26)|0,xe&=67108863,At=Math.imul(Tt,fe),nt=(nt=Math.imul(Tt,ye))+Math.imul(Yt,fe)|0,it=Math.imul(Yt,ye);var Le=(ot+(At=At+Math.imul(Ut,Be)|0)|0)+((8191&(nt=(nt=nt+Math.imul(Ut,Ee)|0)+Math.imul(xt,Be)|0))<<13)|0;ot=((it=it+Math.imul(xt,Ee)|0)+(nt>>>13)|0)+(Le>>>26)|0,Le&=67108863;var Te=(ot+(At=Math.imul(Tt,Be))|0)+((8191&(nt=(nt=Math.imul(Tt,Ee))+Math.imul(Yt,Be)|0))<<13)|0;return ot=((it=Math.imul(Yt,Ee))+(nt>>>13)|0)+(Te>>>26)|0,Te&=67108863,st[0]=me,st[1]=Qe,st[2]=be,st[3]=we,st[4]=ve,st[5]=Me,st[6]=De,st[7]=Se,st[8]=ke,st[9]=_e,st[10]=Re,st[11]=Ne,st[12]=He,st[13]=Fe,st[14]=Ge,st[15]=Ue,st[16]=xe,st[17]=Le,st[18]=Te,0!==ot&&(st[19]=ot,et.length++),et};function jumboMulTo($,tt,et){return(new FFTM).mulp($,tt,et)}function FFTM($,tt){this.x=$,this.y=tt}Math.imul||(rt=smallMulTo),BN.prototype.mulTo=function mulTo($,tt){var et=this.length+$.length;return 10===this.length&&10===$.length?rt(this,$,tt):et<63?smallMulTo(this,$,tt):et<1024?function bigMulTo($,tt,et){et.negative=tt.negative^$.negative,et.length=$.length+tt.length;for(var At=0,nt=0,it=0;it<et.length-1;it++){var at=nt;nt=0;for(var rt=67108863&At,st=Math.min(it,tt.length-1),ot=Math.max(0,it-$.length+1);ot<=st;ot++){var ut=it-ot,ct=(0|$.words[ut])*(0|tt.words[ot]),dt=67108863&ct;rt=67108863&(dt=dt+rt|0),nt+=(at=(at=at+(ct/67108864|0)|0)+(dt>>>26)|0)>>>26,at&=67108863}et.words[it]=rt,At=at,at=nt}return 0!==At?et.words[it]=At:et.length--,et.strip()}(this,$,tt):jumboMulTo(this,$,tt)},FFTM.prototype.makeRBT=function makeRBT($){for(var tt=new Array($),et=BN.prototype._countBits($)-1,At=0;At<$;At++)tt[At]=this.revBin(At,et,$);return tt},FFTM.prototype.revBin=function revBin($,tt,et){if(0===$||$===et-1)return $;for(var At=0,nt=0;nt<tt;nt++)At|=(1&$)<<tt-nt-1,$>>=1;return At},FFTM.prototype.permute=function permute($,tt,et,At,nt,it){for(var at=0;at<it;at++)At[at]=tt[$[at]],nt[at]=et[$[at]]},FFTM.prototype.transform=function transform($,tt,et,At,nt,it){this.permute(it,$,tt,et,At,nt);for(var at=1;at<nt;at<<=1)for(var rt=at<<1,st=Math.cos(2*Math.PI/rt),ot=Math.sin(2*Math.PI/rt),ut=0;ut<nt;ut+=rt)for(var ct=st,dt=ot,It=0;It<at;It++){var ht=et[ut+It],pt=At[ut+It],yt=et[ut+It+at],Ct=At[ut+It+at],Bt=ct*yt-dt*Ct;Ct=ct*Ct+dt*yt,yt=Bt,et[ut+It]=ht+yt,At[ut+It]=pt+Ct,et[ut+It+at]=ht-yt,At[ut+It+at]=pt-Ct,It!==rt&&(Bt=st*ct-ot*dt,dt=st*dt+ot*ct,ct=Bt)}},FFTM.prototype.guessLen13b=function guessLen13b($,tt){var et=1|Math.max(tt,$),At=1&et,nt=0;for(et=et/2|0;et;et>>>=1)nt++;return 1<<nt+1+At},FFTM.prototype.conjugate=function conjugate($,tt,et){if(!(et<=1))for(var At=0;At<et/2;At++){var nt=$[At];$[At]=$[et-At-1],$[et-At-1]=nt,nt=tt[At],tt[At]=-tt[et-At-1],tt[et-At-1]=-nt}},FFTM.prototype.normalize13b=function normalize13b($,tt){for(var et=0,At=0;At<tt/2;At++){var nt=8192*Math.round($[2*At+1]/tt)+Math.round($[2*At]/tt)+et;$[At]=67108863&nt,et=nt<67108864?0:nt/67108864|0}return $},FFTM.prototype.convert13b=function convert13b($,tt,et,At){for(var nt=0,it=0;it<tt;it++)nt+=0|$[it],et[2*it]=8191&nt,nt>>>=13,et[2*it+1]=8191&nt,nt>>>=13;for(it=2*tt;it<At;++it)et[it]=0;assert(0===nt),assert(0==(-8192&nt))},FFTM.prototype.stub=function stub($){for(var tt=new Array($),et=0;et<$;et++)tt[et]=0;return tt},FFTM.prototype.mulp=function mulp($,tt,et){var At=2*this.guessLen13b($.length,tt.length),nt=this.makeRBT(At),it=this.stub(At),at=new Array(At),rt=new Array(At),st=new Array(At),ot=new Array(At),ut=new Array(At),ct=new Array(At),dt=et.words;dt.length=At,this.convert13b($.words,$.length,at,At),this.convert13b(tt.words,tt.length,ot,At),this.transform(at,it,rt,st,At,nt),this.transform(ot,it,ut,ct,At,nt);for(var It=0;It<At;It++){var ht=rt[It]*ut[It]-st[It]*ct[It];st[It]=rt[It]*ct[It]+st[It]*ut[It],rt[It]=ht}return this.conjugate(rt,st,At),this.transform(rt,st,dt,it,At,nt),this.conjugate(dt,it,At),this.normalize13b(dt,At),et.negative=$.negative^tt.negative,et.length=$.length+tt.length,et.strip()},BN.prototype.mul=function mul($){var tt=new BN(null);return tt.words=new Array(this.length+$.length),this.mulTo($,tt)},BN.prototype.mulf=function mulf($){var tt=new BN(null);return tt.words=new Array(this.length+$.length),jumboMulTo(this,$,tt)},BN.prototype.imul=function imul($){return this.clone().mulTo($,this)},BN.prototype.imuln=function imuln($){assert("number"==typeof $),assert($<67108864);for(var tt=0,et=0;et<this.length;et++){var At=(0|this.words[et])*$,nt=(67108863&At)+(67108863&tt);tt>>=26,tt+=At/67108864|0,tt+=nt>>>26,this.words[et]=67108863&nt}return 0!==tt&&(this.words[et]=tt,this.length++),this},BN.prototype.muln=function muln($){return this.clone().imuln($)},BN.prototype.sqr=function sqr(){return this.mul(this)},BN.prototype.isqr=function isqr(){return this.imul(this.clone())},BN.prototype.pow=function pow($){var tt=function toBitArray($){for(var tt=new Array($.bitLength()),et=0;et<tt.length;et++){var At=et/26|0,nt=et%26;tt[et]=($.words[At]&1<<nt)>>>nt}return tt}($);if(0===tt.length)return new BN(1);for(var et=this,At=0;At<tt.length&&0===tt[At];At++,et=et.sqr());if(++At<tt.length)for(var nt=et.sqr();At<tt.length;At++,nt=nt.sqr())0!==tt[At]&&(et=et.mul(nt));return et},BN.prototype.iushln=function iushln($){assert("number"==typeof $&&$>=0);var tt,et=$%26,At=($-et)/26,nt=67108863>>>26-et<<26-et;if(0!==et){var it=0;for(tt=0;tt<this.length;tt++){var at=this.words[tt]&nt,rt=(0|this.words[tt])-at<<et;this.words[tt]=rt|it,it=at>>>26-et}it&&(this.words[tt]=it,this.length++)}if(0!==At){for(tt=this.length-1;tt>=0;tt--)this.words[tt+At]=this.words[tt];for(tt=0;tt<At;tt++)this.words[tt]=0;this.length+=At}return this.strip()},BN.prototype.ishln=function ishln($){return assert(0===this.negative),this.iushln($)},BN.prototype.iushrn=function iushrn($,tt,et){var At;assert("number"==typeof $&&$>=0),At=tt?(tt-tt%26)/26:0;var nt=$%26,it=Math.min(($-nt)/26,this.length),at=67108863^67108863>>>nt<<nt,rt=et;if(At-=it,At=Math.max(0,At),rt){for(var st=0;st<it;st++)rt.words[st]=this.words[st];rt.length=it}if(0===it);else if(this.length>it)for(this.length-=it,st=0;st<this.length;st++)this.words[st]=this.words[st+it];else this.words[0]=0,this.length=1;var ot=0;for(st=this.length-1;st>=0&&(0!==ot||st>=At);st--){var ut=0|this.words[st];this.words[st]=ot<<26-nt|ut>>>nt,ot=ut&at}return rt&&0!==ot&&(rt.words[rt.length++]=ot),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function ishrn($,tt,et){return assert(0===this.negative),this.iushrn($,tt,et)},BN.prototype.shln=function shln($){return this.clone().ishln($)},BN.prototype.ushln=function ushln($){return this.clone().iushln($)},BN.prototype.shrn=function shrn($){return this.clone().ishrn($)},BN.prototype.ushrn=function ushrn($){return this.clone().iushrn($)},BN.prototype.testn=function testn($){assert("number"==typeof $&&$>=0);var tt=$%26,et=($-tt)/26,At=1<<tt;return!(this.length<=et)&&!!(this.words[et]&At)},BN.prototype.imaskn=function imaskn($){assert("number"==typeof $&&$>=0);var tt=$%26,et=($-tt)/26;if(assert(0===this.negative,"imaskn works only with positive numbers"),this.length<=et)return this;if(0!==tt&&et++,this.length=Math.min(et,this.length),0!==tt){var At=67108863^67108863>>>tt<<tt;this.words[this.length-1]&=At}return this.strip()},BN.prototype.maskn=function maskn($){return this.clone().imaskn($)},BN.prototype.iaddn=function iaddn($){return assert("number"==typeof $),assert($<67108864),$<0?this.isubn(-$):0!==this.negative?1===this.length&&(0|this.words[0])<$?(this.words[0]=$-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn($),this.negative=1,this):this._iaddn($)},BN.prototype._iaddn=function _iaddn($){this.words[0]+=$;for(var tt=0;tt<this.length&&this.words[tt]>=67108864;tt++)this.words[tt]-=67108864,tt===this.length-1?this.words[tt+1]=1:this.words[tt+1]++;return this.length=Math.max(this.length,tt+1),this},BN.prototype.isubn=function isubn($){if(assert("number"==typeof $),assert($<67108864),$<0)return this.iaddn(-$);if(0!==this.negative)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var tt=0;tt<this.length&&this.words[tt]<0;tt++)this.words[tt]+=67108864,this.words[tt+1]-=1;return this.strip()},BN.prototype.addn=function addn($){return this.clone().iaddn($)},BN.prototype.subn=function subn($){return this.clone().isubn($)},BN.prototype.iabs=function iabs(){return this.negative=0,this},BN.prototype.abs=function abs(){return this.clone().iabs()},BN.prototype._ishlnsubmul=function _ishlnsubmul($,tt,et){var At,nt,it=$.length+et;this._expand(it);var at=0;for(At=0;At<$.length;At++){nt=(0|this.words[At+et])+at;var rt=(0|$.words[At])*tt;at=((nt-=67108863&rt)>>26)-(rt/67108864|0),this.words[At+et]=67108863&nt}for(;At<this.length-et;At++)at=(nt=(0|this.words[At+et])+at)>>26,this.words[At+et]=67108863&nt;if(0===at)return this.strip();for(assert(-1===at),at=0,At=0;At<this.length;At++)at=(nt=-(0|this.words[At])+at)>>26,this.words[At]=67108863&nt;return this.negative=1,this.strip()},BN.prototype._wordDiv=function _wordDiv($,tt){var et=(this.length,$.length),At=this.clone(),nt=$,it=0|nt.words[nt.length-1];0!==(et=26-this._countBits(it))&&(nt=nt.ushln(et),At.iushln(et),it=0|nt.words[nt.length-1]);var at,rt=At.length-nt.length;if("mod"!==tt){(at=new BN(null)).length=rt+1,at.words=new Array(at.length);for(var st=0;st<at.length;st++)at.words[st]=0}var ot=At.clone()._ishlnsubmul(nt,1,rt);0===ot.negative&&(At=ot,at&&(at.words[rt]=1));for(var ut=rt-1;ut>=0;ut--){var ct=67108864*(0|At.words[nt.length+ut])+(0|At.words[nt.length+ut-1]);for(ct=Math.min(ct/it|0,67108863),At._ishlnsubmul(nt,ct,ut);0!==At.negative;)ct--,At.negative=0,At._ishlnsubmul(nt,1,ut),At.isZero()||(At.negative^=1);at&&(at.words[ut]=ct)}return at&&at.strip(),At.strip(),"div"!==tt&&0!==et&&At.iushrn(et),{div:at||null,mod:At}},BN.prototype.divmod=function divmod($,tt,et){return assert(!$.isZero()),this.isZero()?{div:new BN(0),mod:new BN(0)}:0!==this.negative&&0===$.negative?(it=this.neg().divmod($,tt),"mod"!==tt&&(At=it.div.neg()),"div"!==tt&&(nt=it.mod.neg(),et&&0!==nt.negative&&nt.iadd($)),{div:At,mod:nt}):0===this.negative&&0!==$.negative?(it=this.divmod($.neg(),tt),"mod"!==tt&&(At=it.div.neg()),{div:At,mod:it.mod}):0!=(this.negative&$.negative)?(it=this.neg().divmod($.neg(),tt),"div"!==tt&&(nt=it.mod.neg(),et&&0!==nt.negative&&nt.isub($)),{div:it.div,mod:nt}):$.length>this.length||this.cmp($)<0?{div:new BN(0),mod:this}:1===$.length?"div"===tt?{div:this.divn($.words[0]),mod:null}:"mod"===tt?{div:null,mod:new BN(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new BN(this.modn($.words[0]))}:this._wordDiv($,tt);var At,nt,it},BN.prototype.div=function div($){return this.divmod($,"div",!1).div},BN.prototype.mod=function mod($){return this.divmod($,"mod",!1).mod},BN.prototype.umod=function umod($){return this.divmod($,"mod",!0).mod},BN.prototype.divRound=function divRound($){var tt=this.divmod($);if(tt.mod.isZero())return tt.div;var et=0!==tt.div.negative?tt.mod.isub($):tt.mod,At=$.ushrn(1),nt=$.andln(1),it=et.cmp(At);return it<0||1===nt&&0===it?tt.div:0!==tt.div.negative?tt.div.isubn(1):tt.div.iaddn(1)},BN.prototype.modn=function modn($){assert($<=67108863);for(var tt=(1<<26)%$,et=0,At=this.length-1;At>=0;At--)et=(tt*et+(0|this.words[At]))%$;return et},BN.prototype.idivn=function idivn($){assert($<=67108863);for(var tt=0,et=this.length-1;et>=0;et--){var At=(0|this.words[et])+67108864*tt;this.words[et]=At/$|0,tt=At%$}return this.strip()},BN.prototype.divn=function divn($){return this.clone().idivn($)},BN.prototype.egcd=function egcd($){assert(0===$.negative),assert(!$.isZero());var tt=this,et=$.clone();tt=0!==tt.negative?tt.umod($):tt.clone();for(var At=new BN(1),nt=new BN(0),it=new BN(0),at=new BN(1),rt=0;tt.isEven()&&et.isEven();)tt.iushrn(1),et.iushrn(1),++rt;for(var st=et.clone(),ot=tt.clone();!tt.isZero();){for(var ut=0,ct=1;0==(tt.words[0]&ct)&&ut<26;++ut,ct<<=1);if(ut>0)for(tt.iushrn(ut);ut-- >0;)(At.isOdd()||nt.isOdd())&&(At.iadd(st),nt.isub(ot)),At.iushrn(1),nt.iushrn(1);for(var dt=0,It=1;0==(et.words[0]&It)&&dt<26;++dt,It<<=1);if(dt>0)for(et.iushrn(dt);dt-- >0;)(it.isOdd()||at.isOdd())&&(it.iadd(st),at.isub(ot)),it.iushrn(1),at.iushrn(1);tt.cmp(et)>=0?(tt.isub(et),At.isub(it),nt.isub(at)):(et.isub(tt),it.isub(At),at.isub(nt))}return{a:it,b:at,gcd:et.iushln(rt)}},BN.prototype._invmp=function _invmp($){assert(0===$.negative),assert(!$.isZero());var tt=this,et=$.clone();tt=0!==tt.negative?tt.umod($):tt.clone();for(var At,nt=new BN(1),it=new BN(0),at=et.clone();tt.cmpn(1)>0&&et.cmpn(1)>0;){for(var rt=0,st=1;0==(tt.words[0]&st)&&rt<26;++rt,st<<=1);if(rt>0)for(tt.iushrn(rt);rt-- >0;)nt.isOdd()&&nt.iadd(at),nt.iushrn(1);for(var ot=0,ut=1;0==(et.words[0]&ut)&&ot<26;++ot,ut<<=1);if(ot>0)for(et.iushrn(ot);ot-- >0;)it.isOdd()&&it.iadd(at),it.iushrn(1);tt.cmp(et)>=0?(tt.isub(et),nt.isub(it)):(et.isub(tt),it.isub(nt))}return(At=0===tt.cmpn(1)?nt:it).cmpn(0)<0&&At.iadd($),At},BN.prototype.gcd=function gcd($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var tt=this.clone(),et=$.clone();tt.negative=0,et.negative=0;for(var At=0;tt.isEven()&&et.isEven();At++)tt.iushrn(1),et.iushrn(1);for(;;){for(;tt.isEven();)tt.iushrn(1);for(;et.isEven();)et.iushrn(1);var nt=tt.cmp(et);if(nt<0){var it=tt;tt=et,et=it}else if(0===nt||0===et.cmpn(1))break;tt.isub(et)}return et.iushln(At)},BN.prototype.invm=function invm($){return this.egcd($).a.umod($)},BN.prototype.isEven=function isEven(){return 0==(1&this.words[0])},BN.prototype.isOdd=function isOdd(){return 1==(1&this.words[0])},BN.prototype.andln=function andln($){return this.words[0]&$},BN.prototype.bincn=function bincn($){assert("number"==typeof $);var tt=$%26,et=($-tt)/26,At=1<<tt;if(this.length<=et)return this._expand(et+1),this.words[et]|=At,this;for(var nt=At,it=et;0!==nt&&it<this.length;it++){var at=0|this.words[it];nt=(at+=nt)>>>26,at&=67108863,this.words[it]=at}return 0!==nt&&(this.words[it]=nt,this.length++),this},BN.prototype.isZero=function isZero(){return 1===this.length&&0===this.words[0]},BN.prototype.cmpn=function cmpn($){var tt,et=$<0;if(0!==this.negative&&!et)return-1;if(0===this.negative&&et)return 1;if(this.strip(),this.length>1)tt=1;else{et&&($=-$),assert($<=67108863,"Number is too big");var At=0|this.words[0];tt=At===$?0:At<$?-1:1}return 0!==this.negative?0|-tt:tt},BN.prototype.cmp=function cmp($){if(0!==this.negative&&0===$.negative)return-1;if(0===this.negative&&0!==$.negative)return 1;var tt=this.ucmp($);return 0!==this.negative?0|-tt:tt},BN.prototype.ucmp=function ucmp($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var tt=0,et=this.length-1;et>=0;et--){var At=0|this.words[et],nt=0|$.words[et];if(At!==nt){At<nt?tt=-1:At>nt&&(tt=1);break}}return tt},BN.prototype.gtn=function gtn($){return 1===this.cmpn($)},BN.prototype.gt=function gt($){return 1===this.cmp($)},BN.prototype.gten=function gten($){return this.cmpn($)>=0},BN.prototype.gte=function gte($){return this.cmp($)>=0},BN.prototype.ltn=function ltn($){return-1===this.cmpn($)},BN.prototype.lt=function lt($){return-1===this.cmp($)},BN.prototype.lten=function lten($){return this.cmpn($)<=0},BN.prototype.lte=function lte($){return this.cmp($)<=0},BN.prototype.eqn=function eqn($){return 0===this.cmpn($)},BN.prototype.eq=function eq($){return 0===this.cmp($)},BN.red=function red($){return new Red($)},BN.prototype.toRed=function toRed($){return assert(!this.red,"Already a number in reduction context"),assert(0===this.negative,"red works only with positives"),$.convertTo(this)._forceRed($)},BN.prototype.fromRed=function fromRed(){return assert(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},BN.prototype._forceRed=function _forceRed($){return this.red=$,this},BN.prototype.forceRed=function forceRed($){return assert(!this.red,"Already a number in reduction context"),this._forceRed($)},BN.prototype.redAdd=function redAdd($){return assert(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},BN.prototype.redIAdd=function redIAdd($){return assert(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},BN.prototype.redSub=function redSub($){return assert(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},BN.prototype.redISub=function redISub($){return assert(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},BN.prototype.redShl=function redShl($){return assert(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},BN.prototype.redMul=function redMul($){return assert(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},BN.prototype.redIMul=function redIMul($){return assert(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},BN.prototype.redSqr=function redSqr(){return assert(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function redISqr(){return assert(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function redSqrt(){return assert(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function redInvm(){return assert(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function redNeg(){return assert(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function redPow($){return assert(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var st={k256:null,p224:null,p192:null,p25519:null};function MPrime($,tt){this.name=$,this.p=new BN(tt,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function K256(){MPrime.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function P224(){MPrime.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function P192(){MPrime.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function P25519(){MPrime.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function Red($){if("string"==typeof $){var tt=BN._prime($);this.m=tt.p,this.prime=tt}else assert($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}function Mont($){Red.call(this,$),this.shift=this.m.bitLength(),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)}MPrime.prototype._tmp=function _tmp(){var $=new BN(null);return $.words=new Array(Math.ceil(this.n/13)),$},MPrime.prototype.ireduce=function ireduce($){var tt,et=$;do{this.split(et,this.tmp),tt=(et=(et=this.imulK(et)).iadd(this.tmp)).bitLength()}while(tt>this.n);var At=tt<this.n?-1:et.ucmp(this.p);return 0===At?(et.words[0]=0,et.length=1):At>0?et.isub(this.p):void 0!==et.strip?et.strip():et._strip(),et},MPrime.prototype.split=function split($,tt){$.iushrn(this.n,0,tt)},MPrime.prototype.imulK=function imulK($){return $.imul(this.k)},inherits(K256,MPrime),K256.prototype.split=function split($,tt){for(var et=Math.min($.length,9),At=0;At<et;At++)tt.words[At]=$.words[At];if(tt.length=et,$.length<=9)return $.words[0]=0,void($.length=1);var nt=$.words[9];for(tt.words[tt.length++]=4194303&nt,At=10;At<$.length;At++){var it=0|$.words[At];$.words[At-10]=(4194303&it)<<4|nt>>>22,nt=it}nt>>>=22,$.words[At-10]=nt,0===nt&&$.length>10?$.length-=10:$.length-=9},K256.prototype.imulK=function imulK($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var tt=0,et=0;et<$.length;et++){var At=0|$.words[et];tt+=977*At,$.words[et]=67108863&tt,tt=64*At+(tt/67108864|0)}return 0===$.words[$.length-1]&&($.length--,0===$.words[$.length-1]&&$.length--),$},inherits(P224,MPrime),inherits(P192,MPrime),inherits(P25519,MPrime),P25519.prototype.imulK=function imulK($){for(var tt=0,et=0;et<$.length;et++){var At=19*(0|$.words[et])+tt,nt=67108863&At;At>>>=26,$.words[et]=nt,tt=At}return 0!==tt&&($.words[$.length++]=tt),$},BN._prime=function prime($){if(st[$])return st[$];var prime;if("k256"===$)prime=new K256;else if("p224"===$)prime=new P224;else if("p192"===$)prime=new P192;else{if("p25519"!==$)throw new Error("Unknown prime "+$);prime=new P25519}return st[$]=prime,prime},Red.prototype._verify1=function _verify1($){assert(0===$.negative,"red works only with positives"),assert($.red,"red works only with red numbers")},Red.prototype._verify2=function _verify2($,tt){assert(0==($.negative|tt.negative),"red works only with positives"),assert($.red&&$.red===tt.red,"red works only with red numbers")},Red.prototype.imod=function imod($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},Red.prototype.neg=function neg($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},Red.prototype.add=function add($,tt){this._verify2($,tt);var et=$.add(tt);return et.cmp(this.m)>=0&&et.isub(this.m),et._forceRed(this)},Red.prototype.iadd=function iadd($,tt){this._verify2($,tt);var et=$.iadd(tt);return et.cmp(this.m)>=0&&et.isub(this.m),et},Red.prototype.sub=function sub($,tt){this._verify2($,tt);var et=$.sub(tt);return et.cmpn(0)<0&&et.iadd(this.m),et._forceRed(this)},Red.prototype.isub=function isub($,tt){this._verify2($,tt);var et=$.isub(tt);return et.cmpn(0)<0&&et.iadd(this.m),et},Red.prototype.shl=function shl($,tt){return this._verify1($),this.imod($.ushln(tt))},Red.prototype.imul=function imul($,tt){return this._verify2($,tt),this.imod($.imul(tt))},Red.prototype.mul=function mul($,tt){return this._verify2($,tt),this.imod($.mul(tt))},Red.prototype.isqr=function isqr($){return this.imul($,$.clone())},Red.prototype.sqr=function sqr($){return this.mul($,$)},Red.prototype.sqrt=function sqrt($){if($.isZero())return $.clone();var tt=this.m.andln(3);if(assert(tt%2==1),3===tt){var et=this.m.add(new BN(1)).iushrn(2);return this.pow($,et)}for(var At=this.m.subn(1),nt=0;!At.isZero()&&0===At.andln(1);)nt++,At.iushrn(1);assert(!At.isZero());var it=new BN(1).toRed(this),at=it.redNeg(),rt=this.m.subn(1).iushrn(1),st=this.m.bitLength();for(st=new BN(2*st*st).toRed(this);0!==this.pow(st,rt).cmp(at);)st.redIAdd(at);for(var ot=this.pow(st,At),ut=this.pow($,At.addn(1).iushrn(1)),ct=this.pow($,At),dt=nt;0!==ct.cmp(it);){for(var It=ct,ht=0;0!==It.cmp(it);ht++)It=It.redSqr();assert(ht<dt);var pt=this.pow(ot,new BN(1).iushln(dt-ht-1));ut=ut.redMul(pt),ot=pt.redSqr(),ct=ct.redMul(ot),dt=ht}return ut},Red.prototype.invm=function invm($){var tt=$._invmp(this.m);return 0!==tt.negative?(tt.negative=0,this.imod(tt).redNeg()):this.imod(tt)},Red.prototype.pow=function pow($,tt){if(tt.isZero())return new BN(1).toRed(this);if(0===tt.cmpn(1))return $.clone();var et=new Array(16);et[0]=new BN(1).toRed(this),et[1]=$;for(var At=2;At<et.length;At++)et[At]=this.mul(et[At-1],$);var nt=et[0],it=0,at=0,rt=tt.bitLength()%26;for(0===rt&&(rt=26),At=tt.length-1;At>=0;At--){for(var st=tt.words[At],ot=rt-1;ot>=0;ot--){var ut=st>>ot&1;nt!==et[0]&&(nt=this.sqr(nt)),0!==ut||0!==it?(it<<=1,it|=ut,(4===++at||0===At&&0===ot)&&(nt=this.mul(nt,et[it]),at=0,it=0)):at=0}rt=26}return nt},Red.prototype.convertTo=function convertTo($){var tt=$.umod(this.m);return tt===$?tt.clone():tt},Red.prototype.convertFrom=function convertFrom($){var tt=$.clone();return tt.red=null,tt},BN.mont=function mont($){return new Mont($)},inherits(Mont,Red),Mont.prototype.convertTo=function convertTo($){return this.imod($.ushln(this.shift))},Mont.prototype.convertFrom=function convertFrom($){var tt=this.imod($.mul(this.rinv));return tt.red=null,tt},Mont.prototype.imul=function imul($,tt){if($.isZero()||tt.isZero())return $.words[0]=0,$.length=1,$;var et=$.imul(tt),At=et.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),nt=et.isub(At).iushrn(this.shift),it=nt;return nt.cmp(this.m)>=0?it=nt.isub(this.m):nt.cmpn(0)<0&&(it=nt.iadd(this.m)),it._forceRed(this)},Mont.prototype.mul=function mul($,tt){if($.isZero()||tt.isZero())return new BN(0)._forceRed(this);var et=$.mul(tt),At=et.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),nt=et.isub(At).iushrn(this.shift),it=nt;return nt.cmp(this.m)>=0?it=nt.isub(this.m):nt.cmpn(0)<0&&(it=nt.iadd(this.m)),it._forceRed(this)},Mont.prototype.invm=function invm($){return this.imod($._invmp(this.m).mul(this.r2))._forceRed(this)}}($,this)}).call(this,et(10)($))},function($,tt,et){(function(tt){$.exports=function n($,tt,et){function a(nt,it){if(!tt[nt]){if(!$[nt]){var at=!1;if(!it&&at)return(void 0)(nt,!0);if(At)return At(nt,!0);throw(at=new Error("Cannot find module '"+nt+"'")).code="MODULE_NOT_FOUND",at}at=tt[nt]={exports:{}},$[nt][0].call(at.exports,(function(tt){return a($[nt][1][tt]||tt)}),at,at.exports,n,$,tt,et)}return tt[nt].exports}for(var At=!1,nt=0;nt<et.length;nt++)a(et[nt]);return a}({1:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0}),et.version="4.0.49"},{}],2:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./utils/properties");function i(){At.setType(this,"Signer")}i.isSigner=function($){return At.isType($,"Signer")},$=i,et.Signer=$},{"./utils/properties":74}],3:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./utils/bignumber");et.AddressZero="0x0000000000000000000000000000000000000000",et.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000",et.EtherSymbol="Ξ",$=At.bigNumberify(-1),et.NegativeOne=$,$=At.bigNumberify(0),et.Zero=$,$=At.bigNumberify(1),et.One=$,$=At.bigNumberify(2),et.Two=$,$=At.bigNumberify("1000000000000000000"),et.WeiPerEther=$,At=At.bigNumberify("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),et.MaxUint256=At},{"./utils/bignumber":63}],4:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at,rt=$("./constants"),st=it($("./errors")),ot=$("./utils/abi-coder"),ut=$("./utils/address"),ct=$("./utils/bignumber"),dt=$("./utils/bytes"),It=$("./utils/interface"),ht=$("./utils/properties"),pt=$("./providers/abstract-provider"),yt=$("./abstract-signer"),Ct=(nt(v,at=yt.Signer),v.prototype.getAddress=function(){return Promise.resolve(this.address)},v.prototype._fail=function($,tt){return Promise.resolve().then((function(){st.throwError($,st.UNSUPPORTED_OPERATION,{operation:tt})}))},v.prototype.signMessage=function($){return this._fail("VoidSigner cannot sign messages","signMessage")},v.prototype.sendTransaction=function($){return this._fail("VoidSigner cannot sign transactions","sendTransaction")},v.prototype.connect=function($){return new v(this.address,$)},v);function v($,tt){var et=at.call(this)||this;return ht.defineReadOnly(et,"address",$),ht.defineReadOnly(et,"provider",tt),et}et.VoidSigner=Ct;var Bt={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function w($,tt,et){var At=$.interface.functions[tt];return function(){for(var tt=[],nt=0;nt<arguments.length;nt++)tt[nt]=arguments[nt];var it={},at=null;if(tt.length===At.inputs.length+1&&"object"==typeof tt[tt.length-1])for(var ut in null!=(it=ht.shallowCopy(tt.pop())).blockTag&&(at=it.blockTag),delete it.blockTag,it)if(!Bt[ut])throw new Error("unknown transaction override "+ut);if(tt.length!=At.inputs.length)throw new Error("incorrect number of arguments");return["data","to"].forEach((function($){null!=it[$]&&st.throwError("cannot override "+$,st.UNSUPPORTED_OPERATION,{operation:$})})),it.to=$._deployed(at).then((function(){return $.addressPromise})),function n($,tt,et){if(Array.isArray(et)){var At=[];return et.forEach((function(et,nt){var it=Array.isArray(tt)?tt[nt]:tt[et.name];At.push(n($,it,et))})),Promise.all(At)}if("address"===et.type)return $.resolveName(tt);if("tuple"===et.type)return n($,tt,et.components);var nt=et.type.match(/(.*)(\[[0-9]*\]$)/);if(nt){if(!Array.isArray(tt))throw new Error("invalid value for array");var it=[],at={components:et.components,type:nt[1]};return tt.forEach((function(tt){it.push(n($,tt,at))})),Promise.all(it)}return Promise.resolve(tt)}($.provider,tt,At.inputs).then((function(tt){if(it.data=At.encode(tt),"call"===At.type)return et?Promise.resolve(rt.Zero):($.provider||st.throwError("call (constant functions) require a provider or a signer with a provider",st.UNSUPPORTED_OPERATION,{operation:"call"}),["gasLimit","gasPrice","value"].forEach((function($){if(null!=it[$])throw new Error("call cannot override "+$)})),null==it.from&&$.signer&&(it.from=$.signer.getAddress()),$.provider.call(it,at).then((function(et){var nt;dt.hexDataLength(et)%32==4&&"0x08c379a0"===dt.hexDataSlice(et,0,4)&&(nt=ot.defaultAbiCoder.decode(["string"],dt.hexDataSlice(et,4)),st.throwError("call revert exception",st.CALL_EXCEPTION,{address:$.address,args:tt,method:At.signature,errorSignature:"Error(string)",errorArgs:[nt],reason:nt,transaction:it}));try{var at=At.decode(et);return 1===At.outputs.length?at[0]:at}catch(nt){throw"0x"===et&&0<At.outputs.length&&st.throwError("call exception",st.CALL_EXCEPTION,{address:$.address,method:At.signature,args:tt}),nt}})));if("transaction"===At.type)return et?($.provider||st.throwError("estimate gas require a provider or a signer with a provider",st.UNSUPPORTED_OPERATION,{operation:"estimateGas"}),null==it.from&&$.signer&&(it.from=$.signer.getAddress()),$.provider.estimateGas(it)):(null==it.gasLimit&&null!=At.gas&&(it.gasLimit=ct.bigNumberify(At.gas).add(21e3)),$.signer||st.throwError("sending a transaction requires a signer",st.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=it.from&&st.throwError("cannot override from in a transaction",st.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),$.signer.sendTransaction(it).then((function(tt){var et=tt.wait.bind(tt);return tt.wait=function(tt){return et(tt).then((function(tt){return tt.events=tt.logs.map((function(et){var At=ht.deepCopy(et);return(et=$.interface.parseLog(et))&&(At.args=et.values,At.decode=et.decode,At.event=et.name,At.eventSignature=et.signature),At.removeListener=function(){return $.provider},At.getBlock=function(){return $.provider.getBlock(tt.blockHash)},At.getTransaction=function(){return $.provider.getTransaction(tt.transactionHash)},At.getTransactionReceipt=function(){return Promise.resolve(tt)},At})),tt}))},tt})));throw new Error("invalid type - "+At.type)}))}}function _($){return!$.address||null!=$.topics&&0!==$.topics.length?($.address||"*")+"@"+($.topics?$.topics.join(":"):""):"*"}var Et=(A.prototype.deployed=function(){return this._deployed()},A.prototype._deployed=function($){var tt=this;return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then((function(){return tt})):this._deployedPromise=this.provider.getCode(this.address,$).then((function($){return"0x"===$&&st.throwError("contract not deployed",st.UNSUPPORTED_OPERATION,{contractAddress:tt.address,operation:"getDeployed"}),tt}))),this._deployedPromise},A.prototype.fallback=function($){var tt=this;this.signer||st.throwError("sending a transaction requires a signer",st.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});var et=ht.shallowCopy($||{});return["from","to"].forEach((function($){null!=et[$]&&st.throwError("cannot override "+$,st.UNSUPPORTED_OPERATION,{operation:$})})),et.to=this.addressPromise,this.deployed().then((function(){return tt.signer.sendTransaction(et)}))},A.prototype.connect=function($){return"string"==typeof $&&($=new Ct($,this.provider)),$=new A(this.address,this.interface,$),this.deployTransaction&&ht.defineReadOnly($,"deployTransaction",this.deployTransaction),$},A.prototype.attach=function($){return new A($,this.interface,this.signer||this.provider)},A.isIndexed=function($){return It.Interface.isIndexed($)},A.prototype._getEventFilter=function($){var tt=this;if("string"==typeof $){if("*"===$)return{prepareEvent:function($){var et=tt.interface.parseLog($);return et&&($.args=et.values,$.decode=et.decode,$.event=et.name,$.eventSignature=et.signature),[$]},eventTag:"*",filter:{address:this.address}};-1!==$.indexOf("(")&&($=ot.formatSignature(ot.parseSignature("event "+$)));var et=this.interface.events[$];et||st.throwError("unknown event - "+$,st.INVALID_ARGUMENT,{argumnet:"eventName",value:$});var At={address:this.address,topics:[et.topic]};return{prepareEvent:function($){var tt=et.decode($.data,$.topics);return $.args=tt,(tt=Array.prototype.slice.call(tt)).push($),tt},event:et,eventTag:_(At),filter:At}}At={address:this.address};var nt=null;if($.topics&&$.topics[0])for(var it in At.topics=$.topics,this.interface.events)if(-1!==it.indexOf("(")&&(it=this.interface.events[it]).topic===$.topics[0].toLowerCase()){nt=it;break}return{prepareEvent:function($){if(!nt)return[$];var tt=nt.decode($.data,$.topics);return $.args=tt,(tt=Array.prototype.slice.call(tt)).push($),tt},event:nt,eventTag:_(At),filter:At}},A.prototype._addEventListener=function($,tt,et){var At=this;function t(et){var nt=ht.deepCopy(et),it=$.prepareEvent(nt);$.event&&(nt.decode=$.event.decode,nt.event=$.event.name,nt.eventSignature=$.event.signature),nt.removeListener=function(){At.removeListener($.filter,tt)},nt.getBlock=function(){return At.provider.getBlock(et.blockHash)},nt.getTransaction=function(){return At.provider.getTransaction(et.transactionHash)},nt.getTransactionReceipt=function(){return At.provider.getTransactionReceipt(et.transactionHash)},At.emit.apply(At,[$.filter].concat(it))}this.provider||st.throwError("events require a provider or a signer with a provider",st.UNSUPPORTED_OPERATION,{operation:"once"}),this.provider.on($.filter,t),this._events.push({eventFilter:$,listener:tt,wrappedListener:t,once:et})},A.prototype.on=function($,tt){return this._addEventListener(this._getEventFilter($),tt,!1),this},A.prototype.once=function($,tt){return this._addEventListener(this._getEventFilter($),tt,!0),this},A.prototype.addListener=function($,tt){return this.on($,tt)},A.prototype.emit=function($){for(var tt=this,et=[],At=1;At<arguments.length;At++)et[At-1]=arguments[At];if(!this.provider)return!1;var nt=!1,it=this._getEventFilter($);return this._events=this._events.filter((function($){return $.eventFilter.eventTag!==it.eventTag||(setTimeout((function(){$.listener.apply(tt,et)}),0),nt=!0,!$.once)})),nt},A.prototype.listenerCount=function($){if(!this.provider)return 0;var tt=this._getEventFilter($);return this._events.filter((function($){return $.eventFilter.eventTag===tt.eventTag})).length},A.prototype.listeners=function($){if(!this.provider)return[];var tt=this._getEventFilter($);return this._events.filter((function($){return $.eventFilter.eventTag===tt.eventTag})).map((function($){return $.listener}))},A.prototype.removeAllListeners=function($){var tt=this;if(!this.provider)return this;var et=this._getEventFilter($);return this._events=this._events.filter((function($){return $.eventFilter.eventTag!==et.eventTag||(tt.provider.removeListener($.eventFilter.filter,$.wrappedListener),!1)})),this},A.prototype.removeListener=function($,tt){var et=this;if(!this.provider)return this;var At=!1,nt=this._getEventFilter($);return this._events=this._events.filter((function($){return $.eventFilter.eventTag!==nt.eventTag||$.listener!==tt||(et.provider.removeListener($.eventFilter.filter,$.wrappedListener),!!At||!(At=!0))})),this},A);function A($,tt,et){var At=this;if(st.checkNew(this,A),It.Interface.isInterface(tt)?ht.defineReadOnly(this,"interface",tt):ht.defineReadOnly(this,"interface",new It.Interface(tt)),yt.Signer.isSigner(et)?(ht.defineReadOnly(this,"provider",et.provider),ht.defineReadOnly(this,"signer",et)):pt.Provider.isProvider(et)?(ht.defineReadOnly(this,"provider",et),ht.defineReadOnly(this,"signer",null)):st.throwError("invalid signer or provider",st.INVALID_ARGUMENT,{arg:"signerOrProvider",value:et}),ht.defineReadOnly(this,"estimate",{}),ht.defineReadOnly(this,"functions",{}),ht.defineReadOnly(this,"filters",{}),Object.keys(this.interface.events).forEach((function($){var tt=At.interface.events[$];ht.defineReadOnly(At.filters,$,(function(){for(var $=[],et=0;et<arguments.length;et++)$[et]=arguments[et];return{address:At.address,topics:tt.encodeTopics($)}}))})),this._events=[],ht.defineReadOnly(this,"address",$),this.provider)ht.defineReadOnly(this,"addressPromise",this.provider.resolveName($).then((function($){if(null==$)throw new Error("name not found");return $})).catch((function($){throw $})));else try{ht.defineReadOnly(this,"addressPromise",Promise.resolve(ut.getAddress($)))}catch(tt){st.throwError("provider is required to use non-address contract address",st.INVALID_ARGUMENT,{argument:"addressOrName",value:$})}Object.keys(this.interface.functions).forEach((function($){var tt=w(At,$,!1);null==At[$]?ht.defineReadOnly(At,$,tt):st.warn("WARNING: Multiple definitions for "+$),null==At.functions[$]&&(ht.defineReadOnly(At.functions,$,tt),ht.defineReadOnly(At.estimate,$,w(At,$,!0)))}))}function E($,tt,et){var At=null;"string"==typeof tt?At=tt:dt.isArrayish(tt)?At=dt.hexlify(tt):"string"==typeof tt.object?At=tt.object:st.throwError("bytecode must be a valid hex string",st.INVALID_ARGUMENT,{arg:"bytecode",value:tt}),"0x"!==At.substring(0,2)&&(At="0x"+At),dt.isHexString(At)||st.throwError("bytecode must be a valid hex string",st.INVALID_ARGUMENT,{arg:"bytecode",value:tt}),At.length%2!=0&&st.throwError("bytecode must be valid data (even length)",st.INVALID_ARGUMENT,{arg:"bytecode",value:tt}),ht.defineReadOnly(this,"bytecode",At),It.Interface.isInterface($)?ht.defineReadOnly(this,"interface",$):ht.defineReadOnly(this,"interface",new It.Interface($)),et&&!yt.Signer.isSigner(et)&&st.throwError("invalid signer",st.INVALID_ARGUMENT,{arg:"signer",value:null}),ht.defineReadOnly(this,"signer",et||null)}et.Contract=Et,E.prototype.getDeployTransaction=function(){for(var $=[],tt=0;tt<arguments.length;tt++)$[tt]=arguments[tt];var et={};if($.length===this.interface.deployFunction.inputs.length+1)for(var At in et=ht.shallowCopy($.pop()))if(!Bt[At])throw new Error("unknown transaction override "+At);return["data","from","to"].forEach((function($){null!=et[$]&&st.throwError("cannot override "+$,st.UNSUPPORTED_OPERATION,{operation:$})})),st.checkArgumentCount($.length,this.interface.deployFunction.inputs.length," in Contract constructor"),et.data=this.interface.deployFunction.encode(this.bytecode,$),et},E.prototype.deploy=function(){for(var $=this,tt=[],et=0;et<arguments.length;et++)tt[et]=arguments[et];var At=this.getDeployTransaction.apply(this,tt);return this.signer.sendTransaction(At).then((function(tt){var et=new Et(ut.getContractAddress(tt),$.interface,$.signer);return ht.defineReadOnly(et,"deployTransaction",tt),et}))},E.prototype.attach=function($){return new Et($,this.interface,this.signer)},E.prototype.connect=function($){return new E(this.interface,this.bytecode,$)},E.fromSolidity=function($,tt){null==$&&st.throwError("missing compiler output",st.MISSING_ARGUMENT,{argument:"compilerOutput"});var et=($="string"==typeof $?JSON.parse($):$).abi,At=null;return $.bytecode?At=$.bytecode:$.evm&&$.evm.bytecode&&(At=$.evm.bytecode),new E(et,At,tt)},nt=E,et.ContractFactory=nt},{"./abstract-signer":2,"./constants":3,"./errors":5,"./providers/abstract-provider":50,"./utils/abi-coder":59,"./utils/address":60,"./utils/bignumber":63,"./utils/bytes":64,"./utils/interface":69,"./utils/properties":74}],5:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./_version");et.UNKNOWN_ERROR="UNKNOWN_ERROR",et.NOT_IMPLEMENTED="NOT_IMPLEMENTED",et.MISSING_NEW="MISSING_NEW",et.CALL_EXCEPTION="CALL_EXCEPTION",et.INVALID_ARGUMENT="INVALID_ARGUMENT",et.MISSING_ARGUMENT="MISSING_ARGUMENT",et.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",et.NUMERIC_FAULT="NUMERIC_FAULT",et.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",et.NONCE_EXPIRED="NONCE_EXPIRED",et.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED";var nt=!(et.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION"),it=!1;function n($,tt,nt){if(it)throw new Error("unknown error");tt=tt||et.UNKNOWN_ERROR,nt=nt||{};var at=[];Object.keys(nt).forEach((function($){try{at.push($+"="+JSON.stringify(nt[$]))}catch(tt){at.push($+"="+JSON.stringify(nt[$].toString()))}})),at.push("version="+At.version);var rt=$;at.length&&($+=" ("+at.join(", ")+")");var st=new Error($);throw st.reason=rt,st.code=tt,Object.keys(nt).forEach((function($){st[$]=nt[$]})),st}et.throwError=n,et.checkNew=function($,tt){$ instanceof tt||n("missing new",et.MISSING_NEW,{name:tt.name})},et.checkArgumentCount=function($,tt,At){At=At||"",$<tt&&n("missing argument"+At,et.MISSING_ARGUMENT,{count:$,expectedCount:tt}),tt<$&&n("too many arguments"+At,et.UNEXPECTED_ARGUMENT,{count:$,expectedCount:tt})},et.setCensorship=function($,tt){nt&&n("error censorship permanent",et.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),it=!!$,nt=!!tt},et.checkNormalize=function(){try{if(["NFD","NFC","NFKD","NFKC"].forEach((function($){try{"test".normalize($)}catch(tt){throw new Error("missing "+$)}})),String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch($){n("platform missing String.prototype.normalize",et.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:$.message})}};var at={debug:1,default:2,info:2,warn:3,error:4,off:5},rt=at.default;function l($,tt){rt>at[$]||console.log.apply(console,tt)}function h(){for(var $=[],tt=0;tt<arguments.length;tt++)$[tt]=arguments[tt];l("warn",$)}et.setLogLevel=function($){var tt=at[$];null!=tt?rt=tt:h("invliad log level - "+$)},et.warn=h,et.info=function(){for(var $=[],tt=0;tt<arguments.length;tt++)$[tt]=arguments[tt];l("info",$)}},{"./_version":1}],6:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=$("./contract");et.Contract=nt.Contract,et.ContractFactory=nt.ContractFactory,et.VoidSigner=nt.VoidSigner,nt=$("./abstract-signer"),et.Signer=nt.Signer,nt=$("./wallet"),et.Wallet=nt.Wallet,nt=At($("./constants")),et.constants=nt;var it=At($("./errors"));et.errors=it;var at=At($("./providers"));et.providers=at;var rt=At($("./utils"));et.utils=rt,At=At($("./wordlists")),et.wordlists=At,At=$("./utils/shims"),et.platform=At.platform,$=$("./_version"),et.version=$.version,et.getDefaultProvider=function($){var tt=rt.getNetwork($=null==$?"homestead":$);return tt&&tt._defaultProvider||it.throwError("unsupported getDefaultProvider network",it.UNSUPPORTED_OPERATION,{operation:"getDefaultProvider",network:$}),tt._defaultProvider(at)}},{"./_version":1,"./abstract-signer":2,"./constants":3,"./contract":4,"./errors":5,"./providers":54,"./utils":68,"./utils/shims":80,"./wallet":88,"./wordlists":89}],7:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0}),At=At($("./ethers")),et.ethers=At,function($){for(var tt in $)et.hasOwnProperty(tt)||(et[tt]=$[tt])}($("./ethers"))},{"./ethers":6}],8:[function($,tt,et){"use strict";!function($){function r($){return parseInt($)===$}function n($){if(r($.length)){for(var tt=0;tt<$.length;tt++)if(!r($[tt])||$[tt]<0||255<$[tt])return;return 1}}function o($,tt){if($.buffer&&ArrayBuffer.isView($)&&"Uint8Array"===$.name)return tt?$.slice?$.slice():Array.prototype.slice.call($):$;if(Array.isArray($)){if(!n($))throw new Error("Array contains invalid value: "+$);return new Uint8Array($)}if(r($.length)&&n($))return new Uint8Array($);throw new Error("unsupported array-like object")}function u($){return new Uint8Array($)}function s($,tt,et,At,nt){null==At&&null==nt||($=$.slice?$.slice(At,nt):Array.prototype.slice.call($,At,nt)),tt.set($,et)}var At,nt={toBytes:function($){var tt=[],et=0;for($=encodeURI($);et<$.length;){var At=$.charCodeAt(et++);37===At?(tt.push(parseInt($.substr(et,2),16)),et+=2):tt.push(At)}return o(tt)},fromBytes:function($){for(var tt=[],et=0;et<$.length;){var At=$[et];At<128?(tt.push(String.fromCharCode(At)),et++):191<At&&At<224?(tt.push(String.fromCharCode((31&At)<<6|63&$[et+1])),et+=2):(tt.push(String.fromCharCode((15&At)<<12|(63&$[et+1])<<6|63&$[et+2])),et+=3)}return tt.join("")}},it=(At="0123456789abcdef",{toBytes:function($){for(var tt=[],et=0;et<$.length;et+=2)tt.push(parseInt($.substr(et,2),16));return tt},fromBytes:function($){for(var tt=[],et=0;et<$.length;et++){var nt=$[et];tt.push(At[(240&nt)>>4]+At[15&nt])}return tt.join("")}}),at={16:10,24:12,32:14},rt=[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],st=[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],ot=[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],ut=[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],ct=[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],dt=[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],It=[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],ht=[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],pt=[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],yt=[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],Ct=[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],Bt=[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],Et=[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],mt=[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],Qt=[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($){for(var tt=[],et=0;et<$.length;et+=4)tt.push($[et]<<24|$[et+1]<<16|$[et+2]<<8|$[et+3]);return tt}var k=function($){if(!(this instanceof k))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:o($,!0)}),this._prepare()};k.prototype._prepare=function(){var $=at[this.key.length];if(null==$)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var tt=0;tt<=$;tt++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var et,At=4*($+1),nt=this.key.length/4,it=S(this.key);for(tt=0;tt<nt;tt++)this._Ke[et=tt>>2][tt%4]=it[tt],this._Kd[$-et][tt%4]=it[tt];for(var ot,ut=0,ct=nt;ct<At;){if(ot=it[nt-1],it[0]^=st[ot>>16&255]<<24^st[ot>>8&255]<<16^st[255&ot]<<8^st[ot>>24&255]^rt[ut]<<24,ut+=1,8!=nt)for(tt=1;tt<nt;tt++)it[tt]^=it[tt-1];else{for(tt=1;tt<nt/2;tt++)it[tt]^=it[tt-1];for(ot=it[nt/2-1],it[nt/2]^=st[255&ot]^st[ot>>8&255]<<8^st[ot>>16&255]<<16^st[ot>>24&255]<<24,tt=nt/2+1;tt<nt;tt++)it[tt]^=it[tt-1]}for(tt=0;tt<nt&&ct<At;)this._Ke[dt=ct>>2][It=ct%4]=it[tt],this._Kd[$-dt][It]=it[tt++],ct++}for(var dt=1;dt<$;dt++)for(var It=0;It<4;It++)ot=this._Kd[dt][It],this._Kd[dt][It]=Bt[ot>>24&255]^Et[ot>>16&255]^mt[ot>>8&255]^Qt[255&ot]},k.prototype.encrypt=function($){if(16!=$.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var tt=this._Ke.length-1,et=[0,0,0,0],At=S($),nt=0;nt<4;nt++)At[nt]^=this._Ke[0][nt];for(var it=1;it<tt;it++){for(nt=0;nt<4;nt++)et[nt]=ut[At[nt]>>24&255]^ct[At[(nt+1)%4]>>16&255]^dt[At[(nt+2)%4]>>8&255]^It[255&At[(nt+3)%4]]^this._Ke[it][nt];At=et.slice()}var at,rt=u(16);for(nt=0;nt<4;nt++)at=this._Ke[tt][nt],rt[4*nt]=255&(st[At[nt]>>24&255]^at>>24),rt[4*nt+1]=255&(st[At[(nt+1)%4]>>16&255]^at>>16),rt[4*nt+2]=255&(st[At[(nt+2)%4]>>8&255]^at>>8),rt[4*nt+3]=255&(st[255&At[(nt+3)%4]]^at);return rt},k.prototype.decrypt=function($){if(16!=$.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var tt=this._Kd.length-1,et=[0,0,0,0],At=S($),nt=0;nt<4;nt++)At[nt]^=this._Kd[0][nt];for(var it=1;it<tt;it++){for(nt=0;nt<4;nt++)et[nt]=ht[At[nt]>>24&255]^pt[At[(nt+3)%4]>>16&255]^yt[At[(nt+2)%4]>>8&255]^Ct[255&At[(nt+1)%4]]^this._Kd[it][nt];At=et.slice()}var at,rt=u(16);for(nt=0;nt<4;nt++)at=this._Kd[tt][nt],rt[4*nt]=255&(ot[At[nt]>>24&255]^at>>24),rt[4*nt+1]=255&(ot[At[(nt+3)%4]>>16&255]^at>>16),rt[4*nt+2]=255&(ot[At[(nt+2)%4]>>8&255]^at>>8),rt[4*nt+3]=255&(ot[255&At[(nt+1)%4]]^at);return rt};var N=function($){if(!(this instanceof N))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new k($)};N.prototype.encrypt=function($){if(($=o($)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var tt=u($.length),et=u(16),At=0;At<$.length;At+=16)s($,et,0,At,At+16),s(et=this._aes.encrypt(et),tt,At);return tt},N.prototype.decrypt=function($){if(($=o($)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var tt=u($.length),et=u(16),At=0;At<$.length;At+=16)s($,et,0,At,At+16),s(et=this._aes.decrypt(et),tt,At);return tt};var x=function($,tt){if(!(this instanceof x))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",tt){if(16!=tt.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else tt=u(16);this._lastCipherblock=o(tt,!0),this._aes=new k($)};x.prototype.encrypt=function($){if(($=o($)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var tt=u($.length),et=u(16),At=0;At<$.length;At+=16){s($,et,0,At,At+16);for(var nt=0;nt<16;nt++)et[nt]^=this._lastCipherblock[nt];this._lastCipherblock=this._aes.encrypt(et),s(this._lastCipherblock,tt,At)}return tt},x.prototype.decrypt=function($){if(($=o($)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var tt=u($.length),et=u(16),At=0;At<$.length;At+=16){s($,et,0,At,At+16),et=this._aes.decrypt(et);for(var nt=0;nt<16;nt++)tt[At+nt]=et[nt]^this._lastCipherblock[nt];s($,this._lastCipherblock,0,At,At+16)}return tt};var P=function($,tt,et){if(!(this instanceof P))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",tt){if(16!=tt.length)throw new Error("invalid initialation vector size (must be 16 size)")}else tt=u(16);this.segmentSize=et=et||1,this._shiftRegister=o(tt,!0),this._aes=new k($)};P.prototype.encrypt=function($){if($.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var tt=o($,!0),et=0;et<tt.length;et+=this.segmentSize){for(var At=this._aes.encrypt(this._shiftRegister),nt=0;nt<this.segmentSize;nt++)tt[et+nt]^=At[nt];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s(tt,this._shiftRegister,16-this.segmentSize,et,et+this.segmentSize)}return tt},P.prototype.decrypt=function($){if($.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var tt=o($,!0),et=0;et<tt.length;et+=this.segmentSize){for(var At=this._aes.encrypt(this._shiftRegister),nt=0;nt<this.segmentSize;nt++)tt[et+nt]^=At[nt];s(this._shiftRegister,this._shiftRegister,0,this.segmentSize),s($,this._shiftRegister,16-this.segmentSize,et,et+this.segmentSize)}return tt};var I=function($,tt){if(!(this instanceof I))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",tt){if(16!=tt.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else tt=u(16);this._lastPrecipher=o(tt,!0),this._lastPrecipherIndex=16,this._aes=new k($)};I.prototype.encrypt=function($){for(var tt=o($,!0),et=0;et<tt.length;et++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),tt[et]^=this._lastPrecipher[this._lastPrecipherIndex++];return tt},I.prototype.decrypt=I.prototype.encrypt;var T=function($){if(!(this instanceof T))throw Error("Counter must be instanitated with `new`");"number"==typeof($=0===$||$?$:1)?(this._counter=u(16),this.setValue($)):this.setBytes($)};T.prototype.setValue=function($){if("number"!=typeof $||parseInt($)!=$)throw new Error("invalid counter value (must be an integer)");for(var tt=15;0<=tt;--tt)this._counter[tt]=$%256,$>>=8},T.prototype.setBytes=function($){if(16!=($=o($,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=$},T.prototype.increment=function(){for(var $=15;0<=$;$--){if(255!==this._counter[$]){this._counter[$]++;break}this._counter[$]=0}};var R=function($,tt){if(!(this instanceof R))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",tt instanceof T||(tt=new T(tt)),this._counter=tt,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new k($)};R.prototype.encrypt=function($){for(var tt=o($,!0),et=0;et<tt.length;et++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),tt[et]^=this._remainingCounter[this._remainingCounterIndex++];return tt},R.prototype.decrypt=R.prototype.encrypt,nt={AES:k,Counter:T,ModeOfOperation:{ecb:N,cbc:x,cfb:P,ofb:I,ctr:R},utils:{hex:it,utf8:nt},padding:{pkcs7:{pad:function($){var tt=16-($=o($,!0)).length%16,et=u($.length+tt);s($,et);for(var At=$.length;At<et.length;At++)et[At]=tt;return et},strip:function($){if(($=o($,!0)).length<16)throw new Error("PKCS#7 invalid length");var tt=$[$.length-1];if(16<tt)throw new Error("PKCS#7 padding byte out of range");for(var et=$.length-tt,At=0;At<tt;At++)if($[et+At]!==tt)throw new Error("PKCS#7 invalid padding byte");var nt=u(et);return s($,nt,0,0,et),nt}}},_arrayTest:{coerceArray:o,createArray:u,copyArray:s}},void 0!==et?tt.exports=nt:($.aesjs&&(nt._aesjs=$.aesjs),$.aesjs=nt)}(this)},{}],9:[function($,tt,et){!function(tt,et){"use strict";function y($,tt){if(!$)throw new Error(tt||"Assertion failed")}function r($,tt){function r(){}$.super_=tt,r.prototype=tt.prototype,$.prototype=new r,$.prototype.constructor=$}function m($,tt,et){if(m.isBN($))return $;this.negative=0,this.words=null,this.length=0,(this.red=null)!==$&&("le"!==tt&&"be"!==tt||(et=tt,tt=10),this._init($||0,tt||10,et||"be"))}var At;"object"==typeof tt?tt.exports=m:et.BN=m,(m.BN=m).wordSize=26;try{At=("undefined"!=typeof window&&void 0!==window.Buffer?window:$("buffer")).Buffer}catch(tt){}function i($,tt){return 65<=(tt=$.charCodeAt(tt))&&tt<=70?tt-55:97<=tt&&tt<=102?tt-87:tt-48&15}function a($,tt,et){var At=i($,et);return tt<=et-1&&(At|=i($,et-1)<<4),At}function f($,tt,et,At){for(var nt=0,it=Math.min($.length,et),at=tt;at<it;at++){var rt=$.charCodeAt(at)-48;nt*=At,nt+=49<=rt?rt-49+10:17<=rt?rt-17+10:rt}return nt}m.isBN=function($){return $ instanceof m||null!==$&&"object"==typeof $&&$.constructor.wordSize===m.wordSize&&Array.isArray($.words)},m.max=function($,tt){return 0<$.cmp(tt)?$:tt},m.min=function($,tt){return $.cmp(tt)<0?$:tt},m.prototype._init=function($,tt,et){if("number"==typeof $)return this._initNumber($,tt,et);if("object"==typeof $)return this._initArray($,tt,et);y((tt="hex"===tt?16:tt)===(0|tt)&&2<=tt&&tt<=36);var At=0;"-"===($=$.toString().replace(/\s+/g,""))[0]&&(At++,this.negative=1),At<$.length&&(16===tt?this._parseHex($,At,et):(this._parseBase($,tt,At),"le"===et&&this._initArray(this.toArray(),tt,et)))},m.prototype._initNumber=function($,tt,et){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[67108863&$],this.length=1):$<4503599627370496?(this.words=[67108863&$,$/67108864&67108863],this.length=2):(y($<9007199254740992),this.words=[67108863&$,$/67108864&67108863,1],this.length=3),"le"===et&&this._initArray(this.toArray(),tt,et)},m.prototype._initArray=function($,tt,et){if(y("number"==typeof $.length),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var At,nt,it=0;it<this.length;it++)this.words[it]=0;var at=0;if("be"===et)for(it=$.length-1,At=0;0<=it;it-=3)nt=$[it]|$[it-1]<<8|$[it-2]<<16,this.words[At]|=nt<<at&67108863,this.words[At+1]=nt>>>26-at&67108863,26<=(at+=24)&&(at-=26,At++);else if("le"===et)for(At=it=0;it<$.length;it+=3)nt=$[it]|$[it+1]<<8|$[it+2]<<16,this.words[At]|=nt<<at&67108863,this.words[At+1]=nt>>>26-at&67108863,26<=(at+=24)&&(at-=26,At++);return this.strip()},m.prototype._parseHex=function($,tt,et){this.length=Math.ceil(($.length-tt)/6),this.words=new Array(this.length);for(var At=0;At<this.length;At++)this.words[At]=0;var nt,it=0,at=0;if("be"===et)for(At=$.length-1;tt<=At;At-=2)nt=a($,tt,At)<<it,this.words[at]|=67108863&nt,18<=it?(it-=18,this.words[at+=1]|=nt>>>26):it+=8;else for(At=($.length-tt)%2==0?tt+1:tt;At<$.length;At+=2)nt=a($,tt,At)<<it,this.words[at]|=67108863&nt,18<=it?(it-=18,this.words[at+=1]|=nt>>>26):it+=8;this.strip()},m.prototype._parseBase=function($,tt,et){this.words=[0];for(var At=0,nt=this.length=1;nt<=67108863;nt*=tt)At++;nt=nt/tt|0;for(var it=$.length-et,at=it%--At,rt=Math.min(it,it-at)+et,st=0,ot=et;ot<rt;ot+=At)st=f($,ot,ot+At,tt),this.imuln(nt),this.words[0]+st<67108864?this.words[0]+=st:this._iaddn(st);if(0!=at){var ut=1;for(st=f($,ot,$.length,tt),ot=0;ot<at;ot++)ut*=tt;this.imuln(ut),this.words[0]+st<67108864?this.words[0]+=st:this._iaddn(st)}this.strip()},m.prototype.copy=function($){$.words=new Array(this.length);for(var tt=0;tt<this.length;tt++)$.words[tt]=this.words[tt];$.length=this.length,$.negative=this.negative,$.red=this.red},m.prototype.clone=function(){var $=new m(null);return this.copy($),$},m.prototype._expand=function($){for(;this.length<$;)this.words[this.length++]=0;return this},m.prototype.strip=function(){for(;1<this.length&&0===this.words[this.length-1];)this.length--;return this._normSign()},m.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},m.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var nt=["","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"],it=[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],at=[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 o($,tt,et){et.negative=tt.negative^$.negative;var At=$.length+tt.length|0,nt=(At=(et.length=At)-1|0,(at=(0|$.words[0])*(0|tt.words[0]))/67108864|0);et.words[0]=67108863&at;for(var it=1;it<At;it++){for(var at,rt=nt>>>26,st=67108863&nt,ot=Math.min(it,tt.length-1),ut=Math.max(0,it-$.length+1);ut<=ot;ut++)rt+=(at=(0|$.words[it-ut|0])*(0|tt.words[ut])+st)/67108864|0,st=67108863&at;et.words[it]=0|st,nt=0|rt}return 0!==nt?et.words[it]=0|nt:et.length--,et.strip()}m.prototype.toString=function($,tt){if(tt=0|tt||1,16===($=$||10)||"hex"===$){ut="";for(var et=0,At=0,rt=0;rt<this.length;rt++){var st=this.words[rt],ot=(16777215&(st<<et|At)).toString(16),ut=0!=(At=st>>>24-et&16777215)||rt!==this.length-1?nt[6-ot.length]+ot+ut:ot+ut;26<=(et+=2)&&(et-=26,rt--)}for(0!==At&&(ut=At.toString(16)+ut);ut.length%tt!=0;)ut="0"+ut;return 0!==this.negative?"-"+ut:ut}if($===(0|$)&&2<=$&&$<=36){var ct=it[$],dt=at[$];for(ut="",(It=this.clone()).negative=0;!It.isZero();){var It,ht=It.modn(dt).toString($);ut=(It=It.idivn(dt)).isZero()?ht+ut:nt[ct-ht.length]+ht+ut}for(this.isZero()&&(ut="0"+ut);ut.length%tt!=0;)ut="0"+ut;return 0!==this.negative?"-"+ut:ut}y(!1,"Base should be between 2 and 36")},m.prototype.toNumber=function(){var $=this.words[0];return 2===this.length?$+=67108864*this.words[1]:3===this.length&&1===this.words[2]?$+=4503599627370496+67108864*this.words[1]:2<this.length&&y(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-$:$},m.prototype.toJSON=function(){return this.toString(16)},m.prototype.toBuffer=function($,tt){return y(void 0!==At),this.toArrayLike(At,$,tt)},m.prototype.toArray=function($,tt){return this.toArrayLike(Array,$,tt)},m.prototype.toArrayLike=function($,tt,et){var At=this.byteLength(),nt=et||Math.max(1,At);y(At<=nt,"byte array longer than desired length"),y(0<nt,"Requested array length <= 0"),this.strip(),tt="le"===tt;var it,at,rt=new $(nt),st=this.clone();if(tt){for(at=0;!st.isZero();at++)it=st.andln(255),st.iushrn(8),rt[at]=it;for(;at<nt;at++)rt[at]=0}else{for(at=0;at<nt-At;at++)rt[at]=0;for(at=0;!st.isZero();at++)it=st.andln(255),st.iushrn(8),rt[nt-at-1]=it}return rt},Math.clz32?m.prototype._countBits=function($){return 32-Math.clz32($)}:m.prototype._countBits=function($){var tt=$;return $=0,4096<=tt&&($+=13,tt>>>=13),64<=tt&&($+=7,tt>>>=7),8<=tt&&($+=4,tt>>>=4),2<=tt&&($+=2,tt>>>=2),$+tt},m.prototype._zeroBits=function($){if(0===$)return 26;var tt=$;return $=0,0==(8191&tt)&&($+=13,tt>>>=13),0==(127&tt)&&($+=7,tt>>>=7),0==(15&tt)&&($+=4,tt>>>=4),0==(3&tt)&&($+=2,tt>>>=2),0==(1&tt)&&$++,$},m.prototype.bitLength=function(){var $=this.words[this.length-1];return $=this._countBits($),26*(this.length-1)+$},m.prototype.zeroBits=function(){if(this.isZero())return 0;for(var $=0,tt=0;tt<this.length;tt++){var et=this._zeroBits(this.words[tt]);if($+=et,26!==et)break}return $},m.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},m.prototype.toTwos=function($){return 0!==this.negative?this.abs().inotn($).iaddn(1):this.clone()},m.prototype.fromTwos=function($){return this.testn($-1)?this.notn($).iaddn(1).ineg():this.clone()},m.prototype.isNeg=function(){return 0!==this.negative},m.prototype.neg=function(){return this.clone().ineg()},m.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},m.prototype.iuor=function($){for(;this.length<$.length;)this.words[this.length++]=0;for(var tt=0;tt<$.length;tt++)this.words[tt]=this.words[tt]|$.words[tt];return this.strip()},m.prototype.ior=function($){return y(0==(this.negative|$.negative)),this.iuor($)},m.prototype.or=function($){return this.length>$.length?this.clone().ior($):$.clone().ior(this)},m.prototype.uor=function($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},m.prototype.iuand=function($){for(var tt=this.length>$.length?$:this,et=0;et<tt.length;et++)this.words[et]=this.words[et]&$.words[et];return this.length=tt.length,this.strip()},m.prototype.iand=function($){return y(0==(this.negative|$.negative)),this.iuand($)},m.prototype.and=function($){return this.length>$.length?this.clone().iand($):$.clone().iand(this)},m.prototype.uand=function($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},m.prototype.iuxor=function($){for(var tt,et=this.length>$.length?(tt=this,$):(tt=$,this),At=0;At<et.length;At++)this.words[At]=tt.words[At]^et.words[At];if(this!==tt)for(;At<tt.length;At++)this.words[At]=tt.words[At];return this.length=tt.length,this.strip()},m.prototype.ixor=function($){return y(0==(this.negative|$.negative)),this.iuxor($)},m.prototype.xor=function($){return this.length>$.length?this.clone().ixor($):$.clone().ixor(this)},m.prototype.uxor=function($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},m.prototype.inotn=function($){y("number"==typeof $&&0<=$);var tt=0|Math.ceil($/26);$%=26,this._expand(tt),0<$&&tt--;for(var et=0;et<tt;et++)this.words[et]=67108863&~this.words[et];return 0<$&&(this.words[et]=~this.words[et]&67108863>>26-$),this.strip()},m.prototype.notn=function($){return this.clone().inotn($)},m.prototype.setn=function($,tt){y("number"==typeof $&&0<=$);var et=$/26|0;return $%=26,this._expand(1+et),this.words[et]=tt?this.words[et]|1<<$:this.words[et]&~(1<<$),this.strip()},m.prototype.iadd=function($){var tt,et;if(0!==this.negative&&0===$.negative)return this.negative=0,tt=this.isub($),this.negative^=1,this._normSign();if(0===this.negative&&0!==$.negative)return $.negative=0,tt=this.isub($),$.negative=1,tt._normSign();for(var At=this.length>$.length?(et=this,$):(et=$,this),nt=0,it=0;it<At.length;it++)tt=(0|et.words[it])+(0|At.words[it])+nt,this.words[it]=67108863&tt,nt=tt>>>26;for(;0!==nt&&it<et.length;it++)tt=(0|et.words[it])+nt,this.words[it]=67108863&tt,nt=tt>>>26;if(this.length=et.length,0!==nt)this.words[this.length]=nt,this.length++;else if(et!==this)for(;it<et.length;it++)this.words[it]=et.words[it];return this},m.prototype.add=function($){var tt;return 0!==$.negative&&0===this.negative?($.negative=0,tt=this.sub($),$.negative^=1,tt):0===$.negative&&0!==this.negative?(this.negative=0,tt=$.sub(this),this.negative=1,tt):this.length>$.length?this.clone().iadd($):$.clone().iadd(this)},m.prototype.isub=function($){if(0!==$.negative){$.negative=0;var tt=this.iadd($);return $.negative=1,tt._normSign()}if(0!==this.negative)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var et,At=this.cmp($);if(0===At)return this.negative=0,this.length=1,this.words[0]=0,this;for(var nt=0<At?(et=this,$):(et=$,this),it=0,at=0;at<nt.length;at++)it=(tt=(0|et.words[at])-(0|nt.words[at])+it)>>26,this.words[at]=67108863&tt;for(;0!==it&&at<et.length;at++)it=(tt=(0|et.words[at])+it)>>26,this.words[at]=67108863&tt;if(0===it&&at<et.length&&et!==this)for(;at<et.length;at++)this.words[at]=et.words[at];return this.length=Math.max(this.length,at),et!==this&&(this.negative=1),this.strip()},m.prototype.sub=function($){return this.clone().isub($)};var s=function($,tt,et){var At,nt,it,at=$.words,rt=tt.words,st=et.words,ot=8191&(At=0|at[0]),ut=At>>>13,ct=8191&(Jt=0|at[1]),dt=Jt>>>13,It=8191&(zt=0|at[2]),ht=zt>>>13,pt=8191&(nt=0|at[3]),yt=nt>>>13,Ct=8191&(Zt=0|at[4]),Bt=Zt>>>13,Et=8191&(Vt=0|at[5]),mt=Vt>>>13,Qt=8191&(it=0|at[6]),bt=it>>>13,wt=8191&(Wt=0|at[7]),vt=Wt>>>13,Mt=8191&(Xt=0|at[8]),Dt=Xt>>>13,St=8191&($t=0|at[9]),kt=$t>>>13,_t=8191&(ee=0|rt[0]),Rt=ee>>>13,Nt=0|rt[1],Ht=8191&Nt,Ft=Nt>>>13,Gt=0|rt[2],Ut=8191&Gt,xt=Gt>>>13,Lt=8191&(Ae=0|rt[3]),Tt=Ae>>>13,Yt=0|rt[4],Ot=8191&Yt,Kt=Yt>>>13,Pt=0|rt[5],qt=8191&Pt,jt=Pt>>>13,Jt=8191&(At=0|rt[6]),zt=At>>>13,Zt=8191&(nt=0|rt[7]),Vt=nt>>>13,Wt=8191&(it=0|rt[8]),Xt=it>>>13,$t=8191&(at=0|rt[9]),ee=at>>>13;et.negative=$.negative^tt.negative,et.length=19;var Ae=(0+Math.imul(ot,_t)|0)+((8191&(Gt=(Gt=Math.imul(ot,Rt))+Math.imul(ut,_t)|0))<<13)|0,ne=((Yt=Math.imul(ut,Rt))+(Gt>>>13)|0)+(Ae>>>26)|0;return Ae&=67108863,Nt=Math.imul(ct,_t),Gt=(Gt=Math.imul(ct,Rt))+Math.imul(dt,_t)|0,Yt=Math.imul(dt,Rt),Pt=(ne+(Nt+Math.imul(ot,Ht)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,Ft)|0)+Math.imul(ut,Ht)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,Ft)|0)+(Gt>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,Nt=Math.imul(It,_t),Gt=(Gt=Math.imul(It,Rt))+Math.imul(ht,_t)|0,Yt=Math.imul(ht,Rt),Nt=Nt+Math.imul(ct,Ht)|0,Gt=(Gt=Gt+Math.imul(ct,Ft)|0)+Math.imul(dt,Ht)|0,Yt=Yt+Math.imul(dt,Ft)|0,At=(ne+(Nt+Math.imul(ot,Ut)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,xt)|0)+Math.imul(ut,Ut)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,xt)|0)+(Gt>>>13)|0)+(At>>>26)|0,At&=67108863,Nt=Math.imul(pt,_t),Gt=(Gt=Math.imul(pt,Rt))+Math.imul(yt,_t)|0,Yt=Math.imul(yt,Rt),Nt=Nt+Math.imul(It,Ht)|0,Gt=(Gt=Gt+Math.imul(It,Ft)|0)+Math.imul(ht,Ht)|0,Yt=Yt+Math.imul(ht,Ft)|0,Nt=Nt+Math.imul(ct,Ut)|0,Gt=(Gt=Gt+Math.imul(ct,xt)|0)+Math.imul(dt,Ut)|0,Yt=Yt+Math.imul(dt,xt)|0,nt=(ne+(Nt+Math.imul(ot,Lt)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,Tt)|0)+Math.imul(ut,Lt)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,Tt)|0)+(Gt>>>13)|0)+(nt>>>26)|0,nt&=67108863,Nt=Math.imul(Ct,_t),Gt=(Gt=Math.imul(Ct,Rt))+Math.imul(Bt,_t)|0,Yt=Math.imul(Bt,Rt),Nt=Nt+Math.imul(pt,Ht)|0,Gt=(Gt=Gt+Math.imul(pt,Ft)|0)+Math.imul(yt,Ht)|0,Yt=Yt+Math.imul(yt,Ft)|0,Nt=Nt+Math.imul(It,Ut)|0,Gt=(Gt=Gt+Math.imul(It,xt)|0)+Math.imul(ht,Ut)|0,Yt=Yt+Math.imul(ht,xt)|0,Nt=Nt+Math.imul(ct,Lt)|0,Gt=(Gt=Gt+Math.imul(ct,Tt)|0)+Math.imul(dt,Lt)|0,Yt=Yt+Math.imul(dt,Tt)|0,it=(ne+(Nt+Math.imul(ot,Ot)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,Kt)|0)+Math.imul(ut,Ot)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,Kt)|0)+(Gt>>>13)|0)+(it>>>26)|0,it&=67108863,Nt=Math.imul(Et,_t),Gt=(Gt=Math.imul(Et,Rt))+Math.imul(mt,_t)|0,Yt=Math.imul(mt,Rt),Nt=Nt+Math.imul(Ct,Ht)|0,Gt=(Gt=Gt+Math.imul(Ct,Ft)|0)+Math.imul(Bt,Ht)|0,Yt=Yt+Math.imul(Bt,Ft)|0,Nt=Nt+Math.imul(pt,Ut)|0,Gt=(Gt=Gt+Math.imul(pt,xt)|0)+Math.imul(yt,Ut)|0,Yt=Yt+Math.imul(yt,xt)|0,Nt=Nt+Math.imul(It,Lt)|0,Gt=(Gt=Gt+Math.imul(It,Tt)|0)+Math.imul(ht,Lt)|0,Yt=Yt+Math.imul(ht,Tt)|0,Nt=Nt+Math.imul(ct,Ot)|0,Gt=(Gt=Gt+Math.imul(ct,Kt)|0)+Math.imul(dt,Ot)|0,Yt=Yt+Math.imul(dt,Kt)|0,rt=(ne+(Nt+Math.imul(ot,qt)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,jt)|0)+Math.imul(ut,qt)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,jt)|0)+(Gt>>>13)|0)+(rt>>>26)|0,rt&=67108863,Nt=Math.imul(Qt,_t),Gt=(Gt=Math.imul(Qt,Rt))+Math.imul(bt,_t)|0,Yt=Math.imul(bt,Rt),Nt=Nt+Math.imul(Et,Ht)|0,Gt=(Gt=Gt+Math.imul(Et,Ft)|0)+Math.imul(mt,Ht)|0,Yt=Yt+Math.imul(mt,Ft)|0,Nt=Nt+Math.imul(Ct,Ut)|0,Gt=(Gt=Gt+Math.imul(Ct,xt)|0)+Math.imul(Bt,Ut)|0,Yt=Yt+Math.imul(Bt,xt)|0,Nt=Nt+Math.imul(pt,Lt)|0,Gt=(Gt=Gt+Math.imul(pt,Tt)|0)+Math.imul(yt,Lt)|0,Yt=Yt+Math.imul(yt,Tt)|0,Nt=Nt+Math.imul(It,Ot)|0,Gt=(Gt=Gt+Math.imul(It,Kt)|0)+Math.imul(ht,Ot)|0,Yt=Yt+Math.imul(ht,Kt)|0,Nt=Nt+Math.imul(ct,qt)|0,Gt=(Gt=Gt+Math.imul(ct,jt)|0)+Math.imul(dt,qt)|0,Yt=Yt+Math.imul(dt,jt)|0,at=(ne+(Nt+Math.imul(ot,Jt)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,zt)|0)+Math.imul(ut,Jt)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,zt)|0)+(Gt>>>13)|0)+(at>>>26)|0,at&=67108863,Nt=Math.imul(wt,_t),Gt=(Gt=Math.imul(wt,Rt))+Math.imul(vt,_t)|0,Yt=Math.imul(vt,Rt),Nt=Nt+Math.imul(Qt,Ht)|0,Gt=(Gt=Gt+Math.imul(Qt,Ft)|0)+Math.imul(bt,Ht)|0,Yt=Yt+Math.imul(bt,Ft)|0,Nt=Nt+Math.imul(Et,Ut)|0,Gt=(Gt=Gt+Math.imul(Et,xt)|0)+Math.imul(mt,Ut)|0,Yt=Yt+Math.imul(mt,xt)|0,Nt=Nt+Math.imul(Ct,Lt)|0,Gt=(Gt=Gt+Math.imul(Ct,Tt)|0)+Math.imul(Bt,Lt)|0,Yt=Yt+Math.imul(Bt,Tt)|0,Nt=Nt+Math.imul(pt,Ot)|0,Gt=(Gt=Gt+Math.imul(pt,Kt)|0)+Math.imul(yt,Ot)|0,Yt=Yt+Math.imul(yt,Kt)|0,Nt=Nt+Math.imul(It,qt)|0,Gt=(Gt=Gt+Math.imul(It,jt)|0)+Math.imul(ht,qt)|0,Yt=Yt+Math.imul(ht,jt)|0,Nt=Nt+Math.imul(ct,Jt)|0,Gt=(Gt=Gt+Math.imul(ct,zt)|0)+Math.imul(dt,Jt)|0,Yt=Yt+Math.imul(dt,zt)|0,$=(ne+(Nt+Math.imul(ot,Zt)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,Vt)|0)+Math.imul(ut,Zt)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,Vt)|0)+(Gt>>>13)|0)+($>>>26)|0,$&=67108863,Nt=Math.imul(Mt,_t),Gt=(Gt=Math.imul(Mt,Rt))+Math.imul(Dt,_t)|0,Yt=Math.imul(Dt,Rt),Nt=Nt+Math.imul(wt,Ht)|0,Gt=(Gt=Gt+Math.imul(wt,Ft)|0)+Math.imul(vt,Ht)|0,Yt=Yt+Math.imul(vt,Ft)|0,Nt=Nt+Math.imul(Qt,Ut)|0,Gt=(Gt=Gt+Math.imul(Qt,xt)|0)+Math.imul(bt,Ut)|0,Yt=Yt+Math.imul(bt,xt)|0,Nt=Nt+Math.imul(Et,Lt)|0,Gt=(Gt=Gt+Math.imul(Et,Tt)|0)+Math.imul(mt,Lt)|0,Yt=Yt+Math.imul(mt,Tt)|0,Nt=Nt+Math.imul(Ct,Ot)|0,Gt=(Gt=Gt+Math.imul(Ct,Kt)|0)+Math.imul(Bt,Ot)|0,Yt=Yt+Math.imul(Bt,Kt)|0,Nt=Nt+Math.imul(pt,qt)|0,Gt=(Gt=Gt+Math.imul(pt,jt)|0)+Math.imul(yt,qt)|0,Yt=Yt+Math.imul(yt,jt)|0,Nt=Nt+Math.imul(It,Jt)|0,Gt=(Gt=Gt+Math.imul(It,zt)|0)+Math.imul(ht,Jt)|0,Yt=Yt+Math.imul(ht,zt)|0,Nt=Nt+Math.imul(ct,Zt)|0,Gt=(Gt=Gt+Math.imul(ct,Vt)|0)+Math.imul(dt,Zt)|0,Yt=Yt+Math.imul(dt,Vt)|0,tt=(ne+(Nt+Math.imul(ot,Wt)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,Xt)|0)+Math.imul(ut,Wt)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,Xt)|0)+(Gt>>>13)|0)+(tt>>>26)|0,tt&=67108863,Nt=Math.imul(St,_t),Gt=(Gt=Math.imul(St,Rt))+Math.imul(kt,_t)|0,Yt=Math.imul(kt,Rt),Nt=Nt+Math.imul(Mt,Ht)|0,Gt=(Gt=Gt+Math.imul(Mt,Ft)|0)+Math.imul(Dt,Ht)|0,Yt=Yt+Math.imul(Dt,Ft)|0,Nt=Nt+Math.imul(wt,Ut)|0,Gt=(Gt=Gt+Math.imul(wt,xt)|0)+Math.imul(vt,Ut)|0,Yt=Yt+Math.imul(vt,xt)|0,Nt=Nt+Math.imul(Qt,Lt)|0,Gt=(Gt=Gt+Math.imul(Qt,Tt)|0)+Math.imul(bt,Lt)|0,Yt=Yt+Math.imul(bt,Tt)|0,Nt=Nt+Math.imul(Et,Ot)|0,Gt=(Gt=Gt+Math.imul(Et,Kt)|0)+Math.imul(mt,Ot)|0,Yt=Yt+Math.imul(mt,Kt)|0,Nt=Nt+Math.imul(Ct,qt)|0,Gt=(Gt=Gt+Math.imul(Ct,jt)|0)+Math.imul(Bt,qt)|0,Yt=Yt+Math.imul(Bt,jt)|0,Nt=Nt+Math.imul(pt,Jt)|0,Gt=(Gt=Gt+Math.imul(pt,zt)|0)+Math.imul(yt,Jt)|0,Yt=Yt+Math.imul(yt,zt)|0,Nt=Nt+Math.imul(It,Zt)|0,Gt=(Gt=Gt+Math.imul(It,Vt)|0)+Math.imul(ht,Zt)|0,Yt=Yt+Math.imul(ht,Vt)|0,Nt=Nt+Math.imul(ct,Wt)|0,Gt=(Gt=Gt+Math.imul(ct,Xt)|0)+Math.imul(dt,Wt)|0,Yt=Yt+Math.imul(dt,Xt)|0,ot=(ne+(Nt+Math.imul(ot,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ot,ee)|0)+Math.imul(ut,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ut,ee)|0)+(Gt>>>13)|0)+(ot>>>26)|0,ot&=67108863,Nt=Math.imul(St,Ht),Gt=(Gt=Math.imul(St,Ft))+Math.imul(kt,Ht)|0,Yt=Math.imul(kt,Ft),Nt=Nt+Math.imul(Mt,Ut)|0,Gt=(Gt=Gt+Math.imul(Mt,xt)|0)+Math.imul(Dt,Ut)|0,Yt=Yt+Math.imul(Dt,xt)|0,Nt=Nt+Math.imul(wt,Lt)|0,Gt=(Gt=Gt+Math.imul(wt,Tt)|0)+Math.imul(vt,Lt)|0,Yt=Yt+Math.imul(vt,Tt)|0,Nt=Nt+Math.imul(Qt,Ot)|0,Gt=(Gt=Gt+Math.imul(Qt,Kt)|0)+Math.imul(bt,Ot)|0,Yt=Yt+Math.imul(bt,Kt)|0,Nt=Nt+Math.imul(Et,qt)|0,Gt=(Gt=Gt+Math.imul(Et,jt)|0)+Math.imul(mt,qt)|0,Yt=Yt+Math.imul(mt,jt)|0,Nt=Nt+Math.imul(Ct,Jt)|0,Gt=(Gt=Gt+Math.imul(Ct,zt)|0)+Math.imul(Bt,Jt)|0,Yt=Yt+Math.imul(Bt,zt)|0,Nt=Nt+Math.imul(pt,Zt)|0,Gt=(Gt=Gt+Math.imul(pt,Vt)|0)+Math.imul(yt,Zt)|0,Yt=Yt+Math.imul(yt,Vt)|0,Nt=Nt+Math.imul(It,Wt)|0,Gt=(Gt=Gt+Math.imul(It,Xt)|0)+Math.imul(ht,Wt)|0,Yt=Yt+Math.imul(ht,Xt)|0,ct=(ne+(Nt+Math.imul(ct,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(ct,ee)|0)+Math.imul(dt,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(dt,ee)|0)+(Gt>>>13)|0)+(ct>>>26)|0,ct&=67108863,Nt=Math.imul(St,Ut),Gt=(Gt=Math.imul(St,xt))+Math.imul(kt,Ut)|0,Yt=Math.imul(kt,xt),Nt=Nt+Math.imul(Mt,Lt)|0,Gt=(Gt=Gt+Math.imul(Mt,Tt)|0)+Math.imul(Dt,Lt)|0,Yt=Yt+Math.imul(Dt,Tt)|0,Nt=Nt+Math.imul(wt,Ot)|0,Gt=(Gt=Gt+Math.imul(wt,Kt)|0)+Math.imul(vt,Ot)|0,Yt=Yt+Math.imul(vt,Kt)|0,Nt=Nt+Math.imul(Qt,qt)|0,Gt=(Gt=Gt+Math.imul(Qt,jt)|0)+Math.imul(bt,qt)|0,Yt=Yt+Math.imul(bt,jt)|0,Nt=Nt+Math.imul(Et,Jt)|0,Gt=(Gt=Gt+Math.imul(Et,zt)|0)+Math.imul(mt,Jt)|0,Yt=Yt+Math.imul(mt,zt)|0,Nt=Nt+Math.imul(Ct,Zt)|0,Gt=(Gt=Gt+Math.imul(Ct,Vt)|0)+Math.imul(Bt,Zt)|0,Yt=Yt+Math.imul(Bt,Vt)|0,Nt=Nt+Math.imul(pt,Wt)|0,Gt=(Gt=Gt+Math.imul(pt,Xt)|0)+Math.imul(yt,Wt)|0,Yt=Yt+Math.imul(yt,Xt)|0,It=(ne+(Nt+Math.imul(It,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(It,ee)|0)+Math.imul(ht,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(ht,ee)|0)+(Gt>>>13)|0)+(It>>>26)|0,It&=67108863,Nt=Math.imul(St,Lt),Gt=(Gt=Math.imul(St,Tt))+Math.imul(kt,Lt)|0,Yt=Math.imul(kt,Tt),Nt=Nt+Math.imul(Mt,Ot)|0,Gt=(Gt=Gt+Math.imul(Mt,Kt)|0)+Math.imul(Dt,Ot)|0,Yt=Yt+Math.imul(Dt,Kt)|0,Nt=Nt+Math.imul(wt,qt)|0,Gt=(Gt=Gt+Math.imul(wt,jt)|0)+Math.imul(vt,qt)|0,Yt=Yt+Math.imul(vt,jt)|0,Nt=Nt+Math.imul(Qt,Jt)|0,Gt=(Gt=Gt+Math.imul(Qt,zt)|0)+Math.imul(bt,Jt)|0,Yt=Yt+Math.imul(bt,zt)|0,Nt=Nt+Math.imul(Et,Zt)|0,Gt=(Gt=Gt+Math.imul(Et,Vt)|0)+Math.imul(mt,Zt)|0,Yt=Yt+Math.imul(mt,Vt)|0,Nt=Nt+Math.imul(Ct,Wt)|0,Gt=(Gt=Gt+Math.imul(Ct,Xt)|0)+Math.imul(Bt,Wt)|0,Yt=Yt+Math.imul(Bt,Xt)|0,pt=(ne+(Nt+Math.imul(pt,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(pt,ee)|0)+Math.imul(yt,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(yt,ee)|0)+(Gt>>>13)|0)+(pt>>>26)|0,pt&=67108863,Nt=Math.imul(St,Ot),Gt=(Gt=Math.imul(St,Kt))+Math.imul(kt,Ot)|0,Yt=Math.imul(kt,Kt),Nt=Nt+Math.imul(Mt,qt)|0,Gt=(Gt=Gt+Math.imul(Mt,jt)|0)+Math.imul(Dt,qt)|0,Yt=Yt+Math.imul(Dt,jt)|0,Nt=Nt+Math.imul(wt,Jt)|0,Gt=(Gt=Gt+Math.imul(wt,zt)|0)+Math.imul(vt,Jt)|0,Yt=Yt+Math.imul(vt,zt)|0,Nt=Nt+Math.imul(Qt,Zt)|0,Gt=(Gt=Gt+Math.imul(Qt,Vt)|0)+Math.imul(bt,Zt)|0,Yt=Yt+Math.imul(bt,Vt)|0,Nt=Nt+Math.imul(Et,Wt)|0,Gt=(Gt=Gt+Math.imul(Et,Xt)|0)+Math.imul(mt,Wt)|0,Yt=Yt+Math.imul(mt,Xt)|0,Ct=(ne+(Nt+Math.imul(Ct,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(Ct,ee)|0)+Math.imul(Bt,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(Bt,ee)|0)+(Gt>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,Nt=Math.imul(St,qt),Gt=(Gt=Math.imul(St,jt))+Math.imul(kt,qt)|0,Yt=Math.imul(kt,jt),Nt=Nt+Math.imul(Mt,Jt)|0,Gt=(Gt=Gt+Math.imul(Mt,zt)|0)+Math.imul(Dt,Jt)|0,Yt=Yt+Math.imul(Dt,zt)|0,Nt=Nt+Math.imul(wt,Zt)|0,Gt=(Gt=Gt+Math.imul(wt,Vt)|0)+Math.imul(vt,Zt)|0,Yt=Yt+Math.imul(vt,Vt)|0,Nt=Nt+Math.imul(Qt,Wt)|0,Gt=(Gt=Gt+Math.imul(Qt,Xt)|0)+Math.imul(bt,Wt)|0,Yt=Yt+Math.imul(bt,Xt)|0,Et=(ne+(Nt+Math.imul(Et,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(Et,ee)|0)+Math.imul(mt,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(mt,ee)|0)+(Gt>>>13)|0)+(Et>>>26)|0,Et&=67108863,Nt=Math.imul(St,Jt),Gt=(Gt=Math.imul(St,zt))+Math.imul(kt,Jt)|0,Yt=Math.imul(kt,zt),Nt=Nt+Math.imul(Mt,Zt)|0,Gt=(Gt=Gt+Math.imul(Mt,Vt)|0)+Math.imul(Dt,Zt)|0,Yt=Yt+Math.imul(Dt,Vt)|0,Nt=Nt+Math.imul(wt,Wt)|0,Gt=(Gt=Gt+Math.imul(wt,Xt)|0)+Math.imul(vt,Wt)|0,Yt=Yt+Math.imul(vt,Xt)|0,Qt=(ne+(Nt+Math.imul(Qt,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(Qt,ee)|0)+Math.imul(bt,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(bt,ee)|0)+(Gt>>>13)|0)+(Qt>>>26)|0,Qt&=67108863,Nt=Math.imul(St,Zt),Gt=(Gt=Math.imul(St,Vt))+Math.imul(kt,Zt)|0,Yt=Math.imul(kt,Vt),Nt=Nt+Math.imul(Mt,Wt)|0,Gt=(Gt=Gt+Math.imul(Mt,Xt)|0)+Math.imul(Dt,Wt)|0,Yt=Yt+Math.imul(Dt,Xt)|0,wt=(ne+(Nt+Math.imul(wt,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(wt,ee)|0)+Math.imul(vt,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(vt,ee)|0)+(Gt>>>13)|0)+(wt>>>26)|0,wt&=67108863,Nt=Math.imul(St,Wt),Gt=(Gt=Math.imul(St,Xt))+Math.imul(kt,Wt)|0,Yt=Math.imul(kt,Xt),Mt=(ne+(Nt+Math.imul(Mt,$t)|0)|0)+((8191&(Gt=(Gt=Gt+Math.imul(Mt,ee)|0)+Math.imul(Dt,$t)|0))<<13)|0,ne=((Yt=Yt+Math.imul(Dt,ee)|0)+(Gt>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,$t=(ne+Math.imul(St,$t)|0)+((8191&(Gt=(Gt=Math.imul(St,ee))+Math.imul(kt,$t)|0))<<13)|0,ne=((Yt=Math.imul(kt,ee))+(Gt>>>13)|0)+($t>>>26)|0,$t&=67108863,st[0]=Ae,st[1]=Pt,st[2]=At,st[3]=nt,st[4]=it,st[5]=rt,st[6]=at,st[7]=$,st[8]=tt,st[9]=ot,st[10]=ct,st[11]=It,st[12]=pt,st[13]=Ct,st[14]=Et,st[15]=Qt,st[16]=wt,st[17]=Mt,st[18]=$t,0!=ne&&(st[19]=ne,et.length++),et};function u($,tt,et){return(new l).mulp($,tt,et)}function l($,tt){this.x=$,this.y=tt}Math.imul||(s=o),m.prototype.mulTo=function($,tt){var et=this.length+$.length;return tt=(10===this.length&&10===$.length?s:et<63?o:et<1024?function($,tt,et){et.negative=tt.negative^$.negative,et.length=$.length+tt.length;for(var At=0,nt=0,it=0;it<et.length-1;it++){for(var at=nt,rt=(nt=0,67108863&At),st=Math.min(it,tt.length-1),ot=Math.max(0,it-$.length+1);ot<=st;ot++){var ut,ct=(0|$.words[it-ot])*(0|tt.words[ot]);rt=67108863&(ut=(ut=67108863&ct)+rt|0),nt+=(at=(at=at+(ct/67108864|0)|0)+(ut>>>26)|0)>>>26,at&=67108863}et.words[it]=rt,At=at,at=nt}return 0!==At?et.words[it]=At:et.length--,et.strip()}:u)(this,$,tt)},l.prototype.makeRBT=function($){for(var tt=new Array($),et=m.prototype._countBits($)-1,At=0;At<$;At++)tt[At]=this.revBin(At,et,$);return tt},l.prototype.revBin=function($,tt,et){if(0===$||$===et-1)return $;for(var At=0,nt=0;nt<tt;nt++)At|=(1&$)<<tt-nt-1,$>>=1;return At},l.prototype.permute=function($,tt,et,At,nt,it){for(var at=0;at<it;at++)At[at]=tt[$[at]],nt[at]=et[$[at]]},l.prototype.transform=function($,tt,et,At,nt,it){this.permute(it,$,tt,et,At,nt);for(var at=1;at<nt;at<<=1)for(var rt=at<<1,st=Math.cos(2*Math.PI/rt),ot=Math.sin(2*Math.PI/rt),ut=0;ut<nt;ut+=rt)for(var ct=st,dt=ot,It=0;It<at;It++){var ht=et[ut+It],pt=At[ut+It],yt=et[ut+It+at],Ct=ct*yt-dt*(Bt=At[ut+It+at]),Bt=ct*Bt+dt*yt;et[ut+It]=ht+(yt=Ct),At[ut+It]=pt+Bt,et[ut+It+at]=ht-yt,At[ut+It+at]=pt-Bt,It!==rt&&(Ct=st*ct-ot*dt,dt=st*dt+ot*ct,ct=Ct)}},l.prototype.guessLen13b=function($,tt){$=1&(At=1|Math.max(tt,$));for(var et=0,At=At/2|0;At;At>>>=1)et++;return 1<<et+1+$},l.prototype.conjugate=function($,tt,et){if(!(et<=1))for(var At=0;At<et/2;At++){var nt=$[At];$[At]=$[et-At-1],$[et-At-1]=nt,nt=tt[At],tt[At]=-tt[et-At-1],tt[et-At-1]=-nt}},l.prototype.normalize13b=function($,tt){for(var et=0,At=0;At<tt/2;At++){var nt=8192*Math.round($[2*At+1]/tt)+Math.round($[2*At]/tt)+et;$[At]=67108863&nt,et=nt<67108864?0:nt/67108864|0}return $},l.prototype.convert13b=function($,tt,et,At){for(var nt=0,it=0;it<tt;it++)nt+=0|$[it],et[2*it]=8191&nt,et[2*it+1]=8191&(nt>>>=13),nt>>>=13;for(it=2*tt;it<At;++it)et[it]=0;y(0===nt),y(0==(-8192&nt))},l.prototype.stub=function($){for(var tt=new Array($),et=0;et<$;et++)tt[et]=0;return tt},l.prototype.mulp=function($,tt,et){var At=2*this.guessLen13b($.length,tt.length),nt=this.makeRBT(At),it=this.stub(At),at=new Array(At),rt=new Array(At),st=new Array(At),ot=new Array(At),ut=new Array(At),ct=new Array(At),dt=et.words;dt.length=At,this.convert13b($.words,$.length,at,At),this.convert13b(tt.words,tt.length,ot,At),this.transform(at,it,rt,st,At,nt),this.transform(ot,it,ut,ct,At,nt);for(var It=0;It<At;It++){var ht=rt[It]*ut[It]-st[It]*ct[It];st[It]=rt[It]*ct[It]+st[It]*ut[It],rt[It]=ht}return this.conjugate(rt,st,At),this.transform(rt,st,dt,it,At,nt),this.conjugate(dt,it,At),this.normalize13b(dt,At),et.negative=$.negative^tt.negative,et.length=$.length+tt.length,et.strip()},m.prototype.mul=function($){var tt=new m(null);return tt.words=new Array(this.length+$.length),this.mulTo($,tt)},m.prototype.mulf=function($){var tt=new m(null);return tt.words=new Array(this.length+$.length),u(this,$,tt)},m.prototype.imul=function($){return this.clone().mulTo($,this)},m.prototype.imuln=function($){y("number"==typeof $),y($<67108864);for(var tt=0,et=0;et<this.length;et++){var At=(0|this.words[et])*$,nt=(67108863&At)+(67108863&tt);tt>>=26,tt+=At/67108864|0,tt+=nt>>>26,this.words[et]=67108863&nt}return 0!==tt&&(this.words[et]=tt,this.length++),this},m.prototype.muln=function($){return this.clone().imuln($)},m.prototype.sqr=function(){return this.mul(this)},m.prototype.isqr=function(){return this.imul(this.clone())},m.prototype.pow=function($){var tt=function($){for(var tt=new Array($.bitLength()),et=0;et<tt.length;et++){var At=et%26;tt[et]=($.words[et/26|0]&1<<At)>>>At}return tt}($);if(0===tt.length)return new m(1);for(var et=this,At=0;At<tt.length&&0===tt[At];At++,et=et.sqr());if(++At<tt.length)for(var nt=et.sqr();At<tt.length;At++,nt=nt.sqr())0!==tt[At]&&(et=et.mul(nt));return et},m.prototype.iushln=function($){y("number"==typeof $&&0<=$);var tt=$%26,et=($-tt)/26,At=67108863>>>26-tt<<26-tt;if(0!=tt){for(var nt=0,it=0;it<this.length;it++){var at=this.words[it]&At,rt=(0|this.words[it])-at<<tt;this.words[it]=rt|nt,nt=at>>>26-tt}nt&&(this.words[it]=nt,this.length++)}if(0!=et){for(it=this.length-1;0<=it;it--)this.words[it+et]=this.words[it];for(it=0;it<et;it++)this.words[it]=0;this.length+=et}return this.strip()},m.prototype.ishln=function($){return y(0===this.negative),this.iushln($)},m.prototype.iushrn=function($,tt,et){y("number"==typeof $&&0<=$);var At=tt?(tt-tt%26)/26:0,nt=$%26,it=Math.min(($-nt)/26,this.length),at=67108863^67108863>>>nt<<nt,rt=et;if(At-=it,At=Math.max(0,At),rt){for(var st=0;st<it;st++)rt.words[st]=this.words[st];rt.length=it}if(0!==it)if(this.length>it)for(this.length-=it,st=0;st<this.length;st++)this.words[st]=this.words[st+it];else this.words[0]=0,this.length=1;var ot=0;for(st=this.length-1;0<=st&&(0!==ot||At<=st);st--){var ut=0|this.words[st];this.words[st]=ot<<26-nt|ut>>>nt,ot=ut&at}return rt&&0!==ot&&(rt.words[rt.length++]=ot),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},m.prototype.ishrn=function($,tt,et){return y(0===this.negative),this.iushrn($,tt,et)},m.prototype.shln=function($){return this.clone().ishln($)},m.prototype.ushln=function($){return this.clone().iushln($)},m.prototype.shrn=function($){return this.clone().ishrn($)},m.prototype.ushrn=function($){return this.clone().iushrn($)},m.prototype.testn=function($){y("number"==typeof $&&0<=$);var tt=$%26;return $=($-tt)/26,!(this.length<=$||!(this.words[$]&1<<tt))},m.prototype.imaskn=function($){y("number"==typeof $&&0<=$);var tt=$%26;return $=($-tt)/26,y(0===this.negative,"imaskn works only with positive numbers"),this.length<=$?this:(0!=tt&&$++,this.length=Math.min($,this.length),0!=tt&&(this.words[this.length-1]&=67108863^67108863>>>tt<<tt),this.strip())},m.prototype.maskn=function($){return this.clone().imaskn($)},m.prototype.iaddn=function($){return y("number"==typeof $),y($<67108864),$<0?this.isubn(-$):0!==this.negative?(1===this.length&&(0|this.words[0])<$?(this.words[0]=$-(0|this.words[0]),this.negative=0):(this.negative=0,this.isubn($),this.negative=1),this):this._iaddn($)},m.prototype._iaddn=function($){this.words[0]+=$;for(var tt=0;tt<this.length&&67108864<=this.words[tt];tt++)this.words[tt]-=67108864,tt===this.length-1?this.words[tt+1]=1:this.words[tt+1]++;return this.length=Math.max(this.length,tt+1),this},m.prototype.isubn=function($){if(y("number"==typeof $),y($<67108864),$<0)return this.iaddn(-$);if(0!==this.negative)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var tt=0;tt<this.length&&this.words[tt]<0;tt++)this.words[tt]+=67108864,--this.words[tt+1];return this.strip()},m.prototype.addn=function($){return this.clone().iaddn($)},m.prototype.subn=function($){return this.clone().isubn($)},m.prototype.iabs=function(){return this.negative=0,this},m.prototype.abs=function(){return this.clone().iabs()},m.prototype._ishlnsubmul=function($,tt,et){var At=$.length+et;this._expand(At);for(var nt=0,it=0;it<$.length;it++){var at=(0|this.words[it+et])+nt,rt=(0|$.words[it])*tt;nt=((at-=67108863&rt)>>26)-(rt/67108864|0),this.words[it+et]=67108863&at}for(;it<this.length-et;it++)nt=(at=(0|this.words[it+et])+nt)>>26,this.words[it+et]=67108863&at;if(0===nt)return this.strip();for(y(-1===nt),it=nt=0;it<this.length;it++)nt=(at=-(0|this.words[it])+nt)>>26,this.words[it]=67108863&at;return this.negative=1,this.strip()},m.prototype._wordDiv=function($,tt){var et=(this.length,$.length),At=this.clone(),nt=$,it=0|nt.words[nt.length-1];0!=(et=26-this._countBits(it))&&(nt=nt.ushln(et),At.iushln(et),it=0|nt.words[nt.length-1]);var at,rt=At.length-nt.length;if("mod"!==tt){(at=new m(null)).length=1+rt,at.words=new Array(at.length);for(var st=0;st<at.length;st++)at.words[st]=0}0===($=At.clone()._ishlnsubmul(nt,1,rt)).negative&&(At=$,at&&(at.words[rt]=1));for(var ot=rt-1;0<=ot;ot--){var ut=67108864*(0|At.words[nt.length+ot])+(0|At.words[nt.length+ot-1]);for(ut=Math.min(ut/it|0,67108863),At._ishlnsubmul(nt,ut,ot);0!==At.negative;)ut--,At.negative=0,At._ishlnsubmul(nt,1,ot),At.isZero()||(At.negative^=1);at&&(at.words[ot]=ut)}return at&&at.strip(),At.strip(),"div"!==tt&&0!=et&&At.iushrn(et),{div:at||null,mod:At}},m.prototype.divmod=function($,tt,et){return y(!$.isZero()),this.isZero()?{div:new m(0),mod:new m(0)}:0!==this.negative&&0===$.negative?(it=this.neg().divmod($,tt),"mod"!==tt&&(At=it.div.neg()),"div"!==tt&&(nt=it.mod.neg(),et&&0!==nt.negative&&nt.iadd($)),{div:At,mod:nt}):0===this.negative&&0!==$.negative?(it=this.divmod($.neg(),tt),{div:At="mod"!==tt?it.div.neg():At,mod:it.mod}):0!=(this.negative&$.negative)?(it=this.neg().divmod($.neg(),tt),"div"!==tt&&(nt=it.mod.neg(),et&&0!==nt.negative&&nt.isub($)),{div:it.div,mod:nt}):$.length>this.length||this.cmp($)<0?{div:new m(0),mod:this}:1===$.length?"div"===tt?{div:this.divn($.words[0]),mod:null}:"mod"===tt?{div:null,mod:new m(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new m(this.modn($.words[0]))}:this._wordDiv($,tt);var At,nt,it},m.prototype.div=function($){return this.divmod($,"div",!1).div},m.prototype.mod=function($){return this.divmod($,"mod",!1).mod},m.prototype.umod=function($){return this.divmod($,"mod",!0).mod},m.prototype.divRound=function($){var tt=this.divmod($);if(tt.mod.isZero())return tt.div;var et=0!==tt.div.negative?tt.mod.isub($):tt.mod,At=$.ushrn(1);return $=$.andln(1),(At=et.cmp(At))<0||1===$&&0===At?tt.div:0!==tt.div.negative?tt.div.isubn(1):tt.div.iaddn(1)},m.prototype.modn=function($){y($<=67108863);for(var tt=(1<<26)%$,et=0,At=this.length-1;0<=At;At--)et=(tt*et+(0|this.words[At]))%$;return et},m.prototype.idivn=function($){y($<=67108863);for(var tt=0,et=this.length-1;0<=et;et--){var At=(0|this.words[et])+67108864*tt;this.words[et]=At/$|0,tt=At%$}return this.strip()},m.prototype.divn=function($){return this.clone().idivn($)},m.prototype.egcd=function($){y(0===$.negative),y(!$.isZero());for(var tt=this,et=$.clone(),At=(tt=0!==tt.negative?tt.umod($):tt.clone(),new m(1)),nt=new m(0),it=new m(0),at=new m(1),rt=0;tt.isEven()&&et.isEven();)tt.iushrn(1),et.iushrn(1),++rt;for(var st=et.clone(),ot=tt.clone();!tt.isZero();){for(var ut=0,ct=1;0==(tt.words[0]&ct)&&ut<26;++ut,ct<<=1);if(0<ut)for(tt.iushrn(ut);0<ut--;)(At.isOdd()||nt.isOdd())&&(At.iadd(st),nt.isub(ot)),At.iushrn(1),nt.iushrn(1);for(var dt=0,It=1;0==(et.words[0]&It)&&dt<26;++dt,It<<=1);if(0<dt)for(et.iushrn(dt);0<dt--;)(it.isOdd()||at.isOdd())&&(it.iadd(st),at.isub(ot)),it.iushrn(1),at.iushrn(1);0<=tt.cmp(et)?(tt.isub(et),At.isub(it),nt.isub(at)):(et.isub(tt),it.isub(At),at.isub(nt))}return{a:it,b:at,gcd:et.iushln(rt)}},m.prototype._invmp=function($){y(0===$.negative),y(!$.isZero());for(var tt,et=this,At=$.clone(),nt=(et=0!==et.negative?et.umod($):et.clone(),new m(1)),it=new m(0),at=At.clone();0<et.cmpn(1)&&0<At.cmpn(1);){for(var rt=0,st=1;0==(et.words[0]&st)&&rt<26;++rt,st<<=1);if(0<rt)for(et.iushrn(rt);0<rt--;)nt.isOdd()&&nt.iadd(at),nt.iushrn(1);for(var ot=0,ut=1;0==(At.words[0]&ut)&&ot<26;++ot,ut<<=1);if(0<ot)for(At.iushrn(ot);0<ot--;)it.isOdd()&&it.iadd(at),it.iushrn(1);0<=et.cmp(At)?(et.isub(At),nt.isub(it)):(At.isub(et),it.isub(nt))}return(tt=0===et.cmpn(1)?nt:it).cmpn(0)<0&&tt.iadd($),tt},m.prototype.gcd=function($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var tt=this.clone(),et=$.clone();tt.negative=0;for(var At=et.negative=0;tt.isEven()&&et.isEven();At++)tt.iushrn(1),et.iushrn(1);for(;;){for(;tt.isEven();)tt.iushrn(1);for(;et.isEven();)et.iushrn(1);var nt=tt.cmp(et);if(nt<0){var it=tt;tt=et,et=it}else if(0===nt||0===et.cmpn(1))break;tt.isub(et)}return et.iushln(At)},m.prototype.invm=function($){return this.egcd($).a.umod($)},m.prototype.isEven=function(){return 0==(1&this.words[0])},m.prototype.isOdd=function(){return 1==(1&this.words[0])},m.prototype.andln=function($){return this.words[0]&$},m.prototype.bincn=function($){y("number"==typeof $),$=($-(tt=$%26))/26;var tt=1<<tt;if(this.length<=$)return this._expand(1+$),this.words[$]|=tt,this;for(var et=tt,At=$;0!==et&&At<this.length;At++){var nt=0|this.words[At];et=(nt+=et)>>>26,nt&=67108863,this.words[At]=nt}return 0!==et&&(this.words[At]=et,this.length++),this},m.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},m.prototype.cmpn=function($){var tt=$<0;return 0===this.negative||tt?0===this.negative&&tt?1:(this.strip(),$=1<this.length?1:(y(($=tt?-$:$)<=67108863,"Number is too big"),(tt=0|this.words[0])===$?0:tt<$?-1:1),0!==this.negative?0|-$:$):-1},m.prototype.cmp=function($){return 0!==this.negative&&0===$.negative?-1:0===this.negative&&0!==$.negative?1:($=this.ucmp($),0!==this.negative?0|-$:$)},m.prototype.ucmp=function($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var tt=0,et=this.length-1;0<=et;et--){var At=0|this.words[et],nt=0|$.words[et];if(At!=nt){At<nt?tt=-1:nt<At&&(tt=1);break}}return tt},m.prototype.gtn=function($){return 1===this.cmpn($)},m.prototype.gt=function($){return 1===this.cmp($)},m.prototype.gten=function($){return 0<=this.cmpn($)},m.prototype.gte=function($){return 0<=this.cmp($)},m.prototype.ltn=function($){return-1===this.cmpn($)},m.prototype.lt=function($){return-1===this.cmp($)},m.prototype.lten=function($){return this.cmpn($)<=0},m.prototype.lte=function($){return this.cmp($)<=0},m.prototype.eqn=function($){return 0===this.cmpn($)},m.prototype.eq=function($){return 0===this.cmp($)},m.red=function($){return new M($)},m.prototype.toRed=function($){return y(!this.red,"Already a number in reduction context"),y(0===this.negative,"red works only with positives"),$.convertTo(this)._forceRed($)},m.prototype.fromRed=function(){return y(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},m.prototype._forceRed=function($){return this.red=$,this},m.prototype.forceRed=function($){return y(!this.red,"Already a number in reduction context"),this._forceRed($)},m.prototype.redAdd=function($){return y(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},m.prototype.redIAdd=function($){return y(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},m.prototype.redSub=function($){return y(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},m.prototype.redISub=function($){return y(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},m.prototype.redShl=function($){return y(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},m.prototype.redMul=function($){return y(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},m.prototype.redIMul=function($){return y(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},m.prototype.redSqr=function(){return y(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},m.prototype.redISqr=function(){return y(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},m.prototype.redSqrt=function(){return y(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},m.prototype.redInvm=function(){return y(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},m.prototype.redNeg=function(){return y(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},m.prototype.redPow=function($){return y(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var rt={k256:null,p224:null,p192:null,p25519:null};function g($,tt){this.name=$,this.p=new m(tt,16),this.n=this.p.bitLength(),this.k=new m(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M($){var tt;"string"==typeof $?(tt=m._prime($),this.m=tt.p,this.prime=tt):(y($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null)}function A($){M.call(this,$),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new m(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)}g.prototype._tmp=function(){var $=new m(null);return $.words=new Array(Math.ceil(this.n/13)),$},g.prototype.ireduce=function($){for(var tt,et=$;this.split(et,this.tmp),(tt=(et=(et=this.imulK(et)).iadd(this.tmp)).bitLength())>this.n;);return 0===($=tt<this.n?-1:et.ucmp(this.p))?(et.words[0]=0,et.length=1):0<$?et.isub(this.p):void 0!==et.strip?et.strip():et._strip(),et},g.prototype.split=function($,tt){$.iushrn(this.n,0,tt)},g.prototype.imulK=function($){return $.imul(this.k)},r(v,g),v.prototype.split=function($,tt){for(var et=Math.min($.length,9),At=0;At<et;At++)tt.words[At]=$.words[At];if(tt.length=et,$.length<=9)return $.words[0]=0,void($.length=1);var nt=$.words[9];for(tt.words[tt.length++]=4194303&nt,At=10;At<$.length;At++){var it=0|$.words[At];$.words[At-10]=(4194303&it)<<4|nt>>>22,nt=it}0==($.words[At-10]=nt>>>=22)&&10<$.length?$.length-=10:$.length-=9},v.prototype.imulK=function($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var tt=0,et=0;et<$.length;et++){var At=0|$.words[et];tt+=977*At,$.words[et]=67108863&tt,tt=64*At+(tt/67108864|0)}return 0===$.words[$.length-1]&&($.length--,0===$.words[$.length-1]&&$.length--),$},r(b,g),r(w,g),r(_,g),_.prototype.imulK=function($){for(var tt=0,et=0;et<$.length;et++){var At=19*(0|$.words[et])+tt,nt=67108863&At;At>>>=26,$.words[et]=nt,tt=At}return 0!==tt&&($.words[$.length++]=tt),$},m._prime=function($){if(rt[$])return rt[$];var tt;if("k256"===$)tt=new v;else if("p224"===$)tt=new b;else if("p192"===$)tt=new w;else{if("p25519"!==$)throw new Error("Unknown prime "+$);tt=new _}return rt[$]=tt},M.prototype._verify1=function($){y(0===$.negative,"red works only with positives"),y($.red,"red works only with red numbers")},M.prototype._verify2=function($,tt){y(0==($.negative|tt.negative),"red works only with positives"),y($.red&&$.red===tt.red,"red works only with red numbers")},M.prototype.imod=function($){return(this.prime?this.prime.ireduce($):$.umod(this.m))._forceRed(this)},M.prototype.neg=function($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},M.prototype.add=function($,tt){return this._verify2($,tt),0<=(tt=$.add(tt)).cmp(this.m)&&tt.isub(this.m),tt._forceRed(this)},M.prototype.iadd=function($,tt){return this._verify2($,tt),0<=(tt=$.iadd(tt)).cmp(this.m)&&tt.isub(this.m),tt},M.prototype.sub=function($,tt){return this._verify2($,tt),(tt=$.sub(tt)).cmpn(0)<0&&tt.iadd(this.m),tt._forceRed(this)},M.prototype.isub=function($,tt){return this._verify2($,tt),(tt=$.isub(tt)).cmpn(0)<0&&tt.iadd(this.m),tt},M.prototype.shl=function($,tt){return this._verify1($),this.imod($.ushln(tt))},M.prototype.imul=function($,tt){return this._verify2($,tt),this.imod($.imul(tt))},M.prototype.mul=function($,tt){return this._verify2($,tt),this.imod($.mul(tt))},M.prototype.isqr=function($){return this.imul($,$.clone())},M.prototype.sqr=function($){return this.mul($,$)},M.prototype.sqrt=function($){if($.isZero())return $.clone();var tt=this.m.andln(3);if(y(tt%2==1),3===tt)return tt=this.m.add(new m(1)).iushrn(2),this.pow($,tt);for(var et=this.m.subn(1),At=0;!et.isZero()&&0===et.andln(1);)At++,et.iushrn(1);y(!et.isZero());for(var nt=new m(1).toRed(this),it=nt.redNeg(),at=this.m.subn(1).iushrn(1),rt=new m(2*(rt=this.m.bitLength())*rt).toRed(this);0!==this.pow(rt,at).cmp(it);)rt.redIAdd(it);for(var st=this.pow(rt,et),ot=this.pow($,et.addn(1).iushrn(1)),ut=this.pow($,et),ct=At;0!==ut.cmp(nt);){for(var dt=ut,It=0;0!==dt.cmp(nt);It++)dt=dt.redSqr();y(It<ct);var ht=this.pow(st,new m(1).iushln(ct-It-1));ot=ot.redMul(ht),st=ht.redSqr(),ut=ut.redMul(st),ct=It}return ot},M.prototype.invm=function($){return 0!==($=$._invmp(this.m)).negative?($.negative=0,this.imod($).redNeg()):this.imod($)},M.prototype.pow=function($,tt){if(tt.isZero())return new m(1).toRed(this);if(0===tt.cmpn(1))return $.clone();var et=new Array(16);et[0]=new m(1).toRed(this),et[1]=$;for(var At=2;At<et.length;At++)et[At]=this.mul(et[At-1],$);var nt=et[0],it=0,at=0,rt=tt.bitLength()%26;for(0===rt&&(rt=26),At=tt.length-1;0<=At;At--){for(var st=tt.words[At],ot=rt-1;0<=ot;ot--){var ut=st>>ot&1;nt!==et[0]&&(nt=this.sqr(nt)),0!=ut||0!==it?(it<<=1,it|=ut,(4==++at||0===At&&0===ot)&&(nt=this.mul(nt,et[it]),it=at=0)):at=0}rt=26}return nt},M.prototype.convertTo=function($){var tt=$.umod(this.m);return tt===$?tt.clone():tt},M.prototype.convertFrom=function($){return($=$.clone()).red=null,$},m.mont=function($){return new A($)},r(A,M),A.prototype.convertTo=function($){return this.imod($.ushln(this.shift))},A.prototype.convertFrom=function($){return($=this.imod($.mul(this.rinv))).red=null,$},A.prototype.imul=function($,tt){return $.isZero()||tt.isZero()?($.words[0]=0,$.length=1,$):(tt=($=$.imul(tt)).maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),tt=$=$.isub(tt).iushrn(this.shift),0<=$.cmp(this.m)?tt=$.isub(this.m):$.cmpn(0)<0&&(tt=$.iadd(this.m)),tt._forceRed(this))},A.prototype.mul=function($,tt){return $.isZero()||tt.isZero()?new m(0)._forceRed(this):(tt=($=$.mul(tt)).maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),tt=$=$.isub(tt).iushrn(this.shift),0<=$.cmp(this.m)?tt=$.isub(this.m):$.cmpn(0)<0&&(tt=$.iadd(this.m)),tt._forceRed(this))},A.prototype.invm=function($){return this.imod($._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===tt||tt,this)},{buffer:11}],10:[function($,et,At){(function($){(function(){et.exports=function(tt){return tt=new Uint8Array(tt),($.crypto||$.msCrypto).getRandomValues(tt),tt}}).call(this)}).call(this,void 0!==tt?tt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],11:[function($,tt,et){},{}],12:[function($,tt,et){"use strict";et.version=$("../package.json").version,et.utils=$("./elliptic/utils"),et.rand=$("brorand"),et.curve=$("./elliptic/curve"),et.curves=$("./elliptic/curves"),et.ec=$("./elliptic/ec"),et.eddsa=$("./elliptic/eddsa")},{"../package.json":25,"./elliptic/curve":15,"./elliptic/curves":18,"./elliptic/ec":19,"./elliptic/eddsa":22,"./elliptic/utils":24,brorand:10}],13:[function($,tt,et){"use strict";var At=$("bn.js"),nt=$("../utils"),it=nt.getNAF,at=nt.getJSF,rt=nt.assert;function o($,tt){this.type=$,this.p=new At(tt.p,16),this.red=tt.prime?At.red(tt.prime):At.mont(this.p),this.zero=new At(0).toRed(this.red),this.one=new At(1).toRed(this.red),this.two=new At(2).toRed(this.red),this.n=tt.n&&new At(tt.n,16),this.g=tt.g&&this.pointFromJSON(tt.g,tt.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,!(tt=this.n&&this.p.div(this.n))||0<tt.cmpn(100)?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function s($,tt){this.curve=$,this.type=tt,this.precomputed=null}(tt.exports=o).prototype.point=function(){throw new Error("Not implemented")},o.prototype.validate=function(){throw new Error("Not implemented")},o.prototype._fixedNafMul=function($,tt){rt($.precomputed);var et=$._getDoubles(),At=it(tt,1,this._bitLength);tt=(1<<et.step+1)-(et.step%2==0?2:1),tt/=3;for(var nt=[],at=0;at<At.length;at+=et.step){for(var st=0,ot=at+et.step-1;at<=ot;ot--)st=(st<<1)+At[ot];nt.push(st)}for(var ut=this.jpoint(null,null,null),ct=this.jpoint(null,null,null),dt=tt;0<dt;dt--){for(at=0;at<nt.length;at++)(st=nt[at])===dt?ct=ct.mixedAdd(et.points[at]):st===-dt&&(ct=ct.mixedAdd(et.points[at].neg()));ut=ut.add(ct)}return ut.toP()},o.prototype._wnafMul=function($,tt){for(var et=$._getNAFPoints(4),At=et.wnd,nt=et.points,at=it(tt,At,this._bitLength),st=this.jpoint(null,null,null),ot=at.length-1;0<=ot;ot--){for(var ut=0;0<=ot&&0===at[ot];ot--)ut++;if(0<=ot&&ut++,st=st.dblp(ut),ot<0)break;var ct=at[ot];rt(0!==ct),st="affine"===$.type?0<ct?st.mixedAdd(nt[ct-1>>1]):st.mixedAdd(nt[-ct-1>>1].neg()):0<ct?st.add(nt[ct-1>>1]):st.add(nt[-ct-1>>1].neg())}return"affine"===$.type?st.toP():st},o.prototype._wnafMulAdd=function($,tt,et,At,nt){for(var rt=this._wnafT1,st=this._wnafT2,ot=this._wnafT3,ut=0,ct=0;ct<At;ct++){var dt,It=(dt=tt[ct])._getNAFPoints($);rt[ct]=It.wnd,st[ct]=It.points}for(ct=At-1;1<=ct;ct-=2){var ht=ct-1,pt=ct;if(1===rt[ht]&&1===rt[pt]){var yt=[tt[ht],null,null,tt[pt]];0===tt[ht].y.cmp(tt[pt].y)?(yt[1]=tt[ht].add(tt[pt]),yt[2]=tt[ht].toJ().mixedAdd(tt[pt].neg())):0===tt[ht].y.cmp(tt[pt].y.redNeg())?(yt[1]=tt[ht].toJ().mixedAdd(tt[pt]),yt[2]=tt[ht].add(tt[pt].neg())):(yt[1]=tt[ht].toJ().mixedAdd(tt[pt]),yt[2]=tt[ht].toJ().mixedAdd(tt[pt].neg()));var Ct=[-3,-1,-5,-7,0,7,5,1,3],Bt=at(et[ht],et[pt]);for(ut=Math.max(Bt[0].length,ut),ot[ht]=new Array(ut),ot[pt]=new Array(ut),Mt=0;Mt<ut;Mt++){var Et=0|Bt[0][Mt],mt=0|Bt[1][Mt];ot[ht][Mt]=Ct[3*(1+Et)+(1+mt)],ot[pt][Mt]=0,st[ht]=yt}}else ot[ht]=it(et[ht],rt[ht],this._bitLength),ot[pt]=it(et[pt],rt[pt],this._bitLength),ut=Math.max(ot[ht].length,ut),ut=Math.max(ot[pt].length,ut)}var Qt=this.jpoint(null,null,null),bt=this._wnafT4;for(ct=ut;0<=ct;ct--){for(var wt=0;0<=ct;){for(var vt=!0,Mt=0;Mt<At;Mt++)bt[Mt]=0|ot[Mt][ct],0!==bt[Mt]&&(vt=!1);if(!vt)break;wt++,ct--}if(0<=ct&&wt++,Qt=Qt.dblp(wt),ct<0)break;for(Mt=0;Mt<At;Mt++){var Dt=bt[Mt];0!==Dt&&(0<Dt?dt=st[Mt][Dt-1>>1]:Dt<0&&(dt=st[Mt][-Dt-1>>1].neg()),Qt="affine"===dt.type?Qt.mixedAdd(dt):Qt.add(dt))}}for(ct=0;ct<At;ct++)st[ct]=null;return nt?Qt:Qt.toP()},(o.BasePoint=s).prototype.eq=function(){throw new Error("Not implemented")},s.prototype.validate=function(){return this.curve.validate(this)},o.prototype.decodePoint=function($,tt){if($=nt.toArray($,tt),tt=this.p.byteLength(),(4===$[0]||6===$[0]||7===$[0])&&$.length-1==2*tt)return 6===$[0]?rt($[$.length-1]%2==0):7===$[0]&&rt($[$.length-1]%2==1),this.point($.slice(1,1+tt),$.slice(1+tt,1+2*tt));if((2===$[0]||3===$[0])&&$.length-1===tt)return this.pointFromX($.slice(1,1+tt),3===$[0]);throw new Error("Unknown point format")},s.prototype.encodeCompressed=function($){return this.encode($,!0)},s.prototype._encode=function($){var tt=this.curve.p.byteLength(),et=this.getX().toArray("be",tt);return $?[this.getY().isEven()?2:3].concat(et):[4].concat(et,this.getY().toArray("be",tt))},s.prototype.encode=function($,tt){return nt.encode(this._encode(tt),$)},s.prototype.precompute=function($){if(this.precomputed)return this;var tt={doubles:null,naf:null,beta:null};return tt.naf=this._getNAFPoints(8),tt.doubles=this._getDoubles(4,$),tt.beta=this._getBeta(),this.precomputed=tt,this},s.prototype._hasDoubles=function($){if(!this.precomputed)return!1;var tt=this.precomputed.doubles;return!!tt&&tt.points.length>=Math.ceil(($.bitLength()+1)/tt.step)},s.prototype._getDoubles=function($,tt){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var et=[this],At=this,nt=0;nt<tt;nt+=$){for(var it=0;it<$;it++)At=At.dbl();et.push(At)}return{step:$,points:et}},s.prototype._getNAFPoints=function($){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var tt=[this],et=(1<<$)-1,At=1==et?null:this.dbl(),nt=1;nt<et;nt++)tt[nt]=tt[nt-1].add(At);return{wnd:$,points:tt}},s.prototype._getBeta=function(){return null},s.prototype.dblp=function($){for(var tt=this,et=0;et<$;et++)tt=tt.dbl();return tt}},{"../utils":24,"bn.js":9}],14:[function($,tt,et){tt.exports={}},{}],15:[function($,tt,et){"use strict";et.base=$("./base"),et.short=$("./short"),et.mont=$("./mont"),et.edwards=$("./edwards")},{"./base":13,"./edwards":14,"./mont":16,"./short":17}],16:[function($,tt,et){arguments[4][14][0].apply(et,arguments)},{dup:14}],17:[function($,tt,et){"use strict";var At=$("../utils"),nt=$("bn.js"),it=$("inherits"),at=$("./base"),rt=At.assert;function a($){at.call(this,"short",$),this.a=new nt($.a,16).toRed(this.red),this.b=new nt($.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism($),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function u($,tt,et,At){at.BasePoint.call(this,$,"affine"),null===tt&&null===et?(this.x=null,this.y=null,this.inf=!0):(this.x=new nt(tt,16),this.y=new nt(et,16),At&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function l($,tt,et,At){at.BasePoint.call(this,$,"jacobian"),null===tt&&null===et&&null===At?(this.x=this.curve.one,this.y=this.curve.one,this.z=new nt(0)):(this.x=new nt(tt,16),this.y=new nt(et,16),this.z=new nt(At,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}it(a,at),(tt.exports=a).prototype._getEndomorphism=function($){var tt,et,At;if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3))return et=($.beta?new nt($.beta,16):et=(At=this._getEndoRoots(this.p))[0].cmp(At[1])<0?At[0]:At[1]).toRed(this.red),$.lambda?tt=new nt($.lambda,16):(At=this._getEndoRoots(this.n),0===this.g.mul(At[0]).x.cmp(this.g.x.redMul(et))?tt=At[0]:(tt=At[1],rt(0===this.g.mul(tt).x.cmp(this.g.x.redMul(et))))),{beta:et,lambda:tt,basis:$.basis?$.basis.map((function($){return{a:new nt($.a,16),b:new nt($.b,16)}})):this._getEndoBasis(tt)}},a.prototype._getEndoRoots=function($){var tt=$===this.p?this.red:nt.mont($),et=($=(et=new nt(2).toRed(tt).redInvm()).redNeg(),new nt(3).toRed(tt).redNeg().redSqrt().redMul(et));return[$.redAdd(et).fromRed(),$.redSub(et).fromRed()]},a.prototype._getEndoBasis=function($){for(var tt,et,At,it,at,rt=this.n.ushrn(Math.floor(this.n.bitLength()/2)),st=$,ot=this.n.clone(),ut=new nt(1),ct=new nt(0),dt=new nt(0),It=new nt(1),ht=0;0!==st.cmpn(0);){var pt=ot.div(st),yt=ot.sub(pt.mul(st)),Ct=dt.sub(pt.mul(ut));if(pt=It.sub(pt.mul(ct)),!At&&yt.cmp(rt)<0)tt=at.neg(),et=ut,At=yt.neg(),it=Ct;else if(At&&2==++ht)break;ot=st,st=at=yt,dt=ut,ut=Ct,It=ct,ct=pt}var Bt=yt.neg(),Et=Ct;return $=At.sqr().add(it.sqr()),0<=Bt.sqr().add(Et.sqr()).cmp($)&&(Bt=tt,Et=et),At.negative&&(At=At.neg(),it=it.neg()),Bt.negative&&(Bt=Bt.neg(),Et=Et.neg()),[{a:At,b:it},{a:Bt,b:Et}]},a.prototype._endoSplit=function($){var tt=(it=this.endo.basis)[0],et=(at=it[1]).b.mul($).divRound(this.n),At=tt.b.neg().mul($).divRound(this.n),nt=et.mul(tt.a),it=At.mul(at.a),at=(tt=et.mul(tt.b),At.mul(at.b));return{k1:$.sub(nt).sub(it),k2:tt.add(at).neg()}},a.prototype.pointFromX=function($,tt){var et=($=($=new nt($,16)).red?$:$.toRed(this.red)).redSqr().redMul($).redIAdd($.redMul(this.a)).redIAdd(this.b),At=et.redSqrt();if(0!==At.redSqr().redSub(et).cmp(this.zero))throw new Error("invalid point");return et=At.fromRed().isOdd(),(tt&&!et||!tt&&et)&&(At=At.redNeg()),this.point($,At)},a.prototype.validate=function($){if($.inf)return!0;var tt=$.x,et=$.y;return $=this.a.redMul(tt),$=tt.redSqr().redMul(tt).redIAdd($).redIAdd(this.b),0===et.redSqr().redISub($).cmpn(0)},a.prototype._endoWnafMulAdd=function($,tt,et){for(var At=this._endoWnafT1,nt=this._endoWnafT2,it=0;it<$.length;it++){var at=this._endoSplit(tt[it]),rt=$[it],st=rt._getBeta();at.k1.negative&&(at.k1.ineg(),rt=rt.neg(!0)),at.k2.negative&&(at.k2.ineg(),st=st.neg(!0)),At[2*it]=rt,At[2*it+1]=st,nt[2*it]=at.k1,nt[2*it+1]=at.k2}et=this._wnafMulAdd(1,At,nt,2*it,et);for(var ot=0;ot<2*it;ot++)At[ot]=null,nt[ot]=null;return et},it(u,at.BasePoint),a.prototype.point=function($,tt,et){return new u(this,$,tt,et)},a.prototype.pointFromJSON=function($,tt){return u.fromJSON(this,$,tt)},u.prototype._getBeta=function(){if(this.curve.endo){var $=this.precomputed;if($&&$.beta)return $.beta;var tt,et,At=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);return $&&(tt=this.curve,et=function($){return tt.point($.x.redMul(tt.endo.beta),$.y)},($.beta=At).precomputed={beta:null,naf:$.naf&&{wnd:$.naf.wnd,points:$.naf.points.map(et)},doubles:$.doubles&&{step:$.doubles.step,points:$.doubles.points.map(et)}}),At}},u.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},u.fromJSON=function($,tt,et){"string"==typeof tt&&(tt=JSON.parse(tt));var At=$.point(tt[0],tt[1],et);if(!tt[2])return At;function i(tt){return $.point(tt[0],tt[1],et)}return tt=tt[2],At.precomputed={beta:null,doubles:tt.doubles&&{step:tt.doubles.step,points:[At].concat(tt.doubles.points.map(i))},naf:tt.naf&&{wnd:tt.naf.wnd,points:[At].concat(tt.naf.points.map(i))}},At},u.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},u.prototype.isInfinity=function(){return this.inf},u.prototype.add=function($){if(this.inf)return $;if($.inf)return this;if(this.eq($))return this.dbl();if(this.neg().eq($))return this.curve.point(null,null);if(0===this.x.cmp($.x))return this.curve.point(null,null);$=(tt=0!==(tt=this.y.redSub($.y)).cmpn(0)?tt.redMul(this.x.redSub($.x).redInvm()):tt).redSqr().redISub(this.x).redISub($.x);var tt=tt.redMul(this.x.redSub($)).redISub(this.y);return this.curve.point($,tt)},u.prototype.dbl=function(){if(this.inf)return this;if(0===(et=this.y.redAdd(this.y)).cmpn(0))return this.curve.point(null,null);var $=this.curve.a,tt=this.x.redSqr(),et=et.redInvm();return et=($=tt.redAdd(tt).redIAdd(tt).redIAdd($).redMul(et)).redSqr().redISub(this.x.redAdd(this.x)),$=$.redMul(this.x.redSub(et)).redISub(this.y),this.curve.point(et,$)},u.prototype.getX=function(){return this.x.fromRed()},u.prototype.getY=function(){return this.y.fromRed()},u.prototype.mul=function($){return $=new nt($,16),this.isInfinity()?this:this._hasDoubles($)?this.curve._fixedNafMul(this,$):this.curve.endo?this.curve._endoWnafMulAdd([this],[$]):this.curve._wnafMul(this,$)},u.prototype.mulAdd=function($,tt,et){return tt=[this,tt],et=[$,et],this.curve.endo?this.curve._endoWnafMulAdd(tt,et):this.curve._wnafMulAdd(1,tt,et,2)},u.prototype.jmulAdd=function($,tt,et){return tt=[this,tt],et=[$,et],this.curve.endo?this.curve._endoWnafMulAdd(tt,et,!0):this.curve._wnafMulAdd(1,tt,et,2,!0)},u.prototype.eq=function($){return this===$||this.inf===$.inf&&(this.inf||0===this.x.cmp($.x)&&0===this.y.cmp($.y))},u.prototype.neg=function($){if(this.inf)return this;var tt,et=this.curve.point(this.x,this.y.redNeg());return $&&this.precomputed&&(tt=this.precomputed,$=function($){return $.neg()},et.precomputed={naf:tt.naf&&{wnd:tt.naf.wnd,points:tt.naf.points.map($)},doubles:tt.doubles&&{step:tt.doubles.step,points:tt.doubles.points.map($)}}),et},u.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},it(l,at.BasePoint),a.prototype.jpoint=function($,tt,et){return new l(this,$,tt,et)},l.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var $=(et=this.z.redInvm()).redSqr(),tt=this.x.redMul($),et=this.y.redMul($).redMul(et);return this.curve.point(tt,et)},l.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},l.prototype.add=function($){if(this.isInfinity())return $;if($.isInfinity())return this;var tt=$.z.redSqr(),et=this.z.redSqr(),At=this.x.redMul(tt),nt=$.x.redMul(et),it=this.y.redMul(tt.redMul($.z)),at=$.y.redMul(et.redMul(this.z));return tt=At.redSub(nt),et=it.redSub(at),0===tt.cmpn(0)?0!==et.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl():(at=(nt=tt.redSqr()).redMul(tt),At=At.redMul(nt),nt=et.redSqr().redIAdd(at).redISub(At).redISub(At),at=et.redMul(At.redISub(nt)).redISub(it.redMul(at)),tt=this.z.redMul($.z).redMul(tt),this.curve.jpoint(nt,at,tt))},l.prototype.mixedAdd=function($){if(this.isInfinity())return $.toJ();if($.isInfinity())return this;var tt=this.z.redSqr(),et=this.x,At=$.x.redMul(tt),nt=this.y,it=$.y.redMul(tt).redMul(this.z);return $=et.redSub(At),tt=nt.redSub(it),0===$.cmpn(0)?0!==tt.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl():(it=(At=$.redSqr()).redMul($),et=et.redMul(At),At=tt.redSqr().redIAdd(it).redISub(et).redISub(et),it=tt.redMul(et.redISub(At)).redISub(nt.redMul(it)),$=this.z.redMul($),this.curve.jpoint(At,it,$))},l.prototype.dblp=function($){if(0===$)return this;if(this.isInfinity())return this;if(!$)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var tt=this,et=0;et<$;et++)tt=tt.dbl();return tt}var At=this.curve.a,nt=this.curve.tinv,it=this.x,at=this.y,rt=this.z,st=rt.redSqr().redSqr(),ot=at.redAdd(at);for(et=0;et<$;et++){var ut=it.redSqr(),ct=(It=ot.redSqr()).redSqr(),dt=ut.redAdd(ut).redIAdd(ut).redIAdd(At.redMul(st)),It=(ut=it.redMul(It),dt.redSqr().redISub(ut.redAdd(ut)));ut=ut.redISub(It),dt=(dt=dt.redMul(ut)).redIAdd(dt).redISub(ct),ut=ot.redMul(rt),et+1<$&&(st=st.redMul(ct)),it=It,rt=ut,ot=dt}return this.curve.jpoint(it,ot.redMul(nt),rt)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},l.prototype._zeroDbl=function(){var $,tt,et,At,nt,it=this.zOne?(et=this.x.redSqr(),$=(At=this.y.redSqr()).redSqr(),nt=(nt=this.x.redAdd(At).redSqr().redISub(et).redISub($)).redIAdd(nt),At=(tt=et.redAdd(et).redIAdd(et)).redSqr().redISub(nt).redISub(nt),et=(et=(et=$.redIAdd($)).redIAdd(et)).redIAdd(et),tt=tt.redMul(nt.redISub($=At)).redISub(et),this.y.redAdd(this.y)):(nt=this.x.redSqr(),it=(At=this.y.redSqr()).redSqr(),et=(et=this.x.redAdd(At).redSqr().redISub(nt).redISub(it)).redIAdd(et),nt=(At=nt.redAdd(nt).redIAdd(nt)).redSqr(),it=(it=(it=it.redIAdd(it)).redIAdd(it)).redIAdd(it),$=nt.redISub(et).redISub(et),tt=At.redMul(et.redISub($)).redISub(it),(it=this.y.redMul(this.z)).redIAdd(it));return this.curve.jpoint($,tt,it)},l.prototype._threeDbl=function(){var $,tt,et,At,nt,it,at,rt;return this.zOne?(at=this.x.redSqr(),et=($=this.y.redSqr()).redSqr(),it=(it=this.x.redAdd($).redSqr().redISub(at).redISub(et)).redIAdd(it),tt=At=(rt=at.redAdd(at).redIAdd(at).redIAdd(this.curve.a)).redSqr().redISub(it).redISub(it),nt=(nt=(nt=et.redIAdd(et)).redIAdd(nt)).redIAdd(nt),$=rt.redMul(it.redISub(At)).redISub(nt),at=this.y.redAdd(this.y)):(et=this.z.redSqr(),rt=this.y.redSqr(),it=this.x.redMul(rt),At=(At=this.x.redSub(et).redMul(this.x.redAdd(et))).redAdd(At).redIAdd(At),it=(nt=(nt=it.redIAdd(it)).redIAdd(nt)).redAdd(nt),tt=At.redSqr().redISub(it),at=this.y.redAdd(this.z).redSqr().redISub(rt).redISub(et),rt=(rt=(rt=(rt=rt.redSqr()).redIAdd(rt)).redIAdd(rt)).redIAdd(rt),$=At.redMul(nt.redISub(tt)).redISub(rt)),this.curve.jpoint(tt,$,at)},l.prototype._dbl=function(){var $=this.curve.a,tt=this.x,et=this.y,At=this.z,nt=At.redSqr().redSqr(),it=tt.redSqr(),at=et.redSqr();return $=it.redAdd(it).redIAdd(it).redIAdd($.redMul(nt)),tt=(nt=(nt=tt.redAdd(tt)).redIAdd(nt)).redMul(at),nt=$.redSqr().redISub(tt.redAdd(tt)),tt=tt.redISub(nt),at=(at=(at=(at=at.redSqr()).redIAdd(at)).redIAdd(at)).redIAdd(at),at=$.redMul(tt).redISub(at),At=et.redAdd(et).redMul(At),this.curve.jpoint(nt,at,At)},l.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var $=this.x.redSqr(),tt=this.y.redSqr(),et=this.z.redSqr(),At=tt.redSqr(),nt=$.redAdd($).redIAdd($),it=nt.redSqr(),at=this.x.redAdd(tt).redSqr().redISub($).redISub(At);return $=(at=(at=(at=at.redIAdd(at)).redAdd(at).redIAdd(at)).redISub(it)).redSqr(),At=(At=(At=(At=At.redIAdd(At)).redIAdd(At)).redIAdd(At)).redIAdd(At),it=nt.redIAdd(at).redSqr().redISub(it).redISub($).redISub(At),tt=(tt=(tt=tt.redMul(it)).redIAdd(tt)).redIAdd(tt),tt=(tt=(tt=this.x.redMul($).redISub(tt)).redIAdd(tt)).redIAdd(tt),it=(it=(it=(it=this.y.redMul(it.redMul(At.redISub(it)).redISub(at.redMul($)))).redIAdd(it)).redIAdd(it)).redIAdd(it),$=this.z.redAdd(at).redSqr().redISub(et).redISub($),this.curve.jpoint(tt,it,$)},l.prototype.mul=function($,tt){return $=new nt($,tt),this.curve._wnafMul(this,$)},l.prototype.eq=function($){if("affine"===$.type)return this.eq($.toJ());if(this===$)return!0;var tt=this.z.redSqr(),et=$.z.redSqr();return 0===this.x.redMul(et).redISub($.x.redMul(tt)).cmpn(0)&&(tt=tt.redMul(this.z),et=et.redMul($.z),0===this.y.redMul(et).redISub($.y.redMul(tt)).cmpn(0))},l.prototype.eqXToP=function($){var tt=this.z.redSqr(),et=$.toRed(this.curve.red).redMul(tt);if(0===this.x.cmp(et))return!0;for(var At=$.clone(),nt=this.curve.redN.redMul(tt);;){if(At.iadd(this.curve.n),0<=At.cmp(this.curve.p))return!1;if(et.redIAdd(nt),0===this.x.cmp(et))return!0}},l.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},l.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../utils":24,"./base":13,"bn.js":9,inherits:39}],18:[function($,tt,et){"use strict";var At,nt=et,it=(et=$("hash.js"),$("./curve")),at=$("./utils").assert;function a($){"short"===$.type?this.curve=new it.short($):"edwards"===$.type?this.curve=new it.edwards($):this.curve=new it.mont($),this.g=this.curve.g,this.n=this.curve.n,this.hash=$.hash,at(this.g.validate(),"Invalid curve"),at(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function u($,tt){Object.defineProperty(nt,$,{configurable:!0,enumerable:!0,get:function(){var et=new a(tt);return Object.defineProperty(nt,$,{configurable:!0,enumerable:!0,value:et}),et}})}nt.PresetCurve=a,u("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:et.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),u("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:et.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),u("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:et.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),u("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:et.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"]}),u("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:et.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"]}),u("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:et.sha256,gRed:!1,g:["9"]}),u("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:et.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{At=$("./precomputed/secp256k1")}catch($){At=void 0}u("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:et.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",At]})},{"./curve":15,"./precomputed/secp256k1":23,"./utils":24,"hash.js":26}],19:[function($,tt,et){"use strict";var At=$("bn.js"),nt=$("hmac-drbg"),it=$("../utils"),at=$("../curves"),rt=$("brorand"),st=it.assert,ot=$("./key"),ut=$("./signature");function u($){if(!(this instanceof u))return new u($);"string"==typeof $&&(st(Object.prototype.hasOwnProperty.call(at,$),"Unknown curve "+$),$=at[$]),$ instanceof at.PresetCurve&&($={curve:$}),this.curve=$.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=$.curve.g,this.g.precompute($.curve.n.bitLength()+1),this.hash=$.hash||$.curve.hash}(tt.exports=u).prototype.keyPair=function($){return new ot(this,$)},u.prototype.keyFromPrivate=function($,tt){return ot.fromPrivate(this,$,tt)},u.prototype.keyFromPublic=function($,tt){return ot.fromPublic(this,$,tt)},u.prototype.genKeyPair=function($){for(var tt=new nt({hash:this.hash,pers:($=$||{}).pers,persEnc:$.persEnc||"utf8",entropy:$.entropy||rt(this.hash.hmacStrength),entropyEnc:$.entropy&&$.entropyEnc||"utf8",nonce:this.n.toArray()}),et=this.n.byteLength(),it=this.n.sub(new At(2));;){var at=new At(tt.generate(et));if(!(0<at.cmp(it)))return at.iaddn(1),this.keyFromPrivate(at)}},u.prototype._truncateToN=function($,tt){var et=8*$.byteLength()-this.n.bitLength();return 0<et&&($=$.ushrn(et)),!tt&&0<=$.cmp(this.n)?$.sub(this.n):$},u.prototype.sign=function($,tt,et,it){"object"==typeof et&&(it=et,et=null),it=it||{},tt=this.keyFromPrivate(tt,et),$=this._truncateToN(new At($,16));for(var at=this.n.byteLength(),rt=(et=tt.getPrivate().toArray("be",at),at=$.toArray("be",at),new nt({hash:this.hash,entropy:et,nonce:at,pers:it.pers,persEnc:it.persEnc||"utf8"})),st=this.n.sub(new At(1)),ot=0;;ot++){var ct=it.k?it.k(ot):new At(rt.generate(this.n.byteLength()));if(!((ct=this._truncateToN(ct,!0)).cmpn(1)<=0||0<=ct.cmp(st))){var dt=this.g.mul(ct);if(!dt.isInfinity()){var It=dt.getX(),ht=It.umod(this.n);if(0!==ht.cmpn(0)&&0!==(ct=(ct=ct.invm(this.n).mul(ht.mul(tt.getPrivate()).iadd($))).umod(this.n)).cmpn(0))return It=(dt.getY().isOdd()?1:0)|(0!==It.cmp(ht)?2:0),it.canonical&&0<ct.cmp(this.nh)&&(ct=this.n.sub(ct),It^=1),new ut({r:ht,s:ct,recoveryParam:It})}}}},u.prototype.verify=function($,tt,et,nt){return $=this._truncateToN(new At($,16)),et=this.keyFromPublic(et,nt),nt=(tt=new ut(tt,"hex")).r,tt=tt.s,!(nt.cmpn(1)<0||0<=nt.cmp(this.n))&&!(tt.cmpn(1)<0||0<=tt.cmp(this.n))&&($=(tt=tt.invm(this.n)).mul($).umod(this.n),tt=tt.mul(nt).umod(this.n),this.curve._maxwellTrick?!(it=this.g.jmulAdd($,et.getPublic(),tt)).isInfinity()&&it.eqXToP(nt):!(it=this.g.mulAdd($,et.getPublic(),tt)).isInfinity()&&0===it.getX().umod(this.n).cmp(nt));var it},u.prototype.recoverPubKey=function($,tt,et,nt){st((3&et)===et,"The recovery param is more than two bits"),tt=new ut(tt,nt);var it=this.n,at=new At($),rt=tt.r;if(nt=tt.s,$=1&et,et>>=1,0<=rt.cmp(this.curve.p.umod(this.curve.n))&&et)throw new Error("Unable to find sencond key candinate");return rt=et?this.curve.pointFromX(rt.add(this.curve.n),$):this.curve.pointFromX(rt,$),tt=tt.r.invm(it),at=it.sub(at).mul(tt).umod(it),it=nt.mul(tt).umod(it),this.g.mulAdd(at,rt,it)},u.prototype.getKeyRecoveryParam=function($,tt,et,At){if(null!==(tt=new ut(tt,At)).recoveryParam)return tt.recoveryParam;for(var nt,it=0;it<4;it++){try{nt=this.recoverPubKey($,tt,it)}catch($){continue}if(nt.eq(et))return it}throw new Error("Unable to find valid recovery factor")}},{"../curves":18,"../utils":24,"./key":20,"./signature":21,"bn.js":9,brorand:10,"hmac-drbg":38}],20:[function($,tt,et){"use strict";var At=$("bn.js"),nt=$("../utils").assert;function o($,tt){this.ec=$,this.priv=null,this.pub=null,tt.priv&&this._importPrivate(tt.priv,tt.privEnc),tt.pub&&this._importPublic(tt.pub,tt.pubEnc)}(tt.exports=o).fromPublic=function($,tt,et){return tt instanceof o?tt:new o($,{pub:tt,pubEnc:et})},o.fromPrivate=function($,tt,et){return tt instanceof o?tt:new o($,{priv:tt,privEnc:et})},o.prototype.validate=function(){var $=this.getPublic();return $.isInfinity()?{result:!1,reason:"Invalid public key"}:$.validate()?$.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function($,tt){return"string"==typeof $&&(tt=$,$=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),tt?this.pub.encode(tt,$):this.pub},o.prototype.getPrivate=function($){return"hex"===$?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function($,tt){this.priv=new At($,tt||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function($,tt){if($.x||$.y)return"mont"===this.ec.curve.type?nt($.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||nt($.x&&$.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point($.x,$.y));this.pub=this.ec.curve.decodePoint($,tt)},o.prototype.derive=function($){return $.validate()||nt($.validate(),"public point not validated"),$.mul(this.priv).getX()},o.prototype.sign=function($,tt,et){return this.ec.sign($,this,tt,et)},o.prototype.verify=function($,tt){return this.ec.verify($,tt,this)},o.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},{"../utils":24,"bn.js":9}],21:[function($,tt,et){"use strict";var At=$("bn.js"),nt=$("../utils"),it=nt.assert;function s($,tt){if($ instanceof s)return $;this._importDER($,tt)||(it($.r&&$.s,"Signature without r or s"),this.r=new At($.r,16),this.s=new At($.s,16),void 0===$.recoveryParam?this.recoveryParam=null:this.recoveryParam=$.recoveryParam)}function a(){this.place=0}function u($,tt){var et=$[tt.place++];if(!(128&et))return et;var At=15&et;if(0==At||4<At)return!1;for(var nt=0,it=0,at=tt.place;it<At;it++,at++)nt<<=8,nt|=$[at],nt>>>=0;return!(nt<=127)&&(tt.place=at,nt)}function l($){for(var tt=0,et=$.length-1;!$[tt]&&!(128&$[tt+1])&&tt<et;)tt++;return 0===tt?$:$.slice(tt)}function h($,tt){if(tt<128)$.push(tt);else{var et=1+(Math.log(tt)/Math.LN2>>>3);for($.push(128|et);--et;)$.push(tt>>>(et<<3)&255);$.push(tt)}}(tt.exports=s).prototype._importDER=function($,tt){$=nt.toArray($,tt);var et=new a;if(48!==$[et.place++])return!1;var it=u($,et);if(!1===it)return!1;if(it+et.place!==$.length)return!1;if(2!==$[et.place++])return!1;if(!1===(tt=u($,et)))return!1;if(it=$.slice(et.place,tt+et.place),et.place+=tt,2!==$[et.place++])return!1;if(!1===(tt=u($,et)))return!1;if($.length!==tt+et.place)return!1;if(et=$.slice(et.place,tt+et.place),0===it[0]){if(!(128&it[1]))return!1;it=it.slice(1)}if(0===et[0]){if(!(128&et[1]))return!1;et=et.slice(1)}return this.r=new At(it),this.s=new At(et),!(this.recoveryParam=null)},s.prototype.toDER=function($){var tt=this.r.toArray(),et=this.s.toArray();for(128&tt[0]&&(tt=[0].concat(tt)),128&et[0]&&(et=[0].concat(et)),tt=l(tt),et=l(et);!(et[0]||128&et[1]);)et=et.slice(1);var At=[2];return h(At,tt.length),(At=At.concat(tt)).push(2),h(At,et.length),tt=At.concat(et),h(At=[48],tt.length),At=At.concat(tt),nt.encode(At,$)}},{"../utils":24,"bn.js":9}],22:[function($,tt,et){arguments[4][14][0].apply(et,arguments)},{dup:14}],23:[function($,tt,et){tt.exports=void 0},{}],24:[function($,tt,et){"use strict";var At=et,nt=$("bn.js");et=$("minimalistic-assert"),$=$("minimalistic-crypto-utils"),At.assert=et,At.toArray=$.toArray,At.zero2=$.zero2,At.toHex=$.toHex,At.encode=$.encode,At.getNAF=function($,tt,et){var At=new Array(Math.max($.bitLength(),et)+1);At.fill(0);for(var nt=1<<tt+1,it=$.clone(),at=0;at<At.length;at++){var rt,st=it.andln(nt-1);it.isOdd()?it.isubn(rt=(nt>>1)-1<st?(nt>>1)-st:st):rt=0,At[at]=rt,it.iushrn(1)}return At},At.getJSF=function($,tt){var et=[[],[]];$=$.clone(),tt=tt.clone();for(var At,nt=0,it=0;0<$.cmpn(-nt)||0<tt.cmpn(-it);){var at,rt=$.andln(3)+nt&3,st=tt.andln(3)+it&3;3===st&&(st=-1),at=0==(1&(rt=3===rt?-1:rt))?0:3!=(At=$.andln(7)+nt&7)&&5!==At||2!==st?rt:-rt,et[0].push(at),st=0==(1&st)?0:3!=(At=tt.andln(7)+it&7)&&5!==At||2!==rt?st:-st,et[1].push(st),2*nt===at+1&&(nt=1-nt),2*it===st+1&&(it=1-it),$.iushrn(1),tt.iushrn(1)}return et},At.cachedProperty=function($,tt,et){var At="_"+tt;$.prototype[tt]=function(){return void 0!==this[At]?this[At]:this[At]=et.call(this)}},At.parseBytes=function($){return"string"==typeof $?At.toArray($,"hex"):$},At.intFromLE=function($){return new nt($,"hex","le")}},{"bn.js":9,"minimalistic-assert":41,"minimalistic-crypto-utils":42}],25:[function($,tt,et){tt.exports={version:"6.5.4"}},{}],26:[function($,tt,et){et.utils=$("./hash/utils"),et.common=$("./hash/common"),et.sha=$("./hash/sha"),et.ripemd=$("./hash/ripemd"),et.hmac=$("./hash/hmac"),et.sha1=et.sha.sha1,et.sha256=et.sha.sha256,et.sha224=et.sha.sha224,et.sha384=et.sha.sha384,et.sha512=et.sha.sha512,et.ripemd160=et.ripemd.ripemd160},{"./hash/common":27,"./hash/hmac":28,"./hash/ripemd":29,"./hash/sha":30,"./hash/utils":37}],27:[function($,tt,et){"use strict";var At=$("./utils"),nt=$("minimalistic-assert");function o(){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}(et.BlockHash=o).prototype.update=function($,tt){if($=At.toArray($,tt),this.pending?this.pending=this.pending.concat($):this.pending=$,this.pendingTotal+=$.length,this.pending.length>=this._delta8){tt=($=this.pending).length%this._delta8,this.pending=$.slice($.length-tt,$.length),0===this.pending.length&&(this.pending=null),$=At.join32($,0,$.length-tt,this.endian);for(var et=0;et<$.length;et+=this._delta32)this._update($,et,et+this._delta32)}return this},o.prototype.digest=function($){return this.update(this._pad()),nt(null===this.pending),this._digest($)},o.prototype._pad=function(){var $=this.pendingTotal,tt=this._delta8,et=tt-($+this.padLength)%tt,At=new Array(et+this.padLength);At[0]=128;for(var nt=1;nt<et;nt++)At[nt]=0;if($<<=3,"big"===this.endian){for(var it=8;it<this.padLength;it++)At[nt++]=0;At[nt++]=0,At[nt++]=0,At[nt++]=0,At[nt++]=0,At[nt++]=$>>>24&255,At[nt++]=$>>>16&255,At[nt++]=$>>>8&255,At[nt++]=255&$}else for(At[nt++]=255&$,At[nt++]=$>>>8&255,At[nt++]=$>>>16&255,At[nt++]=$>>>24&255,At[nt++]=0,At[nt++]=0,At[nt++]=0,At[nt++]=0,it=8;it<this.padLength;it++)At[nt++]=0;return At}},{"./utils":37,"minimalistic-assert":41}],28:[function($,tt,et){"use strict";var At=$("./utils"),nt=$("minimalistic-assert");function o($,tt,et){if(!(this instanceof o))return new o($,tt,et);this.Hash=$,this.blockSize=$.blockSize/8,this.outSize=$.outSize/8,this.inner=null,this.outer=null,this._init(At.toArray(tt,et))}(tt.exports=o).prototype._init=function($){$.length>this.blockSize&&($=(new this.Hash).update($).digest()),nt($.length<=this.blockSize);for(var tt=$.length;tt<this.blockSize;tt++)$.push(0);for(tt=0;tt<$.length;tt++)$[tt]^=54;for(this.inner=(new this.Hash).update($),tt=0;tt<$.length;tt++)$[tt]^=106;this.outer=(new this.Hash).update($)},o.prototype.update=function($,tt){return this.inner.update($,tt),this},o.prototype.digest=function($){return this.outer.update(this.inner.digest()),this.outer.digest($)}},{"./utils":37,"minimalistic-assert":41}],29:[function($,tt,et){"use strict";var At=$("./utils"),nt=($=$("./common"),At.rotl32),it=At.sum32,at=At.sum32_3,rt=At.sum32_4,st=$.BlockHash;function o(){if(!(this instanceof o))return new o;st.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function b($,tt,et,At){return $<=15?tt^et^At:$<=31?tt&et|~tt&At:$<=47?(tt|~et)^At:$<=63?tt&At|et&~At:tt^(et|~At)}At.inherits(o,st),(et.ripemd160=o).blockSize=512,o.outSize=160,o.hmacStrength=192,o.padLength=64,o.prototype._update=function($,tt){for(var et,At=Bt=this.h[0],st=bt=this.h[1],It=Qt=this.h[2],ht=mt=this.h[3],pt=Et=this.h[4],yt=0;yt<80;yt++){var Ct=it(nt(rt(Bt,b(yt,bt,Qt,mt),$[ot[yt]+tt],(et=yt)<=15?0:et<=31?1518500249:et<=47?1859775393:et<=63?2400959708:2840853838),ct[yt]),Et),Bt=Et,Et=mt,mt=nt(Qt,10),Qt=bt,bt=Ct;Ct=it(nt(rt(At,b(79-yt,st,It,ht),$[ut[yt]+tt],(et=yt)<=15?1352829926:et<=31?1548603684:et<=47?1836072691:et<=63?2053994217:0),dt[yt]),pt),At=pt,pt=ht,ht=nt(It,10),It=st,st=Ct}Ct=at(this.h[1],Qt,ht),this.h[1]=at(this.h[2],mt,pt),this.h[2]=at(this.h[3],Et,At),this.h[3]=at(this.h[4],Bt,st),this.h[4]=at(this.h[0],bt,It),this.h[0]=Ct},o.prototype._digest=function($){return"hex"===$?At.toHex32(this.h,"little"):At.split32(this.h,"little")};var ot=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],ut=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],ct=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],dt=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},{"./common":27,"./utils":37}],30:[function($,tt,et){"use strict";et.sha1=$("./sha/1"),et.sha224=$("./sha/224"),et.sha256=$("./sha/256"),et.sha384=$("./sha/384"),et.sha512=$("./sha/512")},{"./sha/1":31,"./sha/224":32,"./sha/256":33,"./sha/384":34,"./sha/512":35}],31:[function($,tt,et){arguments[4][14][0].apply(et,arguments)},{dup:14}],32:[function($,tt,et){arguments[4][14][0].apply(et,arguments)},{dup:14}],33:[function($,tt,et){"use strict";var At=$("../utils"),nt=$("../common"),it=$("./common"),at=$("minimalistic-assert"),rt=At.sum32,st=At.sum32_4,ot=At.sum32_5,ut=it.ch32,ct=it.maj32,dt=it.s0_256,It=it.s1_256,ht=it.g0_256,pt=it.g1_256,yt=nt.BlockHash,Ct=[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 u(){if(!(this instanceof u))return new u;yt.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Ct,this.W=new Array(64)}At.inherits(u,yt),(tt.exports=u).blockSize=512,u.outSize=256,u.hmacStrength=192,u.padLength=64,u.prototype._update=function($,tt){for(var et=this.W,At=0;At<16;At++)et[At]=$[tt+At];for(;At<et.length;At++)et[At]=st(pt(et[At-2]),et[At-7],ht(et[At-15]),et[At-16]);var nt=this.h[0],it=this.h[1],yt=this.h[2],Ct=this.h[3],Bt=this.h[4],Et=this.h[5],mt=this.h[6],Qt=this.h[7];for(at(this.k.length===et.length),At=0;At<et.length;At++){var bt=ot(Qt,It(Bt),ut(Bt,Et,mt),this.k[At],et[At]),wt=rt(dt(nt),ct(nt,it,yt));Qt=mt,mt=Et,Et=Bt,Bt=rt(Ct,bt),Ct=yt,yt=it,it=nt,nt=rt(bt,wt)}this.h[0]=rt(this.h[0],nt),this.h[1]=rt(this.h[1],it),this.h[2]=rt(this.h[2],yt),this.h[3]=rt(this.h[3],Ct),this.h[4]=rt(this.h[4],Bt),this.h[5]=rt(this.h[5],Et),this.h[6]=rt(this.h[6],mt),this.h[7]=rt(this.h[7],Qt)},u.prototype._digest=function($){return"hex"===$?At.toHex32(this.h,"big"):At.split32(this.h,"big")}},{"../common":27,"../utils":37,"./common":36,"minimalistic-assert":41}],34:[function($,tt,et){arguments[4][14][0].apply(et,arguments)},{dup:14}],35:[function($,tt,et){"use strict";var At=$("../utils"),nt=$("../common"),it=$("minimalistic-assert"),at=At.rotr64_hi,rt=At.rotr64_lo,st=At.shr64_hi,ot=At.shr64_lo,ut=At.sum64,ct=At.sum64_hi,dt=At.sum64_lo,It=At.sum64_4_hi,ht=At.sum64_4_lo,pt=At.sum64_5_hi,yt=At.sum64_5_lo,Ct=nt.BlockHash,Bt=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function a(){if(!(this instanceof a))return new a;Ct.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Bt,this.W=new Array(160)}At.inherits(a,Ct),(tt.exports=a).blockSize=1024,a.outSize=512,a.hmacStrength=192,a.padLength=128,a.prototype._prepareBlock=function($,tt){for(var et=this.W,At=0;At<32;At++)et[At]=$[tt+At];for(;At<et.length;At+=2){var nt=function($,tt){return(tt=at($,tt,19)^at(tt,$,29)^(tt=st($,tt,6)))<0&&(tt+=4294967296),tt}(et[At-4],et[At-3]),it=function($,tt){return(tt=rt($,tt,19)^rt(tt,$,29)^(tt=ot($,tt,6)))<0&&(tt+=4294967296),tt}(et[At-4],et[At-3]),ut=et[At-14],ct=et[At-13],dt=function($,tt){return(tt=at($,tt,1)^at($,tt,8)^(tt=st($,tt,7)))<0&&(tt+=4294967296),tt}(et[At-30],et[At-29]),pt=function($,tt){return(tt=rt($,tt,1)^rt($,tt,8)^(tt=ot($,tt,7)))<0&&(tt+=4294967296),tt}(et[At-30],et[At-29]),yt=et[At-32],Ct=et[At-31];et[At]=It(nt,it,ut,ct,dt,pt,yt,Ct),et[At+1]=ht(nt,it,ut,ct,dt,pt,yt,Ct)}},a.prototype._update=function($,tt){this._prepareBlock($,tt);var et=this.W,At=this.h[0],nt=this.h[1],st=this.h[2],ot=this.h[3],It=this.h[4],ht=this.h[5],Ct=this.h[6],Bt=this.h[7],Et=this.h[8],mt=this.h[9],Qt=this.h[10],bt=this.h[11],wt=this.h[12],vt=this.h[13],Mt=this.h[14],Dt=this.h[15];it(this.k.length===et.length);for(var St=0;St<et.length;St+=2){var kt=Mt,_t=Dt,Rt=function($,tt){return($=at($,tt,14)^at($,tt,18)^($=at(tt,$,9)))<0&&($+=4294967296),$}(Et,mt),Nt=function($,tt){return($=rt($,tt,14)^rt($,tt,18)^($=rt(tt,$,9)))<0&&($+=4294967296),$}(Et,mt),Ht=function($,tt,et){return(et=$&tt^~$&et)<0&&(et+=4294967296),et}(Et,Qt,wt),Ft=function($,tt,et){return(et=$&tt^~$&et)<0&&(et+=4294967296),et}(mt,bt,vt),Gt=this.k[St],Ut=this.k[St+1],xt=et[St],Lt=et[St+1],Tt=pt(kt,_t,Rt,Nt,Ht,Ft,Gt,Ut,xt,Lt);xt=yt(kt,_t,Rt,Nt,Ht,Ft,Gt,Ut,xt,Lt),kt=function($,tt){return($=at($,tt,28)^at(tt,$,2)^($=at(tt,$,7)))<0&&($+=4294967296),$}(At,nt),_t=function($,tt){return($=rt($,tt,28)^rt(tt,$,2)^($=rt(tt,$,7)))<0&&($+=4294967296),$}(At,nt),Rt=function($,tt,et){return(et=$&tt^$&et^tt&et)<0&&(et+=4294967296),et}(At,st,It),Nt=function($,tt,et){return(et=$&tt^$&et^tt&et)<0&&(et+=4294967296),et}(nt,ot,ht),Lt=ct(kt,_t,Rt,Nt),Nt=dt(kt,_t,Rt,Nt),Mt=wt,Dt=vt,wt=Qt,vt=bt,Qt=Et,bt=mt,Et=ct(Ct,Bt,Tt,xt),mt=dt(Bt,Bt,Tt,xt),Ct=It,Bt=ht,It=st,ht=ot,st=At,ot=nt,At=ct(Tt,xt,Lt,Nt),nt=dt(Tt,xt,Lt,Nt)}ut(this.h,0,At,nt),ut(this.h,2,st,ot),ut(this.h,4,It,ht),ut(this.h,6,Ct,Bt),ut(this.h,8,Et,mt),ut(this.h,10,Qt,bt),ut(this.h,12,wt,vt),ut(this.h,14,Mt,Dt)},a.prototype._digest=function($){return"hex"===$?At.toHex32(this.h,"big"):At.split32(this.h,"big")}},{"../common":27,"../utils":37,"minimalistic-assert":41}],36:[function($,tt,et){"use strict";var At=$("../utils").rotr32;function i($,tt,et){return $&tt^~$&et}function o($,tt,et){return $&tt^$&et^tt&et}et.ft_1=function($,tt,et,At){return 0===$?i(tt,et,At):1===$||3===$?tt^et^At:2===$?o(tt,et,At):void 0},et.ch32=i,et.maj32=o,et.p32=function s($,tt,et){return $^tt^et},et.s0_256=function($){return At($,2)^At($,13)^At($,22)},et.s1_256=function($){return At($,6)^At($,11)^At($,25)},et.g0_256=function($){return At($,7)^At($,18)^$>>>3},et.g1_256=function($){return At($,17)^At($,19)^$>>>10}},{"../utils":37}],37:[function($,tt,et){"use strict";var At=$("minimalistic-assert");function o($){return($>>>24|$>>>8&65280|$<<8&16711680|(255&$)<<24)>>>0}function n($){return 1===$.length?"0"+$:$}function s($){return 7===$.length?"0"+$:6===$.length?"00"+$:5===$.length?"000"+$:4===$.length?"0000"+$:3===$.length?"00000"+$:2===$.length?"000000"+$:1===$.length?"0000000"+$:$}$=$("inherits"),et.inherits=$,et.toArray=function($,tt){if(Array.isArray($))return $.slice();if(!$)return[];var et=[];if("string"==typeof $)if(tt){if("hex"===tt)for(($=$.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&($="0"+$),At=0;At<$.length;At+=2)et.push(parseInt($[At]+$[At+1],16))}else for(var At=0;At<$.length;At++){var nt=(it=$.charCodeAt(At))>>8,it=255⁢nt?et.push(nt,it):et.push(it)}else for(At=0;At<$.length;At++)et[At]=0|$[At];return et},et.toHex=function($){for(var tt="",et=0;et<$.length;et++)tt+=n($[et].toString(16));return tt},et.htonl=o,et.toHex32=function($,tt){for(var et="",At=0;At<$.length;At++){var nt=$[At];et+=s((nt="little"===tt?o(nt):nt).toString(16))}return et},et.zero2=n,et.zero8=s,et.join32=function($,tt,et,nt){At((et-=tt)%4==0);for(var it=new Array(et/4),at=0,rt=tt;at<it.length;at++,rt+=4){var st="big"===nt?$[rt]<<24|$[rt+1]<<16|$[rt+2]<<8|$[rt+3]:$[rt+3]<<24|$[rt+2]<<16|$[rt+1]<<8|$[rt];it[at]=st>>>0}return it},et.split32=function($,tt){for(var et=new Array(4*$.length),At=0,nt=0;At<$.length;At++,nt+=4){var it=$[At];"big"===tt?(et[nt]=it>>>24,et[nt+1]=it>>>16&255,et[nt+2]=it>>>8&255,et[nt+3]=255&it):(et[nt+3]=it>>>24,et[nt+2]=it>>>16&255,et[nt+1]=it>>>8&255,et[nt]=255&it)}return et},et.rotr32=function($,tt){return $>>>tt|$<<32-tt},et.rotl32=function($,tt){return $<<tt|$>>>32-tt},et.sum32=function($,tt){return $+tt>>>0},et.sum32_3=function($,tt,et){return $+tt+et>>>0},et.sum32_4=function($,tt,et,At){return $+tt+et+At>>>0},et.sum32_5=function($,tt,et,At,nt){return $+tt+et+At+nt>>>0},et.sum64=function($,tt,et,At){var nt=$[tt],it=At+$[tt+1]>>>0;$[tt]=(it<At?1:0)+et+nt>>>0,$[tt+1]=it},et.sum64_hi=function($,tt,et,At){return(tt+At>>>0<tt?1:0)+$+et>>>0},et.sum64_lo=function($,tt,et,At){return tt+At>>>0},et.sum64_4_hi=function($,tt,et,At,nt,it,at,rt){var st=0,ot=tt;return st+=(ot=tt+At>>>0)<tt?1:0,st+=(ot=ot+it>>>0)<it?1:0,$+et+nt+at+(st+=(ot=ot+rt>>>0)<rt?1:0)>>>0},et.sum64_4_lo=function($,tt,et,At,nt,it,at,rt){return tt+At+it+rt>>>0},et.sum64_5_hi=function($,tt,et,At,nt,it,at,rt,st,ot){var ut=0,ct=tt;return ut+=(ct=tt+At>>>0)<tt?1:0,ut+=(ct=ct+it>>>0)<it?1:0,ut+=(ct=ct+rt>>>0)<rt?1:0,$+et+nt+at+st+(ut+=(ct=ct+ot>>>0)<ot?1:0)>>>0},et.sum64_5_lo=function($,tt,et,At,nt,it,at,rt,st,ot){return tt+At+it+rt+ot>>>0},et.rotr64_hi=function($,tt,et){return(tt<<32-et|$>>>et)>>>0},et.rotr64_lo=function($,tt,et){return($<<32-et|tt>>>et)>>>0},et.shr64_hi=function($,tt,et){return $>>>et},et.shr64_lo=function($,tt,et){return($<<32-et|tt>>>et)>>>0}},{inherits:39,"minimalistic-assert":41}],38:[function($,tt,et){"use strict";var At=$("hash.js"),nt=$("minimalistic-crypto-utils"),it=$("minimalistic-assert");function s($){if(!(this instanceof s))return new s($);this.hash=$.hash,this.predResist=!!$.predResist,this.outLen=this.hash.outSize,this.minEntropy=$.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var tt=nt.toArray($.entropy,$.entropyEnc||"hex"),et=nt.toArray($.nonce,$.nonceEnc||"hex");$=nt.toArray($.pers,$.persEnc||"hex"),it(tt.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(tt,et,$)}(tt.exports=s).prototype._init=function($,tt,et){et=$.concat(tt).concat(et),this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var At=0;At<this.V.length;At++)this.K[At]=0,this.V[At]=1;this._update(et),this._reseed=1,this.reseedInterval=281474976710656},s.prototype._hmac=function(){return new At.hmac(this.hash,this.K)},s.prototype._update=function($){var tt=this._hmac().update(this.V).update([0]);$&&(tt=tt.update($)),this.K=tt.digest(),this.V=this._hmac().update(this.V).digest(),$&&(this.K=this._hmac().update(this.V).update([1]).update($).digest(),this.V=this._hmac().update(this.V).digest())},s.prototype.reseed=function($,tt,et,At){"string"!=typeof tt&&(At=et,et=tt,tt=null),$=nt.toArray($,tt),et=nt.toArray(et,At),it($.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update($.concat(et||[])),this._reseed=1},s.prototype.generate=function($,tt,et,At){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof tt&&(At=et,et=tt,tt=null),et&&(et=nt.toArray(et,At||"hex"),this._update(et));for(var it=[];it.length<$;)this.V=this._hmac().update(this.V).digest(),it=it.concat(this.V);return At=it.slice(0,$),this._update(et),this._reseed++,nt.encode(At,tt)}},{"hash.js":26,"minimalistic-assert":41,"minimalistic-crypto-utils":42}],39:[function($,tt,et){"function"==typeof Object.create?tt.exports=function($,tt){tt&&($.super_=tt,$.prototype=Object.create(tt.prototype,{constructor:{value:$,enumerable:!1,writable:!0,configurable:!0}}))}:tt.exports=function($,tt){var et;tt&&($.super_=tt,(et=function(){}).prototype=tt.prototype,$.prototype=new et,$.prototype.constructor=$)}},{}],40:[function($,et,At){(function($,tt){(function(){!function(){"use strict";for(var At="object"==typeof window?window:{},nt=!(At=!At.JS_SHA3_NO_NODE_JS&&"object"==typeof $&&$.versions&&$.versions.node?tt:At).JS_SHA3_NO_COMMON_JS&&"object"==typeof et&&et.exports,it="0123456789abcdef".split(""),at=[0,8,16,24],rt=[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],st=[224,256,384,512],ot=["hex","buffer","arrayBuffer","array"],s=function($,tt,et){return function(At){return new g($,tt,$).update(At)[et]()}},a=function($,tt,et){return function(At,nt){return new g($,tt,nt).update(At)[et]()}},n=function($,tt){var et=s($,tt,"hex");et.create=function(){return new g($,tt,$)},et.update=function($){return et.create().update($)};for(var At=0;At<ot.length;++At){var nt=ot[At];et[nt]=s($,tt,nt)}return et},ut=[{name:"keccak",padding:[1,256,65536,16777216],bits:st,createMethod:n},{name:"sha3",padding:[6,1536,393216,100663296],bits:st,createMethod:n},{name:"shake",padding:[31,7936,2031616,520093696],bits:[128,256],createMethod:function($,tt){var et=a($,tt,"hex");et.create=function(et){return new g($,tt,et)},et.update=function($,tt){return et.create(tt).update($)};for(var At=0;At<ot.length;++At){var nt=ot[At];et[nt]=a($,tt,nt)}return et}}],ct={},dt=[],It=0;It<ut.length;++It)for(var ht=ut[It],pt=ht.bits,yt=0;yt<pt.length;++yt){var Ct=ht.name+"_"+pt[yt];dt.push(Ct),ct[Ct]=ht.createMethod(pt[yt],ht.padding)}function g($,tt,et){this.blocks=[],this.s=[],this.padding=tt,this.outputBits=et,this.reset=!0,this.block=0,this.start=0,this.blockCount=1600-($<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=et>>5,this.extraBytes=(31&et)>>3;for(var At=0;At<50;++At)this.s[At]=0}g.prototype.update=function($){for(var tt,et,At="string"!=typeof $,nt=($=At&&$.constructor===ArrayBuffer?new Uint8Array($):$).length,it=this.blocks,rt=this.byteCount,st=this.blockCount,ot=0,ut=this.s;ot<nt;){if(this.reset)for(this.reset=!1,it[0]=this.block,tt=1;tt<st+1;++tt)it[tt]=0;if(At)for(tt=this.start;ot<nt&&tt<rt;++ot)it[tt>>2]|=$[ot]<<at[3&tt++];else for(tt=this.start;ot<nt&&tt<rt;++ot)(et=$.charCodeAt(ot))<128?it[tt>>2]|=et<<at[3&tt++]:(et<2048?it[tt>>2]|=(192|et>>6)<<at[3&tt++]:(et<55296||57344<=et?it[tt>>2]|=(224|et>>12)<<at[3&tt++]:(et=65536+((1023&et)<<10|1023&$.charCodeAt(++ot)),it[tt>>2]|=(240|et>>18)<<at[3&tt++],it[tt>>2]|=(128|et>>12&63)<<at[3&tt++]),it[tt>>2]|=(128|et>>6&63)<<at[3&tt++]),it[tt>>2]|=(128|63&et)<<at[3&tt++]);if(rt<=(this.lastByteIndex=tt)){for(this.start=tt-rt,this.block=it[st],tt=0;tt<st;++tt)ut[tt]^=it[tt];v(ut),this.reset=!0}else this.start=tt}return this},g.prototype.finalize=function(){var $=this.blocks,tt=this.lastByteIndex,et=this.blockCount,At=this.s;if($[tt>>2]|=this.padding[3&tt],this.lastByteIndex===this.byteCount)for($[0]=$[et],tt=1;tt<et+1;++tt)$[tt]=0;for($[et-1]|=2147483648,tt=0;tt<et;++tt)At[tt]^=$[tt];v(At)},g.prototype.toString=g.prototype.hex=function(){this.finalize();for(var $,tt=this.blockCount,et=this.s,At=this.outputBlocks,nt=this.extraBytes,at=0,rt=0,st="";rt<At;){for(at=0;at<tt&&rt<At;++at,++rt)$=et[at],st+=it[$>>4&15]+it[15&$]+it[$>>12&15]+it[$>>8&15]+it[$>>20&15]+it[$>>16&15]+it[$>>28&15]+it[$>>24&15];rt%tt==0&&(v(et),at=0)}return nt&&($=et[at],0<nt&&(st+=it[$>>4&15]+it[15&$]),1<nt&&(st+=it[$>>12&15]+it[$>>8&15]),2<nt&&(st+=it[$>>20&15]+it[$>>16&15])),st},g.prototype.arrayBuffer=function(){this.finalize();for(var $=this.blockCount,tt=this.s,et=this.outputBlocks,At=this.extraBytes,nt=0,it=0,at=this.outputBits>>3,rt=At?new ArrayBuffer(et+1<<2):new ArrayBuffer(at),st=new Uint32Array(rt);it<et;){for(nt=0;nt<$&&it<et;++nt,++it)st[it]=tt[nt];it%$==0&&v(tt)}return At&&(st[nt]=tt[nt],rt=rt.slice(0,at)),rt},g.prototype.buffer=g.prototype.arrayBuffer,g.prototype.digest=g.prototype.array=function(){this.finalize();for(var $,tt,et=this.blockCount,At=this.s,nt=this.outputBlocks,it=this.extraBytes,at=0,rt=0,st=[];rt<nt;){for(at=0;at<et&&rt<nt;++at,++rt)tt=At[at],st[$=rt<<2]=255&tt,st[$+1]=tt>>8&255,st[$+2]=tt>>16&255,st[$+3]=tt>>24&255;rt%et==0&&v(At)}return it&&($=rt<<2,tt=At[at],0<it&&(st[$]=255&tt),1<it&&(st[$+1]=tt>>8&255),2<it&&(st[$+2]=tt>>16&255)),st};var v=function($){for(var tt,et,At,nt,it,at,st,ot,ut,ct,dt,It,ht,pt,yt,Ct,Bt,Et,mt,Qt,bt,wt,vt,Mt,Dt,St,kt,_t,Rt,Nt,Ht,Ft,Gt,Ut,xt,Lt,Tt,Yt,Ot,Kt,Pt,qt,jt,Jt,zt,Zt,Vt,Wt,Xt,$t,ee=0;ee<48;ee+=2)kt=$[0]^$[10]^$[20]^$[30]^$[40],_t=$[1]^$[11]^$[21]^$[31]^$[41],Kt=$[2]^$[12]^$[22]^$[32]^$[42],Ot=$[3]^$[13]^$[23]^$[33]^$[43],Ft=$[4]^$[14]^$[24]^$[34]^$[44],Ht=$[5]^$[15]^$[25]^$[35]^$[45],Zt=$[6]^$[16]^$[26]^$[36]^$[46],zt=$[7]^$[17]^$[27]^$[37]^$[47],ht=$[8]^$[18]^$[28]^$[38]^$[48],ct=(pt=$[9]^$[19]^$[29]^$[39]^$[49])^(Ot<<1|Kt>>>31),$[0]^=ut=ht^(Kt<<1|Ot>>>31),$[1]^=ct,$[10]^=ut,$[11]^=ct,$[20]^=ut,$[21]^=ct,$[30]^=ut,$[31]^=ct,$[40]^=ut,$[41]^=ct,ct=_t^(Ht<<1|Ft>>>31),$[2]^=ut=kt^(Ft<<1|Ht>>>31),$[3]^=ct,$[12]^=ut,$[13]^=ct,$[22]^=ut,$[23]^=ct,$[32]^=ut,$[33]^=ct,$[42]^=ut,$[43]^=ct,ct=Ot^(zt<<1|Zt>>>31),$[4]^=ut=Kt^(Zt<<1|zt>>>31),$[5]^=ct,$[14]^=ut,$[15]^=ct,$[24]^=ut,$[25]^=ct,$[34]^=ut,$[35]^=ct,$[44]^=ut,$[45]^=ct,ct=Ht^(pt<<1|ht>>>31),$[6]^=ut=Ft^(ht<<1|pt>>>31),$[7]^=ct,$[16]^=ut,$[17]^=ct,$[26]^=ut,$[27]^=ct,$[36]^=ut,$[37]^=ct,$[46]^=ut,$[47]^=ct,ct=zt^(_t<<1|kt>>>31),$[8]^=ut=Zt^(kt<<1|_t>>>31),$[9]^=ct,$[18]^=ut,$[19]^=ct,$[28]^=ut,$[29]^=ct,$[38]^=ut,$[39]^=ct,$[48]^=ut,$[49]^=ct,tt=$[0],et=$[1],Gt=$[11]<<4|$[10]>>>28,Ut=$[10]<<4|$[11]>>>28,yt=$[20]<<3|$[21]>>>29,Ct=$[21]<<3|$[20]>>>29,Vt=$[31]<<9|$[30]>>>23,Wt=$[30]<<9|$[31]>>>23,Rt=$[40]<<18|$[41]>>>14,Nt=$[41]<<18|$[40]>>>14,bt=$[2]<<1|$[3]>>>31,wt=$[3]<<1|$[2]>>>31,At=$[13]<<12|$[12]>>>20,nt=$[12]<<12|$[13]>>>20,xt=$[22]<<10|$[23]>>>22,Lt=$[23]<<10|$[22]>>>22,Bt=$[33]<<13|$[32]>>>19,Et=$[32]<<13|$[33]>>>19,Xt=$[42]<<2|$[43]>>>30,$t=$[43]<<2|$[42]>>>30,Pt=$[5]<<30|$[4]>>>2,qt=$[4]<<30|$[5]>>>2,vt=$[14]<<6|$[15]>>>26,Mt=$[15]<<6|$[14]>>>26,it=$[25]<<11|$[24]>>>21,at=$[24]<<11|$[25]>>>21,Tt=$[34]<<15|$[35]>>>17,Yt=$[35]<<15|$[34]>>>17,mt=$[45]<<29|$[44]>>>3,Qt=$[44]<<29|$[45]>>>3,dt=$[6]<<28|$[7]>>>4,It=$[7]<<28|$[6]>>>4,jt=$[17]<<23|$[16]>>>9,Jt=$[16]<<23|$[17]>>>9,Dt=$[26]<<25|$[27]>>>7,St=$[27]<<25|$[26]>>>7,st=$[36]<<21|$[37]>>>11,ot=$[37]<<21|$[36]>>>11,Ot=$[47]<<24|$[46]>>>8,Kt=$[46]<<24|$[47]>>>8,Ht=$[8]<<27|$[9]>>>5,Ft=$[9]<<27|$[8]>>>5,ht=$[18]<<20|$[19]>>>12,pt=$[19]<<20|$[18]>>>12,zt=$[29]<<7|$[28]>>>25,Zt=$[28]<<7|$[29]>>>25,kt=$[38]<<8|$[39]>>>24,_t=$[39]<<8|$[38]>>>24,ut=$[48]<<14|$[49]>>>18,ct=$[49]<<14|$[48]>>>18,$[0]=tt^~At&it,$[1]=et^~nt&at,$[10]=dt^~ht&yt,$[11]=It^~pt&Ct,$[20]=bt^~vt&Dt,$[21]=wt^~Mt&St,$[30]=Ht^~Gt&xt,$[31]=Ft^~Ut&Lt,$[40]=Pt^~jt&zt,$[41]=qt^~Jt&Zt,$[2]=At^~it&st,$[3]=nt^~at&ot,$[12]=ht^~yt&Bt,$[13]=pt^~Ct&Et,$[22]=vt^~Dt&kt,$[23]=Mt^~St&_t,$[32]=Gt^~xt&Tt,$[33]=Ut^~Lt&Yt,$[42]=jt^~zt&Vt,$[43]=Jt^~Zt&Wt,$[4]=it^~st&ut,$[5]=at^~ot&ct,$[14]=yt^~Bt&mt,$[15]=Ct^~Et&Qt,$[24]=Dt^~kt&Rt,$[25]=St^~_t&Nt,$[34]=xt^~Tt&Ot,$[35]=Lt^~Yt&Kt,$[44]=zt^~Vt&Xt,$[45]=Zt^~Wt&$t,$[6]=st^~ut&tt,$[7]=ot^~ct&et,$[16]=Bt^~mt&dt,$[17]=Et^~Qt&It,$[26]=kt^~Rt&bt,$[27]=_t^~Nt&wt,$[36]=Tt^~Ot&Ht,$[37]=Yt^~Kt&Ft,$[46]=Vt^~Xt&Pt,$[47]=Wt^~$t&qt,$[8]=ut^~tt&At,$[9]=ct^~et&nt,$[18]=mt^~dt&ht,$[19]=Qt^~It&pt,$[28]=Rt^~bt&vt,$[29]=Nt^~wt&Mt,$[38]=Ot^~Ht&Gt,$[39]=Kt^~Ft&Ut,$[48]=Xt^~Pt&jt,$[49]=$t^~qt&Jt,$[0]^=rt[ee],$[1]^=rt[ee+1]};if(nt)et.exports=ct;else for(It=0;It<dt.length;++It)At[dt[It]]=ct[dt[It]]}()}).call(this)}).call(this,$("_process"),void 0!==tt?tt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:43}],41:[function($,tt,et){(tt.exports=function n($,tt){if(!$)throw new Error(tt||"Assertion failed")}).equal=function($,tt,et){if($!=tt)throw new Error(et||"Assertion failed: "+$+" != "+tt)}},{}],42:[function($,tt,et){"use strict";function n($){return 1===$.length?"0"+$:$}function i($){for(var tt="",et=0;et<$.length;et++)tt+=n($[et].toString(16));return tt}et.toArray=function($,tt){if(Array.isArray($))return $.slice();if(!$)return[];var et=[];if("string"!=typeof $){for(var At=0;At<$.length;At++)et[At]=0|$[At];return et}if("hex"===tt)for(($=$.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&($="0"+$),At=0;At<$.length;At+=2)et.push(parseInt($[At]+$[At+1],16));else for(At=0;At<$.length;At++){var nt=(it=$.charCodeAt(At))>>8,it=255⁢nt?et.push(nt,it):et.push(it)}return et},et.zero2=n,et.toHex=i,et.encode=function($,tt){return"hex"===tt?i($):$}},{}],43:[function($,tt,et){tt.exports={browser:!0}},{}],44:[function($,tt,et){(function($){(function(){"use strict";function l($){var tt=[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],et=1779033703,At=3144134277,nt=1013904242,it=2773480762,at=1359893119,rt=2600822924,st=528734635,ot=1541459225,ut=new Array(64);function t($){for(var ct=0,dt=$.length;64<=dt;){for(var It,ht,pt,yt,Ct=et,Bt=At,Et=nt,mt=it,Qt=at,bt=rt,wt=st,vt=ot,Mt=0;Mt<16;Mt++)ut[Mt]=(255&$[ht=ct+4*Mt])<<24|(255&$[ht+1])<<16|(255&$[ht+2])<<8|255&$[ht+3];for(Mt=16;Mt<64;Mt++)pt=((It=ut[Mt-2])>>>17|It<<15)^(It>>>19|It<<13)^It>>>10,It=ut[Mt-15],ut[Mt]=(pt+ut[Mt-7]|0)+((yt=(It>>>7|It<<25)^(It>>>18|It<<14)^It>>>3)+ut[Mt-16]|0)|0;for(Mt=0;Mt<64;Mt++)pt=(((Qt>>>6|Qt<<26)^(Qt>>>11|Qt<<21)^(Qt>>>25|Qt<<7))+(Qt&bt^~Qt&wt)|0)+(vt+(tt[Mt]+ut[Mt]|0)|0)|0,yt=((Ct>>>2|Ct<<30)^(Ct>>>13|Ct<<19)^(Ct>>>22|Ct<<10))+(Ct&Bt^Ct&Et^Bt&Et)|0,vt=wt,wt=bt,bt=Qt,Qt=mt+pt|0,mt=Et,Et=Bt,Bt=Ct,Ct=pt+yt|0;et=et+Ct|0,At=At+Bt|0,nt=nt+Et|0,it=it+mt|0,at=at+Qt|0,rt=rt+bt|0,st=st+wt|0,ot=ot+vt|0,ct+=64,dt-=64}}t($);var ct,dt=$.length%64,It=$.length/536870912|0,ht=$.length<<3,pt=dt<56?56:120,yt=$.slice($.length-dt,$.length);for(yt.push(128),ct=1+dt;ct<pt;ct++)yt.push(0);return yt.push(It>>>24&255),yt.push(It>>>16&255),yt.push(It>>>8&255),yt.push(It>>>0&255),yt.push(ht>>>24&255),yt.push(ht>>>16&255),yt.push(ht>>>8&255),yt.push(ht>>>0&255),t(yt),[et>>>24&255,et>>>16&255,et>>>8&255,et>>>0&255,At>>>24&255,At>>>16&255,At>>>8&255,At>>>0&255,nt>>>24&255,nt>>>16&255,nt>>>8&255,nt>>>0&255,it>>>24&255,it>>>16&255,it>>>8&255,it>>>0&255,at>>>24&255,at>>>16&255,at>>>8&255,at>>>0&255,rt>>>24&255,rt>>>16&255,rt>>>8&255,rt>>>0&255,st>>>24&255,st>>>16&255,st>>>8&255,st>>>0&255,ot>>>24&255,ot>>>16&255,ot>>>8&255,ot>>>0&255]}function x($,tt,et){$=$.length<=64?$:l($);for(var At=64+tt.length+4,nt=new Array(At),it=new Array(64),at=[],rt=0;rt<64;rt++)nt[rt]=54;for(rt=0;rt<$.length;rt++)nt[rt]^=$[rt];for(rt=0;rt<tt.length;rt++)nt[64+rt]=tt[rt];for(rt=At-4;rt<At;rt++)nt[rt]=0;for(rt=0;rt<64;rt++)it[rt]=92;for(rt=0;rt<$.length;rt++)it[rt]^=$[rt];function u(){for(var $=At-1;At-4<=$;$--){if(nt[$]++,nt[$]<=255)return;nt[$]=0}}for(;32<=et;)u(),at=at.concat(l(it.concat(l(nt)))),et-=32;return 0<et&&(u(),at=at.concat(l(it.concat(l(nt))).slice(0,et))),at}function P($,tt,et,At,nt){var it;for(T($,16*(2*et-1),nt,0,16),it=0;it<2*et;it++)I($,16*it,nt,16),function($,tt){T($,0,tt,0,16);for(var et=8;0<et;et-=2)tt[4]^=s(tt[0]+tt[12],7),tt[8]^=s(tt[4]+tt[0],9),tt[12]^=s(tt[8]+tt[4],13),tt[0]^=s(tt[12]+tt[8],18),tt[9]^=s(tt[5]+tt[1],7),tt[13]^=s(tt[9]+tt[5],9),tt[1]^=s(tt[13]+tt[9],13),tt[5]^=s(tt[1]+tt[13],18),tt[14]^=s(tt[10]+tt[6],7),tt[2]^=s(tt[14]+tt[10],9),tt[6]^=s(tt[2]+tt[14],13),tt[10]^=s(tt[6]+tt[2],18),tt[3]^=s(tt[15]+tt[11],7),tt[7]^=s(tt[3]+tt[15],9),tt[11]^=s(tt[7]+tt[3],13),tt[15]^=s(tt[11]+tt[7],18),tt[1]^=s(tt[0]+tt[3],7),tt[2]^=s(tt[1]+tt[0],9),tt[3]^=s(tt[2]+tt[1],13),tt[0]^=s(tt[3]+tt[2],18),tt[6]^=s(tt[5]+tt[4],7),tt[7]^=s(tt[6]+tt[5],9),tt[4]^=s(tt[7]+tt[6],13),tt[5]^=s(tt[4]+tt[7],18),tt[11]^=s(tt[10]+tt[9],7),tt[8]^=s(tt[11]+tt[10],9),tt[9]^=s(tt[8]+tt[11],13),tt[10]^=s(tt[9]+tt[8],18),tt[12]^=s(tt[15]+tt[14],7),tt[13]^=s(tt[12]+tt[15],9),tt[14]^=s(tt[13]+tt[12],13),tt[15]^=s(tt[14]+tt[13],18);for(et=0;et<16;++et)$[et]+=tt[et]}(nt,At),T(nt,0,$,tt+16*it,16);for(it=0;it<et;it++)T($,tt+2*it*16,$,16*it,16);for(it=0;it<et;it++)T($,tt+16*(2*it+1),$,16*(it+et),16)}function s($,tt){return $<<tt|$>>>32-tt}function I($,tt,et,At){for(var nt=0;nt<At;nt++)et[nt]^=$[tt+nt]}function T($,tt,et,At,nt){for(;nt--;)et[At++]=$[tt++]}function n($){if($&&"number"==typeof $.length){for(var tt=0;tt<$.length;tt++){if("number"!=typeof $[tt])return;var et=parseInt($[tt]);if(et!=$[tt]||et<0||256<=et)return}return 1}}function R($,tt){var et=parseInt($);if($!=et)throw new Error("invalid "+tt);return et}function e(tt,et,At,it,at,rt,st){if(!st)throw new Error("missing callback");if(At=R(At,"N"),it=R(it,"r"),at=R(at,"p"),rt=R(rt,"dkLen"),0===At||0!=(At&At-1))throw new Error("N must be power of 2");if(nt/128/it<At)throw new Error("N too large");if(nt/128/at<it)throw new Error("r too large");if(!n(tt))throw new Error("password must be an array or buffer");if(tt=Array.prototype.slice.call(tt),!n(et))throw new Error("salt must be an array or buffer");et=Array.prototype.slice.call(et);for(var ot=x(tt,et,128*at*it),ut=new Uint32Array(32*at*it),ct=0;ct<ut.length;ct++){var dt=4*ct;ut[ct]=(255&ot[3+dt])<<24|(255&ot[2+dt])<<16|(255&ot[1+dt])<<8|(255&ot[0+dt])<<0}var It,ht,pt=new Uint32Array(64*it),yt=new Uint32Array(32*it*At),Ct=32*it,Bt=new Uint32Array(16),Et=new Uint32Array(16),mt=at*At*2,Qt=0,bt=null,wt=!1,vt=0,Mt=0,Dt=parseInt(1e3/it),St=void 0!==$?$:setTimeout,N=function(){if(wt)return st(new Error("cancelled"),Qt/mt);switch(vt){case 0:T(ut,ht=32*Mt*it,pt,0,Ct),vt=1,It=0;case 1:Dt<(et=At-It)&&(et=Dt);for(var $=0;$<et;$++)T(pt,0,yt,(It+$)*Ct,Ct),P(pt,Ct,it,Bt,Et);if(It+=et,Qt+=et,(ct=parseInt(1e3*Qt/mt))!==bt){if(wt=st(null,Qt/mt))break;bt=ct}if(It<At)break;It=0,vt=2;case 2:var et;for(Dt<(et=At-It)&&(et=Dt),$=0;$<et;$++){var nt=pt[16*(2*it-1)]&At-1;I(yt,nt*Ct,pt,Ct),P(pt,Ct,it,Bt,Et)}if(It+=et,Qt+=et,(ct=parseInt(1e3*Qt/mt))!==bt){if(wt=st(null,Qt/mt))break;bt=ct}if(It<At)break;if(T(pt,0,ut,ht,Ct),++Mt<at){vt=0;break}for(ot=[],$=0;$<ut.length;$++)ot.push(ut[$]>>0&255),ot.push(ut[$]>>8&255),ot.push(ut[$]>>16&255),ot.push(ut[$]>>24&255);var ct=x(tt,ot,rt);return st(null,1,ct)}St(N)};N()}var At,nt;At=this,nt=2147483647,void 0!==et?tt.exports=e:At&&(At.scrypt&&(At._scrypt=At.scrypt),At.scrypt=e)}).call(this)}).call(this,$("timers").setImmediate)},{timers:46}],45:[function($,et,At){(function($,tt,et){(function(){!function(tt,et){"use strict";var At,nt,it,at,rt,st,ot,ut;function h($){return nt[At]=f.apply(et,$),At++}function f($){var tt=[].slice.call(arguments,1);return function(){"function"==typeof $?$.apply(et,tt):new Function(""+$)()}}function c($){if(it)setTimeout(f(c,$),0);else{var tt=nt[$];if(tt){it=!0;try{tt()}finally{d($),it=!1}}}}function d($){delete nt[$]}tt.setImmediate||(At=1,it=!(nt={}),at=tt.document,ut=(ut=Object.getPrototypeOf&&Object.getPrototypeOf(tt))&&ut.setTimeout?ut:tt,"[object process]"==={}.toString.call(tt.process)?rt=function(){var tt=h(arguments);return $.nextTick(f(c,tt)),tt}:function(){if(tt.postMessage&&!tt.importScripts){var $=!0,et=tt.onmessage;return tt.onmessage=function(){$=!1},tt.postMessage("","*"),tt.onmessage=et,$}}()?function p(){function e(et){et.source===tt&&"string"==typeof et.data&&0===et.data.indexOf($)&&c(+et.data.slice($.length))}var $="setImmediate$"+Math.random()+"$";tt.addEventListener?tt.addEventListener("message",e,!1):tt.attachEvent("onmessage",e),rt=function(){var et=h(arguments);return tt.postMessage($+et,"*"),et}}():rt=tt.MessageChannel?((ot=new MessageChannel).port1.onmessage=function($){c($.data)},function(){var $=h(arguments);return ot.port2.postMessage($),$}):at&&"onreadystatechange"in at.createElement("script")?(st=at.documentElement,function(){var $=h(arguments),tt=at.createElement("script");return tt.onreadystatechange=function(){c($),tt.onreadystatechange=null,st.removeChild(tt),tt=null},st.appendChild(tt),$}):function(){var $=h(arguments);return setTimeout(f(c,$),0),$},ut.setImmediate=rt,ut.clearImmediate=d)}("undefined"==typeof self?void 0===tt?this:tt:self)}).call(this)}).call(this,$("_process"),void 0!==tt?tt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},$("timers").clearImmediate)},{_process:43,timers:46}],46:[function($,et,At){(function($){(function(){et.exports={setImmediate:$.setImmediate}}).call(this)}).call(this,void 0!==tt?tt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],47:[function($,et,At){(function($){(function(){var tt,At,nt;$.crypto&&crypto.getRandomValues&&(tt=new Uint8Array(16),At=function(){return crypto.getRandomValues(tt),tt}),At||(nt=new Array(16),At=function(){for(var $,tt=0;tt<16;tt++)0==(3&tt)&&($=4294967296*Math.random()),nt[tt]=$>>>((3&tt)<<3)&255;return nt}),et.exports=At}).call(this)}).call(this,void 0!==tt?tt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],48:[function($,tt,et){for(var At=$("./rng"),nt=[],it={},at=0;at<256;at++)nt[at]=(at+256).toString(16).substr(1),it[nt[at]]=at;function h($,tt){return tt=tt||0,nt[$[tt++]]+nt[$[tt++]]+nt[$[tt++]]+nt[$[tt++]]+"-"+nt[$[tt++]]+nt[$[tt++]]+"-"+nt[$[tt++]]+nt[$[tt++]]+"-"+nt[$[tt++]]+nt[$[tt++]]+"-"+nt[$[tt++]]+nt[$[tt++]]+nt[$[tt++]]+nt[$[tt++]]+nt[$[tt++]]+nt[$[tt++]]}var rt=[1|($=At())[0],$[1],$[2],$[3],$[4],$[5]],st=16383&($[6]<<8|$[7]),ot=0,ut=0;function a($,tt,et){var nt=tt&&et||0;"string"==typeof $&&(tt="binary"==$?new Array(16):null,$=null);var it=($=$||{}).random||($.rng||At)();if(it[6]=15&it[6]|64,it[8]=63&it[8]|128,tt)for(var at=0;at<16;at++)tt[nt+at]=it[at];return tt||h(it)}($=a).v1=function($,tt,et){var At=tt&&et||0,nt=tt||[],it=void 0!==($=$||{}).clockseq?$.clockseq:st,at=void 0!==$.msecs?$.msecs:(new Date).getTime(),ct=void 0!==$.nsecs?$.nsecs:ut+1;if((et=at-ot+(ct-ut)/1e4)<0&&void 0===$.clockseq&&(it=it+1&16383),1e4<=(ct=(et<0||ot<at)&&void 0===$.nsecs?0:ct))throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");ot=at,st=it,ct=(1e4*(268435455&(at+=122192928e5))+(ut=ct))%4294967296,nt[At++]=ct>>>24&255,nt[At++]=ct>>>16&255,nt[At++]=ct>>>8&255,nt[At++]=255&ct,at=at/4294967296*1e4&268435455,nt[At++]=at>>>8&255,nt[At++]=255&at,nt[At++]=at>>>24&15|16,nt[At++]=at>>>16&255,nt[At++]=it>>>8|128,nt[At++]=255⁢for(var dt=$.node||rt,It=0;It<6;It++)nt[At+It]=dt[It];return tt||h(nt)},$.v4=a,$.parse=function($,tt,et){var At=tt&&et||0,nt=0;for(tt=tt||[],$.toLowerCase().replace(/[0-9a-f]{2}/g,(function($){nt<16&&(tt[At+nt++]=it[$])}));nt<16;)tt[At+nt++]=0;return tt},$.unparse=h,tt.exports=$},{"./rng":47}],49:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});try{tt.exports.XMLHttpRequest=XMLHttpRequest}catch($){console.log("Warning: XMLHttpRequest is not defined"),tt.exports.XMLHttpRequest=null}},{}],50:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("../utils/properties");function i(){At.setType(this,"Provider")}i.isProvider=function($){return At.isType($,"Provider")},$=i,et.Provider=$},{"../utils/properties":74}],51:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at=$("../utils/address"),rt=$("../utils/bignumber"),st=$("../utils/bytes"),ot=$("../constants"),ut=$("../utils/hash"),ct=$("../utils/networks"),dt=$("../utils/properties"),It=$("../utils/rlp"),ht=$("../utils/transaction"),pt=$("../utils/utf8"),yt=$("../utils/web"),Ct=it($("../errors")),Bt=$("./abstract-provider");function b($,tt){var et,At={};for(et in $)try{var nt=$[et](tt[et]);void 0!==nt&&(At[et]=nt)}catch($){throw $.checkKey=et,$.checkValue=tt[et],$}return At}function w($,tt){return function(et){return null==et?tt:$(et)}}function _($){return function(tt){if(!Array.isArray(tt))throw new Error("not an array");var et=[];return tt.forEach((function(tt){et.push($(tt))})),et}}function M($,tt){return"string"==typeof $&&(tt||"0x"===$.substring(0,2)||($="0x"+$),32===st.hexDataLength($))?$.toLowerCase():(Ct.throwError("invalid hash",Ct.INVALID_ARGUMENT,{arg:"hash",value:$}),null)}function A($){return rt.bigNumberify($).toNumber()}function E($){if(!st.isHexString($))throw new Error("invalid uint256");for(;$.length<66;)$="0x0"+$.substring(2);return $}function S($){if(null==$)return"latest";if("earliest"===$)return"0x0";if("latest"===$||"pending"===$)return $;if("number"==typeof $)return st.hexStripZeros(st.hexlify($));if(st.isHexString($))return st.hexStripZeros($);throw new Error("invalid blockTag")}var Et={hash:M,blockHash:w(M,null),blockNumber:w(A,null),transactionIndex:w(A,null),confirmations:w(A,null),from:at.getAddress,gasPrice:rt.bigNumberify,gasLimit:rt.bigNumberify,to:w(at.getAddress,null),value:rt.bigNumberify,nonce:A,data:st.hexlify,r:w(E),s:w(E),v:w(A),creates:w(at.getAddress,null),raw:w(st.hexlify)};function N($){null!=$.gas&&null==$.gasLimit&&($.gasLimit=$.gas),$.to&&rt.bigNumberify($.to).isZero()&&($.to="0x0000000000000000000000000000000000000000"),null!=$.input&&null==$.data&&($.data=$.input),null==$.to&&null==$.creates&&($.creates=at.getContractAddress($)),$.raw||$.v&&$.r&&$.s&&(et=[st.stripZeros(st.hexlify($.nonce)),st.stripZeros(st.hexlify($.gasPrice)),st.stripZeros(st.hexlify($.gasLimit)),$.to||"0x",st.stripZeros(st.hexlify($.value||"0x")),st.hexlify($.data||"0x"),st.stripZeros(st.hexlify($.v||"0x")),st.stripZeros(st.hexlify($.r)),st.stripZeros(st.hexlify($.s))],$.raw=It.encode(et));var tt=b(Et,$),et=$.networkId;return null!=$.chainId&&null==et&&null==tt.v&&(et=$.chainId),"number"!=typeof(et=st.isHexString(et)?rt.bigNumberify(et).toNumber():et)&&null!=tt.v&&((et=(tt.v-35)/2)<0&&(et=0),et=parseInt(et)),tt.networkId=et="number"!=typeof et?0:et,null==tt.chainId&&null!=et&&(tt.chainId=et),tt.blockHash&&"x"===tt.blockHash.replace(/0/g,"")&&(tt.blockHash=null),tt}var mt={hash:M,parentHash:M,number:A,timestamp:A,nonce:w(st.hexlify),difficulty:function($){$=rt.bigNumberify($);try{return $.toNumber()}catch($){}return null},gasLimit:rt.bigNumberify,gasUsed:rt.bigNumberify,miner:at.getAddress,extraData:st.hexlify,transactions:w(_(M))},Qt=dt.shallowCopy(mt);function I($,tt){return null!=$.author&&null==$.miner&&($.miner=$.author),b(tt?Qt:mt,$)}Qt.transactions=w(_(N));var bt={from:w(at.getAddress),nonce:w(A),gasLimit:w(rt.bigNumberify),gasPrice:w(rt.bigNumberify),to:w(at.getAddress),value:w(rt.bigNumberify),data:w(st.hexlify)};function R($){return b(bt,$)}var wt={transactionLogIndex:w(A),transactionIndex:A,blockNumber:A,transactionHash:M,address:at.getAddress,topics:_(M),data:st.hexlify,logIndex:A,blockHash:M},vt={to:w(at.getAddress,null),from:w(at.getAddress,null),contractAddress:w(at.getAddress,null),transactionIndex:A,root:w(M),gasUsed:rt.bigNumberify,logsBloom:w(st.hexlify),blockHash:M,transactionHash:M,logs:_((function($){return b(wt,$)})),blockNumber:A,confirmations:w(A,null),cumulativeGasUsed:rt.bigNumberify,status:w(A)};function L($){return Array.isArray($)?$.forEach((function($){L($)})):null!=$&&M($),$}var Mt,Dt,St={fromBlock:w(S,void 0),toBlock:w(S,void 0),address:w(at.getAddress,void 0),topics:w(L,void 0)},kt={blockHash:w(M,void 0),address:w(at.getAddress,void 0),topics:w(L,void 0)},_t={blockNumber:w(A),blockHash:w(M),transactionIndex:A,removed:w((function($){if("boolean"==typeof $)return $;if("string"==typeof $){if("true"===$)return!0;if("false"===$)return!1}throw new Error("invaid boolean - "+$)})),address:at.getAddress,data:(Mt=st.hexlify,function($){return $?Mt($):"0x"}),topics:_(M),transactionHash:M,logIndex:A};function G($){return b(_t,$)}function H($){return $.map((function($){return"string"==typeof $?$:Array.isArray($)?($.forEach((function($){null!==$&&32!==st.hexDataLength($)&&Ct.throwError("invalid topic",Ct.INVALID_ARGUMENT,{argument:"topic",value:$})})),$.join(",")):null===$?"":Ct.throwError("invalid topic value",Ct.INVALID_ARGUMENT,{argument:"topic",value:$})})).join("&")}function z($){if("string"==typeof $){if(20===st.hexDataLength($))return"address:"+at.getAddress($);if($=$.toLowerCase(),32===st.hexDataLength($))return"tx:"+$;if(-1===$.indexOf(":"))return $}else{if(Array.isArray($))return"filter::"+H($);if($&&"object"==typeof $)return"filter:"+($.address||"")+":"+H($.topics||[])}throw new Error("invalid event - "+$)}function V(){return(new Date).getTime()}function q($){var tt,et=Dt.call(this)||this;return Ct.checkNew(et,Bt.Provider),$ instanceof Promise?(dt.defineReadOnly(et,"ready",$.then((function($){return dt.defineReadOnly(et,"_network",$),$}))),et.ready.catch((function($){}))):(tt=ct.getNetwork(null==$?"homestead":$))?(dt.defineReadOnly(et,"_network",tt),dt.defineReadOnly(et,"ready",Promise.resolve(et._network))):Ct.throwError("invalid network",Ct.INVALID_ARGUMENT,{arg:"network",value:$}),et._lastBlockNumber=-2,et._balances={},et._events=[],et._pollingInterval=4e3,et._emitted={block:-2},et._fastQueryDate=0,et}nt(q,Dt=Bt.Provider),q.prototype._doPoll=function(){var $=this;this.getBlockNumber().then((function(tt){if($.polling&&($._setFastBlockNumber(tt),tt!==$._lastBlockNumber)){-2===$._emitted.block&&($._emitted.block=tt-1);for(var et=$._emitted.block+1;et<=tt;et++)$.emit("block",et);$._emitted.block!==tt&&($._emitted.block=tt,Object.keys($._emitted).forEach((function(et){var At;"block"===et||"pending"!==(At=$._emitted[et])&&12<tt-At&&delete $._emitted[et]}))),-2===$._lastBlockNumber&&($._lastBlockNumber=tt-1);var At={},nt={};return $._events.forEach((function($){nt[$.tag]=!0})),Object.keys(nt).forEach((function(et){var nt=et.split(":");switch(nt[0]){case"tx":var it=nt[1];$.getTransactionReceipt(it).then((function(tt){return tt&&null!=tt.blockNumber&&($._emitted["t:"+it]=tt.blockNumber,$.emit(it,tt)),null})).catch((function(tt){$.emit("error",tt)}));break;case"address":var at=nt[1];$._balances[at]&&(At[at]=$._balances[at]),$.getBalance(at,"latest").then((function(tt){var et=$._balances[at];if(!et||!tt.eq(et))return $._balances[at]=tt,$.emit(at,tt),null})).catch((function(tt){$.emit("error",tt)}));break;case"filter":var rt=nt[2].split(/&/g).map((function($){var tt=$.split(",");return 1===tt.length?""===tt[0]?null:$:tt.map((function($){return""===$?null:$}))})),st={address:nt[1],fromBlock:$._lastBlockNumber+1,toBlock:tt,topics:rt};st.address||delete st.address,$.getLogs(st).then((function(tt){if(0!==tt.length)return tt.forEach((function(tt){$._emitted["b:"+tt.blockHash]=tt.blockNumber,$._emitted["t:"+tt.transactionHash]=tt.blockNumber,$.emit(st,tt)})),null})).catch((function(tt){$.emit("error",tt)}))}})),$._lastBlockNumber=tt,$._balances=At,null}})).catch((function($){})),this.doPoll()},q.prototype.resetEventsBlock=function($){this._lastBlockNumber=$-1,this.polling&&this._doPoll()},Object.defineProperty(q.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),q.prototype.getNetwork=function(){return this.ready},Object.defineProperty(q.prototype,"blockNumber",{get:function(){return this._fastBlockNumber},enumerable:!0,configurable:!0}),Object.defineProperty(q.prototype,"polling",{get:function(){return null!=this._poller},set:function($){var tt=this;setTimeout((function(){$&&!tt._poller?(tt._poller=setInterval(tt._doPoll.bind(tt),tt.pollingInterval),tt._doPoll()):!$&&tt._poller&&(clearInterval(tt._poller),tt._poller=null)}),0)},enumerable:!0,configurable:!0}),Object.defineProperty(q.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function($){var tt=this;if("number"!=typeof $||$<=0||parseInt(String($))!=$)throw new Error("invalid polling interval");this._pollingInterval=$,this._poller&&(clearInterval(this._poller),this._poller=setInterval((function(){tt._doPoll()}),this._pollingInterval))},enumerable:!0,configurable:!0}),q.prototype._getFastBlockNumber=function(){var $=this,tt=V();return tt-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=tt,this._fastBlockNumberPromise=this.getBlockNumber().then((function(tt){return(null==$._fastBlockNumber||tt>$._fastBlockNumber)&&($._fastBlockNumber=tt),$._fastBlockNumber}))),this._fastBlockNumberPromise},q.prototype._setFastBlockNumber=function($){null!=this._fastBlockNumber&&$<this._fastBlockNumber||(this._fastQueryDate=V(),(null==this._fastBlockNumber||$>this._fastBlockNumber)&&(this._fastBlockNumber=$,this._fastBlockNumberPromise=Promise.resolve($)))},q.prototype.waitForTransaction=function($,tt){var et=this;return null==tt&&(tt=1),this.getTransactionReceipt($).then((function(At){return 0===tt||At&&At.confirmations>=tt?At:new Promise((function(At){var r=function(nt){nt.confirmations<tt||(et.removeListener($,r),At(nt))};et.on($,r)}))}))},q.prototype.getBlockNumber=function(){var $=this;return this.ready.then((function(){return $.perform("getBlockNumber",{}).then((function(tt){var et=parseInt(tt);if(et!=tt)throw new Error("invalid response - getBlockNumber");return $._setFastBlockNumber(et),et}))}))},q.prototype.getGasPrice=function(){var $=this;return this.ready.then((function(){return $.perform("getGasPrice",{}).then((function($){return rt.bigNumberify($)}))}))},q.prototype.getBalance=function($,tt){var et=this;return this.ready.then((function(){return dt.resolveProperties({addressOrName:$,blockTag:tt}).then((function($){var tt=$.addressOrName,At=$.blockTag;return et._getAddress(tt).then((function($){return $={address:$,blockTag:S(At)},et.perform("getBalance",$).then((function($){return rt.bigNumberify($)}))}))}))}))},q.prototype.getTransactionCount=function($,tt){var et=this;return this.ready.then((function(){return dt.resolveProperties({addressOrName:$,blockTag:tt}).then((function($){var tt=$.addressOrName,At=$.blockTag;return et._getAddress(tt).then((function($){return $={address:$,blockTag:S(At)},et.perform("getTransactionCount",$).then((function($){return rt.bigNumberify($).toNumber()}))}))}))}))},q.prototype.getCode=function($,tt){var et=this;return this.ready.then((function(){return dt.resolveProperties({addressOrName:$,blockTag:tt}).then((function($){var tt=$.addressOrName,At=$.blockTag;return et._getAddress(tt).then((function($){return $={address:$,blockTag:S(At)},et.perform("getCode",$).then((function($){return st.hexlify($)}))}))}))}))},q.prototype.getStorageAt=function($,tt,et){var At=this;return this.ready.then((function(){return dt.resolveProperties({addressOrName:$,position:tt,blockTag:et}).then((function($){var tt=$.addressOrName,et=$.position,nt=$.blockTag;return At._getAddress(tt).then((function($){return $={address:$,blockTag:S(nt),position:st.hexStripZeros(st.hexlify(et))},At.perform("getStorageAt",$).then((function($){return st.hexlify($)}))}))}))}))},q.prototype.sendTransaction=function($){var tt=this;return this.ready.then((function(){return dt.resolveProperties({signedTransaction:$}).then((function($){var et=$.signedTransaction;return $={signedTransaction:st.hexlify(et)},tt.perform("sendTransaction",$).then((function($){return tt._wrapTransaction(ht.parse(et),$)}),(function($){throw $.transaction=ht.parse(et),$.transaction.hash&&($.transactionHash=$.transaction.hash),$}))}))}))},q.prototype._wrapTransaction=function($,tt){var et=this;if(null!=tt&&32!==st.hexDataLength(tt))throw new Error("invalid response - sendTransaction");var At=$;return null!=tt&&$.hash!==tt&&Ct.throwError("Transaction hash mismatch from Provider.sendTransaction.",Ct.UNKNOWN_ERROR,{expectedHash:$.hash,returnedHash:tt}),At.wait=function(tt){return 0!==tt&&(et._emitted["t:"+$.hash]="pending"),et.waitForTransaction($.hash,tt).then((function(At){return null==At&&0===tt?null:(et._emitted["t:"+$.hash]=At.blockNumber,0===At.status&&Ct.throwError("transaction failed",Ct.CALL_EXCEPTION,{transactionHash:$.hash,transaction:$}),At)}))},At},q.prototype.call=function($,tt){var et=this,At=dt.shallowCopy($);return this.ready.then((function(){return dt.resolveProperties({blockTag:tt,tx:At}).then((function($){var tt=$.blockTag;return $=$.tx,et._resolveNames($,["to","from"]).then((function($){return $={blockTag:S(tt),transaction:R($)},et.perform("call",$).then((function($){return st.hexlify($)}))}))}))}))},q.prototype.estimateGas=function($){var tt=this,et={to:$.to,from:$.from,data:$.data,gasPrice:$.gasPrice,value:$.value};return this.ready.then((function(){return dt.resolveProperties(et).then((function($){return tt._resolveNames($,["to","from"]).then((function($){return $={transaction:R($)},tt.perform("estimateGas",$).then((function($){return rt.bigNumberify($)}))}))}))}))},q.prototype.getBlock=function($,tt){var et=this;return this.ready.then((function(){return dt.resolveProperties({blockHashOrBlockTag:$}).then((function($){$=$.blockHashOrBlockTag;try{var At=st.hexlify($);if(32===st.hexDataLength(At))return yt.poll((function(){return et.perform("getBlock",{blockHash:At,includeTransactions:!!tt}).then((function($){return null==$?null==et._emitted["b:"+At]?null:void 0:I($,tt)}))}),{onceBlock:et})}catch($){}try{var nt=-128,it=S($);return st.isHexString(it)&&(nt=parseInt(it.substring(2),16)),yt.poll((function(){return et.perform("getBlock",{blockTag:it,includeTransactions:!!tt}).then((function($){return null==$?nt<=et._emitted.block?void 0:null:I($,tt)}))}),{onceBlock:et})}catch($){}throw new Error("invalid block hash or block tag")}))}))},q.prototype.getTransaction=function($){var tt=this;return this.ready.then((function(){return dt.resolveProperties({transactionHash:$}).then((function($){var et=$.transactionHash,At={transactionHash:M(et,!0)};return yt.poll((function(){return tt.perform("getTransaction",At).then((function($){if(null==$)return null==tt._emitted["t:"+et]?null:void 0;var At=q.checkTransactionResponse($);if(null==At.blockNumber)At.confirmations=0;else if(null==At.confirmations)return tt._getFastBlockNumber().then((function($){return $=$-At.blockNumber+1,At.confirmations=$=$<=0?1:$,tt._wrapTransaction(At)}));return tt._wrapTransaction(At)}))}),{onceBlock:tt})}))}))},q.prototype.getTransactionReceipt=function($){var tt=this;return this.ready.then((function(){return dt.resolveProperties({transactionHash:$}).then((function($){var et=$.transactionHash,At={transactionHash:M(et,!0)};return yt.poll((function(){return tt.perform("getTransactionReceipt",At).then((function($){if(null==$)return null==tt._emitted["t:"+et]?null:void 0;if(null!=$.blockHash){var At,nt=(($=b(vt,At=$)).logs.forEach((function($,tt){null==$.transactionLogIndex&&($.transactionLogIndex=tt)})),null!=At.status&&($.byzantium=!0),$);if(null==nt.blockNumber)nt.confirmations=0;else if(null==nt.confirmations)return tt._getFastBlockNumber().then((function($){return $=$-nt.blockNumber+1,nt.confirmations=$=$<=0?1:$,nt}));return nt}}))}),{onceBlock:tt})}))}))},q.prototype.getLogs=function($){var tt=this;return this.ready.then((function(){return dt.resolveProperties($).then((function($){return tt._resolveNames($,["address"]).then((function($){return $={filter:($=$)&&$.blockHash?b(kt,$):b(St,$)},tt.perform("getLogs",$).then((function($){return _(G)($)}))}))}))}))},q.prototype.getEtherPrice=function(){var $=this;return this.ready.then((function(){return $.perform("getEtherPrice",{}).then((function($){return $}))}))},q.prototype._getAddress=function($){return this.resolveName($).then((function(tt){return null==tt&&Ct.throwError("ENS name not configured",Ct.UNSUPPORTED_OPERATION,{operation:"resolveName("+JSON.stringify($)+")"}),tt}))},q.prototype._resolveNames=function($,tt){var et=[],At=dt.shallowCopy($);return tt.forEach((function($){null!=At[$]&&et.push(this._getAddress(At[$]).then((function(tt){At[$]=tt})))}),this),Promise.all(et).then((function(){return At}))},q.prototype._getResolver=function($){var tt=this;return this.getNetwork().then((function(et){et.ensAddress||Ct.throwError("network does not support ENS",Ct.UNSUPPORTED_OPERATION,{operation:"ENS",network:et.name});var At="0x0178b8bf"+ut.namehash($).substring(2);return At={to:et.ensAddress,data:At},tt.call(At).then((function($){return 32!==st.hexDataLength($)?null:($=at.getAddress(st.hexDataSlice($,12)))===ot.AddressZero?null:$}))}))},q.prototype.resolveName=function($){var tt=this;if($ instanceof Promise)return $.then((function($){return tt.resolveName($)}));try{return Promise.resolve(at.getAddress($))}catch(tt){if(st.isHexString($))throw tt}var et=this,At=ut.namehash($);return this._getResolver($).then((function($){if(null==$)return null;var tt="0x3b3b57de"+At.substring(2);return et.call({to:$,data:tt})})).then((function($){return 32!==st.hexDataLength($)?null:($=at.getAddress(st.hexDataSlice($,12)))===ot.AddressZero?null:$}))},q.prototype.lookupAddress=function($){var tt=this;if($ instanceof Promise)return $.then((function($){return tt.lookupAddress($)}));var et=($=at.getAddress($)).substring(2)+".addr.reverse",At=ut.namehash(et),nt=this;return this._getResolver(et).then((function($){if(!$)return null;var tt="0x691f3431"+At.substring(2);return nt.call({to:$,data:tt})})).then((function(tt){if(null==tt)return null;if((tt=tt.substring(2)).length<64)return null;if((tt=tt.substring(64)).length<64)return null;var et=rt.bigNumberify("0x"+tt.substring(0,64)).toNumber();if(2*et>(tt=tt.substring(64)).length)return null;var At=pt.toUtf8String("0x"+tt.substring(0,2*et));return nt.resolveName(At).then((function(tt){return tt!=$?null:At}))}))},q.checkTransactionResponse=N,q.prototype.doPoll=function(){},q.prototype.perform=function($,tt){return Ct.throwError($+" not implemented",Ct.NOT_IMPLEMENTED,{operation:$}),null},q.prototype._startPending=function(){Ct.warn("WARNING: this provider does not support pending events")},q.prototype._stopPending=function(){},q.prototype._addEventListener=function($,tt,et){this._events.push({tag:z($),listener:tt,once:et}),"pending"===$&&this._startPending(),this.polling=!0},q.prototype.on=function($,tt){return this._addEventListener($,tt,!1),this},q.prototype.once=function($,tt){return this._addEventListener($,tt,!0),this},q.prototype.addEventListener=function($,tt){return this.on($,tt)},q.prototype.emit=function($){for(var tt=this,et=[],At=1;At<arguments.length;At++)et[At-1]=arguments[At];var nt=!1,it=z($);return this._events=this._events.filter((function($){return $.tag!==it||(setTimeout((function(){$.listener.apply(tt,et)}),0),nt=!0,!$.once)})),0===this.listenerCount()&&(this.polling=!1),nt},q.prototype.listenerCount=function($){if(!$)return this._events.length;var tt=z($);return this._events.filter((function($){return $.tag===tt})).length},q.prototype.listeners=function($){var tt=z($);return this._events.filter((function($){return $.tag===tt})).map((function($){return $.listener}))},q.prototype.removeAllListeners=function($){var tt;return null==$?(this._events=[],this._stopPending()):(tt=z($),this._events=this._events.filter((function($){return $.tag!==tt})),"pending"===$&&this._stopPending()),0===this._events.length&&(this.polling=!1),this},q.prototype.removeListener=function($,tt){var et=!1,At=z($);return this._events=this._events.filter((function($){return $.tag!==At||$.listener!=tt||!!et||!(et=!0)})),"pending"===$&&0===this.listenerCount("pending")&&this._stopPending(),0===this.listenerCount()&&(this.polling=!1),this},nt=q,et.BaseProvider=nt,dt.defineReadOnly(Bt.Provider,"inherits",dt.inheritable(Bt.Provider))},{"../constants":3,"../errors":5,"../utils/address":60,"../utils/bignumber":63,"../utils/bytes":64,"../utils/hash":65,"../utils/networks":72,"../utils/properties":74,"../utils/rlp":76,"../utils/transaction":83,"../utils/utf8":85,"../utils/web":86,"./abstract-provider":50}],52:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at,rt=$("./base-provider"),st=$("../utils/bytes"),ot=$("../utils/properties"),ut=$("../utils/web"),ct=it($("../errors"));function f($){var tt,et,At=[];for(tt in $)null!=$[tt]&&(et=st.hexlify($[tt]),{gasLimit:!0,gasPrice:!0,nonce:!0,value:!0}[tt]&&(et=st.hexStripZeros(et)),At.push(tt+"="+et));return At.join("&")}function c($){if(0==$.status&&("No records found"===$.message||"No transactions found"===$.message))return $.result;if(1==$.status&&"OK"==$.message)return $.result;var tt=new Error("invalid response");throw tt.result=JSON.stringify($),tt}function d($){if("2.0"!=$.jsonrpc)throw(tt=new Error("invalid response")).result=JSON.stringify($),tt;if($.error){var tt=new Error($.error.message||"unknown error");throw $.error.code&&(tt.code=$.error.code),$.error.data&&(tt.data=$.error.data),tt}return $.result}function p($){if("pending"===$)throw new Error("pending not supported");return"latest"===$?$:parseInt($.substring(2),16)}function g($,tt){var et=at.call(this,$)||this;ct.checkNew(et,g),$="invalid";var At=null;switch($=et.network?et.network.name:$){case"homestead":At="https://api.etherscan.io";break;case"ropsten":At="https://api-ropsten.etherscan.io";break;case"rinkeby":At="https://api-rinkeby.etherscan.io";break;case"kovan":At="https://api-kovan.etherscan.io";break;case"goerli":At="https://api-goerli.etherscan.io";break;default:throw new Error("unsupported network")}return ot.defineReadOnly(et,"baseUrl",At),ot.defineReadOnly(et,"apiKey",tt||"8FG3JMZ9USS4NTA6YKEKHINU56SEPPVBJR"),et}nt(g,at=rt.BaseProvider),g.prototype.perform=function($,tt){var et,At=this,nt=this.baseUrl,it="";function o($,tt){return ut.fetchJson($,null,tt||d).then((function(tt){return At.emit("debug",{action:"perform",request:$,response:tt,provider:At}),tt}))}switch(this.apiKey&&(it+="&apikey="+this.apiKey),$){case"getBlockNumber":return o(nt+="/api?module=proxy&action=eth_blockNumber"+it);case"getGasPrice":return o(nt+="/api?module=proxy&action=eth_gasPrice"+it);case"getBalance":return nt+="/api?module=account&action=balance&address="+tt.address,o(nt+="&tag="+tt.blockTag+it,c);case"getTransactionCount":return nt+="/api?module=proxy&action=eth_getTransactionCount&address="+tt.address,o(nt+="&tag="+tt.blockTag+it);case"getCode":return nt+="/api?module=proxy&action=eth_getCode&address="+tt.address,o(nt+="&tag="+tt.blockTag+it,d);case"getStorageAt":return nt+="/api?module=proxy&action=eth_getStorageAt&address="+tt.address,nt+="&position="+tt.position,o(nt+="&tag="+tt.blockTag+it,d);case"sendTransaction":return nt+="/api?module=proxy&action=eth_sendRawTransaction&hex="+tt.signedTransaction,o(nt+=it).catch((function($){throw $.responseText&&(0<=$.responseText.toLowerCase().indexOf("insufficient funds")&&ct.throwError("insufficient funds",ct.INSUFFICIENT_FUNDS,{}),0<=$.responseText.indexOf("same hash was already imported")&&ct.throwError("nonce has already been used",ct.NONCE_EXPIRED,{}),0<=$.responseText.indexOf("another transaction with same nonce")&&ct.throwError("replacement fee too low",ct.REPLACEMENT_UNDERPRICED,{})),$}));case"getBlock":return tt.blockTag?(nt+="/api?module=proxy&action=eth_getBlockByNumber&tag="+tt.blockTag,tt.includeTransactions?nt+="&boolean=true":nt+="&boolean=false",o(nt+=it)):Promise.reject(new Error("getBlock by blockHash not implemeneted"));case"getTransaction":return nt+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+tt.transactionHash,o(nt+=it);case"getTransactionReceipt":return nt+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+tt.transactionHash,o(nt+=it);case"call":return nt+="/api?module=proxy&action=eth_call"+(et=(et=f(tt.transaction))&&"&"+et),"latest"!==tt.blockTag?Promise.reject(new Error("EtherscanProvider does not support blockTag for call")):o(nt+=it);case"estimateGas":return nt+="/api?module=proxy&action=eth_estimateGas&"+(et=(et=f(tt.transaction))&&"&"+et),o(nt+=it);case"getLogs":nt+="/api?module=logs&action=getLogs";try{if(tt.filter.fromBlock&&(nt+="&fromBlock="+p(tt.filter.fromBlock)),tt.filter.toBlock&&(nt+="&toBlock="+p(tt.filter.toBlock)),tt.filter.blockHash)try{ct.throwError("Etherscan does not support blockHash filters",ct.UNSUPPORTED_OPERATION,{operation:"getLogs(blockHash)"})}catch($){return Promise.reject($)}if(tt.filter.address&&(nt+="&address="+tt.filter.address),tt.filter.topics&&0<tt.filter.topics.length){if(1<tt.filter.topics.length)throw new Error("unsupported topic format");var rt=tt.filter.topics[0];if("string"!=typeof rt||66!==rt.length)throw new Error("unsupported topic0 format");nt+="&topic0="+rt}}catch($){return Promise.reject($)}var st=this;return o(nt+=it,c).then((function($){var tt={},et=Promise.resolve();return $.forEach((function($){et=et.then((function(){return null!=$.blockHash?null:($.blockHash=tt[$.transactionHash],null==$.blockHash?st.getTransaction($.transactionHash).then((function(et){return tt[$.transactionHash]=et.blockHash,$.blockHash=et.blockHash,null})):null)}))})),et.then((function(){return $}))}));case"getEtherPrice":return"homestead"!==this.network.name?Promise.resolve(0):(nt+="/api?module=stats&action=ethprice",o(nt+=it,c).then((function($){return parseFloat($.ethusd)})))}return at.prototype.perform.call(this,$,tt)},g.prototype.getHistory=function($,tt,et){var At=this,nt=this.baseUrl,it="";return this.apiKey&&(it+="&apikey="+this.apiKey),null==tt&&(tt=0),null==et&&(et=99999999),this.resolveName($).then((function($){return nt+="/api?module=account&action=txlist&address="+$,nt+="&startblock="+tt,nt+="&endblock="+et,nt+="&sort=asc"+it,ut.fetchJson(nt,null,c).then((function($){At.emit("debug",{action:"getHistory",request:nt,response:$,provider:At});var tt=[];return $.forEach((function($){["contractAddress","to"].forEach((function(tt){""==$[tt]&&delete $[tt]})),null==$.creates&&null!=$.contractAddress&&($.creates=$.contractAddress);var et=rt.BaseProvider.checkTransactionResponse($);$.timeStamp&&(et.timestamp=parseInt($.timeStamp)),tt.push(et)})),tt}))}))},nt=g,et.EtherscanProvider=nt},{"../errors":5,"../utils/bytes":64,"../utils/properties":74,"../utils/web":86,"./base-provider":51}],53:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at,rt=$("./base-provider"),st=it($("../errors"));function u($){var tt=!0,et=null;return $.forEach((function(At){null!=At?null!=et?et.name===At.name&&et.chainId===At.chainId&&(et.ensAddress===At.ensAddress||null==et.ensAddress&&null==At.ensAddress)||st.throwError("provider mismatch",st.INVALID_ARGUMENT,{arg:"networks",value:$}):et=At:tt=!1})),tt}function h($){var tt,et=this;if(0===$.length)throw new Error("no providers");return et=u($.map((function($){return $.network})))?at.call(this,$[0].network)||this:(tt=Promise.all($.map((function($){return $.getNetwork()}))).then((function($){return u($)||st.throwError("getNetwork returned null",st.UNKNOWN_ERROR,{}),$[0]})),at.call(this,tt)||this),st.checkNew(et,h),et._providers=$.slice(0),et}nt(h,at=rt.BaseProvider),Object.defineProperty(h.prototype,"providers",{get:function(){return this._providers.slice(0)},enumerable:!0,configurable:!0}),h.prototype.perform=function($,tt){var et=this.providers;return new Promise((function(At,nt){var it=null;!function t(){et.length?et.shift().perform($,tt).then((function($){return At($)})).catch((function($){it=it||$,setTimeout(t,0)})):nt(it)}()}))},nt=h,et.FallbackProvider=nt},{"../errors":5,"./base-provider":51}],54:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./abstract-provider");et.Provider=At.Provider,At=$("./base-provider"),et.BaseProvider=At.BaseProvider,At=$("./etherscan-provider"),et.EtherscanProvider=At.EtherscanProvider,At=$("./fallback-provider"),et.FallbackProvider=At.FallbackProvider,At=$("./ipc-provider"),et.IpcProvider=At.IpcProvider,At=$("./infura-provider"),et.InfuraProvider=At.InfuraProvider,At=$("./json-rpc-provider"),et.JsonRpcProvider=At.JsonRpcProvider,et.JsonRpcSigner=At.JsonRpcSigner,$=$("./web3-provider"),et.Web3Provider=$.Web3Provider},{"./abstract-provider":50,"./base-provider":51,"./etherscan-provider":52,"./fallback-provider":53,"./infura-provider":55,"./ipc-provider":56,"./json-rpc-provider":57,"./web3-provider":58}],55:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at,rt=$("./json-rpc-provider"),st=$("../utils/bytes"),ot=$("../utils/networks"),ut=$("../utils/properties"),ct=it($("../errors"));function d($,tt){var et=this,At=ot.getNetwork(null==$?"homestead":$);null==tt&&(tt="7d0d81d0919f4f05b9ab6634be01ee73");var nt=null;switch(At.name){case"homestead":nt="mainnet.infura.io";break;case"ropsten":nt="ropsten.infura.io";break;case"rinkeby":nt="rinkeby.infura.io";break;case"goerli":nt="goerli.infura.io";break;case"kovan":nt="kovan.infura.io";break;default:ct.throwError("unsupported network",ct.INVALID_ARGUMENT,{argument:"network",value:$})}return st.isHexString("0x"+tt,16)?(et=at.call(this,"https://"+nt+"/v3/"+tt,At)||this,ut.defineReadOnly(et,"apiAccessToken",null),ut.defineReadOnly(et,"projectId",tt)):(ct.warn("The legacy INFURA apiAccesToken API is deprecated; please upgrade to a Project ID instead (see INFURA dshboard; https://infura.io)"),et=at.call(this,"https://"+nt+"/"+tt,At)||this,ut.defineReadOnly(et,"apiAccessToken",tt),ut.defineReadOnly(et,"projectId",null)),ct.checkNew(et,d),et}nt(d,at=rt.JsonRpcProvider),d.prototype._startPending=function(){ct.warn("WARNING: INFURA does not support pending filters")},d.prototype.getSigner=function($){return ct.throwError("INFURA does not support signing",ct.UNSUPPORTED_OPERATION,{operation:"getSigner"})},d.prototype.listAccounts=function(){return Promise.resolve([])},nt=d,et.InfuraProvider=nt},{"../errors":5,"../utils/bytes":64,"../utils/networks":72,"../utils/properties":74,"./json-rpc-provider":57}],56:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0})},{}],57:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at=$("./base-provider"),rt=$("../abstract-signer"),st=it($("../errors")),ot=$("../utils/address"),ut=$("../utils/bytes"),ct=$("../utils/networks"),dt=$("../utils/properties"),It=$("../utils/utf8"),ht=$("../utils/web");function y($){if($.error){var tt=new Error($.error.message);throw tt.code=$.error.code,tt.data=$.error.data,tt}return $.result}function m($){return $&&$.toLowerCase()}var pt,yt={},Ct=42,Bt=(nt(_,pt=rt.Signer),_.prototype.getAddress=function(){var $=this;return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then((function(tt){return tt.length<=$._index&&st.throwError("unknown account #"+$._index,st.UNSUPPORTED_OPERATION,{operation:"getAddress"}),$._address=ot.getAddress(tt[$._index]),$._address}))},_.prototype.getBalance=function($){return this.provider.getBalance(this.getAddress(),$)},_.prototype.getTransactionCount=function($){return this.provider.getTransactionCount(this.getAddress(),$)},_.prototype.sendUncheckedTransaction=function($){var tt=this;$=dt.shallowCopy($);var et,At=this.getAddress().then((function($){return $&&$.toLowerCase()}));return null==$.gasLimit&&((et=dt.shallowCopy($)).from=At,$.gasLimit=this.provider.estimateGas(et)),Promise.all([dt.resolveProperties($),At]).then((function($){var et=$[0],At=Qt.hexlifyTransaction(et);return At.from=$[1],tt.provider.send("eth_sendTransaction",[At]).then((function($){return $}),(function($){throw $.responseText&&(0<=$.responseText.indexOf("insufficient funds")&&st.throwError("insufficient funds",st.INSUFFICIENT_FUNDS,{transaction:et}),0<=$.responseText.indexOf("nonce too low")&&st.throwError("nonce has already been used",st.NONCE_EXPIRED,{transaction:et}),0<=$.responseText.indexOf("replacement transaction underpriced")&&st.throwError("replacement fee too low",st.REPLACEMENT_UNDERPRICED,{transaction:et})),$}))}))},_.prototype.sendTransaction=function($){var tt=this;return this.sendUncheckedTransaction($).then((function($){return ht.poll((function(){return tt.provider.getTransaction($).then((function(et){if(null!==et)return tt.provider._wrapTransaction(et,$)}))}),{fastRetry:250,onceBlock:tt.provider}).catch((function(tt){throw tt.transactionHash=$,tt}))}))},_.prototype.signMessage=function($){var tt=this,et="string"==typeof $?It.toUtf8Bytes($):$;return this.getAddress().then((function($){return tt.provider.send("eth_sign",[$.toLowerCase(),ut.hexlify(et)])}))},_.prototype.unlock=function($){var tt=this.provider;return this.getAddress().then((function(et){return tt.send("personal_unlockAccount",[et.toLowerCase(),$,null])}))},_);function _($,tt,et){var At=pt.call(this)||this;if(st.checkNew(At,_),$!==yt)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");return dt.defineReadOnly(At,"provider",tt),et?"string"==typeof et?dt.defineReadOnly(At,"_address",ot.getAddress(et)):"number"==typeof et?dt.defineReadOnly(At,"_index",et):st.throwError("invalid address or index",st.INVALID_ARGUMENT,{argument:"addressOrIndex",value:et}):dt.defineReadOnly(At,"_index",0),At}et.JsonRpcSigner=Bt;var Et,mt={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},Qt=(nt(S,Et=at.BaseProvider),S.prototype.getSigner=function($){return new Bt(yt,this,$)},S.prototype.listAccounts=function(){return this.send("eth_accounts",[]).then((function($){return $.map((function($){return ot.getAddress($)}))}))},S.prototype.send=function($,tt){var et=this,At={method:$,params:tt,id:Ct++,jsonrpc:"2.0"};return ht.fetchJson(this.connection,JSON.stringify(At),y).then((function($){return et.emit("debug",{action:"send",request:At,response:$,provider:et}),$}))},S.prototype.perform=function($,tt){switch($){case"getBlockNumber":return this.send("eth_blockNumber",[]);case"getGasPrice":return this.send("eth_gasPrice",[]);case"getBalance":return this.send("eth_getBalance",[m(tt.address),tt.blockTag]);case"getTransactionCount":return this.send("eth_getTransactionCount",[m(tt.address),tt.blockTag]);case"getCode":return this.send("eth_getCode",[m(tt.address),tt.blockTag]);case"getStorageAt":return this.send("eth_getStorageAt",[m(tt.address),tt.position,tt.blockTag]);case"sendTransaction":return this.send("eth_sendRawTransaction",[tt.signedTransaction]).catch((function($){throw $.responseText&&(0<$.responseText.indexOf("insufficient funds")&&st.throwError("insufficient funds",st.INSUFFICIENT_FUNDS,{}),0<$.responseText.indexOf("nonce too low")&&st.throwError("nonce has already been used",st.NONCE_EXPIRED,{}),0<$.responseText.indexOf("replacement transaction underpriced")&&st.throwError("replacement fee too low",st.REPLACEMENT_UNDERPRICED,{})),$}));case"getBlock":return tt.blockTag?this.send("eth_getBlockByNumber",[tt.blockTag,!!tt.includeTransactions]):tt.blockHash?this.send("eth_getBlockByHash",[tt.blockHash,!!tt.includeTransactions]):Promise.reject(new Error("invalid block tag or block hash"));case"getTransaction":return this.send("eth_getTransactionByHash",[tt.transactionHash]);case"getTransactionReceipt":return this.send("eth_getTransactionReceipt",[tt.transactionHash]);case"call":return this.send("eth_call",[S.hexlifyTransaction(tt.transaction,{from:!0}),tt.blockTag]);case"estimateGas":return this.send("eth_estimateGas",[S.hexlifyTransaction(tt.transaction,{from:!0})]);case"getLogs":return tt.filter&&null!=tt.filter.address&&(tt.filter.address=m(tt.filter.address)),this.send("eth_getLogs",[tt.filter])}return st.throwError($+" not implemented",st.NOT_IMPLEMENTED,{operation:$}),null},S.prototype._startPending=function(){var $,tt;null==this._pendingFilter&&(tt=($=this).send("eth_newPendingTransactionFilter",[]),(this._pendingFilter=tt).then((function(et){return function e(){$.send("eth_getFilterChanges",[et]).then((function(et){if($._pendingFilter!=tt)return null;var At=Promise.resolve();return et.forEach((function(tt){$._emitted["t:"+tt.toLowerCase()]="pending",At=At.then((function(){return $.getTransaction(tt).then((function(tt){return $.emit("pending",tt),null}))}))})),At.then((function(){return new Promise((function($){setTimeout((function(){$()}),1e3)}))}))})).then((function(){return $._pendingFilter==tt?(setTimeout((function(){e()}),0),null):void $.send("eth_uninstallFilter",[et])})).catch((function($){}))}(),et})).catch((function($){})))},S.prototype._stopPending=function(){this._pendingFilter=null},S.hexlifyTransaction=function($,tt){var et=dt.shallowCopy(mt);if(tt)for(var At in tt)tt[At]&&(et[At]=!0);dt.checkProperties($,et);var nt={};return["gasLimit","gasPrice","nonce","value"].forEach((function(tt){var et;null!=$[tt]&&(et=ut.hexStripZeros(ut.hexlify($[tt])),nt[tt="gasLimit"===tt?"gas":tt]=et)})),["from","to","data"].forEach((function(tt){null!=$[tt]&&(nt[tt]=ut.hexlify($[tt]))})),nt},S);function S($,tt){var et=this;return"string"==typeof $&&null===tt&&ct.getNetwork($)&&(tt=$,$=null),et=tt?Et.call(this,tt)||this:(tt=new Promise((function($,tt){setTimeout((function(){et.send("net_version",[]).then((function(tt){return $(ct.getNetwork(parseInt(tt)))})).catch((function($){tt($)}))}))})),Et.call(this,tt)||this),st.checkNew(et,S),et.connection="string"==typeof($=$||"http://localhost:8545")?{url:$}:$,et}et.JsonRpcProvider=Qt},{"../abstract-signer":2,"../errors":5,"../utils/address":60,"../utils/bytes":64,"../utils/networks":72,"../utils/properties":74,"../utils/utf8":85,"../utils/web":86,"./base-provider":51}],58:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at,rt=$("./json-rpc-provider"),st=$("../utils/properties"),ot=it($("../errors")),ut=42;function f($,tt){return tt=at.call(this,$.host||$.path||"",tt)||this,ot.checkNew(tt,f),$&&($.sendAsync?tt._sendAsync=$.sendAsync.bind($):$.send&&(tt._sendAsync=$.send.bind($))),$&&tt._sendAsync||ot.throwError("invalid web3Provider",ot.INVALID_ARGUMENT,{arg:"web3Provider",value:$}),st.defineReadOnly(tt,"_web3Provider",$),st.defineReadOnly(tt,"provider",$),tt}nt(f,at=rt.JsonRpcProvider),f.prototype.send=function($,tt){var et=this;return"eth_sign"==$&&this._web3Provider.isMetaMask&&($="personal_sign",tt=[tt[1],tt[0]]),new Promise((function(At,nt){var it={method:$,params:tt,id:ut++,jsonrpc:"2.0"};et._sendAsync(it,(function($,tt){if($)nt($);else{if(tt.error)return($=new Error(tt.error.message)).code=tt.error.code,$.data=tt.error.data,void nt($);At(tt.result)}}))}))},nt=f,et.Web3Provider=nt},{"../errors":5,"../utils/properties":74,"./json-rpc-provider":57}],59:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at=$("../constants"),rt=it($("../errors")),st=$("./address"),ot=$("./bignumber"),ut=$("./bytes"),ct=$("./utf8"),dt=$("./properties"),It=new RegExp(/^bytes([0-9]*)$/),ht=new RegExp(/^(u?int)([0-9]*)$/),pt=new RegExp(/^(.*)\[([0-9]*)\]$/);et.defaultCoerceFunc=function($,tt){return($=$.match(ht))&&parseInt($[2])<=48?tt.toNumber():tt};var yt=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"),Ct=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function v($){return $.match(/^uint($|[^1-9])/)?$="uint256"+$.substring(4):$.match(/^int($|[^1-9])/)&&($="int256"+$.substring(3)),$}function b($,tt){var et=$;function n($){throw new Error('unexpected character "'+et[$]+'" at position '+$+' in "'+et+'"')}$=$.replace(/\s/g," ");for(var At={type:"",name:"",state:{allowType:!0}},nt=At,it=0;it<$.length;it++){var at=$[it];switch(at){case"(":nt.state.allowParams||n(it),nt.state.allowType=!1,nt.type=v(nt.type),nt.components=[{type:"",name:"",parent:nt,state:{allowType:!0}}],nt=nt.components[0];break;case")":delete nt.state,tt&&"indexed"===nt.name&&(nt.indexed=!0,nt.name=""),nt.type=v(nt.type);var rt=nt;(nt=nt.parent)||n(it),delete rt.parent,nt.state.allowParams=!1,nt.state.allowName=!0,nt.state.allowArray=!0;break;case",":delete nt.state,tt&&"indexed"===nt.name&&(nt.indexed=!0,nt.name=""),nt.type=v(nt.type),rt={type:"",name:"",parent:nt.parent,state:{allowType:!0}},nt.parent.components.push(rt),delete nt.parent,nt=rt;break;case" ":nt.state.allowType&&""!==nt.type&&(nt.type=v(nt.type),delete nt.state.allowType,nt.state.allowName=!0,nt.state.allowParams=!0),nt.state.allowName&&""!==nt.name&&(tt&&"indexed"===nt.name?(nt.indexed=!0,nt.name=""):nt.state.allowName=!1);break;case"[":nt.state.allowArray||n(it),nt.type+=at,nt.state.allowArray=!1,nt.state.allowName=!1,nt.state.readArray=!0;break;case"]":nt.state.readArray||n(it),nt.type+=at,nt.state.readArray=!1,nt.state.allowArray=!0,nt.state.allowName=!0;break;default:nt.state.allowType?(nt.type+=at,nt.state.allowParams=!0,nt.state.allowArray=!0):nt.state.allowName?(nt.name+=at,delete nt.state.allowArray):nt.state.readArray?nt.type+=at:n(it)}}if(nt.parent)throw new Error("unexpected eof");return delete At.state,tt&&"indexed"===nt.name&&(nt.indexed=!0,nt.name=""),At.type=v(At.type),At}function w($){return ie(et.defaultCoerceFunc,$).type}function _($,tt,et,At,nt){this.coerceFunc=$,this.name=tt,this.type=et,this.localName=At,this.dynamic=nt}et.parseParamType=function($){return b($,!0)},et.formatParamType=w,et.formatSignature=function($){return $.name+"("+$.inputs.map(w).join(",")+")"},et.parseSignature=function($){if("string"==typeof $)return"event "===($=($=($=$.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).substring(0,6)?function($){var tt={anonymous:!1,inputs:[],name:"",type:"event"},et=$.match(yt);if(!et)throw new Error("invalid event: "+$);if(tt.name=et[1].trim(),re(et[2]).forEach((function($){($=b($,!0)).indexed=!!$.indexed,tt.inputs.push($)})),et[3].split(" ").forEach((function($){switch($){case"anonymous":tt.anonymous=!0;break;case"":break;default:rt.info("unknown modifier: "+$)}})),tt.name&&!tt.name.match(Ct))throw new Error('invalid identifier: "'+tt.name+'"');return tt}($.substring(6).trim()):function($){var tt={constant:!1,gas:null,inputs:[],name:"",outputs:[],payable:!1,stateMutability:null,type:"function"},et=$.split("@");if(1!==et.length){if(2<et.length)throw new Error("invalid signature");if(!et[1].match(/^[0-9]+$/))throw new Error("invalid signature gas");tt.gas=ot.bigNumberify(et[1]),$=et[0]}if(!($=(et=$.split(" returns "))[0].match(yt)))throw new Error("invalid signature");if(tt.name=$[1].trim(),!tt.name.match(Ct))throw new Error('invalid identifier: "'+$[1]+'"');if(re($[2]).forEach((function($){tt.inputs.push(b($))})),$[3].split(" ").forEach((function($){switch($){case"constant":tt.constant=!0;break;case"payable":tt.payable=!0,tt.stateMutability="payable";break;case"pure":tt.constant=!0,tt.stateMutability="pure";break;case"view":tt.constant=!0,tt.stateMutability="view";break;case"external":case"public":case"":break;default:rt.info("unknown modifier: "+$)}})),1<et.length){if(""!=(et=et[1].match(yt))[1].trim()||""!=et[3].trim())throw new Error("unexpected tokens");re(et[2]).forEach((function($){tt.outputs.push(b($))}))}if("constructor"===tt.name){if(tt.type="constructor",tt.outputs.length)throw new Error("constructor may not have outputs");delete tt.name,delete tt.outputs}return tt}(($="function "===$.substring(0,9)?$.substring(9):$).trim());throw new Error("unknown signature")};var Bt,Et=(nt(E,Bt=_),E.prototype.encode=function($){return this.coder.encode($)},E.prototype.decode=function($,tt){return this.coder.decode($,tt)},E);function E($){var tt=Bt.call(this,$.coerceFunc,$.name,$.type,void 0,$.dynamic)||this;return dt.defineReadOnly(tt,"coder",$),tt}var mt,Qt=(nt(N,mt=_),N.prototype.encode=function($){return ut.arrayify([])},N.prototype.decode=function($,tt){if(tt>$.length)throw new Error("invalid null");return{consumed:0,value:this.coerceFunc("null",void 0)}},N);function N($,tt){return mt.call(this,$,"null","",tt,!1)||this}var bt,wt=(nt(I,bt=_),I.prototype.encode=function($){try{var tt=ot.bigNumberify($);if(this.signed){var et=at.MaxUint256.maskn(8*this.size-1);if(tt.gt(et))throw new Error("out-of-bounds");if(et=et.add(at.One).mul(at.NegativeOne),tt.lt(et))throw new Error("out-of-bounds")}else if(tt.lt(at.Zero)||tt.gt(at.MaxUint256.maskn(8*this.size)))throw new Error("out-of-bounds");return tt=tt.toTwos(8*this.size).maskn(8*this.size),this.signed&&(tt=tt.fromTwos(8*this.size).toTwos(256)),ut.padZeros(ut.arrayify(tt),32)}catch(tt){rt.throwError("invalid number value",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:$})}return null},I.prototype.decode=function($,tt){$.length<tt+32&&rt.throwError("insufficient data for "+this.name+" type",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:ut.hexlify($.slice(tt,tt+32))});var et=32-this.size;return tt=ot.bigNumberify($.slice(tt+et,tt+32)),tt=this.signed?tt.fromTwos(8*this.size):tt.maskn(8*this.size),{consumed:32,value:this.coerceFunc(this.name,tt)}},I);function I($,tt,et,At){var nt=this,it=(et?"int":"uint")+8*tt;return(nt=bt.call(this,$,it,it,At,!1)||this).size=tt,nt.signed=et,nt}var vt,Mt=new wt((function($,tt){return tt}),32,!1,"none"),Dt=(nt(C,vt=_),C.prototype.encode=function($){return Mt.encode($?1:0)},C.prototype.decode=function($,tt){try{var et=Mt.decode($,tt)}catch($){throw"insufficient data for uint256 type"===$.reason&&rt.throwError("insufficient data for boolean type",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"boolean",value:$.value}),$}return{consumed:et.consumed,value:this.coerceFunc("bool",!et.value.isZero())}},C);function C($,tt){return vt.call(this,$,"bool","bool",tt,!1)||this}var St,kt=(nt(D,St=_),D.prototype.encode=function($){var tt=new Uint8Array(32);try{var et=ut.arrayify($);if(et.length!==this.length)throw new Error("incorrect data length");tt.set(et)}catch(tt){rt.throwError("invalid "+this.name+" value",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:tt.value||$})}return tt},D.prototype.decode=function($,tt){return $.length<tt+32&&rt.throwError("insufficient data for "+this.name+" type",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:this.name,value:ut.hexlify($.slice(tt,tt+32))}),{consumed:32,value:this.coerceFunc(this.name,ut.hexlify($.slice(tt,tt+this.length)))}},D);function D($,tt,et){var At=this,nt="bytes"+tt;return(At=St.call(this,$,nt,nt,et,!1)||this).length=tt,At}var _t,Rt,Nt,Ht=(nt(j,_t=_),j.prototype.encode=function($){var tt=new Uint8Array(32);try{tt.set(ut.arrayify(st.getAddress($)),12)}catch(tt){rt.throwError("invalid address",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"address",value:$})}return tt},j.prototype.decode=function($,tt){return $.length<tt+32&&rt.throwError("insufficient data for address type",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"address",value:ut.hexlify($.slice(tt,tt+32))}),{consumed:32,value:this.coerceFunc("address",st.getAddress(ut.hexlify($.slice(tt+12,tt+32))))}},j);function j($,tt){return _t.call(this,$,"address","address",tt,!1)||this}function G($){var tt=32*Math.ceil($.length/32);return tt=new Uint8Array(tt-$.length),ut.concat([Mt.encode($.length),$,tt])}function H($,tt,et){$.length<tt+32&&rt.throwError("insufficient data for dynamicBytes length",rt.INVALID_ARGUMENT,{arg:et,coderType:"dynamicBytes",value:ut.hexlify($.slice(tt,tt+32))});var At=Mt.decode($,tt).value;try{At=At.toNumber()}catch($){rt.throwError("dynamic bytes count too large",rt.INVALID_ARGUMENT,{arg:et,coderType:"dynamicBytes",value:At.toString()})}return $.length<tt+32+At&&rt.throwError("insufficient data for dynamicBytes type",rt.INVALID_ARGUMENT,{arg:et,coderType:"dynamicBytes",value:ut.hexlify($.slice(tt,tt+32+At))}),{consumed:32+32*Math.ceil(At/32),value:$.slice(tt+32,tt+32+At)}}function V($,tt){return Rt.call(this,$,"bytes","bytes",tt,!0)||this}function q($,tt){return Nt.call(this,$,"string","string",tt,!0)||this}function W($){return 32*Math.ceil($/32)}function Z($,tt){var et;Array.isArray(tt)||(tt&&"object"==typeof tt?(et=[],$.forEach((function($){et.push(tt[$.localName])})),tt=et):rt.throwError("invalid tuple value",rt.INVALID_ARGUMENT,{coderType:"tuple",value:tt})),$.length!==tt.length&&rt.throwError("types/value length mismatch",rt.INVALID_ARGUMENT,{coderType:"tuple",value:tt});var At=[];$.forEach((function($,et){At.push({dynamic:$.dynamic,value:$.encode(tt[et])})}));var nt=0,it=0;At.forEach((function($){$.dynamic?(nt+=32,it+=W($.value.length)):nt+=W($.value.length)}));var at=0,st=nt,ot=new Uint8Array(nt+it);return At.forEach((function($){$.dynamic?(ot.set(Mt.encode(st),at),at+=32,ot.set($.value,st),st+=W($.value.length)):(ot.set($.value,at),at+=W($.value.length))})),ot}function J($,tt,et){var At=et,nt=0,it=[];return $.forEach((function($){var at,rt;$.dynamic?(at=Mt.decode(tt,et),(rt=$.decode(tt,At+at.value.toNumber())).consumed=at.consumed):rt=$.decode(tt,et),null!=rt.value&&it.push(rt.value),et+=rt.consumed,nt+=rt.consumed})),$.forEach((function($,tt){($=$.localName)&&null==it[$="length"===$?"_length":$]&&(it[$]=it[tt])})),{value:it,consumed:nt}}nt(V,Rt=_),V.prototype.encode=function($){try{return G(ut.arrayify($))}catch($){rt.throwError("invalid bytes value",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"bytes",value:$.value})}return null},V.prototype.decode=function($,tt){return(tt=H($,tt,this.localName)).value=this.coerceFunc("bytes",ut.hexlify(tt.value)),tt},it=V,nt(q,Nt=_),q.prototype.encode=function($){return"string"!=typeof $&&rt.throwError("invalid string value",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"string",value:$}),G(ct.toUtf8Bytes($))},q.prototype.decode=function($,tt){return(tt=H($,tt,this.localName)).value=this.coerceFunc("string",ct.toUtf8String(tt.value)),tt},$=q;var Ft,Gt=(nt(Q,Ft=_),Q.prototype.encode=function($){Array.isArray($)||rt.throwError("expected array value",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:$});var tt=this.length,et=new Uint8Array(0);-1===tt&&(tt=$.length,et=Mt.encode(tt)),rt.checkArgumentCount(tt,$.length," in coder array"+(this.localName?" "+this.localName:""));for(var At=[],nt=0;nt<$.length;nt++)At.push(this.coder);return ut.concat([et,Z(At,$)])},Q.prototype.decode=function($,tt){var et=0,At=this.length;if(-1===At){try{var nt=Mt.decode($,tt)}catch($){rt.throwError("insufficient data for dynamic array length",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:$.value})}try{At=nt.value.toNumber()}catch($){rt.throwError("array count too large",rt.INVALID_ARGUMENT,{arg:this.localName,coderType:"array",value:nt.value.toString()})}et+=nt.consumed,tt+=nt.consumed}for(var it=[],at=0;at<At;at++)it.push(new Et(this.coder));return(tt=J(it,$,tt)).consumed+=et,tt.value=this.coerceFunc(this.type,tt.value),tt},Q);function Q($,tt,et,At){var nt=this,it=tt.type+"["+(0<=et?et:"")+"]",at=-1===et||tt.dynamic;return(nt=Ft.call(this,$,"array",it,At,at)||this).coder=tt,nt.length=et,nt}var Ut,xt=(nt(te,Ut=_),te.prototype.encode=function($){return Z(this.coders,$)},te.prototype.decode=function($,tt){return(tt=J(this.coders,$,tt)).value=this.coerceFunc(this.type,tt.value),tt},te);function te($,tt,et){var At=this,nt=!1,it=[];tt.forEach((function($){$.dynamic&&(nt=!0),it.push($.type)}));var at="tuple("+it.join(",")+")";return(At=Ut.call(this,$,"tuple",at,et,nt)||this).coders=tt,At}function re($){$=$.trim();for(var tt=[],et="",At=0,nt=0;nt<$.length;nt++){var it=$[nt];if(","===it&&0===At)tt.push(et),et="";else if(et+=it,"("===it)At++;else if(")"===it&&-1==--At)throw new Error("unbalanced parenthsis")}return et&&tt.push(et),tt}var Lt={address:Ht,bool:Dt,string:$,bytes:it};function ie($,tt){var et,At,nt;if(nt=Lt[tt.type])return new nt($,tt.name);if(nt=tt.type.match(ht))return(0===(it=parseInt(nt[2]||"256"))||256<it||it%8!=0)&&rt.throwError("invalid "+nt[1]+" bit length",rt.INVALID_ARGUMENT,{arg:"param",value:tt}),new wt($,it/8,"int"===nt[1],tt.name);if(nt=tt.type.match(It))return(0===(it=parseInt(nt[1]))||32<it)&&rt.throwError("invalid bytes length",rt.INVALID_ARGUMENT,{arg:"param",value:tt}),new kt($,it,tt.name);if(nt=tt.type.match(pt)){var it=parseInt(nt[2]||"-1");return(tt=dt.shallowCopy(tt)).type=nt[1],tt=dt.deepCopy(tt),new Gt($,ie($,tt),it,tt.name)}return"tuple"===tt.type.substring(0,5)?(et=$,nt=tt.components,it=tt.name,At=[],(nt=nt||[]).forEach((function($){At.push(ie(et,$))})),new xt(et,At,it)):""===tt.type?new Qt($,tt.name):(rt.throwError("invalid type",rt.INVALID_ARGUMENT,{arg:"type",value:tt.type}),null)}function oe($){rt.checkNew(this,oe),$=$||et.defaultCoerceFunc,dt.defineReadOnly(this,"coerceFunc",$)}oe.prototype.encode=function($,tt){$.length!==tt.length&&rt.throwError("types/values length mismatch",rt.INVALID_ARGUMENT,{count:{types:$.length,values:tt.length},value:{types:$,values:tt}});var et=[];return $.forEach((function($){var tt="string"==typeof $?b($):$;et.push(ie(this.coerceFunc,tt))}),this),ut.hexlify(new xt(this.coerceFunc,et,"_").encode(tt))},oe.prototype.decode=function($,tt){var et=[];return $.forEach((function($){var tt="string"==typeof $?b($):dt.deepCopy($);et.push(ie(this.coerceFunc,tt))}),this),new xt(this.coerceFunc,et,"_").decode(ut.arrayify(tt),0).value},it=oe,et.AbiCoder=it,et.defaultAbiCoder=new it},{"../constants":3,"../errors":5,"./address":60,"./bignumber":63,"./bytes":64,"./properties":74,"./utf8":85}],60:[function($,tt,et){"use strict";var At=this&&this.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(et,"__esModule",{value:!0});var nt=At($("bn.js")),it=$("./bytes"),at=$("./keccak256"),rt=$("./rlp"),st=$("../errors");function l($){"string"==typeof $&&$.match(/^0x[0-9A-Fa-f]{40}$/)||st.throwError("invalid address",st.INVALID_ARGUMENT,{arg:"address",value:$});for(var tt=($=$.toLowerCase()).substring(2).split(""),et=new Uint8Array(40),At=0;At<40;At++)et[At]=tt[At].charCodeAt(0);et=it.arrayify(at.keccak256(et));for(var nt=0;nt<40;nt+=2)8<=et[nt>>1]>>4&&(tt[nt]=tt[nt].toUpperCase()),8<=(15&et[nt>>1])&&(tt[nt+1]=tt[nt+1].toUpperCase());return"0x"+tt.join("")}for(var ot={},ut=0;ut<10;ut++)ot[String(ut)]=String(ut);for(ut=0;ut<26;ut++)ot[String.fromCharCode(65+ut)]=String(10+ut);var ct,dt=Math.floor((ct=9007199254740991,Math.log10?Math.log10(ct):Math.log(ct)/Math.LN10));function p($){$=($=$.toUpperCase()).substring(4)+$.substring(0,2)+"00";var tt="";for($.split("").forEach((function($){tt+=ot[$]}));tt.length>=dt;){var et=tt.substring(0,dt);tt=parseInt(et,10)%97+tt.substring(et.length)}for(var At=String(98-parseInt(tt,10)%97);At.length<2;)At="0"+At;return At}function y($){var tt=null;if("string"!=typeof $&&st.throwError("invalid address",st.INVALID_ARGUMENT,{arg:"address",value:$}),$.match(/^(0x)?[0-9a-fA-F]{40}$/))tt=l($="0x"!==$.substring(0,2)?"0x"+$:$),$.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&tt!==$&&st.throwError("bad address checksum",st.INVALID_ARGUMENT,{arg:"address",value:$});else if($.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for($.substring(2,4)!==p($)&&st.throwError("bad icap checksum",st.INVALID_ARGUMENT,{arg:"address",value:$}),tt=new nt.default.BN($.substring(4),36).toString(16);tt.length<40;)tt="0"+tt;tt=l("0x"+tt)}else st.throwError("invalid address",st.INVALID_ARGUMENT,{arg:"address",value:$});return tt}et.getAddress=y,et.getIcapAddress=function($){for(var tt=new nt.default.BN(y($).substring(2),16).toString(36).toUpperCase();tt.length<30;)tt="0"+tt;return"XE"+p("XE00"+tt)+tt},et.getContractAddress=function($){if(!$.from)throw new Error("missing from address");var tt=$.nonce;return y("0x"+at.keccak256(rt.encode([y($.from),it.stripZeros(it.hexlify(tt))])).substring(26))},et.getCreate2Address=function($){var tt=$.initCodeHash;$.initCode&&(tt?at.keccak256($.initCode)!==tt&&st.throwError("initCode/initCodeHash mismatch",st.INVALID_ARGUMENT,{arg:"options",value:$}):tt=at.keccak256($.initCode)),tt||st.throwError("missing initCode or initCodeHash",st.INVALID_ARGUMENT,{arg:"options",value:$});var et=y($.from),At=it.arrayify($.salt);return 32!==At.length&&st.throwError("invalid salt",st.INVALID_ARGUMENT,{arg:"options",value:$}),y("0x"+at.keccak256(it.concat(["0xff",et,At,tt])).substring(26))}},{"../errors":5,"./bytes":64,"./keccak256":71,"./rlp":76,"bn.js":9}],61:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("../utils/bytes");tt.exports={decode:function($){$=atob($);for(var tt=[],et=0;et<$.length;et++)tt.push($.charCodeAt(et));return At.arrayify(tt)},encode:function($){$=At.arrayify($);for(var tt="",et=0;et<$.length;et++)tt+=String.fromCharCode($[et]);return btoa(tt)}}},{"../utils/bytes":64}],62:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./bytes"),nt=$("./properties"),it=(o.prototype.encode=function($){var tt=At.arrayify($);if(0===tt.length)return"";for(var et=[0],nt=0;nt<tt.length;++nt){for(var it=tt[nt],at=0;at<et.length;++at)it+=et[at]<<8,et[at]=it%this.base,it=it/this.base|0;for(;0<it;)et.push(it%this.base),it=it/this.base|0}for(var rt="",st=0;0===tt[st]&&st<tt.length-1;++st)rt+=this._leader;for(var ot=et.length-1;0<=ot;--ot)rt+=this.alphabet[et[ot]];return rt},o.prototype.decode=function($){if("string"!=typeof $)throw new TypeError("Expected String");var tt=[];if(0===$.length)return new Uint8Array(tt);tt.push(0);for(var et=0;et<$.length;et++){var nt=this._alphabetMap[$[et]];if(void 0===nt)throw new Error("Non-base"+this.base+" character");for(var it=nt,at=0;at<tt.length;++at)it+=tt[at]*this.base,tt[at]=255&it,it>>=8;for(;0<it;)tt.push(255&it),it>>=8}for(var rt=0;$[rt]===this._leader&&rt<$.length-1;++rt)tt.push(0);return At.arrayify(new Uint8Array(tt.reverse()))},o);function o($){nt.defineReadOnly(this,"alphabet",$),nt.defineReadOnly(this,"base",$.length),nt.defineReadOnly(this,"_alphabetMap",{}),nt.defineReadOnly(this,"_leader",$.charAt(0));for(var tt=0;tt<$.length;tt++)this._alphabetMap[$.charAt(tt)]=tt}$=new(et.BaseX=it)("abcdefghijklmnopqrstuvwxyz234567"),et.Base32=$,it=new it("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),et.Base58=it},{"./bytes":64,"./properties":74}],63:[function($,tt,et){"use strict";var At=this&&this.__importDefault||function($){return $&&$.__esModule?$:{default:$}},nt=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var it=At($("bn.js")),at=$("./bytes"),rt=$("./properties"),st=nt($("../errors")),ot=new it.default.BN(-1);function h($){return"-"===($=$.toString(16))[0]?$.length%2==0?"-0x0"+$.substring(1):"-0x"+$.substring(1):$.length%2==1?"0x0"+$:"0x"+$}function f($){return d(m($))}function c($){return new ut(h($))}function d($){return"-"===($=$._hex)[0]?new it.default.BN($.substring(3),16).mul(ot):new it.default.BN($.substring(2),16)}var ut=(y.prototype.fromTwos=function($){return c(d(this).fromTwos($))},y.prototype.toTwos=function($){return c(d(this).toTwos($))},y.prototype.abs=function(){return"-"===this._hex[0]?c(d(this).mul(ot)):this},y.prototype.add=function($){return c(d(this).add(f($)))},y.prototype.sub=function($){return c(d(this).sub(f($)))},y.prototype.div=function($){return m($).isZero()&&st.throwError("division by zero",st.NUMERIC_FAULT,{operation:"divide",fault:"division by zero"}),c(d(this).div(f($)))},y.prototype.mul=function($){return c(d(this).mul(f($)))},y.prototype.mod=function($){return c(d(this).mod(f($)))},y.prototype.pow=function($){return c(d(this).pow(f($)))},y.prototype.maskn=function($){return c(d(this).maskn($))},y.prototype.eq=function($){return d(this).eq(f($))},y.prototype.lt=function($){return d(this).lt(f($))},y.prototype.lte=function($){return d(this).lte(f($))},y.prototype.gt=function($){return d(this).gt(f($))},y.prototype.gte=function($){return d(this).gte(f($))},y.prototype.isZero=function(){return d(this).isZero()},y.prototype.toNumber=function(){try{return d(this).toNumber()}catch($){st.throwError("overflow",st.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:$.message})}return null},y.prototype.toString=function(){return d(this).toString(10)},y.prototype.toHexString=function(){return this._hex},y.isBigNumber=function($){return rt.isType($,"BigNumber")},y);function y($){if(st.checkNew(this,y),rt.setType(this,"BigNumber"),"string"==typeof $)at.isHexString($)?rt.defineReadOnly(this,"_hex",$="0x"==$?"0x0":$):"-"===$[0]&&at.isHexString($.substring(1))?rt.defineReadOnly(this,"_hex",$):$.match(/^-?[0-9]*$/)?rt.defineReadOnly(this,"_hex",h(new it.default.BN($=""==$?"0":$))):st.throwError("invalid BigNumber string value",st.INVALID_ARGUMENT,{arg:"value",value:$});else if("number"==typeof $){parseInt(String($))!==$&&st.throwError("underflow",st.NUMERIC_FAULT,{operation:"setValue",fault:"underflow",value:$,outputValue:parseInt(String($))});try{rt.defineReadOnly(this,"_hex",h(new it.default.BN($)))}catch($){st.throwError("overflow",st.NUMERIC_FAULT,{operation:"setValue",fault:"overflow",details:$.message})}}else $ instanceof y?rt.defineReadOnly(this,"_hex",$._hex):$.toHexString?rt.defineReadOnly(this,"_hex",h(f($.toHexString()))):$._hex&&at.isHexString($._hex)?rt.defineReadOnly(this,"_hex",$._hex):at.isArrayish($)?rt.defineReadOnly(this,"_hex",h(new it.default.BN(at.hexlify($).substring(2),16))):st.throwError("invalid BigNumber value",st.INVALID_ARGUMENT,{arg:"value",value:$})}function m($){return ut.isBigNumber($)?$:new ut($)}et.BigNumber=ut,et.bigNumberify=m},{"../errors":5,"./bytes":64,"./properties":74,"bn.js":9}],64:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=At($("../errors"));function a($){return!!$.toHexString}function u($){return $.slice||($.slice=function(){var tt=Array.prototype.slice.call(arguments);return u(new Uint8Array(Array.prototype.slice.apply($,tt)))}),$}function l($){if(!$||parseInt(String($.length))!=$.length||"string"==typeof $)return!1;for(var tt=0;tt<$.length;tt++){var et=$[tt];if(et<0||256<=et||parseInt(String(et))!=et)return!1}return!0}function h($){if(null==$&&nt.throwError("cannot convert null value to array",nt.INVALID_ARGUMENT,{arg:"value",value:$}),"string"!=typeof($=a($)?$.toHexString():$))return l($)?u(new Uint8Array($)):(nt.throwError("invalid arrayify value",null,{arg:"value",value:$,type:typeof $}),null);var tt=$.match(/^(0x)?[0-9a-fA-F]*$/);tt||nt.throwError("invalid hexidecimal string",nt.INVALID_ARGUMENT,{arg:"value",value:$}),"0x"!==tt[1]&&nt.throwError("hex string must have 0x prefix",nt.INVALID_ARGUMENT,{arg:"value",value:$}),($=$.substring(2)).length%2&&($="0"+$);for(var et=[],At=0;At<$.length;At+=2)et.push(parseInt($.substr(At,2),16));return u(new Uint8Array(et))}function i($){for(var tt=[],et=0,At=0;At<$.length;At++){var nt=h($[At]);tt.push(nt),et+=nt.length}var it=new Uint8Array(et),at=0;for(At=0;At<tt.length;At++)it.set(tt[At],at),at+=tt[At].length;return u(it)}function o($,tt){return!("string"!=typeof $||!$.match(/^0x[0-9A-Fa-f]*$/)||tt&&$.length!==2+2*tt)}et.isHexable=a,et.isArrayish=l,et.arrayify=h,et.concat=i,et.stripZeros=function($){var tt=h($);if(0===tt.length)return tt;for(var et=0;0===tt[et];)et++;return et?tt.slice(et):tt},et.padZeros=function($,tt){if(tt<($=h($)).length)throw new Error("cannot pad");var et=new Uint8Array(tt);return et.set($,tt-$.length),u(et)},et.isHexString=o;var it="0123456789abcdef";function c($){if(a($))return $.toHexString();if("number"==typeof $){$<0&&nt.throwError("cannot hexlify negative value",nt.INVALID_ARGUMENT,{arg:"value",value:$}),9007199254740991<=$&&nt.throwError("out-of-range",nt.NUMERIC_FAULT,{operartion:"hexlify",fault:"out-of-safe-range"});for(var tt="";$;)tt=it[15&$]+tt,$=Math.floor($/16);return tt.length?"0x"+(tt=tt.length%2?"0"+tt:tt):"0x00"}if("string"==typeof $){var et=$.match(/^(0x)?[0-9a-fA-F]*$/);return et||nt.throwError("invalid hexidecimal string",nt.INVALID_ARGUMENT,{arg:"value",value:$}),"0x"!==et[1]&&nt.throwError("hex string must have 0x prefix",nt.INVALID_ARGUMENT,{arg:"value",value:$}),$.length%2?"0x0"+$.substring(2):$}if(l($)){for(var At=[],at=0;at<$.length;at++){var rt=$[at];At.push(it[(240&rt)>>4]+it[15&rt])}return"0x"+At.join("")}return nt.throwError("invalid hexlify value",null,{arg:"value",value:$}),"never"}function d($,tt){for(o($)||nt.throwError("invalid hex string",nt.INVALID_ARGUMENT,{arg:"value",value:$});$.length<2*tt+2;)$="0x0"+$.substring(2);return $}function p($){var tt=0,et="0x",At="0x";if((it=$)&&null!=it.r&&null!=it.s){null==$.v&&null==$.recoveryParam&&nt.throwError("at least on of recoveryParam or v must be specified",nt.INVALID_ARGUMENT,{argument:"signature",value:$}),et=d($.r,32),At=d($.s,32),"string"==typeof(tt=$.v)&&(tt=parseInt(tt,16));var it=$.recoveryParam;tt=27+(it=null==it&&null!=$.v?1-tt%2:it)}else{if(65!==($=h($)).length)throw new Error("invalid signature");et=c($.slice(0,32)),At=c($.slice(32,64)),27!==(tt=$[64])&&28!==tt&&(tt=27+tt%2)}return{r:et,s:At,recoveryParam:tt-27,v:tt}}et.hexlify=c,et.hexDataLength=function($){return o($)&&$.length%2==0?($.length-2)/2:null},et.hexDataSlice=function($,tt,et){return o($)||nt.throwError("invalid hex data",nt.INVALID_ARGUMENT,{arg:"value",value:$}),$.length%2!=0&&nt.throwError("hex data length must be even",nt.INVALID_ARGUMENT,{arg:"value",value:$}),tt=2+2*tt,null!=et?"0x"+$.substring(tt,2+2*et):"0x"+$.substring(tt)},et.hexStripZeros=function($){for(o($)||nt.throwError("invalid hex string",nt.INVALID_ARGUMENT,{arg:"value",value:$});3<$.length&&"0x0"===$.substring(0,3);)$="0x"+$.substring(3);return $},et.hexZeroPad=d,et.splitSignature=p,et.joinSignature=function($){return c(i([($=p($)).r,$.s,$.recoveryParam?"0x1c":"0x1b"]))}},{"../errors":5}],65:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=At($("../errors")),it=$("./bytes"),at=$("./utf8"),rt=$("./keccak256"),st=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]),ot=new RegExp("^((.*)\\.)?([^.]+)$"),ut=new RegExp("^[a-z0-9.-]*$");et.namehash=function($){"string"!=typeof $&&nt.throwError("invalid address - "+String($),nt.INVALID_ARGUMENT,{argument:"name",value:$}),($=$.toLowerCase()).match(ut)||nt.throwError("contains invalid UseSTD3ASCIIRules characters",nt.INVALID_ARGUMENT,{argument:"name",value:$});for(var tt=st;$.length;){var et=$.match(ot),At=at.toUtf8Bytes(et[3]);tt=rt.keccak256(it.concat([tt,rt.keccak256(At)])),$=et[2]||""}return it.hexlify(tt)},et.id=function($){return rt.keccak256(at.toUtf8Bytes($))},et.hashMessage=function($){return rt.keccak256(it.concat([at.toUtf8Bytes("Ethereum Signed Message:\n"),at.toUtf8Bytes(String($.length)),"string"==typeof $?at.toUtf8Bytes($):$]))}},{"../errors":5,"./bytes":64,"./keccak256":71,"./utf8":85}],66:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=At($("../errors")),it=$("../wordlists/lang-en"),at=$("./basex"),rt=$("./bytes"),st=$("./bignumber"),ot=$("./utf8"),ut=$("./pbkdf2"),ct=$("./hmac"),dt=$("./properties"),It=$("./secp256k1"),ht=$("./sha2"),pt=st.bigNumberify("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),yt=ot.toUtf8Bytes("Bitcoin seed"),Ct=2147483648;function v($){return(1<<$)-1<<8-$}function b($){return rt.hexZeroPad(rt.hexlify($),32)}function w($){var tt=rt.hexDataSlice(ht.sha256(ht.sha256($)),0,4);return at.Base58.encode(rt.concat([$,tt]))}var Bt={};et.defaultPath="m/44'/60'/0'/0/0";var Et=(Object.defineProperty(A.prototype,"extendedKey",{get:function(){if(256<=this.depth)throw new Error("Depth too large!");return w(rt.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",rt.hexlify(this.depth),this.parentFingerprint,rt.hexZeroPad(rt.hexlify(this.index),4),this.chainCode,null!=this.privateKey?rt.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),A.prototype.neuter=function(){return new A(Bt,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,null,this.path)},A.prototype._derive=function($){if(4294967295<$)throw new Error("invalid index - "+String($));var tt=this.path;tt&&(tt+="/"+($&~Ct));var et=new Uint8Array(37);if($&Ct){if(!this.privateKey)throw new Error("cannot derive child of neutered node");et.set(rt.arrayify(this.privateKey),1),tt&&(tt+="'")}else et.set(rt.arrayify(this.publicKey));for(var At=24;0<=At;At-=8)et[33+(At>>3)]=$>>24-At&255;var nt=(ot=ct.computeHmac(ct.SupportedAlgorithms.sha512,this.chainCode,et)).slice(0,32),it=ot.slice(32),at=null,ot=null;return this.privateKey?at=b(st.bigNumberify(nt).add(this.privateKey).mod(pt)):ot=new It.KeyPair(rt.hexlify(nt))._addPoint(this.publicKey),new A(Bt,at,ot,this.fingerprint,b(it),$,this.depth+1,this.mnemonic,tt)},A.prototype.derivePath=function($){var tt=$.split("/");if(0===tt.length||"m"===tt[0]&&0!==this.depth)throw new Error("invalid path - "+$);"m"===tt[0]&&tt.shift();for(var et=this,At=0;At<tt.length;At++){var nt=tt[At];if(nt.match(/^[0-9]+'$/)){var it=parseInt(nt.substring(0,nt.length-1));if(Ct<=it)throw new Error("invalid path index - "+nt);et=et._derive(Ct+it)}else{if(!nt.match(/^[0-9]+$/))throw new Error("invalid path component - "+nt);if(it=parseInt(nt),Ct<=it)throw new Error("invalid path index - "+nt);et=et._derive(it)}}return et},A.isHDNode=function($){return dt.isType($,"HDNode")},A);function A($,tt,et,At,it,at,st,ot,ut){if(nt.checkNew(this,A),$!==Bt)throw new Error("HDNode constructor cannot be called directly");tt?(tt=new It.KeyPair(tt),dt.defineReadOnly(this,"privateKey",tt.privateKey),dt.defineReadOnly(this,"publicKey",tt.compressedPublicKey)):(dt.defineReadOnly(this,"privateKey",null),dt.defineReadOnly(this,"publicKey",rt.hexlify(et))),dt.defineReadOnly(this,"parentFingerprint",At),dt.defineReadOnly(this,"fingerprint",rt.hexDataSlice(ht.ripemd160(ht.sha256(this.publicKey)),0,4)),dt.defineReadOnly(this,"address",It.computeAddress(this.publicKey)),dt.defineReadOnly(this,"chainCode",it),dt.defineReadOnly(this,"index",at),dt.defineReadOnly(this,"depth",st),dt.defineReadOnly(this,"mnemonic",ot),dt.defineReadOnly(this,"path",ut),dt.setType(this,"HDNode")}function E($,tt){if(($=rt.arrayify($)).length<16||64<$.length)throw new Error("invalid seed");return $=rt.arrayify(ct.computeHmac(ct.SupportedAlgorithms.sha512,yt,$)),new Et(Bt,b($.slice(0,32)),null,"0x00000000",b($.slice(32)),0,0,tt,"m")}function S($,tt){return tt=ot.toUtf8Bytes("mnemonic"+(tt=tt||""),ot.UnicodeNormalizationForm.NFKD),rt.hexlify(ut.pbkdf2(ot.toUtf8Bytes($,ot.UnicodeNormalizationForm.NFKD),tt,2048,64,"sha512"))}function k($,tt){tt=tt||it.langEn,nt.checkNormalize();var et=tt.split($);if(et.length%3!=0)throw new Error("invalid mnemonic");for(var At=rt.arrayify(new Uint8Array(Math.ceil(11*et.length/8))),at=0,st=0;st<et.length;st++){var ot=tt.getWordIndex(et[st].normalize("NFKD"));if(-1===ot)throw new Error("invalid mnemonic");for(var ut=0;ut<11;ut++)ot&1<<10-ut&&(At[at>>3]|=1<<7-at%8),at++}var ct=32*et.length/3,dt=v(et.length/3);if($=rt.arrayify(ht.sha256(At.slice(0,ct/8)))[0],($&=dt)!=(At[At.length-1]&dt))throw new Error("invalid checksum");return rt.hexlify(At.slice(0,ct/8))}function N($,tt){if(($=rt.arrayify($)).length%4!=0||$.length<16||32<$.length)throw new Error("invalid entropy");for(var et=[0],At=11,nt=0;nt<$.length;nt++)8<At?(et[et.length-1]<<=8,et[et.length-1]|=$[nt],At-=8):(et[et.length-1]<<=At,et[et.length-1]|=$[nt]>>8-At,et.push($[nt]&(1<<8-At)-1),At+=3);var at=rt.arrayify(ht.sha256($))[0],st=$.length/4;return at&=v(st),et[et.length-1]<<=st,et[et.length-1]|=at>>8-st,(tt=tt||it.langEn).join(et.map((function($){return tt.getWord($)})))}et.HDNode=Et,et.fromExtendedKey=function($){var tt=at.Base58.decode($);82===tt.length&&w(tt.slice(0,78))===$||nt.throwError("invalid extended key",nt.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"});var et=tt[4],At=rt.hexlify(tt.slice(5,9)),it=parseInt(rt.hexlify(tt.slice(9,13)).substring(2),16),st=rt.hexlify(tt.slice(13,45)),ot=tt.slice(45,78);switch(rt.hexlify(tt.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new Et(Bt,null,rt.hexlify(ot),At,st,it,et,null,null);case"0x0488ade4":case"0x04358394":if(0!==ot[0])break;return new Et(Bt,rt.hexlify(ot.slice(1)),null,At,st,it,et,null,null)}return nt.throwError("invalid extended key",nt.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"})},et.fromMnemonic=function($,tt,et){return E(S($=N(k($,tt),tt),et),$)},et.fromSeed=function($){return E($,null)},et.mnemonicToSeed=S,et.mnemonicToEntropy=k,et.entropyToMnemonic=N,et.isValidMnemonic=function($,tt){try{return k($,tt),!0}catch($){}return!1}},{"../errors":5,"../wordlists/lang-en":90,"./basex":62,"./bignumber":63,"./bytes":64,"./hmac":67,"./pbkdf2":73,"./properties":74,"./secp256k1":77,"./sha2":79,"./utf8":85}],67:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt,it=At($("hash.js")),at=$("../utils/bytes"),rt=At($("../errors"));($=nt=et.SupportedAlgorithms||(et.SupportedAlgorithms={})).sha256="sha256",$.sha512="sha512",et.computeHmac=function($,tt,et){return nt[$]||rt.throwError("unsupported algorithm "+$,rt.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:$}),at.arrayify(it.hmac(it[$],at.arrayify(tt)).update(at.arrayify(et)).digest())}},{"../errors":5,"../utils/bytes":64,"hash.js":26}],68:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=$("./abi-coder");et.AbiCoder=nt.AbiCoder,et.defaultAbiCoder=nt.defaultAbiCoder,et.formatSignature=nt.formatSignature,et.formatParamType=nt.formatParamType,et.parseSignature=nt.parseSignature,et.parseParamType=nt.parseParamType,nt=$("./address"),et.getAddress=nt.getAddress,et.getContractAddress=nt.getContractAddress,et.getCreate2Address=nt.getCreate2Address,et.getIcapAddress=nt.getIcapAddress,nt=At($("./base64")),et.base64=nt,nt=$("./bignumber"),et.BigNumber=nt.BigNumber,et.bigNumberify=nt.bigNumberify,nt=$("./bytes"),et.arrayify=nt.arrayify,et.concat=nt.concat,et.hexDataSlice=nt.hexDataSlice,et.hexDataLength=nt.hexDataLength,et.hexlify=nt.hexlify,et.hexStripZeros=nt.hexStripZeros,et.hexZeroPad=nt.hexZeroPad,et.isHexString=nt.isHexString,et.joinSignature=nt.joinSignature,et.padZeros=nt.padZeros,et.splitSignature=nt.splitSignature,et.stripZeros=nt.stripZeros,nt=$("./hash"),et.hashMessage=nt.hashMessage,et.id=nt.id,et.namehash=nt.namehash,nt=At($("./hdnode")),et.HDNode=nt,nt=$("./interface"),et.Interface=nt.Interface,nt=$("./json-wallet"),et.getJsonWalletAddress=nt.getJsonWalletAddress,nt=$("./keccak256"),et.keccak256=nt.keccak256,nt=$("./sha2"),et.sha256=nt.sha256,nt=$("./solidity"),et.solidityKeccak256=nt.keccak256,et.solidityPack=nt.pack,et.soliditySha256=nt.sha256,nt=$("./random-bytes"),et.randomBytes=nt.randomBytes,nt=$("./networks"),et.getNetwork=nt.getNetwork,nt=$("./properties"),et.checkProperties=nt.checkProperties,et.deepCopy=nt.deepCopy,et.defineReadOnly=nt.defineReadOnly,et.resolveProperties=nt.resolveProperties,et.shallowCopy=nt.shallowCopy,At=At($("./rlp")),et.RLP=At,At=$("./secp256k1"),et.computeAddress=At.computeAddress,et.computePublicKey=At.computePublicKey,et.recoverAddress=At.recoverAddress,et.recoverPublicKey=At.recoverPublicKey,et.verifyMessage=At.verifyMessage,At=$("./signing-key"),et.SigningKey=At.SigningKey,At=$("./transaction"),et.populateTransaction=At.populateTransaction,At=$("./transaction"),et.parseTransaction=At.parse,et.serializeTransaction=At.serialize,At=$("./utf8"),et.formatBytes32String=At.formatBytes32String,et.parseBytes32String=At.parseBytes32String,et.toUtf8Bytes=At.toUtf8Bytes,et.toUtf8String=At.toUtf8String,At=$("./units"),et.commify=At.commify,et.formatEther=At.formatEther,et.parseEther=At.parseEther,et.formatUnits=At.formatUnits,et.parseUnits=At.parseUnits,At=$("./web"),et.fetchJson=At.fetchJson,et.poll=At.poll,At=$("./hmac"),et.SupportedAlgorithms=At.SupportedAlgorithms,At=$("./utf8"),et.UnicodeNormalizationForm=At.UnicodeNormalizationForm,$=$("./wordlist"),et.Wordlist=$.Wordlist},{"./abi-coder":59,"./address":60,"./base64":61,"./bignumber":63,"./bytes":64,"./hash":65,"./hdnode":66,"./hmac":67,"./interface":69,"./json-wallet":70,"./keccak256":71,"./networks":72,"./properties":74,"./random-bytes":75,"./rlp":76,"./secp256k1":77,"./sha2":79,"./signing-key":81,"./solidity":82,"./transaction":83,"./units":84,"./utf8":85,"./web":86,"./wordlist":87}],69:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at,rt=$("./address"),st=$("./abi-coder"),ot=$("./bignumber"),ut=$("./bytes"),ct=$("./hash"),dt=$("./keccak256"),It=$("./properties"),ht=it($("../errors")),y=function($){It.setType(this,"Indexed"),It.defineReadOnly(this,"hash",$)},pt=(nt(g,at=$=function($){for(var tt in It.setType(this,"Description"),$)It.defineReadOnly(this,tt,It.deepCopy($[tt],!0));Object.freeze(this)}),g.prototype.encode=function($,tt){ut.isHexString($)||ht.throwError("invalid contract bytecode",ht.INVALID_ARGUMENT,{arg:"bytecode",value:$}),ht.checkArgumentCount(tt.length,this.inputs.length," in Interface constructor");try{return $+st.defaultAbiCoder.encode(this.inputs,tt).substring(2)}catch($){ht.throwError("invalid constructor argument",ht.INVALID_ARGUMENT,{arg:$.arg,reason:$.reason,value:$.value})}return null},g);function g(){return null!==at&&at.apply(this,arguments)||this}var yt,Ct=(nt(w,yt=$),w.prototype.encode=function($){ht.checkArgumentCount($.length,this.inputs.length," in interface function "+this.name);try{return this.sighash+st.defaultAbiCoder.encode(this.inputs,$).substring(2)}catch($){ht.throwError("invalid input argument",ht.INVALID_ARGUMENT,{arg:$.arg,reason:$.reason,value:$.value})}return null},w.prototype.decode=function($){try{return st.defaultAbiCoder.decode(this.outputs,ut.arrayify($))}catch(tt){ht.throwError("invalid data for function output",ht.INVALID_ARGUMENT,{arg:"data",errorArg:tt.arg,errorValue:tt.value,value:$,reason:tt.reason})}},w);function w(){return null!==yt&&yt.apply(this,arguments)||this}var Bt,Et=(nt(A,Bt=$),A);function A(){return null!==Bt&&Bt.apply(this,arguments)||this}var mt,Qt=(nt(k,mt=$),k.prototype.encodeTopics=function($){var tt=this;$.length>this.inputs.length&&ht.throwError("too many arguments for "+this.name,ht.UNEXPECTED_ARGUMENT,{maxCount:$.length,expectedCount:this.inputs.length});var et=[];for(this.anonymous||et.push(this.topic),$.forEach((function($,At){var nt=tt.inputs[At];nt.indexed?null==$?et.push(null):"string"===nt.type?et.push(ct.id($)):"bytes"===nt.type?et.push(dt.keccak256($)):-1!==nt.type.indexOf("[")||"tuple"===nt.type.substring(0,5)?ht.throwError("filtering with tuples or arrays not implemented yet; bug us on GitHub",ht.NOT_IMPLEMENTED,{operation:"filter(array|tuple)"}):("address"===nt.type&&rt.getAddress($),et.push(ut.hexZeroPad(ut.hexlify($),32).toLowerCase())):null!=$&&ht.throwError("cannot filter non-indexed parameters; must be null",ht.INVALID_ARGUMENT,{argument:nt.name||At,value:$})}));et.length&&null===et[et.length-1];)et.pop();return et},k.prototype.decode=function($,tt){null==tt||this.anonymous||(tt=tt.slice(1));var et,At=[],nt=[],it=[];this.inputs.forEach((function($,tt){$.indexed?"string"===$.type||"bytes"===$.type||0<=$.type.indexOf("[")||"tuple"===$.type.substring(0,5)?(At.push({type:"bytes32",name:$.name||""}),it.push(!0)):(At.push($),it.push(!1)):(nt.push($),it.push(!1))})),null!=tt&&(et=st.defaultAbiCoder.decode(At,ut.concat(tt)));var at=st.defaultAbiCoder.decode(nt,ut.arrayify($)),rt={},ot=0,ct=0;return this.inputs.forEach((function($,At){$.indexed?null==tt?rt[At]=new y(null):it[At]?rt[At]=new y(et[ct++]):rt[At]=et[ct++]:rt[At]=at[ot++],$.name&&(rt[$.name]=rt[At])})),rt.length=this.inputs.length,new Et(rt)},k);function k(){return null!==mt&&mt.apply(this,arguments)||this}var bt,wt=(nt(P,bt=$),P);function P(){return null!==bt&&bt.apply(this,arguments)||this}var vt,Mt=(nt(R,vt=$),R);function R(){return null!==vt&&vt.apply(this,arguments)||this}function O($){switch($.type){case"constructor":var tt=new pt({inputs:$.inputs,payable:null==$.payable||!!$.payable});this.deployFunction||(this.deployFunction=tt);break;case"function":var et=st.formatSignature($).replace(/tuple/g,""),At=ct.id(et).substring(0,10),nt=!1;null!=$.constant?nt=$.constant:null!=$.stateMutability&&(nt="view"==$.stateMutability||"pure"==$.stateMutability),tt=new Ct({inputs:$.inputs,outputs:$.outputs,gas:$.gas,payable:null==$.payable||!!$.payable,type:nt?"call":"transaction",name:$.name,signature:et,sighash:At}),$.name&&(null==this.functions[$.name]?It.defineReadOnly(this.functions,$.name,tt):ht.warn("WARNING: Multiple definitions for "+$.name)),null==this.functions[tt.signature]&&It.defineReadOnly(this.functions,tt.signature,tt);break;case"event":et=st.formatSignature($).replace(/tuple/g,""),tt=new Qt({name:$.name,signature:et,inputs:$.inputs,topic:ct.id(et),anonymous:!!$.anonymous}),$.name&&null==this.events[$.name]&&It.defineReadOnly(this.events,$.name,tt),null==this.events[tt.signature]&&It.defineReadOnly(this.events,tt.signature,tt);break;case"receive":case"fallback":break;default:ht.warn("WARNING: unsupported ABI type - "+$.type)}}function C($){if(ht.checkNew(this,C),"string"==typeof $){try{$=JSON.parse($)}catch(tt){ht.throwError("could not parse ABI JSON",ht.INVALID_ARGUMENT,{arg:"abi",errorMessage:tt.message,value:$})}if(!Array.isArray($))return ht.throwError("invalid abi",ht.INVALID_ARGUMENT,{arg:"abi",value:$}),null}It.defineReadOnly(this,"functions",{}),It.defineReadOnly(this,"events",{});var tt=[];$.forEach((function($){"string"==typeof $&&($=st.parseSignature($)),tt.push($)})),It.defineReadOnly(this,"abi",It.deepCopy(tt,!0)),tt.forEach(O,this),this.deployFunction||O.call(this,{type:"constructor",inputs:[]}),It.setType(this,"Interface")}C.prototype.parseTransaction=function($){var tt,et=$.data.substring(0,10).toLowerCase();for(tt in this.functions)if(-1!==tt.indexOf("(")){var At=this.functions[tt];if(At.sighash===et){var nt=st.defaultAbiCoder.decode(At.inputs,"0x"+$.data.substring(10));return new wt({args:nt,decode:At.decode,name:At.name,signature:At.signature,sighash:At.sighash,value:ot.bigNumberify($.value||"0")})}}return null},C.prototype.parseLog=function($){for(var tt in this.events)if(-1!==tt.indexOf("(")&&!(tt=this.events[tt]).anonymous&&tt.topic===$.topics[0])return new Mt({decode:tt.decode,name:tt.name,signature:tt.signature,topic:tt.topic,values:tt.decode($.data,$.topics)});return null},C.isInterface=function($){return It.isType($,"Interface")},C.isIndexed=function($){return It.isType($,"Indexed")},$=C,et.Interface=$},{"../errors":5,"./abi-coder":59,"./address":60,"./bignumber":63,"./bytes":64,"./hash":65,"./keccak256":71,"./properties":74}],70:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./address");function i($){try{var tt=JSON.parse($)}catch($){return!1}return tt.encseed&&tt.ethaddr}function o($){try{var tt=JSON.parse($)}catch($){return!1}return!(!tt.version||parseInt(tt.version)!==tt.version||3!==parseInt(tt.version))}et.isCrowdsaleWallet=i,et.isSecretStorageWallet=o,et.getJsonWalletAddress=function($){if(i($))try{return At.getAddress(JSON.parse($).ethaddr)}catch($){return null}if(o($))try{return At.getAddress(JSON.parse($).address)}catch($){return null}return null}},{"./address":60}],71:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("js-sha3"),nt=$("./bytes");et.keccak256=function($){return"0x"+At.keccak_256(nt.arrayify($))}},{"./bytes":64,"js-sha3":40}],72:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=At($("../errors"));function o($){return function(tt){var et=[];return tt.InfuraProvider&&et.push(new tt.InfuraProvider($)),tt.EtherscanProvider&&et.push(new tt.EtherscanProvider($)),0===et.length?null:tt.FallbackProvider?new tt.FallbackProvider(et):et[0]}}function s($,tt){return function(et){return et.JsonRpcProvider?new et.JsonRpcProvider($,tt):null}}var it={unspecified:{chainId:0,name:"unspecified"},homestead:At={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:o("homestead")},mainnet:At,morden:{chainId:2,name:"morden"},ropsten:$={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:o("ropsten")},testnet:$,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:o("rinkeby")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:o("goerli")},kovan:{chainId:42,name:"kovan",_defaultProvider:o("kovan")},classic:{chainId:61,name:"classic",_defaultProvider:s("https://web3.gastracker.io","classic")},classicTestnet:{chainId:62,name:"classicTestnet",_defaultProvider:s("https://web3.gastracker.io/morden","classicTestnet")}};et.getNetwork=function($){if(null==$)return null;if("number"==typeof $){for(var tt in it)if((tt=it[tt]).chainId===$)return{name:tt.name,chainId:tt.chainId,ensAddress:tt.ensAddress||null,_defaultProvider:tt._defaultProvider||null};return{chainId:$,name:"unknown"}}if("string"!=typeof $)return(et=it[$.name])?(0!==$.chainId&&$.chainId!==et.chainId&&nt.throwError("network chainId mismatch",nt.INVALID_ARGUMENT,{arg:"network",value:$}),{name:$.name,chainId:et.chainId,ensAddress:$.ensAddress||et.ensAddress||null,_defaultProvider:$._defaultProvider||et._defaultProvider||null}):("number"!=typeof $.chainId&&nt.throwError("invalid network chainId",nt.INVALID_ARGUMENT,{arg:"network",value:$}),$);var et=it[$];return null==et?null:{name:et.name,chainId:et.chainId,ensAddress:et.ensAddress,_defaultProvider:et._defaultProvider||null}}},{"../errors":5}],73:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("../utils/bytes"),nt=$("./hmac");et.pbkdf2=function($,tt,et,it,at){var rt;$=At.arrayify($),tt=At.arrayify(tt);var st,ot,ut=1,ct=new Uint8Array(it),dt=new Uint8Array(tt.length+4);dt.set(tt);for(var It=1;It<=ut;It++){dt[tt.length]=It>>24&255,dt[tt.length+1]=It>>16&255,dt[tt.length+2]=It>>8&255,dt[tt.length+3]=255&It;var ht=nt.computeHmac(at,$,dt);rt||(rt=ht.length,ot=new Uint8Array(rt),st=it-((ut=Math.ceil(it/rt))-1)*rt),ot.set(ht);for(var pt=1;pt<et;pt++){ht=nt.computeHmac(at,$,ht);for(var yt=0;yt<rt;yt++)ot[yt]^=ht[yt]}var Ct=(It-1)*rt,Bt=It===ut?st:rt;ct.set(At.arrayify(ot).slice(0,Bt),Ct)}return At.arrayify(ct)}},{"../utils/bytes":64,"./hmac":67}],74:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=At($("../errors"));function s($,tt,et){Object.defineProperty($,tt,{enumerable:!0,value:et,writable:!1})}function a($,tt){return $&&$._ethersType===tt}et.defineReadOnly=s,et.setType=function($,tt){Object.defineProperty($,"_ethersType",{configurable:!1,value:tt,writable:!1})},et.isType=a,et.resolveProperties=function($){var tt={},et=[];return Object.keys($).forEach((function(At){var nt=$[At];nt instanceof Promise?et.push(nt.then((function($){return tt[At]=$,null}))):tt[At]=nt})),Promise.all(et).then((function(){return tt}))},et.checkProperties=function($,tt){$&&"object"==typeof $||nt.throwError("invalid object",nt.INVALID_ARGUMENT,{argument:"object",value:$}),Object.keys($).forEach((function(et){tt[et]||nt.throwError("invalid object key - "+et,nt.INVALID_ARGUMENT,{argument:"transaction",value:$,key:et})}))},et.shallowCopy=function($){var tt,et={};for(tt in $)et[tt]=$[tt];return et};var it={boolean:!0,number:!0,string:!0};et.deepCopy=function t($,tt){if(null==$||it[typeof $])return $;if(Array.isArray($)){var et=$.map((function($){return t($,tt)}));return tt&&Object.freeze(et),et}if("object"==typeof $){if(a($,"BigNumber"))return $;if(a($,"Description"))return $;if(a($,"Indexed"))return $;var At;for(At in et={},$){var nt=$[At];void 0!==nt&&s(et,At,t(nt,tt))}return tt&&Object.freeze(et),et}if("function"==typeof $)return $;throw new Error("Cannot deepCopy "+typeof $)},et.inheritable=function n($){return function(tt){var et,At;At=$,(et=tt).super_=At,et.prototype=Object.create(At.prototype,{constructor:{value:et,enumerable:!1,writable:!0,configurable:!0}}),s(tt,"inherits",n(tt))}}},{"../errors":5}],75:[function($,et,At){(function(tt){(function(){"use strict";Object.defineProperty(At,"__esModule",{value:!0});var et=$("../utils/bytes"),nt=$("../utils/properties"),it=tt.crypto||tt.msCrypto;function n($){if($<=0||1024<$||parseInt(String($))!=$)throw new Error("invalid length");return $=new Uint8Array($),it.getRandomValues($),et.arrayify($)}it&&it.getRandomValues||(console.log("WARNING: Missing strong random number source; using weak randomBytes"),it={getRandomValues:function($){for(var tt=0;tt<20;tt++)for(var et=0;et<$.length;et++)tt?$[et]^=Math.trunc(256*Math.random()):$[et]=Math.trunc(256*Math.random());return $},_weakCrypto:!0}),At.randomBytes=n,!0===it._weakCrypto&&nt.defineReadOnly(n,"_weakCrypto",!0)}).call(this)}).call(this,void 0!==tt?tt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/bytes":64,"../utils/properties":74}],76:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./bytes");function o($){for(var tt=[];$;)tt.unshift(255&$),$>>=8;return tt}function s($,tt,et){for(var At=0,nt=0;nt<et;nt++)At=256*At+$[tt+nt];return At}function a($,tt,et,At){for(var nt=[];et<tt+1+At;){var it=u($,et);if(nt.push(it.result),tt+1+At<(et+=it.consumed))throw new Error("invalid rlp")}return{consumed:1+At,result:nt}}function u($,tt){if(0===$.length)throw new Error("invalid rlp data");if(248<=$[tt]){if(tt+1+(et=$[tt]-247)>$.length)throw new Error("too short");if(tt+1+et+(nt=s($,tt+1,et))>$.length)throw new Error("to short");return a($,tt,tt+1+et,et+nt)}if(192<=$[tt]){if(tt+1+(nt=$[tt]-192)>$.length)throw new Error("invalid rlp data");return a($,tt,tt+1,nt)}if(184<=$[tt]){var et;if(tt+1+(et=$[tt]-183)>$.length)throw new Error("invalid rlp data");if(tt+1+et+(nt=s($,tt+1,et))>$.length)throw new Error("invalid rlp data");return{consumed:1+et+nt,result:At.hexlify($.slice(tt+1+et,tt+1+et+nt))}}if(128<=$[tt]){var nt;if(tt+1+(nt=$[tt]-128)>$.length)throw new Error("invalid rlp data");return{consumed:1+nt,result:At.hexlify($.slice(tt+1,tt+1+nt))}}return{consumed:1,result:At.hexlify($[tt])}}et.encode=function($){return At.hexlify(function t($){if(Array.isArray($)){var tt=[];return $.forEach((function($){tt=tt.concat(t($))})),tt.length<=55?(tt.unshift(192+tt.length),tt):((et=o(tt.length)).unshift(247+et.length),et.concat(tt))}var et;return 1===($=Array.prototype.slice.call(At.arrayify($))).length&&$[0]<=127?$:$.length<=55?($.unshift(128+$.length),$):((et=o($.length)).unshift(183+et.length),et.concat($))}($))},et.decode=function($){var tt=At.arrayify($);if(($=u(tt,0)).consumed!==tt.length)throw new Error("invalid rlp data");return $.result}},{"./bytes":64}],77:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=$("elliptic"),it=$("./address"),at=$("./bytes"),rt=$("./hash"),st=$("./keccak256"),ot=$("./properties"),ut=At($("../errors")),ct=null;function c(){return ct=ct||new nt.ec("secp256k1")}var dt=(p.prototype.sign=function($){return{recoveryParam:($=c().keyFromPrivate(at.arrayify(this.privateKey)).sign(at.arrayify($),{canonical:!0})).recoveryParam,r:at.hexZeroPad("0x"+$.r.toString(16),32),s:at.hexZeroPad("0x"+$.s.toString(16),32),v:27+$.recoveryParam}},p.prototype.computeSharedSecret=function($){var tt=c().keyFromPrivate(at.arrayify(this.privateKey));return $=c().keyFromPublic(at.arrayify(y($))),at.hexZeroPad("0x"+tt.derive($.getPublic()).toString(16),32)},p.prototype._addPoint=function($){var tt=c().keyFromPublic(at.arrayify(this.publicKey));return $=c().keyFromPublic(at.arrayify($)),"0x"+tt.pub.add($.pub).encodeCompressed("hex")},p);function p($){$=c().keyFromPrivate(at.arrayify($)),ot.defineReadOnly(this,"privateKey",at.hexlify($.priv.toArray("be",32))),ot.defineReadOnly(this,"publicKey","0x"+$.getPublic(!1,"hex")),ot.defineReadOnly(this,"compressedPublicKey","0x"+$.getPublic(!0,"hex")),ot.defineReadOnly(this,"publicKeyBytes",$.getPublic().encode(null,!0))}function y($,tt){return 32!==($=at.arrayify($)).length?33===$.length?tt?at.hexlify($):"0x"+c().keyFromPublic($).getPublic(!1,"hex"):65===$.length?tt?"0x"+c().keyFromPublic($).getPublic(!0,"hex"):at.hexlify($):(ut.throwError("invalid public or private key",ut.INVALID_ARGUMENT,{arg:"key",value:"[REDACTED]"}),null):($=new dt($),tt?$.compressedPublicKey:$.publicKey)}function m($){return $="0x"+y($).slice(4),it.getAddress("0x"+st.keccak256($).substring(26))}function g($,tt){var et=at.splitSignature(tt);return tt={r:at.arrayify(et.r),s:at.arrayify(et.s)},"0x"+c().recoverPubKey(at.arrayify($),tt,et.recoveryParam).encode("hex",!1)}function v($,tt){return m(g(at.arrayify($),tt))}et.KeyPair=dt,et.computePublicKey=y,et.computeAddress=m,et.recoverPublicKey=g,et.recoverAddress=v,et.verifyMessage=function($,tt){return v(rt.hashMessage($),tt)}},{"../errors":5,"./address":60,"./bytes":64,"./hash":65,"./keccak256":71,"./properties":74,elliptic:12}],78:[function($,tt,et){"use strict";var At=this&&this.__importDefault||function($){return $&&$.__esModule?$:{default:$}},nt=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var it=At($("aes-js")),at=At($("scrypt-js")),rt=At($("uuid")),st=$("./signing-key"),ot=nt($("./hdnode")),ut=$("./address"),ct=$("./bytes"),dt=$("./pbkdf2"),It=$("./keccak256"),ht=$("./utf8"),pt=$("./random-bytes");function d($){return"string"==typeof $&&"0x"!==$.substring(0,2)&&($="0x"+$),ct.arrayify($)}function N($,tt){for($=String($);$.length<tt;)$="0"+$;return $}function x($){return"string"==typeof $?ht.toUtf8Bytes($,ht.UnicodeNormalizationForm.NFKC):ct.arrayify($)}function p($,tt){for(var et=$,At=tt.toLowerCase().split("/"),nt=0;nt<At.length;nt++){var it,at=null;for(it in et)if(it.toLowerCase()===At[nt]){at=et[it];break}if(null===at)return null;et=at}return et}et.decryptCrowdsale=function($,tt){var et=JSON.parse($);tt=x(tt);var At=ut.getAddress(p(et,"ethaddr"));if(!($=d(p(et,"encseed")))||$.length%16!=0)throw new Error("invalid encseed");et=dt.pbkdf2(tt,tt,2e3,32,"sha256").slice(0,16),tt=$.slice(0,16),$=$.slice(16),tt=new it.default.ModeOfOperation.cbc(et,tt);for(var nt=ct.arrayify(tt.decrypt($)),at=(nt=it.default.padding.pkcs7.strip(nt),""),rt=0;rt<nt.length;rt++)at+=String.fromCharCode(nt[rt]);if($=ht.toUtf8Bytes(at),($=new st.SigningKey(It.keccak256($))).address!==At)throw new Error("corrupt crowdsale wallet");return $},et.decrypt=function($,tt,et){function l($,tt){var et=d(p(At,"crypto/ciphertext"));if(ct.hexlify((rt=$.slice(16,32),It.keccak256(ct.concat([rt,et])))).substring(2)!==p(At,"crypto/mac").toLowerCase())return tt(new Error("invalid password")),null;var nt=function($,tt){if("aes-128-ctr"!==p(At,"crypto/cipher"))return null;var et=d(p(At,"crypto/cipherparams/iv"));return et=new it.default.Counter(et),et=new it.default.ModeOfOperation.ctr($,et),ct.arrayify(et.decrypt(tt))}($.slice(0,16),et),at=$.slice(32,64);if(!nt)return tt(new Error("unsupported cipher")),null;var rt=new st.SigningKey(nt);if(At.address&&rt.address!==ut.getAddress(At.address))return tt(new Error("address mismatch")),null;if(et=p(At,"x-ethers/locale"),"0.1"===p(At,"x-ethers/version")&&(null==et||"en"===et)){if($=d(p(At,"x-ethers/mnemonicCiphertext")),et=d(p(At,"x-ethers/mnemonicCounter")),et=new it.default.Counter(et),at=new it.default.ModeOfOperation.ctr(at,et),et=p(At,"x-ethers/path")||ot.defaultPath,$=ct.arrayify(at.decrypt($)),$=ot.entropyToMnemonic($),(et=ot.fromMnemonic($).derivePath(et)).privateKey!=ct.hexlify(nt))return tt(new Error("mnemonic mismatch")),null;rt=new st.SigningKey(et)}return rt}var At=JSON.parse($),nt=x(tt);return new Promise((function($,tt){if((It=p(At,"crypto/kdf"))&&"string"==typeof It)if("scrypt"===It.toLowerCase()){var it=d(p(At,"crypto/kdfparams/salt")),rt=parseInt(p(At,"crypto/kdfparams/n")),st=parseInt(p(At,"crypto/kdfparams/r")),ot=parseInt(p(At,"crypto/kdfparams/p"));rt&&st&&ot?0==(rt&rt-1)?32===(ut=parseInt(p(At,"crypto/kdfparams/dklen")))?(et&&et(0),at.default(nt,it,rt,st,ot,64,(function(At,nt,it){if(At)At.progress=nt,tt(At);else if(it)(it=l(it=ct.arrayify(it),tt))&&(et&&et(1),$(it));else if(et)return et(nt)}))):tt(new Error("unsupported key-derivation derived-key length")):tt(new Error("unsupported key-derivation function parameter value for N")):tt(new Error("unsupported key-derivation function parameters"))}else if("pbkdf2"===It.toLowerCase()){if(it=d(p(At,"crypto/kdfparams/salt")),ot=null,"hmac-sha256"===(It=p(At,"crypto/kdfparams/prf")))ot="sha256";else{if("hmac-sha512"!==It)return void tt(new Error("unsupported prf"));ot="sha512"}var ut,It=parseInt(p(At,"crypto/kdfparams/c"));32===(ut=parseInt(p(At,"crypto/kdfparams/dklen")))?(ot=l(ot=dt.pbkdf2(nt,it,It,ut,ot),tt))&&$(ot):tt(new Error("unsupported key-derivation derived-key length"))}else tt(new Error("unsupported key-derivation function"));else tt(new Error("unsupported key-derivation function"))}))},et.encrypt=function($,tt,et,At){var nt;if("function"!=typeof et||At||(At=et,et={}),et=et||{},32!==(nt=st.SigningKey.isSigningKey($)?ct.arrayify($.privateKey):ct.arrayify($)).length)throw new Error("invalid private key");var ut=x(tt),dt=null;if(et.entropy&&(dt=ct.arrayify(et.entropy)),et.mnemonic)if(dt){if(ot.entropyToMnemonic(dt)!==et.mnemonic)throw new Error("entropy and mnemonic mismatch")}else dt=ct.arrayify(ot.mnemonicToEntropy(et.mnemonic,et.wordlist));var ht=et.path;dt&&!ht&&(ht=ot.defaultPath);var yt=(yt=et.client)||"ethers.js",Ct=et.salt?ct.arrayify(et.salt):pt.randomBytes(32),Bt=null;if(et.iv){if(16!==(Bt=ct.arrayify(et.iv)).length)throw new Error("invalid iv")}else Bt=pt.randomBytes(16);var Et=null;if(et.uuid){if(16!==(Et=ct.arrayify(et.uuid)).length)throw new Error("invalid uuid")}else Et=pt.randomBytes(16);var mt=1<<17,Qt=8,bt=1;return et.scrypt&&(et.scrypt.N&&(mt=et.scrypt.N),et.scrypt.r&&(Qt=et.scrypt.r),et.scrypt.p&&(bt=et.scrypt.p)),new Promise((function($,tt){At&&At(0),at.default(ut,Ct,mt,Qt,bt,64,(function(at,ot,ut){if(at)at.progress=ot,tt(at);else if(ut){var wt=(ut=ct.arrayify(ut)).slice(0,16),vt=ut.slice(16,32),Mt=ut.slice(32,64);at=new st.SigningKey(nt).address,ut=new it.default.Counter(Bt),ut=new it.default.ModeOfOperation.ctr(wt,ut),ut=ct.arrayify(ut.encrypt(nt)),vt=It.keccak256(ct.concat([vt,ut])),at={address:at.substring(2).toLowerCase(),id:rt.default.v4({random:Et}),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:ct.hexlify(Bt).substring(2)},ciphertext:ct.hexlify(ut).substring(2),kdf:"scrypt",kdfparams:{salt:ct.hexlify(Ct).substring(2),n:mt,dklen:32,p:bt,r:Qt},mac:vt.substring(2)}},dt&&(ut=pt.randomBytes(16),vt=new it.default.Counter(ut),Mt=new it.default.ModeOfOperation.ctr(Mt,vt),vt=ct.arrayify(Mt.encrypt(dt)),Mt=(Mt=new Date).getUTCFullYear()+"-"+N(Mt.getUTCMonth()+1,2)+"-"+N(Mt.getUTCDate(),2)+"T"+N(Mt.getUTCHours(),2)+"-"+N(Mt.getUTCMinutes(),2)+"-"+N(Mt.getUTCSeconds(),2)+".0Z",at["x-ethers"]={client:yt,gethFilename:"UTC--"+Mt+"--"+at.address,mnemonicCounter:ct.hexlify(ut).substring(2),mnemonicCiphertext:ct.hexlify(vt).substring(2),path:ht,version:"0.1"},et.wordlist&&"string"==typeof et.wordlist.locale&&(at["x-ethers"].locale=et.wordlist.locale)),At&&At(1),$(JSON.stringify(at))}else if(At)return At(ot)}))}))}},{"./address":60,"./bytes":64,"./hdnode":66,"./keccak256":71,"./pbkdf2":73,"./random-bytes":75,"./signing-key":81,"./utf8":85,"aes-js":8,"scrypt-js":44,uuid:48}],79:[function($,tt,et){"use strict";var At=this&&this.__importDefault||function($){return $&&$.__esModule?$:{default:$}};Object.defineProperty(et,"__esModule",{value:!0});var nt=At($("hash.js")),it=$("./bytes");et.ripemd160=function($){return"0x"+nt.default.ripemd160().update(it.arrayify($)).digest("hex")},et.sha256=function($){return"0x"+nt.default.sha256().update(it.arrayify($)).digest("hex")},et.sha512=function($){return"0x"+nt.default.sha512().update(it.arrayify($)).digest("hex")}},{"./bytes":64,"hash.js":26}],80:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0}),$("setimmediate"),et.platform="browser"},{setimmediate:45}],81:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=$("./hdnode"),it=$("./bytes"),at=$("./properties"),rt=$("./secp256k1"),st=At($("../errors"));function l($){st.checkNew(this,l);var tt=nt.HDNode.isHDNode($)?(at.defineReadOnly(this,"mnemonic",$.mnemonic),at.defineReadOnly(this,"path",$.path),it.arrayify($.privateKey)):("string"==typeof $&&$.match(/^[0-9a-f]*$/i)&&64===$.length&&($="0x"+$),it.arrayify($));try{32!==tt.length&&st.throwError("exactly 32 bytes required",st.INVALID_ARGUMENT,{arg:"privateKey",value:"[REDACTED]"})}catch(tt){$={arg:"privateKey",reason:tt.reason,value:"[REDACTED]"},tt.value&&("number"==typeof tt.value.length&&($.length=tt.value.length),$.type=typeof tt.value),st.throwError("invalid private key",tt.code,$)}at.defineReadOnly(this,"privateKey",it.hexlify(tt)),at.defineReadOnly(this,"keyPair",new rt.KeyPair(tt)),at.defineReadOnly(this,"publicKey",this.keyPair.publicKey),at.defineReadOnly(this,"address",rt.computeAddress(this.keyPair.publicKey)),at.setType(this,"SigningKey")}l.prototype.signDigest=function($){return this.keyPair.sign($)},l.prototype.computeSharedSecret=function($){return this.keyPair.computeSharedSecret(it.arrayify($))},l.isSigningKey=function($){return at.isType($,"SigningKey")},$=l,et.SigningKey=$},{"../errors":5,"./bytes":64,"./hdnode":66,"./properties":74,"./secp256k1":77}],82:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At=$("./bignumber"),nt=$("./bytes"),it=$("./utf8"),at=$("./keccak256"),rt=$("./sha2"),st=new RegExp("^bytes([0-9]+)$"),ot=new RegExp("^(u?int)([0-9]*)$"),ut=new RegExp("^(.*)\\[([0-9]*)\\]$");function o($,tt){if($.length!=tt.length)throw new Error("type/value count mismatch");var et=[];return $.forEach((function($,at){et.push(function t($,tt,et){switch($){case"address":return et?nt.padZeros(tt,32):nt.arrayify(tt);case"string":return it.toUtf8Bytes(tt);case"bytes":return nt.arrayify(tt);case"bool":return tt=tt?"0x01":"0x00",et?nt.padZeros(tt,32):nt.arrayify(tt)}var at=$.match(ot);if(at){if((rt=parseInt(at[2]||"256"))%8!=0||0===rt||256<rt)throw new Error("invalid number type - "+$);return et&&(rt=256),tt=At.bigNumberify(tt).toTwos(rt),nt.padZeros(tt,rt/8)}if(at=$.match(st)){var rt=parseInt(at[1]);if(String(rt)!=at[1]||0===rt||32<rt)throw new Error("invalid number type - "+$);if(nt.arrayify(tt).byteLength!==rt)throw new Error("invalid value for "+$);return et?nt.arrayify((tt+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):tt}if((at=$.match(ut))&&Array.isArray(tt)){var ct=at[1];if(parseInt(at[2]||String(tt.length))!=tt.length)throw new Error("invalid value for "+$);var dt=[];return tt.forEach((function($){dt.push(t(ct,$,!0))})),nt.concat(dt)}throw new Error("unknown type - "+$)}($,tt[at]))})),nt.hexlify(nt.concat(et))}et.pack=o,et.keccak256=function($,tt){return at.keccak256(o($,tt))},et.sha256=function($,tt){return rt.sha256(o($,tt))}},{"./bignumber":63,"./bytes":64,"./keccak256":71,"./sha2":79,"./utf8":85}],83:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=$("../constants"),it=At($("../errors")),at=$("./secp256k1"),rt=$("./address"),st=$("./bignumber"),ot=$("./bytes"),ut=$("./keccak256"),ct=$("./properties"),dt=At($("./rlp")),It=$("../providers/abstract-provider");function p($){return"0x"===$?nt.Zero:st.bigNumberify($)}var ht=[{name:"nonce",maxLength:32},{name:"gasPrice",maxLength:32},{name:"gasLimit",maxLength:32},{name:"to",length:20},{name:"value",maxLength:32},{name:"data"}],pt={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};et.serialize=function($,tt){ct.checkProperties($,pt);var et=[];ht.forEach((function(tt){var At=$[tt.name]||[];At=ot.arrayify(ot.hexlify(At)),tt.length&&At.length!==tt.length&&0<At.length&&it.throwError("invalid length for "+tt.name,it.INVALID_ARGUMENT,{arg:"transaction"+tt.name,value:At}),tt.maxLength&&(At=ot.stripZeros(At)).length>tt.maxLength&&it.throwError("invalid length for "+tt.name,it.INVALID_ARGUMENT,{arg:"transaction"+tt.name,value:At}),et.push(ot.hexlify(At))})),null!=$.chainId&&0!==$.chainId&&(et.push(ot.hexlify($.chainId)),et.push("0x"),et.push("0x"));var At=dt.encode(et);return tt?(tt=27+(At=ot.splitSignature(tt)).recoveryParam,9===et.length&&(et.pop(),et.pop(),et.pop(),tt+=2*$.chainId+8),et.push(ot.hexlify(tt)),et.push(ot.stripZeros(ot.arrayify(At.r))),et.push(ot.stripZeros(ot.arrayify(At.s))),dt.encode(et)):At},et.parse=function($){9!==(At=dt.decode($)).length&&6!==At.length&&it.throwError("invalid raw transaction",it.INVALID_ARGUMENT,{arg:"rawTransactin",value:$});var tt={nonce:p(At[0]).toNumber(),gasPrice:p(At[1]),gasLimit:p(At[2]),to:"0x"===(et=At[3])?null:rt.getAddress(et),value:p(At[4]),data:At[5],chainId:0};if(6===At.length)return tt;try{tt.v=st.bigNumberify(At[6]).toNumber()}catch($){return it.info($),tt}if(tt.r=ot.hexZeroPad(At[7],32),tt.s=ot.hexZeroPad(At[8],32),st.bigNumberify(tt.r).isZero()&&st.bigNumberify(tt.s).isZero())tt.chainId=tt.v,tt.v=0;else{tt.chainId=Math.floor((tt.v-35)/2),tt.chainId<0&&(tt.chainId=0);var et=tt.v-27,At=At.slice(0,6);0!==tt.chainId&&(At.push(ot.hexlify(tt.chainId)),At.push("0x"),At.push("0x"),et-=2*tt.chainId+8),At=ut.keccak256(dt.encode(At));try{tt.from=at.recoverAddress(At,{r:ot.hexlify(tt.r),s:ot.hexlify(tt.s),recoveryParam:et})}catch($){it.info($)}tt.hash=ut.keccak256($)}return tt},et.populateTransaction=function($,tt,et){It.Provider.isProvider(tt)||it.throwError("missing provider",it.INVALID_ARGUMENT,{argument:"provider",value:tt}),ct.checkProperties($,pt);var At=ct.shallowCopy($);return null!=At.to&&(At.to=tt.resolveName(At.to)),null==At.gasPrice&&(At.gasPrice=tt.getGasPrice()),null==At.nonce&&(At.nonce=tt.getTransactionCount(et)),null==At.gasLimit&&(($=ct.shallowCopy(At)).from=et,At.gasLimit=tt.estimateGas($)),null==At.chainId&&(At.chainId=tt.getNetwork().then((function($){return $.chainId}))),ct.resolveProperties(At)}},{"../constants":3,"../errors":5,"../providers/abstract-provider":50,"./address":60,"./bignumber":63,"./bytes":64,"./keccak256":71,"./properties":74,"./rlp":76,"./secp256k1":77}],84:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt,it=$("../constants"),at=At($("../errors")),rt=$("./bignumber"),st={};function l($){return{decimals:$.length-1,tenPower:rt.bigNumberify($)}}function h($){var tt=st[String($).toLowerCase()];if(!tt&&"number"==typeof $&&parseInt(String($))==$&&0<=$&&$<=256){for(var et="1",At=0;At<$;At++)et+="0";tt=l(et)}return tt||at.throwError("invalid unitType",at.INVALID_ARGUMENT,{argument:"name",value:$}),tt}function f($,tt){for(var et=h(tt),At=(tt=($=rt.bigNumberify($)).lt(it.Zero),($=tt?$.mul(it.NegativeOne):$).mod(et.tenPower).toString());At.length<et.decimals;)At="0"+At;return At=At.match(/^([0-9]*[1-9]|0)(0*)/)[1],$=$.div(et.tenPower).toString()+"."+At,tt?"-"+$:$}function c($,tt){var et=h(tt=null==tt?18:tt);if("string"==typeof $&&$.match(/^-?[0-9.,]+$/)||at.throwError("invalid decimal value",at.INVALID_ARGUMENT,{arg:"value",value:$}),0===et.decimals)return rt.bigNumberify($);var At="-"===$.substring(0,1);"."===($=At?$.substring(1):$)&&at.throwError("missing value",at.INVALID_ARGUMENT,{arg:"value",value:$}),2<(tt=$.split(".")).length&&at.throwError("too many decimal points",at.INVALID_ARGUMENT,{arg:"value",value:$}),$=tt[0];var nt=tt[1];for($=$||"0",(nt=nt||"0").length>et.decimals&&at.throwError("underflow occurred",at.NUMERIC_FAULT,{operation:"division",fault:"underflow"});nt.length<et.decimals;)nt+="0";return tt=rt.bigNumberify($),$=rt.bigNumberify(nt),$=tt.mul(et.tenPower).add($),At?$.mul(it.NegativeOne):$}nt="1",["wei","kwei","Mwei","Gwei","szabo","finney","ether"].forEach((function($){var tt=l(nt);st[$.toLowerCase()]=tt,st[String(tt.decimals)]=tt,nt+="000"})),et.commify=function($){var tt=String($).split(".");(2<tt.length||!tt[0].match(/^-?[0-9]*$/)||tt[1]&&!tt[1].match(/^[0-9]*$/)||"."===$||"-."===$)&&at.throwError("invalid value",at.INVALID_ARGUMENT,{argument:"value",value:$});var et=tt[0],At="";for("-"===et.substring(0,1)&&(At="-",et=et.substring(1));"0"===et.substring(0,1);)et=et.substring(1);""===et&&(et="0"),$="",2===tt.length&&($="."+(tt[1]||"0"));for(var nt=[];et.length;){if(et.length<=3){nt.unshift(et);break}var it=et.length-3;nt.unshift(et.substring(it)),et=et.substring(0,it)}return At+nt.join(",")+$},et.formatUnits=f,et.parseUnits=c,et.formatEther=function($){return f($,18)},et.parseEther=function($){return c($,18)}},{"../constants":3,"../errors":5,"./bignumber":63}],85:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0});var At,nt=$("../constants"),it=$("../errors"),at=$("./bytes");function i($,tt){(tt=void 0===tt?At.current:tt)!=At.current&&(it.checkNormalize(),$=$.normalize(tt));for(var et=[],nt=0;nt<$.length;nt++){var rt=$.charCodeAt(nt);if(rt<128)et.push(rt);else if(rt<2048)et.push(rt>>6|192),et.push(63&rt|128);else if(55296==(64512&rt)){nt++;var st=$.charCodeAt(nt);if(nt>=$.length||56320!=(64512&st))throw new Error("invalid utf-8 string");et.push((rt=65536+((1023&rt)<<10)+(1023&st))>>18|240),et.push(rt>>12&63|128),et.push(rt>>6&63|128),et.push(63&rt|128)}else et.push(rt>>12|224),et.push(rt>>6&63|128),et.push(63&rt|128)}return at.arrayify(et)}function o($,tt){$=at.arrayify($);for(var et="",At=0;At<$.length;){var nt=$[At++];if(nt>>7!=0){var it=null,rt=null;if(192==(224&nt))it=1,rt=127;else if(224==(240&nt))it=2,rt=2047;else{if(240!=(248&nt)){if(tt)continue;if(128==(192&nt))throw new Error("invalid utf8 byte sequence; unexpected continuation byte");throw new Error("invalid utf8 byte sequence; invalid prefix")}it=3,rt=65535}if(At+it>$.length){if(!tt)throw new Error("invalid utf8 byte sequence; too short");for(;At<$.length&&$[At]>>6==2;At++);}else{for(var st=nt&(1<<8-it-1)-1,ot=0;ot<it;ot++){var ut=$[At];if(128!=(192&ut)){st=null;break}st=st<<6|63&ut,At++}if(null!==st)if(st<=rt){if(!tt)throw new Error("invalid utf8 byte sequence; overlong")}else if(1114111<st){if(!tt)throw new Error("invalid utf8 byte sequence; out-of-range")}else if(55296<=st&&st<=57343){if(!tt)throw new Error("invalid utf8 byte sequence; utf-16 surrogate")}else st<=65535?et+=String.fromCharCode(st):(st-=65536,et+=String.fromCharCode(55296+(st>>10&1023),56320+(1023&st)));else if(!tt)throw new Error("invalid utf8 byte sequence; invalid continuation byte")}}else et+=String.fromCharCode(nt)}return et}($=At=et.UnicodeNormalizationForm||(et.UnicodeNormalizationForm={})).current="",$.NFC="NFC",$.NFD="NFD",$.NFKC="NFKC",$.NFKD="NFKD",et.toUtf8Bytes=i,et.toUtf8String=o,et.formatBytes32String=function($){if(31<($=i($)).length)throw new Error("bytes32 string must be less than 32 bytes");return at.hexlify(at.concat([$,nt.HashZero]).slice(0,32))},et.parseBytes32String=function($){var tt=at.arrayify($);if(32!==tt.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==tt[31])throw new Error("invalid bytes32 string - no null terminator");for(var et=31;0===tt[et-1];)et--;return o(tt.slice(0,et))}},{"../constants":3,"../errors":5,"./bytes":64}],86:[function($,tt,et){"use strict";var At=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var nt=$("xmlhttprequest"),it=$("./base64"),at=$("./properties"),rt=$("./utf8"),st=At($("../errors"));et.fetchJson=function($,tt,et){var At,at={},ot=null,ut=12e4;if("string"==typeof $)ot=$;else if("object"==typeof $){if(null==$.url&&st.throwError("missing URL",st.MISSING_ARGUMENT,{arg:"url"}),ot=$.url,"number"==typeof $.timeout&&0<$.timeout&&(ut=$.timeout),$.headers)for(var ct in $.headers)at[ct.toLowerCase()]={key:ct,value:String($.headers[ct])};null!=$.user&&null!=$.password&&("https:"!==ot.substring(0,6)&&!0!==$.allowInsecure&&st.throwError("basic authentication requires a secure https url",st.INVALID_ARGUMENT,{arg:"url",url:ot,user:$.user,password:"[REDACTED]"}),At=$.user+":"+$.password,at.authorization={key:"Authorization",value:"Basic "+it.encode(rt.toUtf8Bytes(At))})}return new Promise((function($,At){function o(){null!=rt&&(clearTimeout(rt),rt=null)}var it=new nt.XMLHttpRequest,rt=null;rt=setTimeout((function(){null!=rt&&(rt=null,At(new Error("timeout")),setTimeout((function(){it.abort()}),0))}),ut),tt?(it.open("POST",ot,!0),at["content-type"]={key:"Content-Type",value:"application/json"}):it.open("GET",ot,!0),Object.keys(at).forEach((function($){$=at[$],it.setRequestHeader($.key,$.value)})),it.onreadystatechange=function(){if(4===it.readyState){if(200!=it.status){o();var nt=new Error("invalid response - "+it.status);return nt.statusCode=it.status,it.responseText&&(nt.responseText=it.responseText),void At(nt)}var at=null;try{at=JSON.parse(it.responseText)}catch(nt){o();var rt=new Error("invalid json response");return rt.orginialError=nt,rt.responseText=it.responseText,null!=tt&&(rt.requestBody=tt),rt.url=ot,void At(rt)}if(et)try{at=et(at)}catch(nt){return o(),nt.url=ot,nt.body=tt,nt.responseText=it.responseText,void At(nt)}o(),$(at)}},it.onerror=function($){o(),At($)};try{null!=tt?it.send(tt):it.send()}catch(rt){o();var st=new Error("connection error");st.error=rt,At(st)}}))},et.poll=function($,tt){return tt=tt||{},null==(tt=at.shallowCopy(tt)).floor&&(tt.floor=0),null==tt.ceiling&&(tt.ceiling=1e4),null==tt.interval&&(tt.interval=250),new Promise((function(et,At){var nt=null,it=!1,o=function(){return!it&&(it=!0,nt&&clearTimeout(nt),!0)};tt.timeout&&(nt=setTimeout((function(){o()&&At(new Error("timeout"))}),tt.timeout));var at=tt.fastRetry||null,rt=0;!function t(){return $().then((function($){return void 0!==$?o()&&et($):tt.onceBlock?tt.onceBlock.once("block",t):it||(rt++,($=($=tt.interval*parseInt(String(Math.random()*Math.pow(2,rt))))<tt.floor?tt.floor:$)>tt.ceiling&&($=tt.ceiling),at&&(rt--,$=at,at=null),setTimeout(t,$)),null}),(function($){o()&&At($)}))}()}))}},{"../errors":5,"./base64":61,"./properties":74,"./utf8":85,xmlhttprequest:49}],87:[function($,et,At){(function(tt){(function(){"use strict";Object.defineProperty(At,"__esModule",{value:!0});var tt=$("../utils/hash"),et=$("../utils/properties");At.check=function($){for(var et=[],At=0;At<2048;At++){var nt=$.getWord(At);if(At!==$.getWordIndex(nt))return"0x";et.push(nt)}return tt.id(et.join("\n")+"\n")};var nt=(r.prototype.split=function($){return $.toLowerCase().split(/ +/g)},r.prototype.join=function($){return $.join(" ")},r);function r($){et.defineReadOnly(this,"locale",$)}At.Wordlist=nt,At.register=function($,tt){tt=tt||$.locale}}).call(this)}).call(this,void 0!==tt?tt:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/hash":65,"../utils/properties":74}],88:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)}),it=this&&this.__importStar||function($){if($&&$.__esModule)return $;var tt={};if(null!=$)for(var et in $)Object.hasOwnProperty.call($,et)&&(tt[et]=$[et]);return tt.default=$,tt};Object.defineProperty(et,"__esModule",{value:!0});var at,rt=$("./utils/bytes"),st=$("./utils/hash"),ot=$("./utils/hdnode"),ut=$("./utils/json-wallet"),ct=$("./utils/keccak256"),dt=$("./utils/properties"),It=$("./utils/random-bytes"),ht=it($("./utils/secret-storage")),pt=$("./utils/signing-key"),yt=$("./utils/transaction"),Ct=$("./abstract-signer"),Bt=$("./providers/abstract-provider"),Et=it($("./errors"));function w($,tt){var et=at.call(this)||this;return Et.checkNew(et,w),pt.SigningKey.isSigningKey($)?dt.defineReadOnly(et,"signingKey",$):dt.defineReadOnly(et,"signingKey",new pt.SigningKey($)),dt.defineReadOnly(et,"provider",tt),et}nt(w,at=Ct.Signer),Object.defineProperty(w.prototype,"address",{get:function(){return this.signingKey.address},enumerable:!0,configurable:!0}),Object.defineProperty(w.prototype,"mnemonic",{get:function(){return this.signingKey.mnemonic},enumerable:!0,configurable:!0}),Object.defineProperty(w.prototype,"path",{get:function(){return this.signingKey.path},enumerable:!0,configurable:!0}),Object.defineProperty(w.prototype,"privateKey",{get:function(){return this.signingKey.privateKey},enumerable:!0,configurable:!0}),w.prototype.connect=function($){return Bt.Provider.isProvider($)||Et.throwError("invalid provider",Et.INVALID_ARGUMENT,{argument:"provider",value:$}),new w(this.signingKey,$)},w.prototype.getAddress=function(){return Promise.resolve(this.address)},w.prototype.sign=function($){var tt=this;return dt.resolveProperties($).then((function($){var et=yt.serialize($);return et=tt.signingKey.signDigest(ct.keccak256(et)),yt.serialize($,et)}))},w.prototype.signMessage=function($){return Promise.resolve(rt.joinSignature(this.signingKey.signDigest(st.hashMessage($))))},w.prototype.getBalance=function($){if(!this.provider)throw new Error("missing provider");return this.provider.getBalance(this.address,$)},w.prototype.getTransactionCount=function($){if(!this.provider)throw new Error("missing provider");return this.provider.getTransactionCount(this.address,$)},w.prototype.sendTransaction=function($){var tt=this;if(!this.provider)throw new Error("missing provider");return null==$.nonce&&(($=dt.shallowCopy($)).nonce=this.getTransactionCount("pending")),yt.populateTransaction($,this.provider,this.address).then((function($){return tt.sign($).then((function($){return tt.provider.sendTransaction($)}))}))},w.prototype.encrypt=function($,tt,et){if("function"!=typeof tt||et||(et=tt,tt={}),et&&"function"!=typeof et)throw new Error("invalid callback");return tt=tt||{},this.mnemonic&&((tt=dt.shallowCopy(tt)).mnemonic=this.mnemonic,tt.path=this.path),ht.encrypt(this.privateKey,$,tt,et)},w.createRandom=function($){var tt=It.randomBytes(16);return($=$||{}).extraEntropy&&(tt=rt.arrayify(ct.keccak256(rt.concat([tt,$.extraEntropy])).substring(0,34))),tt=ot.entropyToMnemonic(tt,$.locale),w.fromMnemonic(tt,$.path,$.locale)},w.fromEncryptedJson=function($,tt,et){if(ut.isCrowdsaleWallet($))try{et&&et(0);var At=ht.decryptCrowdsale($,tt);return et&&et(1),Promise.resolve(new w(At))}catch($){return Promise.reject($)}else if(ut.isSecretStorageWallet($))return ht.decrypt($,tt,et).then((function($){return new w($)}));return Promise.reject("invalid wallet JSON")},w.fromMnemonic=function($,tt,et){return tt=tt||ot.defaultPath,new w(ot.fromMnemonic($,et).derivePath(tt))},nt=w,et.Wallet=nt},{"./abstract-signer":2,"./errors":5,"./providers/abstract-provider":50,"./utils/bytes":64,"./utils/hash":65,"./utils/hdnode":66,"./utils/json-wallet":70,"./utils/keccak256":71,"./utils/properties":74,"./utils/random-bytes":75,"./utils/secret-storage":78,"./utils/signing-key":81,"./utils/transaction":83}],89:[function($,tt,et){"use strict";Object.defineProperty(et,"__esModule",{value:!0}),$=$("../wordlists/lang-en").langEn,et.en=$},{"../wordlists/lang-en":90}],90:[function($,tt,et){"use strict";var At,nt=this&&this.__extends||(At=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function($,tt){$.__proto__=tt}||function($,tt){for(var et in tt)tt.hasOwnProperty(et)&&($[et]=tt[et])},function($,tt){function r(){this.constructor=$}At($,tt),$.prototype=null===tt?Object.create(tt):(r.prototype=tt.prototype,new r)});Object.defineProperty(et,"__esModule",{value:!0});var it,at=$("../utils/wordlist"),rt=null;function l($){if(null==rt&&(rt="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==at.check($)))throw rt=null,new Error("BIP39 Wordlist for en (English) FAILED")}function h(){return it.call(this,"en")||this}nt=new(nt(h,it=at.Wordlist),h.prototype.getWord=function($){return l(this),rt[$]},h.prototype.getWordIndex=function($){return l(this),rt.indexOf($)},h),et.langEn=nt,at.register(nt)},{"../utils/wordlist":87}]},{},[7])(7)}).call(this,et(21))},function($,tt,et){var At=et(168).Buffer,nt=et(205).Transform,it=et(195).StringDecoder;function CipherBase($){nt.call(this),this.hashMode="string"==typeof $,this.hashMode?this[$]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}et(164)(CipherBase,nt),CipherBase.prototype.update=function($,tt,et){"string"==typeof $&&($=At.from($,tt));var nt=this._update($);return this.hashMode?this:(et&&(nt=this._toString(nt,et)),nt)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},CipherBase.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},CipherBase.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},CipherBase.prototype._transform=function($,tt,et){var At;try{this.hashMode?this._update($):this.push(this._update($))}catch($){At=$}finally{et(At)}},CipherBase.prototype._flush=function($){var tt;try{this.push(this.__final())}catch($){tt=$}$(tt)},CipherBase.prototype._finalOrDigest=function($){var tt=this.__final()||At.alloc(0);return $&&(tt=this._toString(tt,$,!0)),tt},CipherBase.prototype._toString=function($,tt,et){if(this._decoder||(this._decoder=new it(tt),this._encoding=tt),this._encoding!==tt)throw new Error("can't switch encodings");var At=this._decoder.write($);return et&&(At+=this._decoder.end()),At},$.exports=CipherBase},,,function($,tt,et){"use strict";(function(tt,At){var nt=et(168).Buffer,it=tt.crypto||tt.msCrypto;it&&it.getRandomValues?$.exports=function randomBytes($,tt){if($>4294967295)throw new RangeError("requested too many random bytes");var et=nt.allocUnsafe($);if($>0)if($>65536)for(var at=0;at<$;at+=65536)it.getRandomValues(et.slice(at,at+65536));else it.getRandomValues(et);if("function"==typeof tt)return At.nextTick((function(){tt(null,et)}));return et}:$.exports=function oldBrowser(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,et(21),et(172))},,,function($,tt,et){const At=et(228),nt="undefined"!=typeof fetch?fetch:et(229).default,{LogMessage:it}=et(204);class HttpClient{Log($,tt=!1){it(this,$,tt)}constructor({uris:$,debug:tt}){this.uris=$,this.uriIndex=0,this.debug=tt,this.draftURIs={}}BaseURI(){return new At(this.uris[this.uriIndex])}static Fetch($,tt={}){return nt($,tt)}RecordWriteToken($){this.draftURIs[$]=this.BaseURI()}RequestHeaders($,tt={}){return tt.Accept||(tt.Accept="application/json"),"JSON"===$?tt["Content-type"]="application/json":"BINARY"===$&&(tt["Content-type"]="application/octet-stream"),tt}async Request({method:$,path:tt,queryParams:et={},body:At,bodyType:nt="JSON",headers:it={},attempts:at=0,failover:rt=!0,forceFailover:st=!1}){let ot=this.BaseURI();const ut=tt.replace(/^\//,"").match(/(qlibs\/ilib[a-zA-Z0-9]+|q|qid)\/(tqw_[a-zA-Z0-9]+)/),ct=ut?ut[2]:void 0;ct&&(this.draftURIs[ct]?ot=this.draftURIs[ct]:this.draftURIs[ct]=ot);let dt,It=ot.path(tt).query(et).hash(""),ht={method:$,headers:this.RequestHeaders(nt,it)};"POST"!==$&&"PUT"!==$||(ht.body=At&&"JSON"===nt?JSON.stringify(At):At);try{dt=await HttpClient.Fetch(It.toString(),ht)}catch($){dt={ok:!1,status:500,statusText:"ElvClient Error: "+$.message,url:It.toString(),stack:$.stack}}if(!dt.ok){if(!ct&&(rt&&parseInt(dt.status)>=500||st)&&at<this.uris.length)return this.Log(`HttpClient failing over from ${this.BaseURI()}: ${at+1} attempts`,!0),this.uriIndex=(this.uriIndex+1)%this.uris.length,await this.Request({method:$,path:tt,queryParams:et,body:At,bodyType:nt,headers:it,attempts:at+1,forceFailover:st});const ot=dt.headers&&dt.headers.get("content-type")||"";let ut="";dt.text&&dt.json&&(ut=ot.includes("application/json")?await dt.json():await dt.text());const pt={name:"ElvHttpClientError",status:dt.status,statusText:dt.statusText,message:dt.statusText,url:It.toString(),body:ut,requestParams:ht};throw this.Log(JSON.stringify(pt,null,2),!0),pt}return this.Log(`${dt.status} - ${$} ${It.toString()}`),dt}URL({path:$,queryParams:tt={}}){return this.BaseURI().path($).query(tt).hash("").toString()}}$.exports=HttpClient},,function($,tt,et){"use strict";var At=et(164),nt=et(233),it=et(234),at=et(235),rt=et(188);function Hash($){rt.call(this,"digest"),this._hash=$}At(Hash,rt),Hash.prototype._update=function($){this._hash.update($)},Hash.prototype._final=function(){return this._hash.digest()},$.exports=function createHash($){return"md5"===($=$.toLowerCase())?new nt:"rmd160"===$||"ripemd160"===$?new it:new Hash(at($))}},function($,tt,et){var At=et(168).Buffer;function Hash($,tt){this._block=At.alloc($),this._finalSize=tt,this._blockSize=$,this._len=0}Hash.prototype.update=function($,tt){"string"==typeof $&&(tt=tt||"utf8",$=At.from($,tt));for(var et=this._block,nt=this._blockSize,it=$.length,at=this._len,rt=0;rt<it;){for(var st=at%nt,ot=Math.min(it-rt,nt-st),ut=0;ut<ot;ut++)et[st+ut]=$[rt+ut];rt+=ot,(at+=ot)%nt==0&&this._update(et)}return this._len+=it,this},Hash.prototype.digest=function($){var tt=this._len%this._blockSize;this._block[tt]=128,this._block.fill(0,tt+1),tt>=this._finalSize&&(this._update(this._block),this._block.fill(0));var et=8*this._len;if(et<=4294967295)this._block.writeUInt32BE(et,this._blockSize-4);else{var At=(4294967295&et)>>>0,nt=(et-At)/4294967296;this._block.writeUInt32BE(nt,this._blockSize-8),this._block.writeUInt32BE(At,this._blockSize-4)}this._update(this._block);var it=this._hash();return $?it.toString($):it},Hash.prototype._update=function(){throw new Error("_update must be implemented by subclass")},$.exports=Hash},function($,tt,et){"use strict";var At={};function createErrorType($,tt,et){et||(et=Error);var nt=function($){function NodeError(et,At,nt){return $.call(this,function getMessage($,et,At){return"string"==typeof tt?tt:tt($,et,At)}(et,At,nt))||this}return function _inheritsLoose($,tt){$.prototype=Object.create(tt.prototype),$.prototype.constructor=$,$.__proto__=tt}(NodeError,$),NodeError}(et);nt.prototype.name=et.name,nt.prototype.code=$,At[$]=nt}function oneOf($,tt){if(Array.isArray($)){var et=$.length;return $=$.map((function($){return String($)})),et>2?"one of ".concat(tt," ").concat($.slice(0,et-1).join(", "),", or ")+$[et-1]:2===et?"one of ".concat(tt," ").concat($[0]," or ").concat($[1]):"of ".concat(tt," ").concat($[0])}return"of ".concat(tt," ").concat(String($))}createErrorType("ERR_INVALID_OPT_VALUE",(function($,tt){return'The value "'+tt+'" is invalid for option "'+$+'"'}),TypeError),createErrorType("ERR_INVALID_ARG_TYPE",(function($,tt,et){var At,nt;if("string"==typeof tt&&function startsWith($,tt,et){return $.substr(!et||et<0?0:+et,tt.length)===tt}(tt,"not ")?(At="must not be",tt=tt.replace(/^not /,"")):At="must be",function endsWith($,tt,et){return(void 0===et||et>$.length)&&(et=$.length),$.substring(et-tt.length,et)===tt}($," argument"))nt="The ".concat($," ").concat(At," ").concat(oneOf(tt,"type"));else{var it=function includes($,tt,et){return"number"!=typeof et&&(et=0),!(et+tt.length>$.length)&&-1!==$.indexOf(tt,et)}($,".")?"property":"argument";nt='The "'.concat($,'" ').concat(it," ").concat(At," ").concat(oneOf(tt,"type"))}return nt+=". Received type ".concat(typeof et)}),TypeError),createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),createErrorType("ERR_METHOD_NOT_IMPLEMENTED",(function($){return"The "+$+" method is not implemented"})),createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close"),createErrorType("ERR_STREAM_DESTROYED",(function($){return"Cannot call "+$+" after a stream was destroyed"})),createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),createErrorType("ERR_UNKNOWN_ENCODING",(function($){return"Unknown encoding: "+$}),TypeError),createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),$.exports.codes=At},function($,tt,et){"use strict";(function(tt){var At=Object.keys||function($){var tt=[];for(var et in $)tt.push(et);return tt};$.exports=Duplex;var nt=et(319),it=et(323);et(164)(Duplex,nt);for(var at=At(it.prototype),rt=0;rt<at.length;rt++){var st=at[rt];Duplex.prototype[st]||(Duplex.prototype[st]=it.prototype[st])}function Duplex($){if(!(this instanceof Duplex))return new Duplex($);nt.call(this,$),it.call(this,$),this.allowHalfOpen=!0,$&&(!1===$.readable&&(this.readable=!1),!1===$.writable&&(this.writable=!1),!1===$.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",onend)))}function onend(){this._writableState.ended||tt.nextTick(onEndNT,this)}function onEndNT($){$.end()}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}}),Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function get(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function set($){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=$,this._writableState.destroyed=$)}})}).call(this,et(172))},,,,,function($,tt){const CustomLogFunc=($,tt)=>"object"==typeof tt&&"function"==typeof tt[$]?tt[$]:null;$.exports={LogMessage:($,tt,et=!1)=>{if(!$.debug)return;const At=CustomLogFunc("log",$.debugOptions),nt=CustomLogFunc("error",$.debugOptions),it=`(elv-client-js#${$.constructor.name})`,at=`\n${it} ${($=>"object"==typeof $?JSON.stringify($):$)(tt)}\n`;et?nt?nt(it,tt):console.error(at):At?At(it,tt):console.log(at)}}},,,,function($,tt,et){(function(tt){$.exports=function xor($,et){for(var At=Math.min($.length,et.length),nt=new tt(At),it=0;it<At;++it)nt[it]=$[it]^et[it];return nt}}).call(this,et(170).Buffer)},function($,tt,et){"use strict";var At=et(182),nt=et(177);function BlockHash(){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}tt.BlockHash=BlockHash,BlockHash.prototype.update=function update($,tt){if($=At.toArray($,tt),this.pending?this.pending=this.pending.concat($):this.pending=$,this.pendingTotal+=$.length,this.pending.length>=this._delta8){var et=($=this.pending).length%this._delta8;this.pending=$.slice($.length-et,$.length),0===this.pending.length&&(this.pending=null),$=At.join32($,0,$.length-et,this.endian);for(var nt=0;nt<$.length;nt+=this._delta32)this._update($,nt,nt+this._delta32)}return this},BlockHash.prototype.digest=function digest($){return this.update(this._pad()),nt(null===this.pending),this._digest($)},BlockHash.prototype._pad=function pad(){var $=this.pendingTotal,tt=this._delta8,et=tt-($+this.padLength)%tt,At=new Array(et+this.padLength);At[0]=128;for(var nt=1;nt<et;nt++)At[nt]=0;if($<<=3,"big"===this.endian){for(var it=8;it<this.padLength;it++)At[nt++]=0;At[nt++]=0,At[nt++]=0,At[nt++]=0,At[nt++]=0,At[nt++]=$>>>24&255,At[nt++]=$>>>16&255,At[nt++]=$>>>8&255,At[nt++]=255&$}else for(At[nt++]=255&$,At[nt++]=$>>>8&255,At[nt++]=$>>>16&255,At[nt++]=$>>>24&255,At[nt++]=0,At[nt++]=0,At[nt++]=0,At[nt++]=0,it=8;it<this.padLength;it++)At[nt++]=0;return At}},function($,tt,et){var At=tt;At.bignum=et(179),At.define=et(438).define,At.base=et(211),At.constants=et(307),At.decoders=et(443),At.encoders=et(445)},function($,tt,et){var At=tt;At.Reporter=et(440).Reporter,At.DecoderBuffer=et(306).DecoderBuffer,At.EncoderBuffer=et(306).EncoderBuffer,At.Node=et(441)},,,,,,,,function($,tt,et){var At=et(168).Buffer;function asUInt32Array($){At.isBuffer($)||($=At.from($));for(var tt=$.length/4|0,et=new Array(tt),nt=0;nt<tt;nt++)et[nt]=$.readUInt32BE(4*nt);return et}function scrubVec($){for(;0<$.length;$++)$[0]=0}function cryptBlock($,tt,et,At,nt){for(var it,at,rt,st,ot=et[0],ut=et[1],ct=et[2],dt=et[3],It=$[0]^tt[0],ht=$[1]^tt[1],pt=$[2]^tt[2],yt=$[3]^tt[3],Ct=4,Bt=1;Bt<nt;Bt++)it=ot[It>>>24]^ut[ht>>>16&255]^ct[pt>>>8&255]^dt[255&yt]^tt[Ct++],at=ot[ht>>>24]^ut[pt>>>16&255]^ct[yt>>>8&255]^dt[255&It]^tt[Ct++],rt=ot[pt>>>24]^ut[yt>>>16&255]^ct[It>>>8&255]^dt[255&ht]^tt[Ct++],st=ot[yt>>>24]^ut[It>>>16&255]^ct[ht>>>8&255]^dt[255&pt]^tt[Ct++],It=it,ht=at,pt=rt,yt=st;return it=(At[It>>>24]<<24|At[ht>>>16&255]<<16|At[pt>>>8&255]<<8|At[255&yt])^tt[Ct++],at=(At[ht>>>24]<<24|At[pt>>>16&255]<<16|At[yt>>>8&255]<<8|At[255&It])^tt[Ct++],rt=(At[pt>>>24]<<24|At[yt>>>16&255]<<16|At[It>>>8&255]<<8|At[255&ht])^tt[Ct++],st=(At[yt>>>24]<<24|At[It>>>16&255]<<16|At[ht>>>8&255]<<8|At[255&pt])^tt[Ct++],[it>>>=0,at>>>=0,rt>>>=0,st>>>=0]}var nt=[0,1,2,4,8,16,32,64,128,27,54],it=function(){for(var $=new Array(256),tt=0;tt<256;tt++)$[tt]=tt<128?tt<<1:tt<<1^283;for(var et=[],At=[],nt=[[],[],[],[]],it=[[],[],[],[]],at=0,rt=0,st=0;st<256;++st){var ot=rt^rt<<1^rt<<2^rt<<3^rt<<4;ot=ot>>>8^255&ot^99,et[at]=ot,At[ot]=at;var ut=$[at],ct=$[ut],dt=$[ct],It=257*$[ot]^16843008*ot;nt[0][at]=It<<24|It>>>8,nt[1][at]=It<<16|It>>>16,nt[2][at]=It<<8|It>>>24,nt[3][at]=It,It=16843009*dt^65537*ct^257*ut^16843008*at,it[0][ot]=It<<24|It>>>8,it[1][ot]=It<<16|It>>>16,it[2][ot]=It<<8|It>>>24,it[3][ot]=It,0===at?at=rt=1:(at=ut^$[$[$[dt^ut]]],rt^=$[$[rt]])}return{SBOX:et,INV_SBOX:At,SUB_MIX:nt,INV_SUB_MIX:it}}();function AES($){this._key=asUInt32Array($),this._reset()}AES.blockSize=16,AES.keySize=32,AES.prototype.blockSize=AES.blockSize,AES.prototype.keySize=AES.keySize,AES.prototype._reset=function(){for(var $=this._key,tt=$.length,et=tt+6,At=4*(et+1),at=[],rt=0;rt<tt;rt++)at[rt]=$[rt];for(rt=tt;rt<At;rt++){var st=at[rt-1];rt%tt==0?(st=st<<8|st>>>24,st=it.SBOX[st>>>24]<<24|it.SBOX[st>>>16&255]<<16|it.SBOX[st>>>8&255]<<8|it.SBOX[255&st],st^=nt[rt/tt|0]<<24):tt>6&&rt%tt==4&&(st=it.SBOX[st>>>24]<<24|it.SBOX[st>>>16&255]<<16|it.SBOX[st>>>8&255]<<8|it.SBOX[255&st]),at[rt]=at[rt-tt]^st}for(var ot=[],ut=0;ut<At;ut++){var ct=At-ut,dt=at[ct-(ut%4?0:4)];ot[ut]=ut<4||ct<=4?dt:it.INV_SUB_MIX[0][it.SBOX[dt>>>24]]^it.INV_SUB_MIX[1][it.SBOX[dt>>>16&255]]^it.INV_SUB_MIX[2][it.SBOX[dt>>>8&255]]^it.INV_SUB_MIX[3][it.SBOX[255&dt]]}this._nRounds=et,this._keySchedule=at,this._invKeySchedule=ot},AES.prototype.encryptBlockRaw=function($){return cryptBlock($=asUInt32Array($),this._keySchedule,it.SUB_MIX,it.SBOX,this._nRounds)},AES.prototype.encryptBlock=function($){var tt=this.encryptBlockRaw($),et=At.allocUnsafe(16);return et.writeUInt32BE(tt[0],0),et.writeUInt32BE(tt[1],4),et.writeUInt32BE(tt[2],8),et.writeUInt32BE(tt[3],12),et},AES.prototype.decryptBlock=function($){var tt=($=asUInt32Array($))[1];$[1]=$[3],$[3]=tt;var et=cryptBlock($,this._invKeySchedule,it.INV_SUB_MIX,it.INV_SBOX,this._nRounds),nt=At.allocUnsafe(16);return nt.writeUInt32BE(et[0],0),nt.writeUInt32BE(et[3],4),nt.writeUInt32BE(et[2],8),nt.writeUInt32BE(et[1],12),nt},AES.prototype.scrub=function(){scrubVec(this._keySchedule),scrubVec(this._invKeySchedule),scrubVec(this._key)},$.exports.AES=AES},function($,tt,et){var At=et(168).Buffer,nt=et(233);$.exports=function EVP_BytesToKey($,tt,et,it){if(At.isBuffer($)||($=At.from($,"binary")),tt&&(At.isBuffer(tt)||(tt=At.from(tt,"binary")),8!==tt.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var at=et/8,rt=At.alloc(at),st=At.alloc(it||0),ot=At.alloc(0);at>0||it>0;){var ut=new nt;ut.update(ot),ut.update($),tt&&ut.update(tt),ot=ut.digest();var ct=0;if(at>0){var dt=rt.length-at;ct=Math.min(at,ot.length),ot.copy(rt,dt,0,ct),at-=ct}if(ct<ot.length&&it>0){var It=st.length-it,ht=Math.min(it,ot.length-ct);ot.copy(st,It,ct,ct+ht),it-=ht}}return ot.fill(0),{key:rt,iv:st}}},function($,tt,et){"use strict";var At=et(186),nt=et(178),it=nt.getNAF,at=nt.getJSF,rt=nt.assert;function BaseCurve($,tt){this.type=$,this.p=new At(tt.p,16),this.red=tt.prime?At.red(tt.prime):At.mont(this.p),this.zero=new At(0).toRed(this.red),this.one=new At(1).toRed(this.red),this.two=new At(2).toRed(this.red),this.n=tt.n&&new At(tt.n,16),this.g=tt.g&&this.pointFromJSON(tt.g,tt.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 et=this.n&&this.p.div(this.n);!et||et.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function BasePoint($,tt){this.curve=$,this.type=tt,this.precomputed=null}$.exports=BaseCurve,BaseCurve.prototype.point=function point(){throw new Error("Not implemented")},BaseCurve.prototype.validate=function validate(){throw new Error("Not implemented")},BaseCurve.prototype._fixedNafMul=function _fixedNafMul($,tt){rt($.precomputed);var et=$._getDoubles(),At=it(tt,1,this._bitLength),nt=(1<<et.step+1)-(et.step%2==0?2:1);nt/=3;var at,st,ot=[];for(at=0;at<At.length;at+=et.step){st=0;for(var ut=at+et.step-1;ut>=at;ut--)st=(st<<1)+At[ut];ot.push(st)}for(var ct=this.jpoint(null,null,null),dt=this.jpoint(null,null,null),It=nt;It>0;It--){for(at=0;at<ot.length;at++)(st=ot[at])===It?dt=dt.mixedAdd(et.points[at]):st===-It&&(dt=dt.mixedAdd(et.points[at].neg()));ct=ct.add(dt)}return ct.toP()},BaseCurve.prototype._wnafMul=function _wnafMul($,tt){var et=4,At=$._getNAFPoints(et);et=At.wnd;for(var nt=At.points,at=it(tt,et,this._bitLength),st=this.jpoint(null,null,null),ot=at.length-1;ot>=0;ot--){for(var ut=0;ot>=0&&0===at[ot];ot--)ut++;if(ot>=0&&ut++,st=st.dblp(ut),ot<0)break;var ct=at[ot];rt(0!==ct),st="affine"===$.type?ct>0?st.mixedAdd(nt[ct-1>>1]):st.mixedAdd(nt[-ct-1>>1].neg()):ct>0?st.add(nt[ct-1>>1]):st.add(nt[-ct-1>>1].neg())}return"affine"===$.type?st.toP():st},BaseCurve.prototype._wnafMulAdd=function _wnafMulAdd($,tt,et,At,nt){var rt,st,ot,ut=this._wnafT1,ct=this._wnafT2,dt=this._wnafT3,It=0;for(rt=0;rt<At;rt++){var ht=(ot=tt[rt])._getNAFPoints($);ut[rt]=ht.wnd,ct[rt]=ht.points}for(rt=At-1;rt>=1;rt-=2){var pt=rt-1,yt=rt;if(1===ut[pt]&&1===ut[yt]){var Ct=[tt[pt],null,null,tt[yt]];0===tt[pt].y.cmp(tt[yt].y)?(Ct[1]=tt[pt].add(tt[yt]),Ct[2]=tt[pt].toJ().mixedAdd(tt[yt].neg())):0===tt[pt].y.cmp(tt[yt].y.redNeg())?(Ct[1]=tt[pt].toJ().mixedAdd(tt[yt]),Ct[2]=tt[pt].add(tt[yt].neg())):(Ct[1]=tt[pt].toJ().mixedAdd(tt[yt]),Ct[2]=tt[pt].toJ().mixedAdd(tt[yt].neg()));var Bt=[-3,-1,-5,-7,0,7,5,1,3],Et=at(et[pt],et[yt]);for(It=Math.max(Et[0].length,It),dt[pt]=new Array(It),dt[yt]=new Array(It),st=0;st<It;st++){var mt=0|Et[0][st],Qt=0|Et[1][st];dt[pt][st]=Bt[3*(mt+1)+(Qt+1)],dt[yt][st]=0,ct[pt]=Ct}}else dt[pt]=it(et[pt],ut[pt],this._bitLength),dt[yt]=it(et[yt],ut[yt],this._bitLength),It=Math.max(dt[pt].length,It),It=Math.max(dt[yt].length,It)}var bt=this.jpoint(null,null,null),wt=this._wnafT4;for(rt=It;rt>=0;rt--){for(var vt=0;rt>=0;){var Mt=!0;for(st=0;st<At;st++)wt[st]=0|dt[st][rt],0!==wt[st]&&(Mt=!1);if(!Mt)break;vt++,rt--}if(rt>=0&&vt++,bt=bt.dblp(vt),rt<0)break;for(st=0;st<At;st++){var Dt=wt[st];0!==Dt&&(Dt>0?ot=ct[st][Dt-1>>1]:Dt<0&&(ot=ct[st][-Dt-1>>1].neg()),bt="affine"===ot.type?bt.mixedAdd(ot):bt.add(ot))}}for(rt=0;rt<At;rt++)ct[rt]=null;return nt?bt:bt.toP()},BaseCurve.BasePoint=BasePoint,BasePoint.prototype.eq=function eq(){throw new Error("Not implemented")},BasePoint.prototype.validate=function validate(){return this.curve.validate(this)},BaseCurve.prototype.decodePoint=function decodePoint($,tt){$=nt.toArray($,tt);var et=this.p.byteLength();if((4===$[0]||6===$[0]||7===$[0])&&$.length-1==2*et)return 6===$[0]?rt($[$.length-1]%2==0):7===$[0]&&rt($[$.length-1]%2==1),this.point($.slice(1,1+et),$.slice(1+et,1+2*et));if((2===$[0]||3===$[0])&&$.length-1===et)return this.pointFromX($.slice(1,1+et),3===$[0]);throw new Error("Unknown point format")},BasePoint.prototype.encodeCompressed=function encodeCompressed($){return this.encode($,!0)},BasePoint.prototype._encode=function _encode($){var tt=this.curve.p.byteLength(),et=this.getX().toArray("be",tt);return $?[this.getY().isEven()?2:3].concat(et):[4].concat(et,this.getY().toArray("be",tt))},BasePoint.prototype.encode=function encode($,tt){return nt.encode(this._encode(tt),$)},BasePoint.prototype.precompute=function precompute($){if(this.precomputed)return this;var tt={doubles:null,naf:null,beta:null};return tt.naf=this._getNAFPoints(8),tt.doubles=this._getDoubles(4,$),tt.beta=this._getBeta(),this.precomputed=tt,this},BasePoint.prototype._hasDoubles=function _hasDoubles($){if(!this.precomputed)return!1;var tt=this.precomputed.doubles;return!!tt&&tt.points.length>=Math.ceil(($.bitLength()+1)/tt.step)},BasePoint.prototype._getDoubles=function _getDoubles($,tt){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var et=[this],At=this,nt=0;nt<tt;nt+=$){for(var it=0;it<$;it++)At=At.dbl();et.push(At)}return{step:$,points:et}},BasePoint.prototype._getNAFPoints=function _getNAFPoints($){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var tt=[this],et=(1<<$)-1,At=1===et?null:this.dbl(),nt=1;nt<et;nt++)tt[nt]=tt[nt-1].add(At);return{wnd:$,points:tt}},BasePoint.prototype._getBeta=function _getBeta(){return null},BasePoint.prototype.dblp=function dblp($){for(var tt=this,et=0;et<$;et++)tt=tt.dbl();return tt}},function($,tt,et){var At=et(437),nt=et(448),it=et(449),at=et(239),rt=et(237),st=et(168).Buffer;function parseKeys($){var tt;"object"!=typeof $||st.isBuffer($)||(tt=$.passphrase,$=$.key),"string"==typeof $&&($=st.from($));var et,ot,ut=it($,tt),ct=ut.tag,dt=ut.data;switch(ct){case"CERTIFICATE":ot=At.certificate.decode(dt,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(ot||(ot=At.PublicKey.decode(dt,"der")),et=ot.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return At.RSAPublicKey.decode(ot.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return ot.subjectPrivateKey=ot.subjectPublicKey,{type:"ec",data:ot};case"1.2.840.10040.4.1":return ot.algorithm.params.pub_key=At.DSAparam.decode(ot.subjectPublicKey.data,"der"),{type:"dsa",data:ot.algorithm.params};default:throw new Error("unknown key id "+et)}throw new Error("unknown key type "+ct);case"ENCRYPTED PRIVATE KEY":dt=function decrypt($,tt){var et=$.algorithm.decrypt.kde.kdeparams.salt,At=parseInt($.algorithm.decrypt.kde.kdeparams.iters.toString(),10),it=nt[$.algorithm.decrypt.cipher.algo.join(".")],ot=$.algorithm.decrypt.cipher.iv,ut=$.subjectPrivateKey,ct=parseInt(it.split("-")[1],10)/8,dt=rt.pbkdf2Sync(tt,et,At,ct,"sha1"),It=at.createDecipheriv(it,dt,ot),ht=[];return ht.push(It.update(ut)),ht.push(It.final()),st.concat(ht)}(dt=At.EncryptedPrivateKey.decode(dt,"der"),tt);case"PRIVATE KEY":switch(et=(ot=At.PrivateKey.decode(dt,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return At.RSAPrivateKey.decode(ot.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:ot.algorithm.curve,privateKey:At.ECPrivateKey.decode(ot.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return ot.algorithm.params.priv_key=At.DSAparam.decode(ot.subjectPrivateKey,"der"),{type:"dsa",params:ot.algorithm.params};default:throw new Error("unknown key id "+et)}throw new Error("unknown key type "+ct);case"RSA PUBLIC KEY":return At.RSAPublicKey.decode(dt,"der");case"RSA PRIVATE KEY":return At.RSAPrivateKey.decode(dt,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:At.DSAPrivateKey.decode(dt,"der")};case"EC PRIVATE KEY":return{curve:(dt=At.ECPrivateKey.decode(dt,"der")).parameters.value,privateKey:dt.privateKey};default:throw new Error("unknown key type "+ct)}}$.exports=parseKeys,parseKeys.signature=At.signature},,,,,,function($,tt,et){var At,nt,it;
|
|
2
|
+
/*!
|
|
3
|
+
* URI.js - Mutating URLs
|
|
4
|
+
*
|
|
5
|
+
* Version: 1.19.7
|
|
6
|
+
*
|
|
7
|
+
* Author: Rodney Rehm
|
|
8
|
+
* Web: http://medialize.github.io/URI.js/
|
|
9
|
+
*
|
|
10
|
+
* Licensed under
|
|
11
|
+
* MIT License http://www.opensource.org/licenses/mit-license
|
|
12
|
+
*
|
|
13
|
+
*/!function(at,rt){"use strict";$.exports?$.exports=rt(et(266),et(267),et(268)):(nt=[et(266),et(267),et(268)],void 0===(it="function"==typeof(At=rt)?At.apply(tt,nt):At)||($.exports=it))}(0,(function($,tt,et,At){"use strict";var nt=At&&At.URI;function URI($,tt){var et=arguments.length>=1,At=arguments.length>=2;if(!(this instanceof URI))return et?At?new URI($,tt):new URI($):new URI;if(void 0===$){if(et)throw new TypeError("undefined is not a valid argument for URI");$="undefined"!=typeof location?location.href+"":""}if(null===$&&et)throw new TypeError("null is not a valid argument for URI");return this.href($),void 0!==tt?this.absoluteTo(tt):this}URI.version="1.19.7";var it=URI.prototype,at=Object.prototype.hasOwnProperty;function escapeRegEx($){return $.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function getType($){return void 0===$?"Undefined":String(Object.prototype.toString.call($)).slice(8,-1)}function isArray($){return"Array"===getType($)}function filterArrayValues($,tt){var et,At,nt={};if("RegExp"===getType(tt))nt=null;else if(isArray(tt))for(et=0,At=tt.length;et<At;et++)nt[tt[et]]=!0;else nt[tt]=!0;for(et=0,At=$.length;et<At;et++){(nt&&void 0!==nt[$[et]]||!nt&&tt.test($[et]))&&($.splice(et,1),At--,et--)}return $}function arrayContains($,tt){var et,At;if(isArray(tt)){for(et=0,At=tt.length;et<At;et++)if(!arrayContains($,tt[et]))return!1;return!0}var nt=getType(tt);for(et=0,At=$.length;et<At;et++)if("RegExp"===nt){if("string"==typeof $[et]&&$[et].match(tt))return!0}else if($[et]===tt)return!0;return!1}function arraysEqual($,tt){if(!isArray($)||!isArray(tt))return!1;if($.length!==tt.length)return!1;$.sort(),tt.sort();for(var et=0,At=$.length;et<At;et++)if($[et]!==tt[et])return!1;return!0}function trimSlashes($){return $.replace(/^\/+|\/+$/g,"")}function escapeForDumbFirefox36($){return escape($)}function strictEncodeURIComponent($){return encodeURIComponent($).replace(/[!'()*]/g,escapeForDumbFirefox36).replace(/\*/g,"%2A")}URI._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:URI.preventInvalidHostname,duplicateQueryParameters:URI.duplicateQueryParameters,escapeQuerySpace:URI.escapeQuerySpace}},URI.preventInvalidHostname=!1,URI.duplicateQueryParameters=!1,URI.escapeQuerySpace=!0,URI.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,URI.idn_expression=/[^a-z0-9\._-]/i,URI.punycode_expression=/(xn--)/i,URI.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,URI.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,URI.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi,URI.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},URI.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},URI.hostProtocols=["http","https"],URI.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,URI.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},URI.getDomAttribute=function($){if($&&$.nodeName){var tt=$.nodeName.toLowerCase();if("input"!==tt||"image"===$.type)return URI.domAttributes[tt]}},URI.encode=strictEncodeURIComponent,URI.decode=decodeURIComponent,URI.iso8859=function(){URI.encode=escape,URI.decode=unescape},URI.unicode=function(){URI.encode=strictEncodeURIComponent,URI.decode=decodeURIComponent},URI.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/gi,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},URI.encodeQuery=function($,tt){var et=URI.encode($+"");return void 0===tt&&(tt=URI.escapeQuerySpace),tt?et.replace(/%20/g,"+"):et},URI.decodeQuery=function($,tt){$+="",void 0===tt&&(tt=URI.escapeQuerySpace);try{return URI.decode(tt?$.replace(/\+/g,"%20"):$)}catch(tt){return $}};var rt,st={encode:"encode",decode:"decode"},generateAccessor=function($,tt){return function(et){try{return URI[tt](et+"").replace(URI.characters[$][tt].expression,(function(et){return URI.characters[$][tt].map[et]}))}catch($){return et}}};for(rt in st)URI[rt+"PathSegment"]=generateAccessor("pathname",st[rt]),URI[rt+"UrnPathSegment"]=generateAccessor("urnpath",st[rt]);var generateSegmentedPathFunction=function($,tt,et){return function(At){var nt;nt=et?function($){return URI[tt](URI[et]($))}:URI[tt];for(var it=(At+"").split($),at=0,rt=it.length;at<rt;at++)it[at]=nt(it[at]);return it.join($)}};function generateSimpleAccessor($){return function(tt,et){return void 0===tt?this._parts[$]||"":(this._parts[$]=tt||null,this.build(!et),this)}}function generatePrefixAccessor($,tt){return function(et,At){return void 0===et?this._parts[$]||"":(null!==et&&(et+="").charAt(0)===tt&&(et=et.substring(1)),this._parts[$]=et,this.build(!At),this)}}URI.decodePath=generateSegmentedPathFunction("/","decodePathSegment"),URI.decodeUrnPath=generateSegmentedPathFunction(":","decodeUrnPathSegment"),URI.recodePath=generateSegmentedPathFunction("/","encodePathSegment","decode"),URI.recodeUrnPath=generateSegmentedPathFunction(":","encodeUrnPathSegment","decode"),URI.encodeReserved=generateAccessor("reserved","encode"),URI.parse=function($,tt){var et;return tt||(tt={preventInvalidHostname:URI.preventInvalidHostname}),(et=$.indexOf("#"))>-1&&(tt.fragment=$.substring(et+1)||null,$=$.substring(0,et)),(et=$.indexOf("?"))>-1&&(tt.query=$.substring(et+1)||null,$=$.substring(0,et)),"//"===($=$.replace(/^(https?|ftp|wss?)?:[/\\]*/,"$1://")).substring(0,2)?(tt.protocol=null,$=$.substring(2),$=URI.parseAuthority($,tt)):(et=$.indexOf(":"))>-1&&(tt.protocol=$.substring(0,et)||null,tt.protocol&&!tt.protocol.match(URI.protocol_expression)?tt.protocol=void 0:"//"===$.substring(et+1,et+3).replace(/\\/g,"/")?($=$.substring(et+3),$=URI.parseAuthority($,tt)):($=$.substring(et+1),tt.urn=!0)),tt.path=$,tt},URI.parseHost=function($,tt){$||($="");var et,At,nt=($=$.replace(/\\/g,"/")).indexOf("/");if(-1===nt&&(nt=$.length),"["===$.charAt(0))et=$.indexOf("]"),tt.hostname=$.substring(1,et)||null,tt.port=$.substring(et+2,nt)||null,"/"===tt.port&&(tt.port=null);else{var it=$.indexOf(":"),at=$.indexOf("/"),rt=$.indexOf(":",it+1);-1!==rt&&(-1===at||rt<at)?(tt.hostname=$.substring(0,nt)||null,tt.port=null):(At=$.substring(0,nt).split(":"),tt.hostname=At[0]||null,tt.port=At[1]||null)}return tt.hostname&&"/"!==$.substring(nt).charAt(0)&&(nt++,$="/"+$),tt.preventInvalidHostname&&URI.ensureValidHostname(tt.hostname,tt.protocol),tt.port&&URI.ensureValidPort(tt.port),$.substring(nt)||"/"},URI.parseAuthority=function($,tt){return $=URI.parseUserinfo($,tt),URI.parseHost($,tt)},URI.parseUserinfo=function($,tt){var et=$;-1!==$.indexOf("\\")&&($=$.replace(/\\/g,"/"));var At,nt=$.indexOf("/"),it=$.lastIndexOf("@",nt>-1?nt:$.length-1);return it>-1&&(-1===nt||it<nt)?(At=$.substring(0,it).split(":"),tt.username=At[0]?URI.decode(At[0]):null,At.shift(),tt.password=At[0]?URI.decode(At.join(":")):null,$=et.substring(it+1)):(tt.username=null,tt.password=null),$},URI.parseQuery=function($,tt){if(!$)return{};if(!($=$.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,"")))return{};for(var et,At,nt,it={},rt=$.split("&"),st=rt.length,ot=0;ot<st;ot++)et=rt[ot].split("="),At=URI.decodeQuery(et.shift(),tt),nt=et.length?URI.decodeQuery(et.join("="),tt):null,"__proto__"!==At&&(at.call(it,At)?("string"!=typeof it[At]&&null!==it[At]||(it[At]=[it[At]]),it[At].push(nt)):it[At]=nt);return it},URI.build=function($){var tt="",et=!1;return $.protocol&&(tt+=$.protocol+":"),$.urn||!tt&&!$.hostname||(tt+="//",et=!0),tt+=URI.buildAuthority($)||"","string"==typeof $.path&&("/"!==$.path.charAt(0)&&et&&(tt+="/"),tt+=$.path),"string"==typeof $.query&&$.query&&(tt+="?"+$.query),"string"==typeof $.fragment&&$.fragment&&(tt+="#"+$.fragment),tt},URI.buildHost=function($){var tt="";return $.hostname?(URI.ip6_expression.test($.hostname)?tt+="["+$.hostname+"]":tt+=$.hostname,$.port&&(tt+=":"+$.port),tt):""},URI.buildAuthority=function($){return URI.buildUserinfo($)+URI.buildHost($)},URI.buildUserinfo=function($){var tt="";return $.username&&(tt+=URI.encode($.username)),$.password&&(tt+=":"+URI.encode($.password)),tt&&(tt+="@"),tt},URI.buildQuery=function($,tt,et){var At,nt,it,rt,st="";for(nt in $)if("__proto__"!==nt&&at.call($,nt))if(isArray($[nt]))for(At={},it=0,rt=$[nt].length;it<rt;it++)void 0!==$[nt][it]&&void 0===At[$[nt][it]+""]&&(st+="&"+URI.buildQueryParameter(nt,$[nt][it],et),!0!==tt&&(At[$[nt][it]+""]=!0));else void 0!==$[nt]&&(st+="&"+URI.buildQueryParameter(nt,$[nt],et));return st.substring(1)},URI.buildQueryParameter=function($,tt,et){return URI.encodeQuery($,et)+(null!==tt?"="+URI.encodeQuery(tt,et):"")},URI.addQuery=function($,tt,et){if("object"==typeof tt)for(var At in tt)at.call(tt,At)&&URI.addQuery($,At,tt[At]);else{if("string"!=typeof tt)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");if(void 0===$[tt])return void($[tt]=et);"string"==typeof $[tt]&&($[tt]=[$[tt]]),isArray(et)||(et=[et]),$[tt]=($[tt]||[]).concat(et)}},URI.setQuery=function($,tt,et){if("object"==typeof tt)for(var At in tt)at.call(tt,At)&&URI.setQuery($,At,tt[At]);else{if("string"!=typeof tt)throw new TypeError("URI.setQuery() accepts an object, string as the name parameter");$[tt]=void 0===et?null:et}},URI.removeQuery=function($,tt,et){var At,nt,it;if(isArray(tt))for(At=0,nt=tt.length;At<nt;At++)$[tt[At]]=void 0;else if("RegExp"===getType(tt))for(it in $)tt.test(it)&&($[it]=void 0);else if("object"==typeof tt)for(it in tt)at.call(tt,it)&&URI.removeQuery($,it,tt[it]);else{if("string"!=typeof tt)throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter");void 0!==et?"RegExp"===getType(et)?!isArray($[tt])&&et.test($[tt])?$[tt]=void 0:$[tt]=filterArrayValues($[tt],et):$[tt]!==String(et)||isArray(et)&&1!==et.length?isArray($[tt])&&($[tt]=filterArrayValues($[tt],et)):$[tt]=void 0:$[tt]=void 0}},URI.hasQuery=function($,tt,et,At){switch(getType(tt)){case"String":break;case"RegExp":for(var nt in $)if(at.call($,nt)&&tt.test(nt)&&(void 0===et||URI.hasQuery($,nt,et)))return!0;return!1;case"Object":for(var it in tt)if(at.call(tt,it)&&!URI.hasQuery($,it,tt[it]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(getType(et)){case"Undefined":return tt in $;case"Boolean":return et===Boolean(isArray($[tt])?$[tt].length:$[tt]);case"Function":return!!et($[tt],tt,$);case"Array":return!!isArray($[tt])&&(At?arrayContains:arraysEqual)($[tt],et);case"RegExp":return isArray($[tt])?!!At&&arrayContains($[tt],et):Boolean($[tt]&&$[tt].match(et));case"Number":et=String(et);case"String":return isArray($[tt])?!!At&&arrayContains($[tt],et):$[tt]===et;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},URI.joinPaths=function(){for(var $=[],tt=[],et=0,At=0;At<arguments.length;At++){var nt=new URI(arguments[At]);$.push(nt);for(var it=nt.segment(),at=0;at<it.length;at++)"string"==typeof it[at]&&tt.push(it[at]),it[at]&&et++}if(!tt.length||!et)return new URI("");var rt=new URI("").segment(tt);return""!==$[0].path()&&"/"!==$[0].path().slice(0,1)||rt.path("/"+rt.path()),rt.normalize()},URI.commonPath=function($,tt){var et,At=Math.min($.length,tt.length);for(et=0;et<At;et++)if($.charAt(et)!==tt.charAt(et)){et--;break}return et<1?$.charAt(0)===tt.charAt(0)&&"/"===$.charAt(0)?"/":"":("/"===$.charAt(et)&&"/"===tt.charAt(et)||(et=$.substring(0,et).lastIndexOf("/")),$.substring(0,et+1))},URI.withinString=function($,tt,et){et||(et={});var At=et.start||URI.findUri.start,nt=et.end||URI.findUri.end,it=et.trim||URI.findUri.trim,at=et.parens||URI.findUri.parens,rt=/[a-z0-9-]=["']?$/i;for(At.lastIndex=0;;){var st=At.exec($);if(!st)break;var ot=st.index;if(et.ignoreHtml){var ut=$.slice(Math.max(ot-3,0),ot);if(ut&&rt.test(ut))continue}for(var ct=ot+$.slice(ot).search(nt),dt=$.slice(ot,ct),It=-1;;){var ht=at.exec(dt);if(!ht)break;var pt=ht.index+ht[0].length;It=Math.max(It,pt)}if(!((dt=It>-1?dt.slice(0,It)+dt.slice(It).replace(it,""):dt.replace(it,"")).length<=st[0].length||et.ignore&&et.ignore.test(dt))){var yt=tt(dt,ot,ct=ot+dt.length,$);void 0!==yt?(yt=String(yt),$=$.slice(0,ot)+yt+$.slice(ct),At.lastIndex=ot+yt.length):At.lastIndex=ct}}return At.lastIndex=0,$},URI.ensureValidHostname=function(tt,et){var At=!!tt,nt=!1;if(!!et&&(nt=arrayContains(URI.hostProtocols,et)),nt&&!At)throw new TypeError("Hostname cannot be empty, if protocol is "+et);if(tt&&tt.match(URI.invalid_hostname_characters)){if(!$)throw new TypeError('Hostname "'+tt+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if($.toASCII(tt).match(URI.invalid_hostname_characters))throw new TypeError('Hostname "'+tt+'" contains characters other than [A-Z0-9.-:_]')}},URI.ensureValidPort=function($){if($){var tt=Number($);if(!(function isInteger($){return/^[0-9]+$/.test($)}(tt)&&tt>0&&tt<65536))throw new TypeError('Port "'+$+'" is not a valid port')}},URI.noConflict=function($){if($){var tt={URI:this.noConflict()};return At.URITemplate&&"function"==typeof At.URITemplate.noConflict&&(tt.URITemplate=At.URITemplate.noConflict()),At.IPv6&&"function"==typeof At.IPv6.noConflict&&(tt.IPv6=At.IPv6.noConflict()),At.SecondLevelDomains&&"function"==typeof At.SecondLevelDomains.noConflict&&(tt.SecondLevelDomains=At.SecondLevelDomains.noConflict()),tt}return At.URI===this&&(At.URI=nt),this},it.build=function($){return!0===$?this._deferred_build=!0:(void 0===$||this._deferred_build)&&(this._string=URI.build(this._parts),this._deferred_build=!1),this},it.clone=function(){return new URI(this)},it.valueOf=it.toString=function(){return this.build(!1)._string},it.protocol=generateSimpleAccessor("protocol"),it.username=generateSimpleAccessor("username"),it.password=generateSimpleAccessor("password"),it.hostname=generateSimpleAccessor("hostname"),it.port=generateSimpleAccessor("port"),it.query=generatePrefixAccessor("query","?"),it.fragment=generatePrefixAccessor("fragment","#"),it.search=function($,tt){var et=this.query($,tt);return"string"==typeof et&&et.length?"?"+et:et},it.hash=function($,tt){var et=this.fragment($,tt);return"string"==typeof et&&et.length?"#"+et:et},it.pathname=function($,tt){if(void 0===$||!0===$){var et=this._parts.path||(this._parts.hostname?"/":"");return $?(this._parts.urn?URI.decodeUrnPath:URI.decodePath)(et):et}return this._parts.urn?this._parts.path=$?URI.recodeUrnPath($):"":this._parts.path=$?URI.recodePath($):"/",this.build(!tt),this},it.path=it.pathname,it.href=function($,tt){var et;if(void 0===$)return this.toString();this._string="",this._parts=URI._parts();var At=$ instanceof URI,nt="object"==typeof $&&($.hostname||$.path||$.pathname);$.nodeName&&($=$[URI.getDomAttribute($)]||"",nt=!1);if(!At&&nt&&void 0!==$.pathname&&($=$.toString()),"string"==typeof $||$ instanceof String)this._parts=URI.parse(String($),this._parts);else{if(!At&&!nt)throw new TypeError("invalid input");var it=At?$._parts:$;for(et in it)"query"!==et&&at.call(this._parts,et)&&(this._parts[et]=it[et]);it.query&&this.query(it.query,!1)}return this.build(!tt),this},it.is=function($){var tt=!1,At=!1,nt=!1,it=!1,at=!1,rt=!1,st=!1,ot=!this._parts.urn;switch(this._parts.hostname&&(ot=!1,At=URI.ip4_expression.test(this._parts.hostname),nt=URI.ip6_expression.test(this._parts.hostname),at=(it=!(tt=At||nt))&&et&&et.has(this._parts.hostname),rt=it&&URI.idn_expression.test(this._parts.hostname),st=it&&URI.punycode_expression.test(this._parts.hostname)),$.toLowerCase()){case"relative":return ot;case"absolute":return!ot;case"domain":case"name":return it;case"sld":return at;case"ip":return tt;case"ip4":case"ipv4":case"inet4":return At;case"ip6":case"ipv6":case"inet6":return nt;case"idn":return rt;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return st}return null};var ot=it.protocol,ut=it.port,ct=it.hostname;it.protocol=function($,tt){if($&&!($=$.replace(/:(\/\/)?$/,"")).match(URI.protocol_expression))throw new TypeError('Protocol "'+$+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return ot.call(this,$,tt)},it.scheme=it.protocol,it.port=function($,tt){return this._parts.urn?void 0===$?"":this:(void 0!==$&&(0===$&&($=null),$&&(":"===($+="").charAt(0)&&($=$.substring(1)),URI.ensureValidPort($))),ut.call(this,$,tt))},it.hostname=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0!==$){var et={preventInvalidHostname:this._parts.preventInvalidHostname};if("/"!==URI.parseHost($,et))throw new TypeError('Hostname "'+$+'" contains characters other than [A-Z0-9.-]');$=et.hostname,this._parts.preventInvalidHostname&&URI.ensureValidHostname($,this._parts.protocol)}return ct.call(this,$,tt)},it.origin=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0===$){var et=this.protocol();return this.authority()?(et?et+"://":"")+this.authority():""}var At=URI($);return this.protocol(At.protocol()).authority(At.authority()).build(!tt),this},it.host=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0===$)return this._parts.hostname?URI.buildHost(this._parts):"";if("/"!==URI.parseHost($,this._parts))throw new TypeError('Hostname "'+$+'" contains characters other than [A-Z0-9.-]');return this.build(!tt),this},it.authority=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0===$)return this._parts.hostname?URI.buildAuthority(this._parts):"";if("/"!==URI.parseAuthority($,this._parts))throw new TypeError('Hostname "'+$+'" contains characters other than [A-Z0-9.-]');return this.build(!tt),this},it.userinfo=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0===$){var et=URI.buildUserinfo(this._parts);return et?et.substring(0,et.length-1):et}return"@"!==$[$.length-1]&&($+="@"),URI.parseUserinfo($,this._parts),this.build(!tt),this},it.resource=function($,tt){var et;return void 0===$?this.path()+this.search()+this.hash():(et=URI.parse($),this._parts.path=et.path,this._parts.query=et.query,this._parts.fragment=et.fragment,this.build(!tt),this)},it.subdomain=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0===$){if(!this._parts.hostname||this.is("IP"))return"";var et=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,et)||""}var At=this._parts.hostname.length-this.domain().length,nt=this._parts.hostname.substring(0,At),it=new RegExp("^"+escapeRegEx(nt));if($&&"."!==$.charAt($.length-1)&&($+="."),-1!==$.indexOf(":"))throw new TypeError("Domains cannot contain colons");return $&&URI.ensureValidHostname($,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(it,$),this.build(!tt),this},it.domain=function($,tt){if(this._parts.urn)return void 0===$?"":this;if("boolean"==typeof $&&(tt=$,$=void 0),void 0===$){if(!this._parts.hostname||this.is("IP"))return"";var et=this._parts.hostname.match(/\./g);if(et&&et.length<2)return this._parts.hostname;var At=this._parts.hostname.length-this.tld(tt).length-1;return At=this._parts.hostname.lastIndexOf(".",At-1)+1,this._parts.hostname.substring(At)||""}if(!$)throw new TypeError("cannot set domain empty");if(-1!==$.indexOf(":"))throw new TypeError("Domains cannot contain colons");if(URI.ensureValidHostname($,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=$;else{var nt=new RegExp(escapeRegEx(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(nt,$)}return this.build(!tt),this},it.tld=function($,tt){if(this._parts.urn)return void 0===$?"":this;if("boolean"==typeof $&&(tt=$,$=void 0),void 0===$){if(!this._parts.hostname||this.is("IP"))return"";var At=this._parts.hostname.lastIndexOf("."),nt=this._parts.hostname.substring(At+1);return!0!==tt&&et&&et.list[nt.toLowerCase()]&&et.get(this._parts.hostname)||nt}var it;if(!$)throw new TypeError("cannot set TLD empty");if($.match(/[^a-zA-Z0-9-]/)){if(!et||!et.is($))throw new TypeError('TLD "'+$+'" contains characters other than [A-Z0-9]');it=new RegExp(escapeRegEx(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(it,$)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");it=new RegExp(escapeRegEx(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(it,$)}return this.build(!tt),this},it.directory=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0===$||!0===$){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var et=this._parts.path.length-this.filename().length-1,At=this._parts.path.substring(0,et)||(this._parts.hostname?"/":"");return $?URI.decodePath(At):At}var nt=this._parts.path.length-this.filename().length,it=this._parts.path.substring(0,nt),at=new RegExp("^"+escapeRegEx(it));return this.is("relative")||($||($="/"),"/"!==$.charAt(0)&&($="/"+$)),$&&"/"!==$.charAt($.length-1)&&($+="/"),$=URI.recodePath($),this._parts.path=this._parts.path.replace(at,$),this.build(!tt),this},it.filename=function($,tt){if(this._parts.urn)return void 0===$?"":this;if("string"!=typeof $){if(!this._parts.path||"/"===this._parts.path)return"";var et=this._parts.path.lastIndexOf("/"),At=this._parts.path.substring(et+1);return $?URI.decodePathSegment(At):At}var nt=!1;"/"===$.charAt(0)&&($=$.substring(1)),$.match(/\.?\//)&&(nt=!0);var it=new RegExp(escapeRegEx(this.filename())+"$");return $=URI.recodePath($),this._parts.path=this._parts.path.replace(it,$),nt?this.normalizePath(tt):this.build(!tt),this},it.suffix=function($,tt){if(this._parts.urn)return void 0===$?"":this;if(void 0===$||!0===$){if(!this._parts.path||"/"===this._parts.path)return"";var et,At,nt=this.filename(),it=nt.lastIndexOf(".");return-1===it?"":(et=nt.substring(it+1),At=/^[a-z0-9%]+$/i.test(et)?et:"",$?URI.decodePathSegment(At):At)}"."===$.charAt(0)&&($=$.substring(1));var at,rt=this.suffix();if(rt)at=$?new RegExp(escapeRegEx(rt)+"$"):new RegExp(escapeRegEx("."+rt)+"$");else{if(!$)return this;this._parts.path+="."+URI.recodePath($)}return at&&($=URI.recodePath($),this._parts.path=this._parts.path.replace(at,$)),this.build(!tt),this},it.segment=function($,tt,et){var At=this._parts.urn?":":"/",nt=this.path(),it="/"===nt.substring(0,1),at=nt.split(At);if(void 0!==$&&"number"!=typeof $&&(et=tt,tt=$,$=void 0),void 0!==$&&"number"!=typeof $)throw new Error('Bad segment "'+$+'", must be 0-based integer');if(it&&at.shift(),$<0&&($=Math.max(at.length+$,0)),void 0===tt)return void 0===$?at:at[$];if(null===$||void 0===at[$])if(isArray(tt)){at=[];for(var rt=0,st=tt.length;rt<st;rt++)(tt[rt].length||at.length&&at[at.length-1].length)&&(at.length&&!at[at.length-1].length&&at.pop(),at.push(trimSlashes(tt[rt])))}else(tt||"string"==typeof tt)&&(tt=trimSlashes(tt),""===at[at.length-1]?at[at.length-1]=tt:at.push(tt));else tt?at[$]=trimSlashes(tt):at.splice($,1);return it&&at.unshift(""),this.path(at.join(At),et)},it.segmentCoded=function($,tt,et){var At,nt,it;if("number"!=typeof $&&(et=tt,tt=$,$=void 0),void 0===tt){if(isArray(At=this.segment($,tt,et)))for(nt=0,it=At.length;nt<it;nt++)At[nt]=URI.decode(At[nt]);else At=void 0!==At?URI.decode(At):void 0;return At}if(isArray(tt))for(nt=0,it=tt.length;nt<it;nt++)tt[nt]=URI.encode(tt[nt]);else tt="string"==typeof tt||tt instanceof String?URI.encode(tt):tt;return this.segment($,tt,et)};var dt=it.query;return it.query=function($,tt){if(!0===$)return URI.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof $){var et=URI.parseQuery(this._parts.query,this._parts.escapeQuerySpace),At=$.call(this,et);return this._parts.query=URI.buildQuery(At||et,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!tt),this}return void 0!==$&&"string"!=typeof $?(this._parts.query=URI.buildQuery($,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!tt),this):dt.call(this,$,tt)},it.setQuery=function($,tt,et){var At=URI.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof $||$ instanceof String)At[$]=void 0!==tt?tt:null;else{if("object"!=typeof $)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var nt in $)at.call($,nt)&&(At[nt]=$[nt])}return this._parts.query=URI.buildQuery(At,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof $&&(et=tt),this.build(!et),this},it.addQuery=function($,tt,et){var At=URI.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return URI.addQuery(At,$,void 0===tt?null:tt),this._parts.query=URI.buildQuery(At,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof $&&(et=tt),this.build(!et),this},it.removeQuery=function($,tt,et){var At=URI.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return URI.removeQuery(At,$,tt),this._parts.query=URI.buildQuery(At,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof $&&(et=tt),this.build(!et),this},it.hasQuery=function($,tt,et){var At=URI.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return URI.hasQuery(At,$,tt,et)},it.setSearch=it.setQuery,it.addSearch=it.addQuery,it.removeSearch=it.removeQuery,it.hasSearch=it.hasQuery,it.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},it.normalizeProtocol=function($){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!$)),this},it.normalizeHostname=function(et){return this._parts.hostname&&(this.is("IDN")&&$?this._parts.hostname=$.toASCII(this._parts.hostname):this.is("IPv6")&&tt&&(this._parts.hostname=tt.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!et)),this},it.normalizePort=function($){return"string"==typeof this._parts.protocol&&this._parts.port===URI.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!$)),this},it.normalizePath=function($){var tt,et=this._parts.path;if(!et)return this;if(this._parts.urn)return this._parts.path=URI.recodeUrnPath(this._parts.path),this.build(!$),this;if("/"===this._parts.path)return this;var At,nt,it="";for("/"!==(et=URI.recodePath(et)).charAt(0)&&(tt=!0,et="/"+et),"/.."!==et.slice(-3)&&"/."!==et.slice(-2)||(et+="/"),et=et.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),tt&&(it=et.substring(1).match(/^(\.\.\/)+/)||"")&&(it=it[0]);-1!==(At=et.search(/\/\.\.(\/|$)/));)0!==At?(-1===(nt=et.substring(0,At).lastIndexOf("/"))&&(nt=At),et=et.substring(0,nt)+et.substring(At+3)):et=et.substring(3);return tt&&this.is("relative")&&(et=it+et.substring(1)),this._parts.path=et,this.build(!$),this},it.normalizePathname=it.normalizePath,it.normalizeQuery=function($){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(URI.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!$)),this},it.normalizeFragment=function($){return this._parts.fragment||(this._parts.fragment=null,this.build(!$)),this},it.normalizeSearch=it.normalizeQuery,it.normalizeHash=it.normalizeFragment,it.iso8859=function(){var $=URI.encode,tt=URI.decode;URI.encode=escape,URI.decode=decodeURIComponent;try{this.normalize()}finally{URI.encode=$,URI.decode=tt}return this},it.unicode=function(){var $=URI.encode,tt=URI.decode;URI.encode=strictEncodeURIComponent,URI.decode=unescape;try{this.normalize()}finally{URI.encode=$,URI.decode=tt}return this},it.readable=function(){var tt=this.clone();tt.username("").password("").normalize();var et="";if(tt._parts.protocol&&(et+=tt._parts.protocol+"://"),tt._parts.hostname&&(tt.is("punycode")&&$?(et+=$.toUnicode(tt._parts.hostname),tt._parts.port&&(et+=":"+tt._parts.port)):et+=tt.host()),tt._parts.hostname&&tt._parts.path&&"/"!==tt._parts.path.charAt(0)&&(et+="/"),et+=tt.path(!0),tt._parts.query){for(var At="",nt=0,it=tt._parts.query.split("&"),at=it.length;nt<at;nt++){var rt=(it[nt]||"").split("=");At+="&"+URI.decodeQuery(rt[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),void 0!==rt[1]&&(At+="="+URI.decodeQuery(rt[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}et+="?"+At.substring(1)}return et+=URI.decodeQuery(tt.hash(),!0)},it.absoluteTo=function($){var tt,et,At,nt=this.clone(),it=["protocol","username","password","hostname","port"];if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if($ instanceof URI||($=new URI($)),nt._parts.protocol)return nt;if(nt._parts.protocol=$._parts.protocol,this._parts.hostname)return nt;for(et=0;At=it[et];et++)nt._parts[At]=$._parts[At];return nt._parts.path?(".."===nt._parts.path.substring(-2)&&(nt._parts.path+="/"),"/"!==nt.path().charAt(0)&&(tt=(tt=$.directory())||(0===$.path().indexOf("/")?"/":""),nt._parts.path=(tt?tt+"/":"")+nt._parts.path,nt.normalizePath())):(nt._parts.path=$._parts.path,nt._parts.query||(nt._parts.query=$._parts.query)),nt.build(),nt},it.relativeTo=function($){var tt,et,At,nt,it,at=this.clone().normalize();if(at._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if($=new URI($).normalize(),tt=at._parts,et=$._parts,nt=at.path(),it=$.path(),"/"!==nt.charAt(0))throw new Error("URI is already relative");if("/"!==it.charAt(0))throw new Error("Cannot calculate a URI relative to another relative URI");if(tt.protocol===et.protocol&&(tt.protocol=null),tt.username!==et.username||tt.password!==et.password)return at.build();if(null!==tt.protocol||null!==tt.username||null!==tt.password)return at.build();if(tt.hostname!==et.hostname||tt.port!==et.port)return at.build();if(tt.hostname=null,tt.port=null,nt===it)return tt.path="",at.build();if(!(At=URI.commonPath(nt,it)))return at.build();var rt=et.path.substring(At.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return tt.path=rt+tt.path.substring(At.length)||"./",at.build()},it.equals=function($){var tt,et,At,nt,it,rt=this.clone(),st=new URI($),ot={};if(rt.normalize(),st.normalize(),rt.toString()===st.toString())return!0;if(At=rt.query(),nt=st.query(),rt.query(""),st.query(""),rt.toString()!==st.toString())return!1;if(At.length!==nt.length)return!1;for(it in tt=URI.parseQuery(At,this._parts.escapeQuerySpace),et=URI.parseQuery(nt,this._parts.escapeQuerySpace),tt)if(at.call(tt,it)){if(isArray(tt[it])){if(!arraysEqual(tt[it],et[it]))return!1}else if(tt[it]!==et[it])return!1;ot[it]=!0}for(it in et)if(at.call(et,it)&&!ot[it])return!1;return!0},it.preventInvalidHostname=function($){return this._parts.preventInvalidHostname=!!$,this},it.duplicateQueryParameters=function($){return this._parts.duplicateQueryParameters=!!$,this},it.escapeQuerySpace=function($){return this._parts.escapeQuerySpace=!!$,this},URI}))},function($,tt,et){"use strict";var At=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==At)return At;throw new Error("unable to locate global object")}();$.exports=tt=At.fetch,At.fetch&&(tt.default=At.fetch.bind(At)),tt.Headers=At.Headers,tt.Request=At.Request,tt.Response=At.Response},,,,function($,tt,et){"use strict";var At=et(164),nt=et(280),it=et(168).Buffer,at=new Array(16);function MD5(){nt.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function rotl($,tt){return $<<tt|$>>>32-tt}function fnF($,tt,et,At,nt,it,at){return rotl($+(tt&et|~tt&At)+nt+it|0,at)+tt|0}function fnG($,tt,et,At,nt,it,at){return rotl($+(tt&At|et&~At)+nt+it|0,at)+tt|0}function fnH($,tt,et,At,nt,it,at){return rotl($+(tt^et^At)+nt+it|0,at)+tt|0}function fnI($,tt,et,At,nt,it,at){return rotl($+(et^(tt|~At))+nt+it|0,at)+tt|0}At(MD5,nt),MD5.prototype._update=function(){for(var $=at,tt=0;tt<16;++tt)$[tt]=this._block.readInt32LE(4*tt);var et=this._a,At=this._b,nt=this._c,it=this._d;et=fnF(et,At,nt,it,$[0],3614090360,7),it=fnF(it,et,At,nt,$[1],3905402710,12),nt=fnF(nt,it,et,At,$[2],606105819,17),At=fnF(At,nt,it,et,$[3],3250441966,22),et=fnF(et,At,nt,it,$[4],4118548399,7),it=fnF(it,et,At,nt,$[5],1200080426,12),nt=fnF(nt,it,et,At,$[6],2821735955,17),At=fnF(At,nt,it,et,$[7],4249261313,22),et=fnF(et,At,nt,it,$[8],1770035416,7),it=fnF(it,et,At,nt,$[9],2336552879,12),nt=fnF(nt,it,et,At,$[10],4294925233,17),At=fnF(At,nt,it,et,$[11],2304563134,22),et=fnF(et,At,nt,it,$[12],1804603682,7),it=fnF(it,et,At,nt,$[13],4254626195,12),nt=fnF(nt,it,et,At,$[14],2792965006,17),et=fnG(et,At=fnF(At,nt,it,et,$[15],1236535329,22),nt,it,$[1],4129170786,5),it=fnG(it,et,At,nt,$[6],3225465664,9),nt=fnG(nt,it,et,At,$[11],643717713,14),At=fnG(At,nt,it,et,$[0],3921069994,20),et=fnG(et,At,nt,it,$[5],3593408605,5),it=fnG(it,et,At,nt,$[10],38016083,9),nt=fnG(nt,it,et,At,$[15],3634488961,14),At=fnG(At,nt,it,et,$[4],3889429448,20),et=fnG(et,At,nt,it,$[9],568446438,5),it=fnG(it,et,At,nt,$[14],3275163606,9),nt=fnG(nt,it,et,At,$[3],4107603335,14),At=fnG(At,nt,it,et,$[8],1163531501,20),et=fnG(et,At,nt,it,$[13],2850285829,5),it=fnG(it,et,At,nt,$[2],4243563512,9),nt=fnG(nt,it,et,At,$[7],1735328473,14),et=fnH(et,At=fnG(At,nt,it,et,$[12],2368359562,20),nt,it,$[5],4294588738,4),it=fnH(it,et,At,nt,$[8],2272392833,11),nt=fnH(nt,it,et,At,$[11],1839030562,16),At=fnH(At,nt,it,et,$[14],4259657740,23),et=fnH(et,At,nt,it,$[1],2763975236,4),it=fnH(it,et,At,nt,$[4],1272893353,11),nt=fnH(nt,it,et,At,$[7],4139469664,16),At=fnH(At,nt,it,et,$[10],3200236656,23),et=fnH(et,At,nt,it,$[13],681279174,4),it=fnH(it,et,At,nt,$[0],3936430074,11),nt=fnH(nt,it,et,At,$[3],3572445317,16),At=fnH(At,nt,it,et,$[6],76029189,23),et=fnH(et,At,nt,it,$[9],3654602809,4),it=fnH(it,et,At,nt,$[12],3873151461,11),nt=fnH(nt,it,et,At,$[15],530742520,16),et=fnI(et,At=fnH(At,nt,it,et,$[2],3299628645,23),nt,it,$[0],4096336452,6),it=fnI(it,et,At,nt,$[7],1126891415,10),nt=fnI(nt,it,et,At,$[14],2878612391,15),At=fnI(At,nt,it,et,$[5],4237533241,21),et=fnI(et,At,nt,it,$[12],1700485571,6),it=fnI(it,et,At,nt,$[3],2399980690,10),nt=fnI(nt,it,et,At,$[10],4293915773,15),At=fnI(At,nt,it,et,$[1],2240044497,21),et=fnI(et,At,nt,it,$[8],1873313359,6),it=fnI(it,et,At,nt,$[15],4264355552,10),nt=fnI(nt,it,et,At,$[6],2734768916,15),At=fnI(At,nt,it,et,$[13],1309151649,21),et=fnI(et,At,nt,it,$[4],4149444226,6),it=fnI(it,et,At,nt,$[11],3174756917,10),nt=fnI(nt,it,et,At,$[2],718787259,15),At=fnI(At,nt,it,et,$[9],3951481745,21),this._a=this._a+et|0,this._b=this._b+At|0,this._c=this._c+nt|0,this._d=this._d+it|0},MD5.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var $=it.allocUnsafe(16);return $.writeInt32LE(this._a,0),$.writeInt32LE(this._b,4),$.writeInt32LE(this._c,8),$.writeInt32LE(this._d,12),$},$.exports=MD5},function($,tt,et){"use strict";var At=et(170).Buffer,nt=et(164),it=et(280),at=new Array(16),rt=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],st=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],ot=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],ut=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],ct=[0,1518500249,1859775393,2400959708,2840853838],dt=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){it.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function rotl($,tt){return $<<tt|$>>>32-tt}function fn1($,tt,et,At,nt,it,at,rt){return rotl($+(tt^et^At)+it+at|0,rt)+nt|0}function fn2($,tt,et,At,nt,it,at,rt){return rotl($+(tt&et|~tt&At)+it+at|0,rt)+nt|0}function fn3($,tt,et,At,nt,it,at,rt){return rotl($+((tt|~et)^At)+it+at|0,rt)+nt|0}function fn4($,tt,et,At,nt,it,at,rt){return rotl($+(tt&At|et&~At)+it+at|0,rt)+nt|0}function fn5($,tt,et,At,nt,it,at,rt){return rotl($+(tt^(et|~At))+it+at|0,rt)+nt|0}nt(RIPEMD160,it),RIPEMD160.prototype._update=function(){for(var $=at,tt=0;tt<16;++tt)$[tt]=this._block.readInt32LE(4*tt);for(var et=0|this._a,At=0|this._b,nt=0|this._c,it=0|this._d,It=0|this._e,ht=0|this._a,pt=0|this._b,yt=0|this._c,Ct=0|this._d,Bt=0|this._e,Et=0;Et<80;Et+=1){var mt,Qt;Et<16?(mt=fn1(et,At,nt,it,It,$[rt[Et]],ct[0],ot[Et]),Qt=fn5(ht,pt,yt,Ct,Bt,$[st[Et]],dt[0],ut[Et])):Et<32?(mt=fn2(et,At,nt,it,It,$[rt[Et]],ct[1],ot[Et]),Qt=fn4(ht,pt,yt,Ct,Bt,$[st[Et]],dt[1],ut[Et])):Et<48?(mt=fn3(et,At,nt,it,It,$[rt[Et]],ct[2],ot[Et]),Qt=fn3(ht,pt,yt,Ct,Bt,$[st[Et]],dt[2],ut[Et])):Et<64?(mt=fn4(et,At,nt,it,It,$[rt[Et]],ct[3],ot[Et]),Qt=fn2(ht,pt,yt,Ct,Bt,$[st[Et]],dt[3],ut[Et])):(mt=fn5(et,At,nt,it,It,$[rt[Et]],ct[4],ot[Et]),Qt=fn1(ht,pt,yt,Ct,Bt,$[st[Et]],dt[4],ut[Et])),et=It,It=it,it=rotl(nt,10),nt=At,At=mt,ht=Bt,Bt=Ct,Ct=rotl(yt,10),yt=pt,pt=Qt}var bt=this._b+nt+Ct|0;this._b=this._c+it+Bt|0,this._c=this._d+It+ht|0,this._d=this._e+et+pt|0,this._e=this._a+At+yt|0,this._a=bt},RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var $=At.alloc?At.alloc(20):new At(20);return $.writeInt32LE(this._a,0),$.writeInt32LE(this._b,4),$.writeInt32LE(this._c,8),$.writeInt32LE(this._d,12),$.writeInt32LE(this._e,16),$},$.exports=RIPEMD160},function($,tt,et){(tt=$.exports=function SHA($){$=$.toLowerCase();var et=tt[$];if(!et)throw new Error($+" is not supported (we accept pull requests)");return new et}).sha=et(393),tt.sha1=et(394),tt.sha224=et(395),tt.sha256=et(281),tt.sha384=et(396),tt.sha512=et(282)},function($,tt,et){"use strict";var At=et(164),nt=et(397),it=et(188),at=et(168).Buffer,rt=et(283),st=et(234),ot=et(235),ut=at.alloc(128);function Hmac($,tt){it.call(this,"digest"),"string"==typeof tt&&(tt=at.from(tt));var et="sha512"===$||"sha384"===$?128:64;(this._alg=$,this._key=tt,tt.length>et)?tt=("rmd160"===$?new st:ot($)).update(tt).digest():tt.length<et&&(tt=at.concat([tt,ut],et));for(var At=this._ipad=at.allocUnsafe(et),nt=this._opad=at.allocUnsafe(et),rt=0;rt<et;rt++)At[rt]=54^tt[rt],nt[rt]=92^tt[rt];this._hash="rmd160"===$?new st:ot($),this._hash.update(At)}At(Hmac,it),Hmac.prototype._update=function($){this._hash.update($)},Hmac.prototype._final=function(){var $=this._hash.digest();return("rmd160"===this._alg?new st:ot(this._alg)).update(this._opad).update($).digest()},$.exports=function createHmac($,tt){return"rmd160"===($=$.toLowerCase())||"ripemd160"===$?new Hmac("rmd160",tt):"md5"===$?new nt(rt,tt):new Hmac($,tt)}},function($,tt,et){tt.pbkdf2=et(398),tt.pbkdf2Sync=et(288)},function($,tt,et){"use strict";var At=et(177);function Cipher($){this.options=$,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}$.exports=Cipher,Cipher.prototype._init=function _init(){},Cipher.prototype.update=function update($){return 0===$.length?[]:"decrypt"===this.type?this._updateDecrypt($):this._updateEncrypt($)},Cipher.prototype._buffer=function _buffer($,tt){for(var et=Math.min(this.buffer.length-this.bufferOff,$.length-tt),At=0;At<et;At++)this.buffer[this.bufferOff+At]=$[tt+At];return this.bufferOff+=et,et},Cipher.prototype._flushBuffer=function _flushBuffer($,tt){return this._update(this.buffer,0,$,tt),this.bufferOff=0,this.blockSize},Cipher.prototype._updateEncrypt=function _updateEncrypt($){var tt=0,et=0,At=(this.bufferOff+$.length)/this.blockSize|0,nt=new Array(At*this.blockSize);0!==this.bufferOff&&(tt+=this._buffer($,tt),this.bufferOff===this.buffer.length&&(et+=this._flushBuffer(nt,et)));for(var it=$.length-($.length-tt)%this.blockSize;tt<it;tt+=this.blockSize)this._update($,tt,nt,et),et+=this.blockSize;for(;tt<$.length;tt++,this.bufferOff++)this.buffer[this.bufferOff]=$[tt];return nt},Cipher.prototype._updateDecrypt=function _updateDecrypt($){for(var tt=0,et=0,At=Math.ceil((this.bufferOff+$.length)/this.blockSize)-1,nt=new Array(At*this.blockSize);At>0;At--)tt+=this._buffer($,tt),et+=this._flushBuffer(nt,et);return tt+=this._buffer($,tt),nt},Cipher.prototype.final=function final($){var tt,et;return $&&(tt=this.update($)),et="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),tt?tt.concat(et):et},Cipher.prototype._pad=function _pad($,tt){if(0===tt)return!1;for(;tt<$.length;)$[tt++]=0;return!0},Cipher.prototype._finalEncrypt=function _finalEncrypt(){if(!this._pad(this.buffer,this.bufferOff))return[];var $=new Array(this.blockSize);return this._update(this.buffer,0,$,0),$},Cipher.prototype._unpad=function _unpad($){return $},Cipher.prototype._finalDecrypt=function _finalDecrypt(){At.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var $=new Array(this.blockSize);return this._flushBuffer($,0),this._unpad($)}},function($,tt,et){var At=et(403),nt=et(411),it=et(294);tt.createCipher=tt.Cipher=At.createCipher,tt.createCipheriv=tt.Cipheriv=At.createCipheriv,tt.createDecipher=tt.Decipher=nt.createDecipher,tt.createDecipheriv=tt.Decipheriv=nt.createDecipheriv,tt.listCiphers=tt.getCiphers=function getCiphers(){return Object.keys(it)}},function($,tt,et){var At={ECB:et(404),CBC:et(405),CFB:et(406),CFB8:et(407),CFB1:et(408),OFB:et(409),CTR:et(292),GCM:et(292)},nt=et(294);for(var it in nt)nt[it].module=At[nt[it].mode];$.exports=nt},function($,tt,et){var At;function Rand($){this.rand=$}if($.exports=function rand($){return At||(At=new Rand(null)),At.generate($)},$.exports.Rand=Rand,Rand.prototype.generate=function generate($){return this._rand($)},Rand.prototype._rand=function _rand($){if(this.rand.getBytes)return this.rand.getBytes($);for(var tt=new Uint8Array($),et=0;et<tt.length;et++)tt[et]=this.rand.getByte();return tt},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?Rand.prototype._rand=function _rand($){var tt=new Uint8Array($);return self.crypto.getRandomValues(tt),tt}:self.msCrypto&&self.msCrypto.getRandomValues?Rand.prototype._rand=function _rand($){var tt=new Uint8Array($);return self.msCrypto.getRandomValues(tt),tt}:"object"==typeof window&&(Rand.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var nt=et(414);if("function"!=typeof nt.randomBytes)throw new Error("Not supported");Rand.prototype._rand=function _rand($){return nt.randomBytes($)}}catch($){}},function($,tt,et){(function(tt){var At=et(179),nt=et(191);function crt($,et){var nt=function blind($){var tt=getr($);return{blinder:tt.toRed(At.mont($.modulus)).redPow(new At($.publicExponent)).fromRed(),unblinder:tt.invm($.modulus)}}(et),it=et.modulus.byteLength(),at=(At.mont(et.modulus),new At($).mul(nt.blinder).umod(et.modulus)),rt=at.toRed(At.mont(et.prime1)),st=at.toRed(At.mont(et.prime2)),ot=et.coefficient,ut=et.prime1,ct=et.prime2,dt=rt.redPow(et.exponent1),It=st.redPow(et.exponent2);dt=dt.fromRed(),It=It.fromRed();var ht=dt.isub(It).imul(ot).umod(ut);return ht.imul(ct),It.iadd(ht),new tt(It.imul(nt.unblinder).umod(et.modulus).toArray(!1,it))}function getr($){for(var tt=$.modulus.byteLength(),et=new At(nt(tt));et.cmp($.modulus)>=0||!et.umod($.prime1)||!et.umod($.prime2);)et=new At(nt(tt));return et}$.exports=crt,crt.getr=getr}).call(this,et(170).Buffer)},function($,tt,et){"use strict";var At=tt;At.version=et(418).version,At.utils=et(178),At.rand=et(241),At.curve=et(302),At.curves=et(244),At.ec=et(430),At.eddsa=et(434)},function($,tt,et){"use strict";var At,nt=tt,it=et(245),at=et(302),rt=et(178).assert;function PresetCurve($){"short"===$.type?this.curve=new at.short($):"edwards"===$.type?this.curve=new at.edwards($):this.curve=new at.mont($),this.g=this.curve.g,this.n=this.curve.n,this.hash=$.hash,rt(this.g.validate(),"Invalid curve"),rt(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function defineCurve($,tt){Object.defineProperty(nt,$,{configurable:!0,enumerable:!0,get:function(){var et=new PresetCurve(tt);return Object.defineProperty(nt,$,{configurable:!0,enumerable:!0,value:et}),et}})}nt.PresetCurve=PresetCurve,defineCurve("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:it.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),defineCurve("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:it.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),defineCurve("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:it.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),defineCurve("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:it.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"]}),defineCurve("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:it.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"]}),defineCurve("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:it.sha256,gRed:!1,g:["9"]}),defineCurve("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:it.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{At=et(429)}catch($){At=void 0}defineCurve("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:it.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",At]})},function($,tt,et){var At=tt;At.utils=et(182),At.common=et(209),At.sha=et(423),At.ripemd=et(427),At.hmac=et(428),At.sha1=At.sha.sha1,At.sha256=At.sha.sha256,At.sha224=At.sha.sha224,At.sha384=At.sha.sha384,At.sha512=At.sha.sha512,At.ripemd160=At.ripemd.ripemd160},function($,tt,et){"use strict";var At=et(198).codes.ERR_STREAM_PREMATURE_CLOSE;function noop(){}$.exports=function eos($,tt,et){if("function"==typeof tt)return eos($,null,tt);tt||(tt={}),et=function once($){var tt=!1;return function(){if(!tt){tt=!0;for(var et=arguments.length,At=new Array(et),nt=0;nt<et;nt++)At[nt]=arguments[nt];$.apply(this,At)}}}(et||noop);var nt=tt.readable||!1!==tt.readable&&$.readable,it=tt.writable||!1!==tt.writable&&$.writable,at=function onlegacyfinish(){$.writable||st()},rt=$._writableState&&$._writableState.finished,st=function onfinish(){it=!1,rt=!0,nt||et.call($)},ot=$._readableState&&$._readableState.endEmitted,ut=function onend(){nt=!1,ot=!0,it||et.call($)},ct=function onerror(tt){et.call($,tt)},dt=function onclose(){var tt;return nt&&!ot?($._readableState&&$._readableState.ended||(tt=new At),et.call($,tt)):it&&!rt?($._writableState&&$._writableState.ended||(tt=new At),et.call($,tt)):void 0},It=function onrequest(){$.req.on("finish",st)};return!function isRequest($){return $.setHeader&&"function"==typeof $.abort}($)?it&&!$._writableState&&($.on("end",at),$.on("close",at)):($.on("complete",st),$.on("abort",dt),$.req?It():$.on("request",It)),$.on("end",ut),$.on("finish",st),!1!==tt.error&&$.on("error",ct),$.on("close",dt),function(){$.removeListener("complete",st),$.removeListener("abort",dt),$.removeListener("request",It),$.req&&$.req.removeListener("finish",st),$.removeListener("end",at),$.removeListener("close",at),$.removeListener("finish",st),$.removeListener("end",ut),$.removeListener("error",ct),$.removeListener("close",dt)}}},,,,,,,,,,,,,,,,,,,,function($,tt,et){(function($,At){var nt;/*! https://mths.be/punycode v1.4.0 by @mathias */!function(it){tt&&tt.nodeType,$&&$.nodeType;var at="object"==typeof At&&At;at.global!==at&&at.window!==at&&at.self;var rt,st=2147483647,ot=/^xn--/,ut=/[^\x20-\x7E]/,ct=/[\x2E\u3002\uFF0E\uFF61]/g,dt={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},It=Math.floor,ht=String.fromCharCode;function error($){throw new RangeError(dt[$])}function map($,tt){for(var et=$.length,At=[];et--;)At[et]=tt($[et]);return At}function mapDomain($,tt){var et=$.split("@"),At="";return et.length>1&&(At=et[0]+"@",$=et[1]),At+map(($=$.replace(ct,".")).split("."),tt).join(".")}function ucs2decode($){for(var tt,et,At=[],nt=0,it=$.length;nt<it;)(tt=$.charCodeAt(nt++))>=55296&&tt<=56319&&nt<it?56320==(64512&(et=$.charCodeAt(nt++)))?At.push(((1023&tt)<<10)+(1023&et)+65536):(At.push(tt),nt--):At.push(tt);return At}function ucs2encode($){return map($,(function($){var tt="";return $>65535&&(tt+=ht(($-=65536)>>>10&1023|55296),$=56320|1023&$),tt+=ht($)})).join("")}function digitToBasic($,tt){return $+22+75*($<26)-((0!=tt)<<5)}function adapt($,tt,et){var At=0;for($=et?It($/700):$>>1,$+=It($/tt);$>455;At+=36)$=It($/35);return It(At+36*$/($+38))}function decode($){var tt,et,At,nt,it,at,rt,ot,ut,ct,dt,ht=[],pt=$.length,yt=0,Ct=128,Bt=72;for((et=$.lastIndexOf("-"))<0&&(et=0),At=0;At<et;++At)$.charCodeAt(At)>=128&&error("not-basic"),ht.push($.charCodeAt(At));for(nt=et>0?et+1:0;nt<pt;){for(it=yt,at=1,rt=36;nt>=pt&&error("invalid-input"),((ot=(dt=$.charCodeAt(nt++))-48<10?dt-22:dt-65<26?dt-65:dt-97<26?dt-97:36)>=36||ot>It((st-yt)/at))&&error("overflow"),yt+=ot*at,!(ot<(ut=rt<=Bt?1:rt>=Bt+26?26:rt-Bt));rt+=36)at>It(st/(ct=36-ut))&&error("overflow"),at*=ct;Bt=adapt(yt-it,tt=ht.length+1,0==it),It(yt/tt)>st-Ct&&error("overflow"),Ct+=It(yt/tt),yt%=tt,ht.splice(yt++,0,Ct)}return ucs2encode(ht)}function encode($){var tt,et,At,nt,it,at,rt,ot,ut,ct,dt,pt,yt,Ct,Bt,Et=[];for(pt=($=ucs2decode($)).length,tt=128,et=0,it=72,at=0;at<pt;++at)(dt=$[at])<128&&Et.push(ht(dt));for(At=nt=Et.length,nt&&Et.push("-");At<pt;){for(rt=st,at=0;at<pt;++at)(dt=$[at])>=tt&&dt<rt&&(rt=dt);for(rt-tt>It((st-et)/(yt=At+1))&&error("overflow"),et+=(rt-tt)*yt,tt=rt,at=0;at<pt;++at)if((dt=$[at])<tt&&++et>st&&error("overflow"),dt==tt){for(ot=et,ut=36;!(ot<(ct=ut<=it?1:ut>=it+26?26:ut-it));ut+=36)Bt=ot-ct,Ct=36-ct,Et.push(ht(digitToBasic(ct+Bt%Ct,0))),ot=It(Bt/Ct);Et.push(ht(digitToBasic(ot,0))),it=adapt(et,yt,At==nt),et=0,++At}++et,++tt}return Et.join("")}rt={version:"1.3.2",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:function toASCII($){return mapDomain($,(function($){return ut.test($)?"xn--"+encode($):$}))},toUnicode:function toUnicode($){return mapDomain($,(function($){return ot.test($)?decode($.slice(4).toLowerCase()):$}))}},void 0===(nt=function(){return rt}.call(tt,et,tt,$))||($.exports=nt)}()}).call(this,et(10)($),et(21))},function($,tt,et){var At,nt;
|
|
14
|
+
/*!
|
|
15
|
+
* URI.js - Mutating URLs
|
|
16
|
+
* IPv6 Support
|
|
17
|
+
*
|
|
18
|
+
* Version: 1.19.7
|
|
19
|
+
*
|
|
20
|
+
* Author: Rodney Rehm
|
|
21
|
+
* Web: http://medialize.github.io/URI.js/
|
|
22
|
+
*
|
|
23
|
+
* Licensed under
|
|
24
|
+
* MIT License http://www.opensource.org/licenses/mit-license
|
|
25
|
+
*
|
|
26
|
+
*/!function(it,at){"use strict";$.exports?$.exports=at():void 0===(nt="function"==typeof(At=at)?At.call(tt,et,tt,$):At)||($.exports=nt)}(0,(function($){"use strict";var tt=$&&$.IPv6;return{best:function bestPresentation($){var tt,et,At=$.toLowerCase().split(":"),nt=At.length,it=8;for(""===At[0]&&""===At[1]&&""===At[2]?(At.shift(),At.shift()):""===At[0]&&""===At[1]?At.shift():""===At[nt-1]&&""===At[nt-2]&&At.pop(),-1!==At[(nt=At.length)-1].indexOf(".")&&(it=7),tt=0;tt<nt&&""!==At[tt];tt++);if(tt<it)for(At.splice(tt,1,"0000");At.length<it;)At.splice(tt,0,"0000");for(var at=0;at<it;at++){et=At[at].split("");for(var rt=0;rt<3&&("0"===et[0]&&et.length>1);rt++)et.splice(0,1);At[at]=et.join("")}var st=-1,ot=0,ut=0,ct=-1,dt=!1;for(at=0;at<it;at++)dt?"0"===At[at]?ut+=1:(dt=!1,ut>ot&&(st=ct,ot=ut)):"0"===At[at]&&(dt=!0,ct=at,ut=1);ut>ot&&(st=ct,ot=ut),ot>1&&At.splice(st,ot,""),nt=At.length;var It="";for(""===At[0]&&(It=":"),at=0;at<nt&&(It+=At[at],at!==nt-1);at++)It+=":";return""===At[nt-1]&&(It+=":"),It},noConflict:function noConflict(){return $.IPv6===this&&($.IPv6=tt),this}}}))},function($,tt,et){var At,nt;
|
|
27
|
+
/*!
|
|
28
|
+
* URI.js - Mutating URLs
|
|
29
|
+
* Second Level Domain (SLD) Support
|
|
30
|
+
*
|
|
31
|
+
* Version: 1.19.7
|
|
32
|
+
*
|
|
33
|
+
* Author: Rodney Rehm
|
|
34
|
+
* Web: http://medialize.github.io/URI.js/
|
|
35
|
+
*
|
|
36
|
+
* Licensed under
|
|
37
|
+
* MIT License http://www.opensource.org/licenses/mit-license
|
|
38
|
+
*
|
|
39
|
+
*/!function(it,at){"use strict";$.exports?$.exports=at():void 0===(nt="function"==typeof(At=at)?At.call(tt,et,tt,$):At)||($.exports=nt)}(0,(function($){"use strict";var tt=$&&$.SecondLevelDomains,et={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function($){var tt=$.lastIndexOf(".");if(tt<=0||tt>=$.length-1)return!1;var At=$.lastIndexOf(".",tt-1);if(At<=0||At>=tt-1)return!1;var nt=et.list[$.slice(tt+1)];return!!nt&&nt.indexOf(" "+$.slice(At+1,tt)+" ")>=0},is:function($){var tt=$.lastIndexOf(".");if(tt<=0||tt>=$.length-1)return!1;if($.lastIndexOf(".",tt-1)>=0)return!1;var At=et.list[$.slice(tt+1)];return!!At&&At.indexOf(" "+$.slice(0,tt)+" ")>=0},get:function($){var tt=$.lastIndexOf(".");if(tt<=0||tt>=$.length-1)return null;var At=$.lastIndexOf(".",tt-1);if(At<=0||At>=tt-1)return null;var nt=et.list[$.slice(tt+1)];return nt?nt.indexOf(" "+$.slice(At+1,tt)+" ")<0?null:$.slice(At+1):null},noConflict:function(){return $.SecondLevelDomains===this&&($.SecondLevelDomains=tt),this}};return et}))},function($,tt,et){var At=et(354);$.exports=At("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"}]}},function($,tt,et){const At=et(184),nt=et(194),{ValidateLibrary:it,ValidateObject:at,ValidateVersion:rt,ValidatePartHash:st,ValidateWriteToken:ot,ValidateParameters:ut}=et(185),ct=et(35);tt.permissionLevels={owner:{short:"Owner Only",description:"Only the owner has access to the object and ability to change permissions",settings:{visibility:0,statusCode:-1,kmsConk:!1}},editable:{short:"Editable",description:"Members of the editors group have full access to the object and the ability to change permissions",settings:{visibility:0,statusCode:-1,kmsConk:!0}},viewable:{short:"Viewable",description:"In addition to editors, members of the 'accessor' group can have read-only access to the object including playing video and retrieving metadata, images and documents",settings:{visibility:0,statusCode:0,kmsConk:!0}},listable:{short:"Publicly Listable",description:"Anyone can list the public portion of this object but only accounts with specific rights can access",settings:{visibility:1,statusCode:0,kmsConk:!0}},public:{short:"Public",description:"Anyone can access this object",settings:{visibility:10,statusCode:0,kmsConk:!0}}},tt.Visibility=async function({id:$}){try{const tt=this.utils.HashToAddress($);this.visibilityInfo[tt]||(this.visibilityInfo[tt]=new Promise(async(et,At)=>{try{if(!await this.authClient.ContractHasMethod({contractAddress:tt,methodName:"visibility"}))return void et(0);et(await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"visibility"}))}catch($){At($)}}));try{return await this.visibilityInfo[tt]}catch($){throw delete this.visibilityInfo[tt],$}}catch($){if("CALL_EXCEPTION"===$.code)return 0;throw $}},tt.Permission=async function({objectId:$}){if(at($),await this.AccessType({id:$})!==this.authClient.ACCESS_TYPES.OBJECT)throw Error("Permission only valid for normal content objects: "+$);const tt=await this.Visibility({id:$}),et=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"addressKMS"}),At=et&&`ikms${this.utils.AddressToHash(et)}`;let nt=!1;At&&(nt=!!await this.ContentObjectMetadata({libraryId:await this.ContentObjectLibraryId({objectId:$}),objectId:$,metadataSubtree:`eluv.caps.${At}`}));let it=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"statusCode"});it=parseInt(it._hex,16);let rt=Object.keys(this.permissionLevels).filter($=>{const et=this.permissionLevels[$].settings;return tt>=et.visibility&&it>=et.statusCode&&nt===et.kmsConk});return rt||(rt=nt?["editable"]:["owner"]),rt.slice(-1)[0]},tt.DefaultKMSAddress=async function({tenantId:$}={}){if($&&await this.AccessType({id:$})===this.authClient.ACCESS_TYPES.TENANT){const tt=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"addressKMS"});if(tt)return tt}return await this.CallContractMethod({contractAddress:this.contentSpaceAddress,methodName:"addressKMS"})},tt.ContentSpaceId=function(){return this.contentSpaceId},tt.ContentTypeOwner=async function({name:$,typeId:tt,versionHash:et}){const At=await this.ContentType({name:$,typeId:tt,versionHash:et});return this.utils.FormatAddress(await this.ethClient.CallContractMethod({contractAddress:this.utils.HashToAddress(At.id),methodName:"owner",methodArgs:[]}))},tt.ContentType=async function({name:$,typeId:tt,versionHash:et,publicOnly:nt=!1}){if(this.Log(`Retrieving content type: ${$||tt||et}`),et&&(tt=this.utils.DecodeVersionHash(et).objectId),$&&(this.Log("Looking up type by name in content space metadata..."),tt=await this.ContentObjectMetadata({libraryId:this.contentSpaceLibraryId,objectId:this.contentSpaceObjectId,metadataSubtree:At("public","contentTypes",$)})),!tt){this.Log("Looking up type by name in available types...");const tt=await this.ContentTypes();return $?Object.values(tt).find(tt=>(tt.name||"").toLowerCase()===$.toLowerCase()):Object.values(tt).find($=>$.hash===et)}et||(et=await this.LatestVersionHash({objectId:tt}));try{let $;return this.Log("Looking up type by ID..."),$=nt?{public:await this.ContentObjectMetadata({libraryId:this.contentSpaceLibraryId,objectId:tt,versionHash:et,metadataSubtree:"public"})||{}}:await this.ContentObjectMetadata({libraryId:this.contentSpaceLibraryId,objectId:tt,versionHash:et})||{},{id:tt,hash:et,name:$.public&&$.public.name||$.name||tt,meta:$}}catch(et){throw this.Log("Error looking up content type:"),this.Log(et),new Error(`Content Type ${$||tt} is invalid`)}},tt.ContentTypes=async function(){this.contentTypes=this.contentTypes||{},this.Log("Looking up all available content types");let $=await this.Collection({collectionType:"contentTypes"});this.Log("Personally available types:"),this.Log($);const tt=await this.ContentObjectMetadata({libraryId:this.contentSpaceLibraryId,objectId:this.contentSpaceObjectId,metadataSubtree:"public/contentTypes"})||{},et=Object.values(tt).map($=>this.utils.HashToAddress($));return this.Log("Content space types:"),this.Log(et),$=$.concat(et).filter($=>$).map($=>this.utils.FormatAddress($)).filter(($,tt,et)=>et.indexOf($)===tt),await Promise.all($.map(async $=>{const tt=this.utils.AddressToObjectId($);if(!this.contentTypes[tt])try{this.contentTypes[tt]=await this.ContentType({typeId:tt,publicOnly:!0})}catch($){console.error($)}})),this.contentTypes},tt.ContentLibraries=async function(){return(await this.Collection({collectionType:"libraries"})).map($=>this.utils.AddressToLibraryId($))},tt.ContentLibrary=async function({libraryId:$}){it($);const tt=At("qlibs",$),et=await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$}),method:"GET",path:tt}));return{...et,meta:et.meta||{}}},tt.ContentLibraryOwner=async function({libraryId:$}){return it($),this.utils.FormatAddress(await this.ethClient.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"owner",methodArgs:[]}))},tt.LibraryContentTypes=async function({libraryId:$}){it($),this.Log(`Retrieving library content types for ${$}`);const tt=(await this.ethClient.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"contentTypesLength",methodArgs:[]})).toNumber();if(this.Log(`${tt} types`),0===tt)return{};let et={};return await Promise.all(Array.from(new Array(tt),async(tt,At)=>{const nt=await this.ethClient.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"contentTypes",methodArgs:[At]}),it=this.utils.AddressToObjectId(nt);et[it]=await this.ContentType({typeId:it})})),this.Log(et),et},tt.ContentObjects=async function({libraryId:$,filterOptions:tt={}}){it($),this.Log(`Retrieving content objects from ${$}`);let et=At("qlibs",$,"q"),nt={filter:[]};tt.cacheId&&(nt.cache_id=tt.cacheId),tt.start&&(nt.start=tt.start),tt.limit&&(nt.limit=tt.limit),tt.select&&(nt.select=tt.select),tt.sort&&(nt.sort_by=tt.sort,tt.sortDesc&&(nt.sort_descending=!0));const at={eq:":eq:",neq:":ne:",lt:":lt:",lte:":le:",gt:":gt:",gte:":ge:",cnt:":co:",ncnt:":nc:"},addFilter=({key:$,type:tt,filter:et})=>{nt.filter.push(`${$}${at[tt]}${et}`)};return tt.filter&&(Array.isArray(tt.filter)?tt.filter.forEach($=>addFilter($)):addFilter(tt.filter)),this.Log("Filter options:"),this.Log(tt),await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$}),method:"GET",path:et,queryParams:nt}))},tt.ContentObject=async function({libraryId:$,objectId:tt,versionHash:et}){ut({libraryId:$,objectId:tt,versionHash:et}),this.Log(`Retrieving content object: ${$||""} ${tt||et}`),et&&(tt=this.utils.DecodeVersionHash(et).objectId);let nt=At("q",et||tt);return await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et}),method:"GET",path:nt}))},tt.ContentObjectOwner=async function({objectId:$}){return at($),this.Log(`Retrieving content object owner: ${$}`),this.utils.FormatAddress(await this.ethClient.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"owner",methodArgs:[]}))},tt.ContentObjectLibraryId=async function({objectId:$,versionHash:tt}){switch(tt?rt(tt):at($),tt&&($=this.utils.DecodeVersionHash(tt).objectId),await this.authClient.AccessType($)){case this.authClient.ACCESS_TYPES.LIBRARY:return this.utils.AddressToLibraryId(this.utils.HashToAddress($));case this.authClient.ACCESS_TYPES.OBJECT:this.objectLibraryIds[$]||(this.Log(`Retrieving content object library ID: ${$||tt}`),this.objectLibraryIds[$]=new Promise(async(tt,et)=>{try{tt(this.utils.AddressToLibraryId(await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"libraryAddress"})))}catch($){et($)}}));try{return await this.objectLibraryIds[$]}catch(tt){throw delete this.objectLibraryIds[$],tt}case this.authClient.ACCESS_TYPES.OTHER:throw Error(`Unable to retrieve library ID for ${tt||$}: Unknown type. (wrong network or deleted object?)`);default:return this.contentSpaceLibraryId}},tt.ProduceMetadataLinks=async function({libraryId:$,objectId:tt,versionHash:et,path:nt="/",metadata:it,authorizationToken:at}){if(!it||"object"!=typeof it)return it;if(Array.isArray(it))return await this.utils.LimitedMap(5,it,async(it,rt)=>await this.ProduceMetadataLinks({libraryId:$,objectId:tt,versionHash:et,path:At(nt,rt.toString()),metadata:it,authorizationToken:at}));if(it["/"]&&(it["/"].match(/\.\/(rep|files)\/.+/)||it["/"].match(/^\/?qfab\/([\w]+)\/?(rep|files)\/.+/)))return{...it,url:await this.LinkUrl({libraryId:$,objectId:tt,versionHash:et,linkPath:nt,authorizationToken:at})};let rt={};return await this.utils.LimitedMap(5,Object.keys(it),async st=>{rt[st]=await this.ProduceMetadataLinks({libraryId:$,objectId:tt,versionHash:et,path:At(nt,st),metadata:it[st],authorizationToken:at})}),rt},tt.MetadataAuth=async function({libraryId:$,objectId:tt,versionHash:et,path:At="/",channelAuth:nt=!1}){ut({libraryId:$,objectId:tt,versionHash:et}),et&&(tt=this.utils.DecodeVersionHash(et).objectId);const it=await this.Visibility({id:tt}),at=await this.AccessType({id:tt}),rt=(At||"").replace(/^\/+/,"").startsWith("public");let st=it>=10||rt&&it>=1;if(this.oauthToken){const At=await this.authClient.KMSAddress({objectId:tt,versionHash:et});if(At&&!this.utils.EqualAddress(At,this.utils.nullAddress))return await this.authClient.AuthorizationToken({libraryId:$,objectId:tt,versionHash:et,channelAuth:!0,oauthToken:this.oauthToken})}if(this.inaccessibleLibraries[$]||!rt||at!==this.authClient.ACCESS_TYPES.OBJECT||nt)return await this.authClient.AuthorizationToken({libraryId:$,objectId:tt,versionHash:et,noAuth:st,channelAuth:nt});try{return await this.authClient.AuthorizationToken({libraryId:$||await this.ContentObjectLibraryId({objectId:tt,versionHash:et}),noAuth:st})}catch(At){if(At.message&&At.message.toLowerCase().startsWith("access denied"))return this.inaccessibleLibraries[$]=!0,await this.authClient.AuthorizationToken({libraryId:$,objectId:tt,versionHash:et,noAuth:st,channelAuth:nt});throw At}},tt.ContentObjectMetadata=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,metadataSubtree:it="/",queryParams:at={},select:rt=[],remove:st=[],authorizationToken:ot,resolveLinks:ct=!1,resolveIncludeSource:dt=!1,resolveIgnoreErrors:It=!1,linkDepthLimit:ht=1,produceLinkUrls:pt=!1}){ut({libraryId:$,objectId:tt,versionHash:et}),this.Log(`Retrieving content object metadata: ${$||""} ${tt||et} ${nt||""}\n Subtree: ${it}`),at={...at||{}},et&&(tt=this.utils.DecodeVersionHash(et).objectId);let yt=At("q",nt||et||tt,"meta",it),Ct=await this.MetadataAuth({libraryId:$,objectId:tt,versionHash:et,path:it});const Bt=[ot,at.authorization,Ct].flat().filter($=>$);let Et;delete at.authorization;try{Et=await this.utils.ResponseToJson(this.HttpClient.Request({headers:{Authorization:Bt.map($=>`Bearer ${$}`)},queryParams:{...at,select:rt,remove:st,link_depth:ht,resolve:ct,resolve_include_source:dt,resolve_ignore_errors:It},method:"GET",path:yt}))}catch($){if(404!==$.status)throw $;Et="/"===it?{}:void 0}return pt?await this.ProduceMetadataLinks({libraryId:$,objectId:tt,versionHash:et,path:it,metadata:Et,authorizationToken:ot}):Et},tt.AssetMetadata=async function({libraryId:$,objectId:tt,versionHash:et,metadata:nt,localization:it,produceLinkUrls:at=!1}){ut({libraryId:$,objectId:tt,versionHash:et}),tt||(tt=this.utils.DecodeVersionHash(et).objectId),nt?at&&(nt=await this.ProduceMetadataLinks({libraryId:$,objectId:tt,versionHash:et,path:At("public","asset_metadata"),metadata:nt})):nt=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,metadataSubtree:"public/asset_metadata",resolveLinks:!0,linkDepthLimit:2,resolveIgnoreErrors:!0,produceLinkUrls:at})||{},nt.info||(nt.info={});let rt={...nt};return it&&it.reverse().forEach($=>{const tt=this.utils.SafeTraverse(nt,...$)||{};rt=ct({},rt,tt,($,tt)=>null===tt||""===tt?$:void 0)}),rt},tt.ContentObjectVersions=async function({libraryId:$,objectId:tt}){ut({libraryId:$,objectId:tt}),this.Log(`Retrieving content object versions: ${$||""} ${tt}`);let et=At("qid",tt);return this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt}),method:"GET",path:et}))},tt.LatestVersionHash=async function({objectId:$,versionHash:tt}){let et;tt&&($=this.utils.DecodeVersionHash(tt).objectId),at($);try{et=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"objectHash"})}catch($){}if(!et){const At=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"countVersionHashes"});if(!At.toNumber())throw Error(`Unable to determine latest version hash for ${tt||$} - Item deleted?`);et=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"versionHashes",methodArgs:[At-1]})}return et},tt.AvailableDRMs=async function(){let $=["clear","aes-128"];if("undefined"==typeof window)return $;if(window.navigator&&window.navigator.userAgent){const tt=window.navigator.userAgent.match(/(iPad|iPhone|iphone|iPod).*?(OS |os |OS_)(\d+((_|\.)\d)?((_|\.)\d)?)/);if(tt&&tt[3]){const et=tt[3].split("_"),At=parseInt(et[0]),nt=parseInt(et[1]);(At>13||13===At&&nt>=1)&&($[1]="sample-aes",$[2]="fairplay")}if(/^((?!chrome|android).)*safari/i.test(window.navigator.userAgent)){const tt=window.navigator.userAgent.match(/.+Version\/(\d+)\.(\d+)/);if(tt&&tt[2]){const et=parseInt(tt[1]),At=parseInt(tt[2]);(et>13||13===et&&At>=1)&&($[1]="sample-aes",$[2]="fairplay")}}}if("undefined"!=typeof window&&"function"!=typeof window.navigator.requestMediaKeySystemAccess)return $;try{const tt=[{initDataTypes:["cenc"],audioCapabilities:[{contentType:'audio/mp4;codecs="mp4a.40.2"'}],videoCapabilities:[{contentType:'video/mp4;codecs="avc1.42E01E"'}]}];await navigator.requestMediaKeySystemAccess("com.widevine.alpha",tt),$.push("widevine")}catch($){}return $},tt.PlayoutPathResolution=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,linkPath:it,handler:at,offering:rt="",signedLink:st=!1,authorizationToken:ot}){$||($=await this.ContentObjectLibraryId({objectId:tt})),et||(et=await this.LatestVersionHash({objectId:tt}));let ut,ct,dt,It,ht=At("qlibs",$,"q",nt||et,"rep",at,rt,"options.json");if(it){const pt=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,metadataSubtree:it,resolveLinks:!1,resolveIgnoreErrors:!0,resolveIncludeSource:!0,authorizationToken:ot});It=!!pt&&!!pt["/"]&&!pt["/"].endsWith("options.json"),ht=At("qlibs",$,"q",nt||et,"meta",it),st||(dt=await this.LinkTarget({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,linkPath:it,linkInfo:pt,authorizationToken:ot}),ct=this.utils.DecodeVersionHash(dt).objectId,ut=await this.ContentObjectLibraryId({objectId:ct}),It||rt||(ht=At("q",dt,"rep",at,"options.json"))),It&&(ht=At(ht,rt,"options.json"))}return{path:ht,multiOfferingLink:It,linkTarget:{libraryId:ut,objectId:ct,versionHash:dt}}},tt.AvailableOfferings=async function({objectId:$,versionHash:tt,writeToken:et,linkPath:At,signedLink:nt,directLink:it,handler:at="playout",authorizationToken:rt}){if($||($=this.utils.DecodeVersionHash(tt).objectId),it)return await this.ContentObjectMetadata({libraryId:await this.ContentObjectLibraryId({objectId:$}),objectId:$,versionHash:tt,metadataSubtree:At,resolveLinks:!0,authorizationToken:rt});const{path:st}=await this.PlayoutPathResolution({objectId:$,versionHash:tt,writeToken:et,linkPath:At,signedLink:nt,handler:at,authorizationToken:rt});try{let tt=[rt,await this.authClient.AuthorizationToken({objectId:$,channelAuth:!0,oauthToken:this.oauthToken})].flat().filter($=>$);return await this.utils.ResponseToJson(this.HttpClient.Request({path:st,method:"GET",headers:{Authorization:`Bearer ${tt.join(",")}`}}))}catch($){if($.status&&500===parseInt($.status))return{};throw $}},tt.PlayoutOptions=async function({offeringURI:$,objectId:tt,versionHash:et,writeToken:nt,linkPath:it,signedLink:st=!1,protocols:ot=["dash","hls"],handler:ut="playout",offering:ct="default",playoutType:dt,drms:It=[],context:ht,hlsjsProfile:pt=!0,authorizationToken:yt}){if($){const tt=$.match(/(hq__[^/]+)\/rep\/([^/]+)\/([^/]+)\/options.json/);if(et=tt[1],ut=tt[2],ct=tt[3],!et||!ut||!ct)throw Error(`Invalid offering URI: ${$}`)}et?rt(et):at(tt),ot=ot.map($=>$.toLowerCase()),It=It.map($=>$.toLowerCase()),tt?et||(et=await this.LatestVersionHash({objectId:tt})):tt=this.utils.DecodeVersionHash(et).objectId;const Ct=await this.ContentObjectLibraryId({objectId:tt});try{if(!it){const $=At("public","asset_metadata","sources",ct);await this.ContentObjectMetadata({libraryId:Ct,objectId:tt,versionHash:et,metadataSubtree:$,authorizationToken:yt})&&(it=$)}}catch($){}const{path:Bt,linkTarget:Et}=await this.PlayoutPathResolution({libraryId:Ct,objectId:tt,versionHash:et,writeToken:nt,linkPath:it,signedLink:st,handler:ut,offering:ct,authorizationToken:yt}),mt=this.authClient.AudienceData({objectId:Et.objectId||tt,versionHash:Et.versionHash||et||await this.LatestVersionHash({objectId:tt}),protocols:ot,drms:It,context:ht});let Qt=[yt,await this.authClient.AuthorizationToken({libraryId:Ct,objectId:tt,channelAuth:!0,oauthToken:this.oauthToken,audienceData:mt})].flat().filter($=>$),bt={authorization:Qt,resolve:!!it};const wt=Object.values(await this.utils.ResponseToJson(this.HttpClient.Request({path:Bt,method:"GET",queryParams:bt})));!st&&Et.versionHash&&(bt.authorization=[yt,await this.authClient.AuthorizationToken({libraryId:Et.libraryId,objectId:Et.objectId,channelAuth:!0,oauthToken:this.oauthToken,audienceData:mt})].flat().filter($=>$));let vt,Mt,Dt={};for(let $=0;$<wt.length;$++){const nt=wt[$],at=nt.properties.protocol,rt=nt.properties.drm;vt=vt||nt.sid,Mt=Mt||!!nt.properties.multiview,vt&&(bt.sid=vt);let ht=nt.uri.split("?")[0];dt&&(ht=ht.replace("playlist",`playlist-${dt}`));const yt=nt.properties.license_servers,Bt=nt.properties.cert;pt&&"hls"===at&&"aes-128"===rt&&(bt.player_profile="hls-js"),Dt[at]={...Dt[at]||{},playoutMethods:{...(Dt[at]||{}).playoutMethods||{},[rt||"clear"]:{playoutUrl:st?await this.LinkUrl({versionHash:et,linkPath:At(it,ct,ht),queryParams:bt,noAuth:!0}):await this.Rep({libraryId:Et.libraryId||Ct,objectId:Et.objectId||tt,versionHash:Et.versionHash||et,rep:At(ut,ct,ht),noAuth:!0,queryParams:bt}),drms:rt?{[rt]:{licenseServers:yt,cert:Bt}}:void 0}}};for(const $ in Dt[at].playoutMethods)if(Dt[at].playoutMethods[$].drms&&Dt[at].playoutMethods[$].drms[rt]&&Dt[at].playoutMethods[$].drms[rt].cert){let tt=new URL(Dt[at].playoutMethods[$].playoutUrl);tt.pathname=tt.pathname.split("/").slice(0,-1).concat(["drm.cert"]).join("/"),Dt[at].playoutMethods[$].drms[rt].cert_url=tt.toString()}const mt=ot.includes(at),Qt=It.includes(rt||"clear")||0===It.length&&!rt;mt&&Qt&&((!Dt[at].playoutUrl||rt&&"clear"!==rt)&&(Dt[at].playoutUrl=Dt[at].playoutMethods[rt||"clear"].playoutUrl,Dt[at].drms=Dt[at].playoutMethods[rt||"clear"].drms))}return Mt&&vt&&(Dt.sessionId=vt,Dt.multiview=!0,Dt.AvailableViews=async()=>await this.utils.ResponseToFormat("json",await this.HttpClient.Request({path:At("q",Et.versionHash||et,"rep",ut,ct,"views.json"),method:"GET",queryParams:{sid:vt,authorization:Qt}})),Dt.SwitchView=async $=>{await this.HttpClient.Request({path:At("q",Et.versionHash||et,"rep",ut,ct,"select_view"),method:"POST",queryParams:{sid:vt,authorization:Qt},body:{view:$}})}),this.Log(Dt),Dt},tt.BitmovinPlayoutOptions=async function({objectId:$,versionHash:tt,writeToken:et,linkPath:At,signedLink:nt=!1,protocols:it=["dash","hls"],drms:st=[],handler:ot="playout",offering:ut="default",playoutType:ct,context:dt,authorizationToken:It}){tt?rt(tt):at($),$||($=this.utils.DecodeVersionHash(tt).objectId);const ht=await this.PlayoutOptions({objectId:$,versionHash:tt,writeToken:et,linkPath:At,signedLink:nt,protocols:it,drms:st,handler:ot,offering:ut,playoutType:ct,hlsjsProfile:!1,context:dt,authorizationToken:It});delete ht.playoutMethods;const{linkTarget:pt}=await this.PlayoutPathResolution({objectId:$,versionHash:tt,writeToken:et,linkPath:At,signedLink:nt,handler:ot,offering:ut,authorizationToken:It});let yt=[];It&&yt.push(It),nt||!pt.versionHash?yt.push(await this.authClient.AuthorizationToken({objectId:$,channelAuth:!0,oauthToken:this.oauthToken})):yt.push(await this.authClient.AuthorizationToken({libraryId:pt.libraryId,objectId:pt.objectId,channelAuth:!0,oauthToken:this.oauthToken}));let Ct={drm:{}};return Object.keys(ht).forEach($=>{const tt=ht[$];Ct[$]=tt.playoutUrl,tt.drms&&Object.keys(tt.drms).forEach($=>{if(!tt.drms[$].licenseServers||0===tt.drms[$].licenseServers.length)return;const filterHTTPS=$=>$.toLowerCase().startsWith("https");let et=tt.drms[$].licenseServers;et.find(filterHTTPS)&&(et=et.filter(filterHTTPS));const At=et.sort(()=>.5-Math.random())[0];Ct.drm[$]||(Ct.drm[$]={LA_URL:At,headers:{Authorization:`Bearer ${yt.flat().filter($=>$).join(",")}`}})})}),Ct},tt.CallBitcodeMethod=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,method:it,queryParams:at={},body:rt={},headers:st={},constant:ot=!0,format:ct="json"}){if(ut({libraryId:$,objectId:tt,versionHash:et}),!it)throw"Bitcode method not specified";et&&(tt=this.utils.DecodeVersionHash(et).objectId);let dt=At("q",nt||et||tt,"call",it);return $&&(dt=At("qlibs",$,dt)),st.authorization||st.Authorization||(st.Authorization=(await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!ot})).Authorization),this.Log(`Calling bitcode method: ${$||""} ${tt||et} ${nt||""}\n ${ot?"GET":"POST"} ${dt}\n Query Params:\n ${JSON.stringify(at||"")}\n Body:\n ${JSON.stringify(rt||"")}\n Headers\n ${JSON.stringify(st||"")}`),this.utils.ResponseToFormat(ct,await this.HttpClient.Request({body:rt,headers:st,method:ot?"GET":"POST",path:dt,queryParams:at,failover:!1}))},tt.Rep=async function({libraryId:$,objectId:tt,versionHash:et,rep:At,queryParams:nt={},channelAuth:it=!1,noAuth:at=!1,noCache:rt=!1}){if(ut({libraryId:$,objectId:tt,versionHash:et}),!At)throw"Rep not specified";return this.FabricUrl({libraryId:$,objectId:tt,versionHash:et,rep:At,queryParams:nt,channelAuth:it,noAuth:at,noCache:rt})},tt.PublicRep=async function({libraryId:$,objectId:tt,versionHash:et,rep:At,queryParams:nt={}}){if(ut({libraryId:$,objectId:tt,versionHash:et}),!At)throw"Rep not specified";return this.FabricUrl({libraryId:$,objectId:tt,versionHash:et,publicRep:At,queryParams:nt,noAuth:!0})},tt.FabricUrl=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,partHash:it,rep:at,publicRep:rt,call:st,queryParams:ot={},channelAuth:ct=!1,noAuth:dt=!1,noCache:It=!1}){(tt||et)&&ut({libraryId:$,objectId:tt,versionHash:et}),et&&(tt=this.utils.DecodeVersionHash(et).objectId),this.Log(`Building Fabric URL:\n libraryId: ${$}\n objectId: ${tt}\n versionHash: ${et}\n writeToken: ${nt}\n partHash: ${it}\n rep: ${at}\n publicRep: ${rt}\n call: ${st}\n channelAuth: ${ct}\n noAuth: ${dt}\n noCache: ${It}\n queryParams: ${JSON.stringify(ot||{},null,2)}`);let ht=[];ot.authorization&&ht.push(ot.authorization),dt&&ot.authorization||ht.push(await this.authClient.AuthorizationToken({libraryId:$,objectId:tt,versionHash:et,channelAuth:ct,noAuth:dt,noCache:It})),ot={...ot,authorization:ht.flat()},(at||rt)&&tt&&!et&&(et=await this.LatestVersionHash({objectId:tt}));let pt="";return $?(pt=At(pt,"qlibs",$),(tt||et)&&(pt=At(pt,"q",nt||et||tt))):et&&(pt=At("q",et)),it?pt=At(pt,"data",it):at?pt=At(pt,"rep",at):rt?pt=At(pt,"public",rt):st&&(pt=At(pt,"call",st)),this.HttpClient.URL({path:pt,queryParams:ot})},tt.FileUrl=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,filePath:it,queryParams:at={},noCache:rt=!1}){if(ut({libraryId:$,objectId:tt,versionHash:et}),!it)throw"File path not specified";let st;et&&(tt=this.utils.DecodeVersionHash(et).objectId),st=$?At("qlibs",$,"q",nt||et||tt):At("q",et);const ot=await this.authClient.AuthorizationToken({libraryId:$,objectId:tt,noCache:rt});at={...at,authorization:ot};const ct=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,metadataSubtree:At("files",it)});return ct&&ct["."].encryption&&"cgck"===ct["."].encryption.scheme?(st=At(st,"rep","files_download",it),at["header-x_decryption_mode"]="decrypt"):st=At(st,"files",it),this.HttpClient.URL({path:st,queryParams:at})},tt.ContentObjectImageUrl=async function({libraryId:$,objectId:tt,versionHash:et,height:At,imagePath:nt="public/display_image"}){if(ut({libraryId:$,objectId:tt,versionHash:et}),et||(et=await this.LatestVersionHash({objectId:tt})),this.Log(`Retrieving content object image url: ${$} ${tt} ${et}`),!this.objectImageUrls[et]){try{if(!await this.ContentObjectMetadata({versionHash:et,metadataSubtree:nt}))return void this.Log(`No image url set: ${$} ${tt} ${et}`)}catch(At){this.Log(`Unable to query for image metadata: ${$} ${tt} ${et}`,!0),this.Log(At,!0)}let it={};At&&!isNaN(parseInt(At))&&(it.height=parseInt(At)),this.objectImageUrls[et]=await this.LinkUrl({versionHash:et,linkPath:nt,queryParams:it})}return this.objectImageUrls[et]},tt.ContentObjectGraph=async function({libraryId:$,objectId:tt,versionHash:et,autoUpdate:nt=!1,select:it}){ut({libraryId:$,objectId:tt,versionHash:et}),this.Log(`Retrieving content object graph: ${$||""} ${tt||et}`),et&&(tt=this.utils.DecodeVersionHash(et).objectId);let at=At("q",et||tt,"links");try{return await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et}),queryParams:{auto_update:nt,select:it},method:"GET",path:at}))}catch($){let tt;try{const et=$.body.errors[0].cause.cause.cause.cycle;if(!et||0===et.length)throw $;let At={};await Promise.all(et.map(async $=>{if(At[$])return;const tt=this.utils.DecodeVersionHash($).objectId,et=await this.ContentObjectMetadata({versionHash:$,metadataSubtree:"public/asset_metadata/display_title"})||await this.ContentObjectMetadata({versionHash:$,metadataSubtree:"public/name"})||await this.ContentObjectMetadata({versionHash:$,metadataSubtree:"name"})||tt;At[$]={name:et,objectId:tt}})),tt=et.map($=>`${At[$].name} (${At[$].objectId})`)}catch(tt){throw $}throw new Error(`Cycle found in links: ${tt.join(" -> ")}`)}},tt.LinkTarget=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:At,linkPath:nt,authorizationToken:it,linkInfo:at}){if(ut({libraryId:$,objectId:tt,versionHash:et}),At&&ot(At),et&&(tt=this.utils.DecodeVersionHash(et).objectId),At&&!$&&($=await this.ContentObjectLibraryId({objectId:tt})),at||(at=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,writeToken:At,metadataSubtree:nt,resolveLinks:!1,resolveIgnoreErrors:!0,resolveIncludeSource:!0,authorizationToken:it})),at&&at["/"]){let $=((at["/"]||"").match(/^\/?qfab\/([\w]+)\/?.+/)||[])[1];return $||($=at["."].container),$||(et||(et||await this.LatestVersionHash({objectId:tt})))}if(!(at=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,writeToken:At,metadataSubtree:nt,resolveIncludeSource:!0,authorizationToken:it}))||!at["."]){if("object"==typeof at)return et||await this.LatestVersionHash({objectId:tt});const rt=nt.split("/").slice(0,-1).join("/");if(!rt)return et||await this.LatestVersionHash({objectId:tt});at=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,writeToken:At,metadataSubtree:rt,resolveIncludeSource:!0,authorizationToken:it})}return at["."].source},tt.LinkUrl=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:nt,linkPath:it,mimeType:at,authorizationToken:rt,queryParams:st={},channelAuth:ct=!1,noAuth:dt=!1}){if(ut({libraryId:$,objectId:tt,versionHash:et}),nt&&ot(nt),!it)throw Error("Link path not specified");let It;et&&(tt=this.utils.DecodeVersionHash(et).objectId),It=$?At("qlibs",$,"q",nt||et||tt,"meta",it):At("q",et,"meta",it);let ht=[rt];return dt||ht.push(await this.MetadataAuth({libraryId:$,objectId:tt,versionHash:et,path:it,channelAuth:ct})),st.authorization&&ht.push(st.authorization),st={...st,authorization:ht.flat().filter($=>$),resolve:!0},at&&(st["header-accept"]=at),this.HttpClient.URL({path:It,queryParams:st})},tt.LinkData=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:At,linkPath:it,queryParams:at={},format:rt="json",channelAuth:st}){const ot=await this.LinkUrl({libraryId:$,objectId:tt,versionHash:et,writeToken:At,linkPath:it,queryParams:at,channelAuth:st});return this.utils.ResponseToFormat(rt,await nt.Fetch(ot))},tt.CreateEncryptionConk=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:At,createKMSConk:nt=!0}){ut({libraryId:$,objectId:tt,versionHash:et}),ot(At),tt||(tt=client.DecodeVersionHash(et).objectId),$||($=await this.ContentObjectLibraryId({objectId:tt}));const it=`eluv.caps.iusr${this.utils.AddressToHash(this.signer.address)}`,at=await this.ContentObjectMetadata({libraryId:$,objectId:tt,writeToken:At,metadataSubtree:it});if(at?this.encryptionConks[tt]=await this.Crypto.DecryptCap(at,this.signer.signingKey.privateKey):(this.encryptionConks[tt]=await this.Crypto.GeneratePrimaryConk({spaceId:this.contentSpaceId,objectId:tt}),await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:At,metadataSubtree:it,metadata:await this.Crypto.EncryptConk(this.encryptionConks[tt],this.signer.signingKey.publicKey)})),nt)try{const et=await this.authClient.KMSAddress({objectId:tt}),nt=(await this.authClient.KMSInfo({objectId:tt})).publicKey,it=`eluv.caps.ikms${this.utils.AddressToHash(et)}`;await this.ContentObjectMetadata({libraryId:$,objectId:tt,writeToken:At,metadataSubtree:it})||await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:At,metadataSubtree:it,metadata:await this.Crypto.EncryptConk(this.encryptionConks[tt],nt)})}catch($){console.error("Failed to create encryption cap for KMS:"),console.error($)}return this.encryptionConks[tt]},tt.EncryptionConk=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:At,download:nt=!1}){ut({libraryId:$,objectId:tt,versionHash:et}),At&&ot(At),tt||(tt=client.DecodeVersionHash(et).objectId);const it=await this.authClient.Owner({id:tt});if(!this.utils.EqualAddress(it,this.signer.address))return nt?await this.authClient.ReEncryptionConk({libraryId:$,objectId:tt,versionHash:et}):await this.authClient.EncryptionConk({libraryId:$,objectId:tt,versionHash:et});if(!this.encryptionConks[tt]){const nt=`eluv.caps.iusr${this.utils.AddressToHash(this.signer.address)}`,it=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,writeToken:At,metadataSubtree:nt});if(it)this.encryptionConks[tt]=await this.Crypto.DecryptCap(it,this.signer.signingKey.privateKey);else{if(!At)throw"No encryption conk present for "+tt;await this.CreateEncryptionConk({libraryId:$,objectId:tt,versionHash:et,writeToken:At,createKMSConk:!1})}}return this.encryptionConks[tt]},tt.Encrypt=async function({libraryId:$,objectId:tt,writeToken:et,chunk:At}){ut({libraryId:$,objectId:tt});const nt=await this.EncryptionConk({libraryId:$,objectId:tt,writeToken:et}),it=await this.Crypto.Encrypt(nt,At);return it.buffer.slice(it.byteOffset,it.byteOffset+it.byteLength)},tt.Decrypt=async function({libraryId:$,objectId:tt,writeToken:et,chunk:At}){ut({libraryId:$,objectId:tt});const nt=await this.EncryptionConk({libraryId:$,objectId:tt,writeToken:et,download:!0}),it=await this.Crypto.Decrypt(nt,At);return it.buffer.slice(it.byteOffset,it.byteOffset+it.byteLength)},tt.AccessType=async function({id:$}){return await this.authClient.AccessType($)},tt.AccessInfo=async function({objectId:$,args:tt}){at($),tt||(tt=[0,[],[]]),this.Log(`Retrieving access info: ${$}`);const et=await this.ethClient.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"getAccessInfo",methodArgs:tt});return this.Log(et),{visibilityCode:et[0],visible:et[0]>=1,accessible:et[0]>=10,editable:et[0]>=100,hasAccess:0===et[1],accessCode:et[1],accessCharge:this.utils.WeiToEther(et[2]).toString()}},tt.AccessRequest=async function({libraryId:$,objectId:tt,versionHash:et,args:At=[],update:nt=!1,noCache:it=!1}){return ut({libraryId:$,objectId:tt,versionHash:et}),et&&(tt=this.utils.DecodeVersionHash(et).objectId),await this.authClient.MakeAccessRequest({libraryId:$,objectId:tt,versionHash:et,args:At,update:nt,skipCache:!0,noCache:it})},tt.SetAuthContext=function({context:$}){if($&&Object.values($).find($=>"string"!=typeof $))throw Error("Context must be a map of string->string");this.authContext=$},tt.GenerateStateChannelToken=async function({objectId:$,versionHash:tt,context:et,noCache:At=!1}){return tt?rt(tt):at($),tt?$=this.utils.DecodeVersionHash(tt).objectId:this.stateChannelAccess[$]||(tt=await this.LatestVersionHash({objectId:$})),this.stateChannelAccess[$]=tt,await this.authClient.AuthorizationToken({objectId:$,channelAuth:!0,oauthToken:this.oauthToken,context:et,noCache:At})},tt.FinalizeStateChannelAccess=async function({objectId:$,versionHash:tt,percentComplete:et}){tt?rt(tt):at($),tt?$=this.utils.DecodeVersionHash(tt).objectId:tt=this.stateChannelAccess[$]?this.stateChannelAccess[$]:await this.LatestVersionHash({objectId:$}),this.stateChannelAccess[$]=void 0,await this.authClient.ChannelContentFinalize({objectId:$,versionHash:tt,percent:et})},tt.ContentObjectAccessComplete=async function({objectId:$,score:tt=100}){if(at($),tt<0||tt>100)throw Error("Invalid AccessComplete score: "+tt);return await this.authClient.AccessComplete({id:$,score:tt})},tt.Collection=async function({collectionType:$}){if(!["accessGroups","contentObjects","contentTypes","contracts","libraries"].includes($))throw new Error("Invalid collection type: "+$);if(!(this.signer?await this.userProfileClient.WalletAddress():void 0))throw new Error("Unable to get collection: User wallet doesn't exist");return this.Log(`Retrieving ${$} contract collection for user ${this.signer.address}`),await this.ethClient.MakeProviderCall({methodName:"send",args:["elv_getWalletCollection",[this.contentSpaceId,`iusr${this.utils.AddressToHash(this.signer.address)}`,$]]})||[]},tt.VerifyContentObject=async function({libraryId:$,objectId:tt,versionHash:et}){return ut({libraryId:$,objectId:tt,versionHash:et}),await ContentObjectVerification.VerifyContentObject({client:this,libraryId:$,objectId:tt,versionHash:et})},tt.Proofs=async function({libraryId:$,objectId:tt,versionHash:et,partHash:nt}){ut({libraryId:$,objectId:tt,versionHash:et}),st(nt),et&&(tt=this.utils.DecodeVersionHash(et).objectId);let it=At("q",et||tt,"data",nt,"proofs");return this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et}),method:"GET",path:it}))},tt.QParts=async function({libraryId:$,objectId:tt,partHash:et,format:nt="blob"}){ut({libraryId:$,objectId:tt,versionHash:versionHash}),st(et);let it=At("qparts",et);return this.utils.ResponseToFormat(nt,this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,partHash:et}),method:"GET",path:it}))}},,,,,,,,function($,tt,et){"use strict";tt.randomBytes=tt.rng=tt.pseudoRandomBytes=tt.prng=et(191),tt.createHash=tt.Hash=et(196),tt.createHmac=tt.Hmac=et(236);var At=et(284),nt=Object.keys(At),it=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(nt);tt.getHashes=function(){return it};var at=et(237);tt.pbkdf2=at.pbkdf2,tt.pbkdf2Sync=at.pbkdf2Sync;var rt=et(289);tt.Cipher=rt.Cipher,tt.createCipher=rt.createCipher,tt.Cipheriv=rt.Cipheriv,tt.createCipheriv=rt.createCipheriv,tt.Decipher=rt.Decipher,tt.createDecipher=rt.createDecipher,tt.Decipheriv=rt.Decipheriv,tt.createDecipheriv=rt.createDecipheriv,tt.getCiphers=rt.getCiphers,tt.listCiphers=rt.listCiphers;var st=et(297);tt.DiffieHellmanGroup=st.DiffieHellmanGroup,tt.createDiffieHellmanGroup=st.createDiffieHellmanGroup,tt.getDiffieHellman=st.getDiffieHellman,tt.createDiffieHellman=st.createDiffieHellman,tt.DiffieHellman=st.DiffieHellman;var ot=et(300);tt.createSign=ot.createSign,tt.Sign=ot.Sign,tt.createVerify=ot.createVerify,tt.Verify=ot.Verify,tt.createECDH=et(311);var ut=et(312);tt.publicEncrypt=ut.publicEncrypt,tt.privateEncrypt=ut.privateEncrypt,tt.publicDecrypt=ut.publicDecrypt,tt.privateDecrypt=ut.privateDecrypt;var ct=et(316);tt.randomFill=ct.randomFill,tt.randomFillSync=ct.randomFillSync,tt.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},tt.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},function($,tt,et){"use strict";var At=et(168).Buffer,nt=et(205).Transform;function HashBase($){nt.call(this),this._block=At.allocUnsafe($),this._blockSize=$,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}et(164)(HashBase,nt),HashBase.prototype._transform=function($,tt,et){var At=null;try{this.update($,tt)}catch($){At=$}et(At)},HashBase.prototype._flush=function($){var tt=null;try{this.push(this.digest())}catch($){tt=$}$(tt)},HashBase.prototype.update=function($,tt){if(function throwIfNotStringOrBuffer($,tt){if(!At.isBuffer($)&&"string"!=typeof $)throw new TypeError(tt+" must be a string or a buffer")}($,"Data"),this._finalized)throw new Error("Digest already called");At.isBuffer($)||($=At.from($,tt));for(var et=this._block,nt=0;this._blockOffset+$.length-nt>=this._blockSize;){for(var it=this._blockOffset;it<this._blockSize;)et[it++]=$[nt++];this._update(),this._blockOffset=0}for(;nt<$.length;)et[this._blockOffset++]=$[nt++];for(var at=0,rt=8*$.length;rt>0;++at)this._length[at]+=rt,(rt=this._length[at]/4294967296|0)>0&&(this._length[at]-=4294967296*rt);return this},HashBase.prototype._update=function(){throw new Error("_update is not implemented")},HashBase.prototype.digest=function($){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var tt=this._digest();void 0!==$&&(tt=tt.toString($)),this._block.fill(0),this._blockOffset=0;for(var et=0;et<4;++et)this._length[et]=0;return tt},HashBase.prototype._digest=function(){throw new Error("_digest is not implemented")},$.exports=HashBase},function($,tt,et){var At=et(164),nt=et(197),it=et(168).Buffer,at=[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],rt=new Array(64);function Sha256(){this.init(),this._w=rt,nt.call(this,64,56)}function ch($,tt,et){return et^$&(tt^et)}function maj($,tt,et){return $&tt|et&($|tt)}function sigma0($){return($>>>2|$<<30)^($>>>13|$<<19)^($>>>22|$<<10)}function sigma1($){return($>>>6|$<<26)^($>>>11|$<<21)^($>>>25|$<<7)}function gamma0($){return($>>>7|$<<25)^($>>>18|$<<14)^$>>>3}At(Sha256,nt),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Sha256.prototype._update=function($){for(var tt,et=this._w,At=0|this._a,nt=0|this._b,it=0|this._c,rt=0|this._d,st=0|this._e,ot=0|this._f,ut=0|this._g,ct=0|this._h,dt=0;dt<16;++dt)et[dt]=$.readInt32BE(4*dt);for(;dt<64;++dt)et[dt]=0|(((tt=et[dt-2])>>>17|tt<<15)^(tt>>>19|tt<<13)^tt>>>10)+et[dt-7]+gamma0(et[dt-15])+et[dt-16];for(var It=0;It<64;++It){var ht=ct+sigma1(st)+ch(st,ot,ut)+at[It]+et[It]|0,pt=sigma0(At)+maj(At,nt,it)|0;ct=ut,ut=ot,ot=st,st=rt+ht|0,rt=it,it=nt,nt=At,At=ht+pt|0}this._a=At+this._a|0,this._b=nt+this._b|0,this._c=it+this._c|0,this._d=rt+this._d|0,this._e=st+this._e|0,this._f=ot+this._f|0,this._g=ut+this._g|0,this._h=ct+this._h|0},Sha256.prototype._hash=function(){var $=it.allocUnsafe(32);return $.writeInt32BE(this._a,0),$.writeInt32BE(this._b,4),$.writeInt32BE(this._c,8),$.writeInt32BE(this._d,12),$.writeInt32BE(this._e,16),$.writeInt32BE(this._f,20),$.writeInt32BE(this._g,24),$.writeInt32BE(this._h,28),$},$.exports=Sha256},function($,tt,et){var At=et(164),nt=et(197),it=et(168).Buffer,at=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],rt=new Array(160);function Sha512(){this.init(),this._w=rt,nt.call(this,128,112)}function Ch($,tt,et){return et^$&(tt^et)}function maj($,tt,et){return $&tt|et&($|tt)}function sigma0($,tt){return($>>>28|tt<<4)^(tt>>>2|$<<30)^(tt>>>7|$<<25)}function sigma1($,tt){return($>>>14|tt<<18)^($>>>18|tt<<14)^(tt>>>9|$<<23)}function Gamma0($,tt){return($>>>1|tt<<31)^($>>>8|tt<<24)^$>>>7}function Gamma0l($,tt){return($>>>1|tt<<31)^($>>>8|tt<<24)^($>>>7|tt<<25)}function Gamma1($,tt){return($>>>19|tt<<13)^(tt>>>29|$<<3)^$>>>6}function Gamma1l($,tt){return($>>>19|tt<<13)^(tt>>>29|$<<3)^($>>>6|tt<<26)}function getCarry($,tt){return $>>>0<tt>>>0?1:0}At(Sha512,nt),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},Sha512.prototype._update=function($){for(var tt=this._w,et=0|this._ah,At=0|this._bh,nt=0|this._ch,it=0|this._dh,rt=0|this._eh,st=0|this._fh,ot=0|this._gh,ut=0|this._hh,ct=0|this._al,dt=0|this._bl,It=0|this._cl,ht=0|this._dl,pt=0|this._el,yt=0|this._fl,Ct=0|this._gl,Bt=0|this._hl,Et=0;Et<32;Et+=2)tt[Et]=$.readInt32BE(4*Et),tt[Et+1]=$.readInt32BE(4*Et+4);for(;Et<160;Et+=2){var mt=tt[Et-30],Qt=tt[Et-30+1],bt=Gamma0(mt,Qt),wt=Gamma0l(Qt,mt),vt=Gamma1(mt=tt[Et-4],Qt=tt[Et-4+1]),Mt=Gamma1l(Qt,mt),Dt=tt[Et-14],St=tt[Et-14+1],kt=tt[Et-32],_t=tt[Et-32+1],Rt=wt+St|0,Nt=bt+Dt+getCarry(Rt,wt)|0;Nt=(Nt=Nt+vt+getCarry(Rt=Rt+Mt|0,Mt)|0)+kt+getCarry(Rt=Rt+_t|0,_t)|0,tt[Et]=Nt,tt[Et+1]=Rt}for(var Ht=0;Ht<160;Ht+=2){Nt=tt[Ht],Rt=tt[Ht+1];var Ft=maj(et,At,nt),Gt=maj(ct,dt,It),Ut=sigma0(et,ct),xt=sigma0(ct,et),Lt=sigma1(rt,pt),Tt=sigma1(pt,rt),Yt=at[Ht],Ot=at[Ht+1],Kt=Ch(rt,st,ot),Pt=Ch(pt,yt,Ct),qt=Bt+Tt|0,jt=ut+Lt+getCarry(qt,Bt)|0;jt=(jt=(jt=jt+Kt+getCarry(qt=qt+Pt|0,Pt)|0)+Yt+getCarry(qt=qt+Ot|0,Ot)|0)+Nt+getCarry(qt=qt+Rt|0,Rt)|0;var Jt=xt+Gt|0,zt=Ut+Ft+getCarry(Jt,xt)|0;ut=ot,Bt=Ct,ot=st,Ct=yt,st=rt,yt=pt,rt=it+jt+getCarry(pt=ht+qt|0,ht)|0,it=nt,ht=It,nt=At,It=dt,At=et,dt=ct,et=jt+zt+getCarry(ct=qt+Jt|0,qt)|0}this._al=this._al+ct|0,this._bl=this._bl+dt|0,this._cl=this._cl+It|0,this._dl=this._dl+ht|0,this._el=this._el+pt|0,this._fl=this._fl+yt|0,this._gl=this._gl+Ct|0,this._hl=this._hl+Bt|0,this._ah=this._ah+et+getCarry(this._al,ct)|0,this._bh=this._bh+At+getCarry(this._bl,dt)|0,this._ch=this._ch+nt+getCarry(this._cl,It)|0,this._dh=this._dh+it+getCarry(this._dl,ht)|0,this._eh=this._eh+rt+getCarry(this._el,pt)|0,this._fh=this._fh+st+getCarry(this._fl,yt)|0,this._gh=this._gh+ot+getCarry(this._gl,Ct)|0,this._hh=this._hh+ut+getCarry(this._hl,Bt)|0},Sha512.prototype._hash=function(){var $=it.allocUnsafe(64);function writeInt64BE(tt,et,At){$.writeInt32BE(tt,At),$.writeInt32BE(et,At+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),$},$.exports=Sha512},function($,tt,et){var At=et(233);$.exports=function($){return(new At).update($).digest()}},function($,tt,et){$.exports=et(285)},function($){$.exports=JSON.parse('{"sha224WithRSAEncryption":{"sign":"rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"RSA-SHA224":{"sign":"ecdsa/rsa","hash":"sha224","id":"302d300d06096086480165030402040500041c"},"sha256WithRSAEncryption":{"sign":"rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"RSA-SHA256":{"sign":"ecdsa/rsa","hash":"sha256","id":"3031300d060960864801650304020105000420"},"sha384WithRSAEncryption":{"sign":"rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"RSA-SHA384":{"sign":"ecdsa/rsa","hash":"sha384","id":"3041300d060960864801650304020205000430"},"sha512WithRSAEncryption":{"sign":"rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA512":{"sign":"ecdsa/rsa","hash":"sha512","id":"3051300d060960864801650304020305000440"},"RSA-SHA1":{"sign":"rsa","hash":"sha1","id":"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{"sign":"ecdsa","hash":"sha1","id":""},"sha256":{"sign":"ecdsa","hash":"sha256","id":""},"sha224":{"sign":"ecdsa","hash":"sha224","id":""},"sha384":{"sign":"ecdsa","hash":"sha384","id":""},"sha512":{"sign":"ecdsa","hash":"sha512","id":""},"DSA-SHA":{"sign":"dsa","hash":"sha1","id":""},"DSA-SHA1":{"sign":"dsa","hash":"sha1","id":""},"DSA":{"sign":"dsa","hash":"sha1","id":""},"DSA-WITH-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-SHA224":{"sign":"dsa","hash":"sha224","id":""},"DSA-WITH-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-SHA256":{"sign":"dsa","hash":"sha256","id":""},"DSA-WITH-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-SHA384":{"sign":"dsa","hash":"sha384","id":""},"DSA-WITH-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-SHA512":{"sign":"dsa","hash":"sha512","id":""},"DSA-RIPEMD160":{"sign":"dsa","hash":"rmd160","id":""},"ripemd160WithRSA":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"RSA-RIPEMD160":{"sign":"rsa","hash":"rmd160","id":"3021300906052b2403020105000414"},"md5WithRSAEncryption":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"},"RSA-MD5":{"sign":"rsa","hash":"md5","id":"3020300c06082a864886f70d020505000410"}}')},function($,tt,et){(function(tt){var et=Math.pow(2,30)-1;function checkBuffer($,et){if("string"!=typeof $&&!tt.isBuffer($))throw new TypeError(et+" must be a buffer or string")}$.exports=function($,tt,At,nt){if(checkBuffer($,"Password"),checkBuffer(tt,"Salt"),"number"!=typeof At)throw new TypeError("Iterations not a number");if(At<0)throw new TypeError("Bad iterations");if("number"!=typeof nt)throw new TypeError("Key length not a number");if(nt<0||nt>et||nt!=nt)throw new TypeError("Bad key length")}}).call(this,et(170).Buffer)},function($,tt,et){(function(tt){var et;tt.browser?et="utf-8":et=parseInt(tt.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary";$.exports=et}).call(this,et(172))},function($,tt,et){var At=et(283),nt=et(234),it=et(235),at=et(286),rt=et(287),st=et(168).Buffer,ot=st.alloc(128),ut={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Hmac($,tt,et){var at=function getDigest($){function shaFunc(tt){return it($).update(tt).digest()}return"rmd160"===$||"ripemd160"===$?function rmd160Func($){return(new nt).update($).digest()}:"md5"===$?At:shaFunc}($),rt="sha512"===$||"sha384"===$?128:64;tt.length>rt?tt=at(tt):tt.length<rt&&(tt=st.concat([tt,ot],rt));for(var ct=st.allocUnsafe(rt+ut[$]),dt=st.allocUnsafe(rt+ut[$]),It=0;It<rt;It++)ct[It]=54^tt[It],dt[It]=92^tt[It];var ht=st.allocUnsafe(rt+et+4);ct.copy(ht,0,0,rt),this.ipad1=ht,this.ipad2=ct,this.opad=dt,this.alg=$,this.blocksize=rt,this.hash=at,this.size=ut[$]}Hmac.prototype.run=function($,tt){return $.copy(tt,this.blocksize),this.hash(tt).copy(this.opad,this.blocksize),this.hash(this.opad)},$.exports=function pbkdf2($,tt,et,At,nt){at($,tt,et,At),st.isBuffer($)||($=st.from($,rt)),st.isBuffer(tt)||(tt=st.from(tt,rt));var it=new Hmac(nt=nt||"sha1",$,tt.length),ot=st.allocUnsafe(At),ct=st.allocUnsafe(tt.length+4);tt.copy(ct,0,0,tt.length);for(var dt=0,It=ut[nt],ht=Math.ceil(At/It),pt=1;pt<=ht;pt++){ct.writeUInt32BE(pt,tt.length);for(var yt=it.run(ct,it.ipad1),Ct=yt,Bt=1;Bt<et;Bt++){Ct=it.run(Ct,it.ipad2);for(var Et=0;Et<It;Et++)yt[Et]^=Ct[Et]}yt.copy(ot,dt),dt+=It}return ot}},function($,tt,et){var At=et(399),nt=et(239),it=et(240),at=et(412),rt=et(220);function createCipheriv($,tt,et){if($=$.toLowerCase(),it[$])return nt.createCipheriv($,tt,et);if(at[$])return new At({key:tt,iv:et,mode:$});throw new TypeError("invalid suite type")}function createDecipheriv($,tt,et){if($=$.toLowerCase(),it[$])return nt.createDecipheriv($,tt,et);if(at[$])return new At({key:tt,iv:et,mode:$,decrypt:!0});throw new TypeError("invalid suite type")}tt.createCipher=tt.Cipher=function createCipher($,tt){var et,At;if($=$.toLowerCase(),it[$])et=it[$].key,At=it[$].iv;else{if(!at[$])throw new TypeError("invalid suite type");et=8*at[$].key,At=at[$].iv}var nt=rt(tt,!1,et,At);return createCipheriv($,nt.key,nt.iv)},tt.createCipheriv=tt.Cipheriv=createCipheriv,tt.createDecipher=tt.Decipher=function createDecipher($,tt){var et,At;if($=$.toLowerCase(),it[$])et=it[$].key,At=it[$].iv;else{if(!at[$])throw new TypeError("invalid suite type");et=8*at[$].key,At=at[$].iv}var nt=rt(tt,!1,et,At);return createDecipheriv($,nt.key,nt.iv)},tt.createDecipheriv=tt.Decipheriv=createDecipheriv,tt.listCiphers=tt.getCiphers=function getCiphers(){return Object.keys(at).concat(nt.getCiphers())}},function($,tt,et){"use strict";tt.readUInt32BE=function readUInt32BE($,tt){return($[0+tt]<<24|$[1+tt]<<16|$[2+tt]<<8|$[3+tt])>>>0},tt.writeUInt32BE=function writeUInt32BE($,tt,et){$[0+et]=tt>>>24,$[1+et]=tt>>>16&255,$[2+et]=tt>>>8&255,$[3+et]=255&tt},tt.ip=function ip($,tt,et,At){for(var nt=0,it=0,at=6;at>=0;at-=2){for(var rt=0;rt<=24;rt+=8)nt<<=1,nt|=tt>>>rt+at&1;for(rt=0;rt<=24;rt+=8)nt<<=1,nt|=$>>>rt+at&1}for(at=6;at>=0;at-=2){for(rt=1;rt<=25;rt+=8)it<<=1,it|=tt>>>rt+at&1;for(rt=1;rt<=25;rt+=8)it<<=1,it|=$>>>rt+at&1}et[At+0]=nt>>>0,et[At+1]=it>>>0},tt.rip=function rip($,tt,et,At){for(var nt=0,it=0,at=0;at<4;at++)for(var rt=24;rt>=0;rt-=8)nt<<=1,nt|=tt>>>rt+at&1,nt<<=1,nt|=$>>>rt+at&1;for(at=4;at<8;at++)for(rt=24;rt>=0;rt-=8)it<<=1,it|=tt>>>rt+at&1,it<<=1,it|=$>>>rt+at&1;et[At+0]=nt>>>0,et[At+1]=it>>>0},tt.pc1=function pc1($,tt,et,At){for(var nt=0,it=0,at=7;at>=5;at--){for(var rt=0;rt<=24;rt+=8)nt<<=1,nt|=tt>>rt+at&1;for(rt=0;rt<=24;rt+=8)nt<<=1,nt|=$>>rt+at&1}for(rt=0;rt<=24;rt+=8)nt<<=1,nt|=tt>>rt+at&1;for(at=1;at<=3;at++){for(rt=0;rt<=24;rt+=8)it<<=1,it|=tt>>rt+at&1;for(rt=0;rt<=24;rt+=8)it<<=1,it|=$>>rt+at&1}for(rt=0;rt<=24;rt+=8)it<<=1,it|=$>>rt+at&1;et[At+0]=nt>>>0,et[At+1]=it>>>0},tt.r28shl=function r28shl($,tt){return $<<tt&268435455|$>>>28-tt};var At=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];tt.pc2=function pc2($,tt,et,nt){for(var it=0,at=0,rt=At.length>>>1,st=0;st<rt;st++)it<<=1,it|=$>>>At[st]&1;for(st=rt;st<At.length;st++)at<<=1,at|=tt>>>At[st]&1;et[nt+0]=it>>>0,et[nt+1]=at>>>0},tt.expand=function expand($,tt,et){var At=0,nt=0;At=(1&$)<<5|$>>>27;for(var it=23;it>=15;it-=4)At<<=6,At|=$>>>it&63;for(it=11;it>=3;it-=4)nt|=$>>>it&63,nt<<=6;nt|=(31&$)<<1|$>>>31,tt[et+0]=At>>>0,tt[et+1]=nt>>>0};var nt=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];tt.substitute=function substitute($,tt){for(var et=0,At=0;At<4;At++){et<<=4,et|=nt[64*At+($>>>18-6*At&63)]}for(At=0;At<4;At++){et<<=4,et|=nt[256+64*At+(tt>>>18-6*At&63)]}return et>>>0};var it=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];tt.permute=function permute($){for(var tt=0,et=0;et<it.length;et++)tt<<=1,tt|=$>>>it[et]&1;return tt>>>0},tt.padSplit=function padSplit($,tt,et){for(var At=$.toString(2);At.length<tt;)At="0"+At;for(var nt=[],it=0;it<tt;it+=et)nt.push(At.slice(it,it+et));return nt.join(" ")}},function($,tt,et){"use strict";var At=et(177),nt=et(164),it=et(290),at=et(238);function DESState(){this.tmp=new Array(2),this.keys=null}function DES($){at.call(this,$);var tt=new DESState;this._desState=tt,this.deriveKeys(tt,$.key)}nt(DES,at),$.exports=DES,DES.create=function create($){return new DES($)};var rt=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function deriveKeys($,tt){$.keys=new Array(32),At.equal(tt.length,this.blockSize,"Invalid key length");var et=it.readUInt32BE(tt,0),nt=it.readUInt32BE(tt,4);it.pc1(et,nt,$.tmp,0),et=$.tmp[0],nt=$.tmp[1];for(var at=0;at<$.keys.length;at+=2){var st=rt[at>>>1];et=it.r28shl(et,st),nt=it.r28shl(nt,st),it.pc2(et,nt,$.keys,at)}},DES.prototype._update=function _update($,tt,et,At){var nt=this._desState,at=it.readUInt32BE($,tt),rt=it.readUInt32BE($,tt+4);it.ip(at,rt,nt.tmp,0),at=nt.tmp[0],rt=nt.tmp[1],"encrypt"===this.type?this._encrypt(nt,at,rt,nt.tmp,0):this._decrypt(nt,at,rt,nt.tmp,0),at=nt.tmp[0],rt=nt.tmp[1],it.writeUInt32BE(et,at,At),it.writeUInt32BE(et,rt,At+4)},DES.prototype._pad=function _pad($,tt){for(var et=$.length-tt,At=tt;At<$.length;At++)$[At]=et;return!0},DES.prototype._unpad=function _unpad($){for(var tt=$[$.length-1],et=$.length-tt;et<$.length;et++)At.equal($[et],tt);return $.slice(0,$.length-tt)},DES.prototype._encrypt=function _encrypt($,tt,et,At,nt){for(var at=tt,rt=et,st=0;st<$.keys.length;st+=2){var ot=$.keys[st],ut=$.keys[st+1];it.expand(rt,$.tmp,0),ot^=$.tmp[0],ut^=$.tmp[1];var ct=it.substitute(ot,ut),dt=rt;rt=(at^it.permute(ct))>>>0,at=dt}it.rip(rt,at,At,nt)},DES.prototype._decrypt=function _decrypt($,tt,et,At,nt){for(var at=et,rt=tt,st=$.keys.length-2;st>=0;st-=2){var ot=$.keys[st],ut=$.keys[st+1];it.expand(at,$.tmp,0),ot^=$.tmp[0],ut^=$.tmp[1];var ct=it.substitute(ot,ut),dt=at;at=(rt^it.permute(ct))>>>0,rt=dt}it.rip(at,rt,At,nt)}},function($,tt,et){var At=et(208),nt=et(168).Buffer,it=et(293);function getBlock($){var tt=$._cipher.encryptBlockRaw($._prev);return it($._prev),tt}tt.encrypt=function($,tt){var et=Math.ceil(tt.length/16),it=$._cache.length;$._cache=nt.concat([$._cache,nt.allocUnsafe(16*et)]);for(var at=0;at<et;at++){var rt=getBlock($),st=it+16*at;$._cache.writeUInt32BE(rt[0],st+0),$._cache.writeUInt32BE(rt[1],st+4),$._cache.writeUInt32BE(rt[2],st+8),$._cache.writeUInt32BE(rt[3],st+12)}var ot=$._cache.slice(0,tt.length);return $._cache=$._cache.slice(tt.length),At(tt,ot)}},function($,tt){$.exports=function incr32($){for(var tt,et=$.length;et--;){if(255!==(tt=$.readUInt8(et))){tt++,$.writeUInt8(tt,et);break}$.writeUInt8(0,et)}}},function($){$.exports=JSON.parse('{"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","type":"block"},"aes-192-ecb":{"cipher":"AES","key":192,"iv":0,"mode":"ECB","type":"block"},"aes-256-ecb":{"cipher":"AES","key":256,"iv":0,"mode":"ECB","type":"block"},"aes-128-cbc":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes-192-cbc":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes-256-cbc":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes128":{"cipher":"AES","key":128,"iv":16,"mode":"CBC","type":"block"},"aes192":{"cipher":"AES","key":192,"iv":16,"mode":"CBC","type":"block"},"aes256":{"cipher":"AES","key":256,"iv":16,"mode":"CBC","type":"block"},"aes-128-cfb":{"cipher":"AES","key":128,"iv":16,"mode":"CFB","type":"stream"},"aes-192-cfb":{"cipher":"AES","key":192,"iv":16,"mode":"CFB","type":"stream"},"aes-256-cfb":{"cipher":"AES","key":256,"iv":16,"mode":"CFB","type":"stream"},"aes-128-cfb8":{"cipher":"AES","key":128,"iv":16,"mode":"CFB8","type":"stream"},"aes-192-cfb8":{"cipher":"AES","key":192,"iv":16,"mode":"CFB8","type":"stream"},"aes-256-cfb8":{"cipher":"AES","key":256,"iv":16,"mode":"CFB8","type":"stream"},"aes-128-cfb1":{"cipher":"AES","key":128,"iv":16,"mode":"CFB1","type":"stream"},"aes-192-cfb1":{"cipher":"AES","key":192,"iv":16,"mode":"CFB1","type":"stream"},"aes-256-cfb1":{"cipher":"AES","key":256,"iv":16,"mode":"CFB1","type":"stream"},"aes-128-ofb":{"cipher":"AES","key":128,"iv":16,"mode":"OFB","type":"stream"},"aes-192-ofb":{"cipher":"AES","key":192,"iv":16,"mode":"OFB","type":"stream"},"aes-256-ofb":{"cipher":"AES","key":256,"iv":16,"mode":"OFB","type":"stream"},"aes-128-ctr":{"cipher":"AES","key":128,"iv":16,"mode":"CTR","type":"stream"},"aes-192-ctr":{"cipher":"AES","key":192,"iv":16,"mode":"CTR","type":"stream"},"aes-256-ctr":{"cipher":"AES","key":256,"iv":16,"mode":"CTR","type":"stream"},"aes-128-gcm":{"cipher":"AES","key":128,"iv":12,"mode":"GCM","type":"auth"},"aes-192-gcm":{"cipher":"AES","key":192,"iv":12,"mode":"GCM","type":"auth"},"aes-256-gcm":{"cipher":"AES","key":256,"iv":12,"mode":"GCM","type":"auth"}}')},function($,tt,et){var At=et(219),nt=et(168).Buffer,it=et(188),at=et(164),rt=et(410),st=et(208),ot=et(293);function StreamCipher($,tt,et,at){it.call(this);var st=nt.alloc(4,0);this._cipher=new At.AES(tt);var ut=this._cipher.encryptBlock(st);this._ghash=new rt(ut),et=function calcIv($,tt,et){if(12===tt.length)return $._finID=nt.concat([tt,nt.from([0,0,0,1])]),nt.concat([tt,nt.from([0,0,0,2])]);var At=new rt(et),it=tt.length,at=it%16;At.update(tt),at&&(at=16-at,At.update(nt.alloc(at,0))),At.update(nt.alloc(8,0));var st=8*it,ut=nt.alloc(8);ut.writeUIntBE(st,0,8),At.update(ut),$._finID=At.state;var ct=nt.from($._finID);return ot(ct),ct}(this,et,ut),this._prev=nt.from(et),this._cache=nt.allocUnsafe(0),this._secCache=nt.allocUnsafe(0),this._decrypt=at,this._alen=0,this._len=0,this._mode=$,this._authTag=null,this._called=!1}at(StreamCipher,it),StreamCipher.prototype._update=function($){if(!this._called&&this._alen){var tt=16-this._alen%16;tt<16&&(tt=nt.alloc(tt,0),this._ghash.update(tt))}this._called=!0;var et=this._mode.encrypt(this,$);return this._decrypt?this._ghash.update($):this._ghash.update(et),this._len+=$.length,et},StreamCipher.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var $=st(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function xorTest($,tt){var et=0;$.length!==tt.length&&et++;for(var At=Math.min($.length,tt.length),nt=0;nt<At;++nt)et+=$[nt]^tt[nt];return et}($,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=$,this._cipher.scrub()},StreamCipher.prototype.getAuthTag=function getAuthTag(){if(this._decrypt||!nt.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},StreamCipher.prototype.setAuthTag=function setAuthTag($){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=$},StreamCipher.prototype.setAAD=function setAAD($){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update($),this._alen+=$.length},$.exports=StreamCipher},function($,tt,et){var At=et(219),nt=et(168).Buffer,it=et(188);function StreamCipher($,tt,et,at){it.call(this),this._cipher=new At.AES(tt),this._prev=nt.from(et),this._cache=nt.allocUnsafe(0),this._secCache=nt.allocUnsafe(0),this._decrypt=at,this._mode=$}et(164)(StreamCipher,it),StreamCipher.prototype._update=function($){return this._mode.encrypt(this,$,this._decrypt)},StreamCipher.prototype._final=function(){this._cipher.scrub()},$.exports=StreamCipher},function($,tt,et){(function($){var At=et(298),nt=et(415),it=et(416);var at={binary:!0,hex:!0,base64:!0};tt.DiffieHellmanGroup=tt.createDiffieHellmanGroup=tt.getDiffieHellman=function getDiffieHellman(tt){var et=new $(nt[tt].prime,"hex"),At=new $(nt[tt].gen,"hex");return new it(et,At)},tt.createDiffieHellman=tt.DiffieHellman=function createDiffieHellman(tt,et,nt,rt){return $.isBuffer(et)||void 0===at[et]?createDiffieHellman(tt,"binary",et,nt):(et=et||"binary",rt=rt||"binary",nt=nt||new $([2]),$.isBuffer(nt)||(nt=new $(nt,rt)),"number"==typeof tt?new it(At(tt,nt),nt,!0):($.isBuffer(tt)||(tt=new $(tt,et)),new it(tt,nt,!0)))}}).call(this,et(170).Buffer)},function($,tt,et){var At=et(191);$.exports=findPrime,findPrime.simpleSieve=simpleSieve,findPrime.fermatTest=fermatTest;var nt=et(179),it=new nt(24),at=new(et(299)),rt=new nt(1),st=new nt(2),ot=new nt(5),ut=(new nt(16),new nt(8),new nt(10)),ct=new nt(3),dt=(new nt(7),new nt(11)),It=new nt(4),ht=(new nt(12),null);function _getPrimes(){if(null!==ht)return ht;var $=[];$[0]=2;for(var tt=1,et=3;et<1048576;et+=2){for(var At=Math.ceil(Math.sqrt(et)),nt=0;nt<tt&&$[nt]<=At&&et%$[nt]!=0;nt++);tt!==nt&&$[nt]<=At||($[tt++]=et)}return ht=$,$}function simpleSieve($){for(var tt=_getPrimes(),et=0;et<tt.length;et++)if(0===$.modn(tt[et]))return 0===$.cmpn(tt[et]);return!0}function fermatTest($){var tt=nt.mont($);return 0===st.toRed(tt).redPow($.subn(1)).fromRed().cmpn(1)}function findPrime($,tt){if($<16)return new nt(2===tt||5===tt?[140,123]:[140,39]);var et,ht;for(tt=new nt(tt);;){for(et=new nt(At(Math.ceil($/8)));et.bitLength()>$;)et.ishrn(1);if(et.isEven()&&et.iadd(rt),et.testn(1)||et.iadd(st),tt.cmp(st)){if(!tt.cmp(ot))for(;et.mod(ut).cmp(ct);)et.iadd(It)}else for(;et.mod(it).cmp(dt);)et.iadd(It);if(simpleSieve(ht=et.shrn(1))&&simpleSieve(et)&&fermatTest(ht)&&fermatTest(et)&&at.test(ht)&&at.test(et))return et}}},function($,tt,et){var At=et(179),nt=et(241);function MillerRabin($){this.rand=$||new nt.Rand}$.exports=MillerRabin,MillerRabin.create=function create($){return new MillerRabin($)},MillerRabin.prototype._randbelow=function _randbelow($){var tt=$.bitLength(),et=Math.ceil(tt/8);do{var nt=new At(this.rand.generate(et))}while(nt.cmp($)>=0);return nt},MillerRabin.prototype._randrange=function _randrange($,tt){var et=tt.sub($);return $.add(this._randbelow(et))},MillerRabin.prototype.test=function test($,tt,et){var nt=$.bitLength(),it=At.mont($),at=new At(1).toRed(it);tt||(tt=Math.max(1,nt/48|0));for(var rt=$.subn(1),st=0;!rt.testn(st);st++);for(var ot=$.shrn(st),ut=rt.toRed(it);tt>0;tt--){var ct=this._randrange(new At(2),rt);et&&et(ct);var dt=ct.toRed(it).redPow(ot);if(0!==dt.cmp(at)&&0!==dt.cmp(ut)){for(var It=1;It<st;It++){if(0===(dt=dt.redSqr()).cmp(at))return!1;if(0===dt.cmp(ut))break}if(It===st)return!1}}return!0},MillerRabin.prototype.getDivisor=function getDivisor($,tt){var et=$.bitLength(),nt=At.mont($),it=new At(1).toRed(nt);tt||(tt=Math.max(1,et/48|0));for(var at=$.subn(1),rt=0;!at.testn(rt);rt++);for(var st=$.shrn(rt),ot=at.toRed(nt);tt>0;tt--){var ut=this._randrange(new At(2),at),ct=$.gcd(ut);if(0!==ct.cmpn(1))return ct;var dt=ut.toRed(nt).redPow(st);if(0!==dt.cmp(it)&&0!==dt.cmp(ot)){for(var It=1;It<rt;It++){if(0===(dt=dt.redSqr()).cmp(it))return dt.fromRed().subn(1).gcd($);if(0===dt.cmp(ot))break}if(It===rt)return(dt=dt.redSqr()).fromRed().subn(1).gcd($)}}return!1}},function($,tt,et){(function(tt){var At=et(196),nt=et(205),it=et(164),at=et(417),rt=et(450),st=et(285);function Sign($){nt.Writable.call(this);var tt=st[$];if(!tt)throw new Error("Unknown message digest");this._hashType=tt.hash,this._hash=At(tt.hash),this._tag=tt.id,this._signType=tt.sign}function Verify($){nt.Writable.call(this);var tt=st[$];if(!tt)throw new Error("Unknown message digest");this._hash=At(tt.hash),this._tag=tt.id,this._signType=tt.sign}function createSign($){return new Sign($)}function createVerify($){return new Verify($)}Object.keys(st).forEach((function($){st[$].id=new tt(st[$].id,"hex"),st[$.toLowerCase()]=st[$]})),it(Sign,nt.Writable),Sign.prototype._write=function _write($,tt,et){this._hash.update($),et()},Sign.prototype.update=function update($,et){return"string"==typeof $&&($=new tt($,et)),this._hash.update($),this},Sign.prototype.sign=function signMethod($,tt){this.end();var et=this._hash.digest(),At=at(et,$,this._hashType,this._signType,this._tag);return tt?At.toString(tt):At},it(Verify,nt.Writable),Verify.prototype._write=function _write($,tt,et){this._hash.update($),et()},Verify.prototype.update=function update($,et){return"string"==typeof $&&($=new tt($,et)),this._hash.update($),this},Verify.prototype.verify=function verifyMethod($,et,At){"string"==typeof et&&(et=new tt(et,At)),this.end();var nt=this._hash.digest();return rt(et,nt,$,this._signType,this._tag)},$.exports={Sign:createSign,Verify:createVerify,createSign:createSign,createVerify:createVerify}}).call(this,et(170).Buffer)},function($,tt,et){"use strict";var At=tt;function zero2($){return 1===$.length?"0"+$:$}function toHex($){for(var tt="",et=0;et<$.length;et++)tt+=zero2($[et].toString(16));return tt}At.toArray=function toArray($,tt){if(Array.isArray($))return $.slice();if(!$)return[];var et=[];if("string"!=typeof $){for(var At=0;At<$.length;At++)et[At]=0|$[At];return et}if("hex"===tt){($=$.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&($="0"+$);for(At=0;At<$.length;At+=2)et.push(parseInt($[At]+$[At+1],16))}else for(At=0;At<$.length;At++){var nt=$.charCodeAt(At),it=nt>>8,at=255&nt;it?et.push(it,at):et.push(at)}return et},At.zero2=zero2,At.toHex=toHex,At.encode=function encode($,tt){return"hex"===tt?toHex($):$}},function($,tt,et){"use strict";var At=tt;At.base=et(221),At.short=et(420),At.mont=et(421),At.edwards=et(422)},function($,tt,et){"use strict";var At=et(182).rotr32;function ch32($,tt,et){return $&tt^~$&et}function maj32($,tt,et){return $&tt^$&et^tt&et}function p32($,tt,et){return $^tt^et}tt.ft_1=function ft_1($,tt,et,At){return 0===$?ch32(tt,et,At):1===$||3===$?p32(tt,et,At):2===$?maj32(tt,et,At):void 0},tt.ch32=ch32,tt.maj32=maj32,tt.p32=p32,tt.s0_256=function s0_256($){return At($,2)^At($,13)^At($,22)},tt.s1_256=function s1_256($){return At($,6)^At($,11)^At($,25)},tt.g0_256=function g0_256($){return At($,7)^At($,18)^$>>>3},tt.g1_256=function g1_256($){return At($,17)^At($,19)^$>>>10}},function($,tt,et){"use strict";var At=et(182),nt=et(209),it=et(303),at=et(177),rt=At.sum32,st=At.sum32_4,ot=At.sum32_5,ut=it.ch32,ct=it.maj32,dt=it.s0_256,It=it.s1_256,ht=it.g0_256,pt=it.g1_256,yt=nt.BlockHash,Ct=[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 SHA256(){if(!(this instanceof SHA256))return new SHA256;yt.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=Ct,this.W=new Array(64)}At.inherits(SHA256,yt),$.exports=SHA256,SHA256.blockSize=512,SHA256.outSize=256,SHA256.hmacStrength=192,SHA256.padLength=64,SHA256.prototype._update=function _update($,tt){for(var et=this.W,At=0;At<16;At++)et[At]=$[tt+At];for(;At<et.length;At++)et[At]=st(pt(et[At-2]),et[At-7],ht(et[At-15]),et[At-16]);var nt=this.h[0],it=this.h[1],yt=this.h[2],Ct=this.h[3],Bt=this.h[4],Et=this.h[5],mt=this.h[6],Qt=this.h[7];for(at(this.k.length===et.length),At=0;At<et.length;At++){var bt=ot(Qt,It(Bt),ut(Bt,Et,mt),this.k[At],et[At]),wt=rt(dt(nt),ct(nt,it,yt));Qt=mt,mt=Et,Et=Bt,Bt=rt(Ct,bt),Ct=yt,yt=it,it=nt,nt=rt(bt,wt)}this.h[0]=rt(this.h[0],nt),this.h[1]=rt(this.h[1],it),this.h[2]=rt(this.h[2],yt),this.h[3]=rt(this.h[3],Ct),this.h[4]=rt(this.h[4],Bt),this.h[5]=rt(this.h[5],Et),this.h[6]=rt(this.h[6],mt),this.h[7]=rt(this.h[7],Qt)},SHA256.prototype._digest=function digest($){return"hex"===$?At.toHex32(this.h,"big"):At.split32(this.h,"big")}},function($,tt,et){"use strict";var At=et(182),nt=et(209),it=et(177),at=At.rotr64_hi,rt=At.rotr64_lo,st=At.shr64_hi,ot=At.shr64_lo,ut=At.sum64,ct=At.sum64_hi,dt=At.sum64_lo,It=At.sum64_4_hi,ht=At.sum64_4_lo,pt=At.sum64_5_hi,yt=At.sum64_5_lo,Ct=nt.BlockHash,Bt=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;Ct.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Bt,this.W=new Array(160)}function ch64_hi($,tt,et,At,nt){var it=$&et^~$&nt;return it<0&&(it+=4294967296),it}function ch64_lo($,tt,et,At,nt,it){var at=tt&At^~tt⁢return at<0&&(at+=4294967296),at}function maj64_hi($,tt,et,At,nt){var it=$&et^$&nt^et&nt;return it<0&&(it+=4294967296),it}function maj64_lo($,tt,et,At,nt,it){var at=tt&At^tt&it^At⁢return at<0&&(at+=4294967296),at}function s0_512_hi($,tt){var et=at($,tt,28)^at(tt,$,2)^at(tt,$,7);return et<0&&(et+=4294967296),et}function s0_512_lo($,tt){var et=rt($,tt,28)^rt(tt,$,2)^rt(tt,$,7);return et<0&&(et+=4294967296),et}function s1_512_hi($,tt){var et=at($,tt,14)^at($,tt,18)^at(tt,$,9);return et<0&&(et+=4294967296),et}function s1_512_lo($,tt){var et=rt($,tt,14)^rt($,tt,18)^rt(tt,$,9);return et<0&&(et+=4294967296),et}function g0_512_hi($,tt){var et=at($,tt,1)^at($,tt,8)^st($,tt,7);return et<0&&(et+=4294967296),et}function g0_512_lo($,tt){var et=rt($,tt,1)^rt($,tt,8)^ot($,tt,7);return et<0&&(et+=4294967296),et}function g1_512_hi($,tt){var et=at($,tt,19)^at(tt,$,29)^st($,tt,6);return et<0&&(et+=4294967296),et}function g1_512_lo($,tt){var et=rt($,tt,19)^rt(tt,$,29)^ot($,tt,6);return et<0&&(et+=4294967296),et}At.inherits(SHA512,Ct),$.exports=SHA512,SHA512.blockSize=1024,SHA512.outSize=512,SHA512.hmacStrength=192,SHA512.padLength=128,SHA512.prototype._prepareBlock=function _prepareBlock($,tt){for(var et=this.W,At=0;At<32;At++)et[At]=$[tt+At];for(;At<et.length;At+=2){var nt=g1_512_hi(et[At-4],et[At-3]),it=g1_512_lo(et[At-4],et[At-3]),at=et[At-14],rt=et[At-13],st=g0_512_hi(et[At-30],et[At-29]),ot=g0_512_lo(et[At-30],et[At-29]),ut=et[At-32],ct=et[At-31];et[At]=It(nt,it,at,rt,st,ot,ut,ct),et[At+1]=ht(nt,it,at,rt,st,ot,ut,ct)}},SHA512.prototype._update=function _update($,tt){this._prepareBlock($,tt);var et=this.W,At=this.h[0],nt=this.h[1],at=this.h[2],rt=this.h[3],st=this.h[4],ot=this.h[5],It=this.h[6],ht=this.h[7],Ct=this.h[8],Bt=this.h[9],Et=this.h[10],mt=this.h[11],Qt=this.h[12],bt=this.h[13],wt=this.h[14],vt=this.h[15];it(this.k.length===et.length);for(var Mt=0;Mt<et.length;Mt+=2){var Dt=wt,St=vt,kt=s1_512_hi(Ct,Bt),_t=s1_512_lo(Ct,Bt),Rt=ch64_hi(Ct,Bt,Et,mt,Qt),Nt=ch64_lo(Ct,Bt,Et,mt,Qt,bt),Ht=this.k[Mt],Ft=this.k[Mt+1],Gt=et[Mt],Ut=et[Mt+1],xt=pt(Dt,St,kt,_t,Rt,Nt,Ht,Ft,Gt,Ut),Lt=yt(Dt,St,kt,_t,Rt,Nt,Ht,Ft,Gt,Ut);Dt=s0_512_hi(At,nt),St=s0_512_lo(At,nt),kt=maj64_hi(At,nt,at,rt,st),_t=maj64_lo(At,nt,at,rt,st,ot);var Tt=ct(Dt,St,kt,_t),Yt=dt(Dt,St,kt,_t);wt=Qt,vt=bt,Qt=Et,bt=mt,Et=Ct,mt=Bt,Ct=ct(It,ht,xt,Lt),Bt=dt(ht,ht,xt,Lt),It=st,ht=ot,st=at,ot=rt,at=At,rt=nt,At=ct(xt,Lt,Tt,Yt),nt=dt(xt,Lt,Tt,Yt)}ut(this.h,0,At,nt),ut(this.h,2,at,rt),ut(this.h,4,st,ot),ut(this.h,6,It,ht),ut(this.h,8,Ct,Bt),ut(this.h,10,Et,mt),ut(this.h,12,Qt,bt),ut(this.h,14,wt,vt)},SHA512.prototype._digest=function digest($){return"hex"===$?At.toHex32(this.h,"big"):At.split32(this.h,"big")}},function($,tt,et){var At=et(164),nt=et(211).Reporter,it=et(170).Buffer;function DecoderBuffer($,tt){nt.call(this,tt),it.isBuffer($)?(this.base=$,this.offset=0,this.length=$.length):this.error("Input not Buffer")}function EncoderBuffer($,tt){if(Array.isArray($))this.length=0,this.value=$.map((function($){return $ instanceof EncoderBuffer||($=new EncoderBuffer($,tt)),this.length+=$.length,$}),this);else if("number"==typeof $){if(!(0<=$&&$<=255))return tt.error("non-byte EncoderBuffer value");this.value=$,this.length=1}else if("string"==typeof $)this.value=$,this.length=it.byteLength($);else{if(!it.isBuffer($))return tt.error("Unsupported type: "+typeof $);this.value=$,this.length=$.length}}At(DecoderBuffer,nt),tt.DecoderBuffer=DecoderBuffer,DecoderBuffer.prototype.save=function save(){return{offset:this.offset,reporter:nt.prototype.save.call(this)}},DecoderBuffer.prototype.restore=function restore($){var tt=new DecoderBuffer(this.base);return tt.offset=$.offset,tt.length=this.offset,this.offset=$.offset,nt.prototype.restore.call(this,$.reporter),tt},DecoderBuffer.prototype.isEmpty=function isEmpty(){return this.offset===this.length},DecoderBuffer.prototype.readUInt8=function readUInt8($){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error($||"DecoderBuffer overrun")},DecoderBuffer.prototype.skip=function skip($,tt){if(!(this.offset+$<=this.length))return this.error(tt||"DecoderBuffer overrun");var et=new DecoderBuffer(this.base);return et._reporterState=this._reporterState,et.offset=this.offset,et.length=this.offset+$,this.offset+=$,et},DecoderBuffer.prototype.raw=function raw($){return this.base.slice($?$.offset:this.offset,this.length)},tt.EncoderBuffer=EncoderBuffer,EncoderBuffer.prototype.join=function join($,tt){return $||($=new it(this.length)),tt||(tt=0),0===this.length?$:(Array.isArray(this.value)?this.value.forEach((function(et){et.join($,tt),tt+=et.length})):("number"==typeof this.value?$[tt]=this.value:"string"==typeof this.value?$.write(this.value,tt):it.isBuffer(this.value)&&this.value.copy($,tt),tt+=this.length),$)}},function($,tt,et){var At=tt;At._reverse=function reverse($){var tt={};return Object.keys($).forEach((function(et){(0|et)==et&&(et|=0);var At=$[et];tt[At]=et})),tt},At.der=et(442)},function($,tt,et){var At=et(164),nt=et(210),it=nt.base,at=nt.bignum,rt=nt.constants.der;function DERDecoder($){this.enc="der",this.name=$.name,this.entity=$,this.tree=new DERNode,this.tree._init($.body)}function DERNode($){it.Node.call(this,"der",$)}function derDecodeTag($,tt){var et=$.readUInt8(tt);if($.isError(et))return et;var At=rt.tagClass[et>>6],nt=0==(32&et);if(31==(31&et)){var it=et;for(et=0;128==(128&it);){if(it=$.readUInt8(tt),$.isError(it))return it;et<<=7,et|=127&it}}else et&=31;return{cls:At,primitive:nt,tag:et,tagStr:rt.tag[et]}}function derDecodeLen($,tt,et){var At=$.readUInt8(et);if($.isError(At))return At;if(!tt&&128===At)return null;if(0==(128&At))return At;var nt=127&At;if(nt>4)return $.error("length octect is too long");At=0;for(var it=0;it<nt;it++){At<<=8;var at=$.readUInt8(et);if($.isError(at))return at;At|=at}return At}$.exports=DERDecoder,DERDecoder.prototype.decode=function decode($,tt){return $ instanceof it.DecoderBuffer||($=new it.DecoderBuffer($,tt)),this.tree._decode($,tt)},At(DERNode,it.Node),DERNode.prototype._peekTag=function peekTag($,tt,et){if($.isEmpty())return!1;var At=$.save(),nt=derDecodeTag($,'Failed to peek tag: "'+tt+'"');return $.isError(nt)?nt:($.restore(At),nt.tag===tt||nt.tagStr===tt||nt.tagStr+"of"===tt||et)},DERNode.prototype._decodeTag=function decodeTag($,tt,et){var At=derDecodeTag($,'Failed to decode tag of "'+tt+'"');if($.isError(At))return At;var nt=derDecodeLen($,At.primitive,'Failed to get length of "'+tt+'"');if($.isError(nt))return nt;if(!et&&At.tag!==tt&&At.tagStr!==tt&&At.tagStr+"of"!==tt)return $.error('Failed to match tag: "'+tt+'"');if(At.primitive||null!==nt)return $.skip(nt,'Failed to match body of: "'+tt+'"');var it=$.save(),at=this._skipUntilEnd($,'Failed to skip indefinite length body: "'+this.tag+'"');return $.isError(at)?at:(nt=$.offset-it.offset,$.restore(it),$.skip(nt,'Failed to match body of: "'+tt+'"'))},DERNode.prototype._skipUntilEnd=function skipUntilEnd($,tt){for(;;){var et=derDecodeTag($,tt);if($.isError(et))return et;var At,nt=derDecodeLen($,et.primitive,tt);if($.isError(nt))return nt;if(At=et.primitive||null!==nt?$.skip(nt):this._skipUntilEnd($,tt),$.isError(At))return At;if("end"===et.tagStr)break}},DERNode.prototype._decodeList=function decodeList($,tt,et,At){for(var nt=[];!$.isEmpty();){var it=this._peekTag($,"end");if($.isError(it))return it;var at=et.decode($,"der",At);if($.isError(at)&&it)break;nt.push(at)}return nt},DERNode.prototype._decodeStr=function decodeStr($,tt){if("bitstr"===tt){var et=$.readUInt8();return $.isError(et)?et:{unused:et,data:$.raw()}}if("bmpstr"===tt){var At=$.raw();if(At.length%2==1)return $.error("Decoding of string type: bmpstr length mismatch");for(var nt="",it=0;it<At.length/2;it++)nt+=String.fromCharCode(At.readUInt16BE(2*it));return nt}if("numstr"===tt){var at=$.raw().toString("ascii");return this._isNumstr(at)?at:$.error("Decoding of string type: numstr unsupported characters")}if("octstr"===tt)return $.raw();if("objDesc"===tt)return $.raw();if("printstr"===tt){var rt=$.raw().toString("ascii");return this._isPrintstr(rt)?rt:$.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(tt)?$.raw().toString():$.error("Decoding of string type: "+tt+" unsupported")},DERNode.prototype._decodeObjid=function decodeObjid($,tt,et){for(var At,nt=[],it=0;!$.isEmpty();){var at=$.readUInt8();it<<=7,it|=127&at,0==(128&at)&&(nt.push(it),it=0)}128&at&&nt.push(it);var rt=nt[0]/40|0,st=nt[0]%40;if(At=et?nt:[rt,st].concat(nt.slice(1)),tt){var ot=tt[At.join(" ")];void 0===ot&&(ot=tt[At.join(".")]),void 0!==ot&&(At=ot)}return At},DERNode.prototype._decodeTime=function decodeTime($,tt){var et=$.raw().toString();if("gentime"===tt)var At=0|et.slice(0,4),nt=0|et.slice(4,6),it=0|et.slice(6,8),at=0|et.slice(8,10),rt=0|et.slice(10,12),st=0|et.slice(12,14);else{if("utctime"!==tt)return $.error("Decoding "+tt+" time is not supported yet");At=0|et.slice(0,2),nt=0|et.slice(2,4),it=0|et.slice(4,6),at=0|et.slice(6,8),rt=0|et.slice(8,10),st=0|et.slice(10,12);At=At<70?2e3+At:1900+At}return Date.UTC(At,nt-1,it,at,rt,st,0)},DERNode.prototype._decodeNull=function decodeNull($){return null},DERNode.prototype._decodeBool=function decodeBool($){var tt=$.readUInt8();return $.isError(tt)?tt:0!==tt},DERNode.prototype._decodeInt=function decodeInt($,tt){var et=$.raw(),At=new at(et);return tt&&(At=tt[At.toString(10)]||At),At},DERNode.prototype._use=function use($,tt){return"function"==typeof $&&($=$(tt)),$._getDecoder("der").tree}},function($,tt,et){var At=et(164),nt=et(170).Buffer,it=et(210),at=it.base,rt=it.constants.der;function DEREncoder($){this.enc="der",this.name=$.name,this.entity=$,this.tree=new DERNode,this.tree._init($.body)}function DERNode($){at.Node.call(this,"der",$)}function two($){return $<10?"0"+$:$}$.exports=DEREncoder,DEREncoder.prototype.encode=function encode($,tt){return this.tree._encode($,tt).join()},At(DERNode,at.Node),DERNode.prototype._encodeComposite=function encodeComposite($,tt,et,At){var it,at=function encodeTag($,tt,et,At){var nt;"seqof"===$?$="seq":"setof"===$&&($="set");if(rt.tagByName.hasOwnProperty($))nt=rt.tagByName[$];else{if("number"!=typeof $||(0|$)!==$)return At.error("Unknown tag: "+$);nt=$}if(nt>=31)return At.error("Multi-octet tag encoding unsupported");tt||(nt|=32);return nt|=rt.tagClassByName[et||"universal"]<<6}($,tt,et,this.reporter);if(At.length<128)return(it=new nt(2))[0]=at,it[1]=At.length,this._createEncoderBuffer([it,At]);for(var st=1,ot=At.length;ot>=256;ot>>=8)st++;(it=new nt(2+st))[0]=at,it[1]=128|st;ot=1+st;for(var ut=At.length;ut>0;ot--,ut>>=8)it[ot]=255&ut;return this._createEncoderBuffer([it,At])},DERNode.prototype._encodeStr=function encodeStr($,tt){if("bitstr"===tt)return this._createEncoderBuffer([0|$.unused,$.data]);if("bmpstr"===tt){for(var et=new nt(2*$.length),At=0;At<$.length;At++)et.writeUInt16BE($.charCodeAt(At),2*At);return this._createEncoderBuffer(et)}return"numstr"===tt?this._isNumstr($)?this._createEncoderBuffer($):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===tt?this._isPrintstr($)?this._createEncoderBuffer($):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(tt)?this._createEncoderBuffer($):"objDesc"===tt?this._createEncoderBuffer($):this.reporter.error("Encoding of string type: "+tt+" unsupported")},DERNode.prototype._encodeObjid=function encodeObjid($,tt,et){if("string"==typeof $){if(!tt)return this.reporter.error("string objid given, but no values map found");if(!tt.hasOwnProperty($))return this.reporter.error("objid not found in values map");$=tt[$].split(/[\s\.]+/g);for(var At=0;At<$.length;At++)$[At]|=0}else if(Array.isArray($)){$=$.slice();for(At=0;At<$.length;At++)$[At]|=0}if(!Array.isArray($))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify($));if(!et){if($[1]>=40)return this.reporter.error("Second objid identifier OOB");$.splice(0,2,40*$[0]+$[1])}var it=0;for(At=0;At<$.length;At++){var at=$[At];for(it++;at>=128;at>>=7)it++}var rt=new nt(it),st=rt.length-1;for(At=$.length-1;At>=0;At--){at=$[At];for(rt[st--]=127&at;(at>>=7)>0;)rt[st--]=128|127&at}return this._createEncoderBuffer(rt)},DERNode.prototype._encodeTime=function encodeTime($,tt){var et,At=new Date($);return"gentime"===tt?et=[two(At.getFullYear()),two(At.getUTCMonth()+1),two(At.getUTCDate()),two(At.getUTCHours()),two(At.getUTCMinutes()),two(At.getUTCSeconds()),"Z"].join(""):"utctime"===tt?et=[two(At.getFullYear()%100),two(At.getUTCMonth()+1),two(At.getUTCDate()),two(At.getUTCHours()),two(At.getUTCMinutes()),two(At.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+tt+" time is not supported yet"),this._encodeStr(et,"octstr")},DERNode.prototype._encodeNull=function encodeNull(){return this._createEncoderBuffer("")},DERNode.prototype._encodeInt=function encodeInt($,tt){if("string"==typeof $){if(!tt)return this.reporter.error("String int or enum given, but no values map");if(!tt.hasOwnProperty($))return this.reporter.error("Values map doesn't contain: "+JSON.stringify($));$=tt[$]}if("number"!=typeof $&&!nt.isBuffer($)){var et=$.toArray();!$.sign&&128&et[0]&&et.unshift(0),$=new nt(et)}if(nt.isBuffer($)){var At=$.length;0===$.length&&At++;var it=new nt(At);return $.copy(it),0===$.length&&(it[0]=0),this._createEncoderBuffer(it)}if($<128)return this._createEncoderBuffer($);if($<256)return this._createEncoderBuffer([0,$]);At=1;for(var at=$;at>=256;at>>=8)At++;for(at=(it=new Array(At)).length-1;at>=0;at--)it[at]=255&$,$>>=8;return 128&it[0]&&it.unshift(0),this._createEncoderBuffer(new nt(it))},DERNode.prototype._encodeBool=function encodeBool($){return this._createEncoderBuffer($?255:0)},DERNode.prototype._use=function use($,tt){return"function"==typeof $&&($=$(tt)),$._getEncoder("der").tree},DERNode.prototype._skipDefault=function skipDefault($,tt,et){var At,nt=this._baseState;if(null===nt.default)return!1;var it=$.join();if(void 0===nt.defaultBuffer&&(nt.defaultBuffer=this._encodeValue(nt.default,tt,et).join()),it.length!==nt.defaultBuffer.length)return!1;for(At=0;At<it.length;At++)if(it[At]!==nt.defaultBuffer[At])return!1;return!0}},function($){$.exports=JSON.parse('{"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}')},function($,tt,et){(function(tt){var At=et(243),nt=et(179);$.exports=function createECDH($){return new ECDH($)};var it={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function ECDH($){this.curveType=it[$],this.curveType||(this.curveType={name:$}),this.curve=new At.ec(this.curveType.name),this.keys=void 0}function formatReturnValue($,et,At){Array.isArray($)||($=$.toArray());var nt=new tt($);if(At&&nt.length<At){var it=new tt(At-nt.length);it.fill(0),nt=tt.concat([it,nt])}return et?nt.toString(et):nt}it.p224=it.secp224r1,it.p256=it.secp256r1=it.prime256v1,it.p192=it.secp192r1=it.prime192v1,it.p384=it.secp384r1,it.p521=it.secp521r1,ECDH.prototype.generateKeys=function($,tt){return this.keys=this.curve.genKeyPair(),this.getPublicKey($,tt)},ECDH.prototype.computeSecret=function($,et,At){return et=et||"utf8",tt.isBuffer($)||($=new tt($,et)),formatReturnValue(this.curve.keyFromPublic($).getPublic().mul(this.keys.getPrivate()).getX(),At,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function($,tt){var et=this.keys.getPublic("compressed"===tt,!0);return"hybrid"===tt&&(et[et.length-1]%2?et[0]=7:et[0]=6),formatReturnValue(et,$)},ECDH.prototype.getPrivateKey=function($){return formatReturnValue(this.keys.getPrivate(),$)},ECDH.prototype.setPublicKey=function($,et){return et=et||"utf8",tt.isBuffer($)||($=new tt($,et)),this.keys._importPublic($),this},ECDH.prototype.setPrivateKey=function($,et){et=et||"utf8",tt.isBuffer($)||($=new tt($,et));var At=new nt($);return At=At.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(At),this}}).call(this,et(170).Buffer)},function($,tt,et){tt.publicEncrypt=et(451),tt.privateDecrypt=et(452),tt.privateEncrypt=function privateEncrypt($,et){return tt.publicEncrypt($,et,!0)},tt.publicDecrypt=function publicDecrypt($,et){return tt.privateDecrypt($,et,!0)}},function($,tt,et){var At=et(196),nt=et(168).Buffer;function i2ops($){var tt=nt.allocUnsafe(4);return tt.writeUInt32BE($,0),tt}$.exports=function($,tt){for(var et,it=nt.alloc(0),at=0;it.length<tt;)et=i2ops(at++),it=nt.concat([it,At("sha1").update($).update(et).digest()]);return it.slice(0,tt)}},function($,tt){$.exports=function xor($,tt){for(var et=$.length,At=-1;++At<et;)$[At]^=tt[At];return $}},function($,tt,et){var At=et(179),nt=et(168).Buffer;$.exports=function withPublic($,tt){return nt.from($.toRed(At.mont(tt.modulus)).redPow(new At(tt.publicExponent)).fromRed().toArray())}},function($,tt,et){"use strict";(function($,At){function oldBrowser(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var nt=et(168),it=et(191),at=nt.Buffer,rt=nt.kMaxLength,st=$.crypto||$.msCrypto,ot=Math.pow(2,32)-1;function assertOffset($,tt){if("number"!=typeof $||$!=$)throw new TypeError("offset must be a number");if($>ot||$<0)throw new TypeError("offset must be a uint32");if($>rt||$>tt)throw new RangeError("offset out of range")}function assertSize($,tt,et){if("number"!=typeof $||$!=$)throw new TypeError("size must be a number");if($>ot||$<0)throw new TypeError("size must be a uint32");if($+tt>et||$>rt)throw new RangeError("buffer too small")}function actualFill($,tt,et,nt){if(At.browser){var at=$.buffer,rt=new Uint8Array(at,tt,et);return st.getRandomValues(rt),nt?void At.nextTick((function(){nt(null,$)})):$}if(!nt)return it(et).copy($,tt),$;it(et,(function(et,At){if(et)return nt(et);At.copy($,tt),nt(null,$)}))}st&&st.getRandomValues||!At.browser?(tt.randomFill=function randomFill(tt,et,At,nt){if(!(at.isBuffer(tt)||tt instanceof $.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof et)nt=et,et=0,At=tt.length;else if("function"==typeof At)nt=At,At=tt.length-et;else if("function"!=typeof nt)throw new TypeError('"cb" argument must be a function');return assertOffset(et,tt.length),assertSize(At,et,tt.length),actualFill(tt,et,At,nt)},tt.randomFillSync=function randomFillSync(tt,et,At){void 0===et&&(et=0);if(!(at.isBuffer(tt)||tt instanceof $.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');assertOffset(et,tt.length),void 0===At&&(At=tt.length-et);return assertSize(At,et,tt.length),actualFill(tt,et,At)}):(tt.randomFill=oldBrowser,tt.randomFillSync=oldBrowser)}).call(this,et(21),et(172))},function($,tt,et){window,$.exports=function($){var tt={};function g(et){if(tt[et])return tt[et].exports;var At=tt[et]={i:et,l:!1,exports:{}};return $[et].call(At.exports,At,At.exports,g),At.l=!0,At.exports}return g.m=$,g.c=tt,g.d=function($,tt,et){g.o($,tt)||Object.defineProperty($,tt,{enumerable:!0,get:et})},g.r=function($){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})},g.t=function($,tt){if(1&tt&&($=g($)),8&tt)return $;if(4&tt&&"object"==typeof $&&$&&$.__esModule)return $;var et=Object.create(null);if(g.r(et),Object.defineProperty(et,"default",{enumerable:!0,value:$}),2&tt&&"string"!=typeof $)for(var At in $)g.d(et,At,function(tt){return $[tt]}.bind(null,At));return et},g.n=function($){var tt=$&&$.__esModule?function(){return $.default}:function(){return $};return g.d(tt,"a",tt),tt},g.o=function($,tt){return Object.prototype.hasOwnProperty.call($,tt)},g.p="",g(g.s=10)}([function($,tt,et){"use strict";(function($){et.d(tt,"a",(function(){return E}));var At=et(7),nt=et.n(At);class E{constructor($){this.wasm=$}static bytesToHex($){return $.reduce(($,tt)=>$+tt.toString(16).padStart(2,"0"),"")}static bytesToBinary($){return $.reduce(($,tt)=>$+tt.toString(2).padStart(8,"0")+" ","")}static hexToBytes($){return new Uint8Array($.match(/.{1,2}/g).map($=>parseInt($,16)))}static randomBytes($){if("undefined"!=typeof window&&"undefined"!==window.crypto){let tt=new Uint8Array($);return window.crypto.getRandomValues(tt),tt}return nt.a.randomBytes($)}arrayToBuf(tt){const et=this.wasm,At={ptr:null,len:0};if(!tt)return At;let nt=null;if(tt instanceof Uint8Array||void 0!==$&&tt instanceof $)nt=tt;else{if(!(tt instanceof ArrayBuffer||tt.__proto__.toString().includes("ArrayBuffer")))throw new Error("arrayToBuf() failed: Expected Uint8Array, Buffer, or\n ArrayBuffer");nt=new Uint8Array(tt)}return At.len=nt.length,At.ptr=et._malloc(nt.length),et.writeArrayToMemory(nt,At.ptr),At}arrayToSmartBuf($){const tt=this.wasm,et=this.arrayToBuf($);return et.ptr&&setTimeout(()=>{tt._free(et.ptr),et.len=0,et.ptr=null},0),et}smartMalloc($){const tt=this.wasm,et=tt._malloc($);return setTimeout(()=>{tt._free(et)},0),et}}}).call(this,et(3).Buffer)},function($,tt,et){"use strict";et.d(tt,"a",(function(){return C}));class C{constructor($){this.wasm=$,this.ptr=null,this.len=0}clear(){this.len=0}free(){null!==this.ptr&&(this.wasm._free(this.ptr),this.len=0,this.ptr=null)}resize($){null!==this.ptr&&this.free(),this.len=$,this.ptr=this.wasm._malloc($)}ensureSize($){(null===this.ptr||this.len<$)&&this.resize($)}}},function($,tt){$.exports=et(318)},function($,tt,et){"use strict";(function($){
|
|
40
|
+
/*!
|
|
41
|
+
* The buffer module from node.js, for the browser.
|
|
42
|
+
*
|
|
43
|
+
* @author Feross Aboukhadijeh <http://feross.org>
|
|
44
|
+
* @license MIT
|
|
45
|
+
*/
|
|
46
|
+
var At=et(12),nt=et(13),it=et(14);function Q(){return D.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i($,tt){if(Q()<tt)throw new RangeError("Invalid typed array length");return D.TYPED_ARRAY_SUPPORT?($=new Uint8Array(tt)).__proto__=D.prototype:(null===$&&($=new D(tt)),$.length=tt),$}function D($,tt,et){if(!(D.TYPED_ARRAY_SUPPORT||this instanceof D))return new D($,tt,et);if("number"==typeof $){if("string"==typeof tt)throw new Error("If encoding is specified then the first argument must be a string");return r(this,$)}return o(this,$,tt,et)}function o($,tt,et,At){if("number"==typeof tt)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&tt instanceof ArrayBuffer?function($,tt,et,At){if(tt.byteLength,et<0||tt.byteLength<et)throw new RangeError("'offset' is out of bounds");if(tt.byteLength<et+(At||0))throw new RangeError("'length' is out of bounds");return tt=void 0===et&&void 0===At?new Uint8Array(tt):void 0===At?new Uint8Array(tt,et):new Uint8Array(tt,et,At),D.TYPED_ARRAY_SUPPORT?($=tt).__proto__=D.prototype:$=e($,tt),$}($,tt,et,At):"string"==typeof tt?function($,tt,et){if("string"==typeof et&&""!==et||(et="utf8"),!D.isEncoding(et))throw new TypeError('"encoding" must be a valid string encoding');var At=0|w(tt,et),nt=($=i($,At)).write(tt,et);return nt!==At&&($=$.slice(0,nt)),$}($,tt,et):function($,tt){if(D.isBuffer(tt)){var et=0|h(tt.length);return 0===($=i($,et)).length||tt.copy($,0,0,et),$}if(tt){if("undefined"!=typeof ArrayBuffer&&tt.buffer instanceof ArrayBuffer||"length"in tt)return"number"!=typeof tt.length||(At=tt.length)!=At?i($,0):e($,tt);if("Buffer"===tt.type&&it(tt.data))return e($,tt.data)}var At;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}($,tt)}function t($){if("number"!=typeof $)throw new TypeError('"size" argument must be a number');if($<0)throw new RangeError('"size" argument must not be negative')}function r($,tt){if(t(tt),$=i($,tt<0?0:0|h(tt)),!D.TYPED_ARRAY_SUPPORT)for(var et=0;et<tt;++et)$[et]=0;return $}function e($,tt){var et=tt.length<0?0:0|h(tt.length);$=i($,et);for(var At=0;At<et;At+=1)$[At]=255&tt[At];return $}function h($){if($>=Q())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q().toString(16)+" bytes");return 0|$}function w($,tt){if(D.isBuffer($))return $.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView($)||$ instanceof ArrayBuffer))return $.byteLength;"string"!=typeof $&&($=""+$);var et=$.length;if(0===et)return 0;for(var At=!1;;)switch(tt){case"ascii":case"latin1":case"binary":return et;case"utf8":case"utf-8":case void 0:return m($).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*et;case"hex":return et>>>1;case"base64":return x($).length;default:if(At)return m($).length;tt=(""+tt).toLowerCase(),At=!0}}function n($,tt,et){var At=!1;if((void 0===tt||tt<0)&&(tt=0),tt>this.length)return"";if((void 0===et||et>this.length)&&(et=this.length),et<=0)return"";if((et>>>=0)<=(tt>>>=0))return"";for($||($="utf8");;)switch($){case"hex":return U(this,tt,et);case"utf8":case"utf-8":return Y(this,tt,et);case"ascii":return R(this,tt,et);case"latin1":case"binary":return N(this,tt,et);case"base64":return H(this,tt,et);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,tt,et);default:if(At)throw new TypeError("Unknown encoding: "+$);$=($+"").toLowerCase(),At=!0}}function y($,tt,et){var At=$[tt];$[tt]=$[et],$[et]=At}function a($,tt,et,At,nt){if(0===$.length)return-1;if("string"==typeof et?(At=et,et=0):et>2147483647?et=2147483647:et<-2147483648&&(et=-2147483648),et=+et,isNaN(et)&&(et=nt?0:$.length-1),et<0&&(et=$.length+et),et>=$.length){if(nt)return-1;et=$.length-1}else if(et<0){if(!nt)return-1;et=0}if("string"==typeof tt&&(tt=D.from(tt,At)),D.isBuffer(tt))return 0===tt.length?-1:s($,tt,et,At,nt);if("number"==typeof tt)return tt&=255,D.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?nt?Uint8Array.prototype.indexOf.call($,tt,et):Uint8Array.prototype.lastIndexOf.call($,tt,et):s($,[tt],et,At,nt);throw new TypeError("val must be string, number or Buffer")}function s($,tt,et,At,nt){var it,at=1,rt=$.length,st=tt.length;if(void 0!==At&&("ucs2"===(At=String(At).toLowerCase())||"ucs-2"===At||"utf16le"===At||"utf-16le"===At)){if($.length<2||tt.length<2)return-1;at=2,rt/=2,st/=2,et/=2}function o($,tt){return 1===at?$[tt]:$.readUInt16BE(tt*at)}if(nt){var ot=-1;for(it=et;it<rt;it++)if(o($,it)===o(tt,-1===ot?0:it-ot)){if(-1===ot&&(ot=it),it-ot+1===st)return ot*at}else-1!==ot&&(it-=it-ot),ot=-1}else for(et+st>rt&&(et=rt-st),it=et;it>=0;it--){for(var ut=!0,ct=0;ct<st;ct++)if(o($,it+ct)!==o(tt,ct)){ut=!1;break}if(ut)return it}return-1}function c($,tt,et,At){et=Number(et)||0;var nt=$.length-et;At?(At=Number(At))>nt&&(At=nt):At=nt;var it=tt.length;if(it%2!=0)throw new TypeError("Invalid hex string");At>it/2&&(At=it/2);for(var at=0;at<At;++at){var rt=parseInt(tt.substr(2*at,2),16);if(isNaN(rt))return at;$[et+at]=rt}return at}function M($,tt,et,At){return P(m(tt,$.length-et),$,et,At)}function f($,tt,et,At){return P(function($){for(var tt=[],et=0;et<$.length;++et)tt.push(255&$.charCodeAt(et));return tt}(tt),$,et,At)}function S($,tt,et,At){return f($,tt,et,At)}function G($,tt,et,At){return P(x(tt),$,et,At)}function F($,tt,et,At){return P(function($,tt){for(var et,At,nt,it=[],at=0;at<$.length&&!((tt-=2)<0);++at)At=(et=$.charCodeAt(at))>>8,nt=et%256,it.push(nt),it.push(At);return it}(tt,$.length-et),$,et,At)}function H($,tt,et){return 0===tt&&et===$.length?At.fromByteArray($):At.fromByteArray($.slice(tt,et))}function Y($,tt,et){et=Math.min($.length,et);for(var At=[],nt=tt;nt<et;){var it,at,rt,st,ot=$[nt],ut=null,ct=ot>239?4:ot>223?3:ot>191?2:1;if(nt+ct<=et)switch(ct){case 1:ot<128&&(ut=ot);break;case 2:128==(192&(it=$[nt+1]))&&(st=(31&ot)<<6|63&it)>127&&(ut=st);break;case 3:it=$[nt+1],at=$[nt+2],128==(192&it)&&128==(192&at)&&(st=(15&ot)<<12|(63&it)<<6|63&at)>2047&&(st<55296||st>57343)&&(ut=st);break;case 4:it=$[nt+1],at=$[nt+2],rt=$[nt+3],128==(192&it)&&128==(192&at)&&128==(192&rt)&&(st=(15&ot)<<18|(63&it)<<12|(63&at)<<6|63&rt)>65535&&st<1114112&&(ut=st)}null===ut?(ut=65533,ct=1):ut>65535&&(ut-=65536,At.push(ut>>>10&1023|55296),ut=56320|1023&ut),At.push(ut),nt+=ct}return function($){var tt=$.length;if(tt<=4096)return String.fromCharCode.apply(String,$);for(var et="",At=0;At<tt;)et+=String.fromCharCode.apply(String,$.slice(At,At+=4096));return et}(At)}function R($,tt,et){var At="";et=Math.min($.length,et);for(var nt=tt;nt<et;++nt)At+=String.fromCharCode(127&$[nt]);return At}function N($,tt,et){var At="";et=Math.min($.length,et);for(var nt=tt;nt<et;++nt)At+=String.fromCharCode($[nt]);return At}function U($,tt,et){var At=$.length;(!tt||tt<0)&&(tt=0),(!et||et<0||et>At)&&(et=At);for(var nt="",it=tt;it<et;++it)nt+=O($[it]);return nt}function k($,tt,et){for(var At=$.slice(tt,et),nt="",it=0;it<At.length;it+=2)nt+=String.fromCharCode(At[it]+256*At[it+1]);return nt}function u($,tt,et){if($%1!=0||$<0)throw new RangeError("offset is not uint");if($+tt>et)throw new RangeError("Trying to access beyond buffer length")}function K($,tt,et,At,nt,it){if(!D.isBuffer($))throw new TypeError('"buffer" argument must be a Buffer instance');if(tt>nt||tt<it)throw new RangeError('"value" argument is out of bounds');if(et+At>$.length)throw new RangeError("Index out of range")}function p($,tt,et,At){tt<0&&(tt=65535+tt+1);for(var nt=0,it=Math.min($.length-et,2);nt<it;++nt)$[et+nt]=(tt&255<<8*(At?nt:1-nt))>>>8*(At?nt:1-nt)}function L($,tt,et,At){tt<0&&(tt=4294967295+tt+1);for(var nt=0,it=Math.min($.length-et,4);nt<it;++nt)$[et+nt]=tt>>>8*(At?nt:3-nt)&255}function l($,tt,et,At,nt,it){if(et+At>$.length)throw new RangeError("Index out of range");if(et<0)throw new RangeError("Index out of range")}function d($,tt,et,At,it){return it||l($,0,et,4),nt.write($,tt,et,At,23,4),et+4}function J($,tt,et,At,it){return it||l($,0,et,8),nt.write($,tt,et,At,52,8),et+8}tt.Buffer=D,tt.SlowBuffer=function($){return+$!=$&&($=0),D.alloc(+$)},tt.INSPECT_MAX_BYTES=50,D.TYPED_ARRAY_SUPPORT=void 0!==$.TYPED_ARRAY_SUPPORT?$.TYPED_ARRAY_SUPPORT:function(){try{var $=new Uint8Array(1);return $.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===$.foo()&&"function"==typeof $.subarray&&0===$.subarray(1,1).byteLength}catch($){return!1}}(),tt.kMaxLength=Q(),D.poolSize=8192,D._augment=function($){return $.__proto__=D.prototype,$},D.from=function($,tt,et){return o(null,$,tt,et)},D.TYPED_ARRAY_SUPPORT&&(D.prototype.__proto__=Uint8Array.prototype,D.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&D[Symbol.species]===D&&Object.defineProperty(D,Symbol.species,{value:null,configurable:!0})),D.alloc=function($,tt,et){return function($,tt,et,At){return t(tt),tt<=0?i($,tt):void 0!==et?"string"==typeof At?i($,tt).fill(et,At):i($,tt).fill(et):i($,tt)}(null,$,tt,et)},D.allocUnsafe=function($){return r(null,$)},D.allocUnsafeSlow=function($){return r(null,$)},D.isBuffer=function($){return!(null==$||!$._isBuffer)},D.compare=function($,tt){if(!D.isBuffer($)||!D.isBuffer(tt))throw new TypeError("Arguments must be Buffers");if($===tt)return 0;for(var et=$.length,At=tt.length,nt=0,it=Math.min(et,At);nt<it;++nt)if($[nt]!==tt[nt]){et=$[nt],At=tt[nt];break}return et<At?-1:At<et?1:0},D.isEncoding=function($){switch(String($).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},D.concat=function($,tt){if(!it($))throw new TypeError('"list" argument must be an Array of Buffers');if(0===$.length)return D.alloc(0);var et;if(void 0===tt)for(tt=0,et=0;et<$.length;++et)tt+=$[et].length;var At=D.allocUnsafe(tt),nt=0;for(et=0;et<$.length;++et){var at=$[et];if(!D.isBuffer(at))throw new TypeError('"list" argument must be an Array of Buffers');at.copy(At,nt),nt+=at.length}return At},D.byteLength=w,D.prototype._isBuffer=!0,D.prototype.swap16=function(){var $=this.length;if($%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var tt=0;tt<$;tt+=2)y(this,tt,tt+1);return this},D.prototype.swap32=function(){var $=this.length;if($%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var tt=0;tt<$;tt+=4)y(this,tt,tt+3),y(this,tt+1,tt+2);return this},D.prototype.swap64=function(){var $=this.length;if($%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var tt=0;tt<$;tt+=8)y(this,tt,tt+7),y(this,tt+1,tt+6),y(this,tt+2,tt+5),y(this,tt+3,tt+4);return this},D.prototype.toString=function(){var $=0|this.length;return 0===$?"":0===arguments.length?Y(this,0,$):n.apply(this,arguments)},D.prototype.equals=function($){if(!D.isBuffer($))throw new TypeError("Argument must be a Buffer");return this===$||0===D.compare(this,$)},D.prototype.inspect=function(){var $="",et=tt.INSPECT_MAX_BYTES;return this.length>0&&($=this.toString("hex",0,et).match(/.{2}/g).join(" "),this.length>et&&($+=" ... ")),"<Buffer "+$+">"},D.prototype.compare=function($,tt,et,At,nt){if(!D.isBuffer($))throw new TypeError("Argument must be a Buffer");if(void 0===tt&&(tt=0),void 0===et&&(et=$?$.length:0),void 0===At&&(At=0),void 0===nt&&(nt=this.length),tt<0||et>$.length||At<0||nt>this.length)throw new RangeError("out of range index");if(At>=nt&&tt>=et)return 0;if(At>=nt)return-1;if(tt>=et)return 1;if(this===$)return 0;for(var it=(nt>>>=0)-(At>>>=0),at=(et>>>=0)-(tt>>>=0),rt=Math.min(it,at),st=this.slice(At,nt),ot=$.slice(tt,et),ut=0;ut<rt;++ut)if(st[ut]!==ot[ut]){it=st[ut],at=ot[ut];break}return it<at?-1:at<it?1:0},D.prototype.includes=function($,tt,et){return-1!==this.indexOf($,tt,et)},D.prototype.indexOf=function($,tt,et){return a(this,$,tt,et,!0)},D.prototype.lastIndexOf=function($,tt,et){return a(this,$,tt,et,!1)},D.prototype.write=function($,tt,et,At){if(void 0===tt)At="utf8",et=this.length,tt=0;else if(void 0===et&&"string"==typeof tt)At=tt,et=this.length,tt=0;else{if(!isFinite(tt))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");tt|=0,isFinite(et)?(et|=0,void 0===At&&(At="utf8")):(At=et,et=void 0)}var nt=this.length-tt;if((void 0===et||et>nt)&&(et=nt),$.length>0&&(et<0||tt<0)||tt>this.length)throw new RangeError("Attempt to write outside buffer bounds");At||(At="utf8");for(var it=!1;;)switch(At){case"hex":return c(this,$,tt,et);case"utf8":case"utf-8":return M(this,$,tt,et);case"ascii":return f(this,$,tt,et);case"latin1":case"binary":return S(this,$,tt,et);case"base64":return G(this,$,tt,et);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,$,tt,et);default:if(it)throw new TypeError("Unknown encoding: "+At);At=(""+At).toLowerCase(),it=!0}},D.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},D.prototype.slice=function($,tt){var et,At=this.length;if(($=~~$)<0?($+=At)<0&&($=0):$>At&&($=At),(tt=void 0===tt?At:~~tt)<0?(tt+=At)<0&&(tt=0):tt>At&&(tt=At),tt<$&&(tt=$),D.TYPED_ARRAY_SUPPORT)(et=this.subarray($,tt)).__proto__=D.prototype;else{var nt=tt-$;et=new D(nt,void 0);for(var it=0;it<nt;++it)et[it]=this[it+$]}return et},D.prototype.readUIntLE=function($,tt,et){$|=0,tt|=0,et||u($,tt,this.length);for(var At=this[$],nt=1,it=0;++it<tt&&(nt*=256);)At+=this[$+it]*nt;return At},D.prototype.readUIntBE=function($,tt,et){$|=0,tt|=0,et||u($,tt,this.length);for(var At=this[$+--tt],nt=1;tt>0&&(nt*=256);)At+=this[$+--tt]*nt;return At},D.prototype.readUInt8=function($,tt){return tt||u($,1,this.length),this[$]},D.prototype.readUInt16LE=function($,tt){return tt||u($,2,this.length),this[$]|this[$+1]<<8},D.prototype.readUInt16BE=function($,tt){return tt||u($,2,this.length),this[$]<<8|this[$+1]},D.prototype.readUInt32LE=function($,tt){return tt||u($,4,this.length),(this[$]|this[$+1]<<8|this[$+2]<<16)+16777216*this[$+3]},D.prototype.readUInt32BE=function($,tt){return tt||u($,4,this.length),16777216*this[$]+(this[$+1]<<16|this[$+2]<<8|this[$+3])},D.prototype.readIntLE=function($,tt,et){$|=0,tt|=0,et||u($,tt,this.length);for(var At=this[$],nt=1,it=0;++it<tt&&(nt*=256);)At+=this[$+it]*nt;return At>=(nt*=128)&&(At-=Math.pow(2,8*tt)),At},D.prototype.readIntBE=function($,tt,et){$|=0,tt|=0,et||u($,tt,this.length);for(var At=tt,nt=1,it=this[$+--At];At>0&&(nt*=256);)it+=this[$+--At]*nt;return it>=(nt*=128)&&(it-=Math.pow(2,8*tt)),it},D.prototype.readInt8=function($,tt){return tt||u($,1,this.length),128&this[$]?-1*(255-this[$]+1):this[$]},D.prototype.readInt16LE=function($,tt){tt||u($,2,this.length);var et=this[$]|this[$+1]<<8;return 32768&et?4294901760|et:et},D.prototype.readInt16BE=function($,tt){tt||u($,2,this.length);var et=this[$+1]|this[$]<<8;return 32768&et?4294901760|et:et},D.prototype.readInt32LE=function($,tt){return tt||u($,4,this.length),this[$]|this[$+1]<<8|this[$+2]<<16|this[$+3]<<24},D.prototype.readInt32BE=function($,tt){return tt||u($,4,this.length),this[$]<<24|this[$+1]<<16|this[$+2]<<8|this[$+3]},D.prototype.readFloatLE=function($,tt){return tt||u($,4,this.length),nt.read(this,$,!0,23,4)},D.prototype.readFloatBE=function($,tt){return tt||u($,4,this.length),nt.read(this,$,!1,23,4)},D.prototype.readDoubleLE=function($,tt){return tt||u($,8,this.length),nt.read(this,$,!0,52,8)},D.prototype.readDoubleBE=function($,tt){return tt||u($,8,this.length),nt.read(this,$,!1,52,8)},D.prototype.writeUIntLE=function($,tt,et,At){$=+$,tt|=0,et|=0,At||K(this,$,tt,et,Math.pow(2,8*et)-1,0);var nt=1,it=0;for(this[tt]=255&$;++it<et&&(nt*=256);)this[tt+it]=$/nt&255;return tt+et},D.prototype.writeUIntBE=function($,tt,et,At){$=+$,tt|=0,et|=0,At||K(this,$,tt,et,Math.pow(2,8*et)-1,0);var nt=et-1,it=1;for(this[tt+nt]=255&$;--nt>=0&&(it*=256);)this[tt+nt]=$/it&255;return tt+et},D.prototype.writeUInt8=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,1,255,0),D.TYPED_ARRAY_SUPPORT||($=Math.floor($)),this[tt]=255&$,tt+1},D.prototype.writeUInt16LE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,2,65535,0),D.TYPED_ARRAY_SUPPORT?(this[tt]=255&$,this[tt+1]=$>>>8):p(this,$,tt,!0),tt+2},D.prototype.writeUInt16BE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,2,65535,0),D.TYPED_ARRAY_SUPPORT?(this[tt]=$>>>8,this[tt+1]=255&$):p(this,$,tt,!1),tt+2},D.prototype.writeUInt32LE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,4,4294967295,0),D.TYPED_ARRAY_SUPPORT?(this[tt+3]=$>>>24,this[tt+2]=$>>>16,this[tt+1]=$>>>8,this[tt]=255&$):L(this,$,tt,!0),tt+4},D.prototype.writeUInt32BE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,4,4294967295,0),D.TYPED_ARRAY_SUPPORT?(this[tt]=$>>>24,this[tt+1]=$>>>16,this[tt+2]=$>>>8,this[tt+3]=255&$):L(this,$,tt,!1),tt+4},D.prototype.writeIntLE=function($,tt,et,At){if($=+$,tt|=0,!At){var nt=Math.pow(2,8*et-1);K(this,$,tt,et,nt-1,-nt)}var it=0,at=1,rt=0;for(this[tt]=255&$;++it<et&&(at*=256);)$<0&&0===rt&&0!==this[tt+it-1]&&(rt=1),this[tt+it]=($/at>>0)-rt&255;return tt+et},D.prototype.writeIntBE=function($,tt,et,At){if($=+$,tt|=0,!At){var nt=Math.pow(2,8*et-1);K(this,$,tt,et,nt-1,-nt)}var it=et-1,at=1,rt=0;for(this[tt+it]=255&$;--it>=0&&(at*=256);)$<0&&0===rt&&0!==this[tt+it+1]&&(rt=1),this[tt+it]=($/at>>0)-rt&255;return tt+et},D.prototype.writeInt8=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,1,127,-128),D.TYPED_ARRAY_SUPPORT||($=Math.floor($)),$<0&&($=255+$+1),this[tt]=255&$,tt+1},D.prototype.writeInt16LE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,2,32767,-32768),D.TYPED_ARRAY_SUPPORT?(this[tt]=255&$,this[tt+1]=$>>>8):p(this,$,tt,!0),tt+2},D.prototype.writeInt16BE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,2,32767,-32768),D.TYPED_ARRAY_SUPPORT?(this[tt]=$>>>8,this[tt+1]=255&$):p(this,$,tt,!1),tt+2},D.prototype.writeInt32LE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,4,2147483647,-2147483648),D.TYPED_ARRAY_SUPPORT?(this[tt]=255&$,this[tt+1]=$>>>8,this[tt+2]=$>>>16,this[tt+3]=$>>>24):L(this,$,tt,!0),tt+4},D.prototype.writeInt32BE=function($,tt,et){return $=+$,tt|=0,et||K(this,$,tt,4,2147483647,-2147483648),$<0&&($=4294967295+$+1),D.TYPED_ARRAY_SUPPORT?(this[tt]=$>>>24,this[tt+1]=$>>>16,this[tt+2]=$>>>8,this[tt+3]=255&$):L(this,$,tt,!1),tt+4},D.prototype.writeFloatLE=function($,tt,et){return d(this,$,tt,!0,et)},D.prototype.writeFloatBE=function($,tt,et){return d(this,$,tt,!1,et)},D.prototype.writeDoubleLE=function($,tt,et){return J(this,$,tt,!0,et)},D.prototype.writeDoubleBE=function($,tt,et){return J(this,$,tt,!1,et)},D.prototype.copy=function($,tt,et,At){if(et||(et=0),At||0===At||(At=this.length),tt>=$.length&&(tt=$.length),tt||(tt=0),At>0&&At<et&&(At=et),At===et)return 0;if(0===$.length||0===this.length)return 0;if(tt<0)throw new RangeError("targetStart out of bounds");if(et<0||et>=this.length)throw new RangeError("sourceStart out of bounds");if(At<0)throw new RangeError("sourceEnd out of bounds");At>this.length&&(At=this.length),$.length-tt<At-et&&(At=$.length-tt+et);var nt,it=At-et;if(this===$&&et<tt&&tt<At)for(nt=it-1;nt>=0;--nt)$[nt+tt]=this[nt+et];else if(it<1e3||!D.TYPED_ARRAY_SUPPORT)for(nt=0;nt<it;++nt)$[nt+tt]=this[nt+et];else Uint8Array.prototype.set.call($,this.subarray(et,et+it),tt);return it},D.prototype.fill=function($,tt,et,At){if("string"==typeof $){if("string"==typeof tt?(At=tt,tt=0,et=this.length):"string"==typeof et&&(At=et,et=this.length),1===$.length){var nt=$.charCodeAt(0);nt<256&&($=nt)}if(void 0!==At&&"string"!=typeof At)throw new TypeError("encoding must be a string");if("string"==typeof At&&!D.isEncoding(At))throw new TypeError("Unknown encoding: "+At)}else"number"==typeof $&&($&=255);if(tt<0||this.length<tt||this.length<et)throw new RangeError("Out of range index");if(et<=tt)return this;var it;if(tt>>>=0,et=void 0===et?this.length:et>>>0,$||($=0),"number"==typeof $)for(it=tt;it<et;++it)this[it]=$;else{var at=D.isBuffer($)?$:m(new D($,At).toString()),rt=at.length;for(it=0;it<et-tt;++it)this[it+tt]=at[it%rt]}return this};var at=/[^+\/0-9A-Za-z-_]/g;function O($){return $<16?"0"+$.toString(16):$.toString(16)}function m($,tt){var et;tt=tt||1/0;for(var At=$.length,nt=null,it=[],at=0;at<At;++at){if((et=$.charCodeAt(at))>55295&&et<57344){if(!nt){if(et>56319){(tt-=3)>-1&&it.push(239,191,189);continue}if(at+1===At){(tt-=3)>-1&&it.push(239,191,189);continue}nt=et;continue}if(et<56320){(tt-=3)>-1&&it.push(239,191,189),nt=et;continue}et=65536+(nt-55296<<10|et-56320)}else nt&&(tt-=3)>-1&&it.push(239,191,189);if(nt=null,et<128){if((tt-=1)<0)break;it.push(et)}else if(et<2048){if((tt-=2)<0)break;it.push(et>>6|192,63&et|128)}else if(et<65536){if((tt-=3)<0)break;it.push(et>>12|224,et>>6&63|128,63&et|128)}else{if(!(et<1114112))throw new Error("Invalid code point");if((tt-=4)<0)break;it.push(et>>18|240,et>>12&63|128,et>>6&63|128,63&et|128)}}return it}function x($){return At.toByteArray(function($){if(($=function($){return $.trim?$.trim():$.replace(/^\s+|\s+$/g,"")}($).replace(at,"")).length<2)return"";for(;$.length%4!=0;)$+="=";return $}($))}function P($,tt,et,At){for(var nt=0;nt<At&&!(nt+et>=tt.length||nt>=$.length);++nt)tt[nt+et]=$[nt];return nt}}).call(this,et(11))},function($,tt){var et,At,nt=$.exports={};function E(){throw new Error("setTimeout has not been defined")}function Q(){throw new Error("clearTimeout has not been defined")}function i($){if(et===setTimeout)return setTimeout($,0);if((et===E||!et)&&setTimeout)return et=setTimeout,setTimeout($,0);try{return et($,0)}catch(tt){try{return et.call(null,$,0)}catch(tt){return et.call(this,$,0)}}}!function(){try{et="function"==typeof setTimeout?setTimeout:E}catch($){et=E}try{At="function"==typeof clearTimeout?clearTimeout:Q}catch($){At=Q}}();var it,at=[],rt=!1,st=-1;function e(){rt&&it&&(rt=!1,it.length?at=it.concat(at):st=-1,at.length&&h())}function h(){if(!rt){var $=i(e);rt=!0;for(var tt=at.length;tt;){for(it=at,at=[];++st<tt;)it&&it[st].run();st=-1,tt=at.length}it=null,rt=!1,function($){if(At===clearTimeout)return clearTimeout($);if((At===Q||!At)&&clearTimeout)return At=clearTimeout,clearTimeout($);try{At($)}catch(tt){try{return At.call(null,$)}catch(tt){return At.call(this,$)}}}($)}}function w($,tt){this.fun=$,this.array=tt}function n(){}nt.nextTick=function($){var tt=new Array(arguments.length-1);if(arguments.length>1)for(var et=1;et<arguments.length;et++)tt[et-1]=arguments[et];at.push(new w($,tt)),1!==at.length||rt||i(h)},w.prototype.run=function(){this.fun.apply(null,this.array)},nt.title="browser",nt.browser=!0,nt.env={},nt.argv=[],nt.version="",nt.versions={},nt.on=n,nt.addListener=n,nt.once=n,nt.off=n,nt.removeListener=n,nt.removeAllListeners=n,nt.emit=n,nt.prependListener=n,nt.prependOnceListener=n,nt.listeners=function($){return[]},nt.binding=function($){throw new Error("process.binding is not supported")},nt.cwd=function(){return"/"},nt.chdir=function($){throw new Error("process.chdir is not supported")},nt.umask=function(){return 0}},function($,tt,et){"use strict";tt.a={"ElvCrypto.wasm":"AGFzbQEAAAABwQEYYAN/f38Bf2AGf3x/f39/AX9gAn9/AGABfwF/YAN/fn8BfmABfwBgAn9/AX9gAAF/YAZ/f39/f38Bf2AHf39/f39/fwF/YAh/f39/f39/fwF/YAp/f39/f39/f39/AX9gBH9/f38Bf2AGf39/f39/AGAJf39/f39/f39/AX9gBX9/f39/AX9gA39/fwBgBX9/f39/AGAEf39+fwBgCH9/f39/f39/AGAEf39/fwBgA35/fwF/YAJ+fwF/YAJ8fwF8AowBDgNlbnYBYgADA2VudgFjAAUDZW52AWQABgNlbnYBZQAFA2VudgFmAAMDZW52AWcAAwNlbnYBaAAAA2VudgFpAAcDZW52AWoABgNlbnYBawAGA2VudgxfX3RhYmxlX2Jhc2UDfwADZW52AWEDfwADZW52Bm1lbW9yeQIAgAIDZW52BXRhYmxlAXABCgoDnwKdAgUCEAUCBRACAhAQEBACEAIFEBAQAgICEBASEBICEBECAgUCAgICAhAFAgUFAgIQBRADAgIQEAICAgICAgICEAIABQUQAwUCBQMAAgICEAUDBRYDAgUCEAUQAgUFBgYCAxAFEAUCAgUCBQURAwUFAgICEBACEBAFERAFAgUCAgIOAw8RFAIFBQYCAgUQEBACAhACAgUQAgICAgALFwYQAxAAAhAFEQICAgAQFAcCAgUCBwYCAgAQEAUQAwMABQIHEAILEBAFBQIFAwMDBgMGEAMDAgICDwYMDAAMBQkCBAABAwYOBhYVDRACAQYDBwcEAAMUFAcHDQ0CBhAQAgcFBxACEAcQBhAQBwUCAgcJExAQAhAMCwIQBhAKAgkCCAYNAn8BIwELfwFBoMkACwfHASgBbADaAQFtANkBAW4A1wEBbwDUAQFwANMBAXEApgIBcgCkAgFzAKICAXQAywEBdQCdAgF2AJwCAXcAyAEBeACVAgF5AJECAXoAjAIBQQCIAgFCAIYCAUMAugEBRAC6AQFFALUBAUYA/gEBRwD9AQFIAMgBAUkA9wEBSgC1AQFLAPABAUwA7AEBTQCkAQFOAOUBAU8A5AEBUADjAQFRAOIBAVIA4QEBUwDgAQFUAN8BAVUAowEBVgDeAQFXAPYBAVgASwFZAFwJGgEAIwALCuoB+gHpAfMB6AH5AecB+AHmAfIBCvr1BZ0CvAEBAX4gACAAKQMAIgFC//////////8DgzcDACAAIAApAwggAUI6h3wiAUL//////////wODNwMIIAAgACkDECABQjqHfCIBQv//////////A4M3AxAgACAAKQMYIAFCOod8IgFC//////////8DgzcDGCAAIAApAyAgAUI6h3wiAUL//////////wODNwMgIAAgACkDKCABQjqHfCIBQv//////////A4M3AyggACAAKQMwIAFCOod8NwMwC0gAIAAgASkDADcDACAAIAEpAwg3AwggACABKQMQNwMQIAAgASkDGDcDGCAAIAEpAyA3AyAgACABKQMoNwMoIAAgASkDMDcDMAtRAQF/IwMhAyMDQUBrJAMgACABIAIQfiAAIAEoAjggAigCOGoiATYCOCABQYCAgBBMBEAgAyQDDwsgA0HADBALIAAgAxAeIABBATYCOCADJAMLDQAgABAKIABBQGsQCgsdACAAIAFGBEAPCyAAIAEQESAAQUBrIAFBQGsQEQuCAQEBfiAAIAApAwAiAUL//////////wCDNwMAIAAgACkDCCABQjiHfCIBQv//////////AIM3AwggACAAKQMQIAFCOId8IgFC//////////8AgzcDECAAIAApAxggAUI4h3wiAUL//////////wCDNwMYIAAgACkDICABQjiHfDcDIAtSAQF/IwMhAyMDQTBqJAMgACABIAIQwAEgACABKAIoIAIoAihqIgE2AiggAUGAgIAITARAIAMkAw8LIANBgBAQEiAAIAMQKSAAQQE2AiggAyQDCxIAIAAgARALIAAgASgCODYCOAs0ACAAIAEpAwA3AwAgACABKQMINwMIIAAgASkDEDcDECAAIAEpAxg3AxggACABKQMgNwMgC2oBAn8jAyEDIwNBsAFqJAMgA0HwAGohBCACKAI4rCABKAI4rH5CgICAEFUEQCAEQcAMEAsgASAEEB4gAUEBNgI4CyADIAEgAhAxIARBwAwQCyAAIARBgDQpAwAgAxAjIABBAjYCOCADJAMLHgAgACABIAIQFSAAQYABaiABQYABaiACQYABahAVCxsAIAAgASACEAwgAEFAayABQUBrIAJBQGsQDAtqAQJ/IwMhAyMDQYABaiQDIANB0ABqIQQgAigCKKwgASgCKKx+QoCAgAhVBEAgBEGAEBASIAEgBBApIAFBATYCKAsgAyABIAIQPiAEQYAQEBIgACAEQYg0KQMAIAMQJSAAQQI2AiggAyQDCxIAIAAgARASIAAgASgCKDYCKAuXAgEHfyMDIQMjA0HwBWokAyADQcAMEAsgA0HAAWoiCCADEKMCIAFBQGshBSABKAI4IgYgASgCeCIEaqwgAigCOCACKAJ4aqx+QoCAgBBVBEAgBkEBSgRAIAEQKyABKAJ4IQQLIARBAUoEQCAFECsLCyADQYAFaiIEIAEgAhAxIANBkARqIgYgBSACQUBrIgkQMSADQYABaiIHIAEgBRB+IAcQCiADQUBrIgUgAiAJEH4gBRAKIANBoANqIgEgByAFEDEgA0GwAmoiAiAEIAYQzAEgBiAIIAYQzQEgBCAEIAYQzAEgASABIAIQzQEgBBDPASAAIAQQLyAAQQM2AjggARDPASAAQUBrIAEQLyAAQQI2AnggAyQDC0oBAn8jAyECIwNB8AFqJAMgAkGADRALIAJBQGsiAyABIAIQMSACQbABaiIBQcAMEAsgACABQYA0KQMAIAMQIyAAQQI2AjggAiQDCw4AIAAQDSAAQYABahANCyYAIAAgASACEJcBIAAgACgCOCIAQQAgAmsgACABKAI4c3FzNgI4CxgAIAAgASACEBsgAEFAayABQUBrIAIQGwsmACAAIAEgAhDCASAAIAAoAigiAEEAIAJrIAAgASgCKHNxczYCKAuFCwIJfxB+IAAgACkDACILQv//////////A4MiEDcDACAAIAApAwggC0I6h3wiC0L//////////wODIg03AwggACAAKQMQIAtCOod8IgtC//////////8DgyIONwMQIAAgACkDGCALQjqHfCILQv//////////A4MiETcDGCAAIAApAyAgC0I6h3wiC0L//////////wODIhI3AyAgACAAKQMoIAtCOod8IgxC//////////8DgyILNwMoIAAgACkDMCAMQjqHfCIPNwMwAkACQCAPIAEpAzAiE1EEfiALIAFBKGoiCCkDACIMUQR+IBIgAUEgaiIDKQMAIgxRBH4gESABQRhqIgQpAwAiDFEEfiAOIAFBEGoiBSkDACIMUQR+IAFBCGoiAikDACIMIA1RBH4gECABKQMAIgxRBH4gAyEGIAQhByAFIQMgAiEEIAghBSALBSAQIQsMBwsFIA0hCwwGCwUgDiELDAULBSARIQsMBAsFIBIhCwwDCwUMAgsFIBMhDCAPIQsMAQshDwwBCyALIAxVBH4gAUEoaiIFKQMAIQ8gAUEgaiIJIQYgAUEYaiIKIQcgAUEQaiIIIQMgAUEIaiICIQQgCSkDACESIAopAwAhESAIKQMAIQ4gAikDACENIAEpAwAFDwshEAtBACECA0AgASATQgGGIA9COYeEIhM3AzAgBSAPQgGGQv7/////////A4MgEkI5h4QiDzcDACAGIBJCAYZC/v////////8DgyARQjmHhCISNwMAIAcgEUIBhkL+/////////wODIA5COYeEIhE3AwAgAyAOQgGGQv7/////////A4MgDUI5h4QiDjcDACAEIA1CAYZC/v////////8DgyAQQjmHhCINNwMAIAEgEEIBhkL+/////////wODIhA3AwAgAkEBaiECAn8CQCATIAApAzAiC1EEfyAPIAApAygiC1EEfyASIAApAyAiC1EEfyARIAApAxgiC1EEfyAOIAApAxAiC1EEfyANIAApAwgiC1EEfyAAKQMAIgsgEFEEf0EABSAQIQwMBwsFIA0hDAwGCwUgDiEMDAULBSARIQwMBAsFIBIhDAwDCwUgDyEMDAILBSATIQwMAQsMAQtBAUF/IAsgDFUbC0F/Sg0ACwNAIAEgDUI5hkKAgICAgICAgAKDIBBCAYeEIho3AwAgBCAOQjmGQoCAgICAgICAAoMgDUIBh4QiFDcDACADIBFCOYZCgICAgICAgIACgyAOQgGHhCIONwMAIAcgEkI5hkKAgICAgICAgAKDIBFCAYeEIg03AwAgBiAPQjmGQoCAgICAgICAAoMgEkIBh4QiEDcDACAFIBNCOYZCgICAgICAgIACgyAPQgGHhCIMNwMAIAEgE0IBhyILNwMwQQAgACkDMCIVIAt9IAApAygiFiAMfSAAKQMgIhcgEH0gACkDGCIYIA19IAApAxAiGSAOfSAAKQMIIhMgFH0gACkDACIPIBp9IhJCOod8IhFCOod8Ig5COod8Ig1COod8IhBCOod8IgxCOod8IgtCP4inQQFza6whFCAAIA8gFCAPIBJC//////////8Dg4WDhTcDACAAIBMgFCATIBFC//////////8Dg4WDhTcDCCAAIBkgFCAZIA5C//////////8Dg4WDhTcDECAAIBggFCAYIA1C//////////8Dg4WDhTcDGCAAIBcgFCAXIBBC//////////8Dg4WDhTcDICAAIBYgFCAWIAxC//////////8Dg4WDhTcDKCAAIBUgFCALIBWFg4U3AzAgAkEBSgRAIAJBf2ohAiABKQMAIRAgBCkDACENIAMpAwAhDiAHKQMAIREgBikDACESIAUpAwAhDyABKQMwIRMMAQsLC5MCAgF/B34gAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwA0AgACAJQgiGIARCMoeEIgk3AzAgACAEQgiGQoD+////////A4MgBUIyh4QiBDcDKCAAIAVCCIZCgP7///////8DgyAGQjKHhCIFNwMgIAAgBkIIhkKA/v///////wODIAdCMoeEIgY3AxggACAHQgiGQoD+////////A4MgCEIyh4QiBzcDECAAIAhCCIZCgP7///////8DgyADQjKHhCIINwMIIAAgA0IIhkKA/v///////wODIgM3AwAgACADIAEgAmotAACthCIDNwMAIAJBAWoiAkEwRw0ACwuGAwIBfwd+IAEgASkDACIDQv//////////A4MiBzcDACABIAEpAwggA0I6h3wiA0L//////////wODIgg3AwggASABKQMQIANCOod8IgNC//////////8DgyIJNwMQIAEgASkDGCADQjqHfCIEQv//////////A4MiAzcDGCABIAEpAyAgBEI6h3wiBUL//////////wODIgQ3AyAgASABKQMoIAVCOod8IgZC//////////8DgyIFNwMoIAEgASkDMCAGQjqHfCIGNwMwQS8hAQNAIAAgAWogBzwAACAIQjKGQoCAgICAgID+A4MgB0IIh4QhByAJQjKGQoCAgICAgID+A4MgCEIIh4QhCCADQjKGQoCAgICAgID+A4MgCUIIh4QhCSAEQjKGQoCAgICAgID+A4MgA0IIh4QhAyAFQjKGQoCAgICAgID+A4MgBEIIh4QhBCAGQjKGQoCAgICAgID+A4MgBUIIh4QhBSAGQgiHIQYgAUF/aiECIAEEQCACIQEMAQsLC14BAn8jAyEDIwNB4ABqJAMgA0EoaiIEIAIQXSAAIAEgBBDAASAAIAEoAiggBCgCKGoiATYCKCABQYCAgAhMBEAgAyQDDwsgA0GAEBASIAAgAxApIABBATYCKCADJAMLXQECfyMDIQMjA0GAAWokAyADQThqIgQgAhAwIAAgASAEEH4gACABKAI4IAQoAjhqIgE2AjggAUGAgIAQTARAIAMkAw8LIANBwAwQCyAAIAMQHiAAQQE2AjggAyQDC5IPAgR/CX4gAkJ/UQRAIAMpAzAhAgNAQgAgBEEDdCADaiIGKQMAIgh9IgtC/////wGDIQ0gASkDACIKQv////8BgyEJIAYgCCAJIA1+fCANIApCHYciCn4gC0IdiEL/////AYMiCyAJfnwiDEIdhkKAgICA/v///wODfCIIQv//////////A4M3AwAgASkDCCIOQv////8BgyEJIARBAWoiBkEDdCADaiIFKQMAIAogC34gDEIdh3wgCEI6h3x8IAkgDX58IA0gDkIdhyIOfiAJIAt+fCIPQh2GQoCAgID+////A4N8IQkgBSAJQv//////////A4M3AwAgASkDECIKQv////8BgyEIIARBAmpBA3QgA2oiBSkDACALIA5+IA9CHYd8IAlCOod8fCAIIA1+fCANIApCHYciCn4gCCALfnwiDEIdhkKAgICA/v///wODfCEJIAUgCUL//////////wODNwMAIAEpAxgiDkL/////AYMhCCAEQQNqQQN0IANqIgUpAwAgCiALfiAMQh2HfCAJQjqHfHwgCCANfnwgDSAOQh2HIg5+IAggC358Ig9CHYZCgICAgP7///8Dg3whCSAFIAlC//////////8DgzcDACABKQMgIgpC/////wGDIQggBEEEakEDdCADaiIFKQMAIAsgDn4gD0Idh3wgCUI6h3x8IAggDX58IApCHYciCiANfiAIIAt+fCIMQh2GQoCAgID+////A4N8IQkgBSAJQv//////////A4M3AwAgASkDKCIOQv////8BgyEIIARBBWpBA3QgA2oiBSkDACAKIAt+IAxCHYd8IAlCOod8fCAIIA1+fCAOQh2HIg4gDX4gCCALfnwiD0IdhkKAgICA/v///wODfCEJIAUgCUL//////////wODNwMAIAEpAzAiCkL/////AYMhCCAEQQZqQQN0IANqIAsgDn4gD0Idh3wgCUI6h3wgAnwgCCANfnwgDSAKQh2HIgp+IAggC358IgxCHYZCgICAgP7///8Dg3wiAkL//////////wODNwMAIARBB2pBA3QgA2oiBCkDACAKIAt+IAxCHYd8IAJCOod8fCECIAQgAjcDACAGQQdHBEAgBiEEDAELCwUgAkIBUSEFIAMpAzAhDQNAIARBA3QgA2oiBikDACIIIAIgCH5C//////////8DgyAFGyIJQv////8BgyELIAEpAwAiDEL/////AYMhCiAGIAggCiALfnwgCyAMQh2HIgx+IAlCHYciCSAKfnwiDkIdhkKAgICA/v///wODfCIKQv//////////A4M3AwAgASkDCCIPQv////8BgyEIIARBAWoiBkEDdCADaiIHKQMAIAkgDH4gDkIdh3wgCkI6h3x8IAggC358IAsgD0IdhyIPfiAIIAl+fCIQQh2GQoCAgID+////A4N8IQggByAIQv//////////A4M3AwAgASkDECIMQv////8BgyEKIARBAmpBA3QgA2oiBykDACAJIA9+IBBCHYd8IAhCOod8fCAKIAt+fCALIAxCHYciDH4gCSAKfnwiDkIdhkKAgICA/v///wODfCEIIAcgCEL//////////wODNwMAIAEpAxgiD0L/////AYMhCiAEQQNqQQN0IANqIgcpAwAgCSAMfiAOQh2HfCAIQjqHfHwgCiALfnwgCyAPQh2HIg9+IAkgCn58IhBCHYZCgICAgP7///8Dg3whCCAHIAhC//////////8DgzcDACABKQMgIgxC/////wGDIQogBEEEakEDdCADaiIHKQMAIAkgD34gEEIdh3wgCEI6h3x8IAogC358IAsgDEIdhyIMfiAJIAp+fCIOQh2GQoCAgID+////A4N8IQggByAIQv//////////A4M3AwAgASkDKCIPQv////8BgyEKIARBBWpBA3QgA2oiBykDACAJIAx+IA5CHYd8IAhCOod8fCAKIAt+fCALIA9CHYciD34gCSAKfnwiEEIdhkKAgICA/v///wODfCEIIAcgCEL//////////wODNwMAIAEpAzAiDEL/////AYMhCiAEQQZqQQN0IANqIAkgD34gEEIdh3wgCEI6h3wgDXwgCiALfnwgCyAMQh2HIgx+IAkgCn58Ig5CHYZCgICAgP7///8Dg3wiDUL//////////wODNwMAIARBB2pBA3QgA2oiBCkDACAJIAx+IA5CHYd8IA1COod8fCENIAQgDTcDACAGQQdHBEAgBiEEDAELCwsgACADKQM4IgI3AwAgACADQUBrKQMAIg03AwggACADKQNIIgs3AxAgACADKQNQIgk3AxggACADKQNYIgg3AyAgACADKQNgIgo3AyggAykDaCEMIAAgAkL//////////wODNwMAIAAgDSACQjqHfCICQv//////////A4M3AwggACALIAJCOod8IgJC//////////8DgzcDECAAIAkgAkI6h3wiAkL//////////wODNwMYIAAgCCACQjqHfCICQv//////////A4M3AyAgACAKIAJCOod8IgJC//////////8DgzcDKCAAIAwgAkI6h3w3AzALnAEBBn8jAyEDIwNBgARqJAMgA0GAA2oiBiABIAIQGCADQYACaiIFIAFBgAFqIgcgAkGAAWoiCBAYIANBgAFqIgQgCCACEBUgAyAHIAEQFSADEA0gBBANIAMgAyAEEBggBCAGEC0gAyADIAQQFSADEA0gBCAFEC0gAEGAAWoiASADIAQQFSAFEDkgACAFIAYQFSAAEA0gARANIAMkAwuSCwIEfwl+IAJCf1EEQCADKQMgIQIDQEIAIARBA3QgA2oiBSkDACIIfSIKQv////8AgyEMIAEpAwAiC0L/////AIMhCSAFIAggCSAMfnwgDCALQhyHIgt+IApCHIhC/////wCDIgogCX58Ig1CHIZCgICAgP////8Ag3wiCEL//////////wCDNwMAIAEpAwgiDkL/////AIMhCSAEQQFqIgVBA3QgA2oiBikDACAKIAt+IA1CHId8IAhCOId8fCAJIAx+fCAMIA5CHIciDn4gCSAKfnwiD0IchkKAgICA/////wCDfCEJIAYgCUL//////////wCDNwMAIAEpAxAiC0L/////AIMhCCAEQQJqQQN0IANqIgYpAwAgCiAOfiAPQhyHfCAJQjiHfHwgCCAMfnwgDCALQhyHIgt+IAggCn58Ig1CHIZCgICAgP////8Ag3whCSAGIAlC//////////8AgzcDACABKQMYIg5C/////wCDIQggBEEDakEDdCADaiIGKQMAIAogC34gDUIch3wgCUI4h3x8IAggDH58IAwgDkIchyIOfiAIIAp+fCIPQhyGQoCAgID/////AIN8IQkgBiAJQv//////////AIM3AwAgASkDICILQv////8AgyEIIARBBGpBA3QgA2ogCiAOfiAPQhyHfCAJQjiHfCACfCAIIAx+fCAMIAtCHIciC34gCCAKfnwiDUIchkKAgICA/////wCDfCICQv//////////AIM3AwAgBEEFakEDdCADaiIEKQMAIAogC34gDUIch3wgAkI4h3x8IQIgBCACNwMAIAVBBUcEQCAFIQQMAQsLBSACQgFRIQYgAykDICEMA0AgBEEDdCADaiIFKQMAIgggAiAIfkL//////////wCDIAYbIglC/////wCDIQogASkDACINQv////8AgyELIAUgCCAKIAt+fCAKIA1CHIciDX4gCUIchyIJIAt+fCIOQhyGQoCAgID/////AIN8IgtC//////////8AgzcDACABKQMIIg9C/////wCDIQggBEEBaiIFQQN0IANqIgcpAwAgCSANfiAOQhyHfCALQjiHfHwgCCAKfnwgCiAPQhyHIg9+IAggCX58IhBCHIZCgICAgP////8Ag3whCCAHIAhC//////////8AgzcDACABKQMQIg1C/////wCDIQsgBEECakEDdCADaiIHKQMAIAkgD34gEEIch3wgCEI4h3x8IAogC358IAogDUIchyINfiAJIAt+fCIOQhyGQoCAgID/////AIN8IQggByAIQv//////////AIM3AwAgASkDGCIPQv////8AgyELIARBA2pBA3QgA2oiBykDACAJIA1+IA5CHId8IAhCOId8fCAKIAt+fCAKIA9CHIciD34gCSALfnwiEEIchkKAgICA/////wCDfCEIIAcgCEL//////////wCDNwMAIAEpAyAiDUL/////AIMhCyAEQQRqQQN0IANqIAkgD34gEEIch3wgCEI4h3wgDHwgCiALfnwgCiANQhyHIg1+IAkgC358Ig5CHIZCgICAgP////8Ag3wiDEL//////////wCDNwMAIARBBWpBA3QgA2oiBCkDACAJIA1+IA5CHId8IAxCOId8fCEMIAQgDDcDACAFQQVHBEAgBSEEDAELCwsgACADKQMoIgI3AwAgACADKQMwIgw3AwggACADKQM4Igo3AxAgACADQUBrKQMAIgk3AxggAykDSCEIIAAgAkL//////////wCDNwMAIAAgDCACQjiHfCICQv//////////AIM3AwggACAKIAJCOId8IgJC//////////8AgzcDECAAIAkgAkI4h3wiAkL//////////wCDNwMYIAAgCCACQjiHfDcDIAsfACAAIAFGBEAPCyAAIAEQDiAAQYABaiABQYABahAOCxgAIAAoAgBBIHFFBEAgASACIAAQqgEaCwuAAQECfyMDIQUjA0GAAmokAyAEQYDABHFFIAIgA0pxBEAgBSABQRh0QRh1IAIgA2siAUGAAiABQYACSRsQShogAUH/AUsEQAJ/IAIgA2shBgNAIAAgBUGAAhAnIAFBgH5qIgFB/wFLDQALIAYLQf8BcSEBCyAAIAUgARAnCyAFJAML6wcCBX8LfiAAIAApAwAiB0L//////////wCDIgs3AwAgACAAKQMIIAdCOId8IgdC//////////8AgyIJNwMIIAAgACkDECAHQjiHfCIHQv//////////AIMiDDcDECAAIAApAxggB0I4h3wiCEL//////////wCDIgc3AxggACAAKQMgIAhCOId8Igo3AyACQAJAIAogASkDICINUQR+IAcgAUEYaiIGKQMAIghRBH4gDCABQRBqIgMpAwAiCFEEfiABQQhqIgIpAwAiCCAJUQR+IAsgASkDACIIUQR+IAMhBCACIQUgBiEDIAcFIAshBwwFCwUgCSEHDAQLBSAMIQcMAwsFDAILBSANIQggCiEHDAELIQoMAQsgByAIVQR+IAFBGGoiAykDACEKIAFBEGoiBiEEIAFBCGoiAiEFIAYpAwAhDCACKQMAIQkgASkDAAUPCyELC0EAIQIDQCABIA1CAYYgCkI3h4QiDTcDICADIApCAYZC/v////////8AgyAMQjeHhCIKNwMAIAQgDEIBhkL+/////////wCDIAlCN4eEIgw3AwAgBSAJQgGGQv7/////////AIMgC0I3h4QiCTcDACABIAtCAYZC/v////////8AgyILNwMAIAJBAWohAgJ/AkAgDSAAKQMgIgdRBH8gCiAAKQMYIgdRBH8gDCAAKQMQIgdRBH8gCSAAKQMIIgdRBH8gCyAAKQMAIgdRBH9BAAUgCyEIDAULBSAJIQgMBAsFIAwhCAwDCwUgCiEIDAILBSANIQgMAQsMAQtBAUF/IAcgCFUbC0F/Sg0ACwNAIAEgCUI3hkKAgICAgICAwACDIAtCAYeEIg43AwAgBSAMQjeGQoCAgICAgIDAAIMgCUIBh4QiCTcDACAEIApCN4ZCgICAgICAgMAAgyAMQgGHhCILNwMAIAMgDUI3hkKAgICAgICAwACDIApCAYeEIgg3AwAgASANQgGHIgc3AyAgAEEAIAApAyAiDyAHfSAAKQMYIhAgCH0gACkDECIRIAt9IAApAwgiCiAJfSAAKQMAIg0gDn0iDEI4h3wiCUI4h3wiC0I4h3wiCEI4h3wiB0I/iKdBAXNrrCIOIAxC//////////8AgyANhYMgDYU3AwAgACAOIAlC//////////8AgyAKhYMgCoU3AwggACAOIAtC//////////8AgyARhYMgEYU3AxAgACAQIA4gECAIQv//////////AIOFg4U3AxggACAPIA4gByAPhYOFNwMgIAJBAUoEQCACQX9qIQIgASkDACELIAUpAwAhCSAEKQMAIQwgAykDACEKIAEpAyAhDQwBCwsLOQEBfyMDIQIjA0GwAWokAyACEDIgAiABEDMgAkHwAGoiAUHADBALIAAgAUGANCkDACACECMgAiQDCycBAX8jAyEBIwNBQGskAyABQcAMEAsgACABEB4gAEEBNgI4IAEkAwvaAQEEfiAAIAApAwgiA0E6IAFrrSIEhkL//////////wODIAApAwAgAa0iAoeENwMAIAAgACkDECIFIASGQv//////////A4MgAyACh4Q3AwggACAAKQMYIgMgBIZC//////////8DgyAFIAKHhDcDECAAIAApAyAiBSAEhkL//////////wODIAMgAoeENwMYIAAgACkDKCIDIASGQv//////////A4MgBSACh4Q3AyAgACAAKQMwIgUgBIZC//////////8DgyADIAKHhDcDKCAAIAUgAoc3AzALRQEDfyMDIQIjA0GAAWokAyACQUBrIgMgASABQUBrIgQQDCADIAMQMCACIAMgBBAMIABBQGsgAyABEAwgACACEBEgAiQDC7QCAQl/IwMhAiMDQYAMaiQDIAJBgApqIgkgACABECQgAkGABmoiBSAAQYACaiIGIAFBgAJqIgQQJCACQYACaiIDIAAgBhAUIAIgASAEEBQgAxAaIAIQGiACQYAIaiIIIAMgAhAkIAMgBiAAQYAEaiIHEBQgAiAEIAFBgARqIgoQFCADEBogAhAaIAJBgARqIgQgAyACECQgAyAJEFYgAiAFEFYgCCAIIAMQFCAGIAggAhAUIAQgBCACEBQgBSAFIAMQFCADIAAgBxAUIAIgASAKEBQgAxAaIAIQGiADIAIgAxAkIAUgBSADEBQgAyAHIAoQJCACIAMQViAHIAUgAhAUIAQgBCACEBQgAxA0IAYgBiADEBQgBBAaIAQQNCAAIAkgBBAUIAAQGiAGEBogBxAaIAIkAwsoAQF/IwMhAiMDQUBrJAMgAkHADBALIAAgAkGANCkDACABECMgAiQDC80BAQJ/IwMhAyMDQYABaiQDIANBwAwQCyADIAEoAjhBf2oiAiACQQF2ciICIAJBAnZyIgIgAkEEdnIiAiACQQh2ciICIAJBEHZyIgIgAkEBdkHVqtWqBXFrIgJBs+bMmQNxIAJBAnZBs+bMmQNxaiICIAJBBHZqQY+evPgAcUGBgoQIbEEYdiICENABIAAgAyABEKECIABBASACdCIBNgI4IAFBgICAEEwEQCADJAMPCyADQUBrIgFBwAwQCyAAIAEQHiAAQQE2AjggAyQDC5AIAgV/C34gAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwIABCADcDOCAAQUBrQgA3AwAgAEIANwNIIABCADcDUCAAQgA3A1ggAEIANwNgIABCADcDaANAIAIpAwAiC0L/////AYMhDCADQQN0IABqIANBA3QgAWoiBSkDACIIQv////8BgyIJIAtCHYciDX4gCEIdhyIPIAx+fCIQQh2GQoCAgID+////A4MgCSAMfiAOfHwiDEL//////////wODNwMAIAIpAwgiC0L/////AYMhCiAFKQMAIghC/////wGDIgkgC0IdhyIRfiAIQh2HIhIgCn58Ig5CHYZCgICAgP7///8DgyADQQFqIgZBA3QgAGoiBykDACANIA9+IBBCHYd8IAxCOod8fCAJIAp+fHwhCiAHIApC//////////8DgzcDACACKQMQIgtC/////wGDIQ0gBSkDACIIQv////8BgyIJIAtCHYciD34gCEIdhyIQIA1+fCIMQh2GQoCAgID+////A4MgA0ECakEDdCAAaiIEKQMAIBEgEn4gDkIdh3wgCkI6h3x8IAkgDX58fCEKIAQgCkL//////////wODNwMAIAIpAxgiC0L/////AYMhDSAFKQMAIghC/////wGDIgkgC0IdhyIRfiAIQh2HIhIgDX58Ig5CHYZCgICAgP7///8DgyADQQNqQQN0IABqIgQpAwAgDyAQfiAMQh2HfCAKQjqHfHwgCSANfnx8IQogBCAKQv//////////A4M3AwAgAikDICILQv////8BgyENIAUpAwAiCEL/////AYMiCSALQh2HIg9+IAhCHYciECANfnwiDEIdhkKAgICA/v///wODIANBBGpBA3QgAGoiBCkDACARIBJ+IA5CHYd8IApCOod8fCAJIA1+fHwhCiAEIApC//////////8DgzcDACACKQMoIgtC/////wGDIQ0gBSkDACIIQv////8BgyIJIAtCHYciEX4gCEIdhyISIA1+fCIOQh2GQoCAgID+////A4MgA0EFakEDdCAAaiIEKQMAIA8gEH4gDEIdh3wgCkI6h3x8IAkgDX58fCEPIAQgD0L//////////wODNwMAIAIpAzAiCEL/////AYMhECAFKQMAIglC/////wGDIgwgCEIdhyILfiAJQh2HIgggEH58IglCHYZCgICAgP7///8DgyADQQZqQQN0IABqIgQpAwAgESASfiAOQh2HfCAPQjqHfHwgDCAQfnx8IQwgBCAMQv//////////A4M3AwAgA0EHakEDdCAAaiAIIAt+IAlCHYd8IAxCOod8NwMAIAZBB0cEQCAGIQMgBykDACEODAELCwtnACAAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKCAAQgA3AzAgAEIANwM4IABBQGtCADcDACAAQgA3A0ggAEIANwNQIABCADcDWCAAQgA3A2AgAEIANwNoC48BACAAIAEpAwA3AwAgACABKQMINwMIIAAgASkDEDcDECAAIAEpAxg3AxggACABKQMgNwMgIAAgASkDKDcDKCAAIAEpAzBC//////////8DgzcDMCAAIAEpAzBCOoc3AzggAEFAayIAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKAtlAQV/IwMhASMDQcACaiQDIAEgAEGAAWoiAxAOIAFBgAFqIgIgARAOIAFBgAJqIgQgAhARIAIgAkFAayIFEDAgBSAEEBEgASABIAIQFSADIAAQDiAAIAEQDiAAEA0gAxANIAEkAwsOACAAEFEgAEGAAWoQUQtVAQJ/IAAgAUYEQCAAQYAEaiECIABBgAJq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ICAAQgA3AyggAEIANwMwIABCADcDOCAAQUBrQgA3AwAgAEIANwNIA0AgAikDACILQv////8AgyEIIANBA3QgAGogA0EDdCABaiIFKQMAIglC/////wCDIgogC0IchyINfiAJQhyHIg8gCH58IhBCHIZCgICAgP////8AgyAIIAp+IA58fCIIQv//////////AIM3AwAgAikDCCILQv////8AgyEMIAUpAwAiCUL/////AIMiCiALQhyHIhF+IAlCHIciEiAMfnwiDkIchkKAgICA/////wCDIANBAWoiBkEDdCAAaiIHKQMAIA0gD34gEEIch3wgCEI4h3x8IAogDH58fCEMIAcgDEL//////////wCDNwMAIAIpAxAiC0L/////AIMhDSAFKQMAIglC/////wCDIgogC0IchyIPfiAJQhyHIhAgDX58IghCHIZCgICAgP////8AgyADQQJqQQN0IABqIgQpAwAgESASfiAOQhyHfCAMQjiHfHwgCiANfnx8IQwgBCAMQv//////////AIM3AwAgAikDGCILQv////8AgyENIAUpAwAiCUL/////AIMiCiALQhyHIhF+IAlCHIciEiANfnwiDkIchkKAgICA/////wCDIANBA2pBA3QgAGoiBCkDACAPIBB+IAhCHId8IAxCOId8fCAKIA1+fHwhDyAEIA9C//////////8AgzcDACACKQMgIglC/////wCDIRAgBSkDACIKQv////8AgyIIIAlCHIciC34gCkIchyIJIBB+fCIKQhyGQoCAgID/////AIMgA0EEakEDdCAAaiIEKQMAIBEgEn4gDkIch3wgD0I4h3x8IAggEH58fCEIIAQgCEL//////////wCDNwMAIANBBWpBA3QgAGogCSALfiAKQhyHfCAIQjiHfDcDACAGQQVHBEAgBiEDIAcpAwAhDgwBCwsL/wECBn8BfiMDIQMjA0HwAmokAyADQfABaiEEIANBgAFqIQUgA0FAayEIIANBqAJqIQZBACACayACIAJBAEgbIgcgASgCOGxBgYCAEEgEQCAAIAEgBxCWASAAIAEoAjggB2w2AjgFIAMQ0QEgAyAHEGggAxAKIAhBgA0QCyAFIAMgCBAxIARBwAwQCyAGIARBgDQpAwAiCSAFECMgBkECNgI4IAEoAjhBgICACEoEQCAEQcAMEAsgASAEEB4gAUEBNgI4CyAFIAEgBhAxIARBwAwQCyAAIAQgCSAFECMgAEECNgI4CyACQX9KBEAgAyQDDwsgACAAEDAgABAKIAMkAwuSAQEEfyMDIQMjA0GAA2okAyADIAEgAUGAAWoiBBAYIANBgAFqIgIgBBAOIANBgAJqIgUgASAEEBUgAhA5IAIgASACEBUgBRANIAIQDSAAIAUgAhAYIAIgAxAOIAIQOSACIAIgAxAVIAIQDSACIAIQLSAAIAAgAhAVIABBgAFqIgEgAyADEBUgABANIAEQDSADJAMLYgECfyAAQShqIAAoAgAiAkEFdkEPcUECdGoiAyABQf8BcSADKAIAQQh0cjYCACAAIAJBCGoiATYCACABBEAgAUH/A3EEQA8LBSAAIAAoAgRBAWo2AgQgAEEANgIACyAAEHILqAcBD38jAyEKIwNBsANqJAMgCkGAA2ohBiAKQdACaiEFIApBoAJqIQcgCkHwAWohCCAKQcABaiEEIApBkAFqIQMgCkHgAGohAiAKQTBqIQlBsDUoAgAhD0GAOygCAEUEQCAGIAAgARAWIAUgAEEwaiILIAFBMGoiDRAWIAcgAEHgAGoiDCABQeAAaiIOEBYgCCAAIAsQECAIEA8gBCABIA0QECAEEA8gCCAIIAQQFiAEIAYgBRAQIAggCCAEECEgCBAPIAQgCyAMEBAgBBAPIAMgDSAOEBAgAxAPIAQgBCADEBYgAyAFIAcQECAEIAQgAxAhIAQQDyADIAAgDBAQIAMQDyACIAEgDhAQIAIQDyADIAMgAhAWIAIgBiAHEBAgAiADIAIQISACEA8gAyAGIAYQECAGIAYgAxAQIAYQDyAHIAcgD0EDbCIBEE0gCSAFIAcQECAJEA8gBSAFIAcQISAFEA8gAiACIAEQTSADIAIgBBAWIAcgCCAFEBYgACAHIAMQISACIAIgBhAWIAUgBSAJEBYgCyACIAUQECAGIAYgCBAWIAkgCSAEEBYgDCAJIAYQECAAEA8gCxAPIAwQDyAKJAMPCyAPRSINBEAgChCPAQsgBiAAIAEQFiAFIABBMGoiCyABQTBqIg4QFiAHIABB4ABqIgwgAUHgAGoiEBAWIAggACALEBAgCBAPIAQgASAOEBAgBBAPIAggCCAEEBYgBCAGIAUQECAIIAggBBAhIAgQDyAEIAsgDBAQIAQQDyADIA4gEBAQIAMQDyAEIAQgAxAWIAMgBSAHEBAgBCAEIAMQISAEEA8gAyAAIAwQECADEA8gAiABIBAQECACEA8gAyADIAIQFiACIAYgBxAQIAIgAyACECEgAhAPIA0EQCAJIAcgChAWBSAJIAcgDxBNCyADIAIgCRAhIAMQDyAJIAMgAxAQIAMgAyAJEBAgCSAFIAMQISAJEA8gAyADIAUQECADEA8gDQRAIAIgAiAKEBYFIAIgAiAPEE0LIAUgByAHEBAgByAHIAUQECACIAIgBxAhIAIgAiAGECEgAhAPIAUgAiACEBAgAiACIAUQECACEA8gBSAGIAYQECAGIAYgBRAQIAYgBiAHECEgBhAPIAUgBCACEBYgByAGIAIQFiACIAMgCRAWIAsgAiAHEBAgAyADIAgQFiAAIAMgBRAhIAkgCSAEEBYgBSAIIAYQFiAMIAkgBRAQIAAQDyALEA8gDBAPIAokAwv3DQICfw9+IABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0IANwMAIABCADcDSEEBIQIDQCACQQN0IAFqKQMAIgZC/////wCDIQogASkDACIFQv////8AgyIIIAZCHIciB34gBUIchyIGIAp+fCIFQhyGQoCAgID/////AIMgBCAJfCAIIAp+fHwhCCAGIAd+IAVCHId8IAhCOId8IQQgAkEDdCAAaiAIQv//////////AIM3AwAgAkEBaiEDIAJBBEkEQCADIgJBA3QgAGopAwAhCQwBCwsgACAENwMoIAEpAxAiBkL/////AIMhByAAIAEpAwgiBUL/////AIMiBCAGQhyHIg9+IAVCHIciDCAHfnwiCEIchkKAgICA/////wCDIAApAxggBCAHfnx8IgdC//////////8AgzcDGCABKQMYIgZC/////wCDIQ4gACABKQMIIgVC/////wCDIgQgBkIchyILfiAFQhyHIgkgDn58IgpCHIZCgICAgP////8AgyAAKQMgIAwgD34gCEIch3wgB0I4h3x8IAQgDn58fCIIQv//////////AIM3AyAgASkDICIGQv////8AgyEMIAAgASkDCCIFQv////8AgyIEIAZCHIciB34gBUIchyIGIAx+fCIFQhyGQoCAgID/////AIMgACkDKCAJIAt+IApCHId8IAhCOId8fCAEIAx+fHwiBEL//////////wCDNwMoIAAgBiAHfiAFQhyHfCAEQjiHfDcDMCABKQMYIgZC/////wCDIQcgACABKQMQIgVC/////wCDIgQgBkIchyILfiAFQhyHIgkgB358IgpCHIZCgICAgP////8AgyAAKQMoIAQgB358fCIIQv//////////AIM3AyggASkDICIGQv////8AgyEMIAAgASkDECIFQv////8AgyIEIAZCHIciB34gBUIchyIGIAx+fCIFQhyGQoCAgID/////AIMgACkDMCAJIAt+IApCHId8IAhCOId8fCAEIAx+fHwiBEL//////////wCDNwMwIAAgBiAHfiAFQhyHfCAEQjiHfDcDOCABKQMgIgZC/////wCDIQcgACABKQMYIgVC/////wCDIgQgBkIchyILfiAFQhyHIgkgB358IgVCHIZCgICAgP////8AgyAAKQM4IAQgB358fCIEQv//////////AIM3AzggACkDIEIBhiEQIAApAyhCAYYhESAAKQMwQgGGIRIgACkDOEIBhiENIAAgACkDAEIBhiIKNwMAIAAgACkDCEIBhiIINwMIIAAgACkDEEIBhiIHNwMQIAAgACkDGEIBhiIGNwMYIAAgEDcDICAAIBE3AyggACASNwMwIAAgDTcDOCAAQUBrIgMgCSALfiAFQhyHfCAEQjiHfEIBhiIPNwMAIABCADcDSCAAIAEpAwAiBEL/////AIMiCyAEQhyHIgl+IgVCHYZCgICAgP7///8AgyAKIAsgC358fCIEQv//////////AIMiDDcDACAAIAggCSAJfiAFQhuHfHwgBEI4h3wiDjcDCCAAIAEpAwgiBEL/////AIMiCiAEQhyHIgh+IgVCHYZCgICAgP7///8AgyAHIAogCn58fCIEQv//////////AIMiCzcDECAAIAYgCCAIfiAFQhuHfHwgBEI4h3wiCTcDGCAAIAEpAxAiBEL/////AIMiByAEQhyHIgZ+IgVCHYZCgICAgP7///8AgyAHIAd+IBB8fCIEQv//////////AIMiCjcDICAAIAYgBn4gBUIbh3wgEXwgBEI4h3wiCDcDKCAAIAEpAxgiBEL/////AIMiByAEQhyHIgZ+IgVCHYZCgICAgP7///8AgyAHIAd+IBJ8fCIEQv//////////AIMiBzcDMCAAIAYgBn4gBUIbh3wgDXwgBEI4h3wiBjcDOCABKQMgIgVC/////wCDIQ0gACAMNwMAIAAgDkL//////////wCDNwMIIAAgCyAOQjiHfCIEQv//////////AIM3AxAgACAJIARCOId8IgRC//////////8AgzcDGCAAIAogBEI4h3wiBEL//////////wCDNwMgIAAgCCAEQjiHfCIEQv//////////AIM3AyggACAHIARCOId8IgRC//////////8AgzcDMCAAIAYgBEI4h3wiBEL//////////wCDNwM4IAMgDyANIA1+fCANIAVCHIciB34iBkIdhkKAgICA/v///wCDfCIFQv//////////AIMgBEI4h3wiBEL//////////wCDNwMAIAAgByAHfiAGQhuHfCAFQjiHfCAEQjiHfDcDSAuqBwEPfyMDIQojA0HABGokAyAKQYAEaiEGIApBwANqIQUgCkGAA2ohByAKQcACaiEIIApBgAJqIQQgCkHAAWohAyAKQYABaiECIApBQGshCUGsNSgCACEPQYA7KAIARQRAIAYgACABEBMgBSAAQUBrIgsgAUFAayINEBMgByAAQYABaiIMIAFBgAFqIg4QEyAIIAAgCxAMIAgQCiAEIAEgDRAMIAQQCiAIIAggBBATIAQgBiAFEAwgCCAIIAQQIiAIEAogBCALIAwQDCAEEAogAyANIA4QDCADEAogBCAEIAMQEyADIAUgBxAMIAQgBCADECIgBBAKIAMgACAMEAwgAxAKIAIgASAOEAwgAhAKIAMgAyACEBMgAiAGIAcQDCACIAMgAhAiIAIQCiADIAYgBhAMIAYgBiADEAwgBhAKIAcgByAPQQNsIgEQPyAJIAUgBxAMIAkQCiAFIAUgBxAiIAUQCiACIAIgARA/IAMgAiAEEBMgByAIIAUQEyAAIAcgAxAiIAIgAiAGEBMgBSAFIAkQEyALIAIgBRAMIAYgBiAIEBMgCSAJIAQQEyAMIAkgBhAMIAAQCiALEAogDBAKIAokAw8LIA9FIg0EQCAKQYAIEEYLIAYgACABEBMgBSAAQUBrIgsgAUFAayIOEBMgByAAQYABaiIMIAFBgAFqIhAQEyAIIAAgCxAMIAgQCiAEIAEgDhAMIAQQCiAIIAggBBATIAQgBiAFEAwgCCAIIAQQIiAIEAogBCALIAwQDCAEEAogAyAOIBAQDCADEAogBCAEIAMQEyADIAUgBxAMIAQgBCADECIgBBAKIAMgACAMEAwgAxAKIAIgASAQEAwgAhAKIAMgAyACEBMgAiAGIAcQDCACIAMgAhAiIAIQCiANBEAgCSAHIAoQEwUgCSAHIA8QPwsgAyACIAkQIiADEAogCSADIAMQDCADIAMgCRAMIAkgBSADECIgCRAKIAMgAyAFEAwgAxAKIA0EQCACIAIgChATBSACIAIgDxA/CyAFIAcgBxAMIAcgByAFEAwgAiACIAcQIiACIAIgBhAiIAIQCiAFIAIgAhAMIAIgAiAFEAwgAhAKIAUgBiAGEAwgBiAGIAUQDCAGIAYgBxAiIAYQCiAFIAQgAhATIAcgBiACEBMgAiADIAkQEyALIAIgBxAMIAMgAyAIEBMgACADIAUQIiAJIAkgBBATIAUgCCAGEBMgDCAJIAUQDCAAEAogCxAKIAwQCiAKJAMLaAICfwF+IwMhAiMDQbABaiQDIAJB8ABqIQMgASgCOKwiBCAEfkKAgIAQVgRAIANBwAwQCyABIAMQHiABQQE2AjgLIAIgARBHIANBwAwQCyAAIANBgDQpAwAgAhAjIABBAjYCOCACJAMLVgECfyMDIQIjA0GwAmokAyACIAEQCyACQUBrIgFBgA0QCyACQYABaiIDIAIgARAxIAJB8AFqIgFBwAwQCyAAIAFBgDQpAwAgAxAjIABBAjYCOCACJAMLxhkCAn8QfiAAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKCAAQgA3AzAgAEIANwM4IABBQGtCADcDACAAQgA3A0ggAEIANwNQIABCADcDWCAAQgA3A2AgAEIANwNoQQEhAgNAIAJBA3QgAWopAwAiBkL/////AYMhCyABKQMAIgVC/////wGDIgkgBkIdhyIHfiAFQh2HIgYgC358IgVCHYZCgICAgP7///8DgyAEIAp8IAkgC358fCEJIAYgB34gBUIdh3wgCUI6h3whBCACQQN0IABqIAlC//////////8DgzcDACACQQFqIQMgAkEGSQRAIAMiAkEDdCAAaikDACEKDAELCyAAIAQ3AzggASkDECIGQv////8BgyEHIAAgASkDCCIFQv////8BgyIEIAZCHYciDn4gBUIdhyIIIAd+fCIJQh2GQoCAgID+////A4MgACkDGCAEIAd+fHwiB0L//////////wODNwMYIAEpAxgiBkL/////AYMhDSAAIAEpAwgiBUL/////AYMiBCAGQh2HIgx+IAVCHYciCiANfnwiC0IdhkKAgICA/v///wODIAApAyAgCCAOfiAJQh2HfCAHQjqHfHwgBCANfnx8IgdC//////////8DgzcDICABKQMgIgZC/////wGDIQ0gACABKQMIIgVC/////wGDIgQgBkIdhyIOfiAFQh2HIgggDX58IglCHYZCgICAgP7///8DgyAAKQMoIAogDH4gC0Idh3wgB0I6h3x8IAQgDX58fCIHQv//////////A4M3AyggASkDKCIGQv////8BgyENIAAgASkDCCIFQv////8BgyIEIAZCHYciDH4gBUIdhyIKIA1+fCILQh2GQoCAgID+////A4MgACkDMCAIIA5+IAlCHYd8IAdCOod8fCAEIA1+fHwiCUL//////////wODNwMwIAEpAzAiBkL/////AYMhCCAAIAEpAwgiBUL/////AYMiBCAGQh2HIgd+IAVCHYciBiAIfnwiBUIdhkKAgICA/v///wODIAApAzggCiAMfiALQh2HfCAJQjqHfHwgBCAIfnx8IgRC//////////8DgzcDOCAAQUBrIgIgBiAHfiAFQh2HfCAEQjqHfDcDACABKQMYIgZC/////wGDIQcgACABKQMQIgVC/////wGDIgQgBkIdhyIMfiAFQh2HIgogB358IgtCHYZCgICAgP7///8DgyAAKQMoIAQgB358fCIHQv//////////A4M3AyggASkDICIGQv////8BgyENIAAgASkDECIFQv////8BgyIEIAZCHYciDn4gBUIdhyIIIA1+fCIJQh2GQoCAgID+////A4MgACkDMCAKIAx+IAtCHYd8IAdCOod8fCAEIA1+fHwiB0L//////////wODNwMwIAEpAygiBkL/////AYMhDSAAIAEpAxAiBUL/////AYMiBCAGQh2HIgx+IAVCHYciCiANfnwiC0IdhkKAgICA/v///wODIAApAzggCCAOfiAJQh2HfCAHQjqHfHwgBCANfnx8IglC//////////8DgzcDOCABKQMwIgVC/////wGDIQggASkDECIEQv////8BgyIHIAVCHYciBn4gBEIdhyIFIAh+fCIEQh2GQoCAgID+////A4MgAEFAayIDKQMAIAogDH4gC0Idh3wgCUI6h3x8IAcgCH58fCEHIAMgB0L//////////wODNwMAIAAgBSAGfiAEQh2HfCAHQjqHfDcDSCABKQMgIgZC/////wGDIQcgACABKQMYIgVC/////wGDIgQgBkIdhyIOfiAFQh2HIgggB358IgxCHYZCgICAgP7///8DgyAAKQM4IAQgB358fCIHQv//////////A4M3AzggASkDKCIGQv////8BgyENIAEpAxgiBUL/////AYMiBCAGQh2HIgp+IAVCHYciCyANfnwiCUIdhkKAgICA/v///wODIABBQGsiAykDACAIIA5+IAxCHYd8IAdCOod8fCAEIA1+fHwhCCADIAhC//////////8DgzcDACABKQMwIgZC/////wGDIQwgACABKQMYIgVC/////wGDIgQgBkIdhyIHfiAFQh2HIgYgDH58IgVCHYZCgICAgP7///8DgyAAKQNIIAogC34gCUIdh3wgCEI6h3x8IAQgDH58fCIEQv//////////A4M3A0ggACAGIAd+IAVCHYd8IARCOod8NwNQIAEpAygiBkL/////AYMhByAAIAEpAyAiBUL/////AYMiBCAGQh2HIgx+IAVCHYciCiAHfnwiC0IdhkKAgICA/v///wODIAApA0ggBCAHfnx8IglC//////////8DgzcDSCABKQMwIgZC/////wGDIQggACABKQMgIgVC/////wGDIgQgBkIdhyIHfiAFQh2HIgYgCH58IgVCHYZCgICAgP7///8DgyAAKQNQIAogDH4gC0Idh3wgCUI6h3x8IAQgCH58fCIEQv//////////A4M3A1AgACAGIAd+IAVCHYd8IARCOod8NwNYIAEpAzAiBkL/////AYMhByAAIAEpAygiBUL/////AYMiBCAGQh2HIhN+IAVCHYciDSAHfnwiDkIdhkKAgICA/v///wODIAApA1ggBCAHfnx8IghC//////////8DgzcDWCAAKQMwQgGGIQ8gACkDOEIBhiEQIAIpAwBCAYYhESAAKQNIQgGGIRIgACkDUEIBhiEFIAApA1hCAYYhBCAAIAApAwBCAYYiDDcDACAAIAApAwhCAYYiCjcDCCAAIAApAxBCAYYiCzcDECAAIAApAxhCAYYiCTcDGCAAIAApAyBCAYYiBzcDICAAIAApAyhCAYYiBjcDKCAAIA83AzAgACAQNwM4IAIgETcDACAAIBI3A0ggACAFNwNQIAAgBDcDWCAAIA0gE34gDkIdh3wgCEI6h3xCAYY3A2AgAEIANwNoIAAgASkDACIEQv////8BgyIOIARCHYciCH4iBUIehkKAgICA/P///wODIAwgDiAOfnx8IgRC//////////8DgzcDACAAIAogCCAIfiAFQhyHfHwgBEI6h3w3AwggACABKQMIIgRC/////wGDIgwgBEIdhyIKfiIFQh6GQoCAgID8////A4MgCyAMIAx+fHwiBEL//////////wODNwMQIAAgCSAKIAp+IAVCHId8fCAEQjqHfDcDGCAAIAEpAxAiBEL/////AYMiCyAEQh2HIgl+IgVCHoZCgICAgPz///8DgyAHIAsgC358fCIEQv//////////A4M3AyAgACAGIAkgCX4gBUIch3x8IARCOod8NwMoIAAgASkDGCIEQv////8BgyIHIARCHYciBn4iBUIehkKAgICA/P///wODIAcgB34gD3x8IgRC//////////8DgyIINwMwIAAgBiAGfiAFQhyHfCAQfCAEQjqHfCIMNwM4IAIgASkDICIEQv////8BgyIHIARCHYciBn4iBUIehkKAgICA/P///wODIAcgB34gEXx8IgRC//////////8DgyIKNwMAIAAgBiAGfiAFQhyHfCASfCAEQjqHfCILNwNIIAAgASkDKCIEQv////8BgyIHIARCHYciBn4iBUIehkKAgICA/P///wODIAApA1AgByAHfnx8IgRC//////////8DgyIJNwNQIAAgACkDWCAGIAZ+IAVCHId8fCAEQjqHfCIHNwNYIAEpAzAiBEL/////AYMiBiAEQh2HIgV+IgRCHoZCgICAgPz///8DgyAAKQNgIAYgBn58fCIGQjqHIAApA2ggBSAFfiAEQhyHfHx8IQUgACAAKQMAIgRC//////////8DgzcDACAAIAApAwggBEI6h3wiBEL//////////wODNwMIIAAgACkDECAEQjqHfCIEQv//////////A4M3AxAgACAAKQMYIARCOod8IgRC//////////8DgzcDGCAAIAApAyAgBEI6h3wiBEL//////////wODNwMgIAAgACkDKCAEQjqHfCIEQv//////////A4M3AyggACAIIARCOod8IgRC//////////8DgzcDMCAAIAwgBEI6h3wiBEL//////////wODNwM4IAIgCiAEQjqHfCIEQv//////////A4M3AwAgACALIARCOod8IgRC//////////8DgzcDSCAAIAkgBEI6h3wiBEL//////////wODNwNQIAAgByAEQjqHfCIEQv//////////A4M3A1ggACAGQv//////////A4MgBEI6h3wiBEL//////////wODNwNgIAAgBSAEQjqHfDcDaAvqAgEGfyMDIQUjA0HABmokAyACEAogBSACQQMQlgEgBRAKIAVBOGoiAyABRwRAIAMgARAmIANBgAJqIAFBgAJqECYgA0GABGogAUGABGoQJgsgBRBpIgRBAkoEQCABQYACaiEHIAFBgARqIQggBEF+aiEEA0AgAyADEKIBAkACQAJAIARBOm0iBkEDdCAFaikDAEIBIAQgBkE6bGuthoNCAFIgBEE6bSIGQQN0IAJqKQMAQgEgBCAGQTpsa62Gg0IAUmtBf2sOAwECAAILIAMgARAuDAELIAEgARBQIAcgBxBfIAggCBBQIAMgARAuIAEgARBQIAcgBxBfIAggCBBQCyAEQX9qIQYgBEEBSgRAIAYhBAwBCwsLIAAgA0YEQCAAEDUgAEGAAmoQNSAAQYAEahA1BSAAIAMQJiAAQYACaiIBIANBgAJqECYgAEGABGoiAiADQYAEahAmIAAQNSABEDUgAhA1CyAFJAMLWQEDfyMDIQIjA0GAAmokAyACQYABaiIDIAEQPCACIAMgARAYIAAgAhCYASAAQYACaiIEIAIQmAEgAEGABGoiACACEJgBIAQgBCABEGogACAAIAMQaiACJAMLmAIBBH8gACACaiEEIAFB/wFxIQMgAkHDAE4EQANAIABBA3EEQCAAIAM6AAAgAEEBaiEADAELCyADQQh0IANyIANBEHRyIANBGHRyIQEgBEF8cSIFQUBqIQYDQCAAIAZMBEAgACABNgIAIAAgATYCBCAAIAE2AgggACABNgIMIAAgATYCECAAIAE2AhQgACABNgIYIAAgATYCHCAAIAE2AiAgACABNgIkIAAgATYCKCAAIAE2AiwgACABNgIwIAAgATYCNCAA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NwIIIABCADcCECAAQgA3AhggAEIANwIgIABCADcCKCAAQgA3AjAgAEIANwI4IABBQGtCADcCACAAQgA3AkggAEIANwJQIABCADcCWCAAQgA3AmAgAEIANwJoIABCADcCcCAAQgA3AngLngICBn8BfiMDIQMjA0GQAmokAyADQbABaiEEIANB4ABqIQUgA0EwaiEIIANB2AFqIQZBACACayACIAJBAEgbIgcgASgCKGxBgYCACEgEQCAAIAEgBxCPAiAAIAEoAiggB2w2AigFIANCADcDACADQgA3AwggA0IANwMQIANCADcDGCADQgA3AyAgAyAHEJMBIAMQDyAIQbAQEBIgBSADIAgQPiAEQYAQEBIgBiAEQYg0KQMAIgkgBRAlIAZBAjYCKCABKAIoQYCAgARKBEAgBEGAEBASIAEgBBApIAFBATYCKAsgBSABIAYQPiAEQYAQEBIgACAEIAkgBRAlIABBAjYCKAsgAkF/SgRAIAMkAw8LIAAgABBdIAAQDyADJAMLKQECfyMDIQEjA0EwaiQDIAFBgBAQEiAAIAEQKSAAEMQBIQIgASQDIAILDgAgABDRASAAQQE2AjgLIgEBfyAAIAEQDiAAQYABaiICIAFBgAFqEC0gABANIAIQDQsNACAAECsgAEFAaxArC1IBA38QByEDIAAjAigCACICaiIBIAJIIABBAEpxIAFBAEhyBEAgARAEGkEMEANBfw8LIAEgA0oEQCABEAVFBEBBDBADQX8PCwsjAiABNgIAIAILxgMBA38gAkGAwABOBEAgACABIAIQBhogAA8LIAAhBCAAIAJqIQMgAEEDcSABQQNxRgRAA0AgAEEDcQRAIAJFBEAgBA8LIAAgASwAADoAACAAQQFqIQAgAUEBaiEBIAJBAWshAgwBCwsgA0F8cSICQUBqIQUDQCAAIAVMBEAgACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYNgIYIAAgASgCHDYCHCAAIAEoAiA2AiAgACABKAIkNgIkIAAgASgCKDYCKCAAIAEoAiw2AiwgACABKAIwNgIwIAAgASgCNDYCNCAAIAEoAjg2AjggACABKAI8NgI8IABBQGshACABQUBrIQEMAQsLA0AgACACSARAIAAgASgCADYCACAAQQRqIQAgAUEEaiEBDAELCwUgA0EEayECA0AgACACSARAIAAgASwAADoAACAAIAEsAAE6AAEgACABLAACOgACIAAgASwAAzoAAyAAQQRqIQAgAUEEaiEBDAELCwsDQCAAIANIBEAgACABLAAAOgAAIABBAWohACABQQFqIQEMAQsLIAQLiwEBA38gAUUEQA8LIAAoAgAhAgJAAkAgASgCACIDQQBKBEACQEEAIQMDQCACIANqIgQgACgCBCICTg0BIAAoAgggBGogAyABKAIIaiwAADoAACAAKAIAIQIgA0EBaiIDIAEoAgAiBEgNAAsgBCEBDAILBSADIQEMAQsMAQsgASACaiECCyAAIAI2AgALaAICfwF+IwMhAiMDQYABaiQDIAJB0ABqIQMgASgCKKwiBCAEfkKAgIAIVgRAIANBgBAQEiABIAMQKSABQQE2AigLIAIgARBDIANBgBAQEiAAIANBiDQpAwAgAhAlIABBAjYCKCACJAMLWgEDfyMDIQIjA0GAAmokAyABEA0gAUGAAWoiAxANIAJBgAFqIgQgASADEBUgBCAEEC0gAiAEIAMQFSAAQYABaiIDIAQgARAVIAAgAhAOIAAQDSADEA0gAiQDCxgAIAAgASACED8gAEFAayABQUBrIAIQPwsNACAAEE8gAEFAaxBPCyQBAX8gABArIABBQGsiARArIAAQOwRAIAEQOwRAQQEPCwtBAAv/AQEIfyMDIQMjA0GABmokAyADQYACaiIHIABBgAFqIgYQDiADQYAFaiIEIAYQPCADQYAEaiIFIAcgAEGAAmoiARAYIANBgANqIgIgARA8IAEgBCAEEBUgARANIAEgASABEBUgASABIAEQFSABEA0gAiACQaw1KAIAQQNsEFcgAhA5IAIQDSADQYABaiIIIAIgARAYIAMgBCACEBUgAxANIAEgASAFEBggBSACIAIQFSACIAIgBRAVIAIQDSAEIAQgAhA6IAQQDSADIAMgBBAYIAYgAyAIEBUgBSAAIAcQGCAEEA0gACAEIAUQGCAAIAAgABAVIAAQDSAGEA0gAyQDC4MBAgJ/AX4gAKchAiAAQv////8PVgRAA0AgAUF/aiIBIAAgAEIKgCIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/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DyAKIAIgBhAWIAAQDyAJIAMQFyAJEA8gChAPIAckAwuaBQEMfyMDIQcjA0GABGokAyAHQcADaiECIAdBgANqIQYgB0HAAmohBCAHQcABaiEIIAdBgAFqIQNBgDsoAgBFBEAgAiAAQUBrIgUQRSAGIAUgAEGAAWoiARATIAQgARBFIAEgAiACEAwgARAKIAEgASABEAwgASABIAEQDCABEAogBCAEQaw1KAIAQQNsED8gCCAEIAEQEyADIAIgBBAMIAMQCiABIAEgBhATIAYgBCAEEAwgBCAEIAYQDCACIAIgBBAiIAIQCiADIAMgAhATIAMgAyAIEAwgBiAAIAUQEyACEAogACACIAYQEyAAIAAgABAMIAAQCiAFIAMQESAFEAogByQDDwtBrDUoAgAiC0UiDARAIAdBgAgQRgsgAiAAEEUgBiAAQUBrIgkQRSAEIABBgAFqIgoQRSAHQYACaiIFIAAgCRATIAUgBSAFEAwgBRAKIAdBQGsiASAKIAAQEyABIAEgARAMIAEQCiAMBEAgAyAEIAcQEwUgAyAEIAsQPwsgAyADIAEQIiAIIAMgAxAMIAgQCiADIAMgCBAMIAggBiADECIgCBAKIAMgAyAGEAwgAxAKIAMgAyAIEBMgCCAIIAUQEyAFIAQgBBAMIAQgBCAFEAwgDARAIAEgASAHEBMFIAEgASALED8LIAEgASAEECIgASABIAIQIiABEAogBSABIAEQDCABIAEgBRAMIAEQCiAFIAIgAhAMIAIgAiAFEAwgAiACIAQQIiACEAogAiACIAEQEyADIAMgAhAMIAIgCSAKEBMgAiACIAIQDCACEAogASABIAIQEyAAIAggARAiIAIgAiACEAwgAhAKIAYgBiAGEAwgBhAKIAogAiAGEBMgABAKIAkgAxARIAkQCiAKEAogByQDC0cBAn8jAyECIwNBQGskAyACQcAMEAsgACACEB4gAEEBNgI4IAJBwAwQCyABIAIQHiABQQE2AjggACABEKACRSEDIAIkAyADC8gBAQJ+IAAgACkDACIDQv//////////A4M3AwAgACAAKQMIIANCOod8IgJC//////////8DgzcDCCAAIAApAxAgAkI6h3wiAkL//////////wODNwMQIAAgACkDGCACQjqHfCICQv//////////A4M3AxggACAAKQMgIAJCOod8IgJC//////////8DgzcDICAAIAApAyggAkI6h3wiAkL//////////wODNwMoIAAgACkDMCACQjqHfDcDMCADp0EBIAF0QX9qcQvAAQECfiAAIAApAwggACkDACIDQjqHfCICQv//////////A4M3AwggACAAKQMQIAJCOod8IgJC//////////8DgzcDECAAIAApAxggAkI6h3wiAkL//////////wODNwMYIAAgACkDICACQjqHfCICQv//////////A4M3AyAgACAAKQMoIAJCOod8IgJC//////////8DgzcDKCAAIAApAzAgAkI6h3w3AzAgACABrCADQv//////////A4N8NwMAC+ECAgJ/B34gACAAKQMAIgNC//////////8DgyIENwMAIAAgACkDCCADQjqHfCIDQv//////////A4MiBTcDCCAAIAApAxAgA0I6h3wiA0L//////////wODIgY3AxAgACAAKQMYIANCOod8IgNC//////////8DgyIHNwMYIAAgACkDICADQjqHfCIDQv//////////A4MiCDcDICAAIAApAyggA0I6h3wiA0L//////////wODIgk3AyggACAAKQMwIANCOod8IgM3AzAgA0IAUQR/IAlCAFEEfyAIQgBRBH8gB0IAUQR/IAZCAFEEfyAFQgBRBH8gBEIAUQR/QQAPBUEACwVBAQsFQQILBUEDCwVBBAsFQQULBUEGCyICQTpsIQEgAkEDdCAAaikDACIDQgBRBEAgAQ8LIAEhAANAIANCAn8hBCAAQQFqIQAgA0IBfEIDWgRAIAQhAwwBCwsgAAsaACAAIAEgAhAYIABBgAFqIAFBgAFqIAIQGAsOACAAEFggAEGAAWoQWAsYACAAIAEgAhATIABBQGsgAUFAayACEBMLJAEBfyMDIQEjA0FAayQDIAEQXiAAIAEQESAAQUBrEE8gASQDC+cGAQx/IwMhCCMDQfAfaiQDIAAQWSEDIABBgAJqIgoQWSADcQRAIAgkAw8LIAAQhQEgCEHoHGoiBiAAEA4gBkGAAWoiCyAAQYABaiIMEA4gBkGAAmoiCSAKEA4gBhBaIAhB8ABqIgIgABAOIAJBgAFqIgMgDBAOIAJBgAJqIgQgChAOIAJBgANqIgUgAhAOIAJBgARqIgcgAxAOIAJBgAVqIgMgBBAOIAUgBhA9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AGoiAyABIAIQPiABQbABaiICQYAQEBIgACACQYg0KQMAIAMQJSAAQQI2AiggASQDCycBAX8jAyEBIwNBMGokAyABQYAQEBIgACABECkgAEEBNgIoIAEkAwtKAQJ/IwMhAiMDQbABaiQDIAJBsBAQEiACQTBqIgMgASACED4gAkGAAWoiAUGAEBASIAAgAUGINCkDACADECUgAEECNgIoIAIkAwvLAQIBfwV+IABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyADQCAAIAdCCIYgBkIwh4QiBzcDICAAIAZCCIZCgP7///////8AgyAEQjCHhCIGNwMYIAAgBEIIhkKA/v///////wCDIAVCMIeEIgQ3AxAgACAFQgiGQoD+////////AIMgA0Iwh4QiBTcDCCAAIANCCIZCgP7///////8AgyIDNwMAIAAgAyABIAJqLQAArYQiAzcDACACQQFqIgJBIEcNAAsLmAICAX8FfiABIAEpAwAiA0L//////////wCDIgU3AwAgASABKQMIIANCOId8IgNC//////////8AgyIGNwMIIAEgASkDECADQjiHfCIDQv//////////AIMiBzcDECABIAEpAxggA0I4h3wiBEL//////////wCDIgM3AxggASABKQMgIARCOId8IgQ3AyBBHyEBA0AgACABaiAFPAAAIAZCMIZCgICAgICAwP8AgyAFQgiHhCEFIAdCMIZCgICAgICAwP8AgyAGQgiHhCEGIANCMIZCgICAgICAwP8AgyAHQgiHhCEHIARCMIZCgICAgICAwP8AgyADQgiHhCEDIARCCIchBCABQX9qIQIgAQRAIAIhAQwBCwsLagECfyMDIQMjA0GAAWokAyADIAIQGSADIAMQRSADECsgA0FAayIEIAEQGSAEIAQQmgIgAyAEEGYEQCAAIAEQGSAAQUBrIAIQGSAAQYABahBeBSAAEE8gAEFAaxBeIABBgAFqEE8LIAMkAwvmFwE2fiABIAIQHiACKQMAISQgAikDCCElIAIpAxAhJiACKQMYIScgAikDICEoIAIpAyghKSACKQMwISogASkDCCIJIAEpAxAiDiABKQMYIg0gASkDICIMIAEpAygiBSABKQMwIhKEhISEhEIAUSABKQMAIhVCAVFxBEAgAEIBNwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwDwtCASEPICQhAyAlIQQgJiEKICchECAoIREgKSEUICohIwJAAkADQCADQgFRBH8gBCAKIBAgESAUICOEhISEhEIAUQVBAAtFBEAgFUICgacEfiAVIR4gFiEVIAkhFiATIQkgDiETIA0hISAaIQ4gDCEaIBchDSAFIRcgEiEiIAshDCAIBQN+IA9CAoGnBEAgCyApfCAIICh8IBcgJ3wgGiAmfCATICV8IA8gJHwiD0I6h3wiE0I6h3wiIUI6h3wiF0I6h3wiIkI6h3whHiAPQv//////////A4MhDyAWICp8IB5COod8IRYgE0L//////////wODIRMgIUL//////////wODIRogF0L//////////wODIRcgIkL//////////wODIQggHkL//////////wODIQsLIBVCAYciHiAJQjmGQoCAgICAgICAAoOEIRUgDkI5hkKAgICAgICAgAKDIAlCAYeEIQkgDUI5hkKAgICAgICAgAKDIA5CAYeEIQ4gDEI5hkKAgICAgICAgAKDIA1CAYeEIQ0gBUI5hkKAgICAgICAgAKDIAxCAYeEIQwgEkI5hkKAgICAgICAgAKDIAVCAYeEIQUgEkIBhyESIBNCOYZCgICAgICAgIACgyAPQgGHhCEPIBpCOYZCgICAgICAgIACgyATQgGHhCETIBdCOYZCgICAgICAgIACgyAaQgGHhCEaIAhCOYZCgICAgICAgIACgyAXQgGHhCEXIAtCOYZCgICAgICAgIACgyAIQgGHhCEIIBZCOYZCgICAgICAgIACgyALQgGHhCELIBZCAYchFiAeQgKBp0UNACAVIR4gFiEVIAkhFiATIQkgDiETIA0hISAaIQ4gDCEaIBchDSAFIRcgEiEiIAshDCAICwshEiADQgKBpwR+IAYhBSADIQggByEGIAQhCyAYIQcgCiEYIBAhHyAZIQogESEZIBQhICAcIREgHSEUIBsFA34gBkICgacEQCAdICl8IBwgKHwgGyAnfCAZICZ8IBggJXwgBiAkfCIGQjqHfCIIQjqHfCILQjqHfCIfQjqHfCIgQjqHfCEFIAZC//////////8DgyEGIAcgKnwgBUI6h3whByAIQv//////////A4MhGCALQv//////////A4MhGSAfQv//////////A4MhGyAgQv//////////A4MhHCAFQv//////////A4MhHQsgA0IBhyIFIARCOYZCgICAgICAgIACg4QhAyAKQjmGQoCAgICAgICAAoMgBEIBh4QhBCAQQjmGQoCAgICAgICAAoMgCkIBh4QhCiARQjmGQoCAgICAgICAAoMgEEIBh4QhECAUQjmGQoCAgICAgICAAoMgEUIBh4QhESAjQjmGQoCAgICAgICAAoMgFEIBh4QhFCAjQgGHISMgGEI5hkKAgICAgICAgAKDIAZCAYeEIQYgGUI5hkKAgICAgICAgAKDIBhCAYeEIRggG0I5hkKAgICAgICAgAKDIBlCAYeEIRkgHEI5hkKAgICAgICAgAKDIBtCAYeEIRsgHUI5hkKAgICAgICAgAKDIBxCAYeEIRwgB0I5hkKAgICAgICAgAKDIB1CAYeEIR0gB0IBhyEHIAVCAoGnRQ0AIAYhBSADIQggByEGIAQhCyAYIQcgCiEYIBAhHyAZIQogESEZIBQhICAcIREgHSEUIBsLCyEQAn4CQCAiICNRBH4gFyAgUQR+IBkgGlEEfiAfICFRBH4gEyAYUQR+IAsgFlEEfiAIIB5RDQYgHiEEIAgFIBYhBCALCwUgEyEEIBgLBSAhIQQgHwsFIBohBCAZCwUgFyEEICALBSAiIQQgIwshAyAEIANVDQACfiAIIB59IgNC//////////8DgyE3IAsgFn0gA0I6h3wiA0L//////////wODISwgGCATfSADQjqHfCIDQv//////////A4MhLSAfICF9IANCOod8IgNC//////////8DgyEuIBkgGn0gA0I6h3wiA0L//////////wODIS8gICAXfSADQjqHfCIDQv//////////A4MhMCAjICJ9IANCOod8ISMCfgJAIAYgFVEEfiAMIBRRBH4gESASUQR+IA0gEFEEfiAKIA5RBH4gByAJUQR+IAUgD1ENBiAFIQQgDwUgByEEIAkLBSAKIQQgDgsFIBAhBCANCwUgESEEIBILBSAUIQQgDAsFIAYhBCAVCyEDIAQgA1UNACAFICQgD318IQQgBiAqIBV9fCEFIAcgJSAJfXwhBiAKICYgDn18IQcgECAnIA19fCEKIBEgKCASfXwhECAUICkgDH18DAELIAUgD30hBCAGIBV9IQUgByAJfSEGIAogDn0hByAQIA19IQogESASfSEQIBQgDH0LIREgBEL//////////wODITEgNwshAyAFIBEgECAKIAcgBiAEQjqHfCIGQjqHfCIHQjqHfCIKQjqHfCIQQjqHfCIRQjqHfCEUIBYhBSAGQv//////////A4MhMiAJIQggEyELIAdC//////////8DgyEzIA4hHyAaIRsgCkL//////////wODITQgDSEgIBchHCAQQv//////////A4MhNSASIR0gEUL//////////wODITYgDCErIBUMAQsgHiAIfSIDQv//////////A4MhHgJ+IBYgC30gA0I6h3wiA0L//////////wODITggEyAYfSADQjqHfCIDQv//////////A4MhEyAhIB99IANCOod8IgNC//////////8DgyEhIBogGX0gA0I6h3wiA0L//////////wODIRsgFyAgfSADQjqHfCIDQv//////////A4MhHCAiICN9IANCOod8ISICQAJAIAYgFVEEQCAMIBRRBEAgESASUQRAIA0gEFEEQCAKIA5RBEAgByAJUQRAIAUgD1IEQCAFIQMgDyEEDAcLBSAHIQMgCSEEDAYLBSAKIQMgDiEEDAULBSAQIQMgDSEEDAQLBSARIQMgEiEEDAMLBSAUIQMgDCEEDAILBSAGIQMgFSEEDAELDAELIAQgA1cEQCAPICR8IQ8gFSAqfCEVIAkgJXwhCSAOICZ8IQ4gDSAnfCENIBIgKHwhEiAMICl8IQwLCyAMIBR9IBIgEX0gDSAQfSAOIAp9IAkgB30gDyAFfSIPQjqHfCIOQjqHfCINQjqHfCISQjqHfCIMQjqHfCEJIAUhMSAPQv//////////A4MhDyAIIQMgCyEsIDgLIQUgByEyIA5C//////////8DgyEIIBghLSATIQsgHyEuIAohMyANQv//////////A4MhHyAZIS8gICEwIBAhNCASQv//////////A4MhICARITUgDEL//////////wODIR0gFCE2IAlC//////////8DgyErIBUgBiIUfSAJQjqHfAshBCAeQgFRBH8gBSALICEgGyAcICKEhISEhEIAUQVBAAsNAiAiIRIgMSEGIB4hFSAUIQcgBCEWICwhBCAFIQkgMiEYIAghEyAtIQogCyEOIC4hECAhIQ0gMyEZIB8hGiAvIREgGyEMIDAhFCA0IRsgICEXIBwhBSA1IRwgHSEIIDYhHSArIQsMAQsLDAELIAAgDzcDACAAIAg3AwggACAfNwMQIAAgIDcDGCAAIB03AyAgACArNwMoIAAgBDcDMA8LIAAgDyAGIBVCAVEEfyAJIA4gDSAMIAUgEoSEhISEQgBRBUEACyIBGzcDACAAIBMgGCABGzcDCCAAIBogGSABGzcDECAAIBcgGyABGzcDGCAAIAggHCABGzcDICAAIAsgHSABGzcDKCAAIBYgByABGzcDMAvAAQECfiAAIAApAwggACkDACIDQjqHfCICQv//////////A4M3AwggACAAKQMQIAJCOod8IgJC//////////8DgzcDECAAIAApAxggAkI6h3wiAkL//////////wODNwMYIAAgACkDICACQjqHfCICQv//////////A4M3AyAgACAAKQMoIAJCOod8IgJC//////////8DgzcDKCAAIAApAzAgAkI6h3w3AzAgACADQv//////////A4MgAax9NwMAC3IAIAAgASkDACACKQMAfDcDACAAIAEpAwggAikDCHw3AwggACABKQMQIAIpAxB8NwMQIAAgASkDGCACKQMYfDcDGCAAIAEpAyAgAikDIHw3AyAgACABKQMoIAIpAyh8NwMoIAAgASkDMCACKQMwfDcDMAt4AQR/IwMhAyMDQYAEaiQDIAIQDSACQYABaiIEEA0gA0GAA2oiBSACIAQQFSAFIAUQLSADQYACaiIGIAUgBBAVIANBgAFqIgQgBSACEBUgAyAGEA4gAxANIAQQDSAAIAEgAxAVIABBgAFqIAFBgAFqIAQQFSADJAML/AIBBn8jAyEDIwNBwCBqJAMgA0GAChALIANB+B5qIgFBwA0QRiADQbgeaiICQYAOEEYgA0G4H2oiBSIEIAEQESAEQUBrIAIQESADQbgYaiIBIAAQbyAAIAAQNiAAIAEQLiABIAAQiAEgACAFEEkgACAFEEkgACABEC4gA0G4EmoiBiAAEKIBIANBuAxqIgEgBiADEEggASABEDYgA0EBECwgA0G4BmoiAiABIAMQSCACIAIQNiADQQEQ0AEgA0E4aiIEIAAQNiABIAQQLiABIAEQNiABIAIQLiACIAEgAxBIIAIgAhA2IAQgAiADEEggBCAEEDYgASABEDYgBCABEC4gASABEDYgASAFEEkgASAFEEkgASAFEEkgAiAFEEkgAiAFEEkgASACEC4gAiAEIAMQSCACIAIQNiACIAYQLiACIAAQLiABIAIQLiACIAQQiAEgAiAFEEkgASACEC4gACABEIgBIAAQNSAAQYACahA1IABBgARqEDUgAyQDC/ADAQt/IwMhBiMDQYAOaiQDIAZBgA1qIQogBkGADGohCCAGQYALaiELIAZBgApqIQkgBkGACWohDCAGQYAIaiENIAZBgAdqIQUgBkGABmohByAGQYAEaiEOIAZBgAJqIQ8gASACRgRAIAwgARAOIA0gAUGAAWoQDiAFIAFBgAJqEA4gByANEA4gByAHIAUQGCAMIAwQPCANIA0QPCAFIAUQPCAHIAdBBBBXIAcgBxAtIAcQDSAMIAxBBhBXIAwgDCADEGwgBSAFQaw1KAIAQQNsEFcgByAHIAQQbCAFEDkgBSAFIAUQFSAHEDkgBxANIAUQDSANIA0gDRAVIAUgBSANEDogBRANIA4gByAFEJoBIA8QayAGIAwQmQEgARBaBSAKIAEQDiAIIAFBgAFqEA4gCyABQYACahAOIAkgCxAOIAsgCyACQYABaiIFEBggCSAJIAIQGCAKIAogCRA6IAoQDSAIIAggCxA6IAgQDSALIAoQDiAKIAogBBBsIAoQOSAKEA0gCyALIAUQGCAJIAgQDiAJIAkgAhAYIAkgCSALEDogCRANIAggCCADEGwgCCAIEC0gCBANIA4gCiAJEJoBIA8QayAGIAgQmQEgASACED0LIAAgDhAmIABBgAJqIA8QJiAAQYAEaiAGECYgBiQDC+cCAQd/IwMhAyMDQcALaiQDIANBgAFqIgRBgAoQCyADQUBrIgcgBBALIAcQCiADIAdBAxCWASADEAogA0H4CmoiCCACEBEgA0G4CmoiCSACQUBrEBEgA0G4B2oiBiABEKABIAAQbSAAQYABahBYIABBgAJqEGsgAEGABGoQayADEGkiAkECTARAIAAgABA2IAMkAw8LIANBuAFqIQUgAkF+aiECA0AgACAAENsBIAUgBiAGIAggCRCBASAAIAUQhwECQAJAAkAgAkE6bSIEQQN0IANqKQMAQgEgAiAEQTpsa62Gg0IAUiACQTptIgRBA3QgB2opAwBCASACIARBOmxrrYaDQgBSa0F/aw4DAQIAAgsgBSAGIAEgCCAJEIEBIAAgBRCHAQwBCyABEJ0BIAUgBiABIAggCRCBASAAIAUQhwEgARCdAQsgAkF/aiEEIAJBAUoEQCAEIQIMAQsLIAAgABA2IAMkAwtFAQJ/IwMhASMDQYACaiQDIAFBgAFqIgJBwAoQRiACQUBrQYALEEYgAUHACxBGIAFBQGtBgAwQRiAAIAIgARCeASABJAMLngEBA38jAyECIwNBwAJqJAMgAkG4AWohAyACQThqIQQgARBZIAFBgAJqEFlxRQRAIAEQhQEgBCABQYABahAOIAMgARAOCyACIAMQKiAAKAIIIAIQICACIANBQGsQKiAAKAIIQTBqIAIQICACIAQQKiAAKAIIQeAAaiACECAgAiAEQUBrECogACgCCEGQAWogAhAgIABBwAE2AgAgAiQDC3UBBH8jAyEBIwNBgAJqJAMgABBZIABBgAJqIgIQWXEEQCABJAMPCyABQYABaiIEEG0gAhDWAQRAIAAQUSAAQYABahBRBSABIAIQmwEgACAAIAEQGCAAQYABaiIDIAMgARAYIAAQUSADEFEgAiAEEA4LIAEkAwudAgEBfyMDIQIjA0FAayQDIAIgASgCCBAfIAAgAhAZIAIgASgCCEEwahAfIABBQGsgAhAZIAIgASgCCEHgAGoQHyAAQYABaiACEBkgAiABKAIIQZABahAfIABBwAFqIAIQGSACIAEoAghBwAFqEB8gAEGAAmogAhAZIAIgASgCCEHwAWoQHyAAQcACaiACEBkgAiABKAIIQaACahAfIABBgANqIAIQGSACIAEoAghB0AJqEB8gAEHAA2ogAhAZIAIgASgCCEGAA2oQHyAAQYAEaiACEBkgAiABKAIIQbADahAfIABBwARqIAIQGSACIAEoAghB4ANqEB8gAEGABWogAhAZIAIgASgCCEGQBGoQHyAAQcAFaiACEBkgAiQDC4gCAQh/IwMhAyMDQYAMaiQDIANBgApqIgggACABECQgA0GAAmoiAiAAIABBgAJqIgYQFCACEBogA0GACGoiBCACIAEQJCACIAYgAEGABGoiBxAUIAIQGiADQYAEaiIFIAIgAUGABWoiCRBqIAUQNCACIAgQViAEIAQgAhAUIAYgBBAmIANBgAZqIgQgAhAmIAIgACAHEBQgAyABIAFBgARqEBQgAhAaIAMQGiACIAMgAhAkIAQgBCACEBQg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EBIgACACQYg0KQMAIAMQJSAAQQI2AiggASQDC3EBBH8jAyEBIwNB4ABqJAMgAEHgAGohAiAAEE4EQCACEE4EQCABJAMPCwsgAUEwaiIDEHYgAiADELsBBEAgASQDDwsgASACEIUCIAAgACABEBYgAEEwaiIEIAQgARAWIAQQdyAAEHcgAiADEBcgASQDC44BAQJ+IAAgACkDACIDQv//////////AIM3AwAgACAAKQMIIANCOId8IgJC//////////8AgzcDCCAAIAApAxAgAkI4h3wiAkL//////////wCDNwMQIAAgACkDGCACQjiHfCICQv//////////AIM3AxggACAAKQMgIAJCOId8NwMgIAOnQQEgAXRBf2pxC4YBAQJ+IAAgACkDCCAAKQMAIgNCOId8IgJC//////////8AgzcDCCAAIAApAxAgAkI4h3wiAkL//////////wCDNwMQIAAgACkDGCACQjiHfCICQv//////////AIM3AxggACAAKQMgIAJCOId8NwMgIAAgA0L//////////wCDIAGsfTcDAAuGAQECfiAAIAApAwggACkDACIDQjiHfCICQv//////////AIM3AwggACAAKQMQIAJCOId8IgJC//////////8AgzcDECAAIAApAxggAkI4h3wiAkL//////////wCDNwMYIAAgACkDICACQjiHfDcDICAAIAGsIANC//////////8Ag3w3AwALcAEEfyMDIQEjA0GAAWokAyAAQYABaiECIAAQOwRAIAIQOwRAIAEkAw8LCyABQUBrIgMQXiACIAMQZgRAIAEkAw8LIAEgAhDKASAAIAAgARATIABBQGsiBCAEIAEQEyAEECsgABArIAIgAxARIAEkAwvFBwIHfxR+IwMhAyMDQfAAaiQDIANCADcDACADQgA3AwggA0IANwMQIANCADcDGCADQgA3AyAgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0IANwMAIANCADcDSCADQgA3A1AgA0IANwNYIANCADcDYCADQgA3A2ggA0FAayEJA0AgASABKQMAIgpC//////////8DgyIYNwMAIAEgASkDCCAKQjqHfCIKQv//////////A4MiGTcDCCABIAEpAxAgCkI6h3wiCkL//////////wODIho3AxAgASABKQMYIApCOod8IgpC//////////8DgyIbNwMYIAEgASkDICAKQjqHfCIKQv//////////A4MiHDcDICABIAEpAyggCkI6h3wiCkL//////////wODIh03AyggASABKQMwIApCOod8Igo3AzACQAJAIApCAFEEfyAdQgBRBH8gHEIAUQR/IBtCAFEEfyAaQgBRBH8gGUIAUQR/IBhCAFEEf0EABUEAIQQMBwsFQQEhBAwGCwVBAiEEDAULBUEDIQQMBAsFQQQhBAwDCwVBBSEEDAILBUEGIQQMAQshBQwBCyAEQTpsIQUgBEEDdCABaikDACIKQgBSBEADQCAKQgJ/IRggBUEBaiEFIApCAXxCA1oEQCAYIQoMAQsLCwsgByAFQQF0SARAIAYEfyAIQQF1BSACEHULIQUgAyADKQNoQgGGIBJCOYeENwNoIAMgEkIBhkL+/////////wODIBNCOYeEIhI3A2AgAyATQgGGQv7/////////A4MgFEI5h4QiEzcDWCADIBRCAYZC/v////////8DgyAVQjmHhCIUNwNQIAMgFUIBhkL+/////////wODIBZCOYeEIhU3A0ggCSAWQgGGQv7/////////A4MgF0I5h4QiFjcDACADIBdCAYZC/v////////8DgyALQjmHhCIXNwM4IAMgC0IBhkL+/////////wODIAxCOYeEIgs3AzAgAyAMQgGGQv7/////////A4MgDUI5h4QiDDcDKCADIA1CAYZC/v////////8DgyAOQjmHhCINNwMgIAMgDkIBhkL+/////////wODIA9COYeEIg43AxggAyAPQgGGQv7/////////A4MgEEI5h4QiDzcDECADIBBCAYZC/v////////8DgyARQjmHhCIQNwMIIAMgBUEBca0gEUIBhkL+/////////wODhCIRNwMAIAUhCCAGQQFqQQdxIQYgB0EBaiEHDAELCyAAIAMgARCfAiADJAML5wQBCH4gAqwiA0L/////AYMhBCAAIANCHYciAyABKQMAIgVC/////wGDIgZ+IAQgBUIdhyIFfnwiB0IdhkKAgICA/v///wODIAQgBn58IgZC//////////8DgzcDACAAIAEpAwgiCEL/////AYMiCSADfiAIQh2HIgggBH58IgpCHYZCgICAgP7///8DgyADIAV+IAdCHYd8IAZCOoh8IAQgCX58fCIFQv//////////A4M3AwggACABKQMQIgZC/////wGDIgcgA34gBCAGQh2HIgZ+fCIJQh2GQoCAgID+////A4MgAyAIfiAKQh2HfCAFQjqHfCAEIAd+fHwiBUL//////////wODNwMQIAAgAyABKQMYIgdC/////wGDIgh+IAQgB0IdhyIHfnwiCkIdhkKAgICA/v///wODIAMgBn4gCUIdh3wgBUI6h3wgBCAIfnx8IgVC//////////8DgzcDGCAAIAMgASkDICIGQv////8BgyIIfiAEIAZCHYciBn58IglCHYZCgICAgP7///8DgyADIAd+IApCHYd8IAVCOod8IAQgCH58fCIFQv//////////A4M3AyAgACABKQMoIgdC/////wGDIgggA34gB0IdhyIHIAR+fCIKQh2GQoCAgID+////A4MgAyAGfiAJQh2HfCAFQjqHfCAEIAh+fHwiBUL//////////wODNwMoIAAgASkDMCIGQv////8BgyIIIAN+IAZCHYcgBH58Qh2GQoCAgID+////A4MgAyAHfiAKQh2HfCAFQjqHfCAEIAh+fHxC//////////8DgzcDMAuyAQECfiAAIAApAwAiA0EAIAJrrCIEIAMgASkDAIWDhTcDACAAIAApAwgiAyADIAEpAwiFIASDhTcDCCAAIAApAxAiAyADIAEpAxCFIASDhTcDECAAIAApAxgiAyADIAEpAxiFIASDhTcDGCAAIAApAyAiAyADIAEpAyCFIASDhTcDICAAIAApAygiAyAEIAMgASkDKIWDhTcDKCAAIAApAzAiAyAEIAMgASkDMIWDhTcDMAseACAAIAAQnAEgAEGAAWoiACAAEJwBIAAgASAAEBgLEAAgAEGAAWogARAOIAAQWAsSACAAIAEQDiAAQYABaiACEA4LXgEDfyMDIQMjA0GAAWokAyABEAogAUFAayIEEAogA0FAayICIAEQRSADIAQQRSACIAIgAxAMIAIgAhDKASAAIAEgAhATIAIgAhAwIAIQCiAAQUBrIAQgAhATIAMkAwsaACAAIAEQESAAQUBrIgAgAUFAaxAwIAAQCgsWACAAQYABaiIAEA0gACAAEC0gABANC5wBAQR/IwMhBCMDQcADaiQDIARBOGoiBiACEDwgBEG4AmoiAyABEDwgBEG4AWoiBSADIAEQGCAEQYAIEAsgAyAEEBkgA0FAaxBPIAMQDSADEDkgAxANIAUgAyAFEBUgBRBRIAYgBRDVAQRAIAAgARAOIABBgAFqIAIQDiAAQYACahBtBSAAEFggAEGAAWoQbSAAQYACahBYCyAEJAMLdQEDfyMDIQIjA0HAAmokAyACIAEoAggQHyACQbgBaiIDIAIQGSACIAEoAghBMGoQHyADQUBrIAIQGSACIAEoAghB4ABqEB8gAkE4aiIEIAIQGSACIAEoAghBkAFqEB8gBEFAayACEBkgACADIAQQngEgAiQDCyQAIAAgARAOIABBgAFqIAFBgAFqEA4gAEGAAmogAUGAAmoQDgulAgEBfyMDIQIjA0FAayQDIABBwAQ2AgAgAiABECogACgCCCACECAgAiABQUBrECogACgCCEEwaiACECAgAiABQYABahAqIAAoAghB4ABqIAIQICACIAFBwAFqECogACgCCEGQAWogAhAgIAIgAUGAAmoQKiAAKAIIQcABaiACECAgAiABQcACahAqIAAoAghB8AFqIAIQICACIAFBgANqECogACgCCEGgAmogAhAgIAIgAUHAA2oQKiAAKAIIQdACaiACECAgAiABQYAEahAqIAAoAghBgANqIAIQICACIAFBwARqECogACgCCEGwA2ogAhAgIAIgAUGABWoQKiAAKAIIQeADaiACECAgAiABQcAFahAqIAAoAghBkARqIAIQICACJAML5AEBBX8jAyEDIwNBgAhqJAMgA0GABmoiAiABECYgACABEEAgAyAAIAAQFCAAIAMgABAUIAAQGiACIAIQXyACIAIgAhAUIAAgACACEBQgA0GABGoiAiABQYAEaiIGEEAgAhA0IAMgAiACEBQgAiACIAMQFCACEBogA0GAAmoiBSABQYACaiIEEEAgAyAFIAUQFCAFIAUgAxAUIAUQGiAAQYACaiIBIAQQUCABIAEgARAUIABBgARqIgQgBhBfIAQgBCAEEBQgASACIAEQFCAEIAUgBBAUIAAQNSABEDUgBBA1IAMkAwurAQEDfyMDIQQjA0GAC2okAyAEQYAGaiEDIARB+AdqIQUgACwAAEEERgRAIANBwAE2AgAgA0HAATYCBCADIABBAWo2AgggBSADEJ8BCyAEQbgGaiEAIAEsAABBBEYEQCADIAFBAWoQHyAEIAFBMWoQHyAA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IhUsAABzOgAAIABBkhBqIgQgAEGCEGoiFiwAACAELAAAczoAACAAQZMQaiIFIABBgxBqIhcsAAAgBSwAAHM6AAAgAEGUEGoiBiAAQYQQaiIYLAAAIAYsAABzOgAAIABBlRBqIgcgAEGFEGoiGSwAACAHLAAAczoAACAAQZYQaiIIIABBhhBqIhosAAAgCCwAAHM6AAAgAEGXEGoiCSAAQYcQaiIbLAAAIAksAABzOgAAIABBmBBqIgogAEGIEGoiHCwAACAKLAAAczoAACAAQZkQaiILIABBiRBqIh0sAAAgCywAAHM6AAAgAEGaEGoiDCAAQYoQaiIeLAAAIAwsAABzOgAAIABBmxBqIg0gAEGLEGoiHywAACANLAAAczoAACAAQZwQaiIOIABBjBBqIiAsAAAgDiwAAHM6AAAgAEGdEGoiDyAAQY0QaiIhLAAAIA8sAABzOgAAIABBnhBqIhAgAEGOEGoiIiwAACAQLAAAczoAACAAQZ8QaiIRIABBjxBqIiMsAAAgESwAAHM6AAAgASAUOgAAIBNBADoAACASQQA6AAAgASADLAAAOgABIBVBADoAACADQQA6AAAgASAELAAAOgACIBZBADoAACAEQQA6AAAgASAFLAAAOgADIBdBADoAACAFQQA6AAAgASAGLAAAOgAEIBhBADoAACAGQQA6AAAgASAHLAAAOgAFIBlBADoAACAHQQA6AAAgASAILAAAOgAGIBpBADoAACAIQQA6AAAgASAJLAAAOgAHIBtBADoAACAJQQA6AAAgASAKLAAAOgAIIBxBADoAACAKQQA6AAAgASALLAAAOgAJIB1BADoAACALQQA6AAAgASAMLAAAOgAKIB5BADoAACAMQQA6AAAgASANLAAAOgALIB9BADoAACANQQA6AAAgASAOLAAAOgAMICBBADoAACAOQQA6AAAgASAPLAAAOgANICFBADoAACAPQQA6AAAgASAQLAAAOgAOICJBADoAACAQQQA6AAAgASARLAAAOgAPICNBADoAACARQQA6AAAgAEGwEGpBAzYCACACEHALrgEBBn8gAEGwEGoiCCgCAARADwsgAkEASgRAIABBpBBqIQYgAEGgEGohBwNAIAMgAkgEQEEAIQQDQCAEIABBgBBqaiIFIAEgA2osAAAgBSwAAHM6AAAgBiAGKAIAQQFqIgU2AgAgBUUEQCAHIAcoAgBBAWo2AgALIANBAWoiAyACSCAEQQFqIgRBEElxDQALCyAAEGEgAyACSA0ACwsgAkEPcUUEQA8LIAhBATYCAAveAwEFfyAAQaQQaigCACEBIABBqBBqKAIAIQUgAEGsEGooAgAhBCAAQYAQaiIDIAMsAAAgAEGgEGooAgAiAkEVdkH/AXFzOgAAIABBgRBqIgMgAywAACACQQ12Qf8BcXM6AAAgAEGCEGoiAyADLAAAIAJBBXZB/wFxczoAACAAQYMQaiIDIAMsAAAgAkEDdCABQR12ckH/AXFzOgAAIABBhBBqIgIgAiwAACABQRV2Qf8BcXM6AAAgAEGFEGoiAiACLAAAIAFBDXZB/wFxczoAACAAQYYQaiICIAIsAAAgAUEFdkH/AXFzOgAAIABBhxBqIgIgAiwAACABQQN0Qf8BcXM6AAAgAEGIEGoiASABLAAAIAVBFXZB/wFxczoAACAAQYkQaiIBIAEsAAAgBUENdkH/AXFzOgAAIABBihBqIgEgASwAACAFQQV2Qf8BcXM6AAAgAEGLEGoiASABLAAAIAVBA3QgBEEddnJB/wFxczoAACAAQYwQaiIBIAEsAAAgBEEVdkH/AXFzOgAAIABBjRBqIgEgASwAACAEQQ12Qf8BcXM6AAAgAEGOEGoiASABLAAAIARBBXZB/wFxczoAACAAQY8QaiIBIAEsAAAgBEEDdEH/AXFzOgAAIAAQYQviCwEKfyMDIQUjA0EQaiQDIAVCADcDACAFQgA3AwggAEGAEGoiC0IANwAAIAtCADcACCAAQbQQaiIGQQAgASACIAQQjAEgBiAFEDcgACAFLQADIAUtAAFBEHQgBS0AAEEYdHIgBS0AAkEIdHJyIgE2AgAgACAFLQAHIAUtAARBGHQgBS0ABUEQdHIgBS0ABkEIdHJyIgI2AgQgACAFLQALIAUtAAhBGHQgBS0ACUEQdHIgBS0ACkEIdHJyIgY2AgggACAFLQAPIAUtAAxBGHQgBS0ADUEQdHIgBS0ADkEIdHJyIgg2AgxBASEHA0AgB0EEdCAAaiINIAFBAXYiDDYCACAHQQR0IABqIAFBH3QgAkEBdnIiCjYCBCAHQQR0IABqIAJBH3QgBkEBdnIiCTYCCCAHQQR0IABqIAZBH3QgCEEBdnIiDjYCDCAMQYCAgIh+cyEBIAhBAXEEQCANIAE2AgAFIAwhAQsgB0EBaiIHQYABRwRAIAohAiAJIQYgDiEIDAELCyAAQaAQaiIGQgA3AgAgBkIANwIIIANBDEYEQCAAQaAUaiIBIAQsAAA6AAAgAEGhFGogBCwAAToAACAAQaIUaiAELAACOgAAIABBoxRqIAQsAAM6AAAgAEGkFGogBCwABDoAACAAQaUUaiAELAAFOgAAIABBphRqIAQsAAY6AAAgAEGnFGogBCwABzoAACAAQagUaiAELAAIOgAAIABBqRRqIAQsAAk6AAAgAEGqFGogBCwACjoAACAAQasUaiAELAALOgAAIABBrxRqQQE6AAAgAEGuFGpBADoAACAAQa0UakEAOgAAIABBrBRqQQA6AAAgAEGQEGoiAiABKQAANwAAIAIgASkACDcACCAAQbAQakEANgIAIAUkAw8LIABBrBBqIQggAEGoEGohByAAQbAQaiIKQQE2AgAgA0EASgRAQQAhAQNAIAEgA0gEQEEAIQIDQCACIABBgBBqaiIJIAEgBGosAAAgCSwAAHM6AAAgCCAIKAIAQQFqIgk2AgAgCUUEQCAHIAcoAgBBAWo2AgALIAFBAWoiASADSCACQQFqIgJBEElxDQALCyAAEGEgASADSA0ACwsgA0EPcQRAIApBAjYCAAsgABCtASAAQaAUaiALLAAAIgE6AAAgAEGQEGogAToAACALQQA6AAAgAEGhFGogAEGBEGoiASwAACICOgAAIABBkRBqIAI6AAAgAUEAOgAAIABBohRqIABBghBqIgEsAAAiAjoAACAAQZIQaiACOgAAIAFBADoAACAAQaMUaiAAQYMQaiIBLAAAIgI6AAAgAEGTEGogAjoAACABQQA6AAAgAEGkFGogAEGEEGoiASwAACICOgAAIABBlBBqIAI6AAAgAUEAOgAAIABBpRRqIABBhRBqIgEsAAAiAjoAACAAQZUQaiACOgAAIAFBADoAACAAQaYUaiAAQYYQaiIBLAAAIgI6AAAgAEGWEGogAjoAACABQQA6AAAgAEGnFGogAEGHEGoiASwAACICOgAAIABBlxBqIAI6AAAgAUEAOgAAIABBqBRqIABBiBBqIgEsAAAiAjoAACAAQZgQaiACOgAAIAFBADoAACAAQakUaiAAQYkQaiIBLAAAIgI6AAAgAEGZEGogAjoAACABQQA6AAAgAEGqFGogAEGKEGoiASwAACICOgAAIABBmhBqIAI6AAAgAUEAOgAAIABBqxRqIABBixBqIgEsAAAiAjoAACAAQZsQaiACOgAAIAFBADoAACAAQawUaiAAQYwQaiIBLAAAIgI6AAAgAEGcEGogAjoAACABQQA6AAAgAEGtFGogAEGNEGoiASwAACICOgAAIABBnRBqIAI6AAAgAUEAOgAAIABBrhRqIABBjhBqIgEsAAAiAjoAACAAQZ4QaiACOgAAIAFBADoAACAAQa8UaiAAQY8QaiIBLAAAIgI6AAAgAEGfEGogAjoAACABQQA6AAAgBkIANwIAIAZCADcCCCAKQQA2AgAgBSQDC6EJAQt/IwMhAiMDQRBqJAMCQAJAAkACQAJAAkACQCAAKAIIIgYOLgABAgIFAgUFBQUFBQUFAwMFAwUFBQMFBQUFBQUFAwQEBQQFBQUEBQUFBQUFBQQFCyAAIAEQsQEMBQsgAiAALADsAzoAACAAIAEsAAA6AOwDIAIgACwA7QM6AAEgACABLAABOgDtAyACIAAsAO4DOgACIAAgASwAAjoA7gMgAiAALADvAzoAAyAAIAEsAAM6AO8DIAIgACwA8AM6AAQgACABLAAEOgDwAyACIAAsAPEDOgAFIAAgASwABToA8QMgAiAALADyAyIDOgAGIAAgASwABjoA8gMgACwA8wMhBCAAIAEsAAc6APMDIAAsAPQDIQUgACABLAAIOgD0AyAALAD1AyEGIAAgASwACToA9QMgACwA9gMhByAAIAEsAAo6APYDIAAsAPcDIQggACABLAALOgD3AyAALAD4AyEJIAAgASwADDoA+AMgACwA+QMhCiAAIAEsAA06APkDIAAsAPoDIQsgACABLAAOOgD6AyAALAD7AyEMIAAgASwADzoA+wMgACABELEBIAEgAiwAACABLAAAczoAACACQQA6AAAgASACLAABIAEsAAFzOgABIAJBADoAASABIAIsAAIgASwAAnM6AAIgAkEAOgACIAEgAiwAAyABLAADczoAAyACQQA6AAMgASACLAAEIAEsAARzOgAEIAJBADoABCABIAIsAAUgASwABXM6AAUgAkEAOgAFIAEgASwABiADczoABiACQQA6AAYgASABLAAHIARzOgAHIAJBADoAByABIAEsAAggBXM6AAggAkEAOgAIIAEgASwACSAGczoACSACQQA6AAkgASABLAAKIAdzOgAKIAJBADoACiABIAEsAAsgCHM6AAsgAkEAOgALIAEgASwADCAJczoADCACQQA6AAwgASABLAANIApzOgANIAJBADoADSABIAEsAA4gC3M6AA4gAkEAOgAOIAEgASwADyAMczoADyACQQA6AA8MBAsgBkF/aiEFA0AgAyAAQewDamosAAAgBEEIdHIhBCADQQFqIgMgBUcNAAsgAiAAKQDsAzcAACACIAApAPQDNwAIIAZBEUgEQCAFIQMDQCAAQewDaiADIAVraiADIABB7ANqaiwAADoAACADQQFqIQQgA0EPSARAIAQhAwwBCwsLIAAgAhA3QREgBmshBkEAIQMDQCADIAZqIABB7ANqaiABIANqIgQsAAA6AAAgBCACIANqLAAAIAQsAABzOgAAIANBAWoiAyAFRw0ACyACJAMPCyAGQXNqIQQgACAAQewDahA3A0AgASADaiIFIAMgAEHsA2pqLAAAIAUsAABzOgAAIANBAWoiAyAERw0ACwwCCyACIAApAOwDNwAAIAIgACkA9AM3AAggBkFjaiEEIAAgAhA3A0AgASADaiIFIAIgA2osAAAgBSwAAHM6AAAgA0EBaiIDIARHDQALQQAhAQNAIAEgAEHsA2pqIgQsAABBAWpBGHRBGHUhAyAEIAM6AAAgA0UgAUEBaiIBQRBJcQ0ACwwBCyACJAMPCyACJAMLxwcBBn8jAyEEIwNBEGokAwJAAkACQAJAAkACQAJAIAAoAggiBg4uAAECAgUCBQUFBQUFBQUDAwUDBQUFAwUFBQUFBQUDBAQFBAUFBQQFBQUFBQUFBAULIAAgARA3DAULIAEgACwA7AMgASwAAHM6AAAgASAALADtAyABLAABczoAASABIAAsAO4DIAEsAAJzOgACIAEgACwA7wMgASwAA3M6AAMgASAALADwAyABLAAEczoABCABIAAsAPEDIAEsAAVzOgAFIAEgACwA8gMgASwABnM6AAYgASAALADzAyABLAAHczoAByABIAAsAPQDIAEsAAhzOgAIIAEgACwA9QMgASwACXM6AAkgASAALAD2AyABLAAKczoACiABIAAsAPcDIAEsAAtzOgALIAEgACwA+AMgASwADHM6AAwgASAALAD5AyABLAANczoADSABIAAsAPoDIAEsAA5zOgAO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ai0AAEEQdHMgCEEYdkGgLmotAABBGHRzNgIAIA8gAEH8AWogBEEDckECdGooAgAgCEH/AXFBoC5qLQAAcyAMQQh2Qf8BcUGgLmotAABBCHRzIAZBEHZB/wFxQaAuai0AAEEQdHMgCUEYdkGgLmotAABBGHRzNgIAIAEgBToAACABIApBCHY6AAEgASANQRB2OgACIAEgDkEYdjoAAyACQQA2AgAgA0EANgIAIAEgBygCACIAOgAEIAEgAEEIdjoABSABIABBEHY6AAYgASAAQRh2OgAHIAdBADYCACASQQA2AgAgASALKAIAIgA6AAggASAAQQh2OgAJIAEgAEEQdjoACiABIABBGHY6AAsgC0EANgIAIBFBADYCACABIA8oAgAiADoADCABIABBCHY6AA0gASAAQRB2OgAOIAEgAEEYdjoADyAPQQA2AgAgE0EANgIAIBAkAwv+CgEHfyMDIQQjA0GQBGokAyACELgBIAEoAgBFBEAgBCQDQQEPCyABKAIILAAAIQMgBEEQaiIIQQEgACgCACAAKAIIQQAQjAEgBCADOgAAAn8gASgCACIDQQFKBH8Cf0EAIQBBASEGA38gBCAGIAEoAggiB2osAAA6AAFBASAGQQFqIgUgA04NARogBCAFIAdqLAAAOgACQQEgBkECaiIFIANODQEaIAQgBSAHaiwAADoAA0EBIAZBA2oiBSADTg0BGiAEIAUgB2osAAA6AARBASAGQQRqIgUgA04NARogBCAFIAdqLAAAOgAFQQEgBkEFaiIFIANODQEaIAQgBSAHaiwAADoABkEBIAZBBmoiBSADTg0BGiAEIAUgB2osAAA6AAdBASAGQQdqIgUgA04NARogBCAFIAdqLAAAOgAIQQEgBkEIaiIFIANODQEaIAQgBSAHaiwAADoACUEBIAZBCWoiBSADTg0BGiAEIAUgB2osAAA6AApBASAGQQpqIgUgA04NARogBCAFIAdqLAAAOgALQQEgBkELaiIFIANODQEaIAQgBSAHaiwAADoADEEBIAZBDGoiBSADTg0BGiAEIAUgB2osAAA6AA1BASAGQQ1qIgUgA04NARogBCAFIAdqLAAAOgAOQQEgBkEOaiIFIANODQEaIAQgBSAHaiwAADoAD0EAIAZBD2oiBSADTg0BGiAFIAdqLAAAIQcgCCAEEK8BIAAgAigCBCIDSARAIAAgAigCCGogBCwAADoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAABOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAI6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwAAzoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAAEOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAU6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwABjoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAAHOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAg6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwACToAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAAKOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAs6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwADDoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAANOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAA46AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwADzoAACAAQQFqIQALIAQgBzoAACAGQRBqIgYgASgCACIDSA0AQQELCwVBACEAQQELIQkgCCAEEK8BIAgQcCAELAAPIgchCCAJCyAHQX9qQRh0QRh1Qf8BcUEPSnJBAXEhASAHQX5qQRh0QRh1Qf8BcUEPSARAQRAgCGshAwNAIAFBASAHIAMgBGosAABGGyEBIANBAWohBiADQQ9IBEAgBiEDDAELCwsgAUEARyIDRQRAQRAgCGsiBkEASgRAQQAhAQNAIAAgAigCBEgEQCAAIAIoAghqIAEgBGosAAA6AAAgAEEBaiEACyABQQFqIgEgBkcNAAsLCyACIAA2AgAgBCQDIANBAXNBAXELkA4BBn8jAyEDIwNBkARqJAMgAhC4ASABKAIARQRAIAMkAw8LIANBEGoiCEEBIAAoAgAgACgCCEEAEIwBIAEoAgAiBEEASgR/An9BACEAA38gAyAGIAEoAggiB2osAAA6AABBASAGQQFyIgUgBE4NARogAyAFIAdqLAAAOgABQQIgBkECciIFIARODQEaIAMgBSAHaiwAADoAAkEDIAZBA3IiBSAETg0BGiADIAUgB2osAAA6AANBBCAGQQRyIgUgBE4NARogAyAFIAdqLAAAOgAEQQUgBkEFciIFIARODQEaIAMgBSAHaiwAADoABUEGIAZBBnIiBSAETg0BGiADIAUgB2osAAA6AAZBByAGQQdyIgUgBE4NARogAyAFIAdqLAAAOgAHQQggBkEIciIFIARODQEaIAMgBSAHaiwAADoACEEJIAZBCXIiBSAETg0BGiADIAUgB2osAAA6AAlBCiAGQQpyIgUgBE4NARogAyAFIAdqLAAAOgAKQQsgBkELciIFIARODQEaIAMgBSAHaiwAADoAC0EMIAZBDHIiBSAETg0BGiADIAUgB2osAAA6AAxBDSAGQQ1yIgUgBE4NARogAyAFIAdqLAAAOgANQQ4gBkEOciIFIARODQEaIAMgBSAHaiwAADoADkEPIAZBD3IiBSAETg0BGiADIAUgB2osAAA6AA8gCCADELABIAAgAigCBCIESARAIAAgAigCCGogAywAADoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAABOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAI6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywAAzoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAAEOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAU6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywABjoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAAHOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAg6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywACToAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAAKOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAs6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywADDoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAANOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAA46AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywADzoAACAAQQFqIQALIAZBEGoiBiABKAIAIgRIDQBBAAsLBUEAIQBBAAsiASADakEQIAFrIgFB/wFxIAEQShogCCADELABIAAgAigCBCIBSARAIAAgAigCCGogAywAADoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAABOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAI6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywAAzoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAAEOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAU6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywABjoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAAHOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAg6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywACToAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAAKOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAs6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywADDoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAANOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAA46AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywADzoAACAAQQFqIQALIAgQcCACIAA2AgAgAyQDC8QBAQN/IwMhBSMDQaACaiQDIAVBjAJqIgZBADYCACAGQYABNgIE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BEAgAkHgAGoQTgRADwsLIAIQkAEgASACQTBqELwBIAEpAwBCAoEaIAAgAhC8AQtSACAAIAEpAwAgAikDAHw3AwAgACABKQMIIAIpAwh8NwMIIAAgASkDECACKQMQfDcDECAAIAEpAxggAikDGHw3AxggACABKQMgIAIpAyB8NwMgC5EBAQJ+IAAgACkDCCIBQjSGQv//////////AIMgACkDAEIEh4Q3AwAgACAAKQMQIgJCNIZC//////////8AgyABQgSHhDcDCCAAIAApAxgiAUI0hkL//////////wCDIAJCBIeENwMQIAAgACkDICICQjSGQv//////////AIMgAUIEh4Q3AxggACACQgSHNwMgC4IBAQJ+IAAgACkDACIDQQAgAmusIgQgAyABKQMAhYOFNwMAIAAgACkDCCIDIAMgASkDCIUgBIOFNwMIIAAgACkDECIDIAMgASkDEIUgBIOFNwMQIAAgACkDGCIDIAMgASkDGIUgBIOFNwMYIAAgACkDICIDIAMgASkDIIUgBIOFNwMgC40CAgJ/BX4gACAAKQMAIgNC//////////8AgyIENwMAIAAgACkDCCADQjiHfCIDQv//////////AIMiBTcDCCAAIAApAxAgA0I4h3wiA0L//////////wCDIgY3AxAgACAAKQMYIANCOId8IgNC//////////8AgyIHNwMYIAAgACkDICADQjiHfCIDNwMgIANCAFEEfyAHQgBRBH8gBkIAUQR/IAVCAFEEfyAEQgBRBH9BAA8FQQALBUEBCwVBAgsFQQMLBUEECyICQThsIQEgAkEDdCAAaikDACIDQgBRBEAgAQ8LIAEhAANAIANCAn8hBCAAQQFqIQAgA0IBfEIDWgRAIAQhAwwBCwsgAAtCACAAKQMAQgBSBEBBAA8LIAApAwhCAFIEQEEADwsgACkDEEIAUgRAQQAPCyAAKQMYQgBRBH8gACkDIEIAUQVBAAsLrgEBA38jAyEDIwNB0AJqJAMgA0HgAGoiBSAAKAIIEHkgA0EwaiIEIAEoAghBAWoQeSADIAEoAghBIWoQeSADQbgBaiIAIAQgAxC+AUUEQCADJANBfQ8LIANBkAFqIgFB8A4QEiAFIAEQKSAAIAUQvQECf0EAIAAQTkUNABogAEHgAGoQTgsEQCADJANBfQ8LIAQgBCAAEL8BIAJBIDYCACACKAIIIAQQeiADJANBAAsvAQJ/IwMhASMDQYABaiQDIAFBQGsiAkGACRALIAFBwAkQCyAAIAIgARB7IAEkAwv8BgEMfyMDIQcjA0HwEGokAyAAEDsEQCAAQYABahA7BEAgByQDDwsLIAEQ0gEEQCAAEE8gAEFAaxBeIABBgAFqEE8gByQDDwsgABCUASAHQagPaiIGIAAQESAGQUBrIgogAEFAayILEBEgBkGAAWoiCSAAQYABaiIMEBEgBhBlIAdB8ABqIgIgABARIAJBQGsiAyALEBEgAkGAAWoiBCAMEBEgAkHAAWoiBSACEBEgAkGAAmoiCCADEBEgAkHAAmoiAyAEEBEgBSAGEEQgAkGAA2oiBCACQcABahARIAJBwANqIgUgCBARIAJBgARqIgggAxARIAQgBhBEIAJBwARqIgMgAkGAA2oQESACQYAFaiIEIAUQESACQcAFaiIFIAgQESADIAYQRCACQYAGaiIDIAJBwARqEBEgAkHABmoiCCAEEBEgAkGAB2oiBCAFEBEgAyAGEEQgAkHAB2oiAyACQYAGahARIAJBgAhqIgUgCBARIAJBwAhqIgggBBARIAMgBhBEIAJBgAlqIgMgAkHAB2oQESACQcAJaiIEIAUQESACQYAKaiIFIAgQESADIAYQRCACQcAKaiIDIAJBgAlqEBEgAkGAC2ogBBARIAJBwAtqIAUQESADIAYQRCAHQfAMaiIEIAEQCyAEKQMAQgKBpyEFIARBARBoIAQQCiAEKQMAQgKBpyEBIAdBsA1qIgMgBBALIANBARBoIAMQCiAEIAMgBRCXASAGIAAgARAbIAogCyABEBsgCSAMIAEQGyAHQegNaiIIIAYQESAIQUBrIgUgChARIAhBgAFqIAkQESAEEGkiDUEDakEEbSEJIARBBRBnIQEgDUF6TgRAQQAhAwNAIAMgB2ogAUHwAWoiAToAACAEIAFBGHRBGHUQfSAEEAogBEEEECwgA0EBaiEKIARBBRBnIQEgAyAJSARAIAohAwwBCwsLIAlBAWogB2ogAToAACAAIAFBGHRBGHVBf2pBAm0iAUHAAWwgAmoQESALIAFBwAFsIAJqQUBrEBEgDCABQcABbCACakGAAWoQESANQXlKBEAgCSEBA0AgBiACIAEgB2osAAAQmQIgABBlIAAQZSAAEGUgABBlIAAgBhBEIAFBf2ohAyABQQBKBEAgAyEBDAELCwsgBSAFEDAgBRAKIAAgCBBEIAUgBRAwIAUQCiAAEJQBIAckAwsEAEEQCzIAIAIQOwRAIAJBgAFqEDsEQA8LCyACEJQBIAEgAkFAaxAqIAEpAwBCAoEaIAAgAhAqCy0BAX8jAyECIwNBQGskAyACQcAMEAsgAkECEH0gAhAKIAAgASACEJsCIAIkAwusAQEFfyMDIQojA0HAEWokAyAKQcADaiEMIApBQGshCyAKQfgPaiENIAogARAfIAIsAABBBEYEQCAMIAJBAWoQHyALIAJBMWoQHyANIAwgCxB7CyAMIAogAEGAAWoQfCALIABB+AJqEKABIAsgDBBuIApB+AlqIgIgCyANEIIBIAIQgAEgCkH4A2oiASACEG8gACABIAYgByADIAQgCCAJIAUQiQEhDiAKJAMgDgvrAQAgACABKQMAIAIpAwB8NwMAIAAgASkDCCACKQMIfDcDCCAAIAEpAxAgAikDEHw3AxAgACABKQMYIAIpAxh8NwMYIAAgASkDICACKQMgfDcDICAAIAEpAyggAikDKHw3AyggACABKQMwIAIpAzB8NwMwIAAgASkDOCACKQM4fDcDOCAAQUBrIAFBQGspAwAgAkFAaykDAHw3AwAgACABKQNIIAIpA0h8NwNIIAAgASkDUCACKQNQfDcDUCAAIAEpA1ggAikDWHw3A1ggACABKQNgIAIpA2B8NwNgIAAgASkDaCACKQNofDcDaAvrAQAgACABKQMAIAIpAwB9NwMAIAAgASkDCCACKQMIfTcDCCAAIAEpAxAgAikDEH03AxAgACABKQMYIAIpAxh9NwMYIAAgASkDICACKQMgfTcDICAAIAEpAyggAikDKH03AyggACABKQMwIAIpAzB9NwMwIAAgASkDOCACKQM4fTcDOCAAQUBrIAFBQGspAwAgAkFAaykDAH03AwAgACABKQNIIAIpA0h9NwNIIAAgASkDUCACKQNQfTcDUCAAIAEpA1ggAikDWH03A1ggACABKQNgIAIpA2B9NwNgIAAgASkDaCACKQNofTcDaAs4ACAAQgE3AwAgAEEIaiIAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKAuQAwIBfwF+IAAgACkDACICQv//////////A4M3AwAgACAAKQMIIAJCOod8IgJC//////////8DgzcDCCAAIAApAxAgAkI6h3wiAkL//////////wODNwMQIAAgACkDGCACQjqHfCICQv//////////A4M3AxggACAAKQMgIAJCOod8IgJC//////////8DgzcDICAAIAApAyggAkI6h3wiAkL//////////wODNwMoIAAgACkDMCACQjqHfCICQv//////////A4M3AzAgACAAKQM4IAJCOod8IgJC//////////8DgzcDOCAAQUBrIgEpAwAgAkI6h3whAiABIAJC//////////8DgzcDACAAIAApA0ggAkI6h3wiAkL//////////wODNwNIIAAgACkDUCACQjqHfCICQv//////////A4M3A1AgACAAKQNYIAJCOod8IgJC//////////8DgzcDWCAAIAApA2AgAkI6h3wiAkL//////////wODNwNgIAAgACkDaCACQjqHfDcDaAvaAQEDfiAAIAApAzAgAa0iA4YgACkDKCICQTogAWutIgSHhDcDMCAAIAIgA4ZC//////////8DgyAAKQMgIgIgBIeENwMoIAAgAiADhkL//////////wODIAApAxgiAiAEh4Q3AyAgACACIAOGQv//////////A4MgACkDECICIASHhDcDGCAAIAIgA4ZC//////////8DgyAAKQMIIgIgBIeENwMQIAAgAiADhkL//////////wODIAApAwAiAiAEh4Q3AwggACACIAOGQv//////////A4M3AwALMwAgAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwC14AIAApAwBCAFIEQEEADwsgACkDCEIAUgRAQQAPCyAAKQMQQgBSBEBBAA8LIAApAxhCAFIEQEEADwsgACkDIEIAUgRAQQAPCyAAKQMoQgBRBH8gACkDMEIAUQVBAAsLCAAgAEHfA2oLFgAgAEUEQEEADwsgAEEQbUEEdEEQags1AQJ/IAAQKyAAQUBrIgIQKyABECsgAUFAayIDECsgACABEGYEQCACIAMQZgRAQQEPCwtBAAs9AQJ/IwMhASMDQUBrJAMgARBeIAAQKyAAQUBrIgIQKyAAIAEQZgRAIAIQOwRAIAEkA0EBDwsLIAEkA0EACycBAX8gAUG0BG0i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IAJBAnJqLQAAQRB0cnIhAiAHQQA2AgAgBkEANgIAIAAgAiAAKAIAczYCACAAIAAoAiBBAXM2AiAgCCACQX9qIgMgCCgCAHM2AgAgAEECIAJrIgIgACgCDHM2AgwgACADIAJrIgMgACgCLHM2AiwgACACIANrIgIgACgCTHM2AkwgACADIAJrIgMgACgCGHM2AhggACACIANrIgIgACgCOHM2AjggACADIAJrIgMgACgCBHM2AgQgACACIANrIgIgACgCJHM2AiQgACADIAJrIgMgACgCRHM2AkQgACACIANrIgIgACgCEHM2AhAgACADIAJrIgMgACgCMHM2AjAgACACIANrIgIgACgCUHM2AlAgACADIAJrIgMgACgCHHM2AhwgACACIANrIgIgACgCPHM2AjwgACADIAJrIgMgACgCCHM2AgggACACIANrIgIgACgCKHM2AiggACADIAJrIgMgACgCSHM2AkggACACIANrIgIgACgCFHM2AhQgACAAKAI0IAMgAmtzNgI0QQAhBEEAIQIDQCAGIAJBAWo2AgAgAkEUTgRAIAZBADYCAEEAIQJBDyEDA0BBACADIANBFUYbIgpBAnQgAGooAgAiCSACQQJ0IABqIgsoAgBrIAcoAgBrIQMgAyAJRwRAIAcgAyAJSzYCAAsgCyADNgIAIApBAWohAyACQQFqIgJBFUcNAAsLIARBAWoiBEGQzgBHBEAgBigCACECDAELCyABQQFqIgFBCEcNACAACwUgAEHYAGohByAAQdQAaiEGIAALIQEgBUGMA2oiCBBzQQAhBANAIAYgBigCACICQQFqIgM2AgAgCCACQRRIBH8gA0ECdCAAagUgBkEANgIAQQAhAkEPIQMDf0EAIAMgA0EVRhsiCkECdCAAaigCACIJIAJBAnQgAGoiCygCAGsgBygCAGshAyADIAlHBEAgByADIAlLNgIACyALIAM2AgAgCkEBaiEDIAJBAWoiAkEVRw0AIAELCygCABBBIARBAWoiBEGAAUcNAAsgCCAAQeAAahBxIABBADYCXCAFJAML0AcCCn8CfiMDIQUjA0HgCGokAyAFQbAGaiEIIAEQDyACEA8gBSACEBIgBRDDASIJQQNqQQRtIQogCUF6TgRAA0AgBiAIaiAFQQQQkQEiAjoAACAFIAJBGHRBGHUQkgEgBRAPIAUQwQEgBkEBaiECIAYgCkgEQCACIQYMAQsLCyAFQYAHaiIGIgJCATcDACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3AyAgBUGwB2oiAkGwEBASIAVB4AdqIgQgBiACED4gBUGwCGoiA0GAEBASIAVBMGoiByADQYg0KQMAIg0gBBAlIAdBAjYCKCAHQTBqIAEQEiAHIAEoAigiAjYCWEECIQYgAqwhDgNAIAZBf2oiDEEwbCAHaiELIAKsIA5+QoCAgAhVBEAgA0GAEBASIAsgAxApIAxBMGwgB2pBATYCKAsgBCALIAEQPiADQYAQEBIgBkEwbCAHaiADIA0gBBAlIAZBMGwgB2pBAjYCKCAGQQFqIgZBEEcEQCABKAIoIQJCAiEODAELCyAAIAggCmosAAAiAUEwbCAHahASIAAgAUEwbCAHaigCKCIBNgIoAkAgCUEATA0AIAGsIg4gDn5CgICACFYEQCADQYAQEBIgACADECkgAEEBNgIoCyAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAKQX9qIgEgCGosAAAiAkEwbCAHaigCKEGAgIAESgRAIANBgBAQEiAAIAMQKSAAQQE2AigLIAQgACACQTBsIAdqED4gA0GAEBASIAAgAyANIAQQJSAAQQI2AiggCUEETA0AA0AgBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggAUF/aiICIAhqLAAAIgZBMGwgB2ooAihBgICABEoEQCADQYAQEBIgACADECkgAEEBNgIoCyAEIAAgBkEwbCAHahA+IANBgBAQEiAAIAMgDSAEECUgAEECNgIoIAFBAUoEQCACIQEMAQsLIANBgBAQEiAAIAMQKSAAQQE2AiggBSQDDwsgA0GAEBASIAAgAxApIABBATYCKCAFJAMLLgEBfyMDIQIjA0EwaiQDIAJBgBAQEiACQQIQkgEgAhAPIAAgASACEIQCIAIkAwsEAEEMCzEBAn8jAyEBIwNB4ABqJAMgAUEwaiICQaAPEBIgAUHQDxASIAAgAiABEL4BGiABJAMLBABBIAvpAwEFfyMDIQYjA0GQAWokAyAAIAEgAkEfdkF/aiACIAJBH3UiB3NqQQJtIgRBf2pBH3YiAxAdIABBMGoiAiABQTBqIAMQHSAAQeAAaiIFIAFB4ABqIAMQHSAAIAFBkAFqIARBAXNBf2pBH3YiAxAdIAIgAUHAAWogAxAdIAUgAUHwAWogAxAdIAAgAUGgAmogBEECc0F/akEfdiIDEB0gAiABQdACaiADEB0gBSABQYADaiADEB0gACABQbADaiAEQQNzQX9qQR92IgMQHSACIAFB4ANqIAMQHSAFIAFBkARqIAMQHSAAIAFBwARqIARBBHNBf2pBH3YiAxAdIAIgAUHwBGogAxAdIAUgAUGgBWogAxAdIAAgAUHQBWogBEEFc0F/akEfdiIDEB0gAiABQYAGaiADEB0gBSABQbAGaiADEB0gACABQeAGaiAEQQZzQX9qQR92IgMQHSACIAFBkAdqIAMQHSAFIAFBwAdqIAMQHSAAIAFB8AdqIARBB3NBf2pBH3YiBBAdIAIgAUGgCGogBBAdIAUgAUHQCGogBBAdIAYgABAXIAZBMGoiASACEBcgBkHgAGoiBCAFEBcgASABEF0gARAPIAAgBiAHQQFxIgAQHSACIAEgABAdIAUgBCAAEB0gBiQDC2MBAX8jAyECIwNBMGokAyACIAEQVSACIAIgARAWQYA7KAIAQX1GBEAgACABEF0gABAPIAAgAEEDEE0gABAPIAAgAiAAEBAFIAAgAhAXCyACEI8BIAAgAiAAEBAgABB3IAIkAwvYBQIHfw9+IwMhAyMDQdAAaiQDIANCADcDACADQgA3AwggA0IANwMQIANCADcDGCADQgA3AyAgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0IANwMAIANCADcDSCADQUBrIQkDQCABIAEpAwAiCkL//////////wCDIhQ3AwAgASABKQMIIApCOId8IgpC//////////8AgyIWNwMIIAEgASkDECAKQjiHfCIKQv//////////AIMiFzcDECABIAEpAxggCkI4h3wiCkL//////////wCDIhg3AxggASABKQMgIApCOId8Igo3AyACQAJAIApCAFEEfyAYQgBRBH8gF0IAUQR/IBZCAFEEfyAUQgBRBH9BAAVBACEFDAULBUEBIQUMBAsFQQIhBQwDCwVBAyEFDAILBUEEIQUMAQshBAwBCyAFQThsIQQgBUEDdCABaikDACIKQgBSBEADQCAKQgJ/IRQgBEEBaiEEIApCAXxCA1oEQCAUIQoMAQsLCwsgByAEQQF0SARAIAYEfyAIQQF1BSACEHULIQQgAyAVQgGGIAtCN4eEIhU3A0ggCSALQgGGQv7/////////AIMgDEI3h4QiCzcDACADIAxCAYZC/v////////8AgyANQjeHhCIMNwM4IAMgDUIBhkL+/////////wCDIA5CN4eEIg03AzAgAyAOQgGGQv7/////////AIMgD0I3h4QiDjcDKCADIA9CAYZC/v////////8AgyAQQjeHhCIPNwMgIAMgEEIBhkL+/////////wCDIBFCN4eEIhA3AxggAyARQgGGQv7/////////AIMgEkI3h4QiETcDECADIBJCAYZC/v////////8AgyATQjeHhCISNwMIIAMgBEEBca0gE0IBhkL+/////////wCDhCITNwMAIAQhCCAGQQFqQQdxIQYgB0EBaiEHDAELCyAAIAMgARCNAiADJAMLBQBBwQALwRICBn8ffgJ/IwMhCCMDQdAAaiQDIAEgASkDACIJQv//////////AIMiHzcDACABIAEpAwggCUI4h3wiCUL//////////wCDIiA3AwggASABKQMQIAlCOId8IglC//////////8AgyIcNwMQIAEgASkDGCAJQjiHfCIJQv//////////AIMiGjcDGCABIAEpAyAgCUI4h3wiCUL//////////wCDIhc3AyAgASABKQMoIAlCOId8IglC//////////8AgyIUNwMoIAEgASkDMCAJQjiHfCILQv//////////AIMiGDcDMCABIAEpAzggC0I4h3wiCkL//////////wCDIhU3AzggAUFAayIGKQMAIApCOId8IglC//////////8AgyEMIAYgDDcDACABIAEpA0ggCUI4h3wiJDcDSCAICyIDIAIpAwAiITcDACADIAIpAwgiDTcDCCADIAIpAxAiDjcDECADIAIpAxgiDzcDGCADIAIpAyAiCUL//////////wCDIhA3AyAgAyAJQjiHIhE3AyggA0IANwMwIANCADcDOCADQgA3A0AgA0IANwNIAn8CQAJAICRCAFEEfyAMQgBSDQIgA0FAayEEIAogC4RC//////////8Ag0IAUg0CIANBOGohAiARIBRRBH8gECAXUQR/IA8gGlEEfyAOIBxRBH8gDSAgUQR/IB8gIVEEfyACIQUgBAUgISEKIB8hCQwHCwUgDSEKICAhCQwGCwUgDiEKIBwhCQwFCwUgDyEKIBohCQwECwUgECEKIBchCQwDCwUgESEKIBQhCQwCCwVCACEKICQhCQwBCwwCCyAJIApVDQAgACAfNwMAIAAgASkDCDcDCCAAIAEpAxA3AxAgACABKQMYNwMYIAAgASkDIDcDICADJAMPCyADQThqIQUgA0FAawshB0EAIQJCACEKQgAhCwNAIApCAYZC/v////////8AgyALQjeHhCEmIAtCAYZC/v////////8AgyASQjeHhCEjIBJCAYZC/v////////8AgyARQjeHhCEiIBFCAYZC/v////////8AgyAQQjeHhCEdIBBCAYZC/v////////8AgyAPQjeHhCEbIA9CAYZC/v////////8AgyAOQjeHhCEZIA5CAYZC/v////////8AgyANQjeHhCEWIA1CAYZC/v////////8AgyAhQjeHhCETICFCAYZC/v////////8AgyEhIAJBAWohAgJAAkAgJCAlQgGGIApCN4eEIiVRBH4gDCAmUQR+IBUgI1EEfiAYICJRBH4gFCAdUQR+IBcgG1EEfiAZIBpRBH4gFiAcUQR+IBMgIFEEfiAfICFRBH5BACEEICAhDSAcIQ4gGiEPIBchECAUIREgGCESIBUhCyAMBSAhIQkgHyEeICAhDSAcIQ4gGiEPIBchECAUIREgGCESIBUhCyAMIQoMCgsFICAhHiATIgkhDSAcIQ4gGiEPIBchECAUIREgGCESIBUhCyAMIQoMCQsFIBwhHiATIQ0gFiIJIQ4gGiEPIBchECAUIREgGCESIBUhCyAMIQoMCAsFIBohHiATIQ0gFiEOIBkiCSEPIBchECAUIREgGCESIBUhCyAMIQoMBwsFIBchHiATIQ0gFiEOIBkhDyAbIgkhECAUIREgGCESIBUhCyAMIQoMBgsFIBQhHiATIQ0gFiEOIBkhDyAbIRAgHSIJIREgGCESIBUhCyAMIQoMBQsFIBghHiATIQ0gFiEOIBkhDyAbIRAgHSERICIiCSESIBUhCyAMIQoMBAsFIBUhHiATIQ0gFiEOIBkhDyAbIRAgHSERICIhEiAjIgkhCyAMIQoMAwsFIAwhHiATIQ0gFiEOIBkhDyAbIRAgHSERICIhEiAjIQsgJiIJIQoMAgsFICUhCSAkIR4gEyENIBYhDiAZIQ8gGyEQIB0hESAiIRIgIyELICYhCgwBCyEKDAELQQFBfyAeIAlVGyEECyAEQX9KDQALIAMgJTcDSCAHICY3AwAgBSAjNwMAIAMgIjcDMCADIB03AyggAyAbNwMgIAMgGTcDGCADIBY3AxAgAyATNwMIIAMgITcDAANAIB9BACAkICVCAYciDX0gDCAlQjeGQoCAgICAgIDAAIMgJkIBh4QiDn0gFSAmQjeGQoCAgICAgIDAAIMgI0IBh4QiD30gGCAjQjeGQoCAgICAgIDAAIMgIkIBh4QiEH0gFCAiQjeGQoCAgICAgIDAAIMgHUIBh4QiEX0gFyAdQjeGQoCAgICAgIDAAIMgG0IBh4QiEn0gGiAbQjeGQoCAgICAgIDAAIMgGUIBh4QiC30gHCAZQjeGQoCAgICAgIDAAIMgFkIBh4QiCn0gICAWQjeGQoCAgICAgIDAAIMgE0IBh4QiCX0gHyATQjeGQoCAgICAgIDAAIMgIUIBh4QiIX0iJkI4h3wiJUI4h3wiI0I4h3wiIkI4h3wiHUI4h3wiG0I4h3wiGUI4h3wiFkI4h3wiE0I4h3wiHkI/iKdBAXNrrCInIB8gJkL//////////wCDhYOFIR8gICAnICAgJUL//////////wCDhYOFISAgHCAnIBwgI0L//////////wCDhYOFIRwgGiAnIBogIkL//////////wCDhYOFIRogFyAnIBcgHUL//////////wCDhYOFIRcgFCAnIBQgG0L//////////wCDhYOFIRQgGCAnIBggGUL//////////wCDhYOFIRggFSAnIBUgFkL//////////wCDhYOFIRUgDCAnIAwgE0L//////////wCDhYOFIQwgJCAnIB4gJIWDhSEkIAJBf2ohBCACQQFKBEAgBCECIAkhEyAKIRYgCyEZIBIhGyARIR0gECEiIA8hIyAOISYgDSElDAELCyADICE3AwAgAyAJNwMIIAMgCjcDECADIAs3AxggAyASNwMgIAMgETcDKCADIBA3AzAgBSAPNwMAIAcgDjcDACADIA03A0ggASAfNwMAIAEgIDcDCCABIBw3AxAgASAaNwMYIAEgFzcDICABIBQ3AyggASAYNwMwIAEgFTcDOCAGIAw3AwAgASAkNwNIIAAgHzcDACAAIAEpAwg3AwggACABKQMQNwMQIAAgASkDGDcDGCAAIAEpAyA3AyAgAyQDC2sBAn4gACkDICICIAEpAyAiA1EEQCABKQMYIgMgACkDGCICUQRAIAApAxAiAiABKQMQIgNRBEAgACkDCCICIAEpAwgiA1EEQCAAKQMAIgIgASkDACIDUQRAQQAPCwsLCwtBAUF/IAIgA1UbC7cDAQh+IAKsIgNC/////wCDIQQgACADQhyHIgMgASkDACIFQv////8AgyIGfiAEIAVCHIciBX58IgdCHIZCgICAgP////8AgyAEIAZ+fCIGQv//////////AIM3AwAgACABKQMIIghC/////wCDIgkgA34gCEIchyIIIAR+fCIKQhyGQoCAgID/////AIMgAyAFfiAHQhyHfCAGQjiIfCAEIAl+fHwiBUL//////////wCDNwMIIAAgASkDECIGQv////8AgyIHIAN+IAQgBkIchyIGfnwiCUIchkKAgICA/////wCDIAMgCH4gCkIch3wgBUI4h3wgBCAHfnx8IgVC//////////8AgzcDECAAIAMgASkDGCIHQv////8AgyIIfiAEIAdCHIciB358IgpCHIZCgICAgP////8AgyADIAZ+IAlCHId8IAVCOId8IAQgCH58fCIFQv//////////AIM3AxggACADIAEpAyAiBkL/////AIMiCH4gBCAGQhyHfnxCHIZCgICAgP////8AgyADIAd+IApCHId8IAVCOId8IAQgCH58fEL//////////wCDNwMgC1IAIAAgASkDACACKQMAfTcDACAAIAEpAwggAikDCH03AwggACABKQMQIAIpAxB9NwMQIAAgASkDGCACKQMYfTcDGCAAIAEpAyAgAikDIH03AyALBABBAAtLACAAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKCAAQgA3AzAgAEIANwM4IABBQGtCADcDACAAQgA3A0gLaAAgACABKQMANwMAIAAgASkDCDcDCCAAIAEpAxA3AxAgACABKQMYNwMYIAAgASkDIEL//////////wCDNwMgIAAgASkDIEI4hzcDKCAAQgA3AzAgAEIANwM4IABCADcDQCAAQgA3A0gLmgEBA34gACAAKQMgIAGtIgOGIAApAxgiAkE4IAFrrSIEh4Q3AyAgACACIAOGQv//////////AIMgACkDECICIASHhDcDGCAAIAIgA4ZC//////////8AgyAAKQMIIgIgBIeENwMQIAAgAiADhkL//////////wCDIAApAwAiAiAEh4Q3AwggACACIAOGQv//////////AIM3AwALBABBAQvIBQEJfyMDIQcjA0HQAmokAyAHQbgCaiIMQQA2AgAgDEEgNgIEIAwgB0HQAWo2AgggB0GsAmoiCEEANgIAIAhB4QA2AgQgCCAHQeAAajYCCCAHQaACaiIJQQA2AgAgCUEgNgIEIAkgB0FAazYCCCAHQZQCaiIKQQA2AgAgCkEQNgIEIAogB0EwajYCCCAHQYgCaiILQQA2AgAgC0EQNgIEIAsgB0EgajYCCCAHQfwBaiINQQA2AgAgDUEINgIEIA0gB0HIAmo2AgggB0HwAWoiDkEANgIAIA5BIDYCBCAOIAc2AgggBSACIAwQxQEEQCAHJANBAA8LIAggAhCOASAIIAwQVCAIIABBICAJEI0BIAtBEDYCACAKQRA2AgAgByAJKAIIIgAsAAA6ADAgByAALAAQOgAgIAcgACwAAToAMSAHIAAsABE6ACEgByAALAACOgAyIAcgACwAEjoAIiAHIAAsAAM6ADMgByAALAATOgAjIAcgACwABDoANCAHIAAsABQ6ACQgByAALAAFOgA1IAcgACwAFToAJSAHIAAsAAY6ADYgByAALAAWOgAmIAcgACwABzoANyAHIAAsABc6ACcgByAALAAIOgA4IAcgACwAGDoAKCAHIAAsAAk6ADkgByAALAAZOgApIAcgACwACjoAOiAHIAAsABo6ACogByAALAALOgA7IAcgACwAGzoAKyAKKAIIIgIgACwADDoADCALKAIIIgUgACwAHDoADCACIAkoAggiACwADToADSAFIAAsAB06AA0gAiAALAAOOgAOIAUgACwAHjoADiACIAAsAA86AA8gBSAALAAfOgAPIAogAyAGELIBRQRAIAckA0EA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aiQDIApBQGsiC0HABDYCACALQcAENgIEIAsgAjYCCCAKQfgMaiICIAsQhgEgCyABEB8gCiALIABBgAFqEHwgCkH4BmoiASACIAoQSCAKQfgAaiICIAEQbyAAIAIgBiAHIAMgBCAIIAkgBRCJASEMIAokAyAMC68DAhB/B34gAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwIABBIGohBCAAQRhqIQUgAEEQaiEGIABBCGohByAAQSBqIQwgAEEYaiENIABBEGohDiAAQQhqIQ8DQAJ/IAMEfyACQQF1IQIgDiEJIA8hCiAMIQsgDQUgARB1IQIgBiEJIAchCiAEIQsgACkDKCEXIAQpAwAhFiAFKQMAIRUgBikDACEUIAcpAwAhEyAAKQMAIRIgACkDMCEYIAULIREgACAYQgGGIBdCOYeEIhg3AzAgACAXQgGGQv7/////////A4MgFkI5h4QiFzcDKCALIBZCAYZC/v////////8DgyAVQjmHhCIWNwMAIBELIBVCAYZC/v////////8DgyAUQjmHhCIVNwMAIAkgFEIBhkL+/////////wODIBNCOYeEIhQ3AwAgCiATQgGGQv7/////////A4MgEkI5h4QiEzcDACAAIAJBAXGtIBJCAYZC/v////////8Dg4QiEjcDACADQQFqQQdxIQMgCEEBaiIIQYADRw0ACwuUGwIIfyt+IwMhAyMDQfAAaiQDIAEgASkDACILQv//////////A4MiMjcDACABIAEpAwggC0I6h3wiC0L//////////wODIjE3AwggASABKQMQIAtCOod8IgtC//////////8DgyItNwMQIAEgASkDGCALQjqHfCILQv//////////A4MiJzcDGCABIAEpAyAgC0I6h3wiC0L//////////wODIiU3AyAgASABKQMoIAtCOod8IgtC//////////8DgyIjNwMoIAEgASkDMCALQjqHfCILQv//////////A4MiIjcDMCABIAEpAzggC0I6h3wiC0L//////////wODIh03AzggAUFAayIJKQMAIAtCOod8IgtC//////////8DgyEeIAkgHjcDACABIAEpA0ggC0I6h3wiDEL//////////wODIh83A0ggASABKQNQIAxCOod8Ig5C//////////8DgyIaNwNQIAEgASkDWCAOQjqHfCIOQv//////////A4MiFTcDWCABIAEpA2AgDkI6h3wiDkL//////////wODIjM3A2AgASABKQNoIA5COod8Ii43A2ggAyACKQMAIio3AwAgAyACKQMIIhE3AwggAyACKQMQIg43AxAgAyACKQMYIg83AxggAyACKQMgIhI3AyAgAyACKQMoIhM3AyggAyACKQMwIhBC//////////8DgyIUNwMwIAMgEEI6hyIQNwM4IANBQGsiBEIANwMAIARCADcDCCAEQgA3AxAgBEIANwMYIARCADcDICAEQgA3AygCQAJAAkAgLkIAUQRAIDNCAFINAiADQeAAaiEFIBVCAFINAiADQdgAaiEGIBpCAFINAiADQdAAaiEHIAsgDIRC//////////8Dg0IAUg0CIANByABqIQggECAdUQRAIBQgIlEEQCATICNRBEAgEiAlUQRAIA8gJ1EEQCAOIC1RBEAgESAxUQRAICogMlIEQCAqIQwgMiELDAkLBSARIQwgMSELDAgLBSAOIQwgLSELDAcLBSAPIQwgJyELDAYLBSASIQwgJSELDAULBSATIQwgIyELDAQLBSAUIQwgIiELDAMLBSAQIQwgHSELDAILBUIAIQwgLiELDAELDAILIAsgDFUNACAAIDI3AwAgACABKQMINwMIIAAgASkDEDcDECAAIAEpAxg3AxggACABKQMgNwMgIAAgASkDKDcDKCAAIAEpAzA3AzAgAyQDDwsgA0HYAGohBiADQdAAaiEHIANByABqIQggA0HgAGohBQtBACECQgAhCyARIQwDQAJAIAtCAYZC/v////////8DgyAWQjmHhCEwIBZCAYZC/v////////8DgyAXQjmHhCEsIBdCAYZC/v////////8DgyAYQjmHhCErIBhCAYZC/v////////8DgyANQjmHhCEpIA1CAYZC/v////////8DgyAQQjmHhCEoIBBCAYZC/v////////8DgyAUQjmHhCEmIBRCAYZC/v////////8DgyATQjmHhCEkIBNCAYZC/v////////8DgyASQjmHhCEgIBJCAYZC/v////////8DgyAPQjmHhCEcIA9CAYZC/v////////8DgyAOQjmHhCEbIA5CAYZC/v////////8DgyAMQjmHhCEZIAxCAYZC/v////////8DgyAqQjmHhCENICpCAYZC/v////////8DgyEqIAJBAWohAgJAAkAgL0IBhiALQjmHhCIvIC5RBH4gMCAzUQR+IBUgLFEEfiAaICtRBH4gHyApUQR+IB4gKFEEfiAdICZRBH4gIiAkUQR+ICAgI1EEfiAcICVRBH4gGyAnUQR+IBkgLVEEfiANIDFRBH4gKiAyUQR+IC0hDiAnIQ8gJSESICMhEyAiIRQgHSEQIB4hESAfIRggGiEXIBUhFiAxBSAqIQsgMiEhIDEhDCAtIQ4gJyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMDgsFIDEhISANIgshDCAtIQ4gJyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMDQsFIC0hISANIQwgGSILIQ4gJyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMDAsFICchISANIQwgGSEOIBsiCyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMCwsFICUhISANIQwgGSEOIBshDyAcIgshEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMCgsFICMhISANIQwgGSEOIBshDyAcIRIgICILIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMCQsFICIhISANIQwgGSEOIBshDyAcIRIgICETICQiCyEUIB0hECAeIREgHyEYIBohFyAVIRYMCAsFIB0hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIgshECAeIREgHyEYIBohFyAVIRYMBwsFIB4hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCILIREgHyEYIBohFyAVIRYMBgsFIB8hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkiCyEYIBohFyAVIRYMBQsFIBohISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkhGCArIgshFyAVIRYMBAsFIBUhISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkhGCArIRcgLCILIRYMAwsFIDAhCyAzISEgDSEMIBkhDiAbIQ8gHCESICAhEyAkIRQgJiEQICghESApIRggKyEXICwhFgwCCwUgLyELIC4hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkhGCArIRcgLCEWDAELIQwMAQsgISALVw0BCyAwIQsgESENDAELCyADIC83A2ggBSAwNwMAIAYgLDcDACAHICs3AwAgCCApNwMAIAQgKDcDACADICY3AzggAyAkNwMwIAMgIDcDKCADIBw3AyAgAyAbNwMYIAMgGTcDECADIA03AwggAyAqNwMAIAEpAwAhDCABKQMIIQ4gASkDECEPIDMhCwNAIAxBACAuIC9CAYciEn0gCyAvQjmGQoCAgICAgICAAoMgMEIBh4QiE30gFSAwQjmGQoCAgICAgICAAoMgLEIBh4QiFH0gGiAsQjmGQoCAgICAgICAAoMgK0IBh4QiEH0gHyArQjmGQoCAgICAgICAAoMgKUIBh4QiEX0gHiApQjmGQoCAgICAgICAAoMgKEIBh4QiGH0gHSAoQjmGQoCAgICAgICAAoMgJkIBh4QiF30gIiAmQjmGQoCAgICAgICAAoMgJEIBh4QiFn0gIyAkQjmGQoCAgICAgICAAoMgIEIBh4QiIX0gJSAgQjmGQoCAgICAgICAAoMgHEIBh4QiIH0gJyAcQjmGQoCAgICAgICAAoMgG0IBh4QiHH0gDyAbQjmGQoCAgICAgICAAoMgGUIBh4QiG30gDiAZQjmGQoCAgICAgICAAoMgDUIBh4QiGX0gDCANQjmGQoCAgICAgICAAoMgKkIBh4QiKn0iJEI6h3wiJkI6h3wiKEI6h3wiKUI6h3wiK0I6h3wiLUI6h3wiLEI6h3wiMUI6h3wiMEI6h3wiL0I6h3wiMkI6h3wiM0I6h3wiNEI6h3wiNUI/iKdBAXNrrCINIAwgJEL//////////wODhYOFIQwgDiANIA4gJkL//////////wODhYOFIQ4gDyANIA8gKEL//////////wODhYOFIQ8gJyANICcgKUL//////////wODhYOFIScgJSANICUgK0L//////////wODhYOFISUgIyANICMgLUL//////////wODhYOFISMgIiANICIgLEL//////////wODhYOFISIgHSANIB0gMUL//////////wODhYOFIR0gHiANIB4gMEL//////////wODhYOFIR4gHyANIB8gL0L//////////wODhYOFIR8gGiANIBogMkL//////////wODhYOFIRogFSANIBUgM0L//////////wODhYOFIRUgCyANIAsgNEL//////////wODhYOFIQsgLiANIC4gNYWDhSEuIAJBf2ohCiACQQFKBEAgCiECIBkhDSAbIRkgHCEbICAhHCAhISAgFiEkIBchJiAYISggESEpIBAhKyAUISwgEyEwIBIhLwwBCwsgAyAqNwMAIAMgGTcDCCADIBs3AxAgAyAcNwMYIAMgIDcDICADICE3AyggAyAWNwMwIAMgFzcDOCAEIBg3AwAgCCARNwMAIAcgEDcDACAGIBQ3AwAgBSATNwMAIAMgEjcDaCABIAw3AwAgASAONwMIIAEgDzcDECABICc3AxggASAlNwMgIAEgIzcDKCABICI3AzAgASAdNwM4IAkgHjcDACABIB83A0ggASAaNwNQIAEgFTcDWCABIAs3A2AgASAuNwNoIAAgDDcDACAAIAEpAwg3AwggACABKQMQNwMQIAAgASkDGDcDGCAAIAEpAyA3AyAgACABKQMoNwMoIAAgASkDMDcDMCADJAMLjwEBAn4gACkDMCICIAEpAzAiA1EEQCABKQMoIgMgACkDKCICUQRAIAApAyAiAiABKQMgIgNRBEAgACkDGCICIAEpAxgiA1EEQCAAKQMQIgIgASkDECIDUQRAIAApAwgiAiABKQMIIgNRBEAgACkDACICIAEpAwAiA1EEQEEADwsLCwsLCwtBAUF/IAIgA1UbC3IAIAAgASkDACACKQMAfTcDACAAIAEpAwggAikDCH03AwggACABKQMQIAIpAxB9NwMQIAAgASkDGCACKQMYfTcDGCAAIAEpAyAgAikDIH03AyAgACABKQMoIAIpAyh9NwMoIAAgASkDMCACKQMwfTcDMAuRAgEJfyMDIQgjA0GAE2okA0HgBEGBASAARSIPGyIJIAVKBEAgCCQDQX4PCyAHIAQoABwQigEiBzYCACAJIAdBtARtIgAgByAAQbQEbGtBAEdqQcAEbCIKaiAFSgRAIAgkA0F+DwsgCEFAayEAIAhB+AxqIQUgCEH4BmohCyAIQfgAaiEMIARBIGohDSAEQQxqIQ4gBCAJaiEJIA8EfyAAQcAENgIAIABBwAQ2AgQgACANNgIIIAUgABCGASAAIAIQHyAIIAAgAUGAAWoQfCALIAUgCBBIIAwgCxBvIAEgDCAJIAogAyAEIAYgByAOEIkBBSABIAIgDSADIAQgDiAJIAogBiAHEMsBCyEQIAgkAyAQC3wAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAIAEpAwA3AzggAEFAayABKQMINwMAIAAgASkDEDcDSCAAIAEpAxg3A1AgACABKQMgNwNYIAAgASkDKDcDYCAAIAEpAzA3A2gLoQIBB38jAyEHIwNB4ABqJAMgBiACSARAQbQ5QcoAQbQ1KAIAEGAgByQDQX8PCyAHQcgAaiIKQgA3AgAgCkEANgIIIAdBPGoiC0IANwIAIAtBADYCCCAHQTBqIghBwQA2AgAgCEHBADYCBCAIIAA2AgggB0EkaiIJQRA2AgAgCUEQNgIEIAkgAzYCCCAHQRhqIgNBIDYCACADQSA2AgQgAyAENgIIIAdBDGoiAEEANgIAIAAgBjYCBCAAIAU2AgggAkEIaiIFEFwiBCABIAIQUxogByACNgIAIAcgBTYCBCAHIAQ2AggCfyAKIAsgCCAHIAkgAyAAEJYCIQwgBBBLIAwLBH8gACgCAAVB/zlBPkG0NSgCABBgQX8LIQ0gByQDIA0LYQEDfyMDIQMjA0GAAmokAyADQYABaiICIAEQPCADIAFBgAFqIgQQPCADEDkgAxANIAIgAiADEDogAiACEJsBIAAgAiABEBggAiACEC0gAhANIABBgAFqIAIgBBAYIAMkAwt9AQJ/IwMhACMDQTBqJAMgAEEYaiIGQRA2AgAgBkEQNgIEIAYgATYCCCAAQQxqIgEgAzYCACABIAM2AgQgASACNgIIIAAgAzYCACAAIAM2AgQgACAENgIIAn8gBiABIAAQsgEhByAFIAAoAgA2AgAgACQDIAcLRUEfdEEfdQsL7ywpAEGACAsBBABBwAgLIwEAAAD///8Dv/+W/78AaQM7VYAdmoCAAefMIPV1pkwBp+1zAEGACQs1u8Yi2wrwOgP+u4Ze/g96AcWGxbpx8aMDOIUW5NJdPgGMaMMPrKlPAONYpQnl9WUAczodfwEAQcAJCzTh58VGKSOqAAO5IqIo0TEDA90+S8CyjAFsA9grQFdXAuD1/OSKHXQBO4wnaDyo6gAeSD+LAEGCCgsHAQAAAAECNABBwAoLNLi9IcHIVoAA9ftuAarJAAO6cBc9rke2AETRCuwA6VMDeuTGURDFLQNJAYJJpMIjAC8rqiQAQYALCzV+KwRdBX2sAflVF+WERDwDNJME9ce9GwJp12rYgmRCA9BrWWVPJ4gA6DRrH9hnnAAFtgI+AQBBwAsLNAEouAiGVJMBeKIo6w5zsgIjyRINFpWmAQq1nU73MqoCm/2tGjUu2gJxczJjhFufAHdSXc4AQYAMCzS+eV/wXwepAmpoBzvXScMB87Oa6XK1KgHSmbyOnRb6ASg+y5mLwisArDSrDDPNqQMCSmxgAEHADAs1q6r//////gHu//9UrP//AupBYg9rDyoBw5z9ShTOEwJLd2TXrEtDAu3pxpKm+V8Cox4RoAEAQYANCzWu977VoTkGAuiT3WJkTCQB0ixuTrUJLQLb5XAxtsQRAZljNvvobYoDvJwf7c8WTwAraqaeAQBBwA0LNbhfI5LtdQcBY0/g+VhPqQNnT5yrS3g9AJHsPX318vQDA9YPHw0sIACtb4zwmcGuAPA7TZABAEGADgs080rcbRKK9wCLsB9bU7BWA4LyxWMfl+wAMrC/zR7bHgJHoVS4nx8jAkB6OqIMOLEBs+LDDwBBwA4LAQcAQfAOCyRBQTbQjF7SAL87oEiv5twArrr+/////wD/////////AP////8AQaAPCySYF/gWW4HyAFnZKM4t2/wAmwIHC4fOlQBioFWsu9z5AH5mvnkAQdAPCyS41BD7j9BHAJwZVIWmSLQAF/2oCBEO/AD7pF1lxKMmAHfaOkgAQYAQCyQv/P///v//AP////////8A/////////wD/////////AP////8AQbYQCwuhAJAOAKIHAAAAAQBB4BAL2B+YL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGIq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbGN8d3vya2/FMAFnK/7Xq3bKgsl9+llH8K3Uoq+cpHLAt/2TJjY/98w0peXxcdgxFQTHI8MYlgWaBxKA4usnsnUJgywaG25aoFI71rMp4y+EU9EA7SD8sVtqy745SkxYz9DvqvtDTTOFRfkCf1A8n6hRo0CPkp049by22iEQ//PSzQwT7F+XRBfEp349ZF0Zc2CBT9wiKpCIRu64FN5eC9vgMjoKSQYkXMLTrGKRleR558g3bY3VTqlsVvTqZXquCLp4JS4cprTG6N10H0u9i4pwPrVmSAP2DmE1V7mGwR2e4fiYEWnZjpSbHofpzlUo34yhiQ2/5kJoQZktD7BUuxYBAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAABsAAAA2AAAAbAAAANgAAACrAAAATQAAAJoAAAAvAAAAAP8ZATICGsZLxxtoM+7fA2QE4A40jYHvTHEIyPhpHMF9wh21+bknak3kpnKayQl4ZS+KBSEP4SQS8IJFNZPajpaP27020M6UE1zS8UBGgzhm3f0wvwaLYrMl4pgiiJEQfm5Iw6O2HkI6ayhU+oU9uit5ChWbn17KTtSs5fNzp1evWKhQ9OrWdE+u6dXn5q3oLNd1eusWC/VZy1+wnKlRoH8M9m8XxEns2EMfLaR2e7fMuz5a+2CxhjtSoWyqVSmdl7KHkGG+3Py8lc/NNz9b0VM5hDxBom1HFCqeXVby06tEEZLZIyAuibR8uCZ3meOlZ0rt3sUx/hgNY4yAwPdwBwEDBQ8RM1X/Gi5ylqH4EzVf4ThI2HOVpPcCBgoeImaq5TRc5DdZ6yZqvtlwkKvmMVP1BAwUPETMT9FouNNuss1M1Gep4DtN12Km8QgYKHiIg5650Gu93H+BmLPOSdt2mrXEV/kQMFDwCx0nabvWYaP+GSt9h5Kt7C9xk67pIGCg+xY6TtJtt8Jd5zJW+hU/QcNe4j1HyUDAW+0sdJy/2nWfutVkrO8qfoKdvN96jomAm7bBWOgjZa/qJW+xyEPFVPwfIWOl9AcJGy13mbDLRspFz0reeYuGkajjPkLGUfMOEjZa7il7jYyPioWUp/INFzlL3XyEl6L9HCRstMdS9gHGY2Ol+Hx8hO53d5n2e3uN//LyDdZra73eb2+xkcXFVGAwMFACAQEDzmdnqVYrK33n/v4ZtdfXYk2rq+bsdnaaj8rKRR+Cgp2JyclA+n19h+/6+hWyWVnrjkdHyfvw8AtBra3ss9TUZ1+iov1Fr6/qI5ycv1OkpPfkcnKWm8DAW3W3t8Lh/f0cPZOTrkwmJmpsNjZafj8/QfX39wKDzMxPaDQ0XFGlpfTR5eU0+fHxCOJxcZOr2NhzYjExUyoVFT8IBAQMlcfHUkYjI2Wdw8NeMBgYKDeWlqEKBQUPL5qatQ4HBwkkEhI2G4CAm9/i4j3N6+smTicnaX+yss3qdXWfEgkJGx2Dg55YLCx0NBoaLjYbGy3cbm6ytFpa7lugoPukUlL2djs7TbfW1mF9s7POUikpe93j4z5eLy9xE4SEl6ZTU/W50dFoAAAAAMHt7SxAICBg4/z8H3mxsci2W1vt1Gpqvo3Ly0Znvr7Zcjk5S5RKSt6YTEzUsFhY6IXPz0q70NBrxe/vKk+qquXt+/sWhkNDxZpNTddmMzNVEYWFlIpFRc/p+fkQBAICBv5/f4GgUFDweDw8RCWfn7pLqKjjolFR812jo/6AQEDABY+Pij+Skq0hnZ28cDg4SPH19QRjvLzfd7a2wa/a2nVCISFjIBAQMOX//xr98/MOv9LSbYHNzUwYDAwUJhMTNcPs7C++X1/hNZeXoohERMwuFxc5k8TEV1Wnp/L8fn6Cej09R8hkZKy6XV3nMhkZK+Zzc5XAYGCgGYGBmJ5PT9Gj3Nx/RCIiZlQqKn47kJCrC4iIg4xGRsrH7u4pa7i40ygUFDyn3t55vF5e4hYLCx2t29t22+DgO2QyMlZ0OjpOFAoKHpJJSdsMBgYKSCQkbLhcXOSfwsJdvdPTbkOsrO/EYmKmOZGRqDGVlaTT5OQ38nl5i9Xn5zKLyMhDbjc3WdptbbcBjY2MsdXVZJxOTtJJqang2GxstKxWVvrz9PQHz+rqJcplZa/0enqOR66u6RAICBhvurrV8Hh4iEolJW9cLi5yOBwcJFempvFztLTHl8bGUcvo6COh3d186HR0nD4fHyGWS0vdYb293A2Li4YPioqF4HBwkHw+PkJxtbXEzGZmqpBISNgGAwMF9/b2ARwODhLCYWGjajU1X65XV/lpubnQF4aGkZnBwVg6HR0nJ56eudnh4Tjr+PgTK5iYsyIRETPSaWm7qdnZcAeOjokzlJSnLZubtjweHiIVh4eSyenpIIfOzkmqVVX/UCgoeKXf33oDjIyPWaGh+AmJiYAaDQ0XZb+/2tfm5jGEQkLG0GhouIJBQcMpmZmwWi0tdx4PDxF7sLDLqFRU/G27u9YsFhY6UfSnUH5BZVMaF6TDOideljura8sfnUXxrPpYq0vjA5MgMPpVrXZt9ojMdpH1AkwlT+XX/MUqy9cmNUSAtWKjj96xWkkluhtnReoOmF3+wOHDL3UCgUzwEo1Gl6Nr0/nGA49f5xWSnJW/bXrrlVJZ2tS+gy1YdCHTSeBpKY7JyER1wolq9I55eJlYPmsnuXHdvuFPtvCIrRfJIKxmfc46tGPfShjlGjGCl1EzYGJTf0WxZHfgu2uuhP6BoBz5CCuUcEhoWI9F/RmU3myHUnv4t6tz0yNySwLi4x+PV2ZVqyqy6ygHL7XCA4bFe5rTNwilMCiH8iO/pbICA2q67RaCXIrPHCunebSS8wfy8E5p4qFl2vTNBgW+1dE0Yh/Epv6KNC5TnaLzVaAFiuEypPbrdQuD7DlAYO+qXnGfBr1uEFE+IYr5lt0GPd0+Ba5N5r1GkVSNtXHEXQUEBtRvYFAV/xmY+yTWvemXiUBDzGfZnnew6EK9B4mLiOcZWzh5yO7boXwKR3xCD+n4hB7JAAAAAAmAhoMyK+1IHhFwrGxack79Dv/7D4U4Vj2u1R42LTknCg/ZZGhcpiGbW1TRJDYuOgwKZ7GTV+cPtO6W0hubkZ6AwMVPYdwgolp3S2kcEhoW4pO6CsCgKuU8IuBDEhsXHQ4JDQvyi8etLbaouRQeqchX8RmFr3UHTO6Z3bujf2D99wEmn1xy9bxEZjvFW/t+NItDKXbLI8bctu38aLjk8WPXMdzKQmOFEBOXIkCExhEghUokfdK7Pfiu+TIRxymhbR2eL0vcsjDzDYZS7HfB49ArsxZsqXC5mRGUSPpH6WQiqPyMxKDwPxpWfSzYIjOQ74dJTsfZONHBjMqi/pjUCzam9YHPpXreKNq3jiY/rb+kLDqd5FB4kg1qX8ybVH5GYvaNE8KQ2LjoLjn3XoLDr/WfXYC+adCTfG/VLanPJRKzyKyZOxAYfafonGNu2zu7e80meAluWRj07Jq3AYNPmqjmlW5lqv/mfiG8zwjvFejmuueb2UpvNs7qnwnUKbB81jGksq8qPyMxxqWUMDWiZsB0Trw3/ILKpuCQ0LAzp9gV8QSYSkHs2vd/zVAOF5H2L3ZN1o1D77BNzKpNVOSWBN+e0bXjTGqIG8EsH7hGZVF/nV7qBAGMNV36h3Rz+wtBLrNnHVqS29JS6RBWM23WRxOa12GMN6EMeln4FI7rEzyJzqkn7rdhyTXhHOXtekexPJzS31lV8nM/GBTOeXPHN79T983qX/2qW989bxR4RNuGyq/zgbloxD44JDQswqNAXxYdw3K84iUMKDxJi/8NlUE5qAFxCAyz3ti05JxkVsGQe8uEYdUytnBIbFx00LhXQlIJatUwNqU4v0CjnoHz1/t84zmCmy//hzSOQ0TE3unLVHuUMqbCIz3uTJULQvrDTgguoWYo2SSydluiSW2L0SVy+PZkhmiYFtSkXMxdZbaSbHBIUP3tudpeFUZXp42dhJDYqwCMvNMK9+RYBbizRQbQLB6Pyj8PAsGvvQMBE4prOpERQU9n3OqX8s/O8LTmc5asdCLnrTWF4vk36Bx1325H8RpxHSnFiW+3Yg6qGL4b/FY+S8bSeSCa28D+eM1a9B/dqDOIB8cxsRIQWSeA7F9gUX+pGbVKDS3lep+TyZzvoOA7Ta4q9bDI67s8g1OZYRcrBH66d9Ym4WkUY1UhDH0RAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQcAwCyERAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAQfEwCwELAEH6MAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEGrMQsBDABBtzELFQwAAAAADAAAAAAJDAAAAAAADAAADABB5TELAQ4AQfExCxUNAAAABA0AAAAACQ4AAAAAAA4AAA4AQZ8yCwEQAEGrMgseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHiMgsOEgAAABISEgAAAAAAAAkAQZMzCwELAEGfMwsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHNMwsBDABB2TMLOAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRv3//P/8//MBMTUl0h0JOAAFAEGcNAsBAQBBtDQLCgEAAAABAAAAwR8AQcw0CwECAEHbNAsF//////8AQag1Cw64HwAABAAAAAcAAAAQGgBB9DYLApwfAEGsNwvHAyV1IGJ5dGVzIG91dCByZXF1aXJlZCwgbm90ICV1CgBwcm92aWRlZCBwcmltYXJ5IHB1YmxpYyBrZXkgYnl0ZXMgYXJlIGludmFsaWQKAGludmFsaWQgZm9ybWF0IGZvciBwcm92aWRlZCBwdWJsaWMga2V5CgBpbnZhbGlkIGVuY3J5cHRlZCBvdXRwdXQgYnVmZmVyIHNpemUgLSBwbGVhc2UgY2FsbCBDYWxjRW5jRUNJRVNCeXRlQ291bnQgZm9yIHNpemUuIGV4cGVjdGVkICV1LCBnb3QgJXUKAGVuY3J5cHRpb24gZmFpbGVkIHdpdGggdW5zcGVjaWZpZWQgZXJyb3IKAGlucHV0IGNsZWFyIGJ5dGUgYnVmZmVyIG11c3QgYmUgYXQgbGVhc3QgdGhlIHNhbWUgc2l6ZSBhcyBlbmNyeXB0ZWQgYnl0ZXMKAGRlY3J5cHRpb24gZmFpbGVkIHdpdGggdW5zcGVjaWZpZWQgZXJyb3IgLSBsaWtlbHkgdGFnIGZhaWx1cmUKAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAu"}},function($,tt,et){"use strict";et.d(tt,"a",(function(){return E}));var At=et(0),nt=et(1);class E{constructor($,tt,et){const it=new At.a($);this.wasm=$,this.utils=it,this.context=$._NewCryptoContext(null,0),this.scratchBuf=new nt.a($),this.sk=tt,this.skBuf=it.arrayToBuf(tt),this.symKey=et,this.symKeyBuf=it.arrayToBuf(et)}clearBuf(){this.scratchBuf.clear()}free(){if(!this.context)return;const $=this.wasm;$._FreeCryptoContext(this.context),this.scratchBuf.free(),$._free(this.skBuf.ptr),$._free(this.symKeyBuf.ptr),this.context=null,this.scratchBuf=null,this.sk=null,this.skBuf=null,this.symKey=null,this.symKeyBuf=null,this.utils=null,this.wasm=null}}},function($,tt,et){"use strict";tt.randomBytes=tt.rng=tt.pseudoRandomBytes=tt.prng=et(15),tt.createHash=tt.Hash=et(16),tt.createHmac=tt.Hmac=et(17);var At=et(18),nt=Object.keys(At),it=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(nt);tt.getHashes=function(){return it};var at=et(19);tt.pbkdf2=at.pbkdf2,tt.pbkdf2Sync=at.pbkdf2Sync;var rt=et(20);tt.Cipher=rt.Cipher,tt.createCipher=rt.createCipher,tt.Cipheriv=rt.Cipheriv,tt.createCipheriv=rt.createCipheriv,tt.Decipher=rt.Decipher,tt.createDecipher=rt.createDecipher,tt.Decipheriv=rt.Decipheriv,tt.createDecipheriv=rt.createDecipheriv,tt.getCiphers=rt.getCiphers,tt.listCiphers=rt.listCiphers;var st=et(21);tt.DiffieHellmanGroup=st.DiffieHellmanGroup,tt.createDiffieHellmanGroup=st.createDiffieHellmanGroup,tt.getDiffieHellman=st.getDiffieHellman,tt.createDiffieHellman=st.createDiffieHellman,tt.DiffieHellman=st.DiffieHellman;var ot=et(22);tt.createSign=ot.createSign,tt.Sign=ot.Sign,tt.createVerify=ot.createVerify,tt.Verify=ot.Verify,tt.createECDH=et(23);var ut=et(24);tt.publicEncrypt=ut.publicEncrypt,tt.privateEncrypt=ut.privateEncrypt,tt.publicDecrypt=ut.publicDecrypt,tt.privateDecrypt=ut.privateDecrypt;var ct=et(25);tt.randomFill=ct.randomFill,tt.randomFillSync=ct.randomFillSync,tt.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},tt.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}},function($,tt,et){"use strict";et.d(tt,"a",(function(){return E}));var At=et(0),nt=et(1);class E{constructor($,tt,et,it,at){const rt=new At.a($),st=At.a.randomBytes($._EMS_SEED_SIZE_()),ot=rt.arrayToSmartBuf(st);this.wasm=$,this.utils=rt,this.context=$._NewCryptoContext(ot.ptr,ot.len),this.iv=at,this.pk=tt,this.pkBuf=rt.arrayToBuf(tt),this.scratchBuf=new nt.a($),this.sk=et,this.skBuf=rt.arrayToBuf(et),this.symKey=it,this.symKeyBuf=rt.arrayToBuf(it)}clearBuf(){this.scratchBuf.clear()}free(){if(!this.context)return;const $=this.wasm;$._FreeCryptoContext(this.context),$._free(this.pkBuf.ptr),this.scratchBuf.free(),$._free(this.symKeyBuf.ptr),this.context=null,this.iv=null,this.pk=null,this.pkBuf=null,this.scratchBuf=null,this.sk=null,this.skBuf=null,this.symKey=null,this.symKeyBuf=null,this.wasm=null,this.utils=null}generateNextBlockIV(){let $=At.a.randomBytes(this.iv.length);for(let tt=0;tt<this.iv.length;tt++)$[tt]^=this.iv[tt];return $}}},function($,tt,et){"use strict";(function($,At){var nt,it=(nt="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(tt){var it,at=void 0!==(tt=tt||{})?tt:{},rt={};for(it in at)at.hasOwnProperty(it)&&(rt[it]=at[it]);at.arguments=[],at.thisProgram="./this.program",at.quit=function($,tt){throw tt},at.preRun=[],at.postRun=[];var st=!1,ot=!1,ut=!1,ct=!1;st="object"==typeof window,ot="function"==typeof importScripts,ut="object"==typeof $&&!st&&!ot,ct=!st&&!ut&&!ot;var dt,It,ht="";function n($){return at.locateFile?at.locateFile($,ht):ht+$}ut?(ht=At+"/",at.read=function($,tt){var At;return dt||(dt=et(26)),It||(It=et(27)),$=It.normalize($),At=dt.readFileSync($),tt?At:At.toString()},at.readBinary=function($){var tt=at.read($,!0);return tt.buffer||(tt=new Uint8Array(tt)),S(tt.buffer),tt},$.argv.length>1&&(at.thisProgram=$.argv[1].replace(/\\/g,"/")),at.arguments=$.argv.slice(2),$.on("uncaughtException",(function($){if(!($ instanceof FA))throw $})),$.on("unhandledRejection",YA),at.quit=function(tt){$.exit(tt)},at.inspect=function(){return"[Emscripten Module object]"}):ct?("undefined"!=typeof read&&(at.read=function($){return read($)}),at.readBinary=function($){var tt;return"function"==typeof readbuffer?new Uint8Array(readbuffer($)):(S("object"==typeof(tt=read($,"binary"))),tt)},"undefined"!=typeof scriptArgs?at.arguments=scriptArgs:void 0!==arguments&&(at.arguments=arguments),"function"==typeof quit&&(at.quit=function($){quit($)})):(st||ot)&&(ot?ht=self.location.href:document.currentScript&&(ht=document.currentScript.src),nt&&(ht=nt),ht=0!==ht.indexOf("blob:")?ht.substr(0,ht.lastIndexOf("/")+1):"",at.read=function($){var tt=new XMLHttpRequest;return tt.open("GET",$,!1),tt.send(null),tt.responseText},ot&&(at.readBinary=function($){var tt=new XMLHttpRequest;return tt.open("GET",$,!1),tt.responseType="arraybuffer",tt.send(null),new Uint8Array(tt.response)}),at.readAsync=function($,tt,et){var At=new XMLHttpRequest;At.open("GET",$,!0),At.responseType="arraybuffer",At.onload=function(){200==At.status||0==At.status&&At.response?tt(At.response):et()},At.onerror=et,At.send(null)},at.setWindowTitle=function($){document.title=$});var pt=at.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),yt=at.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||pt);for(it in rt)rt.hasOwnProperty(it)&&(at[it]=rt[it]);rt=void 0;var Ct,Bt={"f64-rem":function($,tt){return $%tt},debugger:function(){}};function M($,tt,et){switch("*"===(tt=tt||"i8").charAt(tt.length-1)&&(tt="i32"),tt){case"i1":case"i8":return bt[$>>0];case"i16":return vt[$>>1];case"i32":case"i64":return Mt[$>>2];case"float":return Dt[$>>2];case"double":return St[$>>3];default:YA("invalid type for getValue: "+tt)}return null}new Array(0),"object"!=typeof WebAssembly&&yt("no native wasm support detected");var Et=!1;function S($,tt){$||YA("Assertion failed: "+tt)}var mt="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F($,tt,et){for(var At=tt+et,nt=tt;$[nt]&&!(nt>=At);)++nt;if(nt-tt>16&&$.subarray&&mt)return mt.decode($.subarray(tt,nt));for(var it="";tt<nt;){var at=$[tt++];if(128&at){var rt=63&$[tt++];if(192!=(224&at)){var st=63&$[tt++];if((at=224==(240&at)?(15&at)<<12|rt<<6|st:(7&at)<<18|rt<<12|st<<6|63&$[tt++])<65536)it+=String.fromCharCode(at);else{var ot=at-65536;it+=String.fromCharCode(55296|ot>>10,56320|1023&ot)}}else it+=String.fromCharCode((31&at)<<6|rt)}else it+=String.fromCharCode(at)}return it}function H($,tt){return $?F(wt,$,tt):""}function Y($,tt){bt.set($,tt)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var Qt,bt,wt,vt,Mt,Dt,St,kt=65536;function l($,tt){return $%tt>0&&($+=tt-$%tt),$}function d(){at.HEAP8=bt=new Int8Array(Qt),at.HEAP16=vt=new Int16Array(Qt),at.HEAP32=Mt=new Int32Array(Qt),at.HEAPU8=wt=new Uint8Array(Qt),at.HEAPU16=new Uint16Array(Qt),at.HEAPU32=new Uint32Array(Qt),at.HEAPF32=Dt=new Float32Array(Qt),at.HEAPF64=St=new Float64Array(Qt)}var _t=5252256,Rt=9344,Nt=5242880,Ht=at.TOTAL_MEMORY||16777216;function x($){for(;$.length>0;){var tt=$.shift();if("function"!=typeof tt){var et=tt.func;"number"==typeof et?void 0===tt.arg?at.dynCall_v(et):at.dynCall_vi(et,tt.arg):et(void 0===tt.arg?null:tt.arg)}else tt()}}Ht<Nt&&yt("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+Ht+"! (TOTAL_STACK="+Nt+")"),at.buffer?Qt=at.buffer:"object"==typeof WebAssembly&&"function"==typeof WebAssembly.Memory?(Ct=new WebAssembly.Memory({initial:Ht/kt}),Qt=Ct.buffer):Qt=new ArrayBuffer(Ht),d(),Mt[Rt>>2]=_t;var Ft=[],Gt=[],Ut=[],xt=[],Lt=!1;function _(){if(at.preRun)for("function"==typeof at.preRun&&(at.preRun=[at.preRun]);at.preRun.length;)V(at.preRun.shift());x(Ft)}function b(){Lt||(Lt=!0,x(Gt))}function z(){x(Ut)}function W(){if(at.postRun)for("function"==typeof at.postRun&&(at.postRun=[at.postRun]);at.postRun.length;)X(at.postRun.shift());x(xt)}function V($){Ft.unshift($)}function X($){xt.unshift($)}var Tt=0,Yt=null,Ot=null;function gA($){Tt++,at.monitorRunDependencies&&at.monitorRunDependencies(Tt)}function CA($){if(Tt--,at.monitorRunDependencies&&at.monitorRunDependencies(Tt),0==Tt&&(null!==Yt&&(clearInterval(Yt),Yt=null),Ot)){var tt=Ot;Ot=null,tt()}}at.preloadedImages={},at.preloadedAudios={};var Kt="data:application/octet-stream;base64,";function EA($){return String.prototype.startsWith?$.startsWith(Kt):0===$.indexOf(Kt)}var Pt="elv-crypto.wasm";function iA(){try{if(at.wasmBinary)return new Uint8Array(at.wasmBinary);if(at.readBinary)return at.readBinary(Pt);throw"both async and sync fetching of the wasm failed"}catch($){YA($)}}function DA(){return at.wasmBinary||!st&&!ot||"function"!=typeof fetch?new Promise((function($,tt){$(iA())})):fetch(Pt,{credentials:"same-origin"}).then((function($){if(!$.ok)throw"failed to load wasm binary file at '"+Pt+"'";return $.arrayBuffer()})).catch((function(){return iA()}))}function oA($){var tt={env:$,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:Bt};function g($,tt){var et=$.exports;at.asm=et,CA()}if(gA(),at.instantiateWasm)try{return at.instantiateWasm(tt,g)}catch($){return yt("Module.instantiateWasm callback failed with error: "+$),!1}function C($){g($.instance)}function B($){DA().then((function($){return WebAssembly.instantiate($,tt)})).then($,(function($){yt("failed to asynchronously prepare wasm: "+$),YA($)}))}return at.wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||EA(Pt)||"function"!=typeof fetch?B(C):WebAssembly.instantiateStreaming(fetch(Pt,{credentials:"same-origin"}),tt).then(C,(function($){yt("wasm streaming compile failed: "+$),yt("falling back to ArrayBuffer instantiation"),B(C)})),{}}EA(Pt)||(Pt=n(Pt)),at.asm=function($,tt,et){return tt.memory=Ct,tt.table=new WebAssembly.Table({initial:10,maximum:10,element:"anyfunc"}),tt.__memory_base=1024,tt.__table_base=0,oA(tt)};var qt={buffers:[null,[],[]],printChar:function($,tt){var et=qt.buffers[$];0===tt||10===tt?((1===$?pt:yt)(F(et,0)),et.length=0):et.push(tt)},varargs:0,get:function($){return qt.varargs+=4,Mt[qt.varargs-4>>2]},getStr:function(){return H(qt.get())},get64:function(){var $=qt.get();return qt.get(),$},getZero:function(){qt.get()}};function rA($,tt){qt.varargs=tt;try{return qt.getStreamFromFD(),qt.get(),qt.get(),qt.get(),qt.get(),0}catch($){return"undefined"!=typeof FS&&$ instanceof FS.ErrnoError||YA($),-$.errno}}function eA($,tt){qt.varargs=tt;try{for(var et=qt.get(),At=qt.get(),nt=qt.get(),it=0,at=0;at<nt;at++){for(var rt=Mt[At+8*at>>2],st=Mt[At+(8*at+4)>>2],ot=0;ot<st;ot++)qt.printChar(et,wt[rt+ot]);it+=st}return it}catch($){return"undefined"!=typeof FS&&$ instanceof FS.ErrnoError||YA($),-$.errno}}function hA($,tt){qt.varargs=tt;try{return qt.getStreamFromFD(),0}catch($){return"undefined"!=typeof FS&&$ instanceof FS.ErrnoError||YA($),-$.errno}}function wA(){return bt.length}function nA($){YA("OOM")}function yA($){$=l($,65536);var tt=Qt.byteLength;try{return-1!==Ct.grow(($-tt)/65536)&&(Qt=Ct.buffer,!0)}catch($){return!1}}function aA($){var tt=wA();if($>2147418112)return!1;for(var et=Math.max(tt,16777216);et<$;)et=et<=536870912?l(2*et,65536):Math.min(l((3*et+2147483648)/4,65536),2147418112);return!!yA(et)&&(d(),!0)}function sA($,tt,et){wt.set(wt.subarray(tt,tt+et),$)}function cA($){return at.___errno_location&&(Mt[at.___errno_location()>>2]=$),$}function MA($){var tt=Date.now()/1e3|0;return $&&(Mt[$>>2]=tt),tt}var jt={},Jt={c:YA,e:cA,k:rA,d:eA,j:hA,i:wA,h:sA,g:aA,b:MA,f:nA,a:Rt},zt=at.asm(jt,Jt,Qt);function FA($){this.name="ExitStatus",this.message="Program terminated with exit("+$+")",this.status=$}function HA($){function I(){at.calledRun||(at.calledRun=!0,Et||(b(),z(),at.onRuntimeInitialized&&at.onRuntimeInitialized(),W()))}$=$||at.arguments,Tt>0||(_(),Tt>0||at.calledRun||(at.setStatus?(at.setStatus("Running..."),setTimeout((function(){setTimeout((function(){at.setStatus("")}),1),I()}),1)):I()))}function YA($){throw at.onAbort&&at.onAbort($),void 0!==$?(pt($),yt($),$=JSON.stringify($)):$="",Et=!0,"abort("+$+"). Build with -s ASSERTIONS=1 for more info."}if(at.asm=zt,at._CalcEncByteCount=function(){return at.asm.l.apply(null,arguments)},at._CalcEncByteCountFromTargetH=function(){return at.asm.m.apply(null,arguments)},at._CalcEncByteCountH=function(){return at.asm.n.apply(null,arguments)},at._CalcEncECIESByteCount=function(){return at.asm.o.apply(null,arguments)},at._CalcTargetByteCountH=function(){return at.asm.p.apply(null,arguments)},at._DecryptAES=function(){return at.asm.q.apply(null,arguments)},at._DecryptECIES=function(){return at.asm.r.apply(null,arguments)},at._DecryptH=function(){return at.asm.s.apply(null,arguments)},at._DecryptPrimary=function(){return at.asm.t.apply(null,arguments)},at._DecryptTarget=function(){return at.asm.u.apply(null,arguments)},at._DeriveTargetKeys=function(){return at.asm.v.apply(null,arguments)},at._EMS_AES_KEY_SIZE_=function(){return at.asm.w.apply(null,arguments)},at._EMS_CRYPTO_TYPE_PRIMARY_=function(){return at.asm.x.apply(null,arguments)},at._EMS_CRYPTO_TYPE_TARGET_=function(){return at.asm.y.apply(null,arguments)},at._EMS_ECIES_PK_KEY_SIZE_=function(){return at.asm.z.apply(null,arguments)},at._EMS_ECIES_SK_KEY_SIZE_=function(){return at.asm.A.apply(null,arguments)},at._EMS_IV_SIZE_=function(){return at.asm.B.apply(null,arguments)},at._EMS_PRIMARY_BLOCK_KEY_SIZE_=function(){return at.asm.C.apply(null,arguments)},at._EMS_PRIMARY_PK_KEY_SIZE_=function(){return at.asm.D.apply(null,arguments)},at._EMS_RE_ENCRYPTION_KEY_SIZE_=function(){return at.asm.E.apply(null,arguments)},at._EMS_SECRET_KEY_SIZE_=function(){return at.asm.F.apply(null,arguments)},at._EMS_SEED_SIZE_=function(){return at.asm.G.apply(null,arguments)},at._EMS_TAG_SIZE_=function(){return at.asm.H.apply(null,arguments)},at._EMS_TARGET_BLOCK_KEY_SIZE_=function(){return at.asm.I.apply(null,arguments)},at._EMS_TARGET_PK_KEY_SIZE_=function(){return at.asm.J.apply(null,arguments)},at._EncryptAES=function(){return at.asm.K.apply(null,arguments)},at._EncryptECIES=function(){return at.asm.L.apply(null,arguments)},at._EncryptPrimary=function(){return at.asm.M.apply(null,arguments)},at._EncryptPrimaryH=function(){return at.asm.N.apply(null,arguments)},at._FreeCryptoContext=function(){return at.asm.O.apply(null,arguments)},at._GeneratePrimaryKeys=function(){return at.asm.P.apply(null,arguments)},at._GenerateReEncryptionKey=function(){return at.asm.Q.apply(null,arguments)},at._GenerateSymmetricKeys=function(){return at.asm.R.apply(null,arguments)},at._GenerateTargetKeys=function(){return at.asm.S.apply(null,arguments)},at._NewCryptoContext=function(){return at.asm.T.apply(null,arguments)},at._ReEncryptBlockKey=function(){return at.asm.U.apply(null,arguments)},at._ReEncryptH=function(){return at.asm.V.apply(null,arguments)},at.___errno_location=function(){return at.asm.W.apply(null,arguments)},at._free=function(){return at.asm.X.apply(null,arguments)},at._malloc=function(){return at.asm.Y.apply(null,arguments)},at.asm=zt,at.getValue=M,at.writeArrayToMemory=Y,at.then=function($){if(at.calledRun)$(at);else{var tt=at.onRuntimeInitialized;at.onRuntimeInitialized=function(){tt&&tt(),$(at)}}return at},FA.prototype=new Error,FA.prototype.constructor=FA,Ot=function A(){at.calledRun||HA(),at.calledRun||(Ot=A)},at.run=HA,at.abort=YA,at.preInit)for("function"==typeof at.preInit&&(at.preInit=[at.preInit]);at.preInit.length>0;)at.preInit.pop()();return at.noExitRuntime=!0,HA(),tt});tt.a=it}).call(this,et(4),"/")},function($,tt,et){"use strict";et.r(tt),function($){et.d(tt,"default",(function(){return r}));var At=et(5),nt=et(6),it=et(8),at=et(0),rt=et(9),st=et(2),ot=et.n(st),ut=et(1);class r{constructor(){this.initResolve=null,this.utils=null,this.wasm=null}init(){const tt=this,et=At.a["ElvCrypto.wasm"];return Object(rt.a)({locateFile:$=>$.endsWith(".wasm")?"data:application/octet-stream;base64,"+et:$,readBinary:tt=>$.from(et,"base64")}).then($=>{tt.wasm=$,tt.utils=new at.a($),tt.AES_KEY_SIZE=$._EMS_AES_KEY_SIZE_(),tt.CRYPTO_TYPE_TARGET=$._EMS_CRYPTO_TYPE_TARGET_(),tt.CRYPTO_TYPE_PRIMARY=$._EMS_CRYPTO_TYPE_PRIMARY_(),tt.TARGET_BLOCK_KEY_SIZE=$._EMS_TARGET_BLOCK_KEY_SIZE_(),tt.TARGET_PK_KEY_SIZE=$._EMS_TARGET_PK_KEY_SIZE_(),tt.ECIES_PK_KEY_SIZE=$._EMS_ECIES_PK_KEY_SIZE_(),tt.ECIES_SK_KEY_SIZE=$._EMS_ECIES_SK_KEY_SIZE_(),tt.IV_SIZE=$._EMS_IV_SIZE_(),tt.PRIMARY_BLOCK_KEY_SIZE=$._EMS_PRIMARY_BLOCK_KEY_SIZE_(),tt.PRIMARY_PK_KEY_SIZE=$._EMS_PRIMARY_PK_KEY_SIZE_(),tt.RE_ENCRYPTION_KEY_SIZE=$._EMS_RE_ENCRYPTION_KEY_SIZE_(),tt.SECRET_KEY_SIZE=$._EMS_SECRET_KEY_SIZE_(),tt.SEED_SIZE=$._EMS_SEED_SIZE_(),tt.TAG_SIZE=$._EMS_TAG_SIZE_(),tt.ELV_E_INCOMPLETE_BLOCK=-2,tt.initResolve&&tt.initResolve(tt)}),new Promise($=>{tt.wasm?$(tt):tt.initResolve=$})}calcEncByteCount($){return this.wasm._CalcEncByteCount($)}calcEncByteCountH($,tt){return this.wasm._CalcEncByteCountH($,tt)}calcEncByteCountFromTargetH($){return this.wasm._CalcEncByteCountFromTargetH($)}calcTargetByteCountH($){return this.wasm._CalcTargetByteCountH($)}calcEncECIESByteCount($){return this.wasm._CalcEncECIESByteCount($)}encryptECIES($,tt){if(tt.length!==this.ECIES_PK_KEY_SIZE)throw new Error(`encryptECIES() failed: Expected publicKey length\n ${this.ECIES_PK_KEY_SIZE}, not ${tt.length}`);const et=this.wasm,At=this.utils,nt=at.a.randomBytes(this.SEED_SIZE),it=At.arrayToSmartBuf($),rt=At.arrayToSmartBuf(tt),st=At.arrayToSmartBuf(nt),ot=this.calcEncECIESByteCount(it.len),ut=At.smartMalloc(ot),ct=At.smartMalloc(this.ECIES_PK_KEY_SIZE),dt=At.smartMalloc(this.TAG_SIZE),It=et._EncryptECIES(st.ptr,st.len,rt.ptr,it.ptr,it.len,ut,ot,ct,dt);if(0!==It)throw new Error("_EncryptECIES failed with error code "+It);return{data:new Uint8Array(et.HEAPU8.buffer,ut,ot),ephemeralKey:new Uint8Array(et.HEAPU8.buffer,ct,this.ECIES_PK_KEY_SIZE).slice(0),tag:new Uint8Array(et.HEAPU8.buffer,dt,this.TAG_SIZE).slice(0)}}decryptECIES($,tt,et,At){if(tt.length!==this.ECIES_SK_KEY_SIZE)throw new Error(`decryptECIES() failed: Expected secretKey length\n ${this.ECIES_SK_KEY_SIZE}, not ${tt.length}`);if(et.length!==this.ECIES_PK_KEY_SIZE)throw new Error(`decryptECIES() failed: Expected ephemeralKey length\n ${this.ECIES_PK_KEY_SIZE}, not ${et.length}`);if(At.length!==this.TAG_SIZE)throw new Error(`decryptECIES() failed: Expected tag length\n ${this.TAG_SIZE}, not ${At.length}`);const nt=this.wasm,it=this.utils,at=it.arrayToSmartBuf($),rt=it.arrayToSmartBuf(tt),st=it.arrayToSmartBuf(et),ot=it.arrayToSmartBuf(At),ut=at.len,ct=it.smartMalloc(ut),dt=nt._DecryptECIES(st.ptr,at.ptr,at.len,ot.ptr,rt.ptr,ct,ut);if(-1===dt)throw new Error("_DecryptECIES failed");return new Uint8Array(nt.HEAPU8.buffer,ct,dt)}generateTargetKeys(){const $=this.wasm,tt=this.utils,et=at.a.randomBytes(this.SEED_SIZE),At=tt.arrayToSmartBuf(et),nt=tt.smartMalloc(this.SECRET_KEY_SIZE),it=tt.smartMalloc(this.TARGET_PK_KEY_SIZE),rt=$._GenerateTargetKeys(At.ptr,At.len,nt,it);if(0!==rt)throw new Error("_GenerateTargetKeys failed with error code "+rt);return{secretKey:new Uint8Array($.HEAPU8.buffer,nt,this.SECRET_KEY_SIZE).slice(0),publicKey:new Uint8Array($.HEAPU8.buffer,it,this.TARGET_PK_KEY_SIZE).slice(0)}}generatePrimaryKeys(){const $=this.wasm,tt=this.utils,et=at.a.randomBytes(this.SEED_SIZE),At=tt.arrayToSmartBuf(et),nt=tt.smartMalloc(this.SECRET_KEY_SIZE),it=tt.smartMalloc(this.PRIMARY_PK_KEY_SIZE),rt=$._GeneratePrimaryKeys(At.ptr,At.len,nt,it);if(0!==rt)throw new Error("_GeneratePrimaryKeys failed with error code "+rt);return{secretKey:new Uint8Array($.HEAPU8.buffer,nt,this.SECRET_KEY_SIZE).slice(0),publicKey:new Uint8Array($.HEAPU8.buffer,it,this.PRIMARY_PK_KEY_SIZE).slice(0)}}generateReEncryptionKey($,tt){if($.length!==this.SECRET_KEY_SIZE)throw new Error(`generateReEncryptionKey() failed: Expected primarySK\n length ${this.SECRET_KEY_SIZE}, not ${$.length}`);if(tt.length!==this.TARGET_PK_KEY_SIZE)throw new Error(`generateReEncryptionKey() failed: Expected targetPK\n length ${this.TARGET_PK_KEY_SIZE}, not ${tt.length}`);const et=this.wasm,At=this.utils,nt=At.arrayToSmartBuf($),it=At.arrayToSmartBuf(tt),at=At.smartMalloc(this.RE_ENCRYPTION_KEY_SIZE),rt=et._GenerateReEncryptionKey(nt.ptr,it.ptr,at);if(0!==rt)throw new Error("_GenerateReEncryptionKey failed with error code "+rt);return new Uint8Array(et.HEAPU8.buffer,at,this.RE_ENCRYPTION_KEY_SIZE).slice(0)}generateSymmetricKey(){const $=this.wasm,tt=this.utils,et=at.a.randomBytes(this.SEED_SIZE),At=tt.arrayToSmartBuf(et),nt=tt.smartMalloc(this.AES_KEY_SIZE),it=tt.smartMalloc(this.IV_SIZE),rt=$._GenerateSymmetricKeys(At.ptr,At.len,nt,it);if(0!==rt)throw new Error("_GenerateSymmetricKeys failed with error code "+rt);return{key:new Uint8Array($.HEAPU8.buffer,nt,this.AES_KEY_SIZE).slice(0),iv:new Uint8Array($.HEAPU8.buffer,it,this.IV_SIZE).slice(0)}}newPrimaryContext($,tt,et){if($&&$.length!==this.PRIMARY_PK_KEY_SIZE)throw new Error(`newPrimaryContext() failed: Expected publicKey\n length ${this.PRIMARY_PK_KEY_SIZE}, not ${$.length}`);if(tt&&tt.length!==this.SECRET_KEY_SIZE)throw new Error(`newPrimaryContext() failed: Expected secretKey\n length ${this.SECRET_KEY_SIZE}, not ${tt.length}`);if(et.length!==this.AES_KEY_SIZE)throw new Error(`newPrimaryContext() failed: Expected\n symmetricKey length ${this.AES_KEY_SIZE}, not ${et.length}`);const At=this.generateSymmetricKey();return new it.a(this.wasm,$,tt,et,At.iv)}encryptPrimary($,tt,et){if(et.length!==this.IV_SIZE)throw new Error(`encryptPrimary() failed: Expected iv\n length ${this.IV_SIZE}, not ${et.length}`);if(0!==$.scratchBuf.len)throw new Error("encryptPrimary() failed: Scratch buffer is not empty");const At=this.wasm,nt=this.utils,it=nt.arrayToSmartBuf(et),at=nt.arrayToSmartBuf(tt),rt=this.calcEncByteCount(at.len);$.scratchBuf.ensureSize(rt);const st=nt.smartMalloc(this.TAG_SIZE),ot=nt.smartMalloc(this.PRIMARY_BLOCK_KEY_SIZE),ut=At._EncryptPrimary($.context,$.pkBuf.ptr,$.symKeyBuf.ptr,it.ptr,at.ptr,at.len,$.scratchBuf.ptr,rt,st,ot);if(0!==ut)throw new Error("_EncryptPrimary failed with error code "+ut);return{blockKey:new Uint8Array(At.HEAPU8.buffer,ot,this.PRIMARY_BLOCK_KEY_SIZE).slice(0),data:new Uint8Array(At.HEAPU8.buffer,$.scratchBuf.ptr,rt),tag:new Uint8Array(At.HEAPU8.buffer,st,this.TAG_SIZE).slice(0)}}encryptPrimaryH($,tt){if(0!==$.scratchBuf.len)throw new Error("encryptPrimaryH() failed: Scratch buffer is not empty");const et=this.wasm,At=this.utils,nt=$.generateNextBlockIV(),it=At.arrayToSmartBuf(nt),at=At.arrayToSmartBuf(tt),rt=this.calcEncByteCountH(this.CRYPTO_TYPE_PRIMARY,at.len);$.scratchBuf.ensureSize(rt);const st=et._EncryptPrimaryH($.context,$.pkBuf.ptr,$.symKeyBuf.ptr,it.ptr,at.ptr,at.len,$.scratchBuf.ptr);if(0!==st)throw new Error("_EncryptPrimaryH failed with error code "+st);return new Uint8Array(et.HEAPU8.buffer,$.scratchBuf.ptr,rt)}decryptPrimary($,tt,et,At,nt,it){if(et.length!==this.TAG_SIZE)throw new Error(`decryptPrimary() failed: Expected tag\n length ${this.TAG_SIZE}, not ${et.length}`);if(At.length!==this.PRIMARY_BLOCK_KEY_SIZE)throw new Error(`decryptPrimary() failed: Expected blockKey\n length ${this.PRIMARY_BLOCK_KEY_SIZE}, not ${At.length}`);if(nt.length!==this.IV_SIZE)throw new Error(`decryptPrimary() failed: Expected iv\n length ${this.IV_SIZE}, not ${nt.length}`);if(0!==$.scratchBuf.len)throw new Error("decryptPrimary() failed: Scratch buffer is not empty");const at=this.wasm,rt=this.utils,st=rt.arrayToSmartBuf(tt),ot=rt.arrayToSmartBuf(At),ut=rt.arrayToSmartBuf(nt),ct=rt.arrayToSmartBuf(et);$.scratchBuf.ensureSize(it);const dt=at._DecryptPrimary($.context,$.skBuf.ptr,ot.ptr,$.symKeyBuf.ptr,ut.ptr,ct.ptr,st.ptr,st.len,$.scratchBuf.ptr,it);if(0!==dt)throw new Error("_DecryptPrimary failed with error code "+dt);return new Uint8Array(at.HEAPU8.buffer,$.scratchBuf.ptr,it)}reEncryptH($,tt,et){if(tt.length!==this.RE_ENCRYPTION_KEY_SIZE)throw new Error(`reEncryptBlockKey() failed: Expected reEncKey\n length ${this.RE_ENCRYPTION_KEY_SIZE}, not ${tt.length}`);const At=this.wasm,nt=this.utils,it=nt.arrayToSmartBuf(tt),at=nt.arrayToSmartBuf(et);$.ensureSize(this.calcTargetByteCountH(at.len));const rt=nt.smartMalloc(4),st=At._ReEncryptH(it.ptr,at.ptr,at.len,$.ptr,rt);if(st===this.ELV_E_INCOMPLETE_BLOCK)throw new Error("ELV_E_INCOMPLETE_BLOCK");if(0!==st)throw new Error("_ReEncryptH failed with error code "+st);const ot=At.getValue(rt,"i32");return new Uint8Array(At.HEAPU8.buffer,$.ptr,ot)}decryptH($,tt,et){if($!==this.CRYPTO_TYPE_TARGET&&$!==this.CRYPTO_TYPE_PRIMARY)throw new Error("decryptH() failed: Invalid type "+$);if(0!==tt.scratchBuf.len)throw new Error("decryptH() failed: Scratch buffer is not empty");const At=this.wasm,nt=this.utils,it=nt.arrayToSmartBuf(et);tt.scratchBuf.ensureSize(it.len);const at=nt.smartMalloc(4),rt=At._DecryptH($,tt.context,tt.skBuf.ptr,tt.symKeyBuf.ptr,it.ptr,it.len,tt.scratchBuf.ptr,at);if(rt===this.ELV_E_INCOMPLETE_BLOCK)throw new Error("ELV_E_INCOMPLETE_BLOCK");if(0!==rt)throw new Error("_DecryptH failed with error code "+rt);const st=At.getValue(at,"i32");return new Uint8Array(At.HEAPU8.buffer,tt.scratchBuf.ptr,st)}reEncryptBlockKey($,tt){if($.length!==this.RE_ENCRYPTION_KEY_SIZE)throw new Error(`reEncryptBlockKey() failed: Expected reEncKey\n length ${this.RE_ENCRYPTION_KEY_SIZE}, not ${$.length}`);if(tt.length!==this.PRIMARY_BLOCK_KEY_SIZE)throw new Error(`reEncryptBlockKey() failed: Expected blockKey\n length ${this.PRIMARY_BLOCK_KEY_SIZE}, not ${tt.length}`);const et=this.wasm,At=this.utils,nt=At.arrayToSmartBuf($),it=At.arrayToSmartBuf(tt),at=At.smartMalloc(this.TARGET_BLOCK_KEY_SIZE),rt=et._ReEncryptBlockKey(nt.ptr,it.ptr,at);if(0!==rt)throw new Error("_ReEncryptBlockKey failed with error code "+rt);return new Uint8Array(et.HEAPU8.buffer,at,this.TARGET_BLOCK_KEY_SIZE).slice(0)}newTargetDecryptionContext($,tt){if($.length!==this.SECRET_KEY_SIZE)throw new Error(`newTargetDecryptionContext() failed: Expected\n secretKey length ${this.SECRET_KEY_SIZE}, not ${$.length}`);if(tt.length!==this.AES_KEY_SIZE)throw new Error(`newTargetDecryptionContext() failed: Expected\n symmetricKey length ${this.AES_KEY_SIZE}, not ${tt.length}`);return new nt.a(this.wasm,$,tt)}decryptTarget($,tt,et,At,nt,it){if(et.length!==this.TAG_SIZE)throw new Error(`decryptTarget() failed: Expected tag\n length ${this.TAG_SIZE}, not ${et.length}`);if(At.length!==this.TARGET_BLOCK_KEY_SIZE)throw new Error(`decryptTarget() failed: Expected blockKey\n length ${this.TARGET_BLOCK_KEY_SIZE}, not ${At.length}`);if(nt.length!==this.IV_SIZE)throw new Error(`decryptTarget() failed: Expected iv\n length ${this.IV_SIZE}, not ${nt.length}`);if(0!==$.scratchBuf.len)throw new Error("decryptTarget() failed: Scratch buffer is not empty");const at=this.wasm,rt=this.utils,st=rt.arrayToSmartBuf(tt),ot=rt.arrayToSmartBuf(At),ut=rt.arrayToSmartBuf(nt),ct=rt.arrayToSmartBuf(et);$.scratchBuf.ensureSize(it);const dt=at._DecryptTarget($.context,$.skBuf.ptr,ot.ptr,$.symKeyBuf.ptr,ut.ptr,ct.ptr,st.ptr,st.len,$.scratchBuf.ptr,it);if(0!==dt)throw new Error("_DecryptTarget failed with error code "+dt);return new Uint8Array(at.HEAPU8.buffer,$.scratchBuf.ptr,it)}createCipher($){const tt=this;return ot()((function(et,At,nt){this.push(tt.encryptPrimaryH($,et)),$.clearBuf(),nt()}))}createDecipher(tt,et){const At=this;let nt=$.alloc(0);return ot()((function(it,at,rt){let st=0;for(nt=$.concat([nt,it]);st<nt.length;)try{et.clearBuf();let $=At.decryptH(tt,et,nt.slice(st));this.push($),st+=At.calcEncByteCountH(tt,$.length)}catch(tt){return"ELV_E_INCOMPLETE_BLOCK"===tt.message?(nt=nt.slice(st),void rt()):(nt=$.alloc(0),void rt(tt))}nt=$.alloc(0),rt()}),(function($){nt.length>0&&this.destroy(new Error("Decipher stream ended before all data was decrypted. The source may be invalid.")),$()}))}createRecipher(tt){const et=this,At=new ut.a(et.wasm);let nt=$.alloc(0),it=ot()((function(it,at,rt){let st=0;for(nt=$.concat([nt,it]);st<nt.length;)try{At.clear();let $=et.reEncryptH(At,tt,nt.slice(st));this.push($),st+=et.calcEncByteCountFromTargetH($.length)}catch(tt){return"ELV_E_INCOMPLETE_BLOCK"===tt.message?(nt=nt.slice(st),void rt()):(nt=$.alloc(0),void rt(tt))}nt=$.alloc(0),rt()}),(function($){nt.length>0&&this.destroy(new Error("Recipher stream ended before all data was decrypted. The source may be invalid.")),$()}));return it.on("finish",()=>{At.free()}),it}}}.call(this,et(3).Buffer)},function($,tt){var et;et=function(){return this}();try{et=et||new Function("return this")()}catch($){"object"==typeof window&&(et=window)}$.exports=et},function($,tt){$.exports=et(264)},function($,tt){$.exports=et(265)},function($,tt){$.exports=et(461)},function($,tt){$.exports=et(191)},function($,tt){$.exports=et(196)},function($,tt){$.exports=et(236)},function($,tt){$.exports=et(284)},function($,tt){$.exports=et(237)},function($,tt){$.exports=et(289)},function($,tt){$.exports=et(297)},function($,tt){$.exports=et(300)},function($,tt){$.exports=et(311)},function($,tt){$.exports=et(312)},function($,tt){$.exports=et(316)},function($,tt){},function($,tt,et){(function($){function g($,tt){for(var et=0,At=$.length-1;At>=0;At--){var nt=$[At];"."===nt?$.splice(At,1):".."===nt?($.splice(At,1),et++):et&&($.splice(At,1),et--)}if(tt)for(;et--;et)$.unshift("..");return $}function C($,tt){if($.filter)return $.filter(tt);for(var et=[],At=0;At<$.length;At++)tt($[At],At,$)&&et.push($[At]);return et}tt.resolve=function(){for(var tt="",et=!1,At=arguments.length-1;At>=-1&&!et;At--){var nt=At>=0?arguments[At]:$.cwd();if("string"!=typeof nt)throw new TypeError("Arguments to path.resolve must be strings");nt&&(tt=nt+"/"+tt,et="/"===nt.charAt(0))}return(et?"/":"")+(tt=g(C(tt.split("/"),(function($){return!!$})),!et).join("/"))||"."},tt.normalize=function($){var At=tt.isAbsolute($),nt="/"===et($,-1);return($=g(C($.split("/"),(function($){return!!$})),!At).join("/"))||At||($="."),$&&nt&&($+="/"),(At?"/":"")+$},tt.isAbsolute=function($){return"/"===$.charAt(0)},tt.join=function(){var $=Array.prototype.slice.call(arguments,0);return tt.normalize(C($,(function($,tt){if("string"!=typeof $)throw new TypeError("Arguments to path.join must be strings");return $})).join("/"))},tt.relative=function($,et){function C($){for(var tt=0;tt<$.length&&""===$[tt];tt++);for(var et=$.length-1;et>=0&&""===$[et];et--);return tt>et?[]:$.slice(tt,et-tt+1)}$=tt.resolve($).substr(1),et=tt.resolve(et).substr(1);for(var At=C($.split("/")),nt=C(et.split("/")),it=Math.min(At.length,nt.length),at=it,rt=0;rt<it;rt++)if(At[rt]!==nt[rt]){at=rt;break}var st=[];for(rt=at;rt<At.length;rt++)st.push("..");return(st=st.concat(nt.slice(at))).join("/")},tt.sep="/",tt.delimiter=":",tt.dirname=function($){if("string"!=typeof $&&($+=""),0===$.length)return".";for(var tt=$.charCodeAt(0),et=47===tt,At=-1,nt=!0,it=$.length-1;it>=1;--it)if(47===(tt=$.charCodeAt(it))){if(!nt){At=it;break}}else nt=!1;return-1===At?et?"/":".":et&&1===At?"/":$.slice(0,At)},tt.basename=function($,tt){var et=function($){"string"!=typeof $&&($+="");var tt,et=0,At=-1,nt=!0;for(tt=$.length-1;tt>=0;--tt)if(47===$.charCodeAt(tt)){if(!nt){et=tt+1;break}}else-1===At&&(nt=!1,At=tt+1);return-1===At?"":$.slice(et,At)}($);return tt&&et.substr(-1*tt.length)===tt&&(et=et.substr(0,et.length-tt.length)),et},tt.extname=function($){"string"!=typeof $&&($+="");for(var tt=-1,et=0,At=-1,nt=!0,it=0,at=$.length-1;at>=0;--at){var rt=$.charCodeAt(at);if(47!==rt)-1===At&&(nt=!1,At=at+1),46===rt?-1===tt?tt=at:1!==it&&(it=1):-1!==tt&&(it=-1);else if(!nt){et=at+1;break}}return-1===tt||-1===At||0===it||1===it&&tt===At-1&&tt===et+1?"":$.slice(tt,At)};var et="b"==="ab".substr(-1)?function($,tt,et){return $.substr(tt,et)}:function($,tt,et){return tt<0&&(tt=$.length+tt),$.substr(tt,et)}}).call(this,et(4))}])},function($,tt,et){(function(tt){var At=et(453).Transform,nt=et(164);function DestroyableTransform($){At.call(this,$),this._destroyed=!1}function noop($,tt,et){et(null,$)}function through2($){return function(tt,et,At){return"function"==typeof tt&&(At=et,et=tt,tt={}),"function"!=typeof et&&(et=noop),"function"!=typeof At&&(At=null),$(tt,et,At)}}nt(DestroyableTransform,At),DestroyableTransform.prototype.destroy=function($){if(!this._destroyed){this._destroyed=!0;var et=this;tt.nextTick((function(){$&&et.emit("error",$),et.emit("close")}))}},$.exports=through2((function($,tt,et){var At=new DestroyableTransform($);return At._transform=tt,et&&(At._flush=et),At})),$.exports.ctor=through2((function($,tt,et){function Through2(tt){if(!(this instanceof Through2))return new Through2(tt);this.options=Object.assign({},$,tt),DestroyableTransform.call(this,this.options)}return nt(Through2,DestroyableTransform),Through2.prototype._transform=tt,et&&(Through2.prototype._flush=et),Through2})),$.exports.obj=through2((function($,tt,et){var At=new DestroyableTransform(Object.assign({objectMode:!0,highWaterMark:16},$));return At._transform=tt,et&&(At._flush=et),At}))}).call(this,et(172))},function($,tt,et){"use strict";(function(tt,At){var nt;$.exports=Readable,Readable.ReadableState=ReadableState;et(206).EventEmitter;var it=function EElistenerCount($,tt){return $.listeners(tt).length},at=et(320),rt=et(170).Buffer,st=tt.Uint8Array||function(){};var ot,ut=et(454);ot=ut&&ut.debuglog?ut.debuglog("stream"):function debug(){};var ct,dt,It,ht=et(455),pt=et(321),yt=et(322).getHighWaterMark,Ct=et(198).codes,Bt=Ct.ERR_INVALID_ARG_TYPE,Et=Ct.ERR_STREAM_PUSH_AFTER_EOF,mt=Ct.ERR_METHOD_NOT_IMPLEMENTED,Qt=Ct.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;et(164)(Readable,at);var bt=pt.errorOrDestroy,wt=["error","close","destroy","pause","resume"];function ReadableState($,tt,At){nt=nt||et(199),$=$||{},"boolean"!=typeof At&&(At=tt instanceof nt),this.objectMode=!!$.objectMode,At&&(this.objectMode=this.objectMode||!!$.readableObjectMode),this.highWaterMark=yt(this,$,"readableHighWaterMark",At),this.buffer=new ht,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==$.emitClose,this.autoDestroy=!!$.autoDestroy,this.destroyed=!1,this.defaultEncoding=$.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,$.encoding&&(ct||(ct=et(195).StringDecoder),this.decoder=new ct($.encoding),this.encoding=$.encoding)}function Readable($){if(nt=nt||et(199),!(this instanceof Readable))return new Readable($);var tt=this instanceof nt;this._readableState=new ReadableState($,this,tt),this.readable=!0,$&&("function"==typeof $.read&&(this._read=$.read),"function"==typeof $.destroy&&(this._destroy=$.destroy)),at.call(this)}function readableAddChunk($,tt,et,At,nt){ot("readableAddChunk",tt);var it,at=$._readableState;if(null===tt)at.reading=!1,function onEofChunk($,tt){if(ot("onEofChunk"),tt.ended)return;if(tt.decoder){var et=tt.decoder.end();et&&et.length&&(tt.buffer.push(et),tt.length+=tt.objectMode?1:et.length)}tt.ended=!0,tt.sync?emitReadable($):(tt.needReadable=!1,tt.emittedReadable||(tt.emittedReadable=!0,emitReadable_($)))}($,at);else if(nt||(it=function chunkInvalid($,tt){var et;(function _isUint8Array($){return rt.isBuffer($)||$ instanceof st})(tt)||"string"==typeof tt||void 0===tt||$.objectMode||(et=new Bt("chunk",["string","Buffer","Uint8Array"],tt));return et}(at,tt)),it)bt($,it);else if(at.objectMode||tt&&tt.length>0)if("string"==typeof tt||at.objectMode||Object.getPrototypeOf(tt)===rt.prototype||(tt=function _uint8ArrayToBuffer($){return rt.from($)}(tt)),At)at.endEmitted?bt($,new Qt):addChunk($,at,tt,!0);else if(at.ended)bt($,new Et);else{if(at.destroyed)return!1;at.reading=!1,at.decoder&&!et?(tt=at.decoder.write(tt),at.objectMode||0!==tt.length?addChunk($,at,tt,!1):maybeReadMore($,at)):addChunk($,at,tt,!1)}else At||(at.reading=!1,maybeReadMore($,at));return!at.ended&&(at.length<at.highWaterMark||0===at.length)}function addChunk($,tt,et,At){tt.flowing&&0===tt.length&&!tt.sync?(tt.awaitDrain=0,$.emit("data",et)):(tt.length+=tt.objectMode?1:et.length,At?tt.buffer.unshift(et):tt.buffer.push(et),tt.needReadable&&emitReadable($)),maybeReadMore($,tt)}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function get(){return void 0!==this._readableState&&this._readableState.destroyed},set:function set($){this._readableState&&(this._readableState.destroyed=$)}}),Readable.prototype.destroy=pt.destroy,Readable.prototype._undestroy=pt.undestroy,Readable.prototype._destroy=function($,tt){tt($)},Readable.prototype.push=function($,tt){var et,At=this._readableState;return At.objectMode?et=!0:"string"==typeof $&&((tt=tt||At.defaultEncoding)!==At.encoding&&($=rt.from($,tt),tt=""),et=!0),readableAddChunk(this,$,tt,!1,et)},Readable.prototype.unshift=function($){return readableAddChunk(this,$,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function($){ct||(ct=et(195).StringDecoder);var tt=new ct($);this._readableState.decoder=tt,this._readableState.encoding=this._readableState.decoder.encoding;for(var At=this._readableState.buffer.head,nt="";null!==At;)nt+=tt.write(At.data),At=At.next;return this._readableState.buffer.clear(),""!==nt&&this._readableState.buffer.push(nt),this._readableState.length=nt.length,this};function howMuchToRead($,tt){return $<=0||0===tt.length&&tt.ended?0:tt.objectMode?1:$!=$?tt.flowing&&tt.length?tt.buffer.head.data.length:tt.length:($>tt.highWaterMark&&(tt.highWaterMark=function computeNewHighWaterMark($){return $>=1073741824?$=1073741824:($--,$|=$>>>1,$|=$>>>2,$|=$>>>4,$|=$>>>8,$|=$>>>16,$++),$}($)),$<=tt.length?$:tt.ended?tt.length:(tt.needReadable=!0,0))}function emitReadable($){var tt=$._readableState;ot("emitReadable",tt.needReadable,tt.emittedReadable),tt.needReadable=!1,tt.emittedReadable||(ot("emitReadable",tt.flowing),tt.emittedReadable=!0,At.nextTick(emitReadable_,$))}function emitReadable_($){var tt=$._readableState;ot("emitReadable_",tt.destroyed,tt.length,tt.ended),tt.destroyed||!tt.length&&!tt.ended||($.emit("readable"),tt.emittedReadable=!1),tt.needReadable=!tt.flowing&&!tt.ended&&tt.length<=tt.highWaterMark,flow($)}function maybeReadMore($,tt){tt.readingMore||(tt.readingMore=!0,At.nextTick(maybeReadMore_,$,tt))}function maybeReadMore_($,tt){for(;!tt.reading&&!tt.ended&&(tt.length<tt.highWaterMark||tt.flowing&&0===tt.length);){var et=tt.length;if(ot("maybeReadMore read 0"),$.read(0),et===tt.length)break}tt.readingMore=!1}function updateReadableListening($){var tt=$._readableState;tt.readableListening=$.listenerCount("readable")>0,tt.resumeScheduled&&!tt.paused?tt.flowing=!0:$.listenerCount("data")>0&&$.resume()}function nReadingNextTick($){ot("readable nexttick read 0"),$.read(0)}function resume_($,tt){ot("resume",tt.reading),tt.reading||$.read(0),tt.resumeScheduled=!1,$.emit("resume"),flow($),tt.flowing&&!tt.reading&&$.read(0)}function flow($){var tt=$._readableState;for(ot("flow",tt.flowing);tt.flowing&&null!==$.read(););}function fromList($,tt){return 0===tt.length?null:(tt.objectMode?et=tt.buffer.shift():!$||$>=tt.length?(et=tt.decoder?tt.buffer.join(""):1===tt.buffer.length?tt.buffer.first():tt.buffer.concat(tt.length),tt.buffer.clear()):et=tt.buffer.consume($,tt.decoder),et);var et}function endReadable($){var tt=$._readableState;ot("endReadable",tt.endEmitted),tt.endEmitted||(tt.ended=!0,At.nextTick(endReadableNT,tt,$))}function endReadableNT($,tt){if(ot("endReadableNT",$.endEmitted,$.length),!$.endEmitted&&0===$.length&&($.endEmitted=!0,tt.readable=!1,tt.emit("end"),$.autoDestroy)){var et=tt._writableState;(!et||et.autoDestroy&&et.finished)&&tt.destroy()}}function indexOf($,tt){for(var et=0,At=$.length;et<At;et++)if($[et]===tt)return et;return-1}Readable.prototype.read=function($){ot("read",$),$=parseInt($,10);var tt=this._readableState,et=$;if(0!==$&&(tt.emittedReadable=!1),0===$&&tt.needReadable&&((0!==tt.highWaterMark?tt.length>=tt.highWaterMark:tt.length>0)||tt.ended))return ot("read: emitReadable",tt.length,tt.ended),0===tt.length&&tt.ended?endReadable(this):emitReadable(this),null;if(0===($=howMuchToRead($,tt))&&tt.ended)return 0===tt.length&&endReadable(this),null;var At,nt=tt.needReadable;return ot("need readable",nt),(0===tt.length||tt.length-$<tt.highWaterMark)&&ot("length less than watermark",nt=!0),tt.ended||tt.reading?ot("reading or ended",nt=!1):nt&&(ot("do read"),tt.reading=!0,tt.sync=!0,0===tt.length&&(tt.needReadable=!0),this._read(tt.highWaterMark),tt.sync=!1,tt.reading||($=howMuchToRead(et,tt))),null===(At=$>0?fromList($,tt):null)?(tt.needReadable=tt.length<=tt.highWaterMark,$=0):(tt.length-=$,tt.awaitDrain=0),0===tt.length&&(tt.ended||(tt.needReadable=!0),et!==$&&tt.ended&&endReadable(this)),null!==At&&this.emit("data",At),At},Readable.prototype._read=function($){bt(this,new mt("_read()"))},Readable.prototype.pipe=function($,tt){var et=this,nt=this._readableState;switch(nt.pipesCount){case 0:nt.pipes=$;break;case 1:nt.pipes=[nt.pipes,$];break;default:nt.pipes.push($)}nt.pipesCount+=1,ot("pipe count=%d opts=%j",nt.pipesCount,tt);var at=(!tt||!1!==tt.end)&&$!==At.stdout&&$!==At.stderr?onend:unpipe;function onunpipe(tt,At){ot("onunpipe"),tt===et&&At&&!1===At.hasUnpiped&&(At.hasUnpiped=!0,function cleanup(){ot("cleanup"),$.removeListener("close",onclose),$.removeListener("finish",onfinish),$.removeListener("drain",rt),$.removeListener("error",onerror),$.removeListener("unpipe",onunpipe),et.removeListener("end",onend),et.removeListener("end",unpipe),et.removeListener("data",ondata),st=!0,!nt.awaitDrain||$._writableState&&!$._writableState.needDrain||rt()}())}function onend(){ot("onend"),$.end()}nt.endEmitted?At.nextTick(at):et.once("end",at),$.on("unpipe",onunpipe);var rt=function pipeOnDrain($){return function pipeOnDrainFunctionResult(){var tt=$._readableState;ot("pipeOnDrain",tt.awaitDrain),tt.awaitDrain&&tt.awaitDrain--,0===tt.awaitDrain&&it($,"data")&&(tt.flowing=!0,flow($))}}(et);$.on("drain",rt);var st=!1;function ondata(tt){ot("ondata");var At=$.write(tt);ot("dest.write",At),!1===At&&((1===nt.pipesCount&&nt.pipes===$||nt.pipesCount>1&&-1!==indexOf(nt.pipes,$))&&!st&&(ot("false write response, pause",nt.awaitDrain),nt.awaitDrain++),et.pause())}function onerror(tt){ot("onerror",tt),unpipe(),$.removeListener("error",onerror),0===it($,"error")&&bt($,tt)}function onclose(){$.removeListener("finish",onfinish),unpipe()}function onfinish(){ot("onfinish"),$.removeListener("close",onclose),unpipe()}function unpipe(){ot("unpipe"),et.unpipe($)}return et.on("data",ondata),function prependListener($,tt,et){if("function"==typeof $.prependListener)return $.prependListener(tt,et);$._events&&$._events[tt]?Array.isArray($._events[tt])?$._events[tt].unshift(et):$._events[tt]=[et,$._events[tt]]:$.on(tt,et)}($,"error",onerror),$.once("close",onclose),$.once("finish",onfinish),$.emit("pipe",et),nt.flowing||(ot("pipe resume"),et.resume()),$},Readable.prototype.unpipe=function($){var tt=this._readableState,et={hasUnpiped:!1};if(0===tt.pipesCount)return this;if(1===tt.pipesCount)return $&&$!==tt.pipes?this:($||($=tt.pipes),tt.pipes=null,tt.pipesCount=0,tt.flowing=!1,$&&$.emit("unpipe",this,et),this);if(!$){var At=tt.pipes,nt=tt.pipesCount;tt.pipes=null,tt.pipesCount=0,tt.flowing=!1;for(var it=0;it<nt;it++)At[it].emit("unpipe",this,{hasUnpiped:!1});return this}var at=indexOf(tt.pipes,$);return-1===at?this:(tt.pipes.splice(at,1),tt.pipesCount-=1,1===tt.pipesCount&&(tt.pipes=tt.pipes[0]),$.emit("unpipe",this,et),this)},Readable.prototype.on=function($,tt){var et=at.prototype.on.call(this,$,tt),nt=this._readableState;return"data"===$?(nt.readableListening=this.listenerCount("readable")>0,!1!==nt.flowing&&this.resume()):"readable"===$&&(nt.endEmitted||nt.readableListening||(nt.readableListening=nt.needReadable=!0,nt.flowing=!1,nt.emittedReadable=!1,ot("on readable",nt.length,nt.reading),nt.length?emitReadable(this):nt.reading||At.nextTick(nReadingNextTick,this))),et},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function($,tt){var et=at.prototype.removeListener.call(this,$,tt);return"readable"===$&&At.nextTick(updateReadableListening,this),et},Readable.prototype.removeAllListeners=function($){var tt=at.prototype.removeAllListeners.apply(this,arguments);return"readable"!==$&&void 0!==$||At.nextTick(updateReadableListening,this),tt},Readable.prototype.resume=function(){var $=this._readableState;return $.flowing||(ot("resume"),$.flowing=!$.readableListening,function resume($,tt){tt.resumeScheduled||(tt.resumeScheduled=!0,At.nextTick(resume_,$,tt))}(this,$)),$.paused=!1,this},Readable.prototype.pause=function(){return ot("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(ot("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Readable.prototype.wrap=function($){var tt=this,et=this._readableState,At=!1;for(var nt in $.on("end",(function(){if(ot("wrapped end"),et.decoder&&!et.ended){var $=et.decoder.end();$&&$.length&&tt.push($)}tt.push(null)})),$.on("data",(function(nt){(ot("wrapped data"),et.decoder&&(nt=et.decoder.write(nt)),et.objectMode&&null==nt)||(et.objectMode||nt&&nt.length)&&(tt.push(nt)||(At=!0,$.pause()))})),$)void 0===this[nt]&&"function"==typeof $[nt]&&(this[nt]=function methodWrap(tt){return function methodWrapReturnFunction(){return $[tt].apply($,arguments)}}(nt));for(var it=0;it<wt.length;it++)$.on(wt[it],this.emit.bind(this,wt[it]));return this._read=function(tt){ot("wrapped _read",tt),At&&(At=!1,$.resume())},this},"function"==typeof Symbol&&(Readable.prototype[Symbol.asyncIterator]=function(){return void 0===dt&&(dt=et(457)),dt(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function get(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function get(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function get(){return this._readableState.flowing},set:function set($){this._readableState&&(this._readableState.flowing=$)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function get(){return this._readableState.length}}),"function"==typeof Symbol&&(Readable.from=function($,tt){return void 0===It&&(It=et(458)),It(Readable,$,tt)})}).call(this,et(21),et(172))},function($,tt,et){$.exports=et(206).EventEmitter},function($,tt,et){"use strict";(function(tt){function emitErrorAndCloseNT($,tt){emitErrorNT($,tt),emitCloseNT($)}function emitCloseNT($){$._writableState&&!$._writableState.emitClose||$._readableState&&!$._readableState.emitClose||$.emit("close")}function emitErrorNT($,tt){$.emit("error",tt)}$.exports={destroy:function destroy($,et){var At=this,nt=this._readableState&&this._readableState.destroyed,it=this._writableState&&this._writableState.destroyed;return nt||it?(et?et($):$&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,tt.nextTick(emitErrorNT,this,$)):tt.nextTick(emitErrorNT,this,$)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy($||null,(function($){!et&&$?At._writableState?At._writableState.errorEmitted?tt.nextTick(emitCloseNT,At):(At._writableState.errorEmitted=!0,tt.nextTick(emitErrorAndCloseNT,At,$)):tt.nextTick(emitErrorAndCloseNT,At,$):et?(tt.nextTick(emitCloseNT,At),et($)):tt.nextTick(emitCloseNT,At)})),this)},undestroy:function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function errorOrDestroy($,tt){var et=$._readableState,At=$._writableState;et&&et.autoDestroy||At&&At.autoDestroy?$.destroy(tt):$.emit("error",tt)}}}).call(this,et(172))},function($,tt,et){"use strict";var At=et(198).codes.ERR_INVALID_OPT_VALUE;$.exports={getHighWaterMark:function getHighWaterMark($,tt,et,nt){var it=function highWaterMarkFrom($,tt,et){return null!=$.highWaterMark?$.highWaterMark:tt?$[et]:null}(tt,nt,et);if(null!=it){if(!isFinite(it)||Math.floor(it)!==it||it<0)throw new At(nt?et:"highWaterMark",it);return Math.floor(it)}return $.objectMode?16:16384}}},function($,tt,et){"use strict";(function(tt,At){function CorkedRequest($){var tt=this;this.next=null,this.entry=null,this.finish=function(){!function onCorkedFinish($,tt,et){var At=$.entry;$.entry=null;for(;At;){var nt=At.callback;tt.pendingcb--,nt(et),At=At.next}tt.corkedRequestsFree.next=$}(tt,$)}}var nt;$.exports=Writable,Writable.WritableState=WritableState;var it={deprecate:et(277)},at=et(320),rt=et(170).Buffer,st=tt.Uint8Array||function(){};var ot,ut=et(321),ct=et(322).getHighWaterMark,dt=et(198).codes,It=dt.ERR_INVALID_ARG_TYPE,ht=dt.ERR_METHOD_NOT_IMPLEMENTED,pt=dt.ERR_MULTIPLE_CALLBACK,yt=dt.ERR_STREAM_CANNOT_PIPE,Ct=dt.ERR_STREAM_DESTROYED,Bt=dt.ERR_STREAM_NULL_VALUES,Et=dt.ERR_STREAM_WRITE_AFTER_END,mt=dt.ERR_UNKNOWN_ENCODING,Qt=ut.errorOrDestroy;function nop(){}function WritableState($,tt,it){nt=nt||et(199),$=$||{},"boolean"!=typeof it&&(it=tt instanceof nt),this.objectMode=!!$.objectMode,it&&(this.objectMode=this.objectMode||!!$.writableObjectMode),this.highWaterMark=ct(this,$,"writableHighWaterMark",it),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var at=!1===$.decodeStrings;this.decodeStrings=!at,this.defaultEncoding=$.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function($){!function onwrite($,tt){var et=$._writableState,nt=et.sync,it=et.writecb;if("function"!=typeof it)throw new pt;if(function onwriteStateUpdate($){$.writing=!1,$.writecb=null,$.length-=$.writelen,$.writelen=0}(et),tt)!function onwriteError($,tt,et,nt,it){--tt.pendingcb,et?(At.nextTick(it,nt),At.nextTick(finishMaybe,$,tt),$._writableState.errorEmitted=!0,Qt($,nt)):(it(nt),$._writableState.errorEmitted=!0,Qt($,nt),finishMaybe($,tt))}($,et,nt,tt,it);else{var at=needFinish(et)||$.destroyed;at||et.corked||et.bufferProcessing||!et.bufferedRequest||clearBuffer($,et),nt?At.nextTick(afterWrite,$,et,at,it):afterWrite($,et,at,it)}}(tt,$)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==$.emitClose,this.autoDestroy=!!$.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable($){var tt=this instanceof(nt=nt||et(199));if(!tt&&!ot.call(Writable,this))return new Writable($);this._writableState=new WritableState($,this,tt),this.writable=!0,$&&("function"==typeof $.write&&(this._write=$.write),"function"==typeof $.writev&&(this._writev=$.writev),"function"==typeof $.destroy&&(this._destroy=$.destroy),"function"==typeof $.final&&(this._final=$.final)),at.call(this)}function doWrite($,tt,et,At,nt,it,at){tt.writelen=At,tt.writecb=at,tt.writing=!0,tt.sync=!0,tt.destroyed?tt.onwrite(new Ct("write")):et?$._writev(nt,tt.onwrite):$._write(nt,it,tt.onwrite),tt.sync=!1}function afterWrite($,tt,et,At){et||function onwriteDrain($,tt){0===tt.length&&tt.needDrain&&(tt.needDrain=!1,$.emit("drain"))}($,tt),tt.pendingcb--,At(),finishMaybe($,tt)}function clearBuffer($,tt){tt.bufferProcessing=!0;var et=tt.bufferedRequest;if($._writev&&et&&et.next){var At=tt.bufferedRequestCount,nt=new Array(At),it=tt.corkedRequestsFree;it.entry=et;for(var at=0,rt=!0;et;)nt[at]=et,et.isBuf||(rt=!1),et=et.next,at+=1;nt.allBuffers=rt,doWrite($,tt,!0,tt.length,nt,"",it.finish),tt.pendingcb++,tt.lastBufferedRequest=null,it.next?(tt.corkedRequestsFree=it.next,it.next=null):tt.corkedRequestsFree=new CorkedRequest(tt),tt.bufferedRequestCount=0}else{for(;et;){var st=et.chunk,ot=et.encoding,ut=et.callback;if(doWrite($,tt,!1,tt.objectMode?1:st.length,st,ot,ut),et=et.next,tt.bufferedRequestCount--,tt.writing)break}null===et&&(tt.lastBufferedRequest=null)}tt.bufferedRequest=et,tt.bufferProcessing=!1}function needFinish($){return $.ending&&0===$.length&&null===$.bufferedRequest&&!$.finished&&!$.writing}function callFinal($,tt){$._final((function(et){tt.pendingcb--,et&&Qt($,et),tt.prefinished=!0,$.emit("prefinish"),finishMaybe($,tt)}))}function finishMaybe($,tt){var et=needFinish(tt);if(et&&(function prefinish($,tt){tt.prefinished||tt.finalCalled||("function"!=typeof $._final||tt.destroyed?(tt.prefinished=!0,$.emit("prefinish")):(tt.pendingcb++,tt.finalCalled=!0,At.nextTick(callFinal,$,tt)))}($,tt),0===tt.pendingcb&&(tt.finished=!0,$.emit("finish"),tt.autoDestroy))){var nt=$._readableState;(!nt||nt.autoDestroy&&nt.endEmitted)&&$.destroy()}return et}et(164)(Writable,at),WritableState.prototype.getBuffer=function getBuffer(){for(var $=this.bufferedRequest,tt=[];$;)tt.push($),$=$.next;return tt},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:it.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch($){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(ot=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function value($){return!!ot.call(this,$)||this===Writable&&($&&$._writableState instanceof WritableState)}})):ot=function realHasInstance($){return $ instanceof this},Writable.prototype.pipe=function(){Qt(this,new yt)},Writable.prototype.write=function($,tt,et){var nt=this._writableState,it=!1,at=!nt.objectMode&&function _isUint8Array($){return rt.isBuffer($)||$ instanceof st}($);return at&&!rt.isBuffer($)&&($=function _uint8ArrayToBuffer($){return rt.from($)}($)),"function"==typeof tt&&(et=tt,tt=null),at?tt="buffer":tt||(tt=nt.defaultEncoding),"function"!=typeof et&&(et=nop),nt.ending?function writeAfterEnd($,tt){var et=new Et;Qt($,et),At.nextTick(tt,et)}(this,et):(at||function validChunk($,tt,et,nt){var it;return null===et?it=new Bt:"string"==typeof et||tt.objectMode||(it=new It("chunk",["string","Buffer"],et)),!it||(Qt($,it),At.nextTick(nt,it),!1)}(this,nt,$,et))&&(nt.pendingcb++,it=function writeOrBuffer($,tt,et,At,nt,it){if(!et){var at=function decodeChunk($,tt,et){$.objectMode||!1===$.decodeStrings||"string"!=typeof tt||(tt=rt.from(tt,et));return tt}(tt,At,nt);At!==at&&(et=!0,nt="buffer",At=at)}var st=tt.objectMode?1:At.length;tt.length+=st;var ot=tt.length<tt.highWaterMark;ot||(tt.needDrain=!0);if(tt.writing||tt.corked){var ut=tt.lastBufferedRequest;tt.lastBufferedRequest={chunk:At,encoding:nt,isBuf:et,callback:it,next:null},ut?ut.next=tt.lastBufferedRequest:tt.bufferedRequest=tt.lastBufferedRequest,tt.bufferedRequestCount+=1}else doWrite($,tt,!1,st,At,nt,it);return ot}(this,nt,at,$,tt,et)),it},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var $=this._writableState;$.corked&&($.corked--,$.writing||$.corked||$.bufferProcessing||!$.bufferedRequest||clearBuffer(this,$))},Writable.prototype.setDefaultEncoding=function setDefaultEncoding($){if("string"==typeof $&&($=$.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf(($+"").toLowerCase())>-1))throw new mt($);return this._writableState.defaultEncoding=$,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Writable.prototype._write=function($,tt,et){et(new ht("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function($,tt,et){var nt=this._writableState;return"function"==typeof $?(et=$,$=null,tt=null):"function"==typeof tt&&(et=tt,tt=null),null!=$&&this.write($,tt),nt.corked&&(nt.corked=1,this.uncork()),nt.ending||function endWritable($,tt,et){tt.ending=!0,finishMaybe($,tt),et&&(tt.finished?At.nextTick(et):$.once("finish",et));tt.ended=!0,$.writable=!1}(this,nt,et),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function get(){return void 0!==this._writableState&&this._writableState.destroyed},set:function set($){this._writableState&&(this._writableState.destroyed=$)}}),Writable.prototype.destroy=ut.destroy,Writable.prototype._undestroy=ut.undestroy,Writable.prototype._destroy=function($,tt){tt($)}}).call(this,et(21),et(172))},function($,tt,et){"use strict";$.exports=Transform;var At=et(198).codes,nt=At.ERR_METHOD_NOT_IMPLEMENTED,it=At.ERR_MULTIPLE_CALLBACK,at=At.ERR_TRANSFORM_ALREADY_TRANSFORMING,rt=At.ERR_TRANSFORM_WITH_LENGTH_0,st=et(199);function afterTransform($,tt){var et=this._transformState;et.transforming=!1;var At=et.writecb;if(null===At)return this.emit("error",new it);et.writechunk=null,et.writecb=null,null!=tt&&this.push(tt),At($);var nt=this._readableState;nt.reading=!1,(nt.needReadable||nt.length<nt.highWaterMark)&&this._read(nt.highWaterMark)}function Transform($){if(!(this instanceof Transform))return new Transform($);st.call(this,$),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,$&&("function"==typeof $.transform&&(this._transform=$.transform),"function"==typeof $.flush&&(this._flush=$.flush)),this.on("prefinish",prefinish)}function prefinish(){var $=this;"function"!=typeof this._flush||this._readableState.destroyed?done(this,null,null):this._flush((function(tt,et){done($,tt,et)}))}function done($,tt,et){if(tt)return $.emit("error",tt);if(null!=et&&$.push(et),$._writableState.length)throw new rt;if($._transformState.transforming)throw new at;return $.push(null)}et(164)(Transform,st),Transform.prototype.push=function($,tt){return this._transformState.needTransform=!1,st.prototype.push.call(this,$,tt)},Transform.prototype._transform=function($,tt,et){et(new nt("_transform()"))},Transform.prototype._write=function($,tt,et){var At=this._transformState;if(At.writecb=et,At.writechunk=$,At.writeencoding=tt,!At.transforming){var nt=this._readableState;(At.needTransform||nt.needReadable||nt.length<nt.highWaterMark)&&this._read(nt.highWaterMark)}},Transform.prototype._read=function($){var tt=this._transformState;null===tt.writechunk||tt.transforming?tt.needTransform=!0:(tt.transforming=!0,this._transform(tt.writechunk,tt.writeencoding,tt.afterTransform))},Transform.prototype._destroy=function($,tt){st.prototype._destroy.call(this,$,(function($){tt($)}))}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function($,tt,et){const At=et(194),nt=et(187),it=et(183),at=et(184),{LogMessage:rt}=et(204),st={SPACE:"space",LIBRARY:"library",TYPE:"type",OBJECT:"object",WALLET:"wallet",GROUP:"group",ACCESSIBLE:"accessible",EDITABLE:"editable",TENANT:"tenant",OTHER:"other"},ot={v2:{[st.SPACE]:et(360),[st.LIBRARY]:et(361),[st.TYPE]:et(362),[st.OBJECT]:et(363),[st.WALLET]:et(364),[st.GROUP]:et(365),[st.ACCESSIBLE]:et(366),[st.EDITABLE]:et(367)},v3:{[st.SPACE]:et(368),[st.LIBRARY]:et(369),[st.TYPE]:et(370),[st.OBJECT]:et(371),[st.WALLET]:et(372),[st.GROUP]:et(373),[st.ACCESSIBLE]:et(270),[st.EDITABLE]:et(374),[st.TENANT]:et(375)}};$.exports=class AuthorizationClient{Log($,tt=!1){rt(this,$,tt)}constructor({client:$,contentSpaceId:tt,debug:et=!1,noCache:At=!1,noAuth:nt=!1}){this.ACCESS_TYPES=st,this.CONTRACTS=ot,this.client=$,this.contentSpaceId=tt,this.noCache=At,this.noAuth=nt,this.debug=et,this.accessTransactions={},this.modifyTransactions={},this.transactionLocks={},this.methodAvailability={},this.accessVersions={},this.accessTypes={},this.channelContentTokens={},this.encryptionKeys={},this.reencryptionKeys={},this.requestIds={},this.providers={}}async AuthorizationHeader($){const tt={Authorization:"Bearer "+await this.AuthorizationToken($)};return $.encryption&&"none"!==$.encryption&&(tt["X-Content-Fabric-Encryption-Scheme"]=$.encryption),tt}async AuthorizationToken({libraryId:$,objectId:tt,versionHash:et,partHash:At,encryption:nt,audienceData:it,context:at,update:rt=!1,channelAuth:st=!1,oauthToken:ot,noCache:ut=!1,noAuth:ct=!1}){et&&(tt=this.client.utils.DecodeVersionHash(et).objectId);const dt=tt&&this.client.signer&&this.client.utils.EqualAddress(await this.client.userProfileClient.WalletAddress(!1),this.client.utils.HashToAddress(tt));if(this.client.staticToken&&!dt)return this.client.staticToken;const It=this.noCache;try{let dt;return ut&&!this.noCache&&(this.noCache=!0),dt=st?await this.GenerateChannelContentToken({objectId:tt,versionHash:et,audienceData:it,context:at,oauthToken:ot}):await this.GenerateAuthorizationToken({libraryId:$,objectId:tt,versionHash:et,partHash:At,encryption:nt,update:rt,noAuth:ct}),dt}catch($){throw $}finally{this.noCache=It}}async GenerateAuthorizationToken({libraryId:$,objectId:tt,versionHash:et,partHash:At,encryption:at,update:rt=!1,noAuth:ot=!1}){let ut;if(et&&(tt=it.DecodeVersionHash(et).objectId),at&&"none"!==at&&tt&&await this.AccessType(tt)===st.OBJECT){const et=await this.Owner({id:tt});if(!it.EqualAddress(et,this.client.signer.address)){ut=(await this.ReEncryptionConk({libraryId:$,objectId:tt})).public_key}}let ct={qspace_id:this.contentSpaceId,addr:it.FormatAddress(this.client.signer&&this.client.signer.address||"")};if(!this.noAuth&&!ot){const{transactionHash:At}=await this.MakeAccessRequest({libraryId:$,objectId:tt,versionHash:et,update:rt,publicKey:ut,noCache:this.noCache,noAuth:this.noAuth||ot});At&&(ct.tx_id=At)}$&&(ct.qlib_id=$),At&&(ct.qphash=At),ut&&(ct.afgh_pk=ut),ct=it.B64(JSON.stringify(ct));const dt=await this.Sign(nt.utils.keccak256(nt.utils.toUtf8Bytes(ct))),It=it.FormatSignature(dt);return`${ct}.${it.B64(It)}`}async MakeAccessRequest({libraryId:$,objectId:tt,versionHash:et,args:At=[],publicKey:nt="",update:at=!1,skipCache:rt=!1,noCache:st=!1,cacheOnly:ot}){if(!this.client.signer)return{transactionHash:""};if(!await this.client.userProfileClient.UserWalletAddress({address:this.client.signer.address})){if(!await this.client.userProfileClient.WalletAddress())throw Error("User wallet contract is required to make access requests")}et&&(tt=it.DecodeVersionHash(et).objectId);const ut=tt||$||this.contentSpaceId,{isV3:ct,accessType:dt,abi:It}=await this.ContractInfo({id:ut});if(void 0===dt)throw Error(`Unable to determine contract info for ${ut} (${this.client.utils.HashToAddress(ut)}) - Wrong network?`);const{accessArgs:ht,checkAccessCharge:pt}=await this.AccessInfo({accessType:dt,publicKey:nt,update:at,args:At,isV3:ct}),yt=it.HashToAddress(ut);let Ct=0;for(;this.transactionLocks[ut];)await new Promise($=>setTimeout($,100)),Ct+=100,Ct>15e3&&(this.Log(`Lock never released for ${ut} - releasing lock`),delete this.transactionLocks[ut]);try{if(this.transactionLocks[ut]=!0,!st&&!rt){let $=at?this.modifyTransactions:this.accessTransactions;if($[yt]){if($[yt].issuedAt>Date.now()-432e5)return $[yt];delete $[yt]}}if(ot)return;let $;at?(this.Log(`Making update request on ${dt} ${ut}`),$=await this.UpdateRequest({id:ut,abi:It})):(this.Log(`Making access request on ${dt} ${ut}`),$=await this.AccessRequest({id:ut,args:ht,checkAccessCharge:pt}));const tt=at?this.modifyTransactions:this.accessTransactions;try{return st||(tt[yt]={issuedAt:Date.now(),transactionHash:$.transactionHash},$.logs.some($=>{if($.values&&($.values.requestID||$.values.requestNonce))return this.requestIds[yt]=($.values.requestID||$.values.requestNonce||"").toString().replace(/^0x/,""),!0})),$}catch($){throw st||delete tt[yt],$}}finally{delete this.transactionLocks[ut]}}async AccessRequest({id:$,args:tt=[],checkAccessCharge:et=!1}){const{isV3:At,accessType:nt,abi:at}=await this.ContractInfo({id:$});let rt,ot,ut=0;if(et&&nt===st.OBJECT){const et=await this.Owner({id:$,abi:at});if(!it.EqualAddress(this.client.signer.address,et))try{const et=At?[0,[],[]]:[tt[0],tt[3],tt[4]];ut=it.WeiToEther(await this.GetAccessCharge({objectId:$,args:et}))}catch(tt){this.Log("Failed to get access charge for",$),this.Log(tt)}}ut>0&&this.Log(`Access charge: ${ut}`);const ct=it.HashToAddress($);if(ot=At?"accessRequestV3":"accessRequest",!await this.ContractHasMethod({contractAddress:ct,abi:at,methodName:ot}))return this.Log(`${nt} ${$} has no ${ot} method. Skipping`),{transactionHash:"",logs:[]};if(rt=await this.client.CallContractMethodAndWait({contractAddress:ct,abi:at,methodName:ot,methodArgs:tt,value:ut}),0===rt.logs.length)throw Error(`Access denied (${$})`);return rt}async UpdateRequest({id:$,abi:tt}){const et=await this.client.CallContractMethodAndWait({contractAddress:it.HashToAddress($),abi:tt,methodName:"updateRequest",methodArgs:[]}),At=this.client.ExtractEventFromLogs({abi:tt,event:et,eventName:"UpdateRequest"});if(0===et.logs.length||!At)throw Error(`Update request denied for ${$}`);return et}AudienceData({objectId:$,versionHash:tt,protocols:et=[],drms:At=[],context:nt}){if(this.Log(`Retrieving audience data: ${$}`),nt=nt||this.client.authContext||{},Object.values(nt).find($=>"string"!=typeof $))throw Error("Context must be a map of string->string");let at={user_address:it.FormatAddress(this.client.signer.address),content_id:$||it.DecodeVersionHash(tt).id,content_hash:tt,hostname:this.client.HttpClient.BaseURI().hostname(),access_time:Math.round((new Date).getTime()).toString(),format:et.join(","),drm:At.join(","),...nt};return"undefined"!=typeof window&&window.navigator&&(at.user_string=window.navigator.userAgent,at.language=window.navigator.language),this.Log(at),at}async GenerateChannelContentToken({objectId:$,versionHash:tt,issuer:et,code:At,email:rt,audienceData:st,context:ot,oauthToken:ut,value:ct=0}){if(ut)return await this.GenerateOauthChannelToken({objectId:$,token:ut});if(!this.noCache&&this.channelContentTokens[$]){if(this.channelContentTokens[$].issuedAt>Date.now()-432e5)return this.channelContentTokens[$].token;delete this.channelContentTokens[$]}let dt;if(this.Log(`Making state channel access request: ${$}`),et){const tt=et.replace(/^\//,"").split("/")[2];let nt;try{if(nt=await this.client.CallContractMethod({contractAddress:it.HashToAddress(tt),methodName:"addressKMS"}),!nt)throw""}catch($){nt=await this.client.DefaultKMSAddress()}try{dt=await it.ResponseToFormat("text",this.MakeAuthServiceRequest({kmsId:"ikms"+it.AddressToHash(nt),method:"POST",path:at("as",et),body:{_PASSWORD:At,_EMAIL:rt}}))}catch($){this.Log("/as token redemption failed:",!0),this.Log($,!0),dt=await it.ResponseToFormat("text",this.MakeKMSRequest({kmsId:"ikms"+it.AddressToHash(nt),method:"POST",path:at("ks",et),body:{_PASSWORD:At,_EMAIL:rt}}))}$=JSON.parse(it.FromB64(dt)).qid}else{st||(st=this.AudienceData({objectId:$,versionHash:tt,context:ot}));const et="elv_channelContentRequestContext",At=[JSON.stringify(st)],at=await this.MakeKMSCall({objectId:$,methodName:et,paramTypes:["address","address","uint","uint"],params:[this.client.signer.address,it.HashToAddress($),ct,Date.now()],additionalParams:At}),rt=await this.Sign(nt.utils.keccak256(nt.utils.toUtf8Bytes(at))),ut=it.FormatSignature(rt);dt=`${at}.${it.B64(ut)}`}return this.noCache||(this.channelContentTokens[$]={token:dt,issuedAt:Date.now()}),dt}async ChannelContentFinalize({objectId:$,versionHash:tt,percent:et=0}){this.Log(`Making state channel finalize request: ${$}`);const At=await this.MakeKMSCall({objectId:$,methodName:"elv_channelContentFinalizeContext",paramTypes:["address","address","uint","uint"],params:[this.client.signer.address,it.HashToAddress($),et,Date.now()],additionalParams:[JSON.stringify(this.AudienceData({objectId:$,versionHash:tt}))]});return this.channelContentTokens[$]=void 0,At}async GenerateOauthChannelToken({objectId:$,versionHash:tt,token:et}){if(tt&&($=it.DecodeVersionHash(tt).objectId),!this.noCache&&this.channelContentTokens[$]){if(this.channelContentTokens[$].issuedAt>Date.now()-432e5)return this.channelContentTokens[$].token;this.channelContentTokens[$]=void 0}const At=await(await this.MakeKMSRequest({objectId:$,versionHash:tt,method:"GET",path:at("ks","jwt","q",$),bodyType:"NONE",headers:{Authorization:`Bearer ${et}`}})).text();return this.noCache||(this.channelContentTokens[$]={token:At,issuedAt:Date.now()}),At}async IsV3({id:$}){const tt=await this.client.ethClient.ContractName(it.HashToAddress($),!0);return this.accessVersions[tt]||(this.accessVersions[tt]=this.ContractHasMethod({contractAddress:this.client.utils.HashToAddress($),abi:this.CONTRACTS.v3[this.ACCESS_TYPES.ACCESSIBLE].abi,methodName:"accessRequestV3"})),await this.accessVersions[tt]}async AccessInfo({accessType:$,publicKey:tt,args:et,isV3:At}){let nt=!1;return $===st.OBJECT&&(nt=!0,At||(et&&et.length>0?et[1]=this.client.signer.signingKey?this.client.signer.signingKey.publicKey:"":et=[0,this.client.signer.signingKey?this.client.signer.signingKey.publicKey:"",tt,[],[]])),!At||et&&0!==et.length||(et=[[],[]]),{accessArgs:et,checkAccessCharge:nt}}async AccessType($){const tt=await this.client.ethClient.ContractName(it.HashToAddress($));if(!this.accessTypes[$]){let et;switch(tt){case"BaseContentSpace":et=st.SPACE;break;case"BaseLibrary":et=st.LIBRARY;break;case"BaseContentType":et=st.TYPE;break;case"BsAccessWallet":et=st.WALLET;break;case"BsAccessCtrlGrp":et=st.GROUP;break;case"BaseContent":et=st.OBJECT;break;case"BaseTenantSpace":et=st.TENANT;break;default:et=st.OTHER}this.accessTypes[$]=et}return this.accessTypes[$]}async AccessComplete({id:$,score:tt}){this.Log(`Calling access complete on ${$} with score ${tt}`);const{abi:et,isV3:At}=await this.ContractInfo({id:$}),nt=it.HashToAddress($),at=this.requestIds[nt];if(!at)throw Error("Unknown request ID for "+$);let rt;return rt=At?await this.client.CallContractMethodAndWait({contractAddress:nt,abi:et,methodName:"accessCompleteV3",methodArgs:[at,[],[]]}):await this.client.CallContractMethodAndWait({contractAddress:nt,abi:et,methodName:At?"accessCompleteV3":"accessComplete",methodArgs:[at,tt,""]}),delete this.requestIds[nt],delete this.accessTransactions[nt],rt}async ContractInfo({id:$,address:tt}){tt||(tt=it.HashToAddress($)),$||($=it.AddressToObjectId(tt));const et=await this.IsV3({id:$}),At=et?"v3":"v2",nt=await this.AccessType($);return nt===this.ACCESS_TYPES.OTHER?{}:{isV3:et,accessType:nt,abi:this.CONTRACTS[At][nt].abi}}async GetAccessCharge({objectId:$,args:tt}){const{abi:et}=await this.ContractInfo({id:$}),At=await this.client.CallContractMethod({contractAddress:it.HashToAddress($),abi:et,methodName:"getAccessInfo",methodArgs:tt});return 0===At[1]?0:At[2]}async Owner({id:$,address:tt}){if(!this.client.signer)return!1;$&&(tt=it.HashToAddress($));const et=await this.client.CallContractMethod({contractAddress:tt,methodName:"owner",methodArgs:[]});return it.FormatAddress(et)}async Sign($){return await nt.utils.joinSignature(this.client.signer.signDigest?await this.client.signer.signDigest($):await this.client.signer.signingKey.signDigest($))}async KMSAddress({objectId:$,versionHash:tt}){tt&&($=it.DecodeVersionHash(tt).objectId);const{abi:et}=await this.ContractInfo({id:$});if(!et)throw Error(`Unable to determine contract info for ${$} - wrong network?`);return await this.client.CallContractMethod({contractAddress:it.HashToAddress($),abi:et,methodName:"addressKMS"})}async KMSInfo({objectId:$,versionHash:tt,kmsId:et}){let At;if(et){const{abi:$}=await this.ContractInfo({address:this.client.contentSpaceAddress});At=await this.client.CallContractMethod({contractAddress:this.client.contentSpaceAddress,abi:$,methodName:"getKMSInfo",methodArgs:[et,[]],formatArguments:!1})}else{tt&&($=it.DecodeVersionHash(tt).objectId);const{abi:et}=await this.ContractInfo({id:$});At=await this.client.CallContractMethod({contractAddress:it.HashToAddress($),abi:et,methodName:"getKMSInfo",methodArgs:[[]],formatArguments:!1})}const at=nt.utils.computePublicKey(it.HashToAddress(At[1]),!1);return{urls:At[0].split(","),publicKey:at}}async RetrieveConk({libraryId:$,objectId:tt}){$||($=await this.client.ContentObjectLibraryId({objectId:tt}));const et=await this.KMSAddress({objectId:tt}),At=`eluv.caps.ikms${it.AddressToHash(et)}`,nt=await this.client.ContentObjectMetadata({libraryId:$,objectId:tt,metadataSubtree:At});if(!nt)throw Error("No KMS key set for this object");const at=await this.MakeKMSCall({objectId:tt,methodName:"elv_getEncryptionKey",paramTypes:["string","string","string","string","string"],params:[this.client.contentSpaceId,$,tt,nt||"",""]});return JSON.parse(it.FromB58(at.replace(/^kp__/,"")).toString("utf-8"))}async RetrieveReencryptionSymmetricKey({libraryId:$,objectId:tt}){$||($=await this.client.ContentObjectLibraryId({objectId:tt}));const et=await this.KMSAddress({objectId:tt}),At=`eluv.caps.ikms${it.AddressToHash(et)}`,nt=await this.client.ContentObjectMetadata({libraryId:$,objectId:tt,metadataSubtree:At});if(!nt)throw Error("No KMS key set for this object");return await this.MakeKMSCall({objectId:tt,methodName:"elv_getSymmetricKeyAuth",paramTypes:["string","string","string","string","string"],params:[this.client.contentSpaceId,$,tt,nt||"",""]})}async MakeKMSCall({kmsId:$,tenantId:tt,objectId:et,versionHash:At,methodName:at,params:rt,paramTypes:st,additionalParams:ot=[],signature:ut=!0}){if(At&&(et=it.DecodeVersionHash(At).objectId),et||($=`ikms${it.AddressToHash(await this.client.DefaultKMSAddress({tenantId:tt}))}`),ut){const $=nt.utils.solidityKeccak256(st,rt);rt.push(await this.Sign($))}rt=rt.concat(ot);const ct=(await this.KMSInfo({kmsId:$,objectId:et,versionHash:At})).urls;for(let $=0;$<ct.length;$++)try{this.Log(`Making KMS request:\n URL: ${ct[$]}\n Method: ${at}\n Params: ${rt.join(", ")}`);const tt=ct[$];return this.providers[tt]||(this.providers[tt]=new nt.providers.JsonRpcProvider(tt,this.client.networkId)),await this.providers[tt].send(at,rt)}catch(tt){if(this.Log(`KMS Call Error: ${tt}`,!0),$===ct.length-1)throw tt}}async MakeAuthServiceRequest({kmsId:$,objectId:tt,versionHash:et,method:At="GET",path:nt,bodyType:it,body:at={},queryParams:rt={},headers:st}){return 0===this.client.authServiceURIs.length?await this.MakeKMSRequest({kmsId:$,objectId:tt,versionHash:et,method:At,path:nt,bodyType:it,body:at,queryParams:rt,headers:st}):await this.client.AuthHttpClient.Request({method:At,path:nt,bodyType:it,body:at,headers:st,queryParams:rt})}async MakeKMSRequest({kmsId:$,objectId:tt,versionHash:et,method:nt="GET",path:at,bodyType:rt,body:st={},queryParams:ot={},headers:ut}){et&&(tt=it.DecodeVersionHash(et).objectId),tt||$||($=`ikms${it.AddressToHash(await this.client.DefaultKMSAddress())}`);const ct=(await this.KMSInfo({kmsId:$,objectId:tt,versionHash:et})).urls;if(!ct||!ct[0])throw Error(`No KMS info set for ${et||tt||"default KMS"}`);const dt=new At({uris:ct});return await dt.Request({method:nt,path:at,bodyType:rt,body:st,headers:ut,queryParams:ot})}async ContractHasMethod({contractAddress:$,abi:tt,methodName:et}){const At=`${$=it.FormatAddress($)}-${et}`;if(void 0===this.methodAvailability[At]){if(this.Log(`Checking method availability: ${$} ${et}`),tt||(tt=(await this.ContractInfo({address:$})).abi),!tt)throw Error(`No ABI for contract ${$} - Wrong network or deleted item?`);const it=tt.find($=>$.name===et);if(!it)return!1;const at=`${it.name}(${it.inputs.map($=>$.type).join(",")})`,rt=nt.utils.keccak256(nt.utils.toUtf8Bytes(at)).replace("0x","").slice(0,8);this.methodAvailability[At]=await this.MakeElvMasterCall({methodName:"elv_deployedContractHasMethod",params:[$,rt]})}return this.methodAvailability[At]}async MakeElvMasterCall({methodName:$,params:tt}){return await this.client.ethClient.MakeProviderCall({methodName:"send",args:[$,tt]})}async ReEncryptionConk({libraryId:$,objectId:tt,versionHash:et}){if(et&&(tt=it.DecodeVersionHash(et).objectId),!this.reencryptionKeys[tt]){let et=await this.client.Crypto.GenerateTargetConk();et.symm_key=await this.RetrieveReencryptionSymmetricKey({libraryId:$,objectId:tt}),this.reencryptionKeys[tt]=et}return this.reencryptionKeys[tt]}async EncryptionConk({libraryId:$,objectId:tt,versionHash:et}){if(et&&(tt=it.DecodeVersionHash(et).objectId),$||($=await this.client.ContentObjectLibraryId({objectId:tt})),!this.encryptionKeys[tt]){const et=await this.RetrieveConk({libraryId:$,objectId:tt}),{secret_key:At}=await this.client.Crypto.GeneratePrimaryConk({objectId:tt});et.secret_key=At,this.encryptionKeys[tt]=et}return this.encryptionKeys[tt]}async RecordTags({accessType:$,libraryId:tt,objectId:et,versionHash:At}){if($!==st.OBJECT)return;const{abi:nt}=await this.ContractInfo({id:et}),at=await this.Owner({id:et,abi:nt});it.EqualAddress(at,this.client.signer.address)||await this.client.userProfileClient.RecordTags({libraryId:tt,objectId:et,versionHash:At})}async CreateAccessGroup(){const{contractAddress:$,transactionHash:tt}=await this.client.ethClient.DeployAccessGroupContract({contentSpaceAddress:it.HashToAddress(this.contentSpaceId),signer:this.client.signer});return{contractAddress:$,transactionHash:tt}}async CreateContentType(){const{contractAddress:$,transactionHash:tt}=await this.client.ethClient.DeployTypeContract({contentSpaceAddress:it.HashToAddress(this.contentSpaceId),signer:this.client.signer});return{contractAddress:$,transactionHash:tt}}async CreateContentLibrary({kmsId:$}){const{contractAddress:tt,transactionHash:et}=await this.client.ethClient.DeployLibraryContract({contentSpaceAddress:it.HashToAddress(this.contentSpaceId),kmsId:$,signer:this.client.signer});return{contractAddress:tt,transactionHash:et}}async CreateContentObject({libraryId:$,typeId:tt}){let{contractAddress:et,transactionHash:At}=await this.client.ethClient.DeployContentContract({contentLibraryAddress:it.HashToAddress($),typeAddress:tt?it.HashToAddress(tt):it.nullAddress,signer:this.client.signer});return{contractAddress:et,transactionHash:At}}ClearCache(){this.accessTransactions={},this.modifyTransactions={},this.channelContentTokens={}}}},function($,tt,et){"use strict";var At=et(168).Buffer;$.exports=function base($){if($.length>=255)throw new TypeError("Alphabet too long");for(var tt=new Uint8Array(256),et=0;et<tt.length;et++)tt[et]=255;for(var nt=0;nt<$.length;nt++){var it=$.charAt(nt),at=it.charCodeAt(0);if(255!==tt[at])throw new TypeError(it+" is ambiguous");tt[at]=nt}var rt=$.length,st=$.charAt(0),ot=Math.log(rt)/Math.log(256),ut=Math.log(256)/Math.log(rt);function decodeUnsafe($){if("string"!=typeof $)throw new TypeError("Expected String");if(0===$.length)return At.alloc(0);var et=0;if(" "!==$[et]){for(var nt=0,it=0;$[et]===st;)nt++,et++;for(var at=($.length-et)*ot+1>>>0,ut=new Uint8Array(at);$[et];){var ct=tt[$.charCodeAt(et)];if(255===ct)return;for(var dt=0,It=at-1;(0!==ct||dt<it)&&-1!==It;It--,dt++)ct+=rt*ut[It]>>>0,ut[It]=ct%256>>>0,ct=ct/256>>>0;if(0!==ct)throw new Error("Non-zero carry");it=dt,et++}if(" "!==$[et]){for(var ht=at-it;ht!==at&&0===ut[ht];)ht++;var pt=At.allocUnsafe(nt+(at-ht));pt.fill(0,0,nt);for(var yt=nt;ht!==at;)pt[yt++]=ut[ht++];return pt}}}return{encode:function encode(tt){if((Array.isArray(tt)||tt instanceof Uint8Array)&&(tt=At.from(tt)),!At.isBuffer(tt))throw new TypeError("Expected Buffer");if(0===tt.length)return"";for(var et=0,nt=0,it=0,at=tt.length;it!==at&&0===tt[it];)it++,et++;for(var ot=(at-it)*ut+1>>>0,ct=new Uint8Array(ot);it!==at;){for(var dt=tt[it],It=0,ht=ot-1;(0!==dt||It<nt)&&-1!==ht;ht--,It++)dt+=256*ct[ht]>>>0,ct[ht]=dt%rt>>>0,dt=dt/rt>>>0;if(0!==dt)throw new Error("Non-zero carry");nt=It,it++}for(var pt=ot-nt;pt!==ot&&0===ct[pt];)pt++;for(var yt=st.repeat(et);pt<ot;++pt)yt+=$.charAt(ct[pt]);return yt},decodeUnsafe:decodeUnsafe,decode:function decode($){var tt=decodeUnsafe($);if(tt)return tt;throw new Error("Non-base"+rt+" character")}}}},function($,tt,et){var At;!function(nt){"use strict";var it,at=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,rt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator,st=Math.ceil,ot=Math.floor,ut="[BigNumber Error] ",ct=ut+"Number primitive has more than 15 significant digits: ",dt=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13];function bitFloor($){var tt=0|$;return $>0||$===tt?tt:tt-1}function coeffToString($){for(var tt,et,At=1,nt=$.length,it=$[0]+"";At<nt;){for(et=14-(tt=$[At++]+"").length;et--;tt="0"+tt);it+=tt}for(nt=it.length;48===it.charCodeAt(--nt););return it.slice(0,nt+1||1)}function compare($,tt){var et,At,nt=$.c,it=tt.c,at=$.s,rt=tt.s,st=$.e,ot=tt.e;if(!at||!rt)return null;if(et=nt&&!nt[0],At=it&&!it[0],et||At)return et?At?0:-rt:at;if(at!=rt)return at;if(et=at<0,At=st==ot,!nt||!it)return At?0:!nt^et?1:-1;if(!At)return st>ot^et?1:-1;for(rt=(st=nt.length)<(ot=it.length)?st:ot,at=0;at<rt;at++)if(nt[at]!=it[at])return nt[at]>it[at]^et?1:-1;return st==ot?0:st>ot^et?1:-1}function intCheck($,tt,et,At){if($<tt||$>et||$!==ot($))throw Error(ut+(At||"Argument")+("number"==typeof $?$<tt||$>et?" out of range: ":" not an integer: ":" not a primitive number: ")+String($))}function isOdd($){var tt=$.c.length-1;return bitFloor($.e/14)==tt&&$.c[tt]%2!=0}function toExponential($,tt){return($.length>1?$.charAt(0)+"."+$.slice(1):$)+(tt<0?"e":"e+")+tt}function toFixedPoint($,tt,et){var At,nt;if(tt<0){for(nt=et+".";++tt;nt+=et);$=nt+$}else if(++tt>(At=$.length)){for(nt=et,tt-=At;--tt;nt+=et);$+=nt}else tt<At&&($=$.slice(0,tt)+"."+$.slice(tt));return $}(it=function clone($){var tt,et,At,nt,it,It,ht,pt,yt,Ct=BigNumber.prototype={constructor:BigNumber,toString:null,valueOf:null},Bt=new BigNumber(1),Et=20,mt=4,Qt=-7,bt=21,wt=-1e7,vt=1e7,Mt=!1,Dt=1,St=0,kt={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},_t="0123456789abcdefghijklmnopqrstuvwxyz";function BigNumber($,tt){var nt,it,rt,st,ut,dt,It,ht,pt=this;if(!(pt instanceof BigNumber))return new BigNumber($,tt);if(null==tt){if($&&!0===$._isBigNumber)return pt.s=$.s,void(!$.c||$.e>vt?pt.c=pt.e=null:$.e<wt?pt.c=[pt.e=0]:(pt.e=$.e,pt.c=$.c.slice()));if((dt="number"==typeof $)&&0*$==0){if(pt.s=1/$<0?($=-$,-1):1,$===~~$){for(st=0,ut=$;ut>=10;ut/=10,st++);return void(st>vt?pt.c=pt.e=null:(pt.e=st,pt.c=[$]))}ht=String($)}else{if(!at.test(ht=String($)))return At(pt,ht,dt);pt.s=45==ht.charCodeAt(0)?(ht=ht.slice(1),-1):1}(st=ht.indexOf("."))>-1&&(ht=ht.replace(".","")),(ut=ht.search(/e/i))>0?(st<0&&(st=ut),st+=+ht.slice(ut+1),ht=ht.substring(0,ut)):st<0&&(st=ht.length)}else{if(intCheck(tt,2,_t.length,"Base"),10==tt)return round(pt=new BigNumber($),Et+pt.e+1,mt);if(ht=String($),dt="number"==typeof $){if(0*$!=0)return At(pt,ht,dt,tt);if(pt.s=1/$<0?(ht=ht.slice(1),-1):1,BigNumber.DEBUG&&ht.replace(/^0\.0*|\./,"").length>15)throw Error(ct+$)}else pt.s=45===ht.charCodeAt(0)?(ht=ht.slice(1),-1):1;for(nt=_t.slice(0,tt),st=ut=0,It=ht.length;ut<It;ut++)if(nt.indexOf(it=ht.charAt(ut))<0){if("."==it){if(ut>st){st=It;continue}}else if(!rt&&(ht==ht.toUpperCase()&&(ht=ht.toLowerCase())||ht==ht.toLowerCase()&&(ht=ht.toUpperCase()))){rt=!0,ut=-1,st=0;continue}return At(pt,String($),dt,tt)}dt=!1,(st=(ht=et(ht,tt,10,pt.s)).indexOf("."))>-1?ht=ht.replace(".",""):st=ht.length}for(ut=0;48===ht.charCodeAt(ut);ut++);for(It=ht.length;48===ht.charCodeAt(--It););if(ht=ht.slice(ut,++It)){if(It-=ut,dt&&BigNumber.DEBUG&&It>15&&($>9007199254740991||$!==ot($)))throw Error(ct+pt.s*$);if((st=st-ut-1)>vt)pt.c=pt.e=null;else if(st<wt)pt.c=[pt.e=0];else{if(pt.e=st,pt.c=[],ut=(st+1)%14,st<0&&(ut+=14),ut<It){for(ut&&pt.c.push(+ht.slice(0,ut)),It-=14;ut<It;)pt.c.push(+ht.slice(ut,ut+=14));ut=14-(ht=ht.slice(ut)).length}else ut-=It;for(;ut--;ht+="0");pt.c.push(+ht)}}else pt.c=[pt.e=0]}function format($,tt,et,At){var nt,it,at,rt,st;if(null==et?et=mt:intCheck(et,0,8),!$.c)return $.toString();if(nt=$.c[0],at=$.e,null==tt)st=coeffToString($.c),st=1==At||2==At&&(at<=Qt||at>=bt)?toExponential(st,at):toFixedPoint(st,at,"0");else if(it=($=round(new BigNumber($),tt,et)).e,rt=(st=coeffToString($.c)).length,1==At||2==At&&(tt<=it||it<=Qt)){for(;rt<tt;st+="0",rt++);st=toExponential(st,it)}else if(tt-=at,st=toFixedPoint(st,it,"0"),it+1>rt){if(--tt>0)for(st+=".";tt--;st+="0");}else if((tt+=it-rt)>0)for(it+1==rt&&(st+=".");tt--;st+="0");return $.s<0&&nt?"-"+st:st}function maxOrMin($,tt){for(var et,At=1,nt=new BigNumber($[0]);At<$.length;At++){if(!(et=new BigNumber($[At])).s){nt=et;break}tt.call(nt,et)&&(nt=et)}return nt}function normalise($,tt,et){for(var At=1,nt=tt.length;!tt[--nt];tt.pop());for(nt=tt[0];nt>=10;nt/=10,At++);return(et=At+14*et-1)>vt?$.c=$.e=null:et<wt?$.c=[$.e=0]:($.e=et,$.c=tt),$}function round($,tt,et,At){var nt,it,at,rt,ut,ct,It,ht=$.c,pt=dt;if(ht){t:{for(nt=1,rt=ht[0];rt>=10;rt/=10,nt++);if((it=tt-nt)<0)it+=14,at=tt,It=(ut=ht[ct=0])/pt[nt-at-1]%10|0;else if((ct=st((it+1)/14))>=ht.length){if(!At)break t;for(;ht.length<=ct;ht.push(0));ut=It=0,nt=1,at=(it%=14)-14+1}else{for(ut=rt=ht[ct],nt=1;rt>=10;rt/=10,nt++);It=(at=(it%=14)-14+nt)<0?0:ut/pt[nt-at-1]%10|0}if(At=At||tt<0||null!=ht[ct+1]||(at<0?ut:ut%pt[nt-at-1]),At=et<4?(It||At)&&(0==et||et==($.s<0?3:2)):It>5||5==It&&(4==et||At||6==et&&(it>0?at>0?ut/pt[nt-at]:0:ht[ct-1])%10&1||et==($.s<0?8:7)),tt<1||!ht[0])return ht.length=0,At?(tt-=$.e+1,ht[0]=pt[(14-tt%14)%14],$.e=-tt||0):ht[0]=$.e=0,$;if(0==it?(ht.length=ct,rt=1,ct--):(ht.length=ct+1,rt=pt[14-it],ht[ct]=at>0?ot(ut/pt[nt-at]%pt[at])*rt:0),At)for(;;){if(0==ct){for(it=1,at=ht[0];at>=10;at/=10,it++);for(at=ht[0]+=rt,rt=1;at>=10;at/=10,rt++);it!=rt&&($.e++,1e14==ht[0]&&(ht[0]=1));break}if(ht[ct]+=rt,1e14!=ht[ct])break;ht[ct--]=0,rt=1}for(it=ht.length;0===ht[--it];ht.pop());}$.e>vt?$.c=$.e=null:$.e<wt&&($.c=[$.e=0])}return $}function valueOf($){var tt,et=$.e;return null===et?$.toString():(tt=coeffToString($.c),tt=et<=Qt||et>=bt?toExponential(tt,et):toFixedPoint(tt,et,"0"),$.s<0?"-"+tt:tt)}return BigNumber.clone=clone,BigNumber.ROUND_UP=0,BigNumber.ROUND_DOWN=1,BigNumber.ROUND_CEIL=2,BigNumber.ROUND_FLOOR=3,BigNumber.ROUND_HALF_UP=4,BigNumber.ROUND_HALF_DOWN=5,BigNumber.ROUND_HALF_EVEN=6,BigNumber.ROUND_HALF_CEIL=7,BigNumber.ROUND_HALF_FLOOR=8,BigNumber.EUCLID=9,BigNumber.config=BigNumber.set=function($){var tt,et;if(null!=$){if("object"!=typeof $)throw Error(ut+"Object expected: "+$);if($.hasOwnProperty(tt="DECIMAL_PLACES")&&(intCheck(et=$[tt],0,1e9,tt),Et=et),$.hasOwnProperty(tt="ROUNDING_MODE")&&(intCheck(et=$[tt],0,8,tt),mt=et),$.hasOwnProperty(tt="EXPONENTIAL_AT")&&((et=$[tt])&&et.pop?(intCheck(et[0],-1e9,0,tt),intCheck(et[1],0,1e9,tt),Qt=et[0],bt=et[1]):(intCheck(et,-1e9,1e9,tt),Qt=-(bt=et<0?-et:et))),$.hasOwnProperty(tt="RANGE"))if((et=$[tt])&&et.pop)intCheck(et[0],-1e9,-1,tt),intCheck(et[1],1,1e9,tt),wt=et[0],vt=et[1];else{if(intCheck(et,-1e9,1e9,tt),!et)throw Error(ut+tt+" cannot be zero: "+et);wt=-(vt=et<0?-et:et)}if($.hasOwnProperty(tt="CRYPTO")){if((et=$[tt])!==!!et)throw Error(ut+tt+" not true or false: "+et);if(et){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Mt=!et,Error(ut+"crypto unavailable");Mt=et}else Mt=et}if($.hasOwnProperty(tt="MODULO_MODE")&&(intCheck(et=$[tt],0,9,tt),Dt=et),$.hasOwnProperty(tt="POW_PRECISION")&&(intCheck(et=$[tt],0,1e9,tt),St=et),$.hasOwnProperty(tt="FORMAT")){if("object"!=typeof(et=$[tt]))throw Error(ut+tt+" not an object: "+et);kt=et}if($.hasOwnProperty(tt="ALPHABET")){if("string"!=typeof(et=$[tt])||/^.$|[+-.\s]|(.).*\1/.test(et))throw Error(ut+tt+" invalid: "+et);_t=et}}return{DECIMAL_PLACES:Et,ROUNDING_MODE:mt,EXPONENTIAL_AT:[Qt,bt],RANGE:[wt,vt],CRYPTO:Mt,MODULO_MODE:Dt,POW_PRECISION:St,FORMAT:kt,ALPHABET:_t}},BigNumber.isBigNumber=function($){if(!$||!0!==$._isBigNumber)return!1;if(!BigNumber.DEBUG)return!0;var tt,et,At=$.c,nt=$.e,it=$.s;t:if("[object Array]"=={}.toString.call(At)){if((1===it||-1===it)&&nt>=-1e9&&nt<=1e9&&nt===ot(nt)){if(0===At[0]){if(0===nt&&1===At.length)return!0;break t}if((tt=(nt+1)%14)<1&&(tt+=14),String(At[0]).length==tt){for(tt=0;tt<At.length;tt++)if((et=At[tt])<0||et>=1e14||et!==ot(et))break t;if(0!==et)return!0}}}else if(null===At&&null===nt&&(null===it||1===it||-1===it))return!0;throw Error(ut+"Invalid BigNumber: "+$)},BigNumber.maximum=BigNumber.max=function(){return maxOrMin(arguments,Ct.lt)},BigNumber.minimum=BigNumber.min=function(){return maxOrMin(arguments,Ct.gt)},BigNumber.random=(nt=9007199254740992*Math.random()&2097151?function(){return ot(9007199254740992*Math.random())}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)},function($){var tt,et,At,it,at,rt=0,ct=[],It=new BigNumber(Bt);if(null==$?$=Et:intCheck($,0,1e9),it=st($/14),Mt)if(crypto.getRandomValues){for(tt=crypto.getRandomValues(new Uint32Array(it*=2));rt<it;)(at=131072*tt[rt]+(tt[rt+1]>>>11))>=9e15?(et=crypto.getRandomValues(new Uint32Array(2)),tt[rt]=et[0],tt[rt+1]=et[1]):(ct.push(at%1e14),rt+=2);rt=it/2}else{if(!crypto.randomBytes)throw Mt=!1,Error(ut+"crypto unavailable");for(tt=crypto.randomBytes(it*=7);rt<it;)(at=281474976710656*(31&tt[rt])+1099511627776*tt[rt+1]+4294967296*tt[rt+2]+16777216*tt[rt+3]+(tt[rt+4]<<16)+(tt[rt+5]<<8)+tt[rt+6])>=9e15?crypto.randomBytes(7).copy(tt,rt):(ct.push(at%1e14),rt+=7);rt=it/7}if(!Mt)for(;rt<it;)(at=nt())<9e15&&(ct[rt++]=at%1e14);for($%=14,(it=ct[--rt])&&$&&(at=dt[14-$],ct[rt]=ot(it/at)*at);0===ct[rt];ct.pop(),rt--);if(rt<0)ct=[At=0];else{for(At=-1;0===ct[0];ct.splice(0,1),At-=14);for(rt=1,at=ct[0];at>=10;at/=10,rt++);rt<14&&(At-=14-rt)}return It.e=At,It.c=ct,It}),BigNumber.sum=function(){for(var $=1,tt=arguments,et=new BigNumber(tt[0]);$<tt.length;)et=et.plus(tt[$++]);return et},et=function(){function toBaseOut($,tt,et,At){for(var nt,it,at=[0],rt=0,st=$.length;rt<st;){for(it=at.length;it--;at[it]*=tt);for(at[0]+=At.indexOf($.charAt(rt++)),nt=0;nt<at.length;nt++)at[nt]>et-1&&(null==at[nt+1]&&(at[nt+1]=0),at[nt+1]+=at[nt]/et|0,at[nt]%=et)}return at.reverse()}return function($,et,At,nt,it){var at,rt,st,ot,ut,ct,dt,It,ht=$.indexOf("."),pt=Et,yt=mt;for(ht>=0&&(ot=St,St=0,$=$.replace(".",""),ct=(It=new BigNumber(et)).pow($.length-ht),St=ot,It.c=toBaseOut(toFixedPoint(coeffToString(ct.c),ct.e,"0"),10,At,"0123456789"),It.e=It.c.length),st=ot=(dt=toBaseOut($,et,At,it?(at=_t,"0123456789"):(at="0123456789",_t))).length;0==dt[--ot];dt.pop());if(!dt[0])return at.charAt(0);if(ht<0?--st:(ct.c=dt,ct.e=st,ct.s=nt,dt=(ct=tt(ct,It,pt,yt,At)).c,ut=ct.r,st=ct.e),ht=dt[rt=st+pt+1],ot=At/2,ut=ut||rt<0||null!=dt[rt+1],ut=yt<4?(null!=ht||ut)&&(0==yt||yt==(ct.s<0?3:2)):ht>ot||ht==ot&&(4==yt||ut||6==yt&&1&dt[rt-1]||yt==(ct.s<0?8:7)),rt<1||!dt[0])$=ut?toFixedPoint(at.charAt(1),-pt,at.charAt(0)):at.charAt(0);else{if(dt.length=rt,ut)for(--At;++dt[--rt]>At;)dt[rt]=0,rt||(++st,dt=[1].concat(dt));for(ot=dt.length;!dt[--ot];);for(ht=0,$="";ht<=ot;$+=at.charAt(dt[ht++]));$=toFixedPoint($,st,at.charAt(0))}return $}}(),tt=function(){function multiply($,tt,et){var At,nt,it,at,rt=0,st=$.length,ot=tt%1e7,ut=tt/1e7|0;for($=$.slice();st--;)rt=((nt=ot*(it=$[st]%1e7)+(At=ut*it+(at=$[st]/1e7|0)*ot)%1e7*1e7+rt)/et|0)+(At/1e7|0)+ut*at,$[st]=nt%et;return rt&&($=[rt].concat($)),$}function compare($,tt,et,At){var nt,it;if(et!=At)it=et>At?1:-1;else for(nt=it=0;nt<et;nt++)if($[nt]!=tt[nt]){it=$[nt]>tt[nt]?1:-1;break}return it}function subtract($,tt,et,At){for(var nt=0;et--;)$[et]-=nt,nt=$[et]<tt[et]?1:0,$[et]=nt*At+$[et]-tt[et];for(;!$[0]&&$.length>1;$.splice(0,1));}return function($,tt,et,At,nt){var it,at,rt,st,ut,ct,dt,It,ht,pt,yt,Ct,Bt,Et,mt,Qt,bt,wt=$.s==tt.s?1:-1,vt=$.c,Mt=tt.c;if(!(vt&&vt[0]&&Mt&&Mt[0]))return new BigNumber($.s&&tt.s&&(vt?!Mt||vt[0]!=Mt[0]:Mt)?vt&&0==vt[0]||!Mt?0*wt:wt/0:NaN);for(ht=(It=new BigNumber(wt)).c=[],wt=et+(at=$.e-tt.e)+1,nt||(nt=1e14,at=bitFloor($.e/14)-bitFloor(tt.e/14),wt=wt/14|0),rt=0;Mt[rt]==(vt[rt]||0);rt++);if(Mt[rt]>(vt[rt]||0)&&at--,wt<0)ht.push(1),st=!0;else{for(Et=vt.length,Qt=Mt.length,rt=0,wt+=2,(ut=ot(nt/(Mt[0]+1)))>1&&(Mt=multiply(Mt,ut,nt),vt=multiply(vt,ut,nt),Qt=Mt.length,Et=vt.length),Bt=Qt,yt=(pt=vt.slice(0,Qt)).length;yt<Qt;pt[yt++]=0);bt=Mt.slice(),bt=[0].concat(bt),mt=Mt[0],Mt[1]>=nt/2&&mt++;do{if(ut=0,(it=compare(Mt,pt,Qt,yt))<0){if(Ct=pt[0],Qt!=yt&&(Ct=Ct*nt+(pt[1]||0)),(ut=ot(Ct/mt))>1)for(ut>=nt&&(ut=nt-1),dt=(ct=multiply(Mt,ut,nt)).length,yt=pt.length;1==compare(ct,pt,dt,yt);)ut--,subtract(ct,Qt<dt?bt:Mt,dt,nt),dt=ct.length,it=1;else 0==ut&&(it=ut=1),dt=(ct=Mt.slice()).length;if(dt<yt&&(ct=[0].concat(ct)),subtract(pt,ct,yt,nt),yt=pt.length,-1==it)for(;compare(Mt,pt,Qt,yt)<1;)ut++,subtract(pt,Qt<yt?bt:Mt,yt,nt),yt=pt.length}else 0===it&&(ut++,pt=[0]);ht[rt++]=ut,pt[0]?pt[yt++]=vt[Bt]||0:(pt=[vt[Bt]],yt=1)}while((Bt++<Et||null!=pt[0])&&wt--);st=null!=pt[0],ht[0]||ht.splice(0,1)}if(1e14==nt){for(rt=1,wt=ht[0];wt>=10;wt/=10,rt++);round(It,et+(It.e=rt+14*at-1)+1,At,st)}else It.e=at,It.r=+st;return It}}(),it=/^(-?)0([xbo])(?=\w[\w.]*$)/i,It=/^([^.]+)\.$/,ht=/^\.([^.]+)$/,pt=/^-?(Infinity|NaN)$/,yt=/^\s*\+(?=[\w.])|^\s+|\s+$/g,At=function($,tt,et,At){var nt,at=et?tt:tt.replace(yt,"");if(pt.test(at))$.s=isNaN(at)?null:at<0?-1:1;else{if(!et&&(at=at.replace(it,(function($,tt,et){return nt="x"==(et=et.toLowerCase())?16:"b"==et?2:8,At&&At!=nt?$:tt})),At&&(nt=At,at=at.replace(It,"$1").replace(ht,"0.$1")),tt!=at))return new BigNumber(at,nt);if(BigNumber.DEBUG)throw Error(ut+"Not a"+(At?" base "+At:"")+" number: "+tt);$.s=null}$.c=$.e=null},Ct.absoluteValue=Ct.abs=function(){var $=new BigNumber(this);return $.s<0&&($.s=1),$},Ct.comparedTo=function($,tt){return compare(this,new BigNumber($,tt))},Ct.decimalPlaces=Ct.dp=function($,tt){var et,At,nt,it=this;if(null!=$)return intCheck($,0,1e9),null==tt?tt=mt:intCheck(tt,0,8),round(new BigNumber(it),$+it.e+1,tt);if(!(et=it.c))return null;if(At=14*((nt=et.length-1)-bitFloor(this.e/14)),nt=et[nt])for(;nt%10==0;nt/=10,At--);return At<0&&(At=0),At},Ct.dividedBy=Ct.div=function($,et){return tt(this,new BigNumber($,et),Et,mt)},Ct.dividedToIntegerBy=Ct.idiv=function($,et){return tt(this,new BigNumber($,et),0,1)},Ct.exponentiatedBy=Ct.pow=function($,tt){var et,At,nt,it,at,rt,ct,dt,It=this;if(($=new BigNumber($)).c&&!$.isInteger())throw Error(ut+"Exponent not an integer: "+valueOf($));if(null!=tt&&(tt=new BigNumber(tt)),at=$.e>14,!It.c||!It.c[0]||1==It.c[0]&&!It.e&&1==It.c.length||!$.c||!$.c[0])return dt=new BigNumber(Math.pow(+valueOf(It),at?2-isOdd($):+valueOf($))),tt?dt.mod(tt):dt;if(rt=$.s<0,tt){if(tt.c?!tt.c[0]:!tt.s)return new BigNumber(NaN);(At=!rt&&It.isInteger()&&tt.isInteger())&&(It=It.mod(tt))}else{if($.e>9&&(It.e>0||It.e<-1||(0==It.e?It.c[0]>1||at&&It.c[1]>=24e7:It.c[0]<8e13||at&&It.c[0]<=9999975e7)))return it=It.s<0&&isOdd($)?-0:0,It.e>-1&&(it=1/it),new BigNumber(rt?1/it:it);St&&(it=st(St/14+2))}for(at?(et=new BigNumber(.5),rt&&($.s=1),ct=isOdd($)):ct=(nt=Math.abs(+valueOf($)))%2,dt=new BigNumber(Bt);;){if(ct){if(!(dt=dt.times(It)).c)break;it?dt.c.length>it&&(dt.c.length=it):At&&(dt=dt.mod(tt))}if(nt){if(0===(nt=ot(nt/2)))break;ct=nt%2}else if(round($=$.times(et),$.e+1,1),$.e>14)ct=isOdd($);else{if(0===(nt=+valueOf($)))break;ct=nt%2}It=It.times(It),it?It.c&&It.c.length>it&&(It.c.length=it):At&&(It=It.mod(tt))}return At?dt:(rt&&(dt=Bt.div(dt)),tt?dt.mod(tt):it?round(dt,St,mt,void 0):dt)},Ct.integerValue=function($){var tt=new BigNumber(this);return null==$?$=mt:intCheck($,0,8),round(tt,tt.e+1,$)},Ct.isEqualTo=Ct.eq=function($,tt){return 0===compare(this,new BigNumber($,tt))},Ct.isFinite=function(){return!!this.c},Ct.isGreaterThan=Ct.gt=function($,tt){return compare(this,new BigNumber($,tt))>0},Ct.isGreaterThanOrEqualTo=Ct.gte=function($,tt){return 1===(tt=compare(this,new BigNumber($,tt)))||0===tt},Ct.isInteger=function(){return!!this.c&&bitFloor(this.e/14)>this.c.length-2},Ct.isLessThan=Ct.lt=function($,tt){return compare(this,new BigNumber($,tt))<0},Ct.isLessThanOrEqualTo=Ct.lte=function($,tt){return-1===(tt=compare(this,new BigNumber($,tt)))||0===tt},Ct.isNaN=function(){return!this.s},Ct.isNegative=function(){return this.s<0},Ct.isPositive=function(){return this.s>0},Ct.isZero=function(){return!!this.c&&0==this.c[0]},Ct.minus=function($,tt){var et,At,nt,it,at=this,rt=at.s;if(tt=($=new BigNumber($,tt)).s,!rt||!tt)return new BigNumber(NaN);if(rt!=tt)return $.s=-tt,at.plus($);var st=at.e/14,ot=$.e/14,ut=at.c,ct=$.c;if(!st||!ot){if(!ut||!ct)return ut?($.s=-tt,$):new BigNumber(ct?at:NaN);if(!ut[0]||!ct[0])return ct[0]?($.s=-tt,$):new BigNumber(ut[0]?at:3==mt?-0:0)}if(st=bitFloor(st),ot=bitFloor(ot),ut=ut.slice(),rt=st-ot){for((it=rt<0)?(rt=-rt,nt=ut):(ot=st,nt=ct),nt.reverse(),tt=rt;tt--;nt.push(0));nt.reverse()}else for(At=(it=(rt=ut.length)<(tt=ct.length))?rt:tt,rt=tt=0;tt<At;tt++)if(ut[tt]!=ct[tt]){it=ut[tt]<ct[tt];break}if(it&&(nt=ut,ut=ct,ct=nt,$.s=-$.s),(tt=(At=ct.length)-(et=ut.length))>0)for(;tt--;ut[et++]=0);for(tt=1e14-1;At>rt;){if(ut[--At]<ct[At]){for(et=At;et&&!ut[--et];ut[et]=tt);--ut[et],ut[At]+=1e14}ut[At]-=ct[At]}for(;0==ut[0];ut.splice(0,1),--ot);return ut[0]?normalise($,ut,ot):($.s=3==mt?-1:1,$.c=[$.e=0],$)},Ct.modulo=Ct.mod=function($,et){var At,nt,it=this;return $=new BigNumber($,et),!it.c||!$.s||$.c&&!$.c[0]?new BigNumber(NaN):!$.c||it.c&&!it.c[0]?new BigNumber(it):(9==Dt?(nt=$.s,$.s=1,At=tt(it,$,0,3),$.s=nt,At.s*=nt):At=tt(it,$,0,Dt),($=it.minus(At.times($))).c[0]||1!=Dt||($.s=it.s),$)},Ct.multipliedBy=Ct.times=function($,tt){var et,At,nt,it,at,rt,st,ot,ut,ct,dt,It,ht,pt=this,yt=pt.c,Ct=($=new BigNumber($,tt)).c;if(!(yt&&Ct&&yt[0]&&Ct[0]))return!pt.s||!$.s||yt&&!yt[0]&&!Ct||Ct&&!Ct[0]&&!yt?$.c=$.e=$.s=null:($.s*=pt.s,yt&&Ct?($.c=[0],$.e=0):$.c=$.e=null),$;for(At=bitFloor(pt.e/14)+bitFloor($.e/14),$.s*=pt.s,(st=yt.length)<(ct=Ct.length)&&(ht=yt,yt=Ct,Ct=ht,nt=st,st=ct,ct=nt),nt=st+ct,ht=[];nt--;ht.push(0));for(1e14,1e7,nt=ct;--nt>=0;){for(et=0,dt=Ct[nt]%1e7,It=Ct[nt]/1e7|0,it=nt+(at=st);it>nt;)et=((ot=dt*(ot=yt[--at]%1e7)+(rt=It*ot+(ut=yt[at]/1e7|0)*dt)%1e7*1e7+ht[it]+et)/1e14|0)+(rt/1e7|0)+It*ut,ht[it--]=ot%1e14;ht[it]=et}return et?++At:ht.splice(0,1),normalise($,ht,At)},Ct.negated=function(){var $=new BigNumber(this);return $.s=-$.s||null,$},Ct.plus=function($,tt){var et,At=this,nt=At.s;if(tt=($=new BigNumber($,tt)).s,!nt||!tt)return new BigNumber(NaN);if(nt!=tt)return $.s=-tt,At.minus($);var it=At.e/14,at=$.e/14,rt=At.c,st=$.c;if(!it||!at){if(!rt||!st)return new BigNumber(nt/0);if(!rt[0]||!st[0])return st[0]?$:new BigNumber(rt[0]?At:0*nt)}if(it=bitFloor(it),at=bitFloor(at),rt=rt.slice(),nt=it-at){for(nt>0?(at=it,et=st):(nt=-nt,et=rt),et.reverse();nt--;et.push(0));et.reverse()}for((nt=rt.length)-(tt=st.length)<0&&(et=st,st=rt,rt=et,tt=nt),nt=0;tt;)nt=(rt[--tt]=rt[tt]+st[tt]+nt)/1e14|0,rt[tt]=1e14===rt[tt]?0:rt[tt]%1e14;return nt&&(rt=[nt].concat(rt),++at),normalise($,rt,at)},Ct.precision=Ct.sd=function($,tt){var et,At,nt,it=this;if(null!=$&&$!==!!$)return intCheck($,1,1e9),null==tt?tt=mt:intCheck(tt,0,8),round(new BigNumber(it),$,tt);if(!(et=it.c))return null;if(At=14*(nt=et.length-1)+1,nt=et[nt]){for(;nt%10==0;nt/=10,At--);for(nt=et[0];nt>=10;nt/=10,At++);}return $&&it.e+1>At&&(At=it.e+1),At},Ct.shiftedBy=function($){return intCheck($,-9007199254740991,9007199254740991),this.times("1e"+$)},Ct.squareRoot=Ct.sqrt=function(){var $,et,At,nt,it,at=this,rt=at.c,st=at.s,ot=at.e,ut=Et+4,ct=new BigNumber("0.5");if(1!==st||!rt||!rt[0])return new BigNumber(!st||st<0&&(!rt||rt[0])?NaN:rt?at:1/0);if(0==(st=Math.sqrt(+valueOf(at)))||st==1/0?(((et=coeffToString(rt)).length+ot)%2==0&&(et+="0"),st=Math.sqrt(+et),ot=bitFloor((ot+1)/2)-(ot<0||ot%2),At=new BigNumber(et=st==1/0?"1e"+ot:(et=st.toExponential()).slice(0,et.indexOf("e")+1)+ot)):At=new BigNumber(st+""),At.c[0])for((st=(ot=At.e)+ut)<3&&(st=0);;)if(it=At,At=ct.times(it.plus(tt(at,it,ut,1))),coeffToString(it.c).slice(0,st)===(et=coeffToString(At.c)).slice(0,st)){if(At.e<ot&&--st,"9999"!=(et=et.slice(st-3,st+1))&&(nt||"4999"!=et)){+et&&(+et.slice(1)||"5"!=et.charAt(0))||(round(At,At.e+Et+2,1),$=!At.times(At).eq(at));break}if(!nt&&(round(it,it.e+Et+2,0),it.times(it).eq(at))){At=it;break}ut+=4,st+=4,nt=1}return round(At,At.e+Et+1,mt,$)},Ct.toExponential=function($,tt){return null!=$&&(intCheck($,0,1e9),$++),format(this,$,tt,1)},Ct.toFixed=function($,tt){return null!=$&&(intCheck($,0,1e9),$=$+this.e+1),format(this,$,tt)},Ct.toFormat=function($,tt,et){var At,nt=this;if(null==et)null!=$&&tt&&"object"==typeof tt?(et=tt,tt=null):$&&"object"==typeof $?(et=$,$=tt=null):et=kt;else if("object"!=typeof et)throw Error(ut+"Argument not an object: "+et);if(At=nt.toFixed($,tt),nt.c){var it,at=At.split("."),rt=+et.groupSize,st=+et.secondaryGroupSize,ot=et.groupSeparator||"",ct=at[0],dt=at[1],It=nt.s<0,ht=It?ct.slice(1):ct,pt=ht.length;if(st&&(it=rt,rt=st,st=it,pt-=it),rt>0&&pt>0){for(it=pt%rt||rt,ct=ht.substr(0,it);it<pt;it+=rt)ct+=ot+ht.substr(it,rt);st>0&&(ct+=ot+ht.slice(it)),It&&(ct="-"+ct)}At=dt?ct+(et.decimalSeparator||"")+((st=+et.fractionGroupSize)?dt.replace(new RegExp("\\d{"+st+"}\\B","g"),"$&"+(et.fractionGroupSeparator||"")):dt):ct}return(et.prefix||"")+At+(et.suffix||"")},Ct.toFraction=function($){var et,At,nt,it,at,rt,st,ot,ct,It,ht,pt,yt=this,Ct=yt.c;if(null!=$&&(!(st=new BigNumber($)).isInteger()&&(st.c||1!==st.s)||st.lt(Bt)))throw Error(ut+"Argument "+(st.isInteger()?"out of range: ":"not an integer: ")+valueOf(st));if(!Ct)return new BigNumber(yt);for(et=new BigNumber(Bt),ct=At=new BigNumber(Bt),nt=ot=new BigNumber(Bt),pt=coeffToString(Ct),at=et.e=pt.length-yt.e-1,et.c[0]=dt[(rt=at%14)<0?14+rt:rt],$=!$||st.comparedTo(et)>0?at>0?et:ct:st,rt=vt,vt=1/0,st=new BigNumber(pt),ot.c[0]=0;It=tt(st,et,0,1),1!=(it=At.plus(It.times(nt))).comparedTo($);)At=nt,nt=it,ct=ot.plus(It.times(it=ct)),ot=it,et=st.minus(It.times(it=et)),st=it;return it=tt($.minus(At),nt,0,1),ot=ot.plus(it.times(ct)),At=At.plus(it.times(nt)),ot.s=ct.s=yt.s,ht=tt(ct,nt,at*=2,mt).minus(yt).abs().comparedTo(tt(ot,At,at,mt).minus(yt).abs())<1?[ct,nt]:[ot,At],vt=rt,ht},Ct.toNumber=function(){return+valueOf(this)},Ct.toPrecision=function($,tt){return null!=$&&intCheck($,1,1e9),format(this,$,tt,2)},Ct.toString=function($){var tt,At=this,nt=At.s,it=At.e;return null===it?nt?(tt="Infinity",nt<0&&(tt="-"+tt)):tt="NaN":(null==$?tt=it<=Qt||it>=bt?toExponential(coeffToString(At.c),it):toFixedPoint(coeffToString(At.c),it,"0"):10===$?tt=toFixedPoint(coeffToString((At=round(new BigNumber(At),Et+it+1,mt)).c),At.e,"0"):(intCheck($,2,_t.length,"Base"),tt=et(toFixedPoint(coeffToString(At.c),it,"0"),10,$,nt,!0)),nt<0&&At.c[0]&&(tt="-"+tt)),tt},Ct.valueOf=Ct.toJSON=function(){return valueOf(this)},Ct._isBigNumber=!0,rt&&(Ct[Symbol.toStringTag]="BigNumber",Ct[Symbol.for("nodejs.util.inspect.custom")]=Ct.valueOf),null!=$&&BigNumber.set($),BigNumber}()).default=it.BigNumber=it,void 0===(At=function(){return it}.call(tt,et,tt,$))||($.exports=At)}()},function($,tt,et){$.exports={encode:et(357),decode:et(358),encodingLength:et(359)}},function($,tt){$.exports=function encode($,tt,At){tt=tt||[];var nt=At=At||0;for(;$>=et;)tt[At++]=255&$|128,$/=128;for(;-128&$;)tt[At++]=255&$|128,$>>>=7;return tt[At]=0|$,encode.bytes=At-nt+1,tt};var et=Math.pow(2,31)},function($,tt){$.exports=function read($,tt){var et,At=0,nt=0,it=tt=tt||0,at=$.length;do{if(it>=at)throw read.bytes=0,new RangeError("Could not decode varint");et=$[it++],At+=nt<28?(127&et)<<nt:(127&et)*Math.pow(2,nt),nt+=7}while(et>=128);return read.bytes=it-tt,At}},function($,tt){var et=Math.pow(2,7),At=Math.pow(2,14),nt=Math.pow(2,21),it=Math.pow(2,28),at=Math.pow(2,35),rt=Math.pow(2,42),st=Math.pow(2,49),ot=Math.pow(2,56),ut=Math.pow(2,63);$.exports=function($){return $<et?1:$<At?2:$<nt?3:$<it?4:$<at?5:$<rt?6:$<st?7:$<ot?8:$<ut?9:10}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canContribute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"},{name:"content_contract",type:"address"}],name:"addContentType",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_locator",type:"bytes"}],name:"submitNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"contentTypeContracts",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"typeHash",type:"bytes32"}],name:"findTypeByHash",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"canNodePublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_kmsID",type:"string"},{name:"prefix",type:"bytes"}],name:"getKMSInfo",outputs:[{name:"",type:"string"},{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"canReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"validType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"contentObj",type:"address"}],name:"publish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"registerSpaceNode",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"requiresReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"createLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"numActiveNodes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"libraryFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"activeNodeLocators",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"activeNodeAddresses",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createGroup",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_kmsAddr",type:"address"}],name:"getKMSID",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_userAddr",type:"address"}],name:"userWallets",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_nodeAddr",type:"address"},{name:"_locator",type:"bytes"}],name:"addNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_kmsID",type:"string"},{name:"_locator",type:"bytes"}],name:"addKMSLocator",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"pendingNodeLocators",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"pendingNodeAddresses",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"description",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createAccessWallet",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setWalletFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setGroupFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setContentFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_kmsIdStr",type:"string"}],name:"checkKMS",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_space_description",type:"string"}],name:"setDescription",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contentTypes",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"whitelistedType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setLibraryFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"getAccessWallet",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_kmsID",type:"string"},{name:"_pubKey",type:"string"}],name:"setKMSPublicKey",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"unregisterSpaceNode",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"groupFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_nodeAddr",type:"address"}],name:"removeNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"createContentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"lib",type:"address"},{name:"content_type",type:"address"}],name:"createContent",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"walletFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"engageAccountLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_kmsAddr",type:"address"}],name:"checkKMSAddr",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_nodeAddr",type:"address"}],name:"approveNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_v",type:"uint8[]"},{name:"_r",type:"bytes32[]"},{name:"_s",type:"bytes32[]"},{name:"_from",type:"address[]"},{name:"_dest",type:"address[]"},{name:"_value",type:"uint256[]"},{name:"_ts",type:"uint256[]"}],name:"executeBatch",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"accessRequest",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"numPendingNodes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"nodeMapping",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"removeContentType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_kmsID",type:"string"},{name:"_locator",type:"bytes"}],name:"removeKMSLocator",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"content_space_name",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"contentTypeAddress",type:"address"}],name:"CreateContentType",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"libraryAddress",type:"address"}],name:"CreateLibrary",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"groupAddress",type:"address"}],name:"CreateGroup",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"}],name:"CreateContent",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"wallet",type:"address"}],name:"CreateAccessWallet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"wallet",type:"address"},{indexed:!1,name:"userAddr",type:"address"}],name:"BindUserWallet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"accountAddress",type:"address"}],name:"EngageAccountLibrary",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"factory",type:"address"}],name:"SetFactory",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"nodeObjAddr",type:"address"}],name:"RegisterNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"nodeObjAddr",type:"address"}],name:"UnregisterNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"sender",type:"address"},{indexed:!1,name:"status",type:"uint256"}],name:"AddKMSLocator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"sender",type:"address"},{indexed:!1,name:"status",type:"uint256"}],name:"RemoveKMSLocator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"version",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"CreateSpace",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"walletAddress",type:"address"}],name:"GetAccessWallet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"addr",type:"address"},{indexed:!1,name:"locator",type:"bytes"}],name:"NodeSubmitted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"addr",type:"address"},{indexed:!1,name:"locator",type:"bytes"}],name:"NodeApproved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ownerAddr",type:"address"},{indexed:!1,name:"nodeAddr",type:"address"}],name:"AddNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ownerAddr",type:"address"},{indexed:!1,name:"nodeAddr",type:"address"}],name:"RemoveNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[],name:"AccessRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"updateAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canContribute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"},{name:"content_contract",type:"address"}],name:"addContentType",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"approvalRequestsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"removeReviewerGroup",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"contentTypeContracts",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"addAccessorGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"createContent",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"typeHash",type:"bytes32"}],name:"findTypeByHash",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"reviewerGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contributorGroups",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"validType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"accessorGroups",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"contentObj",type:"address"}],name:"publish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"removeContributorGroup",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"requiresReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"contributorGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"submitApprovalRequest",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"index",type:"uint256"}],name:"getPendingApprovalRequest",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"addContributorGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_contract",type:"address"},{name:"approved",type:"bool"},{name:"note",type:"string"}],name:"approveContent",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_contentAddr",type:"address"}],name:"deleteContent",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"approvalRequests",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"reviewerGroups",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contentTypes",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"whitelistedType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"addReviewerGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"accessorGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"removeAccessorGroup",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"accessRequest",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"removeContentType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"address_KMS",type:"address"},{name:"content_space",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"content_type",type:"address"},{indexed:!1,name:"spaceAddress",type:"address"}],name:"ContentObjectCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"spaceAddress",type:"address"}],name:"ContentObjectDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ContributorGroupAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ContributorGroupRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ReviewerGroupAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ReviewerGroupRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"AccessorGroupAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"AccessorGroupRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"operationCode",type:"uint256"},{indexed:!1,name:"candidate",type:"address"}],name:"UnauthorizedOperation",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"submitter",type:"address"}],name:"ApproveContentRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"approved",type:"bool"},{indexed:!1,name:"note",type:"string"}],name:"ApproveContent",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"addressKms",type:"address"}],name:"UpdateKmsAddress",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[],name:"AccessRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"accessRequest",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"content_space",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[],name:"AccessRequest",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"STATUS_PUBLISHED",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"publish",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{name:"request_ID",type:"uint256"},{name:"payee",type:"address"},{name:"label",type:"string"},{name:"amount",type:"uint256"}],name:"processRequestPayment",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"requestMap",outputs:[{name:"originator",type:"address"},{name:"amountPaid",type:"uint256"},{name:"status",type:"int8"},{name:"settled",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentContractAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"statusCode",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"status_code",type:"int256"}],name:"statusCodeDescription",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"level",type:"uint8"},{name:"custom_values",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"getAccessInfo",outputs:[{name:"",type:"uint8"},{name:"",type:"uint8"},{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"level",type:"uint8"},{name:"custom_values",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"getCustomInfo",outputs:[{name:"",type:"uint8"},{name:"",type:"uint8"},{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"STATUS_DRAFT",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"status_code",type:"int256"}],name:"setStatusCode",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"request_ID",type:"uint256"},{name:"score_pct",type:"uint256"},{name:"ml_out_hash",type:"bytes32"}],name:"accessComplete",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"accessCharge",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"status_code",type:"int256"}],name:"updateStatus",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"requestID",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"level",type:"uint8"},{name:"pke_requestor",type:"string"},{name:"pke_AFGH",type:"string"},{name:"custom_values",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequest",outputs:[{name:"",type:"uint256"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"prefix",type:"bytes"}],name:"getKMSInfo",outputs:[{name:"",type:"string"},{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"libraryAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"STATUS_REVIEW",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"addr",type:"address"}],name:"setContentContractAddress",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"request_ID",type:"uint256"},{name:"access_granted",type:"bool"},{name:"re_key",type:"string"},{name:"encrypted_AES_key",type:"string"}],name:"accessGrant",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"charge",type:"uint256"}],name:"setAccessCharge",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"statusDescription",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"content_space",type:"address"},{name:"lib",type:"address"},{name:"content_type",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"containingLibrary",type:"address"}],name:"ContentObjectCreate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContractAddress",type:"address"}],name:"SetContentType",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"level",type:"uint8"},{indexed:!1,name:"contentHash",type:"string"},{indexed:!1,name:"pkeRequestor",type:"string"},{indexed:!1,name:"pkeAFGH",type:"string"}],name:"AccessRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"payee",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"LogPayment",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"access_granted",type:"bool"},{indexed:!1,name:"reKey",type:"string"},{indexed:!1,name:"encryptedAESKey",type:"string"}],name:"AccessGrant",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"customValue",type:"bytes32"}],name:"AccessRequestValue",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"stakeholder",type:"address"}],name:"AccessRequestStakeholder",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"scorePct",type:"uint256"},{indexed:!1,name:"customContractResult",type:"bool"}],name:"AccessComplete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentContractAddress",type:"address"}],name:"SetContentContract",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"accessCharge",type:"uint256"}],name:"SetAccessCharge",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"level",type:"uint8"},{indexed:!1,name:"accessCharge",type:"uint256"}],name:"GetAccessCharge",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"accessCharge",type:"uint256"},{indexed:!1,name:"amountProvided",type:"uint256"}],name:"InsufficientFunds",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"statusCode",type:"int256"}],name:"SetStatusCode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestStatus",type:"bool"},{indexed:!1,name:"statusCode",type:"int256"},{indexed:!1,name:"objectHash",type:"string"}],name:"Publish",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"}],name:"InvokeCustomPreHook",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"},{indexed:!1,name:"result",type:"uint256"}],name:"ReturnCustomHook",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"}],name:"InvokeCustomPostHook",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentObjects",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusNonceFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_space",type:"address"}],name:"setContentSpace",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusSendFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContractRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_OBJECT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_address",type:"address"},{name:"",type:"bytes"},{name:"level",type:"uint8"},{name:"pke_requestor",type:"string"},{name:"pke_AFGH",type:"string"},{name:"custom_values",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"contentAccessRequest",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getAccessGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canContribute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"},{name:"content_contract",type:"address"}],name:"addContentType",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_GROUP",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"}],name:"checkAccessGroupRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_LIBRARY",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_CONFIRMED",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"contentTypeContracts",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"currentTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"typeHash",type:"bytes32"}],name:"findTypeByHash",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContractRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"canReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"validType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"contentObj",type:"address"}],name:"publish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getAccessGroup",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpAll",outputs:[{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"group",type:"address"}],name:"getAccessGroupRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"accessGroups",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_address",type:"address"},{name:"",type:"bytes"},{name:"request_ID",type:"uint256"},{name:"score_pct",type:"uint256"},{name:"ml_out_hash",type:"bytes32"}],name:"contentAccessComplete",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"requiresReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentObjectRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasManagerAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"ACCESS_TENTATIVE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_guarantor",type:"address"},{name:"_v",type:"uint8"},{name:"_r",type:"bytes32"},{name:"_s",type:"bytes32"},{name:"_dest",type:"address"},{name:"_value",type:"uint256"},{name:"_ts",type:"uint256"}],name:"execute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkContentObjectRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTRACT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"lib",type:"address"},{name:"access_type",type:"uint8"}],name:"checkLibraryRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_TYPE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentObjectRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contracts",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContract",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_v",type:"uint8"},{name:"_r",type:"bytes32"},{name:"_s",type:"bytes32"},{name:"_dest",type:"address"},{name:"_value",type:"uint256"},{name:"_ts",type:"uint256"}],name:"validateTransaction",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"contractExists",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"lib",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setLibraryRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_NONE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentTypes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentTypeRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpLibraries",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusBalanceFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_address",type:"address"},{name:"level",type:"uint8"},{name:"pke_requestor",type:"string"},{name:"pke_AFGH",type:"string"},{name:"custom_values",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestMsg",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"execStatusOk",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_address",type:"address"},{name:"request_ID",type:"uint256"},{name:"score_pct",type:"uint256"},{name:"ml_out_hash",type:"bytes32"}],name:"accessCompleteMsg",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contentTypes",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"whitelistedType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentTypes",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkDirectRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentTypeRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkContractRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentObjects",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"setAccessRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"libraries",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getLibrariesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentObject",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpAccessGroups",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusSigFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContentObjectsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"accessRequest",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setAccessGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_ts",type:"uint256"}],name:"validateTimestamp",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"lib",type:"address"}],name:"getLibraryRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContractsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"removeContentType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkContentTypeRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"content_space",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"guarantor",type:"address"},{indexed:!1,name:"code",type:"int256"}],name:"ExecStatus",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"principal",type:"address"},{indexed:!1,name:"entity",type:"address"},{indexed:!1,name:"aggregate",type:"uint8"}],name:"RightsChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"index",type:"uint256"},{indexed:!1,name:"a",type:"address"}],name:"dbgAddress",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[],name:"AccessRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentObjects",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"content_space",type:"address"}],name:"setContentSpace",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContractRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_OBJECT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"candidate",type:"address"}],name:"grantAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getAccessGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_GROUP",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"oauthEnabled",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"membersList",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"}],name:"checkAccessGroupRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_LIBRARY",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_CONFIRMED",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"managersList",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContractRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getAccessGroup",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpAll",outputs:[{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"group",type:"address"}],name:"getAccessGroupRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"accessGroups",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentObjectRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasManagerAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"ACCESS_TENTATIVE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"membersNum",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkContentObjectRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTRACT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"managersNum",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"lib",type:"address"},{name:"access_type",type:"uint8"}],name:"checkLibraryRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_TYPE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentObjectRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contracts",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContract",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"manager",type:"address"}],name:"grantManagerAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"contractExists",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"lib",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setLibraryRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_NONE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentTypes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"candidate",type:"address"}],name:"revokeAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentTypeRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpLibraries",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentTypes",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkDirectRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentTypeRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkContractRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentObjects",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"setAccessRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"libraries",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getLibrariesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"manager",type:"address"}],name:"revokeManagerAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentObject",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpAccessGroups",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"},{name:"mgr",type:"bool"}],name:"hasAccessRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getContentObjectsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setAccessGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"lib",type:"address"}],name:"getLibraryRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_enabled",type:"bool"}],name:"setOAuthEnabled",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getContractsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkContentTypeRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"content_space",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"MemberAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"ManagerAccessGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"MemberRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"ManagerAccessRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"operationCode",type:"uint256"},{indexed:!1,name:"candidate",type:"address"}],name:"UnauthorizedOperation",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"enabled",type:"bool"}],name:"OAuthStatusChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"principal",type:"address"},{indexed:!1,name:"entity",type:"address"},{indexed:!1,name:"aggregate",type:"uint8"}],name:"RightsChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"index",type:"uint256"},{indexed:!1,name:"a",type:"address"}],name:"dbgAddress",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"accessRequest",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{anonymous:!1,inputs:[],name:"AccessRequest",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canContribute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"},{name:"content_contract",type:"address"}],name:"addContentType",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_locator",type:"bytes"}],name:"submitNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"contentTypeContracts",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"typeHash",type:"bytes32"}],name:"findTypeByHash",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"isAdmin",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"canNodePublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_kmsID",type:"string"},{name:"prefix",type:"bytes"}],name:"getKMSInfo",outputs:[{name:"",type:"string"},{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"canReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"validType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"contentObj",type:"address"}],name:"publish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"requiresReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"createLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"numActiveNodes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"libraryFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"activeNodeLocators",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"activeNodeAddresses",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createGroup",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_kmsAddr",type:"address"}],name:"getKMSID",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_userAddr",type:"address"}],name:"userWallets",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_nodeAddr",type:"address"},{name:"_locator",type:"bytes"}],name:"addNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_kmsID",type:"string"},{name:"_locator",type:"bytes"}],name:"addKMSLocator",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"pendingNodeLocators",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"pendingNodeAddresses",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"description",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createAccessWallet",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_user",type:"address"}],name:"createUserWalletInternal",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setWalletFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setGroupFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setContentFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_kmsIdStr",type:"string"}],name:"checkKMS",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_space_description",type:"string"}],name:"setDescription",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contentTypes",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"whitelistedType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"new_factory",type:"address"}],name:"setLibraryFactory",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"getAccessWallet",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_kmsID",type:"string"},{name:"_pubKey",type:"string"}],name:"setKMSPublicKey",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"groupFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_nodeAddr",type:"address"}],name:"removeNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"createContentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"lib",type:"address"},{name:"content_type",type:"address"}],name:"createContent",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"factory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"walletFactory",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_kmsAddr",type:"address"}],name:"checkKMSAddr",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_nodeAddr",type:"address"}],name:"approveNode",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_user",type:"address"}],name:"createUserWallet",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"numPendingNodes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"nodeMapping",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"removeContentType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_kmsID",type:"string"},{name:"_locator",type:"bytes"}],name:"removeKMSLocator",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"content_space_name",type:"string"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"contentTypeAddress",type:"address"}],name:"CreateContentType",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"libraryAddress",type:"address"}],name:"CreateLibrary",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"groupAddress",type:"address"}],name:"CreateGroup",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"}],name:"CreateContent",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"wallet",type:"address"}],name:"CreateAccessWallet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"wallet",type:"address"},{indexed:!1,name:"userAddr",type:"address"}],name:"BindUserWallet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"accountAddress",type:"address"}],name:"EngageAccountLibrary",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"factory",type:"address"}],name:"SetFactory",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"nodeObjAddr",type:"address"}],name:"RegisterNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"nodeObjAddr",type:"address"}],name:"UnregisterNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"sender",type:"address"},{indexed:!1,name:"status",type:"uint256"}],name:"AddKMSLocator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"sender",type:"address"},{indexed:!1,name:"status",type:"uint256"}],name:"RemoveKMSLocator",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"version",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"CreateSpace",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"walletAddress",type:"address"}],name:"GetAccessWallet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"addr",type:"address"},{indexed:!1,name:"locator",type:"bytes"}],name:"NodeSubmitted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"addr",type:"address"},{indexed:!1,name:"locator",type:"bytes"}],name:"NodeApproved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ownerAddr",type:"address"},{indexed:!1,name:"nodeAddr",type:"address"}],name:"AddNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ownerAddr",type:"address"},{indexed:!1,name:"nodeAddr",type:"address"}],name:"RemoveNode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"updateAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canContribute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"},{name:"content_contract",type:"address"}],name:"addContentType",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"approvalRequestsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"removeReviewerGroup",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"contentTypeContracts",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"addAccessorGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"createContent",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"typeHash",type:"bytes32"}],name:"findTypeByHash",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"reviewerGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contributorGroups",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"isAdmin",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"validType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"accessorGroups",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"contentObj",type:"address"}],name:"publish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"removeContributorGroup",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"requiresReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"contributorGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"submitApprovalRequest",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"index",type:"uint256"}],name:"getPendingApprovalRequest",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"addContributorGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_contract",type:"address"},{name:"approved",type:"bool"},{name:"note",type:"string"}],name:"approveContent",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_contentAddr",type:"address"}],name:"deleteContent",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"approvalRequests",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"reviewerGroups",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contentTypes",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"whitelistedType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"addReviewerGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"accessorGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"}],name:"removeAccessorGroup",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"removeContentType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"address_KMS",type:"address"},{name:"content_space",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"content_type",type:"address"},{indexed:!1,name:"spaceAddress",type:"address"}],name:"ContentObjectCreated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"spaceAddress",type:"address"}],name:"ContentObjectDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ContributorGroupAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ContributorGroupRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ReviewerGroupAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ReviewerGroupRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"AccessorGroupAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"AccessorGroupRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"operationCode",type:"uint256"},{indexed:!1,name:"candidate",type:"address"}],name:"UnauthorizedOperation",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"submitter",type:"address"}],name:"ApproveContentRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"approved",type:"bool"},{indexed:!1,name:"note",type:"string"}],name:"ApproveContent",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"addressKms",type:"address"}],name:"UpdateKmsAddress",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"content_space",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"STATUS_PUBLISHED",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"request_ID",type:"uint256"},{name:"score_pct",type:"uint256"},{name:"",type:"uint256"}],name:"accessComplete",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[],name:"publish",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{name:"requestNonce",type:"uint256"},{name:"payee",type:"address"},{name:"label",type:"string"},{name:"amount",type:"uint256"}],name:"processRequestPayment",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"requestMap",outputs:[{name:"originator",type:"address"},{name:"amountPaid",type:"uint256"},{name:"status",type:"int8"},{name:"settled",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentContractAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"isAdmin",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"statusCode",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"status_code",type:"int256"}],name:"statusCodeDescription",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"level",type:"uint8"},{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"getAccessInfo",outputs:[{name:"",type:"uint8"},{name:"",type:"uint8"},{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{name:"requestNonce",type:"uint256"},{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessCompleteV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{name:"requestNonce",type:"uint256"},{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessCompleteInternal",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"STATUS_DRAFT",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"status_code",type:"int256"}],name:"setStatusCode",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"accessCharge",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"requestNonce",type:"uint256"},{name:"contextHash",type:"bytes32"},{name:"accessor",type:"address"},{name:"request_timestamp",type:"uint256"}],name:"accessRequestContext",outputs:[{name:"",type:"uint256"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"accessor",type:"address"},{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"getAccessInfoV3",outputs:[{name:"",type:"uint8"},{name:"",type:"uint8"},{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"status_code",type:"int256"}],name:"updateStatus",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"reqId",type:"uint256"}],name:"makeNonce",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"requestID",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"level",type:"uint8"},{name:"pkeRequestor",type:"string"},{name:"pkeAFGH",type:"string"},{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequest",outputs:[{name:"",type:"uint256"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"prefix",type:"bytes"}],name:"getKMSInfo",outputs:[{name:"",type:"string"},{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"libraryAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_requestNonce",type:"uint256"},{name:"_contextHash",type:"bytes32"},{name:"_accessor",type:"address"},{name:"_request_timestamp",type:"uint256"}],name:"accessCompleteContext",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"accessor",type:"address"},{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"getCustomInfo",outputs:[{name:"",type:"uint8"},{name:"",type:"uint8"},{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"STATUS_REVIEW",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"addr",type:"address"}],name:"setContentContractAddress",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"charge",type:"uint256"}],name:"setAccessCharge",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"statusDescription",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"content_space",type:"address"},{name:"lib",type:"address"},{name:"content_type",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"containingLibrary",type:"address"}],name:"ContentObjectCreate",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContractAddress",type:"address"}],name:"SetContentType",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"payee",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"LogPayment",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"customValue",type:"bytes32"}],name:"AccessRequestValue",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"stakeholder",type:"address"}],name:"AccessRequestStakeholder",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"level",type:"uint8"},{indexed:!1,name:"contentHash",type:"string"},{indexed:!1,name:"pkeRequestor",type:"string"},{indexed:!1,name:"pkeAFGH",type:"string"}],name:"AccessRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"scorePct",type:"uint256"},{indexed:!1,name:"customContractResult",type:"bool"}],name:"AccessComplete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"customContractResult",type:"bool"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"request_timestamp",type:"uint256"}],name:"AccessCompleteV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentContractAddress",type:"address"}],name:"SetContentContract",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"accessCharge",type:"uint256"}],name:"SetAccessCharge",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"accessCharge",type:"uint256"},{indexed:!1,name:"amountProvided",type:"uint256"}],name:"InsufficientFunds",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"statusCode",type:"int256"}],name:"SetStatusCode",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestStatus",type:"bool"},{indexed:!1,name:"statusCode",type:"int256"},{indexed:!1,name:"objectHash",type:"string"}],name:"Publish",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"}],name:"InvokeCustomPreHook",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"},{indexed:!1,name:"result",type:"uint256"}],name:"ReturnCustomHook",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"}],name:"InvokeCustomPostHook",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentObjects",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusNonceFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_space",type:"address"}],name:"setContentSpace",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusSendFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContractRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_OBJECT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getAccessGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canContribute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"},{name:"content_contract",type:"address"}],name:"addContentType",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_GROUP",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_LIBRARY",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_CONFIRMED",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"contentTypeContracts",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"currentTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"typeHash",type:"bytes32"}],name:"findTypeByHash",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContractRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"isAdmin",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"canReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"validType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"contentObj",type:"address"}],name:"publish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getAccessGroup",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpAll",outputs:[{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"group",type:"address"}],name:"getAccessGroupRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"accessGroups",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"requiresReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentObjectRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasManagerAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"ACCESS_TENTATIVE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_guarantor",type:"address"},{name:"_v",type:"uint8"},{name:"_r",type:"bytes32"},{name:"_s",type:"bytes32"},{name:"_dest",type:"address"},{name:"_value",type:"uint256"},{name:"_ts",type:"uint256"}],name:"execute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"others",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"indexType",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setEntityRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"TYPE_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTRACT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_TYPE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentObjectRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contracts",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContract",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_v",type:"uint8"},{name:"_r",type:"bytes32"},{name:"_s",type:"bytes32"},{name:"_dest",type:"address"},{name:"_value",type:"uint256"},{name:"_ts",type:"uint256"}],name:"validateTransaction",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"contractExists",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"lib",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setLibraryRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_NONE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentTypes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentTypeRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpLibraries",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusBalanceFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"execStatusOk",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contentTypes",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"whitelistedType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentTypes",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkDirectRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentTypeRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentObjects",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"setAccessRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"libraries",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getLibrariesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentObject",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpAccessGroups",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"execStatusSigFail",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContentObjectsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setAccessGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_ts",type:"uint256"}],name:"validateTimestamp",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"lib",type:"address"}],name:"getLibraryRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContractsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"removeContentType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"content_space",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"guarantor",type:"address"},{indexed:!1,name:"code",type:"int256"}],name:"ExecStatus",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"principal",type:"address"},{indexed:!1,name:"entity",type:"address"},{indexed:!1,name:"aggregate",type:"uint8"}],name:"RightsChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentObjects",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"content_space",type:"address"}],name:"setContentSpace",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContractRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_OBJECT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"candidate",type:"address"}],name:"grantAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getAccessGroupsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_GROUP",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"oauthEnabled",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"membersList",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_LIBRARY",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_CONFIRMED",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"managersList",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContractRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"isAdmin",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"setAndGetBit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getAccessGroup",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_tenantAddr",type:"address"}],name:"setTenant",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"cleanUpAll",outputs:[{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"},{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"group",type:"address"}],name:"getAccessGroupRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"accessGroups",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"getBit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"setAndGetBitInternal",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentObjectRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"hasManagerAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"ACCESS_TENTATIVE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"others",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"membersNum",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getContentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"indexType",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setEntityRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"TYPE_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTRACT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"managersNum",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CATEGORY_CONTENT_TYPE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentObjectRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contracts",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContract",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"incrementCounter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"manager",type:"address"}],name:"grantManagerAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"addr",type:"address"}],name:"contractExists",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"lib",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setLibraryRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"ACCESS_NONE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpContentTypes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"candidate",type:"address"}],name:"revokeAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"obj",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setContentTypeRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpLibraries",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentTypes",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"index_type",type:"uint8"},{name:"obj",type:"address"},{name:"access_type",type:"uint8"}],name:"checkDirectRights",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"obj",type:"address"}],name:"getContentTypeRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentObjects",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"tenant",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"setAccessRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"libraries",outputs:[{name:"category",type:"uint8"},{name:"length",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getLibrariesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"manager",type:"address"}],name:"revokeManagerAccess",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getContentObject",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"position",type:"uint256"}],name:"getLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"TYPE_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"cleanUpAccessGroups",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"},{name:"mgr",type:"bool"}],name:"hasAccessRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"getCounter",outputs:[{name:"",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"}],name:"deleteGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getContentObjectsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setAccessGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"lib",type:"address"}],name:"getLibraryRights",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_enabled",type:"bool"}],name:"setOAuthEnabled",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getContractsLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{inputs:[{name:"_contentSpace",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"MemberAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"ManagerAccessGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"MemberRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"ManagerAccessRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"operationCode",type:"uint256"},{indexed:!1,name:"candidate",type:"address"}],name:"UnauthorizedOperation",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"enabled",type:"bool"}],name:"OAuthStatusChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"principal",type:"address"},{indexed:!1,name:"entity",type:"address"},{indexed:!1,name:"aggregate",type:"uint8"}],name:"RightsChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ident",type:"bytes32"},{indexed:!1,name:"slot",type:"uint8"},{indexed:!1,name:"val",type:"uint32"}],name:"CounterIncremented",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ident",type:"bytes32"},{indexed:!1,name:"ord",type:"uint8"},{indexed:!1,name:"prev",type:"bool"}],name:"BitSetAndGet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ident",type:"bytes32"}],name:"WordGroupDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"}]}},function($,tt){$.exports={abi:[{constant:!0,inputs:[],name:"parentAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"creator",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"factoryManager",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_func4Bytes",type:"bytes4[]"},{name:"_funcAddr",type:"address"}],name:"addFuncs",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canContribute",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"},{name:"content_contract",type:"address"}],name:"addContentType",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"stakeholder",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"CAN_SEE",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"listKey",type:"bytes32"}],name:"listLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_nodeMan",type:"address"}],name:"setNodeManager",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canConfirm",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"customValues",type:"bytes32[]"},{name:"stakeholders",type:"address[]"}],name:"accessRequestV3",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"contentTypeContracts",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"typeHash",type:"bytes32"}],name:"findTypeByHash",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"listKey",type:"bytes32"},{name:"itemOrd",type:"uint256"}],name:"removeListOrd",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"group",type:"address"},{name:"access_type",type:"uint8"},{name:"access",type:"uint8"}],name:"setGroupRights",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"isAdmin",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"setAndGetBit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canNodePublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_kmsID",type:"string"},{name:"_prefix",type:"bytes"}],name:"getKMSInfo",outputs:[{name:"",type:"string"},{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"visibility",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"address"}],name:"canReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"validType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"contentObj",type:"address"}],name:"publish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"getBit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"addressKMS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"countVersionHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"setAndGetBitInternal",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_id",type:"bytes32"}],name:"checkIdsRemove",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"commitPending",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"requiresReview",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getTenantID",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"groupIds",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_kmsAddress",type:"address"}],name:"createLibrary",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"kill",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_factMan",type:"address"}],name:"setFactoryManager",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"confirmCommit",outputs:[{name:"",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!0,inputs:[{name:"",type:"bytes32"},{name:"",type:"uint256"}],name:"listsMapping",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"version",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createGroup",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_kmsAddr",type:"address"}],name:"getKMSID",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"GROUP_ID_ADMIN",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"userManager",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"versionAPI",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"clearPending",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"pendingHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"indexCategory",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_userAddr",type:"address"}],name:"userWallets",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_id",type:"bytes32"},{name:"_groupAddr",type:"address"}],name:"addGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasEditorRight",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newCreator",type:"address"}],name:"transferCreatorship",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"canCommit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"description",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"listKey",type:"bytes32"},{name:"itemVal",type:"string"}],name:"addListItem",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"incrementCounter",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionTimestamp",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"versionHashes",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"canEdit",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_kmsMan",type:"address"}],name:"setKmsManager",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"owner",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_desc",type:"string"}],name:"setDescription",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"candidate",type:"address"}],name:"hasAccess",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_ACCESS",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_userMan",type:"address"}],name:"setUserManager",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_objectHash",type:"string"}],name:"commit",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"uint256"}],name:"contentTypes",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_candidate",type:"address"}],name:"canPublish",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"nodeManager",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_func4Bytes",type:"bytes4"},{name:"_p1",type:"uint256"},{name:"_p2",type:"address"},{name:"_encAuthToken",type:"bytes"},{name:"_v",type:"uint8"},{name:"_r",type:"bytes32"},{name:"_s",type:"bytes32"}],name:"callFuncUintAddr",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"content_type",type:"address"}],name:"whitelistedType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],name:"transfer",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_visibility_code",type:"uint8"}],name:"setVisibility",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"key",type:"bytes"}],name:"getMeta",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"kmsManager",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentSpace",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[],name:"createContentType",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_lib",type:"address"},{name:"_contentType",type:"address"}],name:"createContent",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[],name:"updateRequest",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"bytes4"}],name:"funcMapping",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"contentTypesLength",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"address_KMS",type:"address"}],name:"setAddressKMS",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_id",type:"bytes32"},{name:"_groupAddr",type:"address"}],name:"removeGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"defLeewaySecs",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_kmsAddr",type:"address"}],name:"checkKMSAddr",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"objectHash",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_ident",type:"bytes32"},{name:"_ord",type:"uint8"}],name:"getCounter",outputs:[{name:"",type:"uint32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_versionHash",type:"string"}],name:"deleteVersion",outputs:[{name:"",type:"int256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"key",type:"bytes"},{name:"value",type:"bytes"}],name:"putMeta",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_ident",type:"bytes32"}],name:"deleteGroup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_userAddr",type:"address"}],name:"createUserWallet",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"bytes32"},{name:"",type:"uint256"}],name:"groupsMapping",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_func4Bytes",type:"bytes4"},{name:"_encAuthToken",type:"bytes"},{name:"_v",type:"uint8"},{name:"_r",type:"bytes32"},{name:"_s",type:"bytes32"}],name:"checkCallFunc",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"CAN_EDIT",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"defTokenExpSecs",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"content_type",type:"address"}],name:"removeContentType",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{inputs:[{name:"_contentSpace",type:"address"},{name:"_tenantName",type:"string"},{name:"_kmsAddr",type:"address"}],payable:!0,stateMutability:"payable",type:"constructor"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"version",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"CreateTenant",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"walletAddress",type:"address"}],name:"GetAccessWallet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"func4Bytes",type:"bytes4[]"},{indexed:!1,name:"funcAddr",type:"address"}],name:"FunctionsAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"groupId",type:"bytes32"},{indexed:!1,name:"groupAddr",type:"address"}],name:"AddTenantGroup",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"groupId",type:"bytes32"},{indexed:!1,name:"groupAddr",type:"address"}],name:"RemoveTenantGroup",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"newManager",type:"address"},{indexed:!1,name:"prevManager",type:"address"}],name:"SetUserManager",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"newManager",type:"address"},{indexed:!1,name:"prevManager",type:"address"}],name:"SetNodeManager",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"newManager",type:"address"},{indexed:!1,name:"prevManager",type:"address"}],name:"SetFactoryManager",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"newManager",type:"address"},{indexed:!1,name:"prevManager",type:"address"}],name:"SetKmsManager",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"requestNonce",type:"uint256"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"requestTimestamp",type:"uint256"}],name:"AccessRequestV3",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"visibility",type:"uint8"}],name:"VisibilityChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ident",type:"bytes32"},{indexed:!1,name:"slot",type:"uint8"},{indexed:!1,name:"val",type:"uint32"}],name:"CounterIncremented",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ident",type:"bytes32"},{indexed:!1,name:"ord",type:"uint8"},{indexed:!1,name:"prev",type:"bool"}],name:"BitSetAndGet",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"ident",type:"bytes32"}],name:"WordGroupDeleted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}]}},function($,tt,et){const At=et(187);$.exports=class ElvWallet{constructor($){this.provider=$,this.signers={}}GenerateMnemonic(){return At.utils.HDNode.entropyToMnemonic(At.utils.randomBytes(16))}AddAccountFromMnemonic({accountName:$,mnemonic:tt}){let et=At.Wallet.fromMnemonic(tt);return this.AddAccount({accountName:$,privateKey:et.privateKey})}async AddAccountFromEncryptedPK({accountName:$,encryptedPrivateKey:tt,password:et}){"object"==typeof tt&&(tt=JSON.stringify(tt));let nt=await At.Wallet.fromEncryptedJson(tt,et);return this.AddAccount({accountName:$,privateKey:nt.privateKey})}AddAccount({accountName:$,privateKey:tt}){try{let et=new At.Wallet(tt);return et=et.connect(this.provider),$&&(this.signers[$]=et),et}catch($){throw Error("Invalid private key")}}async GetAccountBalance({accountName:$,signer:tt}){const et=tt||this.GetAccount({accountName:$});if(!et)throw Error("Unknown account: "+$);return At.utils.formatEther(await et.getBalance())}async GenerateEncryptedPrivateKey({accountName:$,signer:tt,password:et,options:At}){const nt=tt||this.GetAccount({accountName:$});if(!nt)throw Error("Unknown account: "+$);return await nt.encrypt(et,At)}GetAccount({accountName:$}){return this.signers[$]}RemoveAccount({accountName:$}){delete this.signers[$]}}},function($,tt,et){const At=et(187),nt=et(194),it=et(270),at=et(183),{LogMessage:rt}=et(204),st=et(378);$.exports=class EthClient{Log($,tt=!1){rt(this,$,tt)}constructor({client:$,uris:tt,networkId:et,debug:it,timeout:at=10}){this.client=$,this.networkId=et,this.ethereumURIs=tt,this.ethereumURIIndex=0,this.locked=!1,this.debug=it,this.timeout=Math.floor(1e3*at),this.cachedContracts={},this.contractNames={},this.HttpClient=new nt({uris:this.ethereumURIs,debug:this.debug}),At.errors.setLogLevel("error")}SetEthereumURIs($){this.ethereumURIs=$,this.ethereumURIIndex=0,this.HttpClient=new nt({uris:this.ethereumURIs,debug:this.debug})}Provider(){return this.provider||(this.provider=new At.providers.JsonRpcProvider(this.ethereumURIs[this.ethereumURIIndex],this.networkId),this.provider.getCode=async()=>"0x123",this.provider.pollingInterval=500),this.provider}async ContractName($,tt=!1){const et=new At.Contract($,it.abi,this.Provider());this.contractNames[$]||(this.contractNames[$]=new Promise(async $=>{try{const tt=await this.CallContractMethod({contract:et,abi:it.abi,methodName:"version",cacheContract:!1});$(At.utils.parseBytes32String(tt.slice(0,-2)+"00"))}catch(tt){$("Unknown")}}));const nt=await this.contractNames[$];return tt?nt:nt.split(/\d+/)[0]}Contract({contractAddress:$,abi:tt,cacheContract:et,overrideCachedContract:nt}){let it;if(nt||(it=this.cachedContracts[$]),!tt)throw Error(`No ABI for contract ${$} - Wrong network or deleted item?`);return it||(it=new At.Contract($,tt,this.Provider()),it=it.connect(this.client.signer),et&&(this.cachedContracts[$]=it)),it}async MakeProviderCall({methodName:$,args:tt=[],attempts:et=0}){try{const et=this.Provider();return await this.provider.getNetwork(),this.Log(`ETH ${et.connection.url} ${$} [${tt.join(", ")}]`),await et[$](...tt)}catch(At){return console.error(At),et<this.ethereumURIs.length?(this.Log(`EthClient failing over: ${et+1} attempts`,!0),this.provider=void 0,this.ethereumURIIndex=(this.ethereumURIIndex+1)%this.ethereumURIs.length,this.MakeProviderCall({methodName:$,args:tt,attempts:et+1})):{}}}FormatContractArgument({type:$,value:tt}){if($.endsWith("[]")){if("string"==typeof tt){if(""===tt.trim())return[];tt=tt.split(",").map($=>$.trim())}const et=$.replace("[]","");return tt.map($=>this.FormatContractArgument({type:et,value:$}))}switch($.toLowerCase()){case"bytes32":return At.utils.formatBytes32String(tt);case"bytes":return At.utils.toUtf8Bytes(tt);case"address":return at.FormatAddress(tt);default:return tt}}FormatContractArguments({abi:$,methodName:tt,args:et}){const At=$.find($=>$.name===tt||$.type===tt);if(void 0===At)throw Error("Unknown method: "+tt);return et.map(($,tt)=>this.FormatContractArgument({type:At.inputs[tt].type,value:$}))}ValidateSigner($){if(!$)throw Error("Signer not set")}async DeployContract({abi:$,bytecode:tt,constructorArgs:et=[],overrides:nt={}}){this.Log(`Deploying contract with args [${et.join(", ")}]`);const it=this.Provider();it.getNetwork();const rt=this.client.signer.connect(it);this.ValidateSigner(rt);let st=new At.ContractFactory($,tt,rt),ot=await st.deploy(...et,nt);return await ot.deployed(),this.Log(`Deployed: ${ot.address}`),{contractAddress:at.FormatAddress(ot.address),transactionHash:ot.deployTransaction.hash}}async CallContractMethod({contract:$,contractAddress:tt,abi:et,methodName:At,methodArgs:nt=[],value:it,overrides:rt={},formatArguments:st=!0,cacheContract:ot=!0,overrideCachedContract:ut=!1}){if(et||(et=await this.client.ContractAbi({contractAddress:tt})),et=($=$||this.Contract({contractAddress:tt,abi:et,cacheContract:ot,overrideCachedContract:ut})).interface.abi,st&&(nt=this.FormatContractArguments({abi:et,methodName:At,args:nt})),it&&(rt.value="0x"+at.EtherToWei(it.toString()).toString(16)),void 0===$.functions[At])throw Error("Unknown method: "+At);this.Log(`Calling contract method:\n Provider: ${this.Provider().connection.url}\n Address: ${$.address}\n Method: ${At}\n Args: [${nt.join(", ")}]`);const ct=$.interface.abi.find($=>$.name===At);if(!ct||!ct.constant){for(;this.locked;)await new Promise($=>setTimeout($,100));this.locked=!0}try{let tt,et=!1;for(;!et;)try{tt=await $.functions[At](...nt,rt),et=!0}catch($){if(-32e3===$.code||"REPLACEMENT_UNDERPRICED"===$.code){const $=await this.MakeProviderCall({methodName:"getBlock",args:["latest"]});rt.gasLimit=$.gasLimit,rt.gasPrice=rt.gasPrice?1.5*rt.gasPrice:8e9}else if(!($.message||$).includes("invalid response"))throw this.Log("object"==typeof $?JSON.stringify($,null,2):$,!0),$}return tt}finally{ct&&ct.constant||(this.locked=!1)}}async CallContractMethodAndWait({contractAddress:$,abi:tt,methodName:et,methodArgs:At,value:nt,timeout:it,formatArguments:at=!0,cacheContract:rt=!0,overrideCachedContract:st=!1}){it=it||this.timeout||1e4,tt||(tt=await this.client.ContractAbi({contractAddress:$}));const ot=this.Contract({contractAddress:$,abi:tt,cacheContract:rt,overrideCachedContract:st}),ut=await this.CallContractMethod({contract:ot,abi:tt,methodName:et,methodArgs:At,value:nt,formatArguments:at,cacheContract:rt});this.Log(`Awaiting transaction completion: ${ut.hash}`);const ct=this.Provider().pollingInterval;let dt,It=0;for(;It<it;){if(dt=await this.MakeProviderCall({methodName:"getTransactionReceipt",args:[ut.hash]}),dt){dt.logs=dt.logs.map($=>({...$,...ot.interface.parseLog($)}));break}It+=ct,await new Promise($=>setTimeout($,ct))}if(!dt)throw Error(`Timed out waiting for completion of ${et}. TXID: ${ut.hash}`);return dt}async AwaitEvent({contractAddress:$,abi:tt,eventName:et}){const At=this.Contract({contractAddress:$,abi:tt});return await new Promise($=>{At.on(et,(tt,nt,it)=>{At.removeAllListeners(et),$(it)})})}ExtractEventFromLogs({abi:$,event:tt,eventName:et}){const nt=new At.utils.Interface($);for(const $ of tt.logs){const tt=nt.parseLog($);if(tt&&tt.name===et)return tt}}async DeployDependentContract({contractAddress:$,methodName:tt,args:et=[],eventName:At,eventValue:nt}){const it=await this.client.ContractAbi({contractAddress:$}),rt=await this.CallContractMethodAndWait({contractAddress:$,abi:it,methodName:tt,methodArgs:et}),st=this.ExtractEventFromLogs({abi:it,event:rt,eventName:At,eventValue:nt});if(!st)throw Error(`${tt} failed - Log not present in transaction`);const ot=st.values[nt];return{contractAddress:at.FormatAddress(ot),transactionHash:rt.transactionHash}}async DeployAccessGroupContract({contentSpaceAddress:$}){return this.DeployDependentContract({contractAddress:$,methodName:"createGroup",args:[],eventName:"CreateGroup",eventValue:"groupAddress"})}async DeployTypeContract({contentSpaceAddress:$}){return this.DeployDependentContract({contractAddress:$,methodName:"createContentType",args:[],eventName:"CreateContentType",eventValue:"contentTypeAddress"})}async DeployLibraryContract({contentSpaceAddress:$,kmsId:tt}){const et=at.HashToAddress(tt);return this.DeployDependentContract({contractAddress:$,methodName:"createLibrary",args:[et],eventName:"CreateLibrary",eventValue:"libraryAddress"})}async DeployContentContract({contentLibraryAddress:$,typeAddress:tt}){return tt=tt||at.nullAddress,this.DeployDependentContract({contractAddress:$,methodName:"createContent",args:[tt],eventName:"ContentObjectCreated",eventValue:"contentAddress"})}async CommitContent({contentObjectAddress:$,versionHash:tt}){return await this.CallContractMethodAndWait({contractAddress:$,methodName:"commit",methodArgs:[tt],eventName:"CommitPending"})}async EngageAccountLibrary({contentSpaceAddress:$}){return this.CallContractMethodAndWait({contractAddress:$,methodName:"engageAccountLibrary",args:[]})}async SetCustomContentContract({contentContractAddress:$,customContractAddress:tt,overrides:et={}}){return await this.CallContractMethodAndWait({contractAddress:$,methodName:"setContentContractAddress",methodArgs:[tt],overrides:et})}async ContractEvents({contractAddress:$,abi:tt,fromBlock:et=0,toBlock:nt,topics:it,includeTransaction:rt=!1}){const st={address:$,fromBlock:et,toBlock:nt};it&&(st.topics=it);const ot=await this.MakeProviderCall({methodName:"getLogs",args:[st]})||[];if(!Array.isArray(ot))return[];let ut={};return await at.LimitedMap(5,ot,async $=>{const et=new At.utils.Interface(tt);let nt={...$,...et.parseLog($)};rt&&(nt={...nt,...await this.MakeProviderCall({methodName:"getTransaction",args:[$.transactionHash]})}),ut[$.blockNumber]=[nt].concat(ut[$.blockNumber]||[])}),Object.values(ut).sort(($,tt)=>$[0].blockNumber<tt[0].blockNumber?1:-1)}ParseUnknownLog({log:$}){if($.topics&&$.topics.length>0){const tt=$.topics[0],et=st[tt];if(et){const tt=new At.utils.Interface(et.abi);tt&&($={...$,...tt.parseLog($),contract:et.contract})}}return $}async Events({toBlock:$,fromBlock:tt,includeTransaction:et=!1}){let At=[];for(let et=tt;et<$;et+=101){const tt=await this.MakeProviderCall({methodName:"getLogs",args:[{fromBlock:et,toBlock:Math.min($,et+100)}]});At=At.concat(tt||[])}let nt={};At.forEach($=>{nt[$.blockNumber]=[this.ParseUnknownLog({log:$})].concat(nt[$.blockNumber]||[])});let it=[];return await at.LimitedMap(3,[...Array($-tt+1).keys()],async tt=>{const At=$-tt;let at=nt[At];if(at||(at=await this.MakeProviderCall({methodName:"getBlock",args:[At]}),at=at.transactions.map($=>({blockNumber:at.number,blockHash:at.hash,...at,transactionHash:$})),nt[At]=at),et){let $={};nt[At]=await Promise.all(at.map(async tt=>($[tt.transactionHash]||($[tt.transactionHash]={...await this.MakeProviderCall({methodName:"getTransaction",args:[tt.transactionHash]}),...await this.MakeProviderCall({methodName:"getTransactionReceipt",args:[tt.transactionHash]})}),{...tt,...$[tt.transactionHash]})))}it.push(nt[At])}),it}}},function($,tt){$.exports={"0x23dcae6acc296731e3679d01e7cd963988e5a372850a0a1db2b9b01539e19ff4":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"principal",type:"address"},{indexed:!1,name:"entity",type:"address"},{indexed:!1,name:"aggregate",type:"uint8"}],name:"RightsChanged",type:"event"}],ambiguous:!0},"0xa33a9370a938260eee2537d9480ca0caa9789521da8e57afb3a0699d3ff9b260":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"index",type:"uint256"},{indexed:!1,name:"a",type:"address"}],name:"dbgAddress",type:"event"}],ambiguous:!0},"0xb251eb052afc73ffd02ffe85ad79990a8b3fed60d76dbc2fa2fdd7123dffd914":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"MemberAdded",type:"event"}],contract:"BaseAccessControlGroup"},"0x93bcaab179551bde429187645251f8e1fb8ac85801fcb1cf91eb2c9043d61117":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"ManagerAccessGranted",type:"event"}],contract:"BaseAccessControlGroup"},"0x745cd29407db644ed93e3ceb61cbcab96d1dfb496989ac5d5bf514fc5a9fab9c":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"MemberRevoked",type:"event"}],contract:"BaseAccessControlGroup"},"0x2d6aa1a9629d125e23a0cf692cda7cd6795dff1652eedd4673b38ec31e387b95":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"candidate",type:"address"}],name:"ManagerAccessRevoked",type:"event"}],contract:"BaseAccessControlGroup"},"0x23de2adc3e22f171f66b3e5a333e17feb9dc30ba9570933bd259cb6c13ef7ab7":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"operationCode",type:"uint256"},{indexed:!1,name:"candidate",type:"address"}],name:"UnauthorizedOperation",type:"event"}],ambiguous:!0},"0x04c71e53d136838eea703132a77007b0526b9a7691cdb7a6017a93673f865cbb":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"enabled",type:"bool"}],name:"OAuthStatusChanged",type:"event"}],contract:"BaseAccessControlGroup"},"0xb3ac059d88af6016aca1aebb7b3e796f2e7420435c59c563687814e9b85daa75":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"parentAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"CommitPending",type:"event"}],ambiguous:!0},"0x403f30aa5f4f2f89331a7b50054f64a00ce206f4d0a37f566ff344bbe46f8b65":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"objectHash",type:"string"}],name:"UpdateRequest",type:"event"}],ambiguous:!0},"0x482875da75e6d9f93f74a5c1a61f14cf08822057c01232f44cb92ae998e30d8e":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"objectHash",type:"string"}],name:"VersionConfirm",type:"event"}],ambiguous:!0},"0x238d74c13cda9ba51e904772d41a616a1b9b30d09802484df6279fe1c3c07f51":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"spaceAddress",type:"address"},{indexed:!1,name:"versionHash",type:"string"},{indexed:!1,name:"index",type:"int256"}],name:"VersionDelete",type:"event"}],ambiguous:!0},"0x583d8312ef7016406c7ea8ba9796b9e55ac1fdc22455754cbc93869509faefad":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"guarantor",type:"address"},{indexed:!1,name:"code",type:"int256"}],name:"ExecStatus",type:"event"}],contract:"BaseAccessWallet"},"0x280016f7418306a55542432120fd1a239ef9fcc1a92694d8d44ca76be0249ea7":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContract",type:"address"}],name:"ContentTypeAdded",type:"event"}],ambiguous:!0},"0xd41375b9d347dfe722f90a780731abd23b7855f9cf14ea7063c4cab5f9ae58e2":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"}],name:"ContentTypeRemoved",type:"event"}],ambiguous:!0},"0xed78a9defa7412748c9513ba9cf680f57703a46dd7e0fb0b1e94063423c73e88":{abi:[{anonymous:!1,inputs:[],name:"AccessRequest",type:"event"}],ambiguous:!0},"0xe2b310ec9dabdc05229a748e07666c3bc9c46c6ef465cce30d0aa3aa64a0644c":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"key",type:"bytes"}],name:"ObjectMetaChanged",type:"event"}],ambiguous:!0},"0xc3decc188980e855666b70498ca85e8fa284d97d30483d828fa126f7303d7d19":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"containingLibrary",type:"address"}],name:"ContentObjectCreate",type:"event"}],contract:"BaseContent"},"0x4f692e87baf302f7281e83eec109053efc2ca8e7bddfc6ce88c579cd9767f71f":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentType",type:"address"},{indexed:!1,name:"contentContractAddress",type:"address"}],name:"SetContentType",type:"event"}],contract:"BaseContent"},"0x50f423e39e8beb25bb2da38a63e3d33b5368f261522813712756733eaf569a06":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"level",type:"uint8"},{indexed:!1,name:"contentHash",type:"string"},{indexed:!1,name:"pkeRequestor",type:"string"},{indexed:!1,name:"pkeAFGH",type:"string"}],name:"AccessRequest",type:"event"}],contract:"BaseContent"},"0xad58d18ea7292f887da6f15bb4f0badddaa33d169713d09cf49710acc7c3a5b9":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"payee",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"LogPayment",type:"event"}],contract:"BaseContent"},"0x475e9d68ca61f129cebee5af694af00ed0e3b3b0d4b74071fbb81d0e2b912718":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"access_granted",type:"bool"},{indexed:!1,name:"reKey",type:"string"},{indexed:!1,name:"encryptedAESKey",type:"string"}],name:"AccessGrant",type:"event"}],contract:"BaseContent"},"0x515e0a48b385fce2a8e4d9f169a97c4f6ea669a752358f5e6ab37cc3c2e84c38":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"customValue",type:"bytes32"}],name:"AccessRequestValue",type:"event"}],contract:"BaseContent"},"0xb6e3239e521a6c66920ae634f8e921a37e6991d520ac44d52f8516397f41b684":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"stakeholder",type:"address"}],name:"AccessRequestStakeholder",type:"event"}],contract:"BaseContent"},"0x2c49ac638ee7bf3341004c40512c79847bb7fb8f17fb53151ff576a35630ac06":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"scorePct",type:"uint256"},{indexed:!1,name:"customContractResult",type:"bool"}],name:"AccessComplete",type:"event"}],contract:"BaseContent"},"0xa6f2e38f0cfebf27212317fced3ac40bc62e00bd33f38d69603710740c69acb7":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentContractAddress",type:"address"}],name:"SetContentContract",type:"event"}],contract:"BaseContent"},"0x4114f8ef80b6de2161db580cbefa14e1892d15d3ebe2062c9914e4a5773114a3":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"accessCharge",type:"uint256"}],name:"SetAccessCharge",type:"event"}],contract:"BaseContent"},"0xa58326ee5bb617cb8b4f0d0f5f557c469d2d05d7a738f777037deda9c724b370":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"level",type:"uint8"},{indexed:!1,name:"accessCharge",type:"uint256"}],name:"GetAccessCharge",type:"event"}],contract:"BaseContent"},"0x03eb8b54a949acec2cd08fdb6d6bd4647a1f2c907d75d6900648effa92eb147f":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"accessCharge",type:"uint256"},{indexed:!1,name:"amountProvided",type:"uint256"}],name:"InsufficientFunds",type:"event"}],contract:"BaseContent"},"0xda4f34b30fa0ba8a73fedb922f4d28e2a10a5d68e53cf8e942abce3ac09158a2":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"statusCode",type:"int256"}],name:"SetStatusCode",type:"event"}],contract:"BaseContent"},"0xad9c5eacc073b2e1767affc883e050347e1dd379c9799cb5ac0a17bde80f5cf4":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"requestStatus",type:"bool"},{indexed:!1,name:"statusCode",type:"int256"},{indexed:!1,name:"objectHash",type:"string"}],name:"Publish",type:"event"}],contract:"BaseContent"},"0x12b04791b5caab768e2757268992f0c62801e3921d9e310c893f0d5f9caa5f71":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"}],name:"InvokeCustomPreHook",type:"event"}],contract:"BaseContent"},"0x8c693e8b27db7caf9b9637b66dcc11444760023a4d53e95407a3acef1b249f50":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"},{indexed:!1,name:"result",type:"uint256"}],name:"ReturnCustomHook",type:"event"}],contract:"BaseContent"},"0x97d9c9779ed3ed8b9a6edfe16d17b1fdec843245747a19abfb621806e37d4a89":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"custom_contract",type:"address"}],name:"InvokeCustomPostHook",type:"event"}],contract:"BaseContent"},"0x8354ff8c2c210fd53709db56438bb45d36a62de8bcc95c8459d80ce933d47680":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"libraryAddress",type:"address"},{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"userAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"request_timestamp",type:"uint64"}],name:"AccessRequest",type:"event"}],contract:"BaseContentFactory"},"0x078326d18c0223483393342523f51da024ddcb0f1e929aa1f142100381c794f5":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"libraryAddress",type:"address"},{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"userAddress",type:"address"},{indexed:!1,name:"contextHash",type:"bytes32"},{indexed:!1,name:"request_timestamp",type:"uint64"}],name:"AccessComplete",type:"event"}],contract:"BaseContentFactory"},"0x9e69777f30c55126be256664fa7beff4b796ac32ebceab94df5071b0148017f8":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentTypeAddress",type:"address"}],name:"CreateContentType",type:"event"}],contract:"BaseContentSpace"},"0x473c07a6d0228c4fb8fe2be3b4617c3b5fb7c0f8cd9ba4b67e8631844b9b6571":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"libraryAddress",type:"address"}],name:"CreateLibrary",type:"event"}],contract:"BaseContentSpace"},"0xa3b1fe71ae61bad8cffa485b230e24e518938f76182a30fa0d9979e7237ad159":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"groupAddress",type:"address"}],name:"CreateGroup",type:"event"}],contract:"BaseContentSpace"},"0xa0633ea0b3cb5796607e5f551ae79c7eeee0dc7ee0c3ff8996506261651368ce":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"}],name:"CreateContent",type:"event"}],contract:"BaseContentSpace"},"0x56c4bf13bebaa9f2be39ac3f2f4619a0dd1b694bb8c5f43c6b244a6dba0f0cca":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"wallet",type:"address"}],name:"CreateAccessWallet",type:"event"}],contract:"BaseContentSpace"},"0x05e3f3adaf96d565bb326088a1d8e0d78497549df2c99a8ab681e5fbc7a9b3f2":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"wallet",type:"address"},{indexed:!1,name:"userAddr",type:"address"}],name:"BindUserWallet",type:"event"}],contract:"BaseContentSpace"},"0x53ce35a7383a3ea3f695bdf0f87d7e5485ba816b382673e849bfdd24e7f5e3ca":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"accountAddress",type:"address"}],name:"EngageAccountLibrary",type:"event"}],contract:"BaseContentSpace"},"0x1c893ef9379093af30f458b9e74d2aba13c499660b68dec5e29af7b199c188b9":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"factory",type:"address"}],name:"SetFactory",type:"event"}],contract:"BaseContentSpace"},"0x4575facd117046c9c28b69a3eb9c08939f2462a5a22ea6c6dcd4f79b8dd124e9":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"nodeObjAddr",type:"address"}],name:"RegisterNode",type:"event"}],contract:"BaseContentSpace"},"0xb98695ab4c6cedb3b4dfe62479a9d39a59aa2cb38b8bd92bbb6ce5856e42bdf4":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"nodeObjAddr",type:"address"}],name:"UnregisterNode",type:"event"}],contract:"BaseContentSpace"},"0xdf8127994c229011ce9c4764bdc0375bb71c06cf1544f034cd81a42f37233319":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"sender",type:"address"},{indexed:!1,name:"status",type:"uint256"}],name:"AddKMSLocator",type:"event"}],contract:"BaseContentSpace"},"0x5f463eb53cddf646852b82c0d9bdb1d1ec215c3802b780e8b7beea8b6e99f94c":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"sender",type:"address"},{indexed:!1,name:"status",type:"uint256"}],name:"RemoveKMSLocator",type:"event"}],contract:"BaseContentSpace"},"0x599bb380c80b69455450a615c515544b8da3b09f2efa116a5f0567682203cf54":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"version",type:"bytes32"},{indexed:!1,name:"owner",type:"address"}],name:"CreateSpace",type:"event"}],contract:"BaseContentSpace"},"0x1c917c3c2698bd5b98acb9772728da62f2ce3670e4578910a6465b955f63e157":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"walletAddress",type:"address"}],name:"GetAccessWallet",type:"event"}],contract:"BaseContentSpace"},"0xae5645569f32b946f7a747113c64094a29a6b84c5ddf55816ef4381ce8a3a46d":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"addr",type:"address"},{indexed:!1,name:"locator",type:"bytes"}],name:"NodeSubmitted",type:"event"}],ambiguous:!0},"0xd644c8164f225d3b7fdbcc404f279bb1e823ef0d93f88dd4b24e85d0e7bc6a54":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"addr",type:"address"},{indexed:!1,name:"locator",type:"bytes"}],name:"NodeApproved",type:"event"}],ambiguous:!0},"0x2bb0f9ba138ffddb5a8f974e9885b65a7814d3002654f1cf3f2d3f619a4006c4":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"ownerAddr",type:"address"},{indexed:!1,name:"nodeAddr",type:"address"}],name:"AddNode",type:"event"}],ambiguous:!0},"0x41ec5b9efdbf61871df6a18b687e04bea93d5793af5f8c8b4626e155b23dc19d":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"ownerAddr",type:"address"},{indexed:!1,name:"nodeAddr",type:"address"}],name:"RemoveNode",type:"event"}],ambiguous:!0},"0xadc3945407fc9e1f5763b74624698197e96e741e6e7c683373498712ba3eb878":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"content_type",type:"address"},{indexed:!1,name:"spaceAddress",type:"address"}],name:"ContentObjectCreated",type:"event"}],contract:"BaseLibrary"},"0x36500cee87b0da1746889a3483dccb525acfc40b8c0f2218e164c6cdf1482a3e":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"spaceAddress",type:"address"}],name:"ContentObjectDeleted",type:"event"}],contract:"BaseLibrary"},"0x218673669018c25b89bfbf1b58d0075e37c8847ef16e707b92355b7833e97d61":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ContributorGroupAdded",type:"event"}],contract:"BaseLibrary"},"0xbbd97daa1862eb12f77ed128a557406737cee07b131b1e2d7140dff2005e197c":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ContributorGroupRemoved",type:"event"}],contract:"BaseLibrary"},"0x1b88a571cc8ac2e87512f05648e79d184f5cc0cbb2889bc487c41f8b9a3202eb":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ReviewerGroupAdded",type:"event"}],contract:"BaseLibrary"},"0xdf9d78c5635b72b709c85300a786eb7238acbe5bffe01c60c16464e45c6eb6eb":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"ReviewerGroupRemoved",type:"event"}],contract:"BaseLibrary"},"0x3a94857e4393737f73edb175a7d0c195c7f635d9ae995e12740616ec55c9d411":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"AccessorGroupAdded",type:"event"}],contract:"BaseLibrary"},"0xc5224c4118417a068eeac7d714e6d8af6f99ec3fb611bc965185460b0e38f081":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"group",type:"address"}],name:"AccessorGroupRemoved",type:"event"}],contract:"BaseLibrary"},"0x0588a34cf0de4e025d359c89ca4bacbcbf175440909952d91c814412d9da996a":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"submitter",type:"address"}],name:"ApproveContentRequest",type:"event"}],contract:"BaseLibrary"},"0x70234ce475fee4ab40e5e55cf533f67f12b47ef4c860e62dd7affa84ead4b442":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentAddress",type:"address"},{indexed:!1,name:"approved",type:"bool"},{indexed:!1,name:"note",type:"string"}],name:"ApproveContent",type:"event"}],contract:"BaseLibrary"},"0x74538e2fbd034afddf32b42c5939d211ce86c7683f9768f1a4969746f81f8608":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"addressKms",type:"address"}],name:"UpdateKmsAddress",type:"event"}],contract:"BaseLibrary"},"0xcf34ef537ac33ee1ac626ca1587a0a7e8e51561e5514f8cb36afa1c5102b3bab":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"}],name:"Log",type:"event"}],ambiguous:!0},"0x4c34c2f9a78632f29fa59aaed5514cb742fd9fbcfd7ccc2c03c85f2bbc621c47":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"b",type:"bool"}],name:"LogBool",type:"event"}],ambiguous:!0},"0x62ddffe5b5108385f7a590f100e1ee414ad9551a31f089e64e82998440785e1e":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"a",type:"address"}],name:"LogAddress",type:"event"}],ambiguous:!0},"0x31c369d7029afba34b21369bcf9a6ac132fb2621c34558b914859b768d05232d":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"u",type:"uint256"}],name:"LogUint256",type:"event"}],ambiguous:!0},"0x3d9b341774178bb033613e3a7a1cadb2244b3bcbb1372905d2ba24dca38aeb22":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"u",type:"int256"}],name:"LogInt256",type:"event"}],ambiguous:!0},"0x02d93529bba9d141e5e06733c52c7e6fbcb1149586adb5c24064b522ab26f1d7":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"b",type:"bytes32"}],name:"LogBytes32",type:"event"}],ambiguous:!0},"0x6a0f12fe24f7c34df8acc096f076bac6e3f1ff225f4fccc7b0f389657bde895a":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"label",type:"string"},{indexed:!1,name:"payee",type:"address"},{indexed:!1,name:"amount",type:"uint256"}],name:"LogPayment",type:"event"}],ambiguous:!0},"0x9df71221e13c480b974b5d5bd7591b30b7ea3bfff8a56dfa7fde810a14c1c39b":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"result",type:"uint256"}],name:"RunCreate",type:"event"}],ambiguous:!0},"0x6d0dbfc3805aef247651b04b50fc717599f7e0b66c6b022ae1544406f7bf8f86":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"result",type:"uint256"}],name:"RunKill",type:"event"}],ambiguous:!0},"0xb6c1c013bb5004fe8e943c6890e300ccedf9bd73dcd4eb291b31b9f96874feff":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"proposedStatusCode",type:"int256"},{indexed:!1,name:"returnStatusCode",type:"int256"}],name:"RunStatusChange",type:"event"}],ambiguous:!0},"0xffadad18ab3777a19f664019a6261b011ab9405749e01a45950d44fb9360b385":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"level",type:"uint8"},{indexed:!1,name:"calculateAccessCharge",type:"int256"}],name:"RunAccessCharge",type:"event"}],ambiguous:!0},"0x3e68dc35f88d76818f276322c37f5021ee00e232fe0d27a93c02801aec4d9c58":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"result",type:"uint256"}],name:"RunAccess",type:"event"}],ambiguous:!0},"0xbf0f2215c45c5ee802d4c20bdfc915308c4459b0f6a78f23ad350e6408bf2891":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"result",type:"uint256"}],name:"RunFinalize",type:"event"}],ambiguous:!0},"0x786a1cca426afc9bf7b81ff1382a573ebc21b93bddf4784c49f56a3ae8a691c8":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"contentSpace",type:"address"},{indexed:!1,name:"extUserAddr",type:"address"}],name:"CreateExtUserWallet",type:"event"}],contract:"ExternalUserWallet"},"0xe36c3ab835cea1a8af00f744c77bb77bbbd33d20062bee3f9aceb6518d08e45e":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"rightsHolder",type:"bool"},{indexed:!1,name:"provider",type:"bool"},{indexed:!1,name:"membership",type:"bool"}],name:"AuthorizeRecording",type:"event"}],contract:"LvRecordableStream"},"0x41b90676ca6c9f288172c8f4f1f0253bfc527115acd3f7a972a5219ea4b0d0c5":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"recObj",type:"address"},{indexed:!1,name:"recContract",type:"address"}],name:"CreateRecording",type:"event"}],contract:"LvRecordableStream"},"0x9d3bb073bb2ef4d4a880f32fbbc665abfad2b29f532a231d93ab2207396f0b25":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"recObj",type:"address"},{indexed:!1,name:"recContract",type:"address"}],name:"DeleteRecording",type:"event"}],contract:"LvRecordableStream"},"0x8e6b298cf577550234f0d0de33a4910d4bf1c4e08fe31b1173b2c6232297b3f4":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"recObj",type:"address"},{indexed:!1,name:"recStartTime",type:"uint256"},{indexed:!1,name:"recEndTime",type:"uint256"}],name:"SetRecordingTimes",type:"event"}],contract:"LvRecordableStream"},"0x93ee8bc66b5d08a5dc39e788b1f78aa5f9ff2deda9e1387aa1fe22f9c329ed85":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"recObj",type:"address"},{indexed:!1,name:"recStatus",type:"string"}],name:"SetRecordingStatus",type:"event"}],contract:"LvRecordableStream"},"0x182a726f966f22c96d651085c2a7143482b8d96fb0964ff2664ab8bdf2b703aa":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"recObj",type:"address"},{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"accessTimestamp",type:"uint256"}],name:"RecordingPlaybackStarted",type:"event"}],contract:"LvRecordableStream"},"0x208745b583bd0c257eced13411dc4b50e9a3a9c1ef0cc2f95b30a7457ec50cc1":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"recObj",type:"address"},{indexed:!1,name:"requestID",type:"uint256"},{indexed:!1,name:"percentPlayed",type:"uint8"},{indexed:!1,name:"finalizeTimestamp",type:"uint256"}],name:"RecordingPlaybackCompleted",type:"event"}],contract:"LvRecordableStream"},"0xe3b30c4da7320d1a542eb57f205a34d2fc36ecd114595f3d50be2a73b3426e6b":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"recObj",type:"address"},{indexed:!1,name:"programId",type:"string"},{indexed:!1,name:"programStart",type:"uint256"},{indexed:!1,name:"programEnd",type:"uint256"},{indexed:!1,name:"programTitle",type:"string"}],name:"RecordedProgramId",type:"event"}],contract:"LvRecordableStream"},"0x7b4822b1021af568bad37d56a35fbc255dc67153c544aa4116a289632a4e5955":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"group",type:"address"}],name:"MembershipGroupRemoved",type:"event"}],contract:"LvRecordableStream"},"0x467a7c1305f91e354a8a1e9046906d4d1a4852f958a073a392555d809be313a7":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"group",type:"address"}],name:"MembershipGroupAdded",type:"event"}],contract:"LvRecordableStream"},"0x8d7e6a8f23ccc8845c41fd09bebe570a0885272343268bbdfd71090b878b4b21":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"}],name:"StartStream",type:"event"}],contract:"LvRecordableStream"},"0x1b01b687e3428bc184341f729ec8a57bdd569536206cfb59e5d0cecb30dfcb7e":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"}],name:"StopStream",type:"event"}],contract:"LvRecordableStream"},"0xe1182e14924c528bfb564fb8d4feefe9766244f88b00051f28182e635e9a1ae8":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"}],name:"EnableRecording",type:"event"}],contract:"LvRecordableStream"},"0x3a5d2272abc5c09c8e771719f0eeca97e31d2fc425f6c34cf1d7a712b5fb6bfd":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"}],name:"DisableRecording",type:"event"}],contract:"LvRecordableStream"},"0x3e5026851758e1ab6e995b071b048e26e92f459b047600ff68914479d5074c54":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"startTime",type:"uint256"},{indexed:!1,name:"endTime",type:"uint256"}],name:"SetTimes",type:"event"}],contract:"LvRecording"},"0x6fff8c8938f3906f27a679f8d6b6652c28d82df5e27e55ef5cdc5f96b06dee09":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"status",type:"uint8"}],name:"UpdateRecordingStatus",type:"event"}],contract:"LvRecording"},"0x453384b91e17e6c44d171f27d5d32a864cf9cc9740578ffd6552d323aa973372":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"programId",type:"string"}],name:"RecordProgramId",type:"event"}],contract:"LvRecording"},"0xb72dd3ed580fe54dae87f5560d5617f1425b22e33e0a8e6ca80bf5cca9505535":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"stream",type:"address"},{indexed:!1,name:"accessor",type:"address"},{indexed:!1,name:"rightsHolder",type:"bool"},{indexed:!1,name:"provider",type:"bool"},{indexed:!1,name:"membership",type:"bool"}],name:"AuthorizeRecording",type:"event"}],contract:"LvStreamRightsHolder"},"0xc9861f7825199418647d352092481fbd508dc7420e7a6e2f0f41be183d6e2c8d":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"stream",type:"address"}],name:"EnableRecording",type:"event"}],contract:"LvStreamRightsHolder"},"0xaeba60bf43bc8bad9685cf80e62ae6d5cd753813786f1821576545517a3e49cb":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"timestamp",type:"uint256"},{indexed:!1,name:"stream",type:"address"}],name:"DisableRecording",type:"event"}],contract:"LvStreamRightsHolder"},"0x66887b54b3a468d1f49f169043427354bba12c2a112aea5390bb426a96bf916c":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"numtokens",type:"uint256"},{indexed:!1,name:"pay_to",type:"string"},{indexed:!1,name:"nonce",type:"string"}],name:"RedeemTokenRequest",type:"event"}],contract:"PaymentService"},"0x34a9ae2cb75f5f06f7599e9cc92cb12c6a2f63af676d375bdc639acae37db5e0":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"currency",type:"string"},{indexed:!1,name:"value",type:"uint256"},{indexed:!1,name:"payment_proof",type:"string"},{indexed:!1,name:"nonce",type:"string"}],name:"RedeemTokenExecuted",type:"event"}],contract:"PaymentService"},"0x5847a2cfd3bf297a9d3a67cfa50403274ce0289f9dac832c5cb7490a7972977a":{abi:[{anonymous:!1,inputs:[{indexed:!1,name:"currency",type:"string"},{indexed:!1,name:"value",type:"uint256"}],name:"SetTokenValue",type:"event"}],contract:"PaymentService"}}},function($,tt,et){const At=et(183),nt=et(184),{FrameClient:it}=et(380),{LogMessage:at}=et(204);$.exports=class UserProfileClient{Log($,tt=!1){at(this,$,tt)}constructor({client:$,debug:tt}){this.client=$,this.debug=tt,this.userWalletAddresses={}}async CreateWallet(){if(this.creatingWallet)for(;this.creatingWallet;)await new Promise($=>setTimeout($,500));this.creatingWallet=!0;try{if(!this.walletAddress||At.EqualAddress(this.walletAddress,At.nullAddress)){if(this.Log(`Creating user wallet for user ${this.client.signer.address}`),await this.client.GetBalance({address:this.client.signer.address})<.1)return;const $=await this.client.CallContractMethodAndWait({contractAddress:At.HashToAddress(this.client.contentSpaceId),methodName:"createAccessWallet",methodArgs:[]}),tt=await this.client.ContractAbi({contractAddress:this.client.contentSpaceAddress});this.walletAddress=this.client.ExtractValueFromEvent({abi:tt,event:$,eventName:"CreateAccessWallet",eventValue:"wallet"}),this.userWalletAddresses[At.FormatAddress(this.client.signer.address)]=this.walletAddress}const $=this.client.contentSpaceLibraryId,tt=At.AddressToObjectId(this.walletAddress);try{await this.client.ContentObject({libraryId:$,objectId:tt})}catch(et){if(404===et.status){this.Log(`Creating wallet object for user ${this.client.signer.address}`);const et=await this.client.CreateContentObject({libraryId:$,objectId:tt});await this.client.FinalizeContentObject({libraryId:$,objectId:tt,writeToken:et.write_token,commitMessage:"Create user wallet object"})}}}catch($){console.error("Failed to create wallet contract:"),console.error($)}finally{this.creatingWallet=!1}}async WalletAddress($=!0){if(this.walletAddress)return this.walletAddress;const tt=await this.client.CallContractMethod({contractAddress:At.HashToAddress(this.client.contentSpaceId),methodName:"userWallets",methodArgs:[this.client.signer.address]});return At.EqualAddress(tt,At.nullAddress)||(this.walletAddress=tt),!this.walletAddress&&$&&await this.CreateWallet(),this.walletAddress}async UserWalletAddress({address:$}){if(At.EqualAddress($,this.client.signer.address))return await this.WalletAddress();if(!this.userWalletAddresses[$]){this.Log(`Retrieving user wallet address for user ${$}`);const tt=await this.client.CallContractMethod({contractAddress:At.HashToAddress(this.client.contentSpaceId),methodName:"userWallets",methodArgs:[$]});At.EqualAddress(tt,At.nullAddress)||(this.userWalletAddresses[$]=tt)}return this.userWalletAddresses[$]}async UserWalletObjectInfo({address:$}={}){const tt=$?await this.UserWalletAddress({address:$}):await this.WalletAddress();return{libraryId:this.client.contentSpaceLibraryId,objectId:tt?At.AddressToObjectId(tt):""}}async PublicUserMetadata({address:$,metadataSubtree:tt="/",queryParams:et={},select:At=[],resolveLinks:it=!1,resolveIncludeSource:at=!1,resolveIgnoreErrors:rt=!1,linkDepthLimit:st=1}){if(!$)return;if(!await this.UserWalletAddress({address:$}))return;tt=nt("public",tt||"/");const{libraryId:ot,objectId:ut}=await this.UserWalletObjectInfo({address:$});return ut?await this.client.ContentObjectMetadata({libraryId:ot,objectId:ut,queryParams:et,select:At,metadataSubtree:tt,resolveLinks:it,resolveIncludeSource:at,resolveIgnoreErrors:rt,linkDepthLimit:st}):void 0}async UserMetadata({metadataSubtree:$="/",queryParams:tt={},select:et=[],resolveLinks:At=!1,resolveIncludeSource:nt=!1,resolveIgnoreErrors:it=!1,linkDepthLimit:at=1}={}){this.Log(`Accessing private user metadata at ${$}`);const{libraryId:rt,objectId:st}=await this.UserWalletObjectInfo();return await this.client.ContentObjectMetadata({libraryId:rt,objectId:st,metadataSubtree:$,queryParams:tt,select:et,resolveLinks:At,resolveIncludeSource:nt,resolveIgnoreErrors:it,linkDepthLimit:at})}async MergeUserMetadata({metadataSubtree:$="/",metadata:tt={}}){this.Log(`Merging user metadata at ${$}`);const{libraryId:et,objectId:At}=await this.UserWalletObjectInfo(),nt=await this.client.EditContentObject({libraryId:et,objectId:At});await this.client.MergeMetadata({libraryId:et,objectId:At,writeToken:nt.write_token,metadataSubtree:$,metadata:tt}),await this.client.FinalizeContentObject({libraryId:et,objectId:At,writeToken:nt.write_token,commitMessage:"Merge user metadata"})}async ReplaceUserMetadata({metadataSubtree:$="/",metadata:tt={}}){this.Log(`Replacing user metadata at ${$}`);const{libraryId:et,objectId:At}=await this.UserWalletObjectInfo(),nt=await this.client.EditContentObject({libraryId:et,objectId:At});await this.client.ReplaceMetadata({libraryId:et,objectId:At,writeToken:nt.write_token,metadataSubtree:$,metadata:tt}),await this.client.FinalizeContentObject({libraryId:et,objectId:At,writeToken:nt.write_token,commitMessage:"Replace user metadata"})}async DeleteUserMetadata({metadataSubtree:$="/"}){this.Log(`Deleting user metadata at ${$}`);const{libraryId:tt,objectId:et}=await this.UserWalletObjectInfo(),At=await this.client.EditContentObject({libraryId:tt,objectId:et});await this.client.DeleteMetadata({libraryId:tt,objectId:et,writeToken:At.write_token,metadataSubtree:$}),await this.client.FinalizeContentObject({libraryId:tt,objectId:et,writeToken:At.write_token,commitMessage:"Delete user metadata"})}async AccessLevel(){return await this.UserMetadata({metadataSubtree:"access_level"})||"prompt"}async SetAccessLevel({level:$}){if($=$.toLowerCase(),!["private","prompt","public"].includes($))throw new Error("Invalid access level: "+$);await this.ReplaceUserMetadata({metadataSubtree:"access_level",metadata:$})}async TenantId(){return this.tenantId||(this.tenantId=await this.UserMetadata({metadataSubtree:"tenantId"})),this.tenantId}async SetTenantId({id:$,address:tt}){if($&&!$.startsWith("iten"))throw Error(`Invalid tenant ID: ${$}`);tt&&($=`iten${At.AddressToHash(tt)}`);try{if(await this.client.AccessType({id:$})!==this.client.authClient.ACCESS_TYPES.GROUP)throw Error("Invalid tenant ID: "+$)}catch(tt){throw Error("Invalid tenant ID: "+$)}await this.ReplaceUserMetadata({metadataSubtree:"tenantId",metadata:$}),this.tenantId=$}async UserProfileImage({address:$,height:tt}={}){let et;if($?et=await this.UserWalletAddress({address:$}):($=this.client.signer.address,et=this.walletAddress),!et)return;const{libraryId:At,objectId:nt}=await this.UserWalletObjectInfo({address:$});return this.client.ContentObjectImageUrl({libraryId:At,objectId:nt,height:tt,imagePath:"public/profile_image"})}async SetUserProfileImage({image:$}){if(this.Log(`Setting profile image for user ${this.client.signer.address}`),($.length||$.byteLength||$.size)>5e6)throw Error("Maximum profile image size is 5MB");const{libraryId:tt,objectId:et}=await this.UserWalletObjectInfo(),At=await this.client.EditContentObject({libraryId:tt,objectId:et});await this.client.SetContentObjectImage({libraryId:tt,objectId:et,writeToken:At.write_token,image:$,imageName:"profile_image",imagePath:"public/profile_image"}),await this.client.FinalizeContentObject({libraryId:tt,objectId:et,writeToken:At.write_token,commitMessage:"Set user profile image"})}async CollectedTags(){return await this.UserMetadata({metadataSubtree:"collected_data"})||{}}async RecordTags({libraryId:$,objectId:tt,versionHash:et}){try{await this.__RecordTags({libraryId:$,objectId:tt,versionHash:et})}catch($){console.error($)}}async __RecordTags({libraryId:$,objectId:tt,versionHash:et}){if("object"!==await this.client.AccessType({id:tt}))return;if(et||$||($=await this.client.ContentObjectLibraryId({objectId:tt})),et||(et=(await this.client.ContentObject({libraryId:$,objectId:tt})).hash),await this.UserMetadata({metadataSubtree:nt("accessed_content",et)}))return;const At=await this.UserWalletObjectInfo(),it=At.libraryId,at=At.objectId,rt=await this.client.EditContentObject({libraryId:it,objectId:at});await this.client.ReplaceMetadata({libraryId:it,objectId:at,writeToken:rt.write_token,metadataSubtree:nt("accessed_content",et),metadata:Date.now()});const st=await this.client.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,metadataSubtree:"video_tags"});if(st&&st.length>0){let $=await this.CollectedTags();const tt=this.__FormatVideoTags(st);Object.keys(tt).forEach(et=>{$[et]?($[et].occurrences+=1,$[et].aggregate+=tt[et]):$[et]={occurrences:1,aggregate:tt[et]}}),await this.client.ReplaceMetadata({libraryId:it,objectId:at,writeToken:rt.write_token,metadataSubtree:"collected_data",metadata:$})}await this.client.FinalizeContentObject({libraryId:it,objectId:at,writeToken:rt.write_token,commitMessage:"Record user tags",awaitCommitConfirmation:!1})}__FormatVideoTags($){let tt={};$.forEach($=>{$.tags.forEach($=>{tt[$.tag]?(tt[$.tag].occurrences+=1,tt[$.tag].aggregate+=$.score):tt[$.tag]={occurrences:1,aggregate:$.score}})});let et={};return Object.keys(tt).forEach($=>{et[$]=tt[$].aggregate/tt[$].occurrences}),et}PromptedMethods(){return it.PromptedMethods()}MetadataMethods(){return it.MetadataMethods()}FrameAllowedMethods(){const $=["constructor","FrameAllowedMethods","Log","MetadataMethods","PromptedMethods","RecordTags","SetAccessLevel","SetTenantId","SetUserProfileImage","__IsLibraryCreated","__TouchLibrary","__FormatVideoTags","__RecordTags"];return Object.getOwnPropertyNames(Object.getPrototypeOf(this)).filter(tt=>!$.includes(tt))}}},function($,tt,et){const At=et(381),nt=et(183),it=et(271).permissionLevels;class FrameClient{constructor({target:$,timeout:tt=30}={}){this.permissionLevels=it,!$&&"undefined"!=typeof window&&window.parent&&($=window.parent),this.target=$,this.timeout=tt,this.utils=nt;for(const $ of this.AllowedMethods())this[$]=async tt=>{let et=tt&&tt.callback;return et&&delete tt.callback,await this.SendMessage({options:{calledMethod:$,args:this.utils.MakeClonable(tt)},callback:et})};this.userProfileClient={};for(const $ of this.AllowedUserProfileMethods())this.userProfileClient[$]=async tt=>{let et=tt&&tt.callback;return et&&delete tt.callback,await this.SendMessage({options:{module:"userProfileClient",calledMethod:$,args:this.utils.MakeClonable(tt),prompted:FrameClient.PromptedMethods().includes($)},callback:et})}}async PassRequest({request:$,Respond:tt}){let et,At;try{let At;$.callbackId&&(At=et=>tt({type:"ElvFrameResponse",requestId:$.callbackId,response:et})),et=await this.SendMessage({options:$,callback:At})}catch($){At=$}return{type:"ElvFrameResponse",requestId:$.requestId,response:et,error:At}}async SendMessage({options:$={},callback:tt,noResponse:et=!1}){const nt=At.next();let it;if(tt&&(it=At.next()),this.target.postMessage({...$,type:"ElvFrameRequest",requestId:nt,callbackId:it},"*"),et)return;const at=$.calledMethod||$.operation,rt=FrameClient.FileMethods().includes($.calledMethod);let st=this.timeout;return $.prompted||rt?st=0:$.args&&$.args.fcTimeout&&(st=$.args.fcTimeout),await this.AwaitMessage(nt,st,tt,it,at)}async AwaitMessage($,tt,et,At,nt){return await new Promise((it,at)=>{let rt,st;const touchTimeout=()=>{st&&clearTimeout(st),tt>0&&(st=setTimeout(()=>{"undefined"!=typeof window&&(window.removeEventListener("message",rt),ot&&window.removeEventListener("message",ot)),at(`Request ${$} timed out (${nt})`)},1e3*tt))};let ot;At&&(ot=$=>{try{touchTimeout();const tt=$.data;if("ElvFrameResponse"!==tt.type||tt.requestId!==At)return;et(tt.response)}catch($){console.error($)}},window.addEventListener("message",ot)),rt=async tt=>{try{const et=tt.data;if("ElvFrameResponse"!==et.type||et.requestId!==$)return;clearTimeout(st),window.removeEventListener("message",rt),ot&&window.removeEventListener("message",ot),et.error?at(et.error):it(et.response)}catch($){clearTimeout(st),window.removeEventListener("message",rt),ot&&window.removeEventListener("message",ot),at($)}},touchTimeout(),window.addEventListener("message",rt)})}static PromptedMethods(){return["CollectedTags","DeleteUserMetadata","MergeUserMetadata","ReplaceUserMetadata","UserMetadata"]}static MetadataMethods(){return["DeleteUserMetadata","MergeUserMetadata","ReplaceUserMetadata","UserMetadata"]}static FileMethods(){return["DownloadFile","DownloadPart","UpdateContentObjectGraph","UploadFiles","UploadFilesFromS3","UploadPart","UploadPartChunk"]}AllowedMethods(){return["AccessGroupManagers","AccessGroupMembers","AccessGroupOwner","AccessInfo","AccessRequest","AccessType","AddAccessGroupManager","AddAccessGroupMember","AddContentLibraryGroup","AddContentObjectGroupPermission","AddLibraryContentType","AssetMetadata","AvailableDRMs","AvailableOfferings","AwaitPending","BitmovinPlayoutOptions","BlockNumber","CallBitcodeMethod","CallContractMethod","CallContractMethodAndWait","ClearCache","Collection","ConfigUrl","ContentLibraries","ContentLibrary","ContentLibraryGroupPermissions","ContentLibraryOwner","ContentObject","ContentObjectAccessComplete","ContentObjectGraph","ContentObjectGroupPermissions","ContentObjectImageUrl","ContentObjectLibraryId","ContentObjectMetadata","ContentObjectOwner","ContentObjectVersions","ContentObjects","ContentPart","ContentParts","ContentSpaceId","ContentType","ContentTypeOwner","ContentTypes","ContractAbi","ContractEvents","ContractMetadata","ContractName","CopyContentObject","CreateABRMezzanine","CreateAccessGroup","CreateAndFinalizeContentObject","CreateContentLibrary","CreateContentObject","CreateContentType","CreateEncryptionConk","CreateFileDirectories","CreateFileUploadJob","CreateLinks","CreateNTPInstance","CreatePart","CreateProductionMaster","CreateSignedToken","CurrentAccountAddress","CustomContractAddress","Decrypt","DecryptECIES","DefaultKMSAddress","DeleteAccessGroup","DeleteContentLibrary","DeleteContentObject","DeleteContentVersion","DeleteFiles","DeleteMetadata","DeleteNTPInstance","DeletePart","DeployContract","Download","DownloadEncrypted","DownloadFile","DownloadPart","EditAndFinalizeContentObject","EditContentObject","Encrypt","EncryptECIES","EncryptionConk","Events","ExtractEventFromLogs","ExtractValueFromEvent","FabricUrl","FileUrl","FinalizeABRMezzanine","FinalizeContentObject","FinalizePart","FinalizeStateChannelAccess","FinalizeUploadJob","FormatContractArguments","GenerateStateChannelToken","GetBalance","InitializeAuthPolicy","IssueNTPCode","IssueSignedNTPCode","LatestVersionHash","LibraryContentTypes","LinkAccessGroupToOauth","LinkData","LinkTarget","LinkUrl","ListAccessGroups","ListFiles","ListNTPInstances","LROStatus","MergeContractMetadata","MergeMetadata","MetadataAuth","MintNFT","NetworkInfo","NodeId","Nodes","NTPInstance","Permission","PlayoutOptions","PlayoutPathResolution","ProduceMetadataLinks","Proofs","PublicRep","PublishContentVersion","QParts","RedeemCode","RemoveAccessGroupManager","RemoveAccessGroupMember","RemoveContentObjectGroupPermission","RemoveContentLibraryGroup","RemoveLibraryContentType","Rep","ReplaceContractMetadata","ReplaceMetadata","Request","ResetRegion","SendFunds","SetAccessCharge","SetAuth","SetAuthContext","SetAuthPolicy","SetContentLibraryImage","SetContentObjectImage","SetCustomContentContract","SetGroupPermission","SetNodes","SetOauthToken","SetPolicyAuthorization","SetSignerFromOauthToken","SetStaticToken","SetVisibility","SetPermission","StartABRMezzanineJobs","SuspendNTPInstance","UnlinkAccessGroupFromOauth","UpdateContentObjectGraph","UpdateNTPInstance","UploadFileData","UploadFiles","UploadFilesFromS3","UploadJobStatus","UploadPart","UploadPartChunk","UploadStatus","UseRegion","VerifyContentObject","Visibility"]}AllowedUserProfileMethods(){return["AccessLevel","CollectedTags","CreateWallet","DeleteUserMetadata","MergeUserMetadata","PublicUserMetadata","ReplaceUserMetadata","TenantId","UserMetadata","UserProfileImage","UserWalletAddress","UserWalletObjectInfo","WalletAddress"]}}tt.FrameClient=FrameClient},function($,tt){let et=0;$.exports=class Id{static next(){return et++,et}}},function($,tt,et){const At=et(187),nt=et(183),it=et(194),at=et(184);class RemoteSigner extends At.Signer{constructor({rpcUris:$,idToken:tt,provider:et}){super(),this.HttpClient=new it({uris:$}),this.idToken=tt,this.provider=et}async Initialize(){let $=await this.Accounts();$&&0!==$.length||(await this.CreateAccount(),$=await this.Accounts()),this.id=$[0],this.address=nt.HashToAddress(this.id),this.signer=this.provider.getSigner(this.address)}async CreateAccount(){return await this.HttpClient.Request({path:at("as","jwt","generate","eth"),method:"POST",headers:{Authorization:`Bearer ${this.idToken}`}})}async Accounts(){return((await nt.ResponseToJson(this.HttpClient.Request({path:at("as","jwt","keys"),headers:{Authorization:`Bearer ${this.idToken}`,"Cache-Control":"no-cache"}}))).eth||[]).sort()}getAddress(){return this.address}async signDigest($){let tt=await nt.ResponseToJson(this.HttpClient.Request({method:"POST",path:at("as","jwt","sign","eth",this.id),headers:{Authorization:`Bearer ${this.idToken}`},body:{hash:$}}));return tt.v=parseInt(tt.v,16),tt.recoveryParam=tt.v-27,tt}async signMessage($){return Promise.resolve(At.utils.joinSignature(`0x${await this.signDigest(At.utils.hashMessage($))}`))}async sign($){$=await At.utils.resolveProperties($);const tt=await this.signDigest(At.utils.keccak256(At.utils.serializeTransaction($)));return At.utils.serializeTransaction($,tt)}async sendTransaction($){return null==$.nonce&&(($=At.utils.shallowCopy($)).nonce=await this.provider.getTransactionCount(this.address,"pending")),At.utils.populateTransaction($,this.provider,this.address).then($=>this.sign($).then($=>this.provider.sendTransaction($)))}connect(){}}$.exports=RemoteSigner},function($,tt,et){(function(tt,At){void 0===tt&&(tt=et(170).Buffer);const nt=et(269),it=et(205),at=et(183);if("undefined"==typeof crypto){const $=et(279);$.getRandomValues=tt=>$.randomBytes(tt.length),At.crypto=$}let rt;switch(at.Platform()){case at.PLATFORM_REACT_NATIVE:case at.PLATFORM_WEB:rt=et(317).default;break;default:rt=et(462).default}const st={ElvCrypto:async()=>{try{return st.elvCrypto||(st.elvCrypto=await(new rt).init()),st.elvCrypto}catch($){console.error("Error initializing ElvCrypto:"),console.error($)}},EncryptedSize:$=>{let tt=Math.floor($/1e6)*st.EncryptedBlockSize(1e6);return $%1e6!=0&&(tt+=st.EncryptedBlockSize($%1e6)),tt},EncryptedBlockSize:($,tt=!1)=>{let et=576*Math.floor($/564);return $%564!=0&&(et+=576),tt?et+608:et+129},async EncryptConk($,et){const At=await st.ElvCrypto();et=new Uint8Array(tt.from(et.replace("0x",""),"hex")),$=new Uint8Array(tt.from(JSON.stringify($)));const{data:nt,ephemeralKey:it,tag:rt}=await At.encryptECIES($,et),ot=tt.concat([tt.from(it),tt.from(rt),tt.from(nt)]);return at.B64(ot)},async DecryptCap($,et){const At=await st.ElvCrypto();et=new Uint8Array(tt.from(et.replace("0x",""),"hex"));const nt=($=tt.from($,"base64")).slice(0,65),it=$.slice(65,81),at=$.slice(81),rt=At.decryptECIES(new Uint8Array(at),et,new Uint8Array(nt),new Uint8Array(it));return JSON.parse(tt.from(rt).toString())},async GeneratePrimaryConk({spaceId:$,objectId:et}){const At=await st.ElvCrypto(),{secretKey:it,publicKey:at}=At.generatePrimaryKeys(),rt=At.generateSymmetricKey().key;return{symm_key:`kpsy${nt.encode(tt.from(rt))}`,secret_key:`kpsk${nt.encode(tt.from(it))}`,public_key:`kppk${nt.encode(tt.from(at))}`,sid:$,qid:et}},async GenerateTargetConk(){const $=await st.ElvCrypto(),{secretKey:et,publicKey:At}=$.generateTargetKeys();return{secret_key:`kpsk${nt.encode(tt.from(et))}`,public_key:`ktpk${nt.encode(tt.from(At))}`}},CapToConk($){const keyToBytes=$=>new Uint8Array(nt.decode($.slice(4)));return{symmetricKey:keyToBytes($.symm_key),secretKey:keyToBytes($.secret_key),publicKey:keyToBytes($.public_key)}},async EncryptionContext($){const tt=await st.ElvCrypto(),{symmetricKey:et,secretKey:At,publicKey:nt}=st.CapToConk($);let it,at;return nt.length===tt.PRIMARY_PK_KEY_SIZE?(at=tt.CRYPTO_TYPE_PRIMARY,it=tt.newPrimaryContext(nt,At,et)):(at=tt.CRYPTO_TYPE_TARGET,it=tt.newTargetDecryptionContext(At,et)),{context:it,type:at}},Encrypt:async($,et)=>{const At=await st.OpenEncryptionStream($);tt.isBuffer(et)||et instanceof ArrayBuffer||(et=tt.from(await new Response(et).arrayBuffer()));const nt=new Uint8Array(et);for(let $=0;$<nt.length;$+=1e6){const tt=Math.min(nt.length,$+1e6);At.write(nt.slice($,tt))}At.end();let it=[];return await new Promise(($,tt)=>{At.on("data",$=>{it.push($)}).on("finish",()=>{$()}).on("error",$=>{tt($)})}),tt.concat(it)},OpenEncryptionStream:async $=>{const tt=await st.ElvCrypto(),{context:et}=await st.EncryptionContext($),At=new it.PassThrough,nt=tt.createCipher(et);return At.pipe(nt).on("finish",()=>{et.free()}).on("error",$=>{throw Error($)})},Decrypt:async($,et)=>{const At=await st.OpenDecryptionStream($),nt=new Uint8Array(et);for(let $=0;$<nt.length;$+=1e6){const tt=Math.min(nt.length,$+1e6);At.write(nt.slice($,tt))}At.end();let it=[];return await new Promise(($,tt)=>{At.on("data",$=>{it.push($)}).on("finish",()=>{$()}).on("error",$=>{tt($)})}),tt.concat(it)},OpenDecryptionStream:async $=>{const tt=await st.ElvCrypto(),{context:et,type:At}=await st.EncryptionContext($),nt=new it.PassThrough,at=tt.createDecipher(At,et);return nt.pipe(at).on("finish",()=>{et.free()}).on("error",$=>{throw Error($)})}};$.exports=st}).call(this,et(170).Buffer,et(21))},,,,,,,,,,function($,tt,et){var At=et(164),nt=et(197),it=et(168).Buffer,at=[1518500249,1859775393,-1894007588,-899497514],rt=new Array(80);function Sha(){this.init(),this._w=rt,nt.call(this,64,56)}function rotl30($){return $<<30|$>>>2}function ft($,tt,et,At){return 0===$?tt&et|~tt&At:2===$?tt&et|tt&At|et&At:tt^et^At}At(Sha,nt),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha.prototype._update=function($){for(var tt,et=this._w,At=0|this._a,nt=0|this._b,it=0|this._c,rt=0|this._d,st=0|this._e,ot=0;ot<16;++ot)et[ot]=$.readInt32BE(4*ot);for(;ot<80;++ot)et[ot]=et[ot-3]^et[ot-8]^et[ot-14]^et[ot-16];for(var ut=0;ut<80;++ut){var ct=~~(ut/20),dt=0|((tt=At)<<5|tt>>>27)+ft(ct,nt,it,rt)+st+et[ut]+at[ct];st=rt,rt=it,it=rotl30(nt),nt=At,At=dt}this._a=At+this._a|0,this._b=nt+this._b|0,this._c=it+this._c|0,this._d=rt+this._d|0,this._e=st+this._e|0},Sha.prototype._hash=function(){var $=it.allocUnsafe(20);return $.writeInt32BE(0|this._a,0),$.writeInt32BE(0|this._b,4),$.writeInt32BE(0|this._c,8),$.writeInt32BE(0|this._d,12),$.writeInt32BE(0|this._e,16),$},$.exports=Sha},function($,tt,et){var At=et(164),nt=et(197),it=et(168).Buffer,at=[1518500249,1859775393,-1894007588,-899497514],rt=new Array(80);function Sha1(){this.init(),this._w=rt,nt.call(this,64,56)}function rotl5($){return $<<5|$>>>27}function rotl30($){return $<<30|$>>>2}function ft($,tt,et,At){return 0===$?tt&et|~tt&At:2===$?tt&et|tt&At|et&At:tt^et^At}At(Sha1,nt),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},Sha1.prototype._update=function($){for(var tt,et=this._w,At=0|this._a,nt=0|this._b,it=0|this._c,rt=0|this._d,st=0|this._e,ot=0;ot<16;++ot)et[ot]=$.readInt32BE(4*ot);for(;ot<80;++ot)et[ot]=(tt=et[ot-3]^et[ot-8]^et[ot-14]^et[ot-16])<<1|tt>>>31;for(var ut=0;ut<80;++ut){var ct=~~(ut/20),dt=rotl5(At)+ft(ct,nt,it,rt)+st+et[ut]+at[ct]|0;st=rt,rt=it,it=rotl30(nt),nt=At,At=dt}this._a=At+this._a|0,this._b=nt+this._b|0,this._c=it+this._c|0,this._d=rt+this._d|0,this._e=st+this._e|0},Sha1.prototype._hash=function(){var $=it.allocUnsafe(20);return $.writeInt32BE(0|this._a,0),$.writeInt32BE(0|this._b,4),$.writeInt32BE(0|this._c,8),$.writeInt32BE(0|this._d,12),$.writeInt32BE(0|this._e,16),$},$.exports=Sha1},function($,tt,et){var At=et(164),nt=et(281),it=et(197),at=et(168).Buffer,rt=new Array(64);function Sha224(){this.init(),this._w=rt,it.call(this,64,56)}At(Sha224,nt),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var $=at.allocUnsafe(28);return $.writeInt32BE(this._a,0),$.writeInt32BE(this._b,4),$.writeInt32BE(this._c,8),$.writeInt32BE(this._d,12),$.writeInt32BE(this._e,16),$.writeInt32BE(this._f,20),$.writeInt32BE(this._g,24),$},$.exports=Sha224},function($,tt,et){var At=et(164),nt=et(282),it=et(197),at=et(168).Buffer,rt=new Array(160);function Sha384(){this.init(),this._w=rt,it.call(this,128,112)}At(Sha384,nt),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var $=at.allocUnsafe(48);function writeInt64BE(tt,et,At){$.writeInt32BE(tt,At),$.writeInt32BE(et,At+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),$},$.exports=Sha384},function($,tt,et){"use strict";var At=et(164),nt=et(168).Buffer,it=et(188),at=nt.alloc(128);function Hmac($,tt){it.call(this,"digest"),"string"==typeof tt&&(tt=nt.from(tt)),this._alg=$,this._key=tt,tt.length>64?tt=$(tt):tt.length<64&&(tt=nt.concat([tt,at],64));for(var et=this._ipad=nt.allocUnsafe(64),At=this._opad=nt.allocUnsafe(64),rt=0;rt<64;rt++)et[rt]=54^tt[rt],At[rt]=92^tt[rt];this._hash=[et]}At(Hmac,it),Hmac.prototype._update=function($){this._hash.push($)},Hmac.prototype._final=function(){var $=this._alg(nt.concat(this._hash));return this._alg(nt.concat([this._opad,$]))},$.exports=Hmac},function($,tt,et){(function(tt,At){var nt,it=et(286),at=et(287),rt=et(288),st=et(168).Buffer,ot=tt.crypto&&tt.crypto.subtle,ut={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},ct=[];function browserPbkdf2($,tt,et,At,nt){return ot.importKey("raw",$,{name:"PBKDF2"},!1,["deriveBits"]).then((function($){return ot.deriveBits({name:"PBKDF2",salt:tt,iterations:et,hash:{name:nt}},$,At<<3)})).then((function($){return st.from($)}))}$.exports=function($,et,dt,It,ht,pt){"function"==typeof ht&&(pt=ht,ht=void 0);var yt=ut[(ht=ht||"sha1").toLowerCase()];if(!yt||"function"!=typeof tt.Promise)return At.nextTick((function(){var tt;try{tt=rt($,et,dt,It,ht)}catch($){return pt($)}pt(null,tt)}));if(it($,et,dt,It),"function"!=typeof pt)throw new Error("No callback provided to pbkdf2");st.isBuffer($)||($=st.from($,at)),st.isBuffer(et)||(et=st.from(et,at)),function resolvePromise($,tt){$.then((function($){At.nextTick((function(){tt(null,$)}))}),(function($){At.nextTick((function(){tt($)}))}))}(function checkNative($){if(tt.process&&!tt.process.browser)return Promise.resolve(!1);if(!ot||!ot.importKey||!ot.deriveBits)return Promise.resolve(!1);if(void 0!==ct[$])return ct[$];var et=browserPbkdf2(nt=nt||st.alloc(8),nt,10,128,$).then((function(){return!0})).catch((function(){return!1}));return ct[$]=et,et}(yt).then((function(tt){return tt?browserPbkdf2($,et,dt,It,yt):rt($,et,dt,It,ht)})),pt)}}).call(this,et(21),et(172))},function($,tt,et){var At=et(188),nt=et(400),it=et(164),at=et(168).Buffer,rt={"des-ede3-cbc":nt.CBC.instantiate(nt.EDE),"des-ede3":nt.EDE,"des-ede-cbc":nt.CBC.instantiate(nt.EDE),"des-ede":nt.EDE,"des-cbc":nt.CBC.instantiate(nt.DES),"des-ecb":nt.DES};function DES($){At.call(this);var tt,et=$.mode.toLowerCase(),nt=rt[et];tt=$.decrypt?"decrypt":"encrypt";var it=$.key;at.isBuffer(it)||(it=at.from(it)),"des-ede"!==et&&"des-ede-cbc"!==et||(it=at.concat([it,it.slice(0,8)]));var st=$.iv;at.isBuffer(st)||(st=at.from(st)),this._des=nt.create({key:it,iv:st,type:tt})}rt.des=rt["des-cbc"],rt.des3=rt["des-ede3-cbc"],$.exports=DES,it(DES,At),DES.prototype._update=function($){return at.from(this._des.update($))},DES.prototype._final=function(){return at.from(this._des.final())}},function($,tt,et){"use strict";tt.utils=et(290),tt.Cipher=et(238),tt.DES=et(291),tt.CBC=et(401),tt.EDE=et(402)},function($,tt,et){"use strict";var At=et(177),nt=et(164),it={};function CBCState($){At.equal($.length,8,"Invalid IV length"),this.iv=new Array(8);for(var tt=0;tt<this.iv.length;tt++)this.iv[tt]=$[tt]}tt.instantiate=function instantiate($){function CBC(tt){$.call(this,tt),this._cbcInit()}nt(CBC,$);for(var tt=Object.keys(it),et=0;et<tt.length;et++){var At=tt[et];CBC.prototype[At]=it[At]}return CBC.create=function create($){return new CBC($)},CBC},it._cbcInit=function _cbcInit(){var $=new CBCState(this.options.iv);this._cbcState=$},it._update=function _update($,tt,et,At){var nt=this._cbcState,it=this.constructor.super_.prototype,at=nt.iv;if("encrypt"===this.type){for(var rt=0;rt<this.blockSize;rt++)at[rt]^=$[tt+rt];it._update.call(this,at,0,et,At);for(rt=0;rt<this.blockSize;rt++)at[rt]=et[At+rt]}else{it._update.call(this,$,tt,et,At);for(rt=0;rt<this.blockSize;rt++)et[At+rt]^=at[rt];for(rt=0;rt<this.blockSize;rt++)at[rt]=$[tt+rt]}}},function($,tt,et){"use strict";var At=et(177),nt=et(164),it=et(238),at=et(291);function EDEState($,tt){At.equal(tt.length,24,"Invalid key length");var et=tt.slice(0,8),nt=tt.slice(8,16),it=tt.slice(16,24);this.ciphers="encrypt"===$?[at.create({type:"encrypt",key:et}),at.create({type:"decrypt",key:nt}),at.create({type:"encrypt",key:it})]:[at.create({type:"decrypt",key:it}),at.create({type:"encrypt",key:nt}),at.create({type:"decrypt",key:et})]}function EDE($){it.call(this,$);var tt=new EDEState(this.type,this.options.key);this._edeState=tt}nt(EDE,it),$.exports=EDE,EDE.create=function create($){return new EDE($)},EDE.prototype._update=function _update($,tt,et,At){var nt=this._edeState;nt.ciphers[0]._update($,tt,et,At),nt.ciphers[1]._update(et,At,et,At),nt.ciphers[2]._update(et,At,et,At)},EDE.prototype._pad=at.prototype._pad,EDE.prototype._unpad=at.prototype._unpad},function($,tt,et){var At=et(240),nt=et(295),it=et(168).Buffer,at=et(296),rt=et(188),st=et(219),ot=et(220);function Cipher($,tt,et){rt.call(this),this._cache=new Splitter,this._cipher=new st.AES(tt),this._prev=it.from(et),this._mode=$,this._autopadding=!0}et(164)(Cipher,rt),Cipher.prototype._update=function($){var tt,et;this._cache.add($);for(var At=[];tt=this._cache.get();)et=this._mode.encrypt(this,tt),At.push(et);return it.concat(At)};var ut=it.alloc(16,16);function Splitter(){this.cache=it.allocUnsafe(0)}function createCipheriv($,tt,et){var rt=At[$.toLowerCase()];if(!rt)throw new TypeError("invalid suite type");if("string"==typeof tt&&(tt=it.from(tt)),tt.length!==rt.key/8)throw new TypeError("invalid key length "+tt.length);if("string"==typeof et&&(et=it.from(et)),"GCM"!==rt.mode&&et.length!==rt.iv)throw new TypeError("invalid iv length "+et.length);return"stream"===rt.type?new at(rt.module,tt,et):"auth"===rt.type?new nt(rt.module,tt,et):new Cipher(rt.module,tt,et)}Cipher.prototype._final=function(){var $=this._cache.flush();if(this._autopadding)return $=this._mode.encrypt(this,$),this._cipher.scrub(),$;if(!$.equals(ut))throw this._cipher.scrub(),new Error("data not multiple of block length")},Cipher.prototype.setAutoPadding=function($){return this._autopadding=!!$,this},Splitter.prototype.add=function($){this.cache=it.concat([this.cache,$])},Splitter.prototype.get=function(){if(this.cache.length>15){var $=this.cache.slice(0,16);return this.cache=this.cache.slice(16),$}return null},Splitter.prototype.flush=function(){for(var $=16-this.cache.length,tt=it.allocUnsafe($),et=-1;++et<$;)tt.writeUInt8($,et);return it.concat([this.cache,tt])},tt.createCipheriv=createCipheriv,tt.createCipher=function createCipher($,tt){var et=At[$.toLowerCase()];if(!et)throw new TypeError("invalid suite type");var nt=ot(tt,!1,et.key,et.iv);return createCipheriv($,nt.key,nt.iv)}},function($,tt){tt.encrypt=function($,tt){return $._cipher.encryptBlock(tt)},tt.decrypt=function($,tt){return $._cipher.decryptBlock(tt)}},function($,tt,et){var At=et(208);tt.encrypt=function($,tt){var et=At(tt,$._prev);return $._prev=$._cipher.encryptBlock(et),$._prev},tt.decrypt=function($,tt){var et=$._prev;$._prev=tt;var nt=$._cipher.decryptBlock(tt);return At(nt,et)}},function($,tt,et){var At=et(168).Buffer,nt=et(208);function encryptStart($,tt,et){var it=tt.length,at=nt(tt,$._cache);return $._cache=$._cache.slice(it),$._prev=At.concat([$._prev,et?tt:at]),at}tt.encrypt=function($,tt,et){for(var nt,it=At.allocUnsafe(0);tt.length;){if(0===$._cache.length&&($._cache=$._cipher.encryptBlock($._prev),$._prev=At.allocUnsafe(0)),!($._cache.length<=tt.length)){it=At.concat([it,encryptStart($,tt,et)]);break}nt=$._cache.length,it=At.concat([it,encryptStart($,tt.slice(0,nt),et)]),tt=tt.slice(nt)}return it}},function($,tt,et){var At=et(168).Buffer;function encryptByte($,tt,et){var nt=$._cipher.encryptBlock($._prev)[0]^tt;return $._prev=At.concat([$._prev.slice(1),At.from([et?tt:nt])]),nt}tt.encrypt=function($,tt,et){for(var nt=tt.length,it=At.allocUnsafe(nt),at=-1;++at<nt;)it[at]=encryptByte($,tt[at],et);return it}},function($,tt,et){var At=et(168).Buffer;function encryptByte($,tt,et){for(var At,nt,it=-1,at=0;++it<8;)At=tt&1<<7-it?128:0,at+=(128&(nt=$._cipher.encryptBlock($._prev)[0]^At))>>it%8,$._prev=shiftIn($._prev,et?At:nt);return at}function shiftIn($,tt){var et=$.length,nt=-1,it=At.allocUnsafe($.length);for($=At.concat([$,At.from([tt])]);++nt<et;)it[nt]=$[nt]<<1|$[nt+1]>>7;return it}tt.encrypt=function($,tt,et){for(var nt=tt.length,it=At.allocUnsafe(nt),at=-1;++at<nt;)it[at]=encryptByte($,tt[at],et);return it}},function($,tt,et){(function($){var At=et(208);function getBlock($){return $._prev=$._cipher.encryptBlock($._prev),$._prev}tt.encrypt=function(tt,et){for(;tt._cache.length<et.length;)tt._cache=$.concat([tt._cache,getBlock(tt)]);var nt=tt._cache.slice(0,et.length);return tt._cache=tt._cache.slice(et.length),At(et,nt)}}).call(this,et(170).Buffer)},function($,tt,et){var At=et(168).Buffer,nt=At.alloc(16,0);function fromArray($){var tt=At.allocUnsafe(16);return tt.writeUInt32BE($[0]>>>0,0),tt.writeUInt32BE($[1]>>>0,4),tt.writeUInt32BE($[2]>>>0,8),tt.writeUInt32BE($[3]>>>0,12),tt}function GHASH($){this.h=$,this.state=At.alloc(16,0),this.cache=At.allocUnsafe(0)}GHASH.prototype.ghash=function($){for(var tt=-1;++tt<$.length;)this.state[tt]^=$[tt];this._multiply()},GHASH.prototype._multiply=function(){for(var $,tt,et=function toArray($){return[$.readUInt32BE(0),$.readUInt32BE(4),$.readUInt32BE(8),$.readUInt32BE(12)]}(this.h),At=[0,0,0,0],nt=-1;++nt<128;){for(0!=(this.state[~~(nt/8)]&1<<7-nt%8)&&(At[0]^=et[0],At[1]^=et[1],At[2]^=et[2],At[3]^=et[3]),tt=0!=(1&et[3]),$=3;$>0;$--)et[$]=et[$]>>>1|(1&et[$-1])<<31;et[0]=et[0]>>>1,tt&&(et[0]=et[0]^225<<24)}this.state=fromArray(At)},GHASH.prototype.update=function($){var tt;for(this.cache=At.concat([this.cache,$]);this.cache.length>=16;)tt=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(tt)},GHASH.prototype.final=function($,tt){return this.cache.length&&this.ghash(At.concat([this.cache,nt],16)),this.ghash(fromArray([0,$,0,tt])),this.state},$.exports=GHASH},function($,tt,et){var At=et(295),nt=et(168).Buffer,it=et(240),at=et(296),rt=et(188),st=et(219),ot=et(220);function Decipher($,tt,et){rt.call(this),this._cache=new Splitter,this._last=void 0,this._cipher=new st.AES(tt),this._prev=nt.from(et),this._mode=$,this._autopadding=!0}function Splitter(){this.cache=nt.allocUnsafe(0)}function createDecipheriv($,tt,et){var rt=it[$.toLowerCase()];if(!rt)throw new TypeError("invalid suite type");if("string"==typeof et&&(et=nt.from(et)),"GCM"!==rt.mode&&et.length!==rt.iv)throw new TypeError("invalid iv length "+et.length);if("string"==typeof tt&&(tt=nt.from(tt)),tt.length!==rt.key/8)throw new TypeError("invalid key length "+tt.length);return"stream"===rt.type?new at(rt.module,tt,et,!0):"auth"===rt.type?new At(rt.module,tt,et,!0):new Decipher(rt.module,tt,et)}et(164)(Decipher,rt),Decipher.prototype._update=function($){var tt,et;this._cache.add($);for(var At=[];tt=this._cache.get(this._autopadding);)et=this._mode.decrypt(this,tt),At.push(et);return nt.concat(At)},Decipher.prototype._final=function(){var $=this._cache.flush();if(this._autopadding)return function unpad($){var tt=$[15];if(tt<1||tt>16)throw new Error("unable to decrypt data");var et=-1;for(;++et<tt;)if($[et+(16-tt)]!==tt)throw new Error("unable to decrypt data");if(16===tt)return;return $.slice(0,16-tt)}(this._mode.decrypt(this,$));if($)throw new Error("data not multiple of block length")},Decipher.prototype.setAutoPadding=function($){return this._autopadding=!!$,this},Splitter.prototype.add=function($){this.cache=nt.concat([this.cache,$])},Splitter.prototype.get=function($){var tt;if($){if(this.cache.length>16)return tt=this.cache.slice(0,16),this.cache=this.cache.slice(16),tt}else if(this.cache.length>=16)return tt=this.cache.slice(0,16),this.cache=this.cache.slice(16),tt;return null},Splitter.prototype.flush=function(){if(this.cache.length)return this.cache},tt.createDecipher=function createDecipher($,tt){var et=it[$.toLowerCase()];if(!et)throw new TypeError("invalid suite type");var At=ot(tt,!1,et.key,et.iv);return createDecipheriv($,At.key,At.iv)},tt.createDecipheriv=createDecipheriv},function($,tt){tt["des-ecb"]={key:8,iv:0},tt["des-cbc"]=tt.des={key:8,iv:8},tt["des-ede3-cbc"]=tt.des3={key:24,iv:8},tt["des-ede3"]={key:24,iv:0},tt["des-ede-cbc"]={key:16,iv:8},tt["des-ede"]={key:16,iv:0}},,,function($){$.exports=JSON.parse('{"modp1":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},"modp2":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},"modp5":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},"modp14":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},"modp15":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},"modp16":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},"modp17":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},"modp18":{"gen":"02","prime":"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}')},function($,tt,et){(function(tt){var At=et(179),nt=new(et(299)),it=new At(24),at=new At(11),rt=new At(10),st=new At(3),ot=new At(7),ut=et(298),ct=et(191);function setPublicKey($,et){return et=et||"utf8",tt.isBuffer($)||($=new tt($,et)),this._pub=new At($),this}function setPrivateKey($,et){return et=et||"utf8",tt.isBuffer($)||($=new tt($,et)),this._priv=new At($),this}$.exports=DH;var dt={};function DH($,tt,et){this.setGenerator(tt),this.__prime=new At($),this._prime=At.mont(this.__prime),this._primeLen=$.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,et?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}function formatReturnValue($,et){var At=new tt($.toArray());return et?At.toString(et):At}Object.defineProperty(DH.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function checkPrime($,tt){var et=tt.toString("hex"),At=[et,$.toString(16)].join("_");if(At in dt)return dt[At];var ct,It=0;if($.isEven()||!ut.simpleSieve||!ut.fermatTest($)||!nt.test($))return It+=1,It+="02"===et||"05"===et?8:4,dt[At]=It,It;switch(nt.test($.shrn(1))||(It+=2),et){case"02":$.mod(it).cmp(at)&&(It+=8);break;case"05":(ct=$.mod(rt)).cmp(st)&&ct.cmp(ot)&&(It+=8);break;default:It+=4}return dt[At]=It,It}(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new At(ct(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function($){var et=($=($=new At($)).toRed(this._prime)).redPow(this._priv).fromRed(),nt=new tt(et.toArray()),it=this.getPrime();if(nt.length<it.length){var at=new tt(it.length-nt.length);at.fill(0),nt=tt.concat([at,nt])}return nt},DH.prototype.getPublicKey=function getPublicKey($){return formatReturnValue(this._pub,$)},DH.prototype.getPrivateKey=function getPrivateKey($){return formatReturnValue(this._priv,$)},DH.prototype.getPrime=function($){return formatReturnValue(this.__prime,$)},DH.prototype.getGenerator=function($){return formatReturnValue(this._gen,$)},DH.prototype.setGenerator=function($,et){return et=et||"utf8",tt.isBuffer($)||($=new tt($,et)),this.__gen=$,this._gen=new At($),this}}).call(this,et(170).Buffer)},function($,tt,et){(function(tt){var At=et(236),nt=et(242),it=et(243).ec,at=et(179),rt=et(222),st=et(310);function getKey($,et,nt,it){if(($=new tt($.toArray())).length<et.byteLength()){var at=new tt(et.byteLength()-$.length);at.fill(0),$=tt.concat([at,$])}var rt=nt.length,st=function bits2octets($,et){$=($=bits2int($,et)).mod(et);var At=new tt($.toArray());if(At.length<et.byteLength()){var nt=new tt(et.byteLength()-At.length);nt.fill(0),At=tt.concat([nt,At])}return At}(nt,et),ot=new tt(rt);ot.fill(1);var ut=new tt(rt);return ut.fill(0),ut=At(it,ut).update(ot).update(new tt([0])).update($).update(st).digest(),ot=At(it,ut).update(ot).digest(),{k:ut=At(it,ut).update(ot).update(new tt([1])).update($).update(st).digest(),v:ot=At(it,ut).update(ot).digest()}}function bits2int($,tt){var et=new at($),At=($.length<<3)-tt.bitLength();return At>0&&et.ishrn(At),et}function makeKey($,et,nt){var it,at;do{for(it=new tt(0);8*it.length<$.bitLength();)et.v=At(nt,et.k).update(et.v).digest(),it=tt.concat([it,et.v]);at=bits2int(it,$),et.k=At(nt,et.k).update(et.v).update(new tt([0])).digest(),et.v=At(nt,et.k).update(et.v).digest()}while(-1!==at.cmp($));return at}function makeR($,tt,et,At){return $.toRed(at.mont(et)).redPow(tt).fromRed().mod(At)}$.exports=function sign($,et,At,ot,ut){var ct=rt(et);if(ct.curve){if("ecdsa"!==ot&&"ecdsa/rsa"!==ot)throw new Error("wrong private key type");return function ecSign($,et){var At=st[et.curve.join(".")];if(!At)throw new Error("unknown curve "+et.curve.join("."));var nt=new it(At).keyFromPrivate(et.privateKey).sign($);return new tt(nt.toDER())}($,ct)}if("dsa"===ct.type){if("dsa"!==ot)throw new Error("wrong private key type");return function dsaSign($,et,At){var nt,it=et.params.priv_key,rt=et.params.p,st=et.params.q,ot=et.params.g,ut=new at(0),ct=bits2int($,st).mod(st),dt=!1,It=getKey(it,st,$,At);for(;!1===dt;)nt=makeKey(st,It,At),ut=makeR(ot,nt,rt,st),0===(dt=nt.invm(st).imul(ct.add(it.mul(ut))).mod(st)).cmpn(0)&&(dt=!1,ut=new at(0));return function toDER($,et){$=$.toArray(),et=et.toArray(),128&$[0]&&($=[0].concat($));128&et[0]&&(et=[0].concat(et));var At=[48,$.length+et.length+4,2,$.length];return At=At.concat($,[2,et.length],et),new tt(At)}(ut,dt)}($,ct,At)}if("rsa"!==ot&&"ecdsa/rsa"!==ot)throw new Error("wrong private key type");$=tt.concat([ut,$]);for(var dt=ct.modulus.byteLength(),It=[0,1];$.length+It.length+1<dt;)It.push(255);It.push(0);for(var ht=-1;++ht<$.length;)It.push($[ht]);return nt(It,ct)},$.exports.getKey=getKey,$.exports.makeKey=makeKey}).call(this,et(170).Buffer)},function($){$.exports=JSON.parse('{"_args":[["elliptic@6.5.4","/Users/ktalmadge/dev/elv-player"]],"_development":true,"_from":"elliptic@6.5.4","_id":"elliptic@6.5.4","_inBundle":false,"_integrity":"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==","_location":"/elliptic","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"elliptic@6.5.4","name":"elliptic","escapedName":"elliptic","rawSpec":"6.5.4","saveSpec":null,"fetchSpec":"6.5.4"},"_requiredBy":["/browserify-sign","/create-ecdh"],"_resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz","_spec":"6.5.4","_where":"/Users/ktalmadge/dev/elv-player","author":{"name":"Fedor Indutny","email":"fedor@indutny.com"},"bugs":{"url":"https://github.com/indutny/elliptic/issues"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},"description":"EC cryptography","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"files":["lib"],"homepage":"https://github.com/indutny/elliptic","keywords":["EC","Elliptic","curve","Cryptography"],"license":"MIT","main":"lib/elliptic.js","name":"elliptic","repository":{"type":"git","url":"git+ssh://git@github.com/indutny/elliptic.git"},"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","test":"npm run lint && npm run unit","unit":"istanbul test _mocha --reporter=spec test/index.js","version":"grunt dist && git add dist/"},"version":"6.5.4"}')},,function($,tt,et){"use strict";var At=et(178),nt=et(186),it=et(164),at=et(221),rt=At.assert;function ShortCurve($){at.call(this,"short",$),this.a=new nt($.a,16).toRed(this.red),this.b=new nt($.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism($),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}function Point($,tt,et,At){at.BasePoint.call(this,$,"affine"),null===tt&&null===et?(this.x=null,this.y=null,this.inf=!0):(this.x=new nt(tt,16),this.y=new nt(et,16),At&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function JPoint($,tt,et,At){at.BasePoint.call(this,$,"jacobian"),null===tt&&null===et&&null===At?(this.x=this.curve.one,this.y=this.curve.one,this.z=new nt(0)):(this.x=new nt(tt,16),this.y=new nt(et,16),this.z=new nt(At,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}it(ShortCurve,at),$.exports=ShortCurve,ShortCurve.prototype._getEndomorphism=function _getEndomorphism($){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var tt,et;if($.beta)tt=new nt($.beta,16).toRed(this.red);else{var At=this._getEndoRoots(this.p);tt=(tt=At[0].cmp(At[1])<0?At[0]:At[1]).toRed(this.red)}if($.lambda)et=new nt($.lambda,16);else{var it=this._getEndoRoots(this.n);0===this.g.mul(it[0]).x.cmp(this.g.x.redMul(tt))?et=it[0]:(et=it[1],rt(0===this.g.mul(et).x.cmp(this.g.x.redMul(tt))))}return{beta:tt,lambda:et,basis:$.basis?$.basis.map((function($){return{a:new nt($.a,16),b:new nt($.b,16)}})):this._getEndoBasis(et)}}},ShortCurve.prototype._getEndoRoots=function _getEndoRoots($){var tt=$===this.p?this.red:nt.mont($),et=new nt(2).toRed(tt).redInvm(),At=et.redNeg(),it=new nt(3).toRed(tt).redNeg().redSqrt().redMul(et);return[At.redAdd(it).fromRed(),At.redSub(it).fromRed()]},ShortCurve.prototype._getEndoBasis=function _getEndoBasis($){for(var tt,et,At,it,at,rt,st,ot,ut,ct=this.n.ushrn(Math.floor(this.n.bitLength()/2)),dt=$,It=this.n.clone(),ht=new nt(1),pt=new nt(0),yt=new nt(0),Ct=new nt(1),Bt=0;0!==dt.cmpn(0);){var Et=It.div(dt);ot=It.sub(Et.mul(dt)),ut=yt.sub(Et.mul(ht));var mt=Ct.sub(Et.mul(pt));if(!At&&ot.cmp(ct)<0)tt=st.neg(),et=ht,At=ot.neg(),it=ut;else if(At&&2==++Bt)break;st=ot,It=dt,dt=ot,yt=ht,ht=ut,Ct=pt,pt=mt}at=ot.neg(),rt=ut;var Qt=At.sqr().add(it.sqr());return at.sqr().add(rt.sqr()).cmp(Qt)>=0&&(at=tt,rt=et),At.negative&&(At=At.neg(),it=it.neg()),at.negative&&(at=at.neg(),rt=rt.neg()),[{a:At,b:it},{a:at,b:rt}]},ShortCurve.prototype._endoSplit=function _endoSplit($){var tt=this.endo.basis,et=tt[0],At=tt[1],nt=At.b.mul($).divRound(this.n),it=et.b.neg().mul($).divRound(this.n),at=nt.mul(et.a),rt=it.mul(At.a),st=nt.mul(et.b),ot=it.mul(At.b);return{k1:$.sub(at).sub(rt),k2:st.add(ot).neg()}},ShortCurve.prototype.pointFromX=function pointFromX($,tt){($=new nt($,16)).red||($=$.toRed(this.red));var et=$.redSqr().redMul($).redIAdd($.redMul(this.a)).redIAdd(this.b),At=et.redSqrt();if(0!==At.redSqr().redSub(et).cmp(this.zero))throw new Error("invalid point");var it=At.fromRed().isOdd();return(tt&&!it||!tt&&it)&&(At=At.redNeg()),this.point($,At)},ShortCurve.prototype.validate=function validate($){if($.inf)return!0;var tt=$.x,et=$.y,At=this.a.redMul(tt),nt=tt.redSqr().redMul(tt).redIAdd(At).redIAdd(this.b);return 0===et.redSqr().redISub(nt).cmpn(0)},ShortCurve.prototype._endoWnafMulAdd=function _endoWnafMulAdd($,tt,et){for(var At=this._endoWnafT1,nt=this._endoWnafT2,it=0;it<$.length;it++){var at=this._endoSplit(tt[it]),rt=$[it],st=rt._getBeta();at.k1.negative&&(at.k1.ineg(),rt=rt.neg(!0)),at.k2.negative&&(at.k2.ineg(),st=st.neg(!0)),At[2*it]=rt,At[2*it+1]=st,nt[2*it]=at.k1,nt[2*it+1]=at.k2}for(var ot=this._wnafMulAdd(1,At,nt,2*it,et),ut=0;ut<2*it;ut++)At[ut]=null,nt[ut]=null;return ot},it(Point,at.BasePoint),ShortCurve.prototype.point=function point($,tt,et){return new Point(this,$,tt,et)},ShortCurve.prototype.pointFromJSON=function pointFromJSON($,tt){return Point.fromJSON(this,$,tt)},Point.prototype._getBeta=function _getBeta(){if(this.curve.endo){var $=this.precomputed;if($&&$.beta)return $.beta;var tt=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if($){var et=this.curve,endoMul=function($){return et.point($.x.redMul(et.endo.beta),$.y)};$.beta=tt,tt.precomputed={beta:null,naf:$.naf&&{wnd:$.naf.wnd,points:$.naf.points.map(endoMul)},doubles:$.doubles&&{step:$.doubles.step,points:$.doubles.points.map(endoMul)}}}return tt}},Point.prototype.toJSON=function toJSON(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Point.fromJSON=function fromJSON($,tt,et){"string"==typeof tt&&(tt=JSON.parse(tt));var At=$.point(tt[0],tt[1],et);if(!tt[2])return At;function obj2point(tt){return $.point(tt[0],tt[1],et)}var nt=tt[2];return At.precomputed={beta:null,doubles:nt.doubles&&{step:nt.doubles.step,points:[At].concat(nt.doubles.points.map(obj2point))},naf:nt.naf&&{wnd:nt.naf.wnd,points:[At].concat(nt.naf.points.map(obj2point))}},At},Point.prototype.inspect=function inspect(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function isInfinity(){return this.inf},Point.prototype.add=function add($){if(this.inf)return $;if($.inf)return this;if(this.eq($))return this.dbl();if(this.neg().eq($))return this.curve.point(null,null);if(0===this.x.cmp($.x))return this.curve.point(null,null);var tt=this.y.redSub($.y);0!==tt.cmpn(0)&&(tt=tt.redMul(this.x.redSub($.x).redInvm()));var et=tt.redSqr().redISub(this.x).redISub($.x),At=tt.redMul(this.x.redSub(et)).redISub(this.y);return this.curve.point(et,At)},Point.prototype.dbl=function dbl(){if(this.inf)return this;var $=this.y.redAdd(this.y);if(0===$.cmpn(0))return this.curve.point(null,null);var tt=this.curve.a,et=this.x.redSqr(),At=$.redInvm(),nt=et.redAdd(et).redIAdd(et).redIAdd(tt).redMul(At),it=nt.redSqr().redISub(this.x.redAdd(this.x)),at=nt.redMul(this.x.redSub(it)).redISub(this.y);return this.curve.point(it,at)},Point.prototype.getX=function getX(){return this.x.fromRed()},Point.prototype.getY=function getY(){return this.y.fromRed()},Point.prototype.mul=function mul($){return $=new nt($,16),this.isInfinity()?this:this._hasDoubles($)?this.curve._fixedNafMul(this,$):this.curve.endo?this.curve._endoWnafMulAdd([this],[$]):this.curve._wnafMul(this,$)},Point.prototype.mulAdd=function mulAdd($,tt,et){var At=[this,tt],nt=[$,et];return this.curve.endo?this.curve._endoWnafMulAdd(At,nt):this.curve._wnafMulAdd(1,At,nt,2)},Point.prototype.jmulAdd=function jmulAdd($,tt,et){var At=[this,tt],nt=[$,et];return this.curve.endo?this.curve._endoWnafMulAdd(At,nt,!0):this.curve._wnafMulAdd(1,At,nt,2,!0)},Point.prototype.eq=function eq($){return this===$||this.inf===$.inf&&(this.inf||0===this.x.cmp($.x)&&0===this.y.cmp($.y))},Point.prototype.neg=function neg($){if(this.inf)return this;var tt=this.curve.point(this.x,this.y.redNeg());if($&&this.precomputed){var et=this.precomputed,negate=function($){return $.neg()};tt.precomputed={naf:et.naf&&{wnd:et.naf.wnd,points:et.naf.points.map(negate)},doubles:et.doubles&&{step:et.doubles.step,points:et.doubles.points.map(negate)}}}return tt},Point.prototype.toJ=function toJ(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},it(JPoint,at.BasePoint),ShortCurve.prototype.jpoint=function jpoint($,tt,et){return new JPoint(this,$,tt,et)},JPoint.prototype.toP=function toP(){if(this.isInfinity())return this.curve.point(null,null);var $=this.z.redInvm(),tt=$.redSqr(),et=this.x.redMul(tt),At=this.y.redMul(tt).redMul($);return this.curve.point(et,At)},JPoint.prototype.neg=function neg(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function add($){if(this.isInfinity())return $;if($.isInfinity())return this;var tt=$.z.redSqr(),et=this.z.redSqr(),At=this.x.redMul(tt),nt=$.x.redMul(et),it=this.y.redMul(tt.redMul($.z)),at=$.y.redMul(et.redMul(this.z)),rt=At.redSub(nt),st=it.redSub(at);if(0===rt.cmpn(0))return 0!==st.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var ot=rt.redSqr(),ut=ot.redMul(rt),ct=At.redMul(ot),dt=st.redSqr().redIAdd(ut).redISub(ct).redISub(ct),It=st.redMul(ct.redISub(dt)).redISub(it.redMul(ut)),ht=this.z.redMul($.z).redMul(rt);return this.curve.jpoint(dt,It,ht)},JPoint.prototype.mixedAdd=function mixedAdd($){if(this.isInfinity())return $.toJ();if($.isInfinity())return this;var tt=this.z.redSqr(),et=this.x,At=$.x.redMul(tt),nt=this.y,it=$.y.redMul(tt).redMul(this.z),at=et.redSub(At),rt=nt.redSub(it);if(0===at.cmpn(0))return 0!==rt.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var st=at.redSqr(),ot=st.redMul(at),ut=et.redMul(st),ct=rt.redSqr().redIAdd(ot).redISub(ut).redISub(ut),dt=rt.redMul(ut.redISub(ct)).redISub(nt.redMul(ot)),It=this.z.redMul(at);return this.curve.jpoint(ct,dt,It)},JPoint.prototype.dblp=function dblp($){if(0===$)return this;if(this.isInfinity())return this;if(!$)return this.dbl();var tt;if(this.curve.zeroA||this.curve.threeA){var et=this;for(tt=0;tt<$;tt++)et=et.dbl();return et}var At=this.curve.a,nt=this.curve.tinv,it=this.x,at=this.y,rt=this.z,st=rt.redSqr().redSqr(),ot=at.redAdd(at);for(tt=0;tt<$;tt++){var ut=it.redSqr(),ct=ot.redSqr(),dt=ct.redSqr(),It=ut.redAdd(ut).redIAdd(ut).redIAdd(At.redMul(st)),ht=it.redMul(ct),pt=It.redSqr().redISub(ht.redAdd(ht)),yt=ht.redISub(pt),Ct=It.redMul(yt);Ct=Ct.redIAdd(Ct).redISub(dt);var Bt=ot.redMul(rt);tt+1<$&&(st=st.redMul(dt)),it=pt,rt=Bt,ot=Ct}return this.curve.jpoint(it,ot.redMul(nt),rt)},JPoint.prototype.dbl=function dbl(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},JPoint.prototype._zeroDbl=function _zeroDbl(){var $,tt,et;if(this.zOne){var At=this.x.redSqr(),nt=this.y.redSqr(),it=nt.redSqr(),at=this.x.redAdd(nt).redSqr().redISub(At).redISub(it);at=at.redIAdd(at);var rt=At.redAdd(At).redIAdd(At),st=rt.redSqr().redISub(at).redISub(at),ot=it.redIAdd(it);ot=(ot=ot.redIAdd(ot)).redIAdd(ot),$=st,tt=rt.redMul(at.redISub(st)).redISub(ot),et=this.y.redAdd(this.y)}else{var ut=this.x.redSqr(),ct=this.y.redSqr(),dt=ct.redSqr(),It=this.x.redAdd(ct).redSqr().redISub(ut).redISub(dt);It=It.redIAdd(It);var ht=ut.redAdd(ut).redIAdd(ut),pt=ht.redSqr(),yt=dt.redIAdd(dt);yt=(yt=yt.redIAdd(yt)).redIAdd(yt),$=pt.redISub(It).redISub(It),tt=ht.redMul(It.redISub($)).redISub(yt),et=(et=this.y.redMul(this.z)).redIAdd(et)}return this.curve.jpoint($,tt,et)},JPoint.prototype._threeDbl=function _threeDbl(){var $,tt,et;if(this.zOne){var At=this.x.redSqr(),nt=this.y.redSqr(),it=nt.redSqr(),at=this.x.redAdd(nt).redSqr().redISub(At).redISub(it);at=at.redIAdd(at);var rt=At.redAdd(At).redIAdd(At).redIAdd(this.curve.a),st=rt.redSqr().redISub(at).redISub(at);$=st;var ot=it.redIAdd(it);ot=(ot=ot.redIAdd(ot)).redIAdd(ot),tt=rt.redMul(at.redISub(st)).redISub(ot),et=this.y.redAdd(this.y)}else{var ut=this.z.redSqr(),ct=this.y.redSqr(),dt=this.x.redMul(ct),It=this.x.redSub(ut).redMul(this.x.redAdd(ut));It=It.redAdd(It).redIAdd(It);var ht=dt.redIAdd(dt),pt=(ht=ht.redIAdd(ht)).redAdd(ht);$=It.redSqr().redISub(pt),et=this.y.redAdd(this.z).redSqr().redISub(ct).redISub(ut);var yt=ct.redSqr();yt=(yt=(yt=yt.redIAdd(yt)).redIAdd(yt)).redIAdd(yt),tt=It.redMul(ht.redISub($)).redISub(yt)}return this.curve.jpoint($,tt,et)},JPoint.prototype._dbl=function _dbl(){var $=this.curve.a,tt=this.x,et=this.y,At=this.z,nt=At.redSqr().redSqr(),it=tt.redSqr(),at=et.redSqr(),rt=it.redAdd(it).redIAdd(it).redIAdd($.redMul(nt)),st=tt.redAdd(tt),ot=(st=st.redIAdd(st)).redMul(at),ut=rt.redSqr().redISub(ot.redAdd(ot)),ct=ot.redISub(ut),dt=at.redSqr();dt=(dt=(dt=dt.redIAdd(dt)).redIAdd(dt)).redIAdd(dt);var It=rt.redMul(ct).redISub(dt),ht=et.redAdd(et).redMul(At);return this.curve.jpoint(ut,It,ht)},JPoint.prototype.trpl=function trpl(){if(!this.curve.zeroA)return this.dbl().add(this);var $=this.x.redSqr(),tt=this.y.redSqr(),et=this.z.redSqr(),At=tt.redSqr(),nt=$.redAdd($).redIAdd($),it=nt.redSqr(),at=this.x.redAdd(tt).redSqr().redISub($).redISub(At),rt=(at=(at=(at=at.redIAdd(at)).redAdd(at).redIAdd(at)).redISub(it)).redSqr(),st=At.redIAdd(At);st=(st=(st=st.redIAdd(st)).redIAdd(st)).redIAdd(st);var ot=nt.redIAdd(at).redSqr().redISub(it).redISub(rt).redISub(st),ut=tt.redMul(ot);ut=(ut=ut.redIAdd(ut)).redIAdd(ut);var ct=this.x.redMul(rt).redISub(ut);ct=(ct=ct.redIAdd(ct)).redIAdd(ct);var dt=this.y.redMul(ot.redMul(st.redISub(ot)).redISub(at.redMul(rt)));dt=(dt=(dt=dt.redIAdd(dt)).redIAdd(dt)).redIAdd(dt);var It=this.z.redAdd(at).redSqr().redISub(et).redISub(rt);return this.curve.jpoint(ct,dt,It)},JPoint.prototype.mul=function mul($,tt){return $=new nt($,tt),this.curve._wnafMul(this,$)},JPoint.prototype.eq=function eq($){if("affine"===$.type)return this.eq($.toJ());if(this===$)return!0;var tt=this.z.redSqr(),et=$.z.redSqr();if(0!==this.x.redMul(et).redISub($.x.redMul(tt)).cmpn(0))return!1;var At=tt.redMul(this.z),nt=et.redMul($.z);return 0===this.y.redMul(nt).redISub($.y.redMul(At)).cmpn(0)},JPoint.prototype.eqXToP=function eqXToP($){var tt=this.z.redSqr(),et=$.toRed(this.curve.red).redMul(tt);if(0===this.x.cmp(et))return!0;for(var At=$.clone(),nt=this.curve.redN.redMul(tt);;){if(At.iadd(this.curve.n),At.cmp(this.curve.p)>=0)return!1;if(et.redIAdd(nt),0===this.x.cmp(et))return!0}},JPoint.prototype.inspect=function inspect(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},JPoint.prototype.isInfinity=function isInfinity(){return 0===this.z.cmpn(0)}},function($,tt,et){"use strict";var At=et(186),nt=et(164),it=et(221),at=et(178);function MontCurve($){it.call(this,"mont",$),this.a=new At($.a,16).toRed(this.red),this.b=new At($.b,16).toRed(this.red),this.i4=new At(4).toRed(this.red).redInvm(),this.two=new At(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function Point($,tt,et){it.BasePoint.call(this,$,"projective"),null===tt&&null===et?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new At(tt,16),this.z=new At(et,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}nt(MontCurve,it),$.exports=MontCurve,MontCurve.prototype.validate=function validate($){var tt=$.normalize().x,et=tt.redSqr(),At=et.redMul(tt).redAdd(et.redMul(this.a)).redAdd(tt);return 0===At.redSqrt().redSqr().cmp(At)},nt(Point,it.BasePoint),MontCurve.prototype.decodePoint=function decodePoint($,tt){return this.point(at.toArray($,tt),1)},MontCurve.prototype.point=function point($,tt){return new Point(this,$,tt)},MontCurve.prototype.pointFromJSON=function pointFromJSON($){return Point.fromJSON(this,$)},Point.prototype.precompute=function precompute(){},Point.prototype._encode=function _encode(){return this.getX().toArray("be",this.curve.p.byteLength())},Point.fromJSON=function fromJSON($,tt){return new Point($,tt[0],tt[1]||$.one)},Point.prototype.inspect=function inspect(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function isInfinity(){return 0===this.z.cmpn(0)},Point.prototype.dbl=function dbl(){var $=this.x.redAdd(this.z).redSqr(),tt=this.x.redSub(this.z).redSqr(),et=$.redSub(tt),At=$.redMul(tt),nt=et.redMul(tt.redAdd(this.curve.a24.redMul(et)));return this.curve.point(At,nt)},Point.prototype.add=function add(){throw new Error("Not supported on Montgomery curve")},Point.prototype.diffAdd=function diffAdd($,tt){var et=this.x.redAdd(this.z),At=this.x.redSub(this.z),nt=$.x.redAdd($.z),it=$.x.redSub($.z).redMul(et),at=nt.redMul(At),rt=tt.z.redMul(it.redAdd(at).redSqr()),st=tt.x.redMul(it.redISub(at).redSqr());return this.curve.point(rt,st)},Point.prototype.mul=function mul($){for(var tt=$.clone(),et=this,At=this.curve.point(null,null),nt=[];0!==tt.cmpn(0);tt.iushrn(1))nt.push(tt.andln(1));for(var it=nt.length-1;it>=0;it--)0===nt[it]?(et=et.diffAdd(At,this),At=At.dbl()):(At=et.diffAdd(At,this),et=et.dbl());return At},Point.prototype.mulAdd=function mulAdd(){throw new Error("Not supported on Montgomery curve")},Point.prototype.jumlAdd=function jumlAdd(){throw new Error("Not supported on Montgomery curve")},Point.prototype.eq=function eq($){return 0===this.getX().cmp($.getX())},Point.prototype.normalize=function normalize(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function getX(){return this.normalize(),this.x.fromRed()}},function($,tt,et){"use strict";var At=et(178),nt=et(186),it=et(164),at=et(221),rt=At.assert;function EdwardsCurve($){this.twisted=1!=(0|$.a),this.mOneA=this.twisted&&-1==(0|$.a),this.extended=this.mOneA,at.call(this,"edwards",$),this.a=new nt($.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new nt($.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new nt($.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),rt(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|$.c)}function Point($,tt,et,At,it){at.BasePoint.call(this,$,"projective"),null===tt&&null===et&&null===At?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new nt(tt,16),this.y=new nt(et,16),this.z=At?new nt(At,16):this.curve.one,this.t=it&&new nt(it,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}it(EdwardsCurve,at),$.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function _mulA($){return this.mOneA?$.redNeg():this.a.redMul($)},EdwardsCurve.prototype._mulC=function _mulC($){return this.oneC?$:this.c.redMul($)},EdwardsCurve.prototype.jpoint=function jpoint($,tt,et,At){return this.point($,tt,et,At)},EdwardsCurve.prototype.pointFromX=function pointFromX($,tt){($=new nt($,16)).red||($=$.toRed(this.red));var et=$.redSqr(),At=this.c2.redSub(this.a.redMul(et)),it=this.one.redSub(this.c2.redMul(this.d).redMul(et)),at=At.redMul(it.redInvm()),rt=at.redSqrt();if(0!==rt.redSqr().redSub(at).cmp(this.zero))throw new Error("invalid point");var st=rt.fromRed().isOdd();return(tt&&!st||!tt&&st)&&(rt=rt.redNeg()),this.point($,rt)},EdwardsCurve.prototype.pointFromY=function pointFromY($,tt){($=new nt($,16)).red||($=$.toRed(this.red));var et=$.redSqr(),At=et.redSub(this.c2),it=et.redMul(this.d).redMul(this.c2).redSub(this.a),at=At.redMul(it.redInvm());if(0===at.cmp(this.zero)){if(tt)throw new Error("invalid point");return this.point(this.zero,$)}var rt=at.redSqrt();if(0!==rt.redSqr().redSub(at).cmp(this.zero))throw new Error("invalid point");return rt.fromRed().isOdd()!==tt&&(rt=rt.redNeg()),this.point(rt,$)},EdwardsCurve.prototype.validate=function validate($){if($.isInfinity())return!0;$.normalize();var tt=$.x.redSqr(),et=$.y.redSqr(),At=tt.redMul(this.a).redAdd(et),nt=this.c2.redMul(this.one.redAdd(this.d.redMul(tt).redMul(et)));return 0===At.cmp(nt)},it(Point,at.BasePoint),EdwardsCurve.prototype.pointFromJSON=function pointFromJSON($){return Point.fromJSON(this,$)},EdwardsCurve.prototype.point=function point($,tt,et,At){return new Point(this,$,tt,et,At)},Point.fromJSON=function fromJSON($,tt){return new Point($,tt[0],tt[1],tt[2])},Point.prototype.inspect=function inspect(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Point.prototype.isInfinity=function isInfinity(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Point.prototype._extDbl=function _extDbl(){var $=this.x.redSqr(),tt=this.y.redSqr(),et=this.z.redSqr();et=et.redIAdd(et);var At=this.curve._mulA($),nt=this.x.redAdd(this.y).redSqr().redISub($).redISub(tt),it=At.redAdd(tt),at=it.redSub(et),rt=At.redSub(tt),st=nt.redMul(at),ot=it.redMul(rt),ut=nt.redMul(rt),ct=at.redMul(it);return this.curve.point(st,ot,ct,ut)},Point.prototype._projDbl=function _projDbl(){var $,tt,et,At,nt,it,at=this.x.redAdd(this.y).redSqr(),rt=this.x.redSqr(),st=this.y.redSqr();if(this.curve.twisted){var ot=(At=this.curve._mulA(rt)).redAdd(st);this.zOne?($=at.redSub(rt).redSub(st).redMul(ot.redSub(this.curve.two)),tt=ot.redMul(At.redSub(st)),et=ot.redSqr().redSub(ot).redSub(ot)):(nt=this.z.redSqr(),it=ot.redSub(nt).redISub(nt),$=at.redSub(rt).redISub(st).redMul(it),tt=ot.redMul(At.redSub(st)),et=ot.redMul(it))}else At=rt.redAdd(st),nt=this.curve._mulC(this.z).redSqr(),it=At.redSub(nt).redSub(nt),$=this.curve._mulC(at.redISub(At)).redMul(it),tt=this.curve._mulC(At).redMul(rt.redISub(st)),et=At.redMul(it);return this.curve.point($,tt,et)},Point.prototype.dbl=function dbl(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Point.prototype._extAdd=function _extAdd($){var tt=this.y.redSub(this.x).redMul($.y.redSub($.x)),et=this.y.redAdd(this.x).redMul($.y.redAdd($.x)),At=this.t.redMul(this.curve.dd).redMul($.t),nt=this.z.redMul($.z.redAdd($.z)),it=et.redSub(tt),at=nt.redSub(At),rt=nt.redAdd(At),st=et.redAdd(tt),ot=it.redMul(at),ut=rt.redMul(st),ct=it.redMul(st),dt=at.redMul(rt);return this.curve.point(ot,ut,dt,ct)},Point.prototype._projAdd=function _projAdd($){var tt,et,At=this.z.redMul($.z),nt=At.redSqr(),it=this.x.redMul($.x),at=this.y.redMul($.y),rt=this.curve.d.redMul(it).redMul(at),st=nt.redSub(rt),ot=nt.redAdd(rt),ut=this.x.redAdd(this.y).redMul($.x.redAdd($.y)).redISub(it).redISub(at),ct=At.redMul(st).redMul(ut);return this.curve.twisted?(tt=At.redMul(ot).redMul(at.redSub(this.curve._mulA(it))),et=st.redMul(ot)):(tt=At.redMul(ot).redMul(at.redSub(it)),et=this.curve._mulC(st).redMul(ot)),this.curve.point(ct,tt,et)},Point.prototype.add=function add($){return this.isInfinity()?$:$.isInfinity()?this:this.curve.extended?this._extAdd($):this._projAdd($)},Point.prototype.mul=function mul($){return this._hasDoubles($)?this.curve._fixedNafMul(this,$):this.curve._wnafMul(this,$)},Point.prototype.mulAdd=function mulAdd($,tt,et){return this.curve._wnafMulAdd(1,[this,tt],[$,et],2,!1)},Point.prototype.jmulAdd=function jmulAdd($,tt,et){return this.curve._wnafMulAdd(1,[this,tt],[$,et],2,!0)},Point.prototype.normalize=function normalize(){if(this.zOne)return this;var $=this.z.redInvm();return this.x=this.x.redMul($),this.y=this.y.redMul($),this.t&&(this.t=this.t.redMul($)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function neg(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function getX(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function getY(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function eq($){return this===$||0===this.getX().cmp($.getX())&&0===this.getY().cmp($.getY())},Point.prototype.eqXToP=function eqXToP($){var tt=$.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(tt))return!0;for(var et=$.clone(),At=this.curve.redN.redMul(this.z);;){if(et.iadd(this.curve.n),et.cmp(this.curve.p)>=0)return!1;if(tt.redIAdd(At),0===this.x.cmp(tt))return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add},function($,tt,et){"use strict";tt.sha1=et(424),tt.sha224=et(425),tt.sha256=et(304),tt.sha384=et(426),tt.sha512=et(305)},function($,tt,et){"use strict";var At=et(182),nt=et(209),it=et(303),at=At.rotl32,rt=At.sum32,st=At.sum32_5,ot=it.ft_1,ut=nt.BlockHash,ct=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;ut.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}At.inherits(SHA1,ut),$.exports=SHA1,SHA1.blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function _update($,tt){for(var et=this.W,At=0;At<16;At++)et[At]=$[tt+At];for(;At<et.length;At++)et[At]=at(et[At-3]^et[At-8]^et[At-14]^et[At-16],1);var nt=this.h[0],it=this.h[1],ut=this.h[2],dt=this.h[3],It=this.h[4];for(At=0;At<et.length;At++){var ht=~~(At/20),pt=st(at(nt,5),ot(ht,it,ut,dt),It,et[At],ct[ht]);It=dt,dt=ut,ut=at(it,30),it=nt,nt=pt}this.h[0]=rt(this.h[0],nt),this.h[1]=rt(this.h[1],it),this.h[2]=rt(this.h[2],ut),this.h[3]=rt(this.h[3],dt),this.h[4]=rt(this.h[4],It)},SHA1.prototype._digest=function digest($){return"hex"===$?At.toHex32(this.h,"big"):At.split32(this.h,"big")}},function($,tt,et){"use strict";var At=et(182),nt=et(304);function SHA224(){if(!(this instanceof SHA224))return new SHA224;nt.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}At.inherits(SHA224,nt),$.exports=SHA224,SHA224.blockSize=512,SHA224.outSize=224,SHA224.hmacStrength=192,SHA224.padLength=64,SHA224.prototype._digest=function digest($){return"hex"===$?At.toHex32(this.h.slice(0,7),"big"):At.split32(this.h.slice(0,7),"big")}},function($,tt,et){"use strict";var At=et(182),nt=et(305);function SHA384(){if(!(this instanceof SHA384))return new SHA384;nt.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}At.inherits(SHA384,nt),$.exports=SHA384,SHA384.blockSize=1024,SHA384.outSize=384,SHA384.hmacStrength=192,SHA384.padLength=128,SHA384.prototype._digest=function digest($){return"hex"===$?At.toHex32(this.h.slice(0,12),"big"):At.split32(this.h.slice(0,12),"big")}},function($,tt,et){"use strict";var At=et(182),nt=et(209),it=At.rotl32,at=At.sum32,rt=At.sum32_3,st=At.sum32_4,ot=nt.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;ot.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function f($,tt,et,At){return $<=15?tt^et^At:$<=31?tt&et|~tt&At:$<=47?(tt|~et)^At:$<=63?tt&At|et&~At:tt^(et|~At)}function K($){return $<=15?0:$<=31?1518500249:$<=47?1859775393:$<=63?2400959708:2840853838}function Kh($){return $<=15?1352829926:$<=31?1548603684:$<=47?1836072691:$<=63?2053994217:0}At.inherits(RIPEMD160,ot),tt.ripemd160=RIPEMD160,RIPEMD160.blockSize=512,RIPEMD160.outSize=160,RIPEMD160.hmacStrength=192,RIPEMD160.padLength=64,RIPEMD160.prototype._update=function update($,tt){for(var et=this.h[0],At=this.h[1],nt=this.h[2],ot=this.h[3],ht=this.h[4],pt=et,yt=At,Ct=nt,Bt=ot,Et=ht,mt=0;mt<80;mt++){var Qt=at(it(st(et,f(mt,At,nt,ot),$[ut[mt]+tt],K(mt)),dt[mt]),ht);et=ht,ht=ot,ot=it(nt,10),nt=At,At=Qt,Qt=at(it(st(pt,f(79-mt,yt,Ct,Bt),$[ct[mt]+tt],Kh(mt)),It[mt]),Et),pt=Et,Et=Bt,Bt=it(Ct,10),Ct=yt,yt=Qt}Qt=rt(this.h[1],nt,Bt),this.h[1]=rt(this.h[2],ot,Et),this.h[2]=rt(this.h[3],ht,pt),this.h[3]=rt(this.h[4],et,yt),this.h[4]=rt(this.h[0],At,Ct),this.h[0]=Qt},RIPEMD160.prototype._digest=function digest($){return"hex"===$?At.toHex32(this.h,"little"):At.split32(this.h,"little")};var ut=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],ct=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],dt=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],It=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},function($,tt,et){"use strict";var At=et(182),nt=et(177);function Hmac($,tt,et){if(!(this instanceof Hmac))return new Hmac($,tt,et);this.Hash=$,this.blockSize=$.blockSize/8,this.outSize=$.outSize/8,this.inner=null,this.outer=null,this._init(At.toArray(tt,et))}$.exports=Hmac,Hmac.prototype._init=function init($){$.length>this.blockSize&&($=(new this.Hash).update($).digest()),nt($.length<=this.blockSize);for(var tt=$.length;tt<this.blockSize;tt++)$.push(0);for(tt=0;tt<$.length;tt++)$[tt]^=54;for(this.inner=(new this.Hash).update($),tt=0;tt<$.length;tt++)$[tt]^=106;this.outer=(new this.Hash).update($)},Hmac.prototype.update=function update($,tt){return this.inner.update($,tt),this},Hmac.prototype.digest=function digest($){return this.outer.update(this.inner.digest()),this.outer.digest($)}},function($,tt){$.exports={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}},function($,tt,et){"use strict";var At=et(186),nt=et(431),it=et(178),at=et(244),rt=et(241),st=it.assert,ot=et(432),ut=et(433);function EC($){if(!(this instanceof EC))return new EC($);"string"==typeof $&&(st(Object.prototype.hasOwnProperty.call(at,$),"Unknown curve "+$),$=at[$]),$ instanceof at.PresetCurve&&($={curve:$}),this.curve=$.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=$.curve.g,this.g.precompute($.curve.n.bitLength()+1),this.hash=$.hash||$.curve.hash}$.exports=EC,EC.prototype.keyPair=function keyPair($){return new ot(this,$)},EC.prototype.keyFromPrivate=function keyFromPrivate($,tt){return ot.fromPrivate(this,$,tt)},EC.prototype.keyFromPublic=function keyFromPublic($,tt){return ot.fromPublic(this,$,tt)},EC.prototype.genKeyPair=function genKeyPair($){$||($={});for(var tt=new nt({hash:this.hash,pers:$.pers,persEnc:$.persEnc||"utf8",entropy:$.entropy||rt(this.hash.hmacStrength),entropyEnc:$.entropy&&$.entropyEnc||"utf8",nonce:this.n.toArray()}),et=this.n.byteLength(),it=this.n.sub(new At(2));;){var at=new At(tt.generate(et));if(!(at.cmp(it)>0))return at.iaddn(1),this.keyFromPrivate(at)}},EC.prototype._truncateToN=function _truncateToN($,tt){var et=8*$.byteLength()-this.n.bitLength();return et>0&&($=$.ushrn(et)),!tt&&$.cmp(this.n)>=0?$.sub(this.n):$},EC.prototype.sign=function sign($,tt,et,it){"object"==typeof et&&(it=et,et=null),it||(it={}),tt=this.keyFromPrivate(tt,et),$=this._truncateToN(new At($,16));for(var at=this.n.byteLength(),rt=tt.getPrivate().toArray("be",at),st=$.toArray("be",at),ot=new nt({hash:this.hash,entropy:rt,nonce:st,pers:it.pers,persEnc:it.persEnc||"utf8"}),ct=this.n.sub(new At(1)),dt=0;;dt++){var It=it.k?it.k(dt):new At(ot.generate(this.n.byteLength()));if(!((It=this._truncateToN(It,!0)).cmpn(1)<=0||It.cmp(ct)>=0)){var ht=this.g.mul(It);if(!ht.isInfinity()){var pt=ht.getX(),yt=pt.umod(this.n);if(0!==yt.cmpn(0)){var Ct=It.invm(this.n).mul(yt.mul(tt.getPrivate()).iadd($));if(0!==(Ct=Ct.umod(this.n)).cmpn(0)){var Bt=(ht.getY().isOdd()?1:0)|(0!==pt.cmp(yt)?2:0);return it.canonical&&Ct.cmp(this.nh)>0&&(Ct=this.n.sub(Ct),Bt^=1),new ut({r:yt,s:Ct,recoveryParam:Bt})}}}}}},EC.prototype.verify=function verify($,tt,et,nt){$=this._truncateToN(new At($,16)),et=this.keyFromPublic(et,nt);var it=(tt=new ut(tt,"hex")).r,at=tt.s;if(it.cmpn(1)<0||it.cmp(this.n)>=0)return!1;if(at.cmpn(1)<0||at.cmp(this.n)>=0)return!1;var rt,st=at.invm(this.n),ot=st.mul($).umod(this.n),ct=st.mul(it).umod(this.n);return this.curve._maxwellTrick?!(rt=this.g.jmulAdd(ot,et.getPublic(),ct)).isInfinity()&&rt.eqXToP(it):!(rt=this.g.mulAdd(ot,et.getPublic(),ct)).isInfinity()&&0===rt.getX().umod(this.n).cmp(it)},EC.prototype.recoverPubKey=function($,tt,et,nt){st((3&et)===et,"The recovery param is more than two bits"),tt=new ut(tt,nt);var it=this.n,at=new At($),rt=tt.r,ot=tt.s,ct=1&et,dt=et>>1;if(rt.cmp(this.curve.p.umod(this.curve.n))>=0&&dt)throw new Error("Unable to find sencond key candinate");rt=dt?this.curve.pointFromX(rt.add(this.curve.n),ct):this.curve.pointFromX(rt,ct);var It=tt.r.invm(it),ht=it.sub(at).mul(It).umod(it),pt=ot.mul(It).umod(it);return this.g.mulAdd(ht,rt,pt)},EC.prototype.getKeyRecoveryParam=function($,tt,et,At){if(null!==(tt=new ut(tt,At)).recoveryParam)return tt.recoveryParam;for(var nt=0;nt<4;nt++){var it;try{it=this.recoverPubKey($,tt,nt)}catch($){continue}if(it.eq(et))return nt}throw new Error("Unable to find valid recovery factor")}},function($,tt,et){"use strict";var At=et(245),nt=et(301),it=et(177);function HmacDRBG($){if(!(this instanceof HmacDRBG))return new HmacDRBG($);this.hash=$.hash,this.predResist=!!$.predResist,this.outLen=this.hash.outSize,this.minEntropy=$.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var tt=nt.toArray($.entropy,$.entropyEnc||"hex"),et=nt.toArray($.nonce,$.nonceEnc||"hex"),At=nt.toArray($.pers,$.persEnc||"hex");it(tt.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(tt,et,At)}$.exports=HmacDRBG,HmacDRBG.prototype._init=function init($,tt,et){var At=$.concat(tt).concat(et);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var nt=0;nt<this.V.length;nt++)this.K[nt]=0,this.V[nt]=1;this._update(At),this._reseed=1,this.reseedInterval=281474976710656},HmacDRBG.prototype._hmac=function hmac(){return new At.hmac(this.hash,this.K)},HmacDRBG.prototype._update=function update($){var tt=this._hmac().update(this.V).update([0]);$&&(tt=tt.update($)),this.K=tt.digest(),this.V=this._hmac().update(this.V).digest(),$&&(this.K=this._hmac().update(this.V).update([1]).update($).digest(),this.V=this._hmac().update(this.V).digest())},HmacDRBG.prototype.reseed=function reseed($,tt,et,At){"string"!=typeof tt&&(At=et,et=tt,tt=null),$=nt.toArray($,tt),et=nt.toArray(et,At),it($.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update($.concat(et||[])),this._reseed=1},HmacDRBG.prototype.generate=function generate($,tt,et,At){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof tt&&(At=et,et=tt,tt=null),et&&(et=nt.toArray(et,At||"hex"),this._update(et));for(var it=[];it.length<$;)this.V=this._hmac().update(this.V).digest(),it=it.concat(this.V);var at=it.slice(0,$);return this._update(et),this._reseed++,nt.encode(at,tt)}},function($,tt,et){"use strict";var At=et(186),nt=et(178).assert;function KeyPair($,tt){this.ec=$,this.priv=null,this.pub=null,tt.priv&&this._importPrivate(tt.priv,tt.privEnc),tt.pub&&this._importPublic(tt.pub,tt.pubEnc)}$.exports=KeyPair,KeyPair.fromPublic=function fromPublic($,tt,et){return tt instanceof KeyPair?tt:new KeyPair($,{pub:tt,pubEnc:et})},KeyPair.fromPrivate=function fromPrivate($,tt,et){return tt instanceof KeyPair?tt:new KeyPair($,{priv:tt,privEnc:et})},KeyPair.prototype.validate=function validate(){var $=this.getPublic();return $.isInfinity()?{result:!1,reason:"Invalid public key"}:$.validate()?$.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},KeyPair.prototype.getPublic=function getPublic($,tt){return"string"==typeof $&&(tt=$,$=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),tt?this.pub.encode(tt,$):this.pub},KeyPair.prototype.getPrivate=function getPrivate($){return"hex"===$?this.priv.toString(16,2):this.priv},KeyPair.prototype._importPrivate=function _importPrivate($,tt){this.priv=new At($,tt||16),this.priv=this.priv.umod(this.ec.curve.n)},KeyPair.prototype._importPublic=function _importPublic($,tt){if($.x||$.y)return"mont"===this.ec.curve.type?nt($.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||nt($.x&&$.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point($.x,$.y));this.pub=this.ec.curve.decodePoint($,tt)},KeyPair.prototype.derive=function derive($){return $.validate()||nt($.validate(),"public point not validated"),$.mul(this.priv).getX()},KeyPair.prototype.sign=function sign($,tt,et){return this.ec.sign($,this,tt,et)},KeyPair.prototype.verify=function verify($,tt){return this.ec.verify($,tt,this)},KeyPair.prototype.inspect=function inspect(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"}},function($,tt,et){"use strict";var At=et(186),nt=et(178),it=nt.assert;function Signature($,tt){if($ instanceof Signature)return $;this._importDER($,tt)||(it($.r&&$.s,"Signature without r or s"),this.r=new At($.r,16),this.s=new At($.s,16),void 0===$.recoveryParam?this.recoveryParam=null:this.recoveryParam=$.recoveryParam)}function Position(){this.place=0}function getLength($,tt){var et=$[tt.place++];if(!(128&et))return et;var At=15&et;if(0===At||At>4)return!1;for(var nt=0,it=0,at=tt.place;it<At;it++,at++)nt<<=8,nt|=$[at],nt>>>=0;return!(nt<=127)&&(tt.place=at,nt)}function rmPadding($){for(var tt=0,et=$.length-1;!$[tt]&&!(128&$[tt+1])&&tt<et;)tt++;return 0===tt?$:$.slice(tt)}function constructLength($,tt){if(tt<128)$.push(tt);else{var et=1+(Math.log(tt)/Math.LN2>>>3);for($.push(128|et);--et;)$.push(tt>>>(et<<3)&255);$.push(tt)}}$.exports=Signature,Signature.prototype._importDER=function _importDER($,tt){$=nt.toArray($,tt);var et=new Position;if(48!==$[et.place++])return!1;var it=getLength($,et);if(!1===it)return!1;if(it+et.place!==$.length)return!1;if(2!==$[et.place++])return!1;var at=getLength($,et);if(!1===at)return!1;var rt=$.slice(et.place,at+et.place);if(et.place+=at,2!==$[et.place++])return!1;var st=getLength($,et);if(!1===st)return!1;if($.length!==st+et.place)return!1;var ot=$.slice(et.place,st+et.place);if(0===rt[0]){if(!(128&rt[1]))return!1;rt=rt.slice(1)}if(0===ot[0]){if(!(128&ot[1]))return!1;ot=ot.slice(1)}return this.r=new At(rt),this.s=new At(ot),this.recoveryParam=null,!0},Signature.prototype.toDER=function toDER($){var tt=this.r.toArray(),et=this.s.toArray();for(128&tt[0]&&(tt=[0].concat(tt)),128&et[0]&&(et=[0].concat(et)),tt=rmPadding(tt),et=rmPadding(et);!(et[0]||128&et[1]);)et=et.slice(1);var At=[2];constructLength(At,tt.length),(At=At.concat(tt)).push(2),constructLength(At,et.length);var it=At.concat(et),at=[48];return constructLength(at,it.length),at=at.concat(it),nt.encode(at,$)}},function($,tt,et){"use strict";var At=et(245),nt=et(244),it=et(178),at=it.assert,rt=it.parseBytes,st=et(435),ot=et(436);function EDDSA($){if(at("ed25519"===$,"only tested with ed25519 so far"),!(this instanceof EDDSA))return new EDDSA($);$=nt[$].curve,this.curve=$,this.g=$.g,this.g.precompute($.n.bitLength()+1),this.pointClass=$.point().constructor,this.encodingLength=Math.ceil($.n.bitLength()/8),this.hash=At.sha512}$.exports=EDDSA,EDDSA.prototype.sign=function sign($,tt){$=rt($);var et=this.keyFromSecret(tt),At=this.hashInt(et.messagePrefix(),$),nt=this.g.mul(At),it=this.encodePoint(nt),at=this.hashInt(it,et.pubBytes(),$).mul(et.priv()),st=At.add(at).umod(this.curve.n);return this.makeSignature({R:nt,S:st,Rencoded:it})},EDDSA.prototype.verify=function verify($,tt,et){$=rt($),tt=this.makeSignature(tt);var At=this.keyFromPublic(et),nt=this.hashInt(tt.Rencoded(),At.pubBytes(),$),it=this.g.mul(tt.S());return tt.R().add(At.pub().mul(nt)).eq(it)},EDDSA.prototype.hashInt=function hashInt(){for(var $=this.hash(),tt=0;tt<arguments.length;tt++)$.update(arguments[tt]);return it.intFromLE($.digest()).umod(this.curve.n)},EDDSA.prototype.keyFromPublic=function keyFromPublic($){return st.fromPublic(this,$)},EDDSA.prototype.keyFromSecret=function keyFromSecret($){return st.fromSecret(this,$)},EDDSA.prototype.makeSignature=function makeSignature($){return $ instanceof ot?$:new ot(this,$)},EDDSA.prototype.encodePoint=function encodePoint($){var tt=$.getY().toArray("le",this.encodingLength);return tt[this.encodingLength-1]|=$.getX().isOdd()?128:0,tt},EDDSA.prototype.decodePoint=function decodePoint($){var tt=($=it.parseBytes($)).length-1,et=$.slice(0,tt).concat(-129&$[tt]),At=0!=(128&$[tt]),nt=it.intFromLE(et);return this.curve.pointFromY(nt,At)},EDDSA.prototype.encodeInt=function encodeInt($){return $.toArray("le",this.encodingLength)},EDDSA.prototype.decodeInt=function decodeInt($){return it.intFromLE($)},EDDSA.prototype.isPoint=function isPoint($){return $ instanceof this.pointClass}},function($,tt,et){"use strict";var At=et(178),nt=At.assert,it=At.parseBytes,at=At.cachedProperty;function KeyPair($,tt){this.eddsa=$,this._secret=it(tt.secret),$.isPoint(tt.pub)?this._pub=tt.pub:this._pubBytes=it(tt.pub)}KeyPair.fromPublic=function fromPublic($,tt){return tt instanceof KeyPair?tt:new KeyPair($,{pub:tt})},KeyPair.fromSecret=function fromSecret($,tt){return tt instanceof KeyPair?tt:new KeyPair($,{secret:tt})},KeyPair.prototype.secret=function secret(){return this._secret},at(KeyPair,"pubBytes",(function pubBytes(){return this.eddsa.encodePoint(this.pub())})),at(KeyPair,"pub",(function pub(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),at(KeyPair,"privBytes",(function privBytes(){var $=this.eddsa,tt=this.hash(),et=$.encodingLength-1,At=tt.slice(0,$.encodingLength);return At[0]&=248,At[et]&=127,At[et]|=64,At})),at(KeyPair,"priv",(function priv(){return this.eddsa.decodeInt(this.privBytes())})),at(KeyPair,"hash",(function hash(){return this.eddsa.hash().update(this.secret()).digest()})),at(KeyPair,"messagePrefix",(function messagePrefix(){return this.hash().slice(this.eddsa.encodingLength)})),KeyPair.prototype.sign=function sign($){return nt(this._secret,"KeyPair can only verify"),this.eddsa.sign($,this)},KeyPair.prototype.verify=function verify($,tt){return this.eddsa.verify($,tt,this)},KeyPair.prototype.getSecret=function getSecret($){return nt(this._secret,"KeyPair is public only"),At.encode(this.secret(),$)},KeyPair.prototype.getPublic=function getPublic($){return At.encode(this.pubBytes(),$)},$.exports=KeyPair},function($,tt,et){"use strict";var At=et(186),nt=et(178),it=nt.assert,at=nt.cachedProperty,rt=nt.parseBytes;function Signature($,tt){this.eddsa=$,"object"!=typeof tt&&(tt=rt(tt)),Array.isArray(tt)&&(tt={R:tt.slice(0,$.encodingLength),S:tt.slice($.encodingLength)}),it(tt.R&&tt.S,"Signature without R or S"),$.isPoint(tt.R)&&(this._R=tt.R),tt.S instanceof At&&(this._S=tt.S),this._Rencoded=Array.isArray(tt.R)?tt.R:tt.Rencoded,this._Sencoded=Array.isArray(tt.S)?tt.S:tt.Sencoded}at(Signature,"S",(function S(){return this.eddsa.decodeInt(this.Sencoded())})),at(Signature,"R",(function R(){return this.eddsa.decodePoint(this.Rencoded())})),at(Signature,"Rencoded",(function Rencoded(){return this.eddsa.encodePoint(this.R())})),at(Signature,"Sencoded",(function Sencoded(){return this.eddsa.encodeInt(this.S())})),Signature.prototype.toBytes=function toBytes(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function toHex(){return nt.encode(this.toBytes(),"hex").toUpperCase()},$.exports=Signature},function($,tt,et){"use strict";var At=et(210);tt.certificate=et(447);var nt=At.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));tt.RSAPrivateKey=nt;var it=At.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));tt.RSAPublicKey=it;var at=At.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(rt),this.key("subjectPublicKey").bitstr())}));tt.PublicKey=at;var rt=At.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),st=At.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(rt),this.key("subjectPrivateKey").octstr())}));tt.PrivateKey=st;var ot=At.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));tt.EncryptedPrivateKey=ot;var ut=At.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));tt.DSAPrivateKey=ut,tt.DSAparam=At.define("DSAparam",(function(){this.int()}));var ct=At.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(dt),this.key("publicKey").optional().explicit(1).bitstr())}));tt.ECPrivateKey=ct;var dt=At.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));tt.signature=At.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}))},function($,tt,et){var At=et(210),nt=et(164);function Entity($,tt){this.name=$,this.body=tt,this.decoders={},this.encoders={}}tt.define=function define($,tt){return new Entity($,tt)},Entity.prototype._createNamed=function createNamed($){var tt;try{tt=et(439).runInThisContext("(function "+this.name+"(entity) {\n this._initNamed(entity);\n})")}catch($){tt=function($){this._initNamed($)}}return nt(tt,$),tt.prototype._initNamed=function initnamed(tt){$.call(this,tt)},new tt(this)},Entity.prototype._getDecoder=function _getDecoder($){return $=$||"der",this.decoders.hasOwnProperty($)||(this.decoders[$]=this._createNamed(At.decoders[$])),this.decoders[$]},Entity.prototype.decode=function decode($,tt,et){return this._getDecoder(tt).decode($,et)},Entity.prototype._getEncoder=function _getEncoder($){return $=$||"der",this.encoders.hasOwnProperty($)||(this.encoders[$]=this._createNamed(At.encoders[$])),this.encoders[$]},Entity.prototype.encode=function encode($,tt,et){return this._getEncoder(tt).encode($,et)}},function(module,exports){var indexOf=function($,tt){if($.indexOf)return $.indexOf(tt);for(var et=0;et<$.length;et++)if($[et]===tt)return et;return-1},Object_keys=function($){if(Object.keys)return Object.keys($);var tt=[];for(var et in $)tt.push(et);return tt},forEach=function($,tt){if($.forEach)return $.forEach(tt);for(var et=0;et<$.length;et++)tt($[et],et,$)},defineProp=function(){try{return Object.defineProperty({},"_",{}),function($,tt,et){Object.defineProperty($,tt,{writable:!0,enumerable:!1,configurable:!0,value:et})}}catch($){return function($,tt,et){$[tt]=et}}}(),globals=["Array","Boolean","Date","Error","EvalError","Function","Infinity","JSON","Math","NaN","Number","Object","RangeError","ReferenceError","RegExp","String","SyntaxError","TypeError","URIError","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","eval","isFinite","isNaN","parseFloat","parseInt","undefined","unescape"];function Context(){}Context.prototype={};var Script=exports.Script=function NodeScript($){if(!(this instanceof Script))return new Script($);this.code=$};Script.prototype.runInContext=function($){if(!($ instanceof Context))throw new TypeError("needs a 'context' argument.");var tt=document.createElement("iframe");tt.style||(tt.style={}),tt.style.display="none",document.body.appendChild(tt);var et=tt.contentWindow,At=et.eval,nt=et.execScript;!At&&nt&&(nt.call(et,"null"),At=et.eval),forEach(Object_keys($),(function(tt){et[tt]=$[tt]})),forEach(globals,(function(tt){$[tt]&&(et[tt]=$[tt])}));var it=Object_keys(et),at=At.call(et,this.code);return forEach(Object_keys(et),(function(tt){(tt in $||-1===indexOf(it,tt))&&($[tt]=et[tt])})),forEach(globals,(function(tt){tt in $||defineProp($,tt,et[tt])})),document.body.removeChild(tt),at},Script.prototype.runInThisContext=function(){return eval(this.code)},Script.prototype.runInNewContext=function($){var tt=Script.createContext($),et=this.runInContext(tt);return $&&forEach(Object_keys(tt),(function(et){$[et]=tt[et]})),et},forEach(Object_keys(Script.prototype),(function($){exports[$]=Script[$]=function(tt){var et=Script(tt);return et[$].apply(et,[].slice.call(arguments,1))}})),exports.isContext=function($){return $ instanceof Context},exports.createScript=function($){return exports.Script($)},exports.createContext=Script.createContext=function($){var tt=new Context;return"object"==typeof $&&forEach(Object_keys($),(function(et){tt[et]=$[et]})),tt}},function($,tt,et){var At=et(164);function Reporter($){this._reporterState={obj:null,path:[],options:$||{},errors:[]}}function ReporterError($,tt){this.path=$,this.rethrow(tt)}tt.Reporter=Reporter,Reporter.prototype.isError=function isError($){return $ instanceof ReporterError},Reporter.prototype.save=function save(){var $=this._reporterState;return{obj:$.obj,pathLen:$.path.length}},Reporter.prototype.restore=function restore($){var tt=this._reporterState;tt.obj=$.obj,tt.path=tt.path.slice(0,$.pathLen)},Reporter.prototype.enterKey=function enterKey($){return this._reporterState.path.push($)},Reporter.prototype.exitKey=function exitKey($){var tt=this._reporterState;tt.path=tt.path.slice(0,$-1)},Reporter.prototype.leaveKey=function leaveKey($,tt,et){var At=this._reporterState;this.exitKey($),null!==At.obj&&(At.obj[tt]=et)},Reporter.prototype.path=function path(){return this._reporterState.path.join("/")},Reporter.prototype.enterObject=function enterObject(){var $=this._reporterState,tt=$.obj;return $.obj={},tt},Reporter.prototype.leaveObject=function leaveObject($){var tt=this._reporterState,et=tt.obj;return tt.obj=$,et},Reporter.prototype.error=function error($){var tt,et=this._reporterState,At=$ instanceof ReporterError;if(tt=At?$:new ReporterError(et.path.map((function($){return"["+JSON.stringify($)+"]"})).join(""),$.message||$,$.stack),!et.options.partial)throw tt;return At||et.errors.push(tt),tt},Reporter.prototype.wrapResult=function wrapResult($){var tt=this._reporterState;return tt.options.partial?{result:this.isError($)?null:$,errors:tt.errors}:$},At(ReporterError,Error),ReporterError.prototype.rethrow=function rethrow($){if(this.message=$+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,ReporterError),!this.stack)try{throw new Error(this.message)}catch($){this.stack=$.stack}return this}},function($,tt,et){var At=et(211).Reporter,nt=et(211).EncoderBuffer,it=et(211).DecoderBuffer,at=et(177),rt=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],st=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(rt);function Node($,tt){var et={};this._baseState=et,et.enc=$,et.parent=tt||null,et.children=null,et.tag=null,et.args=null,et.reverseArgs=null,et.choice=null,et.optional=!1,et.any=!1,et.obj=!1,et.use=null,et.useDecoder=null,et.key=null,et.default=null,et.explicit=null,et.implicit=null,et.contains=null,et.parent||(et.children=[],this._wrap())}$.exports=Node;var ot=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];Node.prototype.clone=function clone(){var $=this._baseState,tt={};ot.forEach((function(et){tt[et]=$[et]}));var et=new this.constructor(tt.parent);return et._baseState=tt,et},Node.prototype._wrap=function wrap(){var $=this._baseState;st.forEach((function(tt){this[tt]=function _wrappedMethod(){var et=new this.constructor(this);return $.children.push(et),et[tt].apply(et,arguments)}}),this)},Node.prototype._init=function init($){var tt=this._baseState;at(null===tt.parent),$.call(this),tt.children=tt.children.filter((function($){return $._baseState.parent===this}),this),at.equal(tt.children.length,1,"Root node can have only one child")},Node.prototype._useArgs=function useArgs($){var tt=this._baseState,et=$.filter((function($){return $ instanceof this.constructor}),this);$=$.filter((function($){return!($ instanceof this.constructor)}),this),0!==et.length&&(at(null===tt.children),tt.children=et,et.forEach((function($){$._baseState.parent=this}),this)),0!==$.length&&(at(null===tt.args),tt.args=$,tt.reverseArgs=$.map((function($){if("object"!=typeof $||$.constructor!==Object)return $;var tt={};return Object.keys($).forEach((function(et){et==(0|et)&&(et|=0);var At=$[et];tt[At]=et})),tt})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function($){Node.prototype[$]=function _overrided(){var tt=this._baseState;throw new Error($+" not implemented for encoding: "+tt.enc)}})),rt.forEach((function($){Node.prototype[$]=function _tagMethod(){var tt=this._baseState,et=Array.prototype.slice.call(arguments);return at(null===tt.tag),tt.tag=$,this._useArgs(et),this}})),Node.prototype.use=function use($){at($);var tt=this._baseState;return at(null===tt.use),tt.use=$,this},Node.prototype.optional=function optional(){return this._baseState.optional=!0,this},Node.prototype.def=function def($){var tt=this._baseState;return at(null===tt.default),tt.default=$,tt.optional=!0,this},Node.prototype.explicit=function explicit($){var tt=this._baseState;return at(null===tt.explicit&&null===tt.implicit),tt.explicit=$,this},Node.prototype.implicit=function implicit($){var tt=this._baseState;return at(null===tt.explicit&&null===tt.implicit),tt.implicit=$,this},Node.prototype.obj=function obj(){var $=this._baseState,tt=Array.prototype.slice.call(arguments);return $.obj=!0,0!==tt.length&&this._useArgs(tt),this},Node.prototype.key=function key($){var tt=this._baseState;return at(null===tt.key),tt.key=$,this},Node.prototype.any=function any(){return this._baseState.any=!0,this},Node.prototype.choice=function choice($){var tt=this._baseState;return at(null===tt.choice),tt.choice=$,this._useArgs(Object.keys($).map((function(tt){return $[tt]}))),this},Node.prototype.contains=function contains($){var tt=this._baseState;return at(null===tt.use),tt.contains=$,this},Node.prototype._decode=function decode($,tt){var et=this._baseState;if(null===et.parent)return $.wrapResult(et.children[0]._decode($,tt));var At,nt=et.default,at=!0,rt=null;if(null!==et.key&&(rt=$.enterKey(et.key)),et.optional){var st=null;if(null!==et.explicit?st=et.explicit:null!==et.implicit?st=et.implicit:null!==et.tag&&(st=et.tag),null!==st||et.any){if(at=this._peekTag($,st,et.any),$.isError(at))return at}else{var ot=$.save();try{null===et.choice?this._decodeGeneric(et.tag,$,tt):this._decodeChoice($,tt),at=!0}catch($){at=!1}$.restore(ot)}}if(et.obj&&at&&(At=$.enterObject()),at){if(null!==et.explicit){var ut=this._decodeTag($,et.explicit);if($.isError(ut))return ut;$=ut}var ct=$.offset;if(null===et.use&&null===et.choice){if(et.any)ot=$.save();var dt=this._decodeTag($,null!==et.implicit?et.implicit:et.tag,et.any);if($.isError(dt))return dt;et.any?nt=$.raw(ot):$=dt}if(tt&&tt.track&&null!==et.tag&&tt.track($.path(),ct,$.length,"tagged"),tt&&tt.track&&null!==et.tag&&tt.track($.path(),$.offset,$.length,"content"),nt=et.any?nt:null===et.choice?this._decodeGeneric(et.tag,$,tt):this._decodeChoice($,tt),$.isError(nt))return nt;if(et.any||null!==et.choice||null===et.children||et.children.forEach((function decodeChildren(et){et._decode($,tt)})),et.contains&&("octstr"===et.tag||"bitstr"===et.tag)){var It=new it(nt);nt=this._getUse(et.contains,$._reporterState.obj)._decode(It,tt)}}return et.obj&&at&&(nt=$.leaveObject(At)),null===et.key||null===nt&&!0!==at?null!==rt&&$.exitKey(rt):$.leaveKey(rt,et.key,nt),nt},Node.prototype._decodeGeneric=function decodeGeneric($,tt,et){var At=this._baseState;return"seq"===$||"set"===$?null:"seqof"===$||"setof"===$?this._decodeList(tt,$,At.args[0],et):/str$/.test($)?this._decodeStr(tt,$,et):"objid"===$&&At.args?this._decodeObjid(tt,At.args[0],At.args[1],et):"objid"===$?this._decodeObjid(tt,null,null,et):"gentime"===$||"utctime"===$?this._decodeTime(tt,$,et):"null_"===$?this._decodeNull(tt,et):"bool"===$?this._decodeBool(tt,et):"objDesc"===$?this._decodeStr(tt,$,et):"int"===$||"enum"===$?this._decodeInt(tt,At.args&&At.args[0],et):null!==At.use?this._getUse(At.use,tt._reporterState.obj)._decode(tt,et):tt.error("unknown tag: "+$)},Node.prototype._getUse=function _getUse($,tt){var et=this._baseState;return et.useDecoder=this._use($,tt),at(null===et.useDecoder._baseState.parent),et.useDecoder=et.useDecoder._baseState.children[0],et.implicit!==et.useDecoder._baseState.implicit&&(et.useDecoder=et.useDecoder.clone(),et.useDecoder._baseState.implicit=et.implicit),et.useDecoder},Node.prototype._decodeChoice=function decodeChoice($,tt){var et=this._baseState,At=null,nt=!1;return Object.keys(et.choice).some((function(it){var at=$.save(),rt=et.choice[it];try{var st=rt._decode($,tt);if($.isError(st))return!1;At={type:it,value:st},nt=!0}catch(tt){return $.restore(at),!1}return!0}),this),nt?At:$.error("Choice not matched")},Node.prototype._createEncoderBuffer=function createEncoderBuffer($){return new nt($,this.reporter)},Node.prototype._encode=function encode($,tt,et){var At=this._baseState;if(null===At.default||At.default!==$){var nt=this._encodeValue($,tt,et);if(void 0!==nt&&!this._skipDefault(nt,tt,et))return nt}},Node.prototype._encodeValue=function encode($,tt,et){var nt=this._baseState;if(null===nt.parent)return nt.children[0]._encode($,tt||new At);var it=null;if(this.reporter=tt,nt.optional&&void 0===$){if(null===nt.default)return;$=nt.default}var at=null,rt=!1;if(nt.any)it=this._createEncoderBuffer($);else if(nt.choice)it=this._encodeChoice($,tt);else if(nt.contains)at=this._getUse(nt.contains,et)._encode($,tt),rt=!0;else if(nt.children)at=nt.children.map((function(et){if("null_"===et._baseState.tag)return et._encode(null,tt,$);if(null===et._baseState.key)return tt.error("Child should have a key");var At=tt.enterKey(et._baseState.key);if("object"!=typeof $)return tt.error("Child expected, but input is not object");var nt=et._encode($[et._baseState.key],tt,$);return tt.leaveKey(At),nt}),this).filter((function($){return $})),at=this._createEncoderBuffer(at);else if("seqof"===nt.tag||"setof"===nt.tag){if(!nt.args||1!==nt.args.length)return tt.error("Too many args for : "+nt.tag);if(!Array.isArray($))return tt.error("seqof/setof, but data is not Array");var st=this.clone();st._baseState.implicit=null,at=this._createEncoderBuffer($.map((function(et){var At=this._baseState;return this._getUse(At.args[0],$)._encode(et,tt)}),st))}else null!==nt.use?it=this._getUse(nt.use,et)._encode($,tt):(at=this._encodePrimitive(nt.tag,$),rt=!0);if(!nt.any&&null===nt.choice){var ot=null!==nt.implicit?nt.implicit:nt.tag,ut=null===nt.implicit?"universal":"context";null===ot?null===nt.use&&tt.error("Tag could be omitted only for .use()"):null===nt.use&&(it=this._encodeComposite(ot,rt,ut,at))}return null!==nt.explicit&&(it=this._encodeComposite(nt.explicit,!1,"context",it)),it},Node.prototype._encodeChoice=function encodeChoice($,tt){var et=this._baseState,At=et.choice[$.type];return At||at(!1,$.type+" not found in "+JSON.stringify(Object.keys(et.choice))),At._encode($.value,tt)},Node.prototype._encodePrimitive=function encodePrimitive($,tt){var et=this._baseState;if(/str$/.test($))return this._encodeStr(tt,$);if("objid"===$&&et.args)return this._encodeObjid(tt,et.reverseArgs[0],et.args[1]);if("objid"===$)return this._encodeObjid(tt,null,null);if("gentime"===$||"utctime"===$)return this._encodeTime(tt,$);if("null_"===$)return this._encodeNull();if("int"===$||"enum"===$)return this._encodeInt(tt,et.args&&et.reverseArgs[0]);if("bool"===$)return this._encodeBool(tt);if("objDesc"===$)return this._encodeStr(tt,$);throw new Error("Unsupported tag: "+$)},Node.prototype._isNumstr=function isNumstr($){return/^[0-9 ]*$/.test($)},Node.prototype._isPrintstr=function isPrintstr($){return/^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test($)}},function($,tt,et){var At=et(307);tt.tagClass={0:"universal",1:"application",2:"context",3:"private"},tt.tagClassByName=At._reverse(tt.tagClass),tt.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},tt.tagByName=At._reverse(tt.tag)},function($,tt,et){var At=tt;At.der=et(308),At.pem=et(444)},function($,tt,et){var At=et(164),nt=et(170).Buffer,it=et(308);function PEMDecoder($){it.call(this,$),this.enc="pem"}At(PEMDecoder,it),$.exports=PEMDecoder,PEMDecoder.prototype.decode=function decode($,tt){for(var et=$.toString().split(/[\r\n]+/g),At=tt.label.toUpperCase(),at=/^-----(BEGIN|END) ([^-]+)-----$/,rt=-1,st=-1,ot=0;ot<et.length;ot++){var ut=et[ot].match(at);if(null!==ut&&ut[2]===At){if(-1!==rt){if("END"!==ut[1])break;st=ot;break}if("BEGIN"!==ut[1])break;rt=ot}}if(-1===rt||-1===st)throw new Error("PEM section not found for: "+At);var ct=et.slice(rt+1,st).join("");ct.replace(/[^a-z0-9\+\/=]+/gi,"");var dt=new nt(ct,"base64");return it.prototype.decode.call(this,dt,tt)}},function($,tt,et){var At=tt;At.der=et(309),At.pem=et(446)},function($,tt,et){var At=et(164),nt=et(309);function PEMEncoder($){nt.call(this,$),this.enc="pem"}At(PEMEncoder,nt),$.exports=PEMEncoder,PEMEncoder.prototype.encode=function encode($,tt){for(var et=nt.prototype.encode.call(this,$).toString("base64"),At=["-----BEGIN "+tt.label+"-----"],it=0;it<et.length;it+=64)At.push(et.slice(it,it+64));return At.push("-----END "+tt.label+"-----"),At.join("\n")}},function($,tt,et){"use strict";var At=et(210),nt=At.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),it=At.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),at=At.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),rt=At.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(at),this.key("subjectPublicKey").bitstr())})),st=At.define("RelativeDistinguishedName",(function(){this.setof(it)})),ot=At.define("RDNSequence",(function(){this.seqof(st)})),ut=At.define("Name",(function(){this.choice({rdnSequence:this.use(ot)})})),ct=At.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(nt),this.key("notAfter").use(nt))})),dt=At.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),It=At.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(at),this.key("issuer").use(ut),this.key("validity").use(ct),this.key("subject").use(ut),this.key("subjectPublicKeyInfo").use(rt),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(dt).optional())})),ht=At.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(It),this.key("signatureAlgorithm").use(at),this.key("signatureValue").bitstr())}));$.exports=ht},function($){$.exports=JSON.parse('{"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"}')},function($,tt,et){var At=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m,nt=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,it=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m,at=et(220),rt=et(239),st=et(168).Buffer;$.exports=function($,tt){var et,ot=$.toString(),ut=ot.match(At);if(ut){var ct="aes"+ut[1],dt=st.from(ut[2],"hex"),It=st.from(ut[3].replace(/[\r\n]/g,""),"base64"),ht=at(tt,dt.slice(0,8),parseInt(ut[1],10)).key,pt=[],yt=rt.createDecipheriv(ct,ht,dt);pt.push(yt.update(It)),pt.push(yt.final()),et=st.concat(pt)}else{var Ct=ot.match(it);et=new st(Ct[2].replace(/[\r\n]/g,""),"base64")}return{tag:ot.match(nt)[1],data:et}}},function($,tt,et){(function(tt){var At=et(179),nt=et(243).ec,it=et(222),at=et(310);function checkValue($,tt){if($.cmpn(0)<=0)throw new Error("invalid sig");if($.cmp(tt)>=tt)throw new Error("invalid sig")}$.exports=function verify($,et,rt,st,ot){var ut=it(rt);if("ec"===ut.type){if("ecdsa"!==st&&"ecdsa/rsa"!==st)throw new Error("wrong public key type");return function ecVerify($,tt,et){var At=at[et.data.algorithm.curve.join(".")];if(!At)throw new Error("unknown curve "+et.data.algorithm.curve.join("."));var it=new nt(At),rt=et.data.subjectPrivateKey.data;return it.verify(tt,$,rt)}($,et,ut)}if("dsa"===ut.type){if("dsa"!==st)throw new Error("wrong public key type");return function dsaVerify($,tt,et){var nt=et.data.p,at=et.data.q,rt=et.data.g,st=et.data.pub_key,ot=it.signature.decode($,"der"),ut=ot.s,ct=ot.r;checkValue(ut,at),checkValue(ct,at);var dt=At.mont(nt),It=ut.invm(at);return 0===rt.toRed(dt).redPow(new At(tt).mul(It).mod(at)).fromRed().mul(st.toRed(dt).redPow(ct.mul(It).mod(at)).fromRed()).mod(nt).mod(at).cmp(ct)}($,et,ut)}if("rsa"!==st&&"ecdsa/rsa"!==st)throw new Error("wrong public key type");et=tt.concat([ot,et]);for(var ct=ut.modulus.byteLength(),dt=[1],It=0;et.length+dt.length+2<ct;)dt.push(255),It++;dt.push(0);for(var ht=-1;++ht<et.length;)dt.push(et[ht]);dt=new tt(dt);var pt=At.mont(ut.modulus);$=($=new At($).toRed(pt)).redPow(new At(ut.publicExponent)),$=new tt($.fromRed().toArray());var yt=It<8?1:0;for(ct=Math.min($.length,dt.length),$.length!==dt.length&&(yt=1),ht=-1;++ht<ct;)yt|=$[ht]^dt[ht];return 0===yt}}).call(this,et(170).Buffer)},function($,tt,et){var At=et(222),nt=et(191),it=et(196),at=et(313),rt=et(314),st=et(179),ot=et(315),ut=et(242),ct=et(168).Buffer;$.exports=function publicEncrypt($,tt,et){var dt;dt=$.padding?$.padding:et?1:4;var It,ht=At($);if(4===dt)It=function oaep($,tt){var et=$.modulus.byteLength(),At=tt.length,ot=it("sha1").update(ct.alloc(0)).digest(),ut=ot.length,dt=2*ut;if(At>et-dt-2)throw new Error("message too long");var It=ct.alloc(et-At-dt-2),ht=et-ut-1,pt=nt(ut),yt=rt(ct.concat([ot,It,ct.alloc(1,1),tt],ht),at(pt,ht)),Ct=rt(pt,at(yt,ut));return new st(ct.concat([ct.alloc(1),Ct,yt],et))}(ht,tt);else if(1===dt)It=function pkcs1($,tt,et){var At,it=tt.length,at=$.modulus.byteLength();if(it>at-11)throw new Error("message too long");At=et?ct.alloc(at-it-3,255):function nonZero($){var tt,et=ct.allocUnsafe($),At=0,it=nt(2*$),at=0;for(;At<$;)at===it.length&&(it=nt(2*$),at=0),(tt=it[at++])&&(et[At++]=tt);return et}(at-it-3);return new st(ct.concat([ct.from([0,et?1:2]),At,ct.alloc(1),tt],at))}(ht,tt,et);else{if(3!==dt)throw new Error("unknown padding");if((It=new st(tt)).cmp(ht.modulus)>=0)throw new Error("data too long for modulus")}return et?ut(It,ht):ot(It,ht)}},function($,tt,et){var At=et(222),nt=et(313),it=et(314),at=et(179),rt=et(242),st=et(196),ot=et(315),ut=et(168).Buffer;$.exports=function privateDecrypt($,tt,et){var ct;ct=$.padding?$.padding:et?1:4;var dt,It=At($),ht=It.modulus.byteLength();if(tt.length>ht||new at(tt).cmp(It.modulus)>=0)throw new Error("decryption error");dt=et?ot(new at(tt),It):rt(tt,It);var pt=ut.alloc(ht-dt.length);if(dt=ut.concat([pt,dt],ht),4===ct)return function oaep($,tt){var et=$.modulus.byteLength(),At=st("sha1").update(ut.alloc(0)).digest(),at=At.length;if(0!==tt[0])throw new Error("decryption error");var rt=tt.slice(1,at+1),ot=tt.slice(at+1),ct=it(rt,nt(ot,at)),dt=it(ot,nt(ct,et-at-1));if(function compare($,tt){$=ut.from($),tt=ut.from(tt);var et=0,At=$.length;$.length!==tt.length&&(et++,At=Math.min($.length,tt.length));var nt=-1;for(;++nt<At;)et+=$[nt]^tt[nt];return et}(At,dt.slice(0,at)))throw new Error("decryption error");var It=at;for(;0===dt[It];)It++;if(1!==dt[It++])throw new Error("decryption error");return dt.slice(It)}(It,dt);if(1===ct)return function pkcs1($,tt,et){var At=tt.slice(0,2),nt=2,it=0;for(;0!==tt[nt++];)if(nt>=tt.length){it++;break}var at=tt.slice(2,nt-1);("0002"!==At.toString("hex")&&!et||"0001"!==At.toString("hex")&&et)&&it++;at.length<8&&it++;if(it)throw new Error("decryption error");return tt.slice(nt)}(0,dt,et);if(3===ct)return dt;throw new Error("unknown padding")}},function($,tt,et){(tt=$.exports=et(319)).Stream=tt,tt.Readable=tt,tt.Writable=et(323),tt.Duplex=et(199),tt.Transform=et(324),tt.PassThrough=et(459),tt.finished=et(246),tt.pipeline=et(460)},,function($,tt,et){"use strict";function ownKeys($,tt){var et=Object.keys($);if(Object.getOwnPropertySymbols){var At=Object.getOwnPropertySymbols($);tt&&(At=At.filter((function(tt){return Object.getOwnPropertyDescriptor($,tt).enumerable}))),et.push.apply(et,At)}return et}function _defineProperty($,tt,et){return tt in $?Object.defineProperty($,tt,{value:et,enumerable:!0,configurable:!0,writable:!0}):$[tt]=et,$}var At=et(170).Buffer,nt=et(456).inspect,it=nt&&nt.custom||"inspect";$.exports=function(){function BufferList(){this.head=null,this.tail=null,this.length=0}var $=BufferList.prototype;return $.push=function push($){var tt={data:$,next:null};this.length>0?this.tail.next=tt:this.head=tt,this.tail=tt,++this.length},$.unshift=function unshift($){var tt={data:$,next:this.head};0===this.length&&(this.tail=tt),this.head=tt,++this.length},$.shift=function shift(){if(0!==this.length){var $=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,$}},$.clear=function clear(){this.head=this.tail=null,this.length=0},$.join=function join($){if(0===this.length)return"";for(var tt=this.head,et=""+tt.data;tt=tt.next;)et+=$+tt.data;return et},$.concat=function concat($){if(0===this.length)return At.alloc(0);for(var tt,et,nt,it=At.allocUnsafe($>>>0),at=this.head,rt=0;at;)tt=at.data,et=it,nt=rt,At.prototype.copy.call(tt,et,nt),rt+=at.data.length,at=at.next;return it},$.consume=function consume($,tt){var et;return $<this.head.data.length?(et=this.head.data.slice(0,$),this.head.data=this.head.data.slice($)):et=$===this.head.data.length?this.shift():tt?this._getString($):this._getBuffer($),et},$.first=function first(){return this.head.data},$._getString=function _getString($){var tt=this.head,et=1,At=tt.data;for($-=At.length;tt=tt.next;){var nt=tt.data,it=$>nt.length?nt.length:$;if(it===nt.length?At+=nt:At+=nt.slice(0,$),0===($-=it)){it===nt.length?(++et,tt.next?this.head=tt.next:this.head=this.tail=null):(this.head=tt,tt.data=nt.slice(it));break}++et}return this.length-=et,At},$._getBuffer=function _getBuffer($){var tt=At.allocUnsafe($),et=this.head,nt=1;for(et.data.copy(tt),$-=et.data.length;et=et.next;){var it=et.data,at=$>it.length?it.length:$;if(it.copy(tt,tt.length-$,0,at),0===($-=at)){at===it.length?(++nt,et.next?this.head=et.next:this.head=this.tail=null):(this.head=et,et.data=it.slice(at));break}++nt}return this.length-=nt,tt},$[it]=function($,tt){return nt(this,function _objectSpread($){for(var tt=1;tt<arguments.length;tt++){var et=null!=arguments[tt]?arguments[tt]:{};tt%2?ownKeys(Object(et),!0).forEach((function(tt){_defineProperty($,tt,et[tt])})):Object.getOwnPropertyDescriptors?Object.defineProperties($,Object.getOwnPropertyDescriptors(et)):ownKeys(Object(et)).forEach((function(tt){Object.defineProperty($,tt,Object.getOwnPropertyDescriptor(et,tt))}))}return $}({},tt,{depth:0,customInspect:!1}))},BufferList}()},,function($,tt,et){"use strict";(function(tt){var At;function _defineProperty($,tt,et){return tt in $?Object.defineProperty($,tt,{value:et,enumerable:!0,configurable:!0,writable:!0}):$[tt]=et,$}var nt=et(246),it=Symbol("lastResolve"),at=Symbol("lastReject"),rt=Symbol("error"),st=Symbol("ended"),ot=Symbol("lastPromise"),ut=Symbol("handlePromise"),ct=Symbol("stream");function createIterResult($,tt){return{value:$,done:tt}}function readAndResolve($){var tt=$[it];if(null!==tt){var et=$[ct].read();null!==et&&($[ot]=null,$[it]=null,$[at]=null,tt(createIterResult(et,!1)))}}function onReadable($){tt.nextTick(readAndResolve,$)}var dt=Object.getPrototypeOf((function(){})),It=Object.setPrototypeOf((_defineProperty(At={get stream(){return this[ct]},next:function next(){var $=this,et=this[rt];if(null!==et)return Promise.reject(et);if(this[st])return Promise.resolve(createIterResult(void 0,!0));if(this[ct].destroyed)return new Promise((function(et,At){tt.nextTick((function(){$[rt]?At($[rt]):et(createIterResult(void 0,!0))}))}));var At,nt=this[ot];if(nt)At=new Promise(function wrapForNext($,tt){return function(et,At){$.then((function(){tt[st]?et(createIterResult(void 0,!0)):tt[ut](et,At)}),At)}}(nt,this));else{var it=this[ct].read();if(null!==it)return Promise.resolve(createIterResult(it,!1));At=new Promise(this[ut])}return this[ot]=At,At}},Symbol.asyncIterator,(function(){return this})),_defineProperty(At,"return",(function _return(){var $=this;return new Promise((function(tt,et){$[ct].destroy(null,(function($){$?et($):tt(createIterResult(void 0,!0))}))}))})),At),dt);$.exports=function createReadableStreamAsyncIterator($){var tt,et=Object.create(It,(_defineProperty(tt={},ct,{value:$,writable:!0}),_defineProperty(tt,it,{value:null,writable:!0}),_defineProperty(tt,at,{value:null,writable:!0}),_defineProperty(tt,rt,{value:null,writable:!0}),_defineProperty(tt,st,{value:$._readableState.endEmitted,writable:!0}),_defineProperty(tt,ut,{value:function value($,tt){var At=et[ct].read();At?(et[ot]=null,et[it]=null,et[at]=null,$(createIterResult(At,!1))):(et[it]=$,et[at]=tt)},writable:!0}),tt));return et[ot]=null,nt($,(function($){if($&&"ERR_STREAM_PREMATURE_CLOSE"!==$.code){var tt=et[at];return null!==tt&&(et[ot]=null,et[it]=null,et[at]=null,tt($)),void(et[rt]=$)}var At=et[it];null!==At&&(et[ot]=null,et[it]=null,et[at]=null,At(createIterResult(void 0,!0))),et[st]=!0})),$.on("readable",onReadable.bind(null,et)),et}}).call(this,et(172))},function($,tt){$.exports=function(){throw new Error("Readable.from is not available in the browser")}},function($,tt,et){"use strict";$.exports=PassThrough;var At=et(324);function PassThrough($){if(!(this instanceof PassThrough))return new PassThrough($);At.call(this,$)}et(164)(PassThrough,At),PassThrough.prototype._transform=function($,tt,et){et(null,$)}},function($,tt,et){"use strict";var At;var nt=et(198).codes,it=nt.ERR_MISSING_ARGS,at=nt.ERR_STREAM_DESTROYED;function noop($){if($)throw $}function destroyer($,tt,nt,it){it=function once($){var tt=!1;return function(){tt||(tt=!0,$.apply(void 0,arguments))}}(it);var rt=!1;$.on("close",(function(){rt=!0})),void 0===At&&(At=et(246)),At($,{readable:tt,writable:nt},(function($){if($)return it($);rt=!0,it()}));var st=!1;return function(tt){if(!rt&&!st)return st=!0,function isRequest($){return $.setHeader&&"function"==typeof $.abort}($)?$.abort():"function"==typeof $.destroy?$.destroy():void it(tt||new at("pipe"))}}function call($){$()}function pipe($,tt){return $.pipe(tt)}function popCallback($){return $.length?"function"!=typeof $[$.length-1]?noop:$.pop():noop}$.exports=function pipeline(){for(var $=arguments.length,tt=new Array($),et=0;et<$;et++)tt[et]=arguments[et];var At,nt=popCallback(tt);if(Array.isArray(tt[0])&&(tt=tt[0]),tt.length<2)throw new it("streams");var at=tt.map((function($,et){var it=et<tt.length-1;return destroyer($,it,et>0,(function($){At||(At=$),$&&at.forEach(call),it||(at.forEach(call),nt(At))}))}));return tt.reduce(pipe)}},function($,tt){var et={}.toString;$.exports=Array.isArray||function($){return"[object Array]"==et.call($)}},function($,tt,et){(function(tt,At,nt){$.exports=function($){var tt={};function g(et){if(tt[et])return tt[et].exports;var At=tt[et]={i:et,l:!1,exports:{}};return $[et].call(At.exports,At,At.exports,g),At.l=!0,At.exports}return g.m=$,g.c=tt,g.d=function($,tt,et){g.o($,tt)||Object.defineProperty($,tt,{enumerable:!0,get:et})},g.r=function($){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty($,Symbol.toStringTag,{value:"Module"}),Object.defineProperty($,"__esModule",{value:!0})},g.t=function($,tt){if(1&tt&&($=g($)),8&tt)return $;if(4&tt&&"object"==typeof $&&$&&$.__esModule)return $;var et=Object.create(null);if(g.r(et),Object.defineProperty(et,"default",{enumerable:!0,value:$}),2&tt&&"string"!=typeof $)for(var At in $)g.d(et,At,function(tt){return $[tt]}.bind(null,At));return et},g.n=function($){var tt=$&&$.__esModule?function(){return $.default}:function(){return $};return g.d(tt,"a",tt),tt},g.o=function($,tt){return Object.prototype.hasOwnProperty.call($,tt)},g.p="",g(g.s=5)}([function($,tt){$.exports=et(318)},function($,tt){$.exports=et(279)},function($,tt,et){"use strict";(function($){var nt,it=(nt="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(tt){var it,at=void 0!==(tt=tt||{})?tt:{},rt={};for(it in at)at.hasOwnProperty(it)&&(rt[it]=at[it]);at.arguments=[],at.thisProgram="./this.program",at.quit=function($,tt){throw tt},at.preRun=[],at.postRun=[];var st=!1,ot=!1,ut=!1,ct=!1;st="object"==typeof window,ot="function"==typeof importScripts,ut="object"==typeof At&&!st&&!ot,ct=!st&&!ut&&!ot;var dt,It,ht="";function a($){return at.locateFile?at.locateFile($,ht):ht+$}ut?(ht=$+"/",at.read=function($,tt){var At;return dt||(dt=et(3)),It||(It=et(4)),$=It.normalize($),At=dt.readFileSync($),tt?At:At.toString()},at.readBinary=function($){var tt=at.read($,!0);return tt.buffer||(tt=new Uint8Array(tt)),r(tt.buffer),tt},At.argv.length>1&&(at.thisProgram=At.argv[1].replace(/\\/g,"/")),at.arguments=At.argv.slice(2),At.on("uncaughtException",(function($){if(!($ instanceof HA))throw $})),At.on("unhandledRejection",YA),at.quit=function($){At.exit($)},at.inspect=function(){return"[Emscripten Module object]"}):ct?("undefined"!=typeof read&&(at.read=function($){return read($)}),at.readBinary=function($){var tt;return"function"==typeof readbuffer?new Uint8Array(readbuffer($)):(r("object"==typeof(tt=read($,"binary"))),tt)},"undefined"!=typeof scriptArgs?at.arguments=scriptArgs:void 0!==arguments&&(at.arguments=arguments),"function"==typeof quit&&(at.quit=function($){quit($)})):(st||ot)&&(ot?ht=self.location.href:document.currentScript&&(ht=document.currentScript.src),nt&&(ht=nt),ht=0!==ht.indexOf("blob:")?ht.substr(0,ht.lastIndexOf("/")+1):"",at.read=function($){var tt=new XMLHttpRequest;return tt.open("GET",$,!1),tt.send(null),tt.responseText},ot&&(at.readBinary=function($){var tt=new XMLHttpRequest;return tt.open("GET",$,!1),tt.responseType="arraybuffer",tt.send(null),new Uint8Array(tt.response)}),at.readAsync=function($,tt,et){var At=new XMLHttpRequest;At.open("GET",$,!0),At.responseType="arraybuffer",At.onload=function(){200==At.status||0==At.status&&At.response?tt(At.response):et()},At.onerror=et,At.send(null)},at.setWindowTitle=function($){document.title=$});var pt=at.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),yt=at.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||pt);for(it in rt)rt.hasOwnProperty(it)&&(at[it]=rt[it]);rt=void 0;var Ct,Bt={"f64-rem":function($,tt){return $%tt},debugger:function(){}};function s($,tt,et){switch("*"===(tt=tt||"i8").charAt(tt.length-1)&&(tt="i32"),tt){case"i1":case"i8":return bt[$>>0];case"i16":return vt[$>>1];case"i32":case"i64":return Mt[$>>2];case"float":return Dt[$>>2];case"double":return St[$>>3];default:YA("invalid type for getValue: "+tt)}return null}new Array(0),"object"!=typeof WebAssembly&&yt("no native wasm support detected");var Et=!1;function r($,tt){$||YA("Assertion failed: "+tt)}var mt="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function H($,tt,et){for(var At=tt+et,nt=tt;$[nt]&&!(nt>=At);)++nt;if(nt-tt>16&&$.subarray&&mt)return mt.decode($.subarray(tt,nt));for(var it="";tt<nt;){var at=$[tt++];if(128&at){var rt=63&$[tt++];if(192!=(224&at)){var st=63&$[tt++];if((at=224==(240&at)?(15&at)<<12|rt<<6|st:(7&at)<<18|rt<<12|st<<6|63&$[tt++])<65536)it+=String.fromCharCode(at);else{var ot=at-65536;it+=String.fromCharCode(55296|ot>>10,56320|1023&ot)}}else it+=String.fromCharCode((31&at)<<6|rt)}else it+=String.fromCharCode(at)}return it}function n($,tt){return $?H(wt,$,tt):""}function Y($,tt){bt.set($,tt)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var Qt,bt,wt,vt,Mt,Dt,St,kt=65536;function p($,tt){return $%tt>0&&($+=tt-$%tt),$}function d(){at.HEAP8=bt=new Int8Array(Qt),at.HEAP16=vt=new Int16Array(Qt),at.HEAP32=Mt=new Int32Array(Qt),at.HEAPU8=wt=new Uint8Array(Qt),at.HEAPU16=new Uint16Array(Qt),at.HEAPU32=new Uint32Array(Qt),at.HEAPF32=Dt=new Float32Array(Qt),at.HEAPF64=St=new Float64Array(Qt)}var _t=5252256,Rt=9344,Nt=5242880,Ht=at.TOTAL_MEMORY||16777216;function x($){for(;$.length>0;){var tt=$.shift();if("function"!=typeof tt){var et=tt.func;"number"==typeof et?void 0===tt.arg?at.dynCall_v(et):at.dynCall_vi(et,tt.arg):et(void 0===tt.arg?null:tt.arg)}else tt()}}Ht<Nt&&yt("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+Ht+"! (TOTAL_STACK="+Nt+")"),at.buffer?Qt=at.buffer:"object"==typeof WebAssembly&&"function"==typeof WebAssembly.Memory?(Ct=new WebAssembly.Memory({initial:Ht/kt}),Qt=Ct.buffer):Qt=new ArrayBuffer(Ht),d(),Mt[Rt>>2]=_t;var Ft=[],Gt=[],Ut=[],xt=[],Lt=!1;function v(){if(at.preRun)for("function"==typeof at.preRun&&(at.preRun=[at.preRun]);at.preRun.length;)b(at.preRun.shift());x(Ft)}function z(){Lt||(Lt=!0,x(Gt))}function _(){x(Ut)}function W(){if(at.postRun)for("function"==typeof at.postRun&&(at.postRun=[at.postRun]);at.postRun.length;)X(at.postRun.shift());x(xt)}function b($){Ft.unshift($)}function X($){xt.unshift($)}var Tt=0,Yt=null,Ot=null;function IA($){Tt++,at.monitorRunDependencies&&at.monitorRunDependencies(Tt)}function gA($){if(Tt--,at.monitorRunDependencies&&at.monitorRunDependencies(Tt),0==Tt&&(null!==Yt&&(clearInterval(Yt),Yt=null),Ot)){var tt=Ot;Ot=null,tt()}}at.preloadedImages={},at.preloadedAudios={};var Kt="data:application/octet-stream;base64,";function BA($){return String.prototype.startsWith?$.startsWith(Kt):0===$.indexOf(Kt)}var Pt="elv-crypto.wasm";function EA(){try{if(at.wasmBinary)return new Uint8Array(at.wasmBinary);if(at.readBinary)return at.readBinary(Pt);throw"both async and sync fetching of the wasm failed"}catch($){YA($)}}function iA(){return at.wasmBinary||!st&&!ot||"function"!=typeof fetch?new Promise((function($,tt){$(EA())})):fetch(Pt,{credentials:"same-origin"}).then((function($){if(!$.ok)throw"failed to load wasm binary file at '"+Pt+"'";return $.arrayBuffer()})).catch((function(){return EA()}))}function DA($){var tt={env:$,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:Bt};function g($,tt){var et=$.exports;at.asm=et,gA()}if(IA(),at.instantiateWasm)try{return at.instantiateWasm(tt,g)}catch($){return yt("Module.instantiateWasm callback failed with error: "+$),!1}function C($){g($.instance)}function B($){iA().then((function($){return WebAssembly.instantiate($,tt)})).then($,(function($){yt("failed to asynchronously prepare wasm: "+$),YA($)}))}return at.wasmBinary||"function"!=typeof WebAssembly.instantiateStreaming||BA(Pt)||"function"!=typeof fetch?B(C):WebAssembly.instantiateStreaming(fetch(Pt,{credentials:"same-origin"}),tt).then(C,(function($){yt("wasm streaming compile failed: "+$),yt("falling back to ArrayBuffer instantiation"),B(C)})),{}}BA(Pt)||(Pt=a(Pt)),at.asm=function($,tt,et){return tt.memory=Ct,tt.table=new WebAssembly.Table({initial:10,maximum:10,element:"anyfunc"}),tt.__memory_base=1024,tt.__table_base=0,DA(tt)};var qt={buffers:[null,[],[]],printChar:function($,tt){var et=qt.buffers[$];0===tt||10===tt?((1===$?pt:yt)(H(et,0)),et.length=0):et.push(tt)},varargs:0,get:function($){return qt.varargs+=4,Mt[qt.varargs-4>>2]},getStr:function(){return n(qt.get())},get64:function(){var $=qt.get();return qt.get(),$},getZero:function(){qt.get()}};function oA($,tt){qt.varargs=tt;try{return qt.getStreamFromFD(),qt.get(),qt.get(),qt.get(),qt.get(),0}catch($){return"undefined"!=typeof FS&&$ instanceof FS.ErrnoError||YA($),-$.errno}}function yA($,tt){qt.varargs=tt;try{for(var et=qt.get(),At=qt.get(),nt=qt.get(),it=0,at=0;at<nt;at++){for(var rt=Mt[At+8*at>>2],st=Mt[At+(8*at+4)>>2],ot=0;ot<st;ot++)qt.printChar(et,wt[rt+ot]);it+=st}return it}catch($){return"undefined"!=typeof FS&&$ instanceof FS.ErrnoError||YA($),-$.errno}}function hA($,tt){qt.varargs=tt;try{return qt.getStreamFromFD(),0}catch($){return"undefined"!=typeof FS&&$ instanceof FS.ErrnoError||YA($),-$.errno}}function MA(){return bt.length}function aA($){YA("OOM")}function tA($){$=p($,65536);var tt=Qt.byteLength;try{return-1!==Ct.grow(($-tt)/65536)&&(Qt=Ct.buffer,!0)}catch($){return!1}}function GA($){var tt=MA();if($>2147418112)return!1;for(var et=Math.max(tt,16777216);et<$;)et=et<=536870912?p(2*et,65536):Math.min(p((3*et+2147483648)/4,65536),2147418112);return!!tA(et)&&(d(),!0)}function cA($,tt,et){wt.set(wt.subarray(tt,tt+et),$)}function SA($){return at.___errno_location&&(Mt[at.___errno_location()>>2]=$),$}function sA($){var tt=Date.now()/1e3|0;return $&&(Mt[$>>2]=tt),tt}var jt={},Jt={c:YA,e:SA,k:oA,d:yA,j:hA,i:MA,h:cA,g:GA,b:sA,f:aA,a:Rt},zt=at.asm(jt,Jt,Qt);function HA($){this.name="ExitStatus",this.message="Program terminated with exit("+$+")",this.status=$}function nA($){function I(){at.calledRun||(at.calledRun=!0,Et||(z(),_(),at.onRuntimeInitialized&&at.onRuntimeInitialized(),W()))}$=$||at.arguments,Tt>0||(v(),Tt>0||at.calledRun||(at.setStatus?(at.setStatus("Running..."),setTimeout((function(){setTimeout((function(){at.setStatus("")}),1),I()}),1)):I()))}function YA($){throw at.onAbort&&at.onAbort($),void 0!==$?(pt($),yt($),$=JSON.stringify($)):$="",Et=!0,"abort("+$+"). Build with -s ASSERTIONS=1 for more info."}if(at.asm=zt,at._CalcEncByteCount=function(){return at.asm.l.apply(null,arguments)},at._CalcEncByteCountFromTargetH=function(){return at.asm.m.apply(null,arguments)},at._CalcEncByteCountH=function(){return at.asm.n.apply(null,arguments)},at._CalcEncECIESByteCount=function(){return at.asm.o.apply(null,arguments)},at._CalcTargetByteCountH=function(){return at.asm.p.apply(null,arguments)},at._DecryptAES=function(){return at.asm.q.apply(null,arguments)},at._DecryptECIES=function(){return at.asm.r.apply(null,arguments)},at._DecryptH=function(){return at.asm.s.apply(null,arguments)},at._DecryptPrimary=function(){return at.asm.t.apply(null,arguments)},at._DecryptTarget=function(){return at.asm.u.apply(null,arguments)},at._DeriveTargetKeys=function(){return at.asm.v.apply(null,arguments)},at._EMS_AES_KEY_SIZE_=function(){return at.asm.w.apply(null,arguments)},at._EMS_CRYPTO_TYPE_PRIMARY_=function(){return at.asm.x.apply(null,arguments)},at._EMS_CRYPTO_TYPE_TARGET_=function(){return at.asm.y.apply(null,arguments)},at._EMS_ECIES_PK_KEY_SIZE_=function(){return at.asm.z.apply(null,arguments)},at._EMS_ECIES_SK_KEY_SIZE_=function(){return at.asm.A.apply(null,arguments)},at._EMS_IV_SIZE_=function(){return at.asm.B.apply(null,arguments)},at._EMS_PRIMARY_BLOCK_KEY_SIZE_=function(){return at.asm.C.apply(null,arguments)},at._EMS_PRIMARY_PK_KEY_SIZE_=function(){return at.asm.D.apply(null,arguments)},at._EMS_RE_ENCRYPTION_KEY_SIZE_=function(){return at.asm.E.apply(null,arguments)},at._EMS_SECRET_KEY_SIZE_=function(){return at.asm.F.apply(null,arguments)},at._EMS_SEED_SIZE_=function(){return at.asm.G.apply(null,arguments)},at._EMS_TAG_SIZE_=function(){return at.asm.H.apply(null,arguments)},at._EMS_TARGET_BLOCK_KEY_SIZE_=function(){return at.asm.I.apply(null,arguments)},at._EMS_TARGET_PK_KEY_SIZE_=function(){return at.asm.J.apply(null,arguments)},at._EncryptAES=function(){return at.asm.K.apply(null,arguments)},at._EncryptECIES=function(){return at.asm.L.apply(null,arguments)},at._EncryptPrimary=function(){return at.asm.M.apply(null,arguments)},at._EncryptPrimaryH=function(){return at.asm.N.apply(null,arguments)},at._FreeCryptoContext=function(){return at.asm.O.apply(null,arguments)},at._GeneratePrimaryKeys=function(){return at.asm.P.apply(null,arguments)},at._GenerateReEncryptionKey=function(){return at.asm.Q.apply(null,arguments)},at._GenerateSymmetricKeys=function(){return at.asm.R.apply(null,arguments)},at._GenerateTargetKeys=function(){return at.asm.S.apply(null,arguments)},at._NewCryptoContext=function(){return at.asm.T.apply(null,arguments)},at._ReEncryptBlockKey=function(){return at.asm.U.apply(null,arguments)},at._ReEncryptH=function(){return at.asm.V.apply(null,arguments)},at.___errno_location=function(){return at.asm.W.apply(null,arguments)},at._free=function(){return at.asm.X.apply(null,arguments)},at._malloc=function(){return at.asm.Y.apply(null,arguments)},at.asm=zt,at.getValue=s,at.writeArrayToMemory=Y,at.then=function($){if(at.calledRun)$(at);else{var tt=at.onRuntimeInitialized;at.onRuntimeInitialized=function(){tt&&tt(),$(at)}}return at},HA.prototype=new Error,HA.prototype.constructor=HA,Ot=function A(){at.calledRun||nA(),at.calledRun||(Ot=A)},at.run=nA,at.abort=YA,at.preInit)for("function"==typeof at.preInit&&(at.preInit=[at.preInit]);at.preInit.length>0;)at.preInit.pop()();return at.noExitRuntime=!0,nA(),tt});tt.a=it}).call(this,"/")},function($,tt){$.exports=et(463)},function($,tt){$.exports=et(464)},function($,tt,et){"use strict";et.r(tt),et.d(tt,"default",(function(){return M}));var At="AGFzbQEAAAABwQEYYAN/f38Bf2AGf3x/f39/AX9gAn9/AGABfwF/YAN/fn8BfmABfwBgAn9/AX9gAAF/YAZ/f39/f38Bf2AHf39/f39/fwF/YAh/f39/f39/fwF/YAp/f39/f39/f39/AX9gBH9/f38Bf2AGf39/f39/AGAJf39/f39/f39/AX9gBX9/f39/AX9gA39/fwBgBX9/f39/AGAEf39+fwBgCH9/f39/f39/AGAEf39/fwBgA35/fwF/YAJ+fwF/YAJ8fwF8AowBDgNlbnYBYgADA2VudgFjAAUDZW52AWQABgNlbnYBZQAFA2VudgFmAAMDZW52AWcAAwNlbnYBaAAAA2VudgFpAAcDZW52AWoABgNlbnYBawAGA2VudgxfX3RhYmxlX2Jhc2UDfwADZW52AWEDfwADZW52Bm1lbW9yeQIAgAIDZW52BXRhYmxlAXABCgoDnwKdAgUCEAUCBRACAhAQEBACEAIFEBAQAgICEBASEBICEBECAgUCAgICAhAFAgUFAgIQBRADAgIQEAICAgICAgICEAIABQUQAwUCBQMAAgICEAUDBRYDAgUCEAUQAgUFBgYCAxAFEAUCAgUCBQURAwUFAgICEBACEBAFERAFAgUCAgIOAw8RFAIFBQYCAgUQEBACAhACAgUQAgICAgALFwYQAxAAAhAFEQICAgAQFAcCAgUCBwYCAgAQEAUQAwMABQIHEAILEBAFBQIFAwMDBgMGEAMDAgICDwYMDAAMBQkCBAABAwYOBhYVDRACAQYDBwcEAAMUFAcHDQ0CBhAQAgcFBxACEAcQBhAQBwUCAgcJExAQAhAMCwIQBhAKAgkCCAYNAn8BIwELfwFBoMkACwfHASgBbADaAQFtANkBAW4A1wEBbwDUAQFwANMBAXEApgIBcgCkAgFzAKICAXQAywEBdQCdAgF2AJwCAXcAyAEBeACVAgF5AJECAXoAjAIBQQCIAgFCAIYCAUMAugEBRAC6AQFFALUBAUYA/gEBRwD9AQFIAMgBAUkA9wEBSgC1AQFLAPABAUwA7AEBTQCkAQFOAOUBAU8A5AEBUADjAQFRAOIBAVIA4QEBUwDgAQFUAN8BAVUAowEBVgDeAQFXAPYBAVgASwFZAFwJGgEAIwALCuoB+gHpAfMB6AH5AecB+AHmAfIBCvr1BZ0CvAEBAX4gACAAKQMAIgFC//////////8DgzcDACAAIAApAwggAUI6h3wiAUL//////////wODNwMIIAAgACkDECABQjqHfCIBQv//////////A4M3AxAgACAAKQMYIAFCOod8IgFC//////////8DgzcDGCAAIAApAyAgAUI6h3wiAUL//////////wODNwMgIAAgACkDKCABQjqHfCIBQv//////////A4M3AyggACAAKQMwIAFCOod8NwMwC0gAIAAgASkDADcDACAAIAEpAwg3AwggACABKQMQNwMQIAAgASkDGDcDGCAAIAEpAyA3AyAgACABKQMoNwMoIAAgASkDMDcDMAtRAQF/IwMhAyMDQUBrJAMgACABIAIQfiAAIAEoAjggAigCOGoiATYCOCABQYCAgBBMBEAgAyQDDwsgA0HADBALIAAgAxAeIABBATYCOCADJAMLDQAgABAKIABBQGsQCgsdACAAIAFGBEAPCyAAIAEQESAAQUBrIAFBQGsQEQuCAQEBfiAAIAApAwAiAUL//////////wCDNwMAIAAgACkDCCABQjiHfCIBQv//////////AIM3AwggACAAKQMQIAFCOId8IgFC//////////8AgzcDECAAIAApAxggAUI4h3wiAUL//////////wCDNwMYIAAgACkDICABQjiHfDcDIAtSAQF/IwMhAyMDQTBqJAMgACABIAIQwAEgACABKAIoIAIoAihqIgE2AiggAUGAgIAITARAIAMkAw8LIANBgBAQEiAAIAMQKSAAQQE2AiggAyQDCxIAIAAgARALIAAgASgCODYCOAs0ACAAIAEpAwA3AwAgACABKQMINwMIIAAgASkDEDcDECAAIAEpAxg3AxggACABKQMgNwMgC2oBAn8jAyEDIwNBsAFqJAMgA0HwAGohBCACKAI4rCABKAI4rH5CgICAEFUEQCAEQcAMEAsgASAEEB4gAUEBNgI4CyADIAEgAhAxIARBwAwQCyAAIARBgDQpAwAgAxAjIABBAjYCOCADJAMLHgAgACABIAIQFSAAQYABaiABQYABaiACQYABahAVCxsAIAAgASACEAwgAEFAayABQUBrIAJBQGsQDAtqAQJ/IwMhAyMDQYABaiQDIANB0ABqIQQgAigCKKwgASgCKKx+QoCAgAhVBEAgBEGAEBASIAEgBBApIAFBATYCKAsgAyABIAIQPiAEQYAQEBIgACAEQYg0KQMAIAMQJSAAQQI2AiggAyQDCxIAIAAgARASIAAgASgCKDYCKAuXAgEHfyMDIQMjA0HwBWokAyADQcAMEAsgA0HAAWoiCCADEKMCIAFBQGshBSABKAI4IgYgASgCeCIEaqwgAigCOCACKAJ4aqx+QoCAgBBVBEAgBkEBSgRAIAEQKyABKAJ4IQQLIARBAUoEQCAFECsLCyADQYAFaiIEIAEgAhAxIANBkARqIgYgBSACQUBrIgkQMSADQYABaiIHIAEgBRB+IAcQCiADQUBrIgUgAiAJEH4gBRAKIANBoANqIgEgByAFEDEgA0GwAmoiAiAEIAYQzAEgBiAIIAYQzQEgBCAEIAYQzAEgASABIAIQzQEgBBDPASAAIAQQLyAAQQM2AjggARDPASAAQUBrIAEQLyAAQQI2AnggAyQDC0oBAn8jAyECIwNB8AFqJAMgAkGADRALIAJBQGsiAyABIAIQMSACQbABaiIBQcAMEAsgACABQYA0KQMAIAMQIyAAQQI2AjggAiQDCw4AIAAQDSAAQYABahANCyYAIAAgASACEJcBIAAgACgCOCIAQQAgAmsgACABKAI4c3FzNgI4CxgAIAAgASACEBsgAEFAayABQUBrIAIQGwsmACAAIAEgAhDCASAAIAAoAigiAEEAIAJrIAAgASgCKHNxczYCKAuFCwIJfxB+IAAgACkDACILQv//////////A4MiEDcDACAAIAApAwggC0I6h3wiC0L//////////wODIg03AwggACAAKQMQIAtCOod8IgtC//////////8DgyIONwMQIAAgACkDGCALQjqHfCILQv//////////A4MiETcDGCAAIAApAyAgC0I6h3wiC0L//////////wODIhI3AyAgACAAKQMoIAtCOod8IgxC//////////8DgyILNwMoIAAgACkDMCAMQjqHfCIPNwMwAkACQCAPIAEpAzAiE1EEfiALIAFBKGoiCCkDACIMUQR+IBIgAUEgaiIDKQMAIgxRBH4gESABQRhqIgQpAwAiDFEEfiAOIAFBEGoiBSkDACIMUQR+IAFBCGoiAikDACIMIA1RBH4gECABKQMAIgxRBH4gAyEGIAQhByAFIQMgAiEEIAghBSALBSAQIQsMBwsFIA0hCwwGCwUgDiELDAULBSARIQsMBAsFIBIhCwwDCwUMAgsFIBMhDCAPIQsMAQshDwwBCyALIAxVBH4gAUEoaiIFKQMAIQ8gAUEgaiIJIQYgAUEYaiIKIQcgAUEQaiIIIQMgAUEIaiICIQQgCSkDACESIAopAwAhESAIKQMAIQ4gAikDACENIAEpAwAFDwshEAtBACECA0AgASATQgGGIA9COYeEIhM3AzAgBSAPQgGGQv7/////////A4MgEkI5h4QiDzcDACAGIBJCAYZC/v////////8DgyARQjmHhCISNwMAIAcgEUIBhkL+/////////wODIA5COYeEIhE3AwAgAyAOQgGGQv7/////////A4MgDUI5h4QiDjcDACAEIA1CAYZC/v////////8DgyAQQjmHhCINNwMAIAEgEEIBhkL+/////////wODIhA3AwAgAkEBaiECAn8CQCATIAApAzAiC1EEfyAPIAApAygiC1EEfyASIAApAyAiC1EEfyARIAApAxgiC1EEfyAOIAApAxAiC1EEfyANIAApAwgiC1EEfyAAKQMAIgsgEFEEf0EABSAQIQwMBwsFIA0hDAwGCwUgDiEMDAULBSARIQwMBAsFIBIhDAwDCwUgDyEMDAILBSATIQwMAQsMAQtBAUF/IAsgDFUbC0F/Sg0ACwNAIAEgDUI5hkKAgICAgICAgAKDIBBCAYeEIho3AwAgBCAOQjmGQoCAgICAgICAAoMgDUIBh4QiFDcDACADIBFCOYZCgICAgICAgIACgyAOQgGHhCIONwMAIAcgEkI5hkKAgICAgICAgAKDIBFCAYeEIg03AwAgBiAPQjmGQoCAgICAgICAAoMgEkIBh4QiEDcDACAFIBNCOYZCgICAgICAgIACgyAPQgGHhCIMNwMAIAEgE0IBhyILNwMwQQAgACkDMCIVIAt9IAApAygiFiAMfSAAKQMgIhcgEH0gACkDGCIYIA19IAApAxAiGSAOfSAAKQMIIhMgFH0gACkDACIPIBp9IhJCOod8IhFCOod8Ig5COod8Ig1COod8IhBCOod8IgxCOod8IgtCP4inQQFza6whFCAAIA8gFCAPIBJC//////////8Dg4WDhTcDACAAIBMgFCATIBFC//////////8Dg4WDhTcDCCAAIBkgFCAZIA5C//////////8Dg4WDhTcDECAAIBggFCAYIA1C//////////8Dg4WDhTcDGCAAIBcgFCAXIBBC//////////8Dg4WDhTcDICAAIBYgFCAWIAxC//////////8Dg4WDhTcDKCAAIBUgFCALIBWFg4U3AzAgAkEBSgRAIAJBf2ohAiABKQMAIRAgBCkDACENIAMpAwAhDiAHKQMAIREgBikDACESIAUpAwAhDyABKQMwIRMMAQsLC5MCAgF/B34gAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwA0AgACAJQgiGIARCMoeEIgk3AzAgACAEQgiGQoD+////////A4MgBUIyh4QiBDcDKCAAIAVCCIZCgP7///////8DgyAGQjKHhCIFNwMgIAAgBkIIhkKA/v///////wODIAdCMoeEIgY3AxggACAHQgiGQoD+////////A4MgCEIyh4QiBzcDECAAIAhCCIZCgP7///////8DgyADQjKHhCIINwMIIAAgA0IIhkKA/v///////wODIgM3AwAgACADIAEgAmotAACthCIDNwMAIAJBAWoiAkEwRw0ACwuGAwIBfwd+IAEgASkDACIDQv//////////A4MiBzcDACABIAEpAwggA0I6h3wiA0L//////////wODIgg3AwggASABKQMQIANCOod8IgNC//////////8DgyIJNwMQIAEgASkDGCADQjqHfCIEQv//////////A4MiAzcDGCABIAEpAyAgBEI6h3wiBUL//////////wODIgQ3AyAgASABKQMoIAVCOod8IgZC//////////8DgyIFNwMoIAEgASkDMCAGQjqHfCIGNwMwQS8hAQNAIAAgAWogBzwAACAIQjKGQoCAgICAgID+A4MgB0IIh4QhByAJQjKGQoCAgICAgID+A4MgCEIIh4QhCCADQjKGQoCAgICAgID+A4MgCUIIh4QhCSAEQjKGQoCAgICAgID+A4MgA0IIh4QhAyAFQjKGQoCAgICAgID+A4MgBEIIh4QhBCAGQjKGQoCAgICAgID+A4MgBUIIh4QhBSAGQgiHIQYgAUF/aiECIAEEQCACIQEMAQsLC14BAn8jAyEDIwNB4ABqJAMgA0EoaiIEIAIQXSAAIAEgBBDAASAAIAEoAiggBCgCKGoiATYCKCABQYCAgAhMBEAgAyQDDwsgA0GAEBASIAAgAxApIABBATYCKCADJAMLXQECfyMDIQMjA0GAAWokAyADQThqIgQgAhAwIAAgASAEEH4gACABKAI4IAQoAjhqIgE2AjggAUGAgIAQTARAIAMkAw8LIANBwAwQCyAAIAMQHiAAQQE2AjggAyQDC5IPAgR/CX4gAkJ/UQRAIAMpAzAhAgNAQgAgBEEDdCADaiIGKQMAIgh9IgtC/////wGDIQ0gASkDACIKQv////8BgyEJIAYgCCAJIA1+fCANIApCHYciCn4gC0IdiEL/////AYMiCyAJfnwiDEIdhkKAgICA/v///wODfCIIQv//////////A4M3AwAgASkDCCIOQv////8BgyEJIARBAWoiBkEDdCADaiIFKQMAIAogC34gDEIdh3wgCEI6h3x8IAkgDX58IA0gDkIdhyIOfiAJIAt+fCIPQh2GQoCAgID+////A4N8IQkgBSAJQv//////////A4M3AwAgASkDECIKQv////8BgyEIIARBAmpBA3QgA2oiBSkDACALIA5+IA9CHYd8IAlCOod8fCAIIA1+fCANIApCHYciCn4gCCALfnwiDEIdhkKAgICA/v///wODfCEJIAUgCUL//////////wODNwMAIAEpAxgiDkL/////AYMhCCAEQQNqQQN0IANqIgUpAwAgCiALfiAMQh2HfCAJQjqHfHwgCCANfnwgDSAOQh2HIg5+IAggC358Ig9CHYZCgICAgP7///8Dg3whCSAFIAlC//////////8DgzcDACABKQMgIgpC/////wGDIQggBEEEakEDdCADaiIFKQMAIAsgDn4gD0Idh3wgCUI6h3x8IAggDX58IApCHYciCiANfiAIIAt+fCIMQh2GQoCAgID+////A4N8IQkgBSAJQv//////////A4M3AwAgASkDKCIOQv////8BgyEIIARBBWpBA3QgA2oiBSkDACAKIAt+IAxCHYd8IAlCOod8fCAIIA1+fCAOQh2HIg4gDX4gCCALfnwiD0IdhkKAgICA/v///wODfCEJIAUgCUL//////////wODNwMAIAEpAzAiCkL/////AYMhCCAEQQZqQQN0IANqIAsgDn4gD0Idh3wgCUI6h3wgAnwgCCANfnwgDSAKQh2HIgp+IAggC358IgxCHYZCgICAgP7///8Dg3wiAkL//////////wODNwMAIARBB2pBA3QgA2oiBCkDACAKIAt+IAxCHYd8IAJCOod8fCECIAQgAjcDACAGQQdHBEAgBiEEDAELCwUgAkIBUSEFIAMpAzAhDQNAIARBA3QgA2oiBikDACIIIAIgCH5C//////////8DgyAFGyIJQv////8BgyELIAEpAwAiDEL/////AYMhCiAGIAggCiALfnwgCyAMQh2HIgx+IAlCHYciCSAKfnwiDkIdhkKAgICA/v///wODfCIKQv//////////A4M3AwAgASkDCCIPQv////8BgyEIIARBAWoiBkEDdCADaiIHKQMAIAkgDH4gDkIdh3wgCkI6h3x8IAggC358IAsgD0IdhyIPfiAIIAl+fCIQQh2GQoCAgID+////A4N8IQggByAIQv//////////A4M3AwAgASkDECIMQv////8BgyEKIARBAmpBA3QgA2oiBykDACAJIA9+IBBCHYd8IAhCOod8fCAKIAt+fCALIAxCHYciDH4gCSAKfnwiDkIdhkKAgICA/v///wODfCEIIAcgCEL//////////wODNwMAIAEpAxgiD0L/////AYMhCiAEQQNqQQN0IANqIgcpAwAgCSAMfiAOQh2HfCAIQjqHfHwgCiALfnwgCyAPQh2HIg9+IAkgCn58IhBCHYZCgICAgP7///8Dg3whCCAHIAhC//////////8DgzcDACABKQMgIgxC/////wGDIQogBEEEakEDdCADaiIHKQMAIAkgD34gEEIdh3wgCEI6h3x8IAogC358IAsgDEIdhyIMfiAJIAp+fCIOQh2GQoCAgID+////A4N8IQggByAIQv//////////A4M3AwAgASkDKCIPQv////8BgyEKIARBBWpBA3QgA2oiBykDACAJIAx+IA5CHYd8IAhCOod8fCAKIAt+fCALIA9CHYciD34gCSAKfnwiEEIdhkKAgICA/v///wODfCEIIAcgCEL//////////wODNwMAIAEpAzAiDEL/////AYMhCiAEQQZqQQN0IANqIAkgD34gEEIdh3wgCEI6h3wgDXwgCiALfnwgCyAMQh2HIgx+IAkgCn58Ig5CHYZCgICAgP7///8Dg3wiDUL//////////wODNwMAIARBB2pBA3QgA2oiBCkDACAJIAx+IA5CHYd8IA1COod8fCENIAQgDTcDACAGQQdHBEAgBiEEDAELCwsgACADKQM4IgI3AwAgACADQUBrKQMAIg03AwggACADKQNIIgs3AxAgACADKQNQIgk3AxggACADKQNYIgg3AyAgACADKQNgIgo3AyggAykDaCEMIAAgAkL//////////wODNwMAIAAgDSACQjqHfCICQv//////////A4M3AwggACALIAJCOod8IgJC//////////8DgzcDECAAIAkgAkI6h3wiAkL//////////wODNwMYIAAgCCACQjqHfCICQv//////////A4M3AyAgACAKIAJCOod8IgJC//////////8DgzcDKCAAIAwgAkI6h3w3AzALnAEBBn8jAyEDIwNBgARqJAMgA0GAA2oiBiABIAIQGCADQYACaiIFIAFBgAFqIgcgAkGAAWoiCBAYIANBgAFqIgQgCCACEBUgAyAHIAEQFSADEA0gBBANIAMgAyAEEBggBCAGEC0gAyADIAQQFSADEA0gBCAFEC0gAEGAAWoiASADIAQQFSAFEDkgACAFIAYQFSAAEA0gARANIAMkAwuSCwIEfwl+IAJCf1EEQCADKQMgIQIDQEIAIARBA3QgA2oiBSkDACIIfSIKQv////8AgyEMIAEpAwAiC0L/////AIMhCSAFIAggCSAMfnwgDCALQhyHIgt+IApCHIhC/////wCDIgogCX58Ig1CHIZCgICAgP////8Ag3wiCEL//////////wCDNwMAIAEpAwgiDkL/////AIMhCSAEQQFqIgVBA3QgA2oiBikDACAKIAt+IA1CHId8IAhCOId8fCAJIAx+fCAMIA5CHIciDn4gCSAKfnwiD0IchkKAgICA/////wCDfCEJIAYgCUL//////////wCDNwMAIAEpAxAiC0L/////AIMhCCAEQQJqQQN0IANqIgYpAwAgCiAOfiAPQhyHfCAJQjiHfHwgCCAMfnwgDCALQhyHIgt+IAggCn58Ig1CHIZCgICAgP////8Ag3whCSAGIAlC//////////8AgzcDACABKQMYIg5C/////wCDIQggBEEDakEDdCADaiIGKQMAIAogC34gDUIch3wgCUI4h3x8IAggDH58IAwgDkIchyIOfiAIIAp+fCIPQhyGQoCAgID/////AIN8IQkgBiAJQv//////////AIM3AwAgASkDICILQv////8AgyEIIARBBGpBA3QgA2ogCiAOfiAPQhyHfCAJQjiHfCACfCAIIAx+fCAMIAtCHIciC34gCCAKfnwiDUIchkKAgICA/////wCDfCICQv//////////AIM3AwAgBEEFakEDdCADaiIEKQMAIAogC34gDUIch3wgAkI4h3x8IQIgBCACNwMAIAVBBUcEQCAFIQQMAQsLBSACQgFRIQYgAykDICEMA0AgBEEDdCADaiIFKQMAIgggAiAIfkL//////////wCDIAYbIglC/////wCDIQogASkDACINQv////8AgyELIAUgCCAKIAt+fCAKIA1CHIciDX4gCUIchyIJIAt+fCIOQhyGQoCAgID/////AIN8IgtC//////////8AgzcDACABKQMIIg9C/////wCDIQggBEEBaiIFQQN0IANqIgcpAwAgCSANfiAOQhyHfCALQjiHfHwgCCAKfnwgCiAPQhyHIg9+IAggCX58IhBCHIZCgICAgP////8Ag3whCCAHIAhC//////////8AgzcDACABKQMQIg1C/////wCDIQsgBEECakEDdCADaiIHKQMAIAkgD34gEEIch3wgCEI4h3x8IAogC358IAogDUIchyINfiAJIAt+fCIOQhyGQoCAgID/////AIN8IQggByAIQv//////////AIM3AwAgASkDGCIPQv////8AgyELIARBA2pBA3QgA2oiBykDACAJIA1+IA5CHId8IAhCOId8fCAKIAt+fCAKIA9CHIciD34gCSALfnwiEEIchkKAgICA/////wCDfCEIIAcgCEL//////////wCDNwMAIAEpAyAiDUL/////AIMhCyAEQQRqQQN0IANqIAkgD34gEEIch3wgCEI4h3wgDHwgCiALfnwgCiANQhyHIg1+IAkgC358Ig5CHIZCgICAgP////8Ag3wiDEL//////////wCDNwMAIARBBWpBA3QgA2oiBCkDACAJIA1+IA5CHId8IAxCOId8fCEMIAQgDDcDACAFQQVHBEAgBSEEDAELCwsgACADKQMoIgI3AwAgACADKQMwIgw3AwggACADKQM4Igo3AxAgACADQUBrKQMAIgk3AxggAykDSCEIIAAgAkL//////////wCDNwMAIAAgDCACQjiHfCICQv//////////AIM3AwggACAKIAJCOId8IgJC//////////8AgzcDECAAIAkgAkI4h3wiAkL//////////wCDNwMYIAAgCCACQjiHfDcDIAsfACAAIAFGBEAPCyAAIAEQDiAAQYABaiABQYABahAOCxgAIAAoAgBBIHFFBEAgASACIAAQqgEaCwuAAQECfyMDIQUjA0GAAmokAyAEQYDABHFFIAIgA0pxBEAgBSABQRh0QRh1IAIgA2siAUGAAiABQYACSRsQShogAUH/AUsEQAJ/IAIgA2shBgNAIAAgBUGAAhAnIAFBgH5qIgFB/wFLDQALIAYLQf8BcSEBCyAAIAUgARAnCyAFJAML6wcCBX8LfiAAIAApAwAiB0L//////////wCDIgs3AwAgACAAKQMIIAdCOId8IgdC//////////8AgyIJNwMIIAAgACkDECAHQjiHfCIHQv//////////AIMiDDcDECAAIAApAxggB0I4h3wiCEL//////////wCDIgc3AxggACAAKQMgIAhCOId8Igo3AyACQAJAIAogASkDICINUQR+IAcgAUEYaiIGKQMAIghRBH4gDCABQRBqIgMpAwAiCFEEfiABQQhqIgIpAwAiCCAJUQR+IAsgASkDACIIUQR+IAMhBCACIQUgBiEDIAcFIAshBwwFCwUgCSEHDAQLBSAMIQcMAwsFDAILBSANIQggCiEHDAELIQoMAQsgByAIVQR+IAFBGGoiAykDACEKIAFBEGoiBiEEIAFBCGoiAiEFIAYpAwAhDCACKQMAIQkgASkDAAUPCyELC0EAIQIDQCABIA1CAYYgCkI3h4QiDTcDICADIApCAYZC/v////////8AgyAMQjeHhCIKNwMAIAQgDEIBhkL+/////////wCDIAlCN4eEIgw3AwAgBSAJQgGGQv7/////////AIMgC0I3h4QiCTcDACABIAtCAYZC/v////////8AgyILNwMAIAJBAWohAgJ/AkAgDSAAKQMgIgdRBH8gCiAAKQMYIgdRBH8gDCAAKQMQIgdRBH8gCSAAKQMIIgdRBH8gCyAAKQMAIgdRBH9BAAUgCyEIDAULBSAJIQgMBAsFIAwhCAwDCwUgCiEIDAILBSANIQgMAQsMAQtBAUF/IAcgCFUbC0F/Sg0ACwNAIAEgCUI3hkKAgICAgICAwACDIAtCAYeEIg43AwAgBSAMQjeGQoCAgICAgIDAAIMgCUIBh4QiCTcDACAEIApCN4ZCgICAgICAgMAAgyAMQgGHhCILNwMAIAMgDUI3hkKAgICAgICAwACDIApCAYeEIgg3AwAgASANQgGHIgc3AyAgAEEAIAApAyAiDyAHfSAAKQMYIhAgCH0gACkDECIRIAt9IAApAwgiCiAJfSAAKQMAIg0gDn0iDEI4h3wiCUI4h3wiC0I4h3wiCEI4h3wiB0I/iKdBAXNrrCIOIAxC//////////8AgyANhYMgDYU3AwAgACAOIAlC//////////8AgyAKhYMgCoU3AwggACAOIAtC//////////8AgyARhYMgEYU3AxAgACAQIA4gECAIQv//////////AIOFg4U3AxggACAPIA4gByAPhYOFNwMgIAJBAUoEQCACQX9qIQIgASkDACELIAUpAwAhCSAEKQMAIQwgAykDACEKIAEpAyAhDQwBCwsLOQEBfyMDIQIjA0GwAWokAyACEDIgAiABEDMgAkHwAGoiAUHADBALIAAgAUGANCkDACACECMgAiQDCycBAX8jAyEBIwNBQGskAyABQcAMEAsgACABEB4gAEEBNgI4IAEkAwvaAQEEfiAAIAApAwgiA0E6IAFrrSIEhkL//////////wODIAApAwAgAa0iAoeENwMAIAAgACkDECIFIASGQv//////////A4MgAyACh4Q3AwggACAAKQMYIgMgBIZC//////////8DgyAFIAKHhDcDECAAIAApAyAiBSAEhkL//////////wODIAMgAoeENwMYIAAgACkDKCIDIASGQv//////////A4MgBSACh4Q3AyAgACAAKQMwIgUgBIZC//////////8DgyADIAKHhDcDKCAAIAUgAoc3AzALRQEDfyMDIQIjA0GAAWokAyACQUBrIgMgASABQUBrIgQQDCADIAMQMCACIAMgBBAMIABBQGsgAyABEAwgACACEBEgAiQDC7QCAQl/IwMhAiMDQYAMaiQDIAJBgApqIgkgACABECQgAkGABmoiBSAAQYACaiIGIAFBgAJqIgQQJCACQYACaiIDIAAgBhAUIAIgASAEEBQgAxAaIAIQGiACQYAIaiIIIAMgAhAkIAMgBiAAQYAEaiIHEBQgAiAEIAFBgARqIgoQFCADEBogAhAaIAJBgARqIgQgAyACECQgAyAJEFYgAiAFEFYgCCAIIAMQFCAGIAggAhAUIAQgBCACEBQgBSAFIAMQFCADIAAgBxAUIAIgASAKEBQgAxAaIAIQGiADIAIgAxAkIAUgBSADEBQgAyAHIAoQJCACIAMQViAHIAUgAhAUIAQgBCACEBQgAxA0IAYgBiADEBQgBBAaIAQQNCAAIAkgBBAUIAAQGiAGEBogBxAaIAIkAwsoAQF/IwMhAiMDQUBrJAMgAkHADBALIAAgAkGANCkDACABECMgAiQDC80BAQJ/IwMhAyMDQYABaiQDIANBwAwQCyADIAEoAjhBf2oiAiACQQF2ciICIAJBAnZyIgIgAkEEdnIiAiACQQh2ciICIAJBEHZyIgIgAkEBdkHVqtWqBXFrIgJBs+bMmQNxIAJBAnZBs+bMmQNxaiICIAJBBHZqQY+evPgAcUGBgoQIbEEYdiICENABIAAgAyABEKECIABBASACdCIBNgI4IAFBgICAEEwEQCADJAMPCyADQUBrIgFBwAwQCyAAIAEQHiAAQQE2AjggAyQDC5AIAgV/C34gAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwIABCADcDOCAAQUBrQgA3AwAgAEIANwNIIABCADcDUCAAQgA3A1ggAEIANwNgIABCADcDaANAIAIpAwAiC0L/////AYMhDCADQQN0IABqIANBA3QgAWoiBSkDACIIQv////8BgyIJIAtCHYciDX4gCEIdhyIPIAx+fCIQQh2GQoCAgID+////A4MgCSAMfiAOfHwiDEL//////////wODNwMAIAIpAwgiC0L/////AYMhCiAFKQMAIghC/////wGDIgkgC0IdhyIRfiAIQh2HIhIgCn58Ig5CHYZCgICAgP7///8DgyADQQFqIgZBA3QgAGoiBykDACANIA9+IBBCHYd8IAxCOod8fCAJIAp+fHwhCiAHIApC//////////8DgzcDACACKQMQIgtC/////wGDIQ0gBSkDACIIQv////8BgyIJIAtCHYciD34gCEIdhyIQIA1+fCIMQh2GQoCAgID+////A4MgA0ECakEDdCAAaiIEKQMAIBEgEn4gDkIdh3wgCkI6h3x8IAkgDX58fCEKIAQgCkL//////////wODNwMAIAIpAxgiC0L/////AYMhDSAFKQMAIghC/////wGDIgkgC0IdhyIRfiAIQh2HIhIgDX58Ig5CHYZCgICAgP7///8DgyADQQNqQQN0IABqIgQpAwAgDyAQfiAMQh2HfCAKQjqHfHwgCSANfnx8IQogBCAKQv//////////A4M3AwAgAikDICILQv////8BgyENIAUpAwAiCEL/////AYMiCSALQh2HIg9+IAhCHYciECANfnwiDEIdhkKAgICA/v///wODIANBBGpBA3QgAGoiBCkDACARIBJ+IA5CHYd8IApCOod8fCAJIA1+fHwhCiAEIApC//////////8DgzcDACACKQMoIgtC/////wGDIQ0gBSkDACIIQv////8BgyIJIAtCHYciEX4gCEIdhyISIA1+fCIOQh2GQoCAgID+////A4MgA0EFakEDdCAAaiIEKQMAIA8gEH4gDEIdh3wgCkI6h3x8IAkgDX58fCEPIAQgD0L//////////wODNwMAIAIpAzAiCEL/////AYMhECAFKQMAIglC/////wGDIgwgCEIdhyILfiAJQh2HIgggEH58IglCHYZCgICAgP7///8DgyADQQZqQQN0IABqIgQpAwAgESASfiAOQh2HfCAPQjqHfHwgDCAQfnx8IQwgBCAMQv//////////A4M3AwAgA0EHakEDdCAAaiAIIAt+IAlCHYd8IAxCOod8NwMAIAZBB0cEQCAGIQMgBykDACEODAELCwtnACAAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKCAAQgA3AzAgAEIANwM4IABBQGtCADcDACAAQgA3A0ggAEIANwNQIABCADcDWCAAQgA3A2AgAEIANwNoC48BACAAIAEpAwA3AwAgACABKQMINwMIIAAgASkDEDcDECAAIAEpAxg3AxggACABKQMgNwMgIAAgASkDKDcDKCAAIAEpAzBC//////////8DgzcDMCAAIAEpAzBCOoc3AzggAEFAayIAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKAtlAQV/IwMhASMDQcACaiQDIAEgAEGAAWoiAxAOIAFBgAFqIgIgARAOIAFBgAJqIgQgAhARIAIgAkFAayIFEDAgBSAEEBEgASABIAIQFSADIAAQDiAAIAEQDiAAEA0gAxANIAEkAwsOACAAEFEgAEGAAWoQUQtVAQJ/IAAgAUYEQCAAQYAEaiECIABBgAJq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ICAAQgA3AyggAEIANwMwIABCADcDOCAAQUBrQgA3AwAgAEIANwNIA0AgAikDACILQv////8AgyEIIANBA3QgAGogA0EDdCABaiIFKQMAIglC/////wCDIgogC0IchyINfiAJQhyHIg8gCH58IhBCHIZCgICAgP////8AgyAIIAp+IA58fCIIQv//////////AIM3AwAgAikDCCILQv////8AgyEMIAUpAwAiCUL/////AIMiCiALQhyHIhF+IAlCHIciEiAMfnwiDkIchkKAgICA/////wCDIANBAWoiBkEDdCAAaiIHKQMAIA0gD34gEEIch3wgCEI4h3x8IAogDH58fCEMIAcgDEL//////////wCDNwMAIAIpAxAiC0L/////AIMhDSAFKQMAIglC/////wCDIgogC0IchyIPfiAJQhyHIhAgDX58IghCHIZCgICAgP////8AgyADQQJqQQN0IABqIgQpAwAgESASfiAOQhyHfCAMQjiHfHwgCiANfnx8IQwgBCAMQv//////////AIM3AwAgAikDGCILQv////8AgyENIAUpAwAiCUL/////AIMiCiALQhyHIhF+IAlCHIciEiANfnwiDkIchkKAgICA/////wCDIANBA2pBA3QgAGoiBCkDACAPIBB+IAhCHId8IAxCOId8fCAKIA1+fHwhDyAEIA9C//////////8AgzcDACACKQMgIglC/////wCDIRAgBSkDACIKQv////8AgyIIIAlCHIciC34gCkIchyIJIBB+fCIKQhyGQoCAgID/////AIMgA0EEakEDdCAAaiIEKQMAIBEgEn4gDkIch3wgD0I4h3x8IAggEH58fCEIIAQgCEL//////////wCDNwMAIANBBWpBA3QgAGogCSALfiAKQhyHfCAIQjiHfDcDACAGQQVHBEAgBiEDIAcpAwAhDgwBCwsL/wECBn8BfiMDIQMjA0HwAmokAyADQfABaiEEIANBgAFqIQUgA0FAayEIIANBqAJqIQZBACACayACIAJBAEgbIgcgASgCOGxBgYCAEEgEQCAAIAEgBxCWASAAIAEoAjggB2w2AjgFIAMQ0QEgAyAHEGggAxAKIAhBgA0QCyAFIAMgCBAxIARBwAwQCyAGIARBgDQpAwAiCSAFECMgBkECNgI4IAEoAjhBgICACEoEQCAEQcAMEAsgASAEEB4gAUEBNgI4CyAFIAEgBhAxIARBwAwQCyAAIAQgCSAFECMgAEECNgI4CyACQX9KBEAgAyQDDwsgACAAEDAgABAKIAMkAwuSAQEEfyMDIQMjA0GAA2okAyADIAEgAUGAAWoiBBAYIANBgAFqIgIgBBAOIANBgAJqIgUgASAEEBUgAhA5IAIgASACEBUgBRANIAIQDSAAIAUgAhAYIAIgAxAOIAIQOSACIAIgAxAVIAIQDSACIAIQLSAAIAAgAhAVIABBgAFqIgEgAyADEBUgABANIAEQDSADJAMLYgECfyAAQShqIAAoAgAiAkEFdkEPcUECdGoiAyABQf8BcSADKAIAQQh0cjYCACAAIAJBCGoiATYCACABBEAgAUH/A3EEQA8LBSAAIAAoAgRBAWo2AgQgAEEANgIACyAAEHILqAcBD38jAyEKIwNBsANqJAMgCkGAA2ohBiAKQdACaiEFIApBoAJqIQcgCkHwAWohCCAKQcABaiEEIApBkAFqIQMgCkHgAGohAiAKQTBqIQlBsDUoAgAhD0GAOygCAEUEQCAGIAAgARAWIAUgAEEwaiILIAFBMGoiDRAWIAcgAEHgAGoiDCABQeAAaiIOEBYgCCAAIAsQECAIEA8gBCABIA0QECAEEA8gCCAIIAQQFiAEIAYgBRAQIAggCCAEECEgCBAPIAQgCyAMEBAgBBAPIAMgDSAOEBAgAxAPIAQgBCADEBYgAyAFIAcQECAEIAQgAxAhIAQQDyADIAAgDBAQIAMQDyACIAEgDhAQIAIQDyADIAMgAhAWIAIgBiAHEBAgAiADIAIQISACEA8gAyAGIAYQECAGIAYgAxAQIAYQDyAHIAcgD0EDbCIBEE0gCSAFIAcQECAJEA8gBSAFIAcQISAFEA8gAiACIAEQTSADIAIgBBAWIAcgCCAFEBYgACAHIAMQISACIAIgBhAWIAUgBSAJEBYgCyACIAUQECAGIAYgCBAWIAkgCSAEEBYgDCAJIAYQECAAEA8gCxAPIAwQDyAKJAMPCyAPRSINBEAgChCPAQsgBiAAIAEQFiAFIABBMGoiCyABQTBqIg4QFiAHIABB4ABqIgwgAUHgAGoiEBAWIAggACALEBAgCBAPIAQgASAOEBAgBBAPIAggCCAEEBYgBCAGIAUQECAIIAggBBAhIAgQDyAEIAsgDBAQIAQQDyADIA4gEBAQIAMQDyAEIAQgAxAWIAMgBSAHEBAgBCAEIAMQISAEEA8gAyAAIAwQECADEA8gAiABIBAQECACEA8gAyADIAIQFiACIAYgBxAQIAIgAyACECEgAhAPIA0EQCAJIAcgChAWBSAJIAcgDxBNCyADIAIgCRAhIAMQDyAJIAMgAxAQIAMgAyAJEBAgCSAFIAMQISAJEA8gAyADIAUQECADEA8gDQRAIAIgAiAKEBYFIAIgAiAPEE0LIAUgByAHEBAgByAHIAUQECACIAIgBxAhIAIgAiAGECEgAhAPIAUgAiACEBAgAiACIAUQECACEA8gBSAGIAYQECAGIAYgBRAQIAYgBiAHECEgBhAPIAUgBCACEBYgByAGIAIQFiACIAMgCRAWIAsgAiAHEBAgAyADIAgQFiAAIAMgBRAhIAkgCSAEEBYgBSAIIAYQFiAMIAkgBRAQIAAQDyALEA8gDBAPIAokAwv3DQICfw9+IABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0IANwMAIABCADcDSEEBIQIDQCACQQN0IAFqKQMAIgZC/////wCDIQogASkDACIFQv////8AgyIIIAZCHIciB34gBUIchyIGIAp+fCIFQhyGQoCAgID/////AIMgBCAJfCAIIAp+fHwhCCAGIAd+IAVCHId8IAhCOId8IQQgAkEDdCAAaiAIQv//////////AIM3AwAgAkEBaiEDIAJBBEkEQCADIgJBA3QgAGopAwAhCQwBCwsgACAENwMoIAEpAxAiBkL/////AIMhByAAIAEpAwgiBUL/////AIMiBCAGQhyHIg9+IAVCHIciDCAHfnwiCEIchkKAgICA/////wCDIAApAxggBCAHfnx8IgdC//////////8AgzcDGCABKQMYIgZC/////wCDIQ4gACABKQMIIgVC/////wCDIgQgBkIchyILfiAFQhyHIgkgDn58IgpCHIZCgICAgP////8AgyAAKQMgIAwgD34gCEIch3wgB0I4h3x8IAQgDn58fCIIQv//////////AIM3AyAgASkDICIGQv////8AgyEMIAAgASkDCCIFQv////8AgyIEIAZCHIciB34gBUIchyIGIAx+fCIFQhyGQoCAgID/////AIMgACkDKCAJIAt+IApCHId8IAhCOId8fCAEIAx+fHwiBEL//////////wCDNwMoIAAgBiAHfiAFQhyHfCAEQjiHfDcDMCABKQMYIgZC/////wCDIQcgACABKQMQIgVC/////wCDIgQgBkIchyILfiAFQhyHIgkgB358IgpCHIZCgICAgP////8AgyAAKQMoIAQgB358fCIIQv//////////AIM3AyggASkDICIGQv////8AgyEMIAAgASkDECIFQv////8AgyIEIAZCHIciB34gBUIchyIGIAx+fCIFQhyGQoCAgID/////AIMgACkDMCAJIAt+IApCHId8IAhCOId8fCAEIAx+fHwiBEL//////////wCDNwMwIAAgBiAHfiAFQhyHfCAEQjiHfDcDOCABKQMgIgZC/////wCDIQcgACABKQMYIgVC/////wCDIgQgBkIchyILfiAFQhyHIgkgB358IgVCHIZCgICAgP////8AgyAAKQM4IAQgB358fCIEQv//////////AIM3AzggACkDIEIBhiEQIAApAyhCAYYhESAAKQMwQgGGIRIgACkDOEIBhiENIAAgACkDAEIBhiIKNwMAIAAgACkDCEIBhiIINwMIIAAgACkDEEIBhiIHNwMQIAAgACkDGEIBhiIGNwMYIAAgEDcDICAAIBE3AyggACASNwMwIAAgDTcDOCAAQUBrIgMgCSALfiAFQhyHfCAEQjiHfEIBhiIPNwMAIABCADcDSCAAIAEpAwAiBEL/////AIMiCyAEQhyHIgl+IgVCHYZCgICAgP7///8AgyAKIAsgC358fCIEQv//////////AIMiDDcDACAAIAggCSAJfiAFQhuHfHwgBEI4h3wiDjcDCCAAIAEpAwgiBEL/////AIMiCiAEQhyHIgh+IgVCHYZCgICAgP7///8AgyAHIAogCn58fCIEQv//////////AIMiCzcDECAAIAYgCCAIfiAFQhuHfHwgBEI4h3wiCTcDGCAAIAEpAxAiBEL/////AIMiByAEQhyHIgZ+IgVCHYZCgICAgP7///8AgyAHIAd+IBB8fCIEQv//////////AIMiCjcDICAAIAYgBn4gBUIbh3wgEXwgBEI4h3wiCDcDKCAAIAEpAxgiBEL/////AIMiByAEQhyHIgZ+IgVCHYZCgICAgP7///8AgyAHIAd+IBJ8fCIEQv//////////AIMiBzcDMCAAIAYgBn4gBUIbh3wgDXwgBEI4h3wiBjcDOCABKQMgIgVC/////wCDIQ0gACAMNwMAIAAgDkL//////////wCDNwMIIAAgCyAOQjiHfCIEQv//////////AIM3AxAgACAJIARCOId8IgRC//////////8AgzcDGCAAIAogBEI4h3wiBEL//////////wCDNwMgIAAgCCAEQjiHfCIEQv//////////AIM3AyggACAHIARCOId8IgRC//////////8AgzcDMCAAIAYgBEI4h3wiBEL//////////wCDNwM4IAMgDyANIA1+fCANIAVCHIciB34iBkIdhkKAgICA/v///wCDfCIFQv//////////AIMgBEI4h3wiBEL//////////wCDNwMAIAAgByAHfiAGQhuHfCAFQjiHfCAEQjiHfDcDSAuqBwEPfyMDIQojA0HABGokAyAKQYAEaiEGIApBwANqIQUgCkGAA2ohByAKQcACaiEIIApBgAJqIQQgCkHAAWohAyAKQYABaiECIApBQGshCUGsNSgCACEPQYA7KAIARQRAIAYgACABEBMgBSAAQUBrIgsgAUFAayINEBMgByAAQYABaiIMIAFBgAFqIg4QEyAIIAAgCxAMIAgQCiAEIAEgDRAMIAQQCiAIIAggBBATIAQgBiAFEAwgCCAIIAQQIiAIEAogBCALIAwQDCAEEAogAyANIA4QDCADEAogBCAEIAMQEyADIAUgBxAMIAQgBCADECIgBBAKIAMgACAMEAwgAxAKIAIgASAOEAwgAhAKIAMgAyACEBMgAiAGIAcQDCACIAMgAhAiIAIQCiADIAYgBhAMIAYgBiADEAwgBhAKIAcgByAPQQNsIgEQPyAJIAUgBxAMIAkQCiAFIAUgBxAiIAUQCiACIAIgARA/IAMgAiAEEBMgByAIIAUQEyAAIAcgAxAiIAIgAiAGEBMgBSAFIAkQEyALIAIgBRAMIAYgBiAIEBMgCSAJIAQQEyAMIAkgBhAMIAAQCiALEAogDBAKIAokAw8LIA9FIg0EQCAKQYAIEEYLIAYgACABEBMgBSAAQUBrIgsgAUFAayIOEBMgByAAQYABaiIMIAFBgAFqIhAQEyAIIAAgCxAMIAgQCiAEIAEgDhAMIAQQCiAIIAggBBATIAQgBiAFEAwgCCAIIAQQIiAIEAogBCALIAwQDCAEEAogAyAOIBAQDCADEAogBCAEIAMQEyADIAUgBxAMIAQgBCADECIgBBAKIAMgACAMEAwgAxAKIAIgASAQEAwgAhAKIAMgAyACEBMgAiAGIAcQDCACIAMgAhAiIAIQCiANBEAgCSAHIAoQEwUgCSAHIA8QPwsgAyACIAkQIiADEAogCSADIAMQDCADIAMgCRAMIAkgBSADECIgCRAKIAMgAyAFEAwgAxAKIA0EQCACIAIgChATBSACIAIgDxA/CyAFIAcgBxAMIAcgByAFEAwgAiACIAcQIiACIAIgBhAiIAIQCiAFIAIgAhAMIAIgAiAFEAwgAhAKIAUgBiAGEAwgBiAGIAUQDCAGIAYgBxAiIAYQCiAFIAQgAhATIAcgBiACEBMgAiADIAkQEyALIAIgBxAMIAMgAyAIEBMgACADIAUQIiAJIAkgBBATIAUgCCAGEBMgDCAJIAUQDCAAEAogCxAKIAwQCiAKJAMLaAICfwF+IwMhAiMDQbABaiQDIAJB8ABqIQMgASgCOKwiBCAEfkKAgIAQVgRAIANBwAwQCyABIAMQHiABQQE2AjgLIAIgARBHIANBwAwQCyAAIANBgDQpAwAgAhAjIABBAjYCOCACJAMLVgECfyMDIQIjA0GwAmokAyACIAEQCyACQUBrIgFBgA0QCyACQYABaiIDIAIgARAxIAJB8AFqIgFBwAwQCyAAIAFBgDQpAwAgAxAjIABBAjYCOCACJAMLxhkCAn8QfiAAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKCAAQgA3AzAgAEIANwM4IABBQGtCADcDACAAQgA3A0ggAEIANwNQIABCADcDWCAAQgA3A2AgAEIANwNoQQEhAgNAIAJBA3QgAWopAwAiBkL/////AYMhCyABKQMAIgVC/////wGDIgkgBkIdhyIHfiAFQh2HIgYgC358IgVCHYZCgICAgP7///8DgyAEIAp8IAkgC358fCEJIAYgB34gBUIdh3wgCUI6h3whBCACQQN0IABqIAlC//////////8DgzcDACACQQFqIQMgAkEGSQRAIAMiAkEDdCAAaikDACEKDAELCyAAIAQ3AzggASkDECIGQv////8BgyEHIAAgASkDCCIFQv////8BgyIEIAZCHYciDn4gBUIdhyIIIAd+fCIJQh2GQoCAgID+////A4MgACkDGCAEIAd+fHwiB0L//////////wODNwMYIAEpAxgiBkL/////AYMhDSAAIAEpAwgiBUL/////AYMiBCAGQh2HIgx+IAVCHYciCiANfnwiC0IdhkKAgICA/v///wODIAApAyAgCCAOfiAJQh2HfCAHQjqHfHwgBCANfnx8IgdC//////////8DgzcDICABKQMgIgZC/////wGDIQ0gACABKQMIIgVC/////wGDIgQgBkIdhyIOfiAFQh2HIgggDX58IglCHYZCgICAgP7///8DgyAAKQMoIAogDH4gC0Idh3wgB0I6h3x8IAQgDX58fCIHQv//////////A4M3AyggASkDKCIGQv////8BgyENIAAgASkDCCIFQv////8BgyIEIAZCHYciDH4gBUIdhyIKIA1+fCILQh2GQoCAgID+////A4MgACkDMCAIIA5+IAlCHYd8IAdCOod8fCAEIA1+fHwiCUL//////////wODNwMwIAEpAzAiBkL/////AYMhCCAAIAEpAwgiBUL/////AYMiBCAGQh2HIgd+IAVCHYciBiAIfnwiBUIdhkKAgICA/v///wODIAApAzggCiAMfiALQh2HfCAJQjqHfHwgBCAIfnx8IgRC//////////8DgzcDOCAAQUBrIgIgBiAHfiAFQh2HfCAEQjqHfDcDACABKQMYIgZC/////wGDIQcgACABKQMQIgVC/////wGDIgQgBkIdhyIMfiAFQh2HIgogB358IgtCHYZCgICAgP7///8DgyAAKQMoIAQgB358fCIHQv//////////A4M3AyggASkDICIGQv////8BgyENIAAgASkDECIFQv////8BgyIEIAZCHYciDn4gBUIdhyIIIA1+fCIJQh2GQoCAgID+////A4MgACkDMCAKIAx+IAtCHYd8IAdCOod8fCAEIA1+fHwiB0L//////////wODNwMwIAEpAygiBkL/////AYMhDSAAIAEpAxAiBUL/////AYMiBCAGQh2HIgx+IAVCHYciCiANfnwiC0IdhkKAgICA/v///wODIAApAzggCCAOfiAJQh2HfCAHQjqHfHwgBCANfnx8IglC//////////8DgzcDOCABKQMwIgVC/////wGDIQggASkDECIEQv////8BgyIHIAVCHYciBn4gBEIdhyIFIAh+fCIEQh2GQoCAgID+////A4MgAEFAayIDKQMAIAogDH4gC0Idh3wgCUI6h3x8IAcgCH58fCEHIAMgB0L//////////wODNwMAIAAgBSAGfiAEQh2HfCAHQjqHfDcDSCABKQMgIgZC/////wGDIQcgACABKQMYIgVC/////wGDIgQgBkIdhyIOfiAFQh2HIgggB358IgxCHYZCgICAgP7///8DgyAAKQM4IAQgB358fCIHQv//////////A4M3AzggASkDKCIGQv////8BgyENIAEpAxgiBUL/////AYMiBCAGQh2HIgp+IAVCHYciCyANfnwiCUIdhkKAgICA/v///wODIABBQGsiAykDACAIIA5+IAxCHYd8IAdCOod8fCAEIA1+fHwhCCADIAhC//////////8DgzcDACABKQMwIgZC/////wGDIQwgACABKQMYIgVC/////wGDIgQgBkIdhyIHfiAFQh2HIgYgDH58IgVCHYZCgICAgP7///8DgyAAKQNIIAogC34gCUIdh3wgCEI6h3x8IAQgDH58fCIEQv//////////A4M3A0ggACAGIAd+IAVCHYd8IARCOod8NwNQIAEpAygiBkL/////AYMhByAAIAEpAyAiBUL/////AYMiBCAGQh2HIgx+IAVCHYciCiAHfnwiC0IdhkKAgICA/v///wODIAApA0ggBCAHfnx8IglC//////////8DgzcDSCABKQMwIgZC/////wGDIQggACABKQMgIgVC/////wGDIgQgBkIdhyIHfiAFQh2HIgYgCH58IgVCHYZCgICAgP7///8DgyAAKQNQIAogDH4gC0Idh3wgCUI6h3x8IAQgCH58fCIEQv//////////A4M3A1AgACAGIAd+IAVCHYd8IARCOod8NwNYIAEpAzAiBkL/////AYMhByAAIAEpAygiBUL/////AYMiBCAGQh2HIhN+IAVCHYciDSAHfnwiDkIdhkKAgICA/v///wODIAApA1ggBCAHfnx8IghC//////////8DgzcDWCAAKQMwQgGGIQ8gACkDOEIBhiEQIAIpAwBCAYYhESAAKQNIQgGGIRIgACkDUEIBhiEFIAApA1hCAYYhBCAAIAApAwBCAYYiDDcDACAAIAApAwhCAYYiCjcDCCAAIAApAxBCAYYiCzcDECAAIAApAxhCAYYiCTcDGCAAIAApAyBCAYYiBzcDICAAIAApAyhCAYYiBjcDKCAAIA83AzAgACAQNwM4IAIgETcDACAAIBI3A0ggACAFNwNQIAAgBDcDWCAAIA0gE34gDkIdh3wgCEI6h3xCAYY3A2AgAEIANwNoIAAgASkDACIEQv////8BgyIOIARCHYciCH4iBUIehkKAgICA/P///wODIAwgDiAOfnx8IgRC//////////8DgzcDACAAIAogCCAIfiAFQhyHfHwgBEI6h3w3AwggACABKQMIIgRC/////wGDIgwgBEIdhyIKfiIFQh6GQoCAgID8////A4MgCyAMIAx+fHwiBEL//////////wODNwMQIAAgCSAKIAp+IAVCHId8fCAEQjqHfDcDGCAAIAEpAxAiBEL/////AYMiCyAEQh2HIgl+IgVCHoZCgICAgPz///8DgyAHIAsgC358fCIEQv//////////A4M3AyAgACAGIAkgCX4gBUIch3x8IARCOod8NwMoIAAgASkDGCIEQv////8BgyIHIARCHYciBn4iBUIehkKAgICA/P///wODIAcgB34gD3x8IgRC//////////8DgyIINwMwIAAgBiAGfiAFQhyHfCAQfCAEQjqHfCIMNwM4IAIgASkDICIEQv////8BgyIHIARCHYciBn4iBUIehkKAgICA/P///wODIAcgB34gEXx8IgRC//////////8DgyIKNwMAIAAgBiAGfiAFQhyHfCASfCAEQjqHfCILNwNIIAAgASkDKCIEQv////8BgyIHIARCHYciBn4iBUIehkKAgICA/P///wODIAApA1AgByAHfnx8IgRC//////////8DgyIJNwNQIAAgACkDWCAGIAZ+IAVCHId8fCAEQjqHfCIHNwNYIAEpAzAiBEL/////AYMiBiAEQh2HIgV+IgRCHoZCgICAgPz///8DgyAAKQNgIAYgBn58fCIGQjqHIAApA2ggBSAFfiAEQhyHfHx8IQUgACAAKQMAIgRC//////////8DgzcDACAAIAApAwggBEI6h3wiBEL//////////wODNwMIIAAgACkDECAEQjqHfCIEQv//////////A4M3AxAgACAAKQMYIARCOod8IgRC//////////8DgzcDGCAAIAApAyAgBEI6h3wiBEL//////////wODNwMgIAAgACkDKCAEQjqHfCIEQv//////////A4M3AyggACAIIARCOod8IgRC//////////8DgzcDMCAAIAwgBEI6h3wiBEL//////////wODNwM4IAIgCiAEQjqHfCIEQv//////////A4M3AwAgACALIARCOod8IgRC//////////8DgzcDSCAAIAkgBEI6h3wiBEL//////////wODNwNQIAAgByAEQjqHfCIEQv//////////A4M3A1ggACAGQv//////////A4MgBEI6h3wiBEL//////////wODNwNgIAAgBSAEQjqHfDcDaAvqAgEGfyMDIQUjA0HABmokAyACEAogBSACQQMQlgEgBRAKIAVBOGoiAyABRwRAIAMgARAmIANBgAJqIAFBgAJqECYgA0GABGogAUGABGoQJgsgBRBpIgRBAkoEQCABQYACaiEHIAFBgARqIQggBEF+aiEEA0AgAyADEKIBAkACQAJAIARBOm0iBkEDdCAFaikDAEIBIAQgBkE6bGuthoNCAFIgBEE6bSIGQQN0IAJqKQMAQgEgBCAGQTpsa62Gg0IAUmtBf2sOAwECAAILIAMgARAuDAELIAEgARBQIAcgBxBfIAggCBBQIAMgARAuIAEgARBQIAcgBxBfIAggCBBQCyAEQX9qIQYgBEEBSgRAIAYhBAwBCwsLIAAgA0YEQCAAEDUgAEGAAmoQNSAAQYAEahA1BSAAIAMQJiAAQYACaiIBIANBgAJqECYgAEGABGoiAiADQYAEahAmIAAQNSABEDUgAhA1CyAFJAMLWQEDfyMDIQIjA0GAAmokAyACQYABaiIDIAEQPCACIAMgARAYIAAgAhCYASAAQYACaiIEIAIQmAEgAEGABGoiACACEJgBIAQgBCABEGogACAAIAMQaiACJAMLmAIBBH8gACACaiEEIAFB/wFxIQMgAkHDAE4EQANAIABBA3EEQCAAIAM6AAAgAEEBaiEADAELCyADQQh0IANyIANBEHRyIANBGHRyIQEgBEF8cSIFQUBqIQYDQCAAIAZMBEAgACABNgIAIAAgATYCBCAAIAE2AgggACABNgIMIAAgATYCECAAIAE2AhQgACABNgIYIAAgATYCHCAAIAE2AiAgACABNgIkIAAgATYCKCAAIAE2AiwgACABNgIwIAAgATYCNCAA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NwIIIABCADcCECAAQgA3AhggAEIANwIgIABCADcCKCAAQgA3AjAgAEIANwI4IABBQGtCADcCACAAQgA3AkggAEIANwJQIABCADcCWCAAQgA3AmAgAEIANwJoIABCADcCcCAAQgA3AngLngICBn8BfiMDIQMjA0GQAmokAyADQbABaiEEIANB4ABqIQUgA0EwaiEIIANB2AFqIQZBACACayACIAJBAEgbIgcgASgCKGxBgYCACEgEQCAAIAEgBxCPAiAAIAEoAiggB2w2AigFIANCADcDACADQgA3AwggA0IANwMQIANCADcDGCADQgA3AyAgAyAHEJMBIAMQDyAIQbAQEBIgBSADIAgQPiAEQYAQEBIgBiAEQYg0KQMAIgkgBRAlIAZBAjYCKCABKAIoQYCAgARKBEAgBEGAEBASIAEgBBApIAFBATYCKAsgBSABIAYQPiAEQYAQEBIgACAEIAkgBRAlIABBAjYCKAsgAkF/SgRAIAMkAw8LIAAgABBdIAAQDyADJAMLKQECfyMDIQEjA0EwaiQDIAFBgBAQEiAAIAEQKSAAEMQBIQIgASQDIAILDgAgABDRASAAQQE2AjgLIgEBfyAAIAEQDiAAQYABaiICIAFBgAFqEC0gABANIAIQDQsNACAAECsgAEFAaxArC1IBA38QByEDIAAjAigCACICaiIBIAJIIABBAEpxIAFBAEhyBEAgARAEGkEMEANBfw8LIAEgA0oEQCABEAVFBEBBDBADQX8PCwsjAiABNgIAIAILxgMBA38gAkGAwABOBEAgACABIAIQBhogAA8LIAAhBCAAIAJqIQMgAEEDcSABQQNxRgRAA0AgAEEDcQRAIAJFBEAgBA8LIAAgASwAADoAACAAQQFqIQAgAUEBaiEBIAJBAWshAgwBCwsgA0F8cSICQUBqIQUDQCAAIAVMBEAgACABKAIANgIAIAAgASgCBDYCBCAAIAEoAgg2AgggACABKAIMNgIMIAAgASgCEDYCECAAIAEoAhQ2AhQgACABKAIYNgIYIAAgASgCHDYCHCAAIAEoAiA2AiAgACABKAIkNgIkIAAgASgCKDYCKCAAIAEoAiw2AiwgACABKAIwNgIwIAAgASgCNDYCNCAAIAEoAjg2AjggACABKAI8NgI8IABBQGshACABQUBrIQEMAQsLA0AgACACSARAIAAgASgCADYCACAAQQRqIQAgAUEEaiEBDAELCwUgA0EEayECA0AgACACSARAIAAgASwAADoAACAAIAEsAAE6AAEgACABLAACOgACIAAgASwAAzoAAyAAQQRqIQAgAUEEaiEBDAELCwsDQCAAIANIBEAgACABLAAAOgAAIABBAWohACABQQFqIQEMAQsLIAQLiwEBA38gAUUEQA8LIAAoAgAhAgJAAkAgASgCACIDQQBKBEACQEEAIQMDQCACIANqIgQgACgCBCICTg0BIAAoAgggBGogAyABKAIIaiwAADoAACAAKAIAIQIgA0EBaiIDIAEoAgAiBEgNAAsgBCEBDAILBSADIQEMAQsMAQsgASACaiECCyAAIAI2AgALaAICfwF+IwMhAiMDQYABaiQDIAJB0ABqIQMgASgCKKwiBCAEfkKAgIAIVgRAIANBgBAQEiABIAMQKSABQQE2AigLIAIgARBDIANBgBAQEiAAIANBiDQpAwAgAhAlIABBAjYCKCACJAMLWgEDfyMDIQIjA0GAAmokAyABEA0gAUGAAWoiAxANIAJBgAFqIgQgASADEBUgBCAEEC0gAiAEIAMQFSAAQYABaiIDIAQgARAVIAAgAhAOIAAQDSADEA0gAiQDCxgAIAAgASACED8gAEFAayABQUBrIAIQPwsNACAAEE8gAEFAaxBPCyQBAX8gABArIABBQGsiARArIAAQOwRAIAEQOwRAQQEPCwtBAAv/AQEIfyMDIQMjA0GABmokAyADQYACaiIHIABBgAFqIgYQDiADQYAFaiIEIAYQPCADQYAEaiIFIAcgAEGAAmoiARAYIANBgANqIgIgARA8IAEgBCAEEBUgARANIAEgASABEBUgASABIAEQFSABEA0gAiACQaw1KAIAQQNsEFcgAhA5IAIQDSADQYABaiIIIAIgARAYIAMgBCACEBUgAxANIAEgASAFEBggBSACIAIQFSACIAIgBRAVIAIQDSAEIAQgAhA6IAQQDSADIAMgBBAYIAYgAyAIEBUgBSAAIAcQGCAEEA0gACAEIAUQGCAAIAAgABAVIAAQDSAGEA0gAyQDC4MBAgJ/AX4gAKchAiAAQv////8PVgRAA0AgAUF/aiIBIAAgAEIKgCIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/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DyAKIAIgBhAWIAAQDyAJIAMQFyAJEA8gChAPIAckAwuaBQEMfyMDIQcjA0GABGokAyAHQcADaiECIAdBgANqIQYgB0HAAmohBCAHQcABaiEIIAdBgAFqIQNBgDsoAgBFBEAgAiAAQUBrIgUQRSAGIAUgAEGAAWoiARATIAQgARBFIAEgAiACEAwgARAKIAEgASABEAwgASABIAEQDCABEAogBCAEQaw1KAIAQQNsED8gCCAEIAEQEyADIAIgBBAMIAMQCiABIAEgBhATIAYgBCAEEAwgBCAEIAYQDCACIAIgBBAiIAIQCiADIAMgAhATIAMgAyAIEAwgBiAAIAUQEyACEAogACACIAYQEyAAIAAgABAMIAAQCiAFIAMQESAFEAogByQDDwtBrDUoAgAiC0UiDARAIAdBgAgQRgsgAiAAEEUgBiAAQUBrIgkQRSAEIABBgAFqIgoQRSAHQYACaiIFIAAgCRATIAUgBSAFEAwgBRAKIAdBQGsiASAKIAAQEyABIAEgARAMIAEQCiAMBEAgAyAEIAcQEwUgAyAEIAsQPwsgAyADIAEQIiAIIAMgAxAMIAgQCiADIAMgCBAMIAggBiADECIgCBAKIAMgAyAGEAwgAxAKIAMgAyAIEBMgCCAIIAUQEyAFIAQgBBAMIAQgBCAFEAwgDARAIAEgASAHEBMFIAEgASALED8LIAEgASAEECIgASABIAIQIiABEAogBSABIAEQDCABIAEgBRAMIAEQCiAFIAIgAhAMIAIgAiAFEAwgAiACIAQQIiACEAogAiACIAEQEyADIAMgAhAMIAIgCSAKEBMgAiACIAIQDCACEAogASABIAIQEyAAIAggARAiIAIgAiACEAwgAhAKIAYgBiAGEAwgBhAKIAogAiAGEBMgABAKIAkgAxARIAkQCiAKEAogByQDC0cBAn8jAyECIwNBQGskAyACQcAMEAsgACACEB4gAEEBNgI4IAJBwAwQCyABIAIQHiABQQE2AjggACABEKACRSEDIAIkAyADC8gBAQJ+IAAgACkDACIDQv//////////A4M3AwAgACAAKQMIIANCOod8IgJC//////////8DgzcDCCAAIAApAxAgAkI6h3wiAkL//////////wODNwMQIAAgACkDGCACQjqHfCICQv//////////A4M3AxggACAAKQMgIAJCOod8IgJC//////////8DgzcDICAAIAApAyggAkI6h3wiAkL//////////wODNwMoIAAgACkDMCACQjqHfDcDMCADp0EBIAF0QX9qcQvAAQECfiAAIAApAwggACkDACIDQjqHfCICQv//////////A4M3AwggACAAKQMQIAJCOod8IgJC//////////8DgzcDECAAIAApAxggAkI6h3wiAkL//////////wODNwMYIAAgACkDICACQjqHfCICQv//////////A4M3AyAgACAAKQMoIAJCOod8IgJC//////////8DgzcDKCAAIAApAzAgAkI6h3w3AzAgACABrCADQv//////////A4N8NwMAC+ECAgJ/B34gACAAKQMAIgNC//////////8DgyIENwMAIAAgACkDCCADQjqHfCIDQv//////////A4MiBTcDCCAAIAApAxAgA0I6h3wiA0L//////////wODIgY3AxAgACAAKQMYIANCOod8IgNC//////////8DgyIHNwMYIAAgACkDICADQjqHfCIDQv//////////A4MiCDcDICAAIAApAyggA0I6h3wiA0L//////////wODIgk3AyggACAAKQMwIANCOod8IgM3AzAgA0IAUQR/IAlCAFEEfyAIQgBRBH8gB0IAUQR/IAZCAFEEfyAFQgBRBH8gBEIAUQR/QQAPBUEACwVBAQsFQQILBUEDCwVBBAsFQQULBUEGCyICQTpsIQEgAkEDdCAAaikDACIDQgBRBEAgAQ8LIAEhAANAIANCAn8hBCAAQQFqIQAgA0IBfEIDWgRAIAQhAwwBCwsgAAsaACAAIAEgAhAYIABBgAFqIAFBgAFqIAIQGAsOACAAEFggAEGAAWoQWAsYACAAIAEgAhATIABBQGsgAUFAayACEBMLJAEBfyMDIQEjA0FAayQDIAEQXiAAIAEQESAAQUBrEE8gASQDC+cGAQx/IwMhCCMDQfAfaiQDIAAQWSEDIABBgAJqIgoQWSADcQRAIAgkAw8LIAAQhQEgCEHoHGoiBiAAEA4gBkGAAWoiCyAAQYABaiIMEA4gBkGAAmoiCSAKEA4gBhBaIAhB8ABqIgIgABAOIAJBgAFqIgMgDBAOIAJBgAJqIgQgChAOIAJBgANqIgUgAhAOIAJBgARqIgcgAxAOIAJBgAVqIgMgBBAOIAUgBhA9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AGoiAyABIAIQPiABQbABaiICQYAQEBIgACACQYg0KQMAIAMQJSAAQQI2AiggASQDCycBAX8jAyEBIwNBMGokAyABQYAQEBIgACABECkgAEEBNgIoIAEkAwtKAQJ/IwMhAiMDQbABaiQDIAJBsBAQEiACQTBqIgMgASACED4gAkGAAWoiAUGAEBASIAAgAUGINCkDACADECUgAEECNgIoIAIkAwvLAQIBfwV+IABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyADQCAAIAdCCIYgBkIwh4QiBzcDICAAIAZCCIZCgP7///////8AgyAEQjCHhCIGNwMYIAAgBEIIhkKA/v///////wCDIAVCMIeEIgQ3AxAgACAFQgiGQoD+////////AIMgA0Iwh4QiBTcDCCAAIANCCIZCgP7///////8AgyIDNwMAIAAgAyABIAJqLQAArYQiAzcDACACQQFqIgJBIEcNAAsLmAICAX8FfiABIAEpAwAiA0L//////////wCDIgU3AwAgASABKQMIIANCOId8IgNC//////////8AgyIGNwMIIAEgASkDECADQjiHfCIDQv//////////AIMiBzcDECABIAEpAxggA0I4h3wiBEL//////////wCDIgM3AxggASABKQMgIARCOId8IgQ3AyBBHyEBA0AgACABaiAFPAAAIAZCMIZCgICAgICAwP8AgyAFQgiHhCEFIAdCMIZCgICAgICAwP8AgyAGQgiHhCEGIANCMIZCgICAgICAwP8AgyAHQgiHhCEHIARCMIZCgICAgICAwP8AgyADQgiHhCEDIARCCIchBCABQX9qIQIgAQRAIAIhAQwBCwsLagECfyMDIQMjA0GAAWokAyADIAIQGSADIAMQRSADECsgA0FAayIEIAEQGSAEIAQQmgIgAyAEEGYEQCAAIAEQGSAAQUBrIAIQGSAAQYABahBeBSAAEE8gAEFAaxBeIABBgAFqEE8LIAMkAwvmFwE2fiABIAIQHiACKQMAISQgAikDCCElIAIpAxAhJiACKQMYIScgAikDICEoIAIpAyghKSACKQMwISogASkDCCIJIAEpAxAiDiABKQMYIg0gASkDICIMIAEpAygiBSABKQMwIhKEhISEhEIAUSABKQMAIhVCAVFxBEAgAEIBNwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwDwtCASEPICQhAyAlIQQgJiEKICchECAoIREgKSEUICohIwJAAkADQCADQgFRBH8gBCAKIBAgESAUICOEhISEhEIAUQVBAAtFBEAgFUICgacEfiAVIR4gFiEVIAkhFiATIQkgDiETIA0hISAaIQ4gDCEaIBchDSAFIRcgEiEiIAshDCAIBQN+IA9CAoGnBEAgCyApfCAIICh8IBcgJ3wgGiAmfCATICV8IA8gJHwiD0I6h3wiE0I6h3wiIUI6h3wiF0I6h3wiIkI6h3whHiAPQv//////////A4MhDyAWICp8IB5COod8IRYgE0L//////////wODIRMgIUL//////////wODIRogF0L//////////wODIRcgIkL//////////wODIQggHkL//////////wODIQsLIBVCAYciHiAJQjmGQoCAgICAgICAAoOEIRUgDkI5hkKAgICAgICAgAKDIAlCAYeEIQkgDUI5hkKAgICAgICAgAKDIA5CAYeEIQ4gDEI5hkKAgICAgICAgAKDIA1CAYeEIQ0gBUI5hkKAgICAgICAgAKDIAxCAYeEIQwgEkI5hkKAgICAgICAgAKDIAVCAYeEIQUgEkIBhyESIBNCOYZCgICAgICAgIACgyAPQgGHhCEPIBpCOYZCgICAgICAgIACgyATQgGHhCETIBdCOYZCgICAgICAgIACgyAaQgGHhCEaIAhCOYZCgICAgICAgIACgyAXQgGHhCEXIAtCOYZCgICAgICAgIACgyAIQgGHhCEIIBZCOYZCgICAgICAgIACgyALQgGHhCELIBZCAYchFiAeQgKBp0UNACAVIR4gFiEVIAkhFiATIQkgDiETIA0hISAaIQ4gDCEaIBchDSAFIRcgEiEiIAshDCAICwshEiADQgKBpwR+IAYhBSADIQggByEGIAQhCyAYIQcgCiEYIBAhHyAZIQogESEZIBQhICAcIREgHSEUIBsFA34gBkICgacEQCAdICl8IBwgKHwgGyAnfCAZICZ8IBggJXwgBiAkfCIGQjqHfCIIQjqHfCILQjqHfCIfQjqHfCIgQjqHfCEFIAZC//////////8DgyEGIAcgKnwgBUI6h3whByAIQv//////////A4MhGCALQv//////////A4MhGSAfQv//////////A4MhGyAgQv//////////A4MhHCAFQv//////////A4MhHQsgA0IBhyIFIARCOYZCgICAgICAgIACg4QhAyAKQjmGQoCAgICAgICAAoMgBEIBh4QhBCAQQjmGQoCAgICAgICAAoMgCkIBh4QhCiARQjmGQoCAgICAgICAAoMgEEIBh4QhECAUQjmGQoCAgICAgICAAoMgEUIBh4QhESAjQjmGQoCAgICAgICAAoMgFEIBh4QhFCAjQgGHISMgGEI5hkKAgICAgICAgAKDIAZCAYeEIQYgGUI5hkKAgICAgICAgAKDIBhCAYeEIRggG0I5hkKAgICAgICAgAKDIBlCAYeEIRkgHEI5hkKAgICAgICAgAKDIBtCAYeEIRsgHUI5hkKAgICAgICAgAKDIBxCAYeEIRwgB0I5hkKAgICAgICAgAKDIB1CAYeEIR0gB0IBhyEHIAVCAoGnRQ0AIAYhBSADIQggByEGIAQhCyAYIQcgCiEYIBAhHyAZIQogESEZIBQhICAcIREgHSEUIBsLCyEQAn4CQCAiICNRBH4gFyAgUQR+IBkgGlEEfiAfICFRBH4gEyAYUQR+IAsgFlEEfiAIIB5RDQYgHiEEIAgFIBYhBCALCwUgEyEEIBgLBSAhIQQgHwsFIBohBCAZCwUgFyEEICALBSAiIQQgIwshAyAEIANVDQACfiAIIB59IgNC//////////8DgyE3IAsgFn0gA0I6h3wiA0L//////////wODISwgGCATfSADQjqHfCIDQv//////////A4MhLSAfICF9IANCOod8IgNC//////////8DgyEuIBkgGn0gA0I6h3wiA0L//////////wODIS8gICAXfSADQjqHfCIDQv//////////A4MhMCAjICJ9IANCOod8ISMCfgJAIAYgFVEEfiAMIBRRBH4gESASUQR+IA0gEFEEfiAKIA5RBH4gByAJUQR+IAUgD1ENBiAFIQQgDwUgByEEIAkLBSAKIQQgDgsFIBAhBCANCwUgESEEIBILBSAUIQQgDAsFIAYhBCAVCyEDIAQgA1UNACAFICQgD318IQQgBiAqIBV9fCEFIAcgJSAJfXwhBiAKICYgDn18IQcgECAnIA19fCEKIBEgKCASfXwhECAUICkgDH18DAELIAUgD30hBCAGIBV9IQUgByAJfSEGIAogDn0hByAQIA19IQogESASfSEQIBQgDH0LIREgBEL//////////wODITEgNwshAyAFIBEgECAKIAcgBiAEQjqHfCIGQjqHfCIHQjqHfCIKQjqHfCIQQjqHfCIRQjqHfCEUIBYhBSAGQv//////////A4MhMiAJIQggEyELIAdC//////////8DgyEzIA4hHyAaIRsgCkL//////////wODITQgDSEgIBchHCAQQv//////////A4MhNSASIR0gEUL//////////wODITYgDCErIBUMAQsgHiAIfSIDQv//////////A4MhHgJ+IBYgC30gA0I6h3wiA0L//////////wODITggEyAYfSADQjqHfCIDQv//////////A4MhEyAhIB99IANCOod8IgNC//////////8DgyEhIBogGX0gA0I6h3wiA0L//////////wODIRsgFyAgfSADQjqHfCIDQv//////////A4MhHCAiICN9IANCOod8ISICQAJAIAYgFVEEQCAMIBRRBEAgESASUQRAIA0gEFEEQCAKIA5RBEAgByAJUQRAIAUgD1IEQCAFIQMgDyEEDAcLBSAHIQMgCSEEDAYLBSAKIQMgDiEEDAULBSAQIQMgDSEEDAQLBSARIQMgEiEEDAMLBSAUIQMgDCEEDAILBSAGIQMgFSEEDAELDAELIAQgA1cEQCAPICR8IQ8gFSAqfCEVIAkgJXwhCSAOICZ8IQ4gDSAnfCENIBIgKHwhEiAMICl8IQwLCyAMIBR9IBIgEX0gDSAQfSAOIAp9IAkgB30gDyAFfSIPQjqHfCIOQjqHfCINQjqHfCISQjqHfCIMQjqHfCEJIAUhMSAPQv//////////A4MhDyAIIQMgCyEsIDgLIQUgByEyIA5C//////////8DgyEIIBghLSATIQsgHyEuIAohMyANQv//////////A4MhHyAZIS8gICEwIBAhNCASQv//////////A4MhICARITUgDEL//////////wODIR0gFCE2IAlC//////////8DgyErIBUgBiIUfSAJQjqHfAshBCAeQgFRBH8gBSALICEgGyAcICKEhISEhEIAUQVBAAsNAiAiIRIgMSEGIB4hFSAUIQcgBCEWICwhBCAFIQkgMiEYIAghEyAtIQogCyEOIC4hECAhIQ0gMyEZIB8hGiAvIREgGyEMIDAhFCA0IRsgICEXIBwhBSA1IRwgHSEIIDYhHSArIQsMAQsLDAELIAAgDzcDACAAIAg3AwggACAfNwMQIAAgIDcDGCAAIB03AyAgACArNwMoIAAgBDcDMA8LIAAgDyAGIBVCAVEEfyAJIA4gDSAMIAUgEoSEhISEQgBRBUEACyIBGzcDACAAIBMgGCABGzcDCCAAIBogGSABGzcDECAAIBcgGyABGzcDGCAAIAggHCABGzcDICAAIAsgHSABGzcDKCAAIBYgByABGzcDMAvAAQECfiAAIAApAwggACkDACIDQjqHfCICQv//////////A4M3AwggACAAKQMQIAJCOod8IgJC//////////8DgzcDECAAIAApAxggAkI6h3wiAkL//////////wODNwMYIAAgACkDICACQjqHfCICQv//////////A4M3AyAgACAAKQMoIAJCOod8IgJC//////////8DgzcDKCAAIAApAzAgAkI6h3w3AzAgACADQv//////////A4MgAax9NwMAC3IAIAAgASkDACACKQMAfDcDACAAIAEpAwggAikDCHw3AwggACABKQMQIAIpAxB8NwMQIAAgASkDGCACKQMYfDcDGCAAIAEpAyAgAikDIHw3AyAgACABKQMoIAIpAyh8NwMoIAAgASkDMCACKQMwfDcDMAt4AQR/IwMhAyMDQYAEaiQDIAIQDSACQYABaiIEEA0gA0GAA2oiBSACIAQQFSAFIAUQLSADQYACaiIGIAUgBBAVIANBgAFqIgQgBSACEBUgAyAGEA4gAxANIAQQDSAAIAEgAxAVIABBgAFqIAFBgAFqIAQQFSADJAML/AIBBn8jAyEDIwNBwCBqJAMgA0GAChALIANB+B5qIgFBwA0QRiADQbgeaiICQYAOEEYgA0G4H2oiBSIEIAEQESAEQUBrIAIQESADQbgYaiIBIAAQbyAAIAAQNiAAIAEQLiABIAAQiAEgACAFEEkgACAFEEkgACABEC4gA0G4EmoiBiAAEKIBIANBuAxqIgEgBiADEEggASABEDYgA0EBECwgA0G4BmoiAiABIAMQSCACIAIQNiADQQEQ0AEgA0E4aiIEIAAQNiABIAQQLiABIAEQNiABIAIQLiACIAEgAxBIIAIgAhA2IAQgAiADEEggBCAEEDYgASABEDYgBCABEC4gASABEDYgASAFEEkgASAFEEkgASAFEEkgAiAFEEkgAiAFEEkgASACEC4gAiAEIAMQSCACIAIQNiACIAYQLiACIAAQLiABIAIQLiACIAQQiAEgAiAFEEkgASACEC4gACABEIgBIAAQNSAAQYACahA1IABBgARqEDUgAyQDC/ADAQt/IwMhBiMDQYAOaiQDIAZBgA1qIQogBkGADGohCCAGQYALaiELIAZBgApqIQkgBkGACWohDCAGQYAIaiENIAZBgAdqIQUgBkGABmohByAGQYAEaiEOIAZBgAJqIQ8gASACRgRAIAwgARAOIA0gAUGAAWoQDiAFIAFBgAJqEA4gByANEA4gByAHIAUQGCAMIAwQPCANIA0QPCAFIAUQPCAHIAdBBBBXIAcgBxAtIAcQDSAMIAxBBhBXIAwgDCADEGwgBSAFQaw1KAIAQQNsEFcgByAHIAQQbCAFEDkgBSAFIAUQFSAHEDkgBxANIAUQDSANIA0gDRAVIAUgBSANEDogBRANIA4gByAFEJoBIA8QayAGIAwQmQEgARBaBSAKIAEQDiAIIAFBgAFqEA4gCyABQYACahAOIAkgCxAOIAsgCyACQYABaiIFEBggCSAJIAIQGCAKIAogCRA6IAoQDSAIIAggCxA6IAgQDSALIAoQDiAKIAogBBBsIAoQOSAKEA0gCyALIAUQGCAJIAgQDiAJIAkgAhAYIAkgCSALEDogCRANIAggCCADEGwgCCAIEC0gCBANIA4gCiAJEJoBIA8QayAGIAgQmQEgASACED0LIAAgDhAmIABBgAJqIA8QJiAAQYAEaiAGECYgBiQDC+cCAQd/IwMhAyMDQcALaiQDIANBgAFqIgRBgAoQCyADQUBrIgcgBBALIAcQCiADIAdBAxCWASADEAogA0H4CmoiCCACEBEgA0G4CmoiCSACQUBrEBEgA0G4B2oiBiABEKABIAAQbSAAQYABahBYIABBgAJqEGsgAEGABGoQayADEGkiAkECTARAIAAgABA2IAMkAw8LIANBuAFqIQUgAkF+aiECA0AgACAAENsBIAUgBiAGIAggCRCBASAAIAUQhwECQAJAAkAgAkE6bSIEQQN0IANqKQMAQgEgAiAEQTpsa62Gg0IAUiACQTptIgRBA3QgB2opAwBCASACIARBOmxrrYaDQgBSa0F/aw4DAQIAAgsgBSAGIAEgCCAJEIEBIAAgBRCHAQwBCyABEJ0BIAUgBiABIAggCRCBASAAIAUQhwEgARCdAQsgAkF/aiEEIAJBAUoEQCAEIQIMAQsLIAAgABA2IAMkAwtFAQJ/IwMhASMDQYACaiQDIAFBgAFqIgJBwAoQRiACQUBrQYALEEYgAUHACxBGIAFBQGtBgAwQRiAAIAIgARCeASABJAMLngEBA38jAyECIwNBwAJqJAMgAkG4AWohAyACQThqIQQgARBZIAFBgAJqEFlxRQRAIAEQhQEgBCABQYABahAOIAMgARAOCyACIAMQKiAAKAIIIAIQICACIANBQGsQKiAAKAIIQTBqIAIQICACIAQQKiAAKAIIQeAAaiACECAgAiAEQUBrECogACgCCEGQAWogAhAgIABBwAE2AgAgAiQDC3UBBH8jAyEBIwNBgAJqJAMgABBZIABBgAJqIgIQWXEEQCABJAMPCyABQYABaiIEEG0gAhDWAQRAIAAQUSAAQYABahBRBSABIAIQmwEgACAAIAEQGCAAQYABaiIDIAMgARAYIAAQUSADEFEgAiAEEA4LIAEkAwudAgEBfyMDIQIjA0FAayQDIAIgASgCCBAfIAAgAhAZIAIgASgCCEEwahAfIABBQGsgAhAZIAIgASgCCEHgAGoQHyAAQYABaiACEBkgAiABKAIIQZABahAfIABBwAFqIAIQGSACIAEoAghBwAFqEB8gAEGAAmogAhAZIAIgASgCCEHwAWoQHyAAQcACaiACEBkgAiABKAIIQaACahAfIABBgANqIAIQGSACIAEoAghB0AJqEB8gAEHAA2ogAhAZIAIgASgCCEGAA2oQHyAAQYAEaiACEBkgAiABKAIIQbADahAfIABBwARqIAIQGSACIAEoAghB4ANqEB8gAEGABWogAhAZIAIgASgCCEGQBGoQHyAAQcAFaiACEBkgAiQDC4gCAQh/IwMhAyMDQYAMaiQDIANBgApqIgggACABECQgA0GAAmoiAiAAIABBgAJqIgYQFCACEBogA0GACGoiBCACIAEQJCACIAYgAEGABGoiBxAUIAIQGiADQYAEaiIFIAIgAUGABWoiCRBqIAUQNCACIAgQViAEIAQgAhAUIAYgBBAmIANBgAZqIgQgAhAmIAIgACAHEBQgAyABIAFBgARqEBQgAhAaIAMQGiACIAMgAhAkIAQgBCACEBQg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EBIgACACQYg0KQMAIAMQJSAAQQI2AiggASQDC3EBBH8jAyEBIwNB4ABqJAMgAEHgAGohAiAAEE4EQCACEE4EQCABJAMPCwsgAUEwaiIDEHYgAiADELsBBEAgASQDDwsgASACEIUCIAAgACABEBYgAEEwaiIEIAQgARAWIAQQdyAAEHcgAiADEBcgASQDC44BAQJ+IAAgACkDACIDQv//////////AIM3AwAgACAAKQMIIANCOId8IgJC//////////8AgzcDCCAAIAApAxAgAkI4h3wiAkL//////////wCDNwMQIAAgACkDGCACQjiHfCICQv//////////AIM3AxggACAAKQMgIAJCOId8NwMgIAOnQQEgAXRBf2pxC4YBAQJ+IAAgACkDCCAAKQMAIgNCOId8IgJC//////////8AgzcDCCAAIAApAxAgAkI4h3wiAkL//////////wCDNwMQIAAgACkDGCACQjiHfCICQv//////////AIM3AxggACAAKQMgIAJCOId8NwMgIAAgA0L//////////wCDIAGsfTcDAAuGAQECfiAAIAApAwggACkDACIDQjiHfCICQv//////////AIM3AwggACAAKQMQIAJCOId8IgJC//////////8AgzcDECAAIAApAxggAkI4h3wiAkL//////////wCDNwMYIAAgACkDICACQjiHfDcDICAAIAGsIANC//////////8Ag3w3AwALcAEEfyMDIQEjA0GAAWokAyAAQYABaiECIAAQOwRAIAIQOwRAIAEkAw8LCyABQUBrIgMQXiACIAMQZgRAIAEkAw8LIAEgAhDKASAAIAAgARATIABBQGsiBCAEIAEQEyAEECsgABArIAIgAxARIAEkAwvFBwIHfxR+IwMhAyMDQfAAaiQDIANCADcDACADQgA3AwggA0IANwMQIANCADcDGCADQgA3AyAgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0IANwMAIANCADcDSCADQgA3A1AgA0IANwNYIANCADcDYCADQgA3A2ggA0FAayEJA0AgASABKQMAIgpC//////////8DgyIYNwMAIAEgASkDCCAKQjqHfCIKQv//////////A4MiGTcDCCABIAEpAxAgCkI6h3wiCkL//////////wODIho3AxAgASABKQMYIApCOod8IgpC//////////8DgyIbNwMYIAEgASkDICAKQjqHfCIKQv//////////A4MiHDcDICABIAEpAyggCkI6h3wiCkL//////////wODIh03AyggASABKQMwIApCOod8Igo3AzACQAJAIApCAFEEfyAdQgBRBH8gHEIAUQR/IBtCAFEEfyAaQgBRBH8gGUIAUQR/IBhCAFEEf0EABUEAIQQMBwsFQQEhBAwGCwVBAiEEDAULBUEDIQQMBAsFQQQhBAwDCwVBBSEEDAILBUEGIQQMAQshBQwBCyAEQTpsIQUgBEEDdCABaikDACIKQgBSBEADQCAKQgJ/IRggBUEBaiEFIApCAXxCA1oEQCAYIQoMAQsLCwsgByAFQQF0SARAIAYEfyAIQQF1BSACEHULIQUgAyADKQNoQgGGIBJCOYeENwNoIAMgEkIBhkL+/////////wODIBNCOYeEIhI3A2AgAyATQgGGQv7/////////A4MgFEI5h4QiEzcDWCADIBRCAYZC/v////////8DgyAVQjmHhCIUNwNQIAMgFUIBhkL+/////////wODIBZCOYeEIhU3A0ggCSAWQgGGQv7/////////A4MgF0I5h4QiFjcDACADIBdCAYZC/v////////8DgyALQjmHhCIXNwM4IAMgC0IBhkL+/////////wODIAxCOYeEIgs3AzAgAyAMQgGGQv7/////////A4MgDUI5h4QiDDcDKCADIA1CAYZC/v////////8DgyAOQjmHhCINNwMgIAMgDkIBhkL+/////////wODIA9COYeEIg43AxggAyAPQgGGQv7/////////A4MgEEI5h4QiDzcDECADIBBCAYZC/v////////8DgyARQjmHhCIQNwMIIAMgBUEBca0gEUIBhkL+/////////wODhCIRNwMAIAUhCCAGQQFqQQdxIQYgB0EBaiEHDAELCyAAIAMgARCfAiADJAML5wQBCH4gAqwiA0L/////AYMhBCAAIANCHYciAyABKQMAIgVC/////wGDIgZ+IAQgBUIdhyIFfnwiB0IdhkKAgICA/v///wODIAQgBn58IgZC//////////8DgzcDACAAIAEpAwgiCEL/////AYMiCSADfiAIQh2HIgggBH58IgpCHYZCgICAgP7///8DgyADIAV+IAdCHYd8IAZCOoh8IAQgCX58fCIFQv//////////A4M3AwggACABKQMQIgZC/////wGDIgcgA34gBCAGQh2HIgZ+fCIJQh2GQoCAgID+////A4MgAyAIfiAKQh2HfCAFQjqHfCAEIAd+fHwiBUL//////////wODNwMQIAAgAyABKQMYIgdC/////wGDIgh+IAQgB0IdhyIHfnwiCkIdhkKAgICA/v///wODIAMgBn4gCUIdh3wgBUI6h3wgBCAIfnx8IgVC//////////8DgzcDGCAAIAMgASkDICIGQv////8BgyIIfiAEIAZCHYciBn58IglCHYZCgICAgP7///8DgyADIAd+IApCHYd8IAVCOod8IAQgCH58fCIFQv//////////A4M3AyAgACABKQMoIgdC/////wGDIgggA34gB0IdhyIHIAR+fCIKQh2GQoCAgID+////A4MgAyAGfiAJQh2HfCAFQjqHfCAEIAh+fHwiBUL//////////wODNwMoIAAgASkDMCIGQv////8BgyIIIAN+IAZCHYcgBH58Qh2GQoCAgID+////A4MgAyAHfiAKQh2HfCAFQjqHfCAEIAh+fHxC//////////8DgzcDMAuyAQECfiAAIAApAwAiA0EAIAJrrCIEIAMgASkDAIWDhTcDACAAIAApAwgiAyADIAEpAwiFIASDhTcDCCAAIAApAxAiAyADIAEpAxCFIASDhTcDECAAIAApAxgiAyADIAEpAxiFIASDhTcDGCAAIAApAyAiAyADIAEpAyCFIASDhTcDICAAIAApAygiAyAEIAMgASkDKIWDhTcDKCAAIAApAzAiAyAEIAMgASkDMIWDhTcDMAseACAAIAAQnAEgAEGAAWoiACAAEJwBIAAgASAAEBgLEAAgAEGAAWogARAOIAAQWAsSACAAIAEQDiAAQYABaiACEA4LXgEDfyMDIQMjA0GAAWokAyABEAogAUFAayIEEAogA0FAayICIAEQRSADIAQQRSACIAIgAxAMIAIgAhDKASAAIAEgAhATIAIgAhAwIAIQCiAAQUBrIAQgAhATIAMkAwsaACAAIAEQESAAQUBrIgAgAUFAaxAwIAAQCgsWACAAQYABaiIAEA0gACAAEC0gABANC5wBAQR/IwMhBCMDQcADaiQDIARBOGoiBiACEDwgBEG4AmoiAyABEDwgBEG4AWoiBSADIAEQGCAEQYAIEAsgAyAEEBkgA0FAaxBPIAMQDSADEDkgAxANIAUgAyAFEBUgBRBRIAYgBRDVAQRAIAAgARAOIABBgAFqIAIQDiAAQYACahBtBSAAEFggAEGAAWoQbSAAQYACahBYCyAEJAMLdQEDfyMDIQIjA0HAAmokAyACIAEoAggQHyACQbgBaiIDIAIQGSACIAEoAghBMGoQHyADQUBrIAIQGSACIAEoAghB4ABqEB8gAkE4aiIEIAIQGSACIAEoAghBkAFqEB8gBEFAayACEBkgACADIAQQngEgAiQDCyQAIAAgARAOIABBgAFqIAFBgAFqEA4gAEGAAmogAUGAAmoQDgulAgEBfyMDIQIjA0FAayQDIABBwAQ2AgAgAiABECogACgCCCACECAgAiABQUBrECogACgCCEEwaiACECAgAiABQYABahAqIAAoAghB4ABqIAIQICACIAFBwAFqECogACgCCEGQAWogAhAgIAIgAUGAAmoQKiAAKAIIQcABaiACECAgAiABQcACahAqIAAoAghB8AFqIAIQICACIAFBgANqECogACgCCEGgAmogAhAgIAIgAUHAA2oQKiAAKAIIQdACaiACECAgAiABQYAEahAqIAAoAghBgANqIAIQICACIAFBwARqECogACgCCEGwA2ogAhAgIAIgAUGABWoQKiAAKAIIQeADaiACECAgAiABQcAFahAqIAAoAghBkARqIAIQICACJAML5AEBBX8jAyEDIwNBgAhqJAMgA0GABmoiAiABECYgACABEEAgAyAAIAAQFCAAIAMgABAUIAAQGiACIAIQXyACIAIgAhAUIAAgACACEBQgA0GABGoiAiABQYAEaiIGEEAgAhA0IAMgAiACEBQgAiACIAMQFCACEBogA0GAAmoiBSABQYACaiIEEEAgAyAFIAUQFCAFIAUgAxAUIAUQGiAAQYACaiIBIAQQUCABIAEgARAUIABBgARqIgQgBhBfIAQgBCAEEBQgASACIAEQFCAEIAUgBBAUIAAQNSABEDUgBBA1IAMkAwurAQEDfyMDIQQjA0GAC2okAyAEQYAGaiEDIARB+AdqIQUgACwAAEEERgRAIANBwAE2AgAgA0HAATYCBCADIABBAWo2AgggBSADEJ8BCyAEQbgGaiEAIAEsAABBBEYEQCADIAFBAWoQHyAEIAFBMWoQHyAA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IhUsAABzOgAAIABBkhBqIgQgAEGCEGoiFiwAACAELAAAczoAACAAQZMQaiIFIABBgxBqIhcsAAAgBSwAAHM6AAAgAEGUEGoiBiAAQYQQaiIYLAAAIAYsAABzOgAAIABBlRBqIgcgAEGFEGoiGSwAACAHLAAAczoAACAAQZYQaiIIIABBhhBqIhosAAAgCCwAAHM6AAAgAEGXEGoiCSAAQYcQaiIbLAAAIAksAABzOgAAIABBmBBqIgogAEGIEGoiHCwAACAKLAAAczoAACAAQZkQaiILIABBiRBqIh0sAAAgCywAAHM6AAAgAEGaEGoiDCAAQYoQaiIeLAAAIAwsAABzOgAAIABBmxBqIg0gAEGLEGoiHywAACANLAAAczoAACAAQZwQaiIOIABBjBBqIiAsAAAgDiwAAHM6AAAgAEGdEGoiDyAAQY0QaiIhLAAAIA8sAABzOgAAIABBnhBqIhAgAEGOEGoiIiwAACAQLAAAczoAACAAQZ8QaiIRIABBjxBqIiMsAAAgESwAAHM6AAAgASAUOgAAIBNBADoAACASQQA6AAAgASADLAAAOgABIBVBADoAACADQQA6AAAgASAELAAAOgACIBZBADoAACAEQQA6AAAgASAFLAAAOgADIBdBADoAACAFQQA6AAAgASAGLAAAOgAEIBhBADoAACAGQQA6AAAgASAHLAAAOgAFIBlBADoAACAHQQA6AAAgASAILAAAOgAGIBpBADoAACAIQQA6AAAgASAJLAAAOgAHIBtBADoAACAJQQA6AAAgASAKLAAAOgAIIBxBADoAACAKQQA6AAAgASALLAAAOgAJIB1BADoAACALQQA6AAAgASAMLAAAOgAKIB5BADoAACAMQQA6AAAgASANLAAAOgALIB9BADoAACANQQA6AAAgASAOLAAAOgAMICBBADoAACAOQQA6AAAgASAPLAAAOgANICFBADoAACAPQQA6AAAgASAQLAAAOgAOICJBADoAACAQQQA6AAAgASARLAAAOgAPICNBADoAACARQQA6AAAgAEGwEGpBAzYCACACEHALrgEBBn8gAEGwEGoiCCgCAARADwsgAkEASgRAIABBpBBqIQYgAEGgEGohBwNAIAMgAkgEQEEAIQQDQCAEIABBgBBqaiIFIAEgA2osAAAgBSwAAHM6AAAgBiAGKAIAQQFqIgU2AgAgBUUEQCAHIAcoAgBBAWo2AgALIANBAWoiAyACSCAEQQFqIgRBEElxDQALCyAAEGEgAyACSA0ACwsgAkEPcUUEQA8LIAhBATYCAAveAwEFfyAAQaQQaigCACEBIABBqBBqKAIAIQUgAEGsEGooAgAhBCAAQYAQaiIDIAMsAAAgAEGgEGooAgAiAkEVdkH/AXFzOgAAIABBgRBqIgMgAywAACACQQ12Qf8BcXM6AAAgAEGCEGoiAyADLAAAIAJBBXZB/wFxczoAACAAQYMQaiIDIAMsAAAgAkEDdCABQR12ckH/AXFzOgAAIABBhBBqIgIgAiwAACABQRV2Qf8BcXM6AAAgAEGFEGoiAiACLAAAIAFBDXZB/wFxczoAACAAQYYQaiICIAIsAAAgAUEFdkH/AXFzOgAAIABBhxBqIgIgAiwAACABQQN0Qf8BcXM6AAAgAEGIEGoiASABLAAAIAVBFXZB/wFxczoAACAAQYkQaiIBIAEsAAAgBUENdkH/AXFzOgAAIABBihBqIgEgASwAACAFQQV2Qf8BcXM6AAAgAEGLEGoiASABLAAAIAVBA3QgBEEddnJB/wFxczoAACAAQYwQaiIBIAEsAAAgBEEVdkH/AXFzOgAAIABBjRBqIgEgASwAACAEQQ12Qf8BcXM6AAAgAEGOEGoiASABLAAAIARBBXZB/wFxczoAACAAQY8QaiIBIAEsAAAgBEEDdEH/AXFzOgAAIAAQYQviCwEKfyMDIQUjA0EQaiQDIAVCADcDACAFQgA3AwggAEGAEGoiC0IANwAAIAtCADcACCAAQbQQaiIGQQAgASACIAQQjAEgBiAFEDcgACAFLQADIAUtAAFBEHQgBS0AAEEYdHIgBS0AAkEIdHJyIgE2AgAgACAFLQAHIAUtAARBGHQgBS0ABUEQdHIgBS0ABkEIdHJyIgI2AgQgACAFLQALIAUtAAhBGHQgBS0ACUEQdHIgBS0ACkEIdHJyIgY2AgggACAFLQAPIAUtAAxBGHQgBS0ADUEQdHIgBS0ADkEIdHJyIgg2AgxBASEHA0AgB0EEdCAAaiINIAFBAXYiDDYCACAHQQR0IABqIAFBH3QgAkEBdnIiCjYCBCAHQQR0IABqIAJBH3QgBkEBdnIiCTYCCCAHQQR0IABqIAZBH3QgCEEBdnIiDjYCDCAMQYCAgIh+cyEBIAhBAXEEQCANIAE2AgAFIAwhAQsgB0EBaiIHQYABRwRAIAohAiAJIQYgDiEIDAELCyAAQaAQaiIGQgA3AgAgBkIANwIIIANBDEYEQCAAQaAUaiIBIAQsAAA6AAAgAEGhFGogBCwAAToAACAAQaIUaiAELAACOgAAIABBoxRqIAQsAAM6AAAgAEGkFGogBCwABDoAACAAQaUUaiAELAAFOgAAIABBphRqIAQsAAY6AAAgAEGnFGogBCwABzoAACAAQagUaiAELAAIOgAAIABBqRRqIAQsAAk6AAAgAEGqFGogBCwACjoAACAAQasUaiAELAALOgAAIABBrxRqQQE6AAAgAEGuFGpBADoAACAAQa0UakEAOgAAIABBrBRqQQA6AAAgAEGQEGoiAiABKQAANwAAIAIgASkACDcACCAAQbAQakEANgIAIAUkAw8LIABBrBBqIQggAEGoEGohByAAQbAQaiIKQQE2AgAgA0EASgRAQQAhAQNAIAEgA0gEQEEAIQIDQCACIABBgBBqaiIJIAEgBGosAAAgCSwAAHM6AAAgCCAIKAIAQQFqIgk2AgAgCUUEQCAHIAcoAgBBAWo2AgALIAFBAWoiASADSCACQQFqIgJBEElxDQALCyAAEGEgASADSA0ACwsgA0EPcQRAIApBAjYCAAsgABCtASAAQaAUaiALLAAAIgE6AAAgAEGQEGogAToAACALQQA6AAAgAEGhFGogAEGBEGoiASwAACICOgAAIABBkRBqIAI6AAAgAUEAOgAAIABBohRqIABBghBqIgEsAAAiAjoAACAAQZIQaiACOgAAIAFBADoAACAAQaMUaiAAQYMQaiIBLAAAIgI6AAAgAEGTEGogAjoAACABQQA6AAAgAEGkFGogAEGEEGoiASwAACICOgAAIABBlBBqIAI6AAAgAUEAOgAAIABBpRRqIABBhRBqIgEsAAAiAjoAACAAQZUQaiACOgAAIAFBADoAACAAQaYUaiAAQYYQaiIBLAAAIgI6AAAgAEGWEGogAjoAACABQQA6AAAgAEGnFGogAEGHEGoiASwAACICOgAAIABBlxBqIAI6AAAgAUEAOgAAIABBqBRqIABBiBBqIgEsAAAiAjoAACAAQZgQaiACOgAAIAFBADoAACAAQakUaiAAQYkQaiIBLAAAIgI6AAAgAEGZEGogAjoAACABQQA6AAAgAEGqFGogAEGKEGoiASwAACICOgAAIABBmhBqIAI6AAAgAUEAOgAAIABBqxRqIABBixBqIgEsAAAiAjoAACAAQZsQaiACOgAAIAFBADoAACAAQawUaiAAQYwQaiIBLAAAIgI6AAAgAEGcEGogAjoAACABQQA6AAAgAEGtFGogAEGNEGoiASwAACICOgAAIABBnRBqIAI6AAAgAUEAOgAAIABBrhRqIABBjhBqIgEsAAAiAjoAACAAQZ4QaiACOgAAIAFBADoAACAAQa8UaiAAQY8QaiIBLAAAIgI6AAAgAEGfEGogAjoAACABQQA6AAAgBkIANwIAIAZCADcCCCAKQQA2AgAgBSQDC6EJAQt/IwMhAiMDQRBqJAMCQAJAAkACQAJAAkACQCAAKAIIIgYOLgABAgIFAgUFBQUFBQUFAwMFAwUFBQMFBQUFBQUFAwQEBQQFBQUEBQUFBQUFBQQFCyAAIAEQsQEMBQsgAiAALADsAzoAACAAIAEsAAA6AOwDIAIgACwA7QM6AAEgACABLAABOgDtAyACIAAsAO4DOgACIAAgASwAAjoA7gMgAiAALADvAzoAAyAAIAEsAAM6AO8DIAIgACwA8AM6AAQgACABLAAEOgDwAyACIAAsAPEDOgAFIAAgASwABToA8QMgAiAALADyAyIDOgAGIAAgASwABjoA8gMgACwA8wMhBCAAIAEsAAc6APMDIAAsAPQDIQUgACABLAAIOgD0AyAALAD1AyEGIAAgASwACToA9QMgACwA9gMhByAAIAEsAAo6APYDIAAsAPcDIQggACABLAALOgD3AyAALAD4AyEJIAAgASwADDoA+AMgACwA+QMhCiAAIAEsAA06APkDIAAsAPoDIQsgACABLAAOOgD6AyAALAD7AyEMIAAgASwADzoA+wMgACABELEBIAEgAiwAACABLAAAczoAACACQQA6AAAgASACLAABIAEsAAFzOgABIAJBADoAASABIAIsAAIgASwAAnM6AAIgAkEAOgACIAEgAiwAAyABLAADczoAAyACQQA6AAMgASACLAAEIAEsAARzOgAEIAJBADoABCABIAIsAAUgASwABXM6AAUgAkEAOgAFIAEgASwABiADczoABiACQQA6AAYgASABLAAHIARzOgAHIAJBADoAByABIAEsAAggBXM6AAggAkEAOgAIIAEgASwACSAGczoACSACQQA6AAkgASABLAAKIAdzOgAKIAJBADoACiABIAEsAAsgCHM6AAsgAkEAOgALIAEgASwADCAJczoADCACQQA6AAwgASABLAANIApzOgANIAJBADoADSABIAEsAA4gC3M6AA4gAkEAOgAOIAEgASwADyAMczoADyACQQA6AA8MBAsgBkF/aiEFA0AgAyAAQewDamosAAAgBEEIdHIhBCADQQFqIgMgBUcNAAsgAiAAKQDsAzcAACACIAApAPQDNwAIIAZBEUgEQCAFIQMDQCAAQewDaiADIAVraiADIABB7ANqaiwAADoAACADQQFqIQQgA0EPSARAIAQhAwwBCwsLIAAgAhA3QREgBmshBkEAIQMDQCADIAZqIABB7ANqaiABIANqIgQsAAA6AAAgBCACIANqLAAAIAQsAABzOgAAIANBAWoiAyAFRw0ACyACJAMPCyAGQXNqIQQgACAAQewDahA3A0AgASADaiIFIAMgAEHsA2pqLAAAIAUsAABzOgAAIANBAWoiAyAERw0ACwwCCyACIAApAOwDNwAAIAIgACkA9AM3AAggBkFjaiEEIAAgAhA3A0AgASADaiIFIAIgA2osAAAgBSwAAHM6AAAgA0EBaiIDIARHDQALQQAhAQNAIAEgAEHsA2pqIgQsAABBAWpBGHRBGHUhAyAEIAM6AAAgA0UgAUEBaiIBQRBJcQ0ACwwBCyACJAMPCyACJAMLxwcBBn8jAyEEIwNBEGokAwJAAkACQAJAAkACQAJAIAAoAggiBg4uAAECAgUCBQUFBQUFBQUDAwUDBQUFAwUFBQUFBQUDBAQFBAUFBQQFBQUFBQUFBAULIAAgARA3DAULIAEgACwA7AMgASwAAHM6AAAgASAALADtAyABLAABczoAASABIAAsAO4DIAEsAAJzOgACIAEgACwA7wMgASwAA3M6AAMgASAALADwAyABLAAEczoABCABIAAsAPEDIAEsAAVzOgAFIAEgACwA8gMgASwABnM6AAYgASAALADzAyABLAAHczoAByABIAAsAPQDIAEsAAhzOgAIIAEgACwA9QMgASwACXM6AAkgASAALAD2AyABLAAKczoACiABIAAsAPcDIAEsAAtzOgALIAEgACwA+AMgASwADHM6AAwgASAALAD5AyABLAANczoADSABIAAsAPoDIAEsAA5zOgAOIAEgACwA+wMgASwAD3M6AA8gACABEDcgACABLAAAOgDsAyAAIAEsAAE6AO0DIAAgASwAAjoA7gMgACABLAADOgDvAyAAIAEsAAQ6APADIAAgASwABToA8QMgACABLAAGOgDyAyAAIAEsAAc6APMDIAAgASwACDoA9AMgACABLAAJOgD1AyAAIAEsAAo6APYDIAAgASwACzoA9wMgACABLAAMOgD4AyAAIAEsAA06APkDIAAgASwADjoA+gMgACABLAAPOgD7AwwECyAGQX9qIQUDQCACIABB7ANqaiwAACADQQh0ciEDIAJBAWoiAiAFRw0ACyAEIAApAOwDNwAAIAQgACkA9AM3AAggBkERSARAIAUhAgNAIABB7ANqIAIgBWtqIAIgAEHsA2pqLAAAOgAAIAJBAWohAyACQQ9IBEAgAyECDAELCwsgACAEEDdBESAGayEGQQAhAgNAIAIgBGosAAAgASACaiIHLAAAcyEDIAcgAzoAACACIAZqIABB7ANqaiADOgAAIAJBAWoiAiAFRw0ACyAEJAMPCyAGQXNqIQMgACAAQewDahA3A0AgASACaiIFIAIgAEHsA2pqLAAAIAUsAABzOgAAIAJBAWoiAiADRw0ACwwCCyAEIAApAOwDNwAAIAQgACkA9AM3AAggBkFjaiEDIAAgBBA3A0AgASACaiIFIAIgBGosAAAgBSwAAHM6AAAgAkEBaiICIANHDQALQQAhAQNAIAEgAEHsA2pqIgMsAABBAWpBGHRBGHUhAiADIAI6AAAgAkUgAUEBaiIBQRBJcQ0ACwwBCyAEJAMPCyAEJAML9AsBE38jAyEQIwNBIGokAyAQIgNBEGoiBCAAKAL8ASABLQAAIAEtAAJBEHQgAS0AA0EYdHIgAS0AAUEIdHJycyIJNgIAIAQgACgCgAIgAS0ABCABLQAHQRh0IAEtAAZBEHRyIAEtAAVBCHRycnMiCjYCBCAEIAAoAoQCIAEtAAggAS0AC0EYdCABLQAKQRB0ciABLQAJQQh0cnJzIgU2AgggBCAAKAKIAiABLQAMIAEtAA9BGHQgAS0ADkEQdHIgAS0ADUEIdHJycyIINgIMIAAoAowCIQ0gCUH/AXEhBiAAKAIEQQFKBH9BBCEHQQEhCwNAIAMgCEEIdkH/AXFBAnRBoCZqKAIAIgJBCHQgAkEYdnIgDSAGQQJ0QaAmaigCAHNzIAVBEHZB/wFxQQJ0QaAmaigCACICQRB0IAJBEHZycyAKQRh2QQJ0QaAmaigCACICQRh0IAJBCHZyczYCACADIAlBCHZB/wFxQQJ0QaAmaigCACICQQh0IAJBGHZyIABB/AFqIAdBAXJBAnRqKAIAIApB/wFxQQJ0QaAmaigCAHNzIAhBEHZB/wFxQQJ0QaAmaigCACICQRB0IAJBEHZycyAFQRh2QQJ0QaAmaigCACICQRh0IAJBCHZycyIGNgIEIAMgCkEIdkH/AXFBAnRBoCZqKAIAIgJBCHQgAkEYdnIgAEH8AWogB0ECckECdGooAgAgBUH/AXFBAnRBoCZqKAIAc3MgCUEQdkH/AXFBAnRBoCZqKAIAIgJBEHQgAkEQdnJzIAhBGHZBAnRBoCZqKAIAIgJBGHQgAkEIdnJzIgw2AgggAyAFQQh2Qf8BcUECdEGgJmooAgAiAkEIdCACQRh2ciAAQfwBaiAHQQNyQQJ0aigCACAIQf8BcUECdEGgJmooAgBzcyAKQRB2Qf8BcUECdEGgJmooAgAiAkEQdCACQRB2cnMgCUEYdkECdEGgJmooAgAiAkEYdCACQQh2cnMiCDYCDCAAQfwBaiAHQQRqIgVBAnRqKAIAIQ0gAygCACIJQf8BcSEOIAtBAWoiCyAAKAIESARAAn8gBCEUIAUhByAMIQUgBiEKIA4hBiADIQQgFAshAwwBCwsgA0EIaiERIANBBGohEiAEIgJBBGohByACQQhqIQsgAkEMaiEPIANBDGohEyAFBSADIQIgBiEOIAQiA0EIaiERIANBBGohEiACQQRqIQcgAkEIaiELIAJBDGohDyADQQxqIRMgBSEMIAohBkEECyEEIAIgDSAOQaAuai0AAHMiBSAIQQh2Qf8BcUGgLmotAABBCHRzIgogDEEQdkH/AXFBoC5qLQAAQRB0cyINIAZBGHZBoC5qLQAAQRh0cyIONgIAIAcgAEH8AWogBEEBckECdGooAgAgBkH/AXFBoC5qLQAAcyAJQQh2Qf8BcUGgLmotAABBCHRzIAhBEHZB/wFxQaAuai0AAEEQdHMgDEEYdkGgLmotAABBGHRzNgIAIAsgAEH8AWogBEECckECdGooAgAgDEH/AXFBoC5qLQAAcyAGQQh2Qf8BcUGgLmotAABBCHRzIAlBEHZB/wFxQaAuai0AAEEQdHMgCEEYdkGgLmotAABBGHRzNgIAIA8gAEH8AWogBEEDckECdGooAgAgCEH/AXFBoC5qLQAAcyAMQQh2Qf8BcUGgLmotAABBCHRzIAZBEHZB/wFxQaAuai0AAEEQdHMgCUEYdkGgLmotAABBGHRzNgIAIAEgBToAACABIApBCHY6AAEgASANQRB2OgACIAEgDkEYdjoAAyACQQA2AgAgA0EANgIAIAEgBygCACIAOgAEIAEgAEEIdjoABSABIABBEHY6AAYgASAAQRh2OgAHIAdBADYCACASQQA2AgAgASALKAIAIgA6AAggASAAQQh2OgAJIAEgAEEQdjoACiABIABBGHY6AAsgC0EANgIAIBFBADYCACABIA8oAgAiADoADCABIABBCHY6AA0gASAAQRB2OgAOIAEgAEEYdjoADyAPQQA2AgAgE0EANgIAIBAkAwv+CgEHfyMDIQQjA0GQBGokAyACELgBIAEoAgBFBEAgBCQDQQEPCyABKAIILAAAIQMgBEEQaiIIQQEgACgCACAAKAIIQQAQjAEgBCADOgAAAn8gASgCACIDQQFKBH8Cf0EAIQBBASEGA38gBCAGIAEoAggiB2osAAA6AAFBASAGQQFqIgUgA04NARogBCAFIAdqLAAAOgACQQEgBkECaiIFIANODQEaIAQgBSAHaiwAADoAA0EBIAZBA2oiBSADTg0BGiAEIAUgB2osAAA6AARBASAGQQRqIgUgA04NARogBCAFIAdqLAAAOgAFQQEgBkEFaiIFIANODQEaIAQgBSAHaiwAADoABkEBIAZBBmoiBSADTg0BGiAEIAUgB2osAAA6AAdBASAGQQdqIgUgA04NARogBCAFIAdqLAAAOgAIQQEgBkEIaiIFIANODQEaIAQgBSAHaiwAADoACUEBIAZBCWoiBSADTg0BGiAEIAUgB2osAAA6AApBASAGQQpqIgUgA04NARogBCAFIAdqLAAAOgALQQEgBkELaiIFIANODQEaIAQgBSAHaiwAADoADEEBIAZBDGoiBSADTg0BGiAEIAUgB2osAAA6AA1BASAGQQ1qIgUgA04NARogBCAFIAdqLAAAOgAOQQEgBkEOaiIFIANODQEaIAQgBSAHaiwAADoAD0EAIAZBD2oiBSADTg0BGiAFIAdqLAAAIQcgCCAEEK8BIAAgAigCBCIDSARAIAAgAigCCGogBCwAADoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAABOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAI6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwAAzoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAAEOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAU6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwABjoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAAHOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAg6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwACToAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAAKOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAAs6AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwADDoAACAAQQFqIQAgAigCBCEDCyAAIANIBEAgACACKAIIaiAELAANOgAAIABBAWohACACKAIEIQMLIAAgA0gEQCAAIAIoAghqIAQsAA46AAAgAEEBaiEAIAIoAgQhAwsgACADSARAIAAgAigCCGogBCwADzoAACAAQQFqIQALIAQgBzoAACAGQRBqIgYgASgCACIDSA0AQQELCwVBACEAQQELIQkgCCAEEK8BIAgQcCAELAAPIgchCCAJCyAHQX9qQRh0QRh1Qf8BcUEPSnJBAXEhASAHQX5qQRh0QRh1Qf8BcUEPSARAQRAgCGshAwNAIAFBASAHIAMgBGosAABGGyEBIANBAWohBiADQQ9IBEAgBiEDDAELCwsgAUEARyIDRQRAQRAgCGsiBkEASgRAQQAhAQNAIAAgAigCBEgEQCAAIAIoAghqIAEgBGosAAA6AAAgAEEBaiEACyABQQFqIgEgBkcNAAsLCyACIAA2AgAgBCQDIANBAXNBAXELkA4BBn8jAyEDIwNBkARqJAMgAhC4ASABKAIARQRAIAMkAw8LIANBEGoiCEEBIAAoAgAgACgCCEEAEIwBIAEoAgAiBEEASgR/An9BACEAA38gAyAGIAEoAggiB2osAAA6AABBASAGQQFyIgUgBE4NARogAyAFIAdqLAAAOgABQQIgBkECciIFIARODQEaIAMgBSAHaiwAADoAAkEDIAZBA3IiBSAETg0BGiADIAUgB2osAAA6AANBBCAGQQRyIgUgBE4NARogAyAFIAdqLAAAOgAEQQUgBkEFciIFIARODQEaIAMgBSAHaiwAADoABUEGIAZBBnIiBSAETg0BGiADIAUgB2osAAA6AAZBByAGQQdyIgUgBE4NARogAyAFIAdqLAAAOgAHQQggBkEIciIFIARODQEaIAMgBSAHaiwAADoACEEJIAZBCXIiBSAETg0BGiADIAUgB2osAAA6AAlBCiAGQQpyIgUgBE4NARogAyAFIAdqLAAAOgAKQQsgBkELciIFIARODQEaIAMgBSAHaiwAADoAC0EMIAZBDHIiBSAETg0BGiADIAUgB2osAAA6AAxBDSAGQQ1yIgUgBE4NARogAyAFIAdqLAAAOgANQQ4gBkEOciIFIARODQEaIAMgBSAHaiwAADoADkEPIAZBD3IiBSAETg0BGiADIAUgB2osAAA6AA8gCCADELABIAAgAigCBCIESARAIAAgAigCCGogAywAADoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAABOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAI6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywAAzoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAAEOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAU6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywABjoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAAHOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAg6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywACToAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAAKOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAAs6AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywADDoAACAAQQFqIQAgAigCBCEECyAAIARIBEAgACACKAIIaiADLAANOgAAIABBAWohACACKAIEIQQLIAAgBEgEQCAAIAIoAghqIAMsAA46AAAgAEEBaiEAIAIoAgQhBAsgACAESARAIAAgAigCCGogAywADzoAACAAQQFqIQALIAZBEGoiBiABKAIAIgRIDQBBAAsLBUEAIQBBAAsiASADakEQIAFrIgFB/wFxIAEQShogCCADELABIAAgAigCBCIBSARAIAAgAigCCGogAywAADoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAABOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAI6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywAAzoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAAEOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAU6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywABjoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAAHOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAg6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywACToAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAAKOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAAs6AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywADDoAACAAQQFqIQAgAigCBCEBCyAAIAFIBEAgACACKAIIaiADLAANOgAAIABBAWohACACKAIEIQELIAAgAUgEQCAAIAIoAghqIAMsAA46AAAgAEEBaiEAIAIoAgQhAQsgACABSARAIAAgAigCCGogAywADzoAACAAQQFqIQALIAgQcCACIAA2AgAgAyQDC8QBAQN/IwMhBSMDQaACaiQDIAVBjAJqIgZBADYCACAGQYABNgIE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BEAgAkHgAGoQTgRADwsLIAIQkAEgASACQTBqELwBIAEpAwBCAoEaIAAgAhC8AQtSACAAIAEpAwAgAikDAHw3AwAgACABKQMIIAIpAwh8NwMIIAAgASkDECACKQMQfDcDECAAIAEpAxggAikDGHw3AxggACABKQMgIAIpAyB8NwMgC5EBAQJ+IAAgACkDCCIBQjSGQv//////////AIMgACkDAEIEh4Q3AwAgACAAKQMQIgJCNIZC//////////8AgyABQgSHhDcDCCAAIAApAxgiAUI0hkL//////////wCDIAJCBIeENwMQIAAgACkDICICQjSGQv//////////AIMgAUIEh4Q3AxggACACQgSHNwMgC4IBAQJ+IAAgACkDACIDQQAgAmusIgQgAyABKQMAhYOFNwMAIAAgACkDCCIDIAMgASkDCIUgBIOFNwMIIAAgACkDECIDIAMgASkDEIUgBIOFNwMQIAAgACkDGCIDIAMgASkDGIUgBIOFNwMYIAAgACkDICIDIAMgASkDIIUgBIOFNwMgC40CAgJ/BX4gACAAKQMAIgNC//////////8AgyIENwMAIAAgACkDCCADQjiHfCIDQv//////////AIMiBTcDCCAAIAApAxAgA0I4h3wiA0L//////////wCDIgY3AxAgACAAKQMYIANCOId8IgNC//////////8AgyIHNwMYIAAgACkDICADQjiHfCIDNwMgIANCAFEEfyAHQgBRBH8gBkIAUQR/IAVCAFEEfyAEQgBRBH9BAA8FQQALBUEBCwVBAgsFQQMLBUEECyICQThsIQEgAkEDdCAAaikDACIDQgBRBEAgAQ8LIAEhAANAIANCAn8hBCAAQQFqIQAgA0IBfEIDWgRAIAQhAwwBCwsgAAtCACAAKQMAQgBSBEBBAA8LIAApAwhCAFIEQEEADwsgACkDEEIAUgRAQQAPCyAAKQMYQgBRBH8gACkDIEIAUQVBAAsLrgEBA38jAyEDIwNB0AJqJAMgA0HgAGoiBSAAKAIIEHkgA0EwaiIEIAEoAghBAWoQeSADIAEoAghBIWoQeSADQbgBaiIAIAQgAxC+AUUEQCADJANBfQ8LIANBkAFqIgFB8A4QEiAFIAEQKSAAIAUQvQECf0EAIAAQTkUNABogAEHgAGoQTgsEQCADJANBfQ8LIAQgBCAAEL8BIAJBIDYCACACKAIIIAQQeiADJANBAAsvAQJ/IwMhASMDQYABaiQDIAFBQGsiAkGACRALIAFBwAkQCyAAIAIgARB7IAEkAwv8BgEMfyMDIQcjA0HwEGokAyAAEDsEQCAAQYABahA7BEAgByQDDwsLIAEQ0gEEQCAAEE8gAEFAaxBeIABBgAFqEE8gByQDDwsgABCUASAHQagPaiIGIAAQESAGQUBrIgogAEFAayILEBEgBkGAAWoiCSAAQYABaiIMEBEgBhBlIAdB8ABqIgIgABARIAJBQGsiAyALEBEgAkGAAWoiBCAMEBEgAkHAAWoiBSACEBEgAkGAAmoiCCADEBEgAkHAAmoiAyAEEBEgBSAGEEQgAkGAA2oiBCACQcABahARIAJBwANqIgUgCBARIAJBgARqIgggAxARIAQgBhBEIAJBwARqIgMgAkGAA2oQESACQYAFaiIEIAUQESACQcAFaiIFIAgQESADIAYQRCACQYAGaiIDIAJBwARqEBEgAkHABmoiCCAEEBEgAkGAB2oiBCAFEBEgAyAGEEQgAkHAB2oiAyACQYAGahARIAJBgAhqIgUgCBARIAJBwAhqIgggBBARIAMgBhBEIAJBgAlqIgMgAkHAB2oQESACQcAJaiIEIAUQESACQYAKaiIFIAgQESADIAYQRCACQcAKaiIDIAJBgAlqEBEgAkGAC2ogBBARIAJBwAtqIAUQESADIAYQRCAHQfAMaiIEIAEQCyAEKQMAQgKBpyEFIARBARBoIAQQCiAEKQMAQgKBpyEBIAdBsA1qIgMgBBALIANBARBoIAMQCiAEIAMgBRCXASAGIAAgARAbIAogCyABEBsgCSAMIAEQGyAHQegNaiIIIAYQESAIQUBrIgUgChARIAhBgAFqIAkQESAEEGkiDUEDakEEbSEJIARBBRBnIQEgDUF6TgRAQQAhAwNAIAMgB2ogAUHwAWoiAToAACAEIAFBGHRBGHUQfSAEEAogBEEEECwgA0EBaiEKIARBBRBnIQEgAyAJSARAIAohAwwBCwsLIAlBAWogB2ogAToAACAAIAFBGHRBGHVBf2pBAm0iAUHAAWwgAmoQESALIAFBwAFsIAJqQUBrEBEgDCABQcABbCACakGAAWoQESANQXlKBEAgCSEBA0AgBiACIAEgB2osAAAQmQIgABBlIAAQZSAAEGUgABBlIAAgBhBEIAFBf2ohAyABQQBKBEAgAyEBDAELCwsgBSAFEDAgBRAKIAAgCBBEIAUgBRAwIAUQCiAAEJQBIAckAwsEAEEQCzIAIAIQOwRAIAJBgAFqEDsEQA8LCyACEJQBIAEgAkFAaxAqIAEpAwBCAoEaIAAgAhAqCy0BAX8jAyECIwNBQGskAyACQcAMEAsgAkECEH0gAhAKIAAgASACEJsCIAIkAwusAQEFfyMDIQojA0HAEWokAyAKQcADaiEMIApBQGshCyAKQfgPaiENIAogARAfIAIsAABBBEYEQCAMIAJBAWoQHyALIAJBMWoQHyANIAwgCxB7CyAMIAogAEGAAWoQfCALIABB+AJqEKABIAsgDBBuIApB+AlqIgIgCyANEIIBIAIQgAEgCkH4A2oiASACEG8gACABIAYgByADIAQgCCAJIAUQiQEhDiAKJAMgDgvrAQAgACABKQMAIAIpAwB8NwMAIAAgASkDCCACKQMIfDcDCCAAIAEpAxAgAikDEHw3AxAgACABKQMYIAIpAxh8NwMYIAAgASkDICACKQMgfDcDICAAIAEpAyggAikDKHw3AyggACABKQMwIAIpAzB8NwMwIAAgASkDOCACKQM4fDcDOCAAQUBrIAFBQGspAwAgAkFAaykDAHw3AwAgACABKQNIIAIpA0h8NwNIIAAgASkDUCACKQNQfDcDUCAAIAEpA1ggAikDWHw3A1ggACABKQNgIAIpA2B8NwNgIAAgASkDaCACKQNofDcDaAvrAQAgACABKQMAIAIpAwB9NwMAIAAgASkDCCACKQMIfTcDCCAAIAEpAxAgAikDEH03AxAgACABKQMYIAIpAxh9NwMYIAAgASkDICACKQMgfTcDICAAIAEpAyggAikDKH03AyggACABKQMwIAIpAzB9NwMwIAAgASkDOCACKQM4fTcDOCAAQUBrIAFBQGspAwAgAkFAaykDAH03AwAgACABKQNIIAIpA0h9NwNIIAAgASkDUCACKQNQfTcDUCAAIAEpA1ggAikDWH03A1ggACABKQNgIAIpA2B9NwNgIAAgASkDaCACKQNofTcDaAs4ACAAQgE3AwAgAEEIaiIAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKAuQAwIBfwF+IAAgACkDACICQv//////////A4M3AwAgACAAKQMIIAJCOod8IgJC//////////8DgzcDCCAAIAApAxAgAkI6h3wiAkL//////////wODNwMQIAAgACkDGCACQjqHfCICQv//////////A4M3AxggACAAKQMgIAJCOod8IgJC//////////8DgzcDICAAIAApAyggAkI6h3wiAkL//////////wODNwMoIAAgACkDMCACQjqHfCICQv//////////A4M3AzAgACAAKQM4IAJCOod8IgJC//////////8DgzcDOCAAQUBrIgEpAwAgAkI6h3whAiABIAJC//////////8DgzcDACAAIAApA0ggAkI6h3wiAkL//////////wODNwNIIAAgACkDUCACQjqHfCICQv//////////A4M3A1AgACAAKQNYIAJCOod8IgJC//////////8DgzcDWCAAIAApA2AgAkI6h3wiAkL//////////wODNwNgIAAgACkDaCACQjqHfDcDaAvaAQEDfiAAIAApAzAgAa0iA4YgACkDKCICQTogAWutIgSHhDcDMCAAIAIgA4ZC//////////8DgyAAKQMgIgIgBIeENwMoIAAgAiADhkL//////////wODIAApAxgiAiAEh4Q3AyAgACACIAOGQv//////////A4MgACkDECICIASHhDcDGCAAIAIgA4ZC//////////8DgyAAKQMIIgIgBIeENwMQIAAgAiADhkL//////////wODIAApAwAiAiAEh4Q3AwggACACIAOGQv//////////A4M3AwALMwAgAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwC14AIAApAwBCAFIEQEEADwsgACkDCEIAUgRAQQAPCyAAKQMQQgBSBEBBAA8LIAApAxhCAFIEQEEADwsgACkDIEIAUgRAQQAPCyAAKQMoQgBRBH8gACkDMEIAUQVBAAsLCAAgAEHfA2oLFgAgAEUEQEEADwsgAEEQbUEEdEEQags1AQJ/IAAQKyAAQUBrIgIQKyABECsgAUFAayIDECsgACABEGYEQCACIAMQZgRAQQEPCwtBAAs9AQJ/IwMhASMDQUBrJAMgARBeIAAQKyAAQUBrIgIQKyAAIAEQZgRAIAIQOwRAIAEkA0EBDwsLIAEkA0EACycBAX8gAUG0BG0i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IAJBAnJqLQAAQRB0cnIhAiAHQQA2AgAgBkEANgIAIAAgAiAAKAIAczYCACAAIAAoAiBBAXM2AiAgCCACQX9qIgMgCCgCAHM2AgAgAEECIAJrIgIgACgCDHM2AgwgACADIAJrIgMgACgCLHM2AiwgACACIANrIgIgACgCTHM2AkwgACADIAJrIgMgACgCGHM2AhggACACIANrIgIgACgCOHM2AjggACADIAJrIgMgACgCBHM2AgQgACACIANrIgIgACgCJHM2AiQgACADIAJrIgMgACgCRHM2AkQgACACIANrIgIgACgCEHM2AhAgACADIAJrIgMgACgCMHM2AjAgACACIANrIgIgACgCUHM2AlAgACADIAJrIgMgACgCHHM2AhwgACACIANrIgIgACgCPHM2AjwgACADIAJrIgMgACgCCHM2AgggACACIANrIgIgACgCKHM2AiggACADIAJrIgMgACgCSHM2AkggACACIANrIgIgACgCFHM2AhQgACAAKAI0IAMgAmtzNgI0QQAhBEEAIQIDQCAGIAJBAWo2AgAgAkEUTgRAIAZBADYCAEEAIQJBDyEDA0BBACADIANBFUYbIgpBAnQgAGooAgAiCSACQQJ0IABqIgsoAgBrIAcoAgBrIQMgAyAJRwRAIAcgAyAJSzYCAAsgCyADNgIAIApBAWohAyACQQFqIgJBFUcNAAsLIARBAWoiBEGQzgBHBEAgBigCACECDAELCyABQQFqIgFBCEcNACAACwUgAEHYAGohByAAQdQAaiEGIAALIQEgBUGMA2oiCBBzQQAhBANAIAYgBigCACICQQFqIgM2AgAgCCACQRRIBH8gA0ECdCAAagUgBkEANgIAQQAhAkEPIQMDf0EAIAMgA0EVRhsiCkECdCAAaigCACIJIAJBAnQgAGoiCygCAGsgBygCAGshAyADIAlHBEAgByADIAlLNgIACyALIAM2AgAgCkEBaiEDIAJBAWoiAkEVRw0AIAELCygCABBBIARBAWoiBEGAAUcNAAsgCCAAQeAAahBxIABBADYCXCAFJAML0AcCCn8CfiMDIQUjA0HgCGokAyAFQbAGaiEIIAEQDyACEA8gBSACEBIgBRDDASIJQQNqQQRtIQogCUF6TgRAA0AgBiAIaiAFQQQQkQEiAjoAACAFIAJBGHRBGHUQkgEgBRAPIAUQwQEgBkEBaiECIAYgCkgEQCACIQYMAQsLCyAFQYAHaiIGIgJCATcDACACQgA3AwggAkIANwMQIAJCADcDGCACQgA3AyAgBUGwB2oiAkGwEBASIAVB4AdqIgQgBiACED4gBUGwCGoiA0GAEBASIAVBMGoiByADQYg0KQMAIg0gBBAlIAdBAjYCKCAHQTBqIAEQEiAHIAEoAigiAjYCWEECIQYgAqwhDgNAIAZBf2oiDEEwbCAHaiELIAKsIA5+QoCAgAhVBEAgA0GAEBASIAsgAxApIAxBMGwgB2pBATYCKAsgBCALIAEQPiADQYAQEBIgBkEwbCAHaiADIA0gBBAlIAZBMGwgB2pBAjYCKCAGQQFqIgZBEEcEQCABKAIoIQJCAiEODAELCyAAIAggCmosAAAiAUEwbCAHahASIAAgAUEwbCAHaigCKCIBNgIoAkAgCUEATA0AIAGsIg4gDn5CgICACFYEQCADQYAQEBIgACADECkgAEEBNgIoCyAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAEIAAQQyADQYAQEBIgACADIA0gBBAlIABBAjYCKCAKQX9qIgEgCGosAAAiAkEwbCAHaigCKEGAgIAESgRAIANBgBAQEiAAIAMQKSAAQQE2AigLIAQgACACQTBsIAdqED4gA0GAEBASIAAgAyANIAQQJSAAQQI2AiggCUEETA0AA0AgBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggBCAAEEMgA0GAEBASIAAgAyANIAQQJSAAQQI2AiggAUF/aiICIAhqLAAAIgZBMGwgB2ooAihBgICABEoEQCADQYAQEBIgACADECkgAEEBNgIoCyAEIAAgBkEwbCAHahA+IANBgBAQEiAAIAMgDSAEECUgAEECNgIoIAFBAUoEQCACIQEMAQsLIANBgBAQEiAAIAMQKSAAQQE2AiggBSQDDwsgA0GAEBASIAAgAxApIABBATYCKCAFJAMLLgEBfyMDIQIjA0EwaiQDIAJBgBAQEiACQQIQkgEgAhAPIAAgASACEIQCIAIkAwsEAEEMCzEBAn8jAyEBIwNB4ABqJAMgAUEwaiICQaAPEBIgAUHQDxASIAAgAiABEL4BGiABJAMLBABBIAvpAwEFfyMDIQYjA0GQAWokAyAAIAEgAkEfdkF/aiACIAJBH3UiB3NqQQJtIgRBf2pBH3YiAxAdIABBMGoiAiABQTBqIAMQHSAAQeAAaiIFIAFB4ABqIAMQHSAAIAFBkAFqIARBAXNBf2pBH3YiAxAdIAIgAUHAAWogAxAdIAUgAUHwAWogAxAdIAAgAUGgAmogBEECc0F/akEfdiIDEB0gAiABQdACaiADEB0gBSABQYADaiADEB0gACABQbADaiAEQQNzQX9qQR92IgMQHSACIAFB4ANqIAMQHSAFIAFBkARqIAMQHSAAIAFBwARqIARBBHNBf2pBH3YiAxAdIAIgAUHwBGogAxAdIAUgAUGgBWogAxAdIAAgAUHQBWogBEEFc0F/akEfdiIDEB0gAiABQYAGaiADEB0gBSABQbAGaiADEB0gACABQeAGaiAEQQZzQX9qQR92IgMQHSACIAFBkAdqIAMQHSAFIAFBwAdqIAMQHSAAIAFB8AdqIARBB3NBf2pBH3YiBBAdIAIgAUGgCGogBBAdIAUgAUHQCGogBBAdIAYgABAXIAZBMGoiASACEBcgBkHgAGoiBCAFEBcgASABEF0gARAPIAAgBiAHQQFxIgAQHSACIAEgABAdIAUgBCAAEB0gBiQDC2MBAX8jAyECIwNBMGokAyACIAEQVSACIAIgARAWQYA7KAIAQX1GBEAgACABEF0gABAPIAAgAEEDEE0gABAPIAAgAiAAEBAFIAAgAhAXCyACEI8BIAAgAiAAEBAgABB3IAIkAwvYBQIHfw9+IwMhAyMDQdAAaiQDIANCADcDACADQgA3AwggA0IANwMQIANCADcDGCADQgA3AyAgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0IANwMAIANCADcDSCADQUBrIQkDQCABIAEpAwAiCkL//////////wCDIhQ3AwAgASABKQMIIApCOId8IgpC//////////8AgyIWNwMIIAEgASkDECAKQjiHfCIKQv//////////AIMiFzcDECABIAEpAxggCkI4h3wiCkL//////////wCDIhg3AxggASABKQMgIApCOId8Igo3AyACQAJAIApCAFEEfyAYQgBRBH8gF0IAUQR/IBZCAFEEfyAUQgBRBH9BAAVBACEFDAULBUEBIQUMBAsFQQIhBQwDCwVBAyEFDAILBUEEIQUMAQshBAwBCyAFQThsIQQgBUEDdCABaikDACIKQgBSBEADQCAKQgJ/IRQgBEEBaiEEIApCAXxCA1oEQCAUIQoMAQsLCwsgByAEQQF0SARAIAYEfyAIQQF1BSACEHULIQQgAyAVQgGGIAtCN4eEIhU3A0ggCSALQgGGQv7/////////AIMgDEI3h4QiCzcDACADIAxCAYZC/v////////8AgyANQjeHhCIMNwM4IAMgDUIBhkL+/////////wCDIA5CN4eEIg03AzAgAyAOQgGGQv7/////////AIMgD0I3h4QiDjcDKCADIA9CAYZC/v////////8AgyAQQjeHhCIPNwMgIAMgEEIBhkL+/////////wCDIBFCN4eEIhA3AxggAyARQgGGQv7/////////AIMgEkI3h4QiETcDECADIBJCAYZC/v////////8AgyATQjeHhCISNwMIIAMgBEEBca0gE0IBhkL+/////////wCDhCITNwMAIAQhCCAGQQFqQQdxIQYgB0EBaiEHDAELCyAAIAMgARCNAiADJAMLBQBBwQALwRICBn8ffgJ/IwMhCCMDQdAAaiQDIAEgASkDACIJQv//////////AIMiHzcDACABIAEpAwggCUI4h3wiCUL//////////wCDIiA3AwggASABKQMQIAlCOId8IglC//////////8AgyIcNwMQIAEgASkDGCAJQjiHfCIJQv//////////AIMiGjcDGCABIAEpAyAgCUI4h3wiCUL//////////wCDIhc3AyAgASABKQMoIAlCOId8IglC//////////8AgyIUNwMoIAEgASkDMCAJQjiHfCILQv//////////AIMiGDcDMCABIAEpAzggC0I4h3wiCkL//////////wCDIhU3AzggAUFAayIGKQMAIApCOId8IglC//////////8AgyEMIAYgDDcDACABIAEpA0ggCUI4h3wiJDcDSCAICyIDIAIpAwAiITcDACADIAIpAwgiDTcDCCADIAIpAxAiDjcDECADIAIpAxgiDzcDGCADIAIpAyAiCUL//////////wCDIhA3AyAgAyAJQjiHIhE3AyggA0IANwMwIANCADcDOCADQgA3A0AgA0IANwNIAn8CQAJAICRCAFEEfyAMQgBSDQIgA0FAayEEIAogC4RC//////////8Ag0IAUg0CIANBOGohAiARIBRRBH8gECAXUQR/IA8gGlEEfyAOIBxRBH8gDSAgUQR/IB8gIVEEfyACIQUgBAUgISEKIB8hCQwHCwUgDSEKICAhCQwGCwUgDiEKIBwhCQwFCwUgDyEKIBohCQwECwUgECEKIBchCQwDCwUgESEKIBQhCQwCCwVCACEKICQhCQwBCwwCCyAJIApVDQAgACAfNwMAIAAgASkDCDcDCCAAIAEpAxA3AxAgACABKQMYNwMYIAAgASkDIDcDICADJAMPCyADQThqIQUgA0FAawshB0EAIQJCACEKQgAhCwNAIApCAYZC/v////////8AgyALQjeHhCEmIAtCAYZC/v////////8AgyASQjeHhCEjIBJCAYZC/v////////8AgyARQjeHhCEiIBFCAYZC/v////////8AgyAQQjeHhCEdIBBCAYZC/v////////8AgyAPQjeHhCEbIA9CAYZC/v////////8AgyAOQjeHhCEZIA5CAYZC/v////////8AgyANQjeHhCEWIA1CAYZC/v////////8AgyAhQjeHhCETICFCAYZC/v////////8AgyEhIAJBAWohAgJAAkAgJCAlQgGGIApCN4eEIiVRBH4gDCAmUQR+IBUgI1EEfiAYICJRBH4gFCAdUQR+IBcgG1EEfiAZIBpRBH4gFiAcUQR+IBMgIFEEfiAfICFRBH5BACEEICAhDSAcIQ4gGiEPIBchECAUIREgGCESIBUhCyAMBSAhIQkgHyEeICAhDSAcIQ4gGiEPIBchECAUIREgGCESIBUhCyAMIQoMCgsFICAhHiATIgkhDSAcIQ4gGiEPIBchECAUIREgGCESIBUhCyAMIQoMCQsFIBwhHiATIQ0gFiIJIQ4gGiEPIBchECAUIREgGCESIBUhCyAMIQoMCAsFIBohHiATIQ0gFiEOIBkiCSEPIBchECAUIREgGCESIBUhCyAMIQoMBwsFIBchHiATIQ0gFiEOIBkhDyAbIgkhECAUIREgGCESIBUhCyAMIQoMBgsFIBQhHiATIQ0gFiEOIBkhDyAbIRAgHSIJIREgGCESIBUhCyAMIQoMBQsFIBghHiATIQ0gFiEOIBkhDyAbIRAgHSERICIiCSESIBUhCyAMIQoMBAsFIBUhHiATIQ0gFiEOIBkhDyAbIRAgHSERICIhEiAjIgkhCyAMIQoMAwsFIAwhHiATIQ0gFiEOIBkhDyAbIRAgHSERICIhEiAjIQsgJiIJIQoMAgsFICUhCSAkIR4gEyENIBYhDiAZIQ8gGyEQIB0hESAiIRIgIyELICYhCgwBCyEKDAELQQFBfyAeIAlVGyEECyAEQX9KDQALIAMgJTcDSCAHICY3AwAgBSAjNwMAIAMgIjcDMCADIB03AyggAyAbNwMgIAMgGTcDGCADIBY3AxAgAyATNwMIIAMgITcDAANAIB9BACAkICVCAYciDX0gDCAlQjeGQoCAgICAgIDAAIMgJkIBh4QiDn0gFSAmQjeGQoCAgICAgIDAAIMgI0IBh4QiD30gGCAjQjeGQoCAgICAgIDAAIMgIkIBh4QiEH0gFCAiQjeGQoCAgICAgIDAAIMgHUIBh4QiEX0gFyAdQjeGQoCAgICAgIDAAIMgG0IBh4QiEn0gGiAbQjeGQoCAgICAgIDAAIMgGUIBh4QiC30gHCAZQjeGQoCAgICAgIDAAIMgFkIBh4QiCn0gICAWQjeGQoCAgICAgIDAAIMgE0IBh4QiCX0gHyATQjeGQoCAgICAgIDAAIMgIUIBh4QiIX0iJkI4h3wiJUI4h3wiI0I4h3wiIkI4h3wiHUI4h3wiG0I4h3wiGUI4h3wiFkI4h3wiE0I4h3wiHkI/iKdBAXNrrCInIB8gJkL//////////wCDhYOFIR8gICAnICAgJUL//////////wCDhYOFISAgHCAnIBwgI0L//////////wCDhYOFIRwgGiAnIBogIkL//////////wCDhYOFIRogFyAnIBcgHUL//////////wCDhYOFIRcgFCAnIBQgG0L//////////wCDhYOFIRQgGCAnIBggGUL//////////wCDhYOFIRggFSAnIBUgFkL//////////wCDhYOFIRUgDCAnIAwgE0L//////////wCDhYOFIQwgJCAnIB4gJIWDhSEkIAJBf2ohBCACQQFKBEAgBCECIAkhEyAKIRYgCyEZIBIhGyARIR0gECEiIA8hIyAOISYgDSElDAELCyADICE3AwAgAyAJNwMIIAMgCjcDECADIAs3AxggAyASNwMgIAMgETcDKCADIBA3AzAgBSAPNwMAIAcgDjcDACADIA03A0ggASAfNwMAIAEgIDcDCCABIBw3AxAgASAaNwMYIAEgFzcDICABIBQ3AyggASAYNwMwIAEgFTcDOCAGIAw3AwAgASAkNwNIIAAgHzcDACAAIAEpAwg3AwggACABKQMQNwMQIAAgASkDGDcDGCAAIAEpAyA3AyAgAyQDC2sBAn4gACkDICICIAEpAyAiA1EEQCABKQMYIgMgACkDGCICUQRAIAApAxAiAiABKQMQIgNRBEAgACkDCCICIAEpAwgiA1EEQCAAKQMAIgIgASkDACIDUQRAQQAPCwsLCwtBAUF/IAIgA1UbC7cDAQh+IAKsIgNC/////wCDIQQgACADQhyHIgMgASkDACIFQv////8AgyIGfiAEIAVCHIciBX58IgdCHIZCgICAgP////8AgyAEIAZ+fCIGQv//////////AIM3AwAgACABKQMIIghC/////wCDIgkgA34gCEIchyIIIAR+fCIKQhyGQoCAgID/////AIMgAyAFfiAHQhyHfCAGQjiIfCAEIAl+fHwiBUL//////////wCDNwMIIAAgASkDECIGQv////8AgyIHIAN+IAQgBkIchyIGfnwiCUIchkKAgICA/////wCDIAMgCH4gCkIch3wgBUI4h3wgBCAHfnx8IgVC//////////8AgzcDECAAIAMgASkDGCIHQv////8AgyIIfiAEIAdCHIciB358IgpCHIZCgICAgP////8AgyADIAZ+IAlCHId8IAVCOId8IAQgCH58fCIFQv//////////AIM3AxggACADIAEpAyAiBkL/////AIMiCH4gBCAGQhyHfnxCHIZCgICAgP////8AgyADIAd+IApCHId8IAVCOId8IAQgCH58fEL//////////wCDNwMgC1IAIAAgASkDACACKQMAfTcDACAAIAEpAwggAikDCH03AwggACABKQMQIAIpAxB9NwMQIAAgASkDGCACKQMYfTcDGCAAIAEpAyAgAikDIH03AyALBABBAAtLACAAQgA3AwAgAEIANwMIIABCADcDECAAQgA3AxggAEIANwMgIABCADcDKCAAQgA3AzAgAEIANwM4IABBQGtCADcDACAAQgA3A0gLaAAgACABKQMANwMAIAAgASkDCDcDCCAAIAEpAxA3AxAgACABKQMYNwMYIAAgASkDIEL//////////wCDNwMgIAAgASkDIEI4hzcDKCAAQgA3AzAgAEIANwM4IABCADcDQCAAQgA3A0gLmgEBA34gACAAKQMgIAGtIgOGIAApAxgiAkE4IAFrrSIEh4Q3AyAgACACIAOGQv//////////AIMgACkDECICIASHhDcDGCAAIAIgA4ZC//////////8AgyAAKQMIIgIgBIeENwMQIAAgAiADhkL//////////wCDIAApAwAiAiAEh4Q3AwggACACIAOGQv//////////AIM3AwALBABBAQvIBQEJfyMDIQcjA0HQAmokAyAHQbgCaiIMQQA2AgAgDEEgNgIEIAwgB0HQAWo2AgggB0GsAmoiCEEANgIAIAhB4QA2AgQgCCAHQeAAajYCCCAHQaACaiIJQQA2AgAgCUEgNgIEIAkgB0FAazYCCCAHQZQCaiIKQQA2AgAgCkEQNgIEIAogB0EwajYCCCAHQYgCaiILQQA2AgAgC0EQNgIEIAsgB0EgajYCCCAHQfwBaiINQQA2AgAgDUEINgIEIA0gB0HIAmo2AgggB0HwAWoiDkEANgIAIA5BIDYCBCAOIAc2AgggBSACIAwQxQEEQCAHJANBAA8LIAggAhCOASAIIAwQVCAIIABBICAJEI0BIAtBEDYCACAKQRA2AgAgByAJKAIIIgAsAAA6ADAgByAALAAQOgAgIAcgACwAAToAMSAHIAAsABE6ACEgByAALAACOgAyIAcgACwAEjoAIiAHIAAsAAM6ADMgByAALAATOgAjIAcgACwABDoANCAHIAAsABQ6ACQgByAALAAFOgA1IAcgACwAFToAJSAHIAAsAAY6ADYgByAALAAWOgAmIAcgACwABzoANyAHIAAsABc6ACcgByAALAAIOgA4IAcgACwAGDoAKCAHIAAsAAk6ADkgByAALAAZOgApIAcgACwACjoAOiAHIAAsABo6ACogByAALAALOgA7IAcgACwAGzoAKyAKKAIIIgIgACwADDoADCALKAIIIgUgACwAHDoADCACIAkoAggiACwADToADSAFIAAsAB06AA0gAiAALAAOOgAOIAUgACwAHjoADiACIAAsAA86AA8gBSAALAAfOgAPIAogAyAGELIBRQRAIAckA0EA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aiQDIApBQGsiC0HABDYCACALQcAENgIEIAsgAjYCCCAKQfgMaiICIAsQhgEgCyABEB8gCiALIABBgAFqEHwgCkH4BmoiASACIAoQSCAKQfgAaiICIAEQbyAAIAIgBiAHIAMgBCAIIAkgBRCJASEMIAokAyAMC68DAhB/B34gAEIANwMAIABCADcDCCAAQgA3AxAgAEIANwMYIABCADcDICAAQgA3AyggAEIANwMwIABBIGohBCAAQRhqIQUgAEEQaiEGIABBCGohByAAQSBqIQwgAEEYaiENIABBEGohDiAAQQhqIQ8DQAJ/IAMEfyACQQF1IQIgDiEJIA8hCiAMIQsgDQUgARB1IQIgBiEJIAchCiAEIQsgACkDKCEXIAQpAwAhFiAFKQMAIRUgBikDACEUIAcpAwAhEyAAKQMAIRIgACkDMCEYIAULIREgACAYQgGGIBdCOYeEIhg3AzAgACAXQgGGQv7/////////A4MgFkI5h4QiFzcDKCALIBZCAYZC/v////////8DgyAVQjmHhCIWNwMAIBELIBVCAYZC/v////////8DgyAUQjmHhCIVNwMAIAkgFEIBhkL+/////////wODIBNCOYeEIhQ3AwAgCiATQgGGQv7/////////A4MgEkI5h4QiEzcDACAAIAJBAXGtIBJCAYZC/v////////8Dg4QiEjcDACADQQFqQQdxIQMgCEEBaiIIQYADRw0ACwuUGwIIfyt+IwMhAyMDQfAAaiQDIAEgASkDACILQv//////////A4MiMjcDACABIAEpAwggC0I6h3wiC0L//////////wODIjE3AwggASABKQMQIAtCOod8IgtC//////////8DgyItNwMQIAEgASkDGCALQjqHfCILQv//////////A4MiJzcDGCABIAEpAyAgC0I6h3wiC0L//////////wODIiU3AyAgASABKQMoIAtCOod8IgtC//////////8DgyIjNwMoIAEgASkDMCALQjqHfCILQv//////////A4MiIjcDMCABIAEpAzggC0I6h3wiC0L//////////wODIh03AzggAUFAayIJKQMAIAtCOod8IgtC//////////8DgyEeIAkgHjcDACABIAEpA0ggC0I6h3wiDEL//////////wODIh83A0ggASABKQNQIAxCOod8Ig5C//////////8DgyIaNwNQIAEgASkDWCAOQjqHfCIOQv//////////A4MiFTcDWCABIAEpA2AgDkI6h3wiDkL//////////wODIjM3A2AgASABKQNoIA5COod8Ii43A2ggAyACKQMAIio3AwAgAyACKQMIIhE3AwggAyACKQMQIg43AxAgAyACKQMYIg83AxggAyACKQMgIhI3AyAgAyACKQMoIhM3AyggAyACKQMwIhBC//////////8DgyIUNwMwIAMgEEI6hyIQNwM4IANBQGsiBEIANwMAIARCADcDCCAEQgA3AxAgBEIANwMYIARCADcDICAEQgA3AygCQAJAAkAgLkIAUQRAIDNCAFINAiADQeAAaiEFIBVCAFINAiADQdgAaiEGIBpCAFINAiADQdAAaiEHIAsgDIRC//////////8Dg0IAUg0CIANByABqIQggECAdUQRAIBQgIlEEQCATICNRBEAgEiAlUQRAIA8gJ1EEQCAOIC1RBEAgESAxUQRAICogMlIEQCAqIQwgMiELDAkLBSARIQwgMSELDAgLBSAOIQwgLSELDAcLBSAPIQwgJyELDAYLBSASIQwgJSELDAULBSATIQwgIyELDAQLBSAUIQwgIiELDAMLBSAQIQwgHSELDAILBUIAIQwgLiELDAELDAILIAsgDFUNACAAIDI3AwAgACABKQMINwMIIAAgASkDEDcDECAAIAEpAxg3AxggACABKQMgNwMgIAAgASkDKDcDKCAAIAEpAzA3AzAgAyQDDwsgA0HYAGohBiADQdAAaiEHIANByABqIQggA0HgAGohBQtBACECQgAhCyARIQwDQAJAIAtCAYZC/v////////8DgyAWQjmHhCEwIBZCAYZC/v////////8DgyAXQjmHhCEsIBdCAYZC/v////////8DgyAYQjmHhCErIBhCAYZC/v////////8DgyANQjmHhCEpIA1CAYZC/v////////8DgyAQQjmHhCEoIBBCAYZC/v////////8DgyAUQjmHhCEmIBRCAYZC/v////////8DgyATQjmHhCEkIBNCAYZC/v////////8DgyASQjmHhCEgIBJCAYZC/v////////8DgyAPQjmHhCEcIA9CAYZC/v////////8DgyAOQjmHhCEbIA5CAYZC/v////////8DgyAMQjmHhCEZIAxCAYZC/v////////8DgyAqQjmHhCENICpCAYZC/v////////8DgyEqIAJBAWohAgJAAkAgL0IBhiALQjmHhCIvIC5RBH4gMCAzUQR+IBUgLFEEfiAaICtRBH4gHyApUQR+IB4gKFEEfiAdICZRBH4gIiAkUQR+ICAgI1EEfiAcICVRBH4gGyAnUQR+IBkgLVEEfiANIDFRBH4gKiAyUQR+IC0hDiAnIQ8gJSESICMhEyAiIRQgHSEQIB4hESAfIRggGiEXIBUhFiAxBSAqIQsgMiEhIDEhDCAtIQ4gJyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMDgsFIDEhISANIgshDCAtIQ4gJyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMDQsFIC0hISANIQwgGSILIQ4gJyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMDAsFICchISANIQwgGSEOIBsiCyEPICUhEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMCwsFICUhISANIQwgGSEOIBshDyAcIgshEiAjIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMCgsFICMhISANIQwgGSEOIBshDyAcIRIgICILIRMgIiEUIB0hECAeIREgHyEYIBohFyAVIRYMCQsFICIhISANIQwgGSEOIBshDyAcIRIgICETICQiCyEUIB0hECAeIREgHyEYIBohFyAVIRYMCAsFIB0hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIgshECAeIREgHyEYIBohFyAVIRYMBwsFIB4hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCILIREgHyEYIBohFyAVIRYMBgsFIB8hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkiCyEYIBohFyAVIRYMBQsFIBohISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkhGCArIgshFyAVIRYMBAsFIBUhISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkhGCArIRcgLCILIRYMAwsFIDAhCyAzISEgDSEMIBkhDiAbIQ8gHCESICAhEyAkIRQgJiEQICghESApIRggKyEXICwhFgwCCwUgLyELIC4hISANIQwgGSEOIBshDyAcIRIgICETICQhFCAmIRAgKCERICkhGCArIRcgLCEWDAELIQwMAQsgISALVw0BCyAwIQsgESENDAELCyADIC83A2ggBSAwNwMAIAYgLDcDACAHICs3AwAgCCApNwMAIAQgKDcDACADICY3AzggAyAkNwMwIAMgIDcDKCADIBw3AyAgAyAbNwMYIAMgGTcDECADIA03AwggAyAqNwMAIAEpAwAhDCABKQMIIQ4gASkDECEPIDMhCwNAIAxBACAuIC9CAYciEn0gCyAvQjmGQoCAgICAgICAAoMgMEIBh4QiE30gFSAwQjmGQoCAgICAgICAAoMgLEIBh4QiFH0gGiAsQjmGQoCAgICAgICAAoMgK0IBh4QiEH0gHyArQjmGQoCAgICAgICAAoMgKUIBh4QiEX0gHiApQjmGQoCAgICAgICAAoMgKEIBh4QiGH0gHSAoQjmGQoCAgICAgICAAoMgJkIBh4QiF30gIiAmQjmGQoCAgICAgICAAoMgJEIBh4QiFn0gIyAkQjmGQoCAgICAgICAAoMgIEIBh4QiIX0gJSAgQjmGQoCAgICAgICAAoMgHEIBh4QiIH0gJyAcQjmGQoCAgICAgICAAoMgG0IBh4QiHH0gDyAbQjmGQoCAgICAgICAAoMgGUIBh4QiG30gDiAZQjmGQoCAgICAgICAAoMgDUIBh4QiGX0gDCANQjmGQoCAgICAgICAAoMgKkIBh4QiKn0iJEI6h3wiJkI6h3wiKEI6h3wiKUI6h3wiK0I6h3wiLUI6h3wiLEI6h3wiMUI6h3wiMEI6h3wiL0I6h3wiMkI6h3wiM0I6h3wiNEI6h3wiNUI/iKdBAXNrrCINIAwgJEL//////////wODhYOFIQwgDiANIA4gJkL//////////wODhYOFIQ4gDyANIA8gKEL//////////wODhYOFIQ8gJyANICcgKUL//////////wODhYOFIScgJSANICUgK0L//////////wODhYOFISUgIyANICMgLUL//////////wODhYOFISMgIiANICIgLEL//////////wODhYOFISIgHSANIB0gMUL//////////wODhYOFIR0gHiANIB4gMEL//////////wODhYOFIR4gHyANIB8gL0L//////////wODhYOFIR8gGiANIBogMkL//////////wODhYOFIRogFSANIBUgM0L//////////wODhYOFIRUgCyANIAsgNEL//////////wODhYOFIQsgLiANIC4gNYWDhSEuIAJBf2ohCiACQQFKBEAgCiECIBkhDSAbIRkgHCEbICAhHCAhISAgFiEkIBchJiAYISggESEpIBAhKyAUISwgEyEwIBIhLwwBCwsgAyAqNwMAIAMgGTcDCCADIBs3AxAgAyAcNwMYIAMgIDcDICADICE3AyggAyAWNwMwIAMgFzcDOCAEIBg3AwAgCCARNwMAIAcgEDcDACAGIBQ3AwAgBSATNwMAIAMgEjcDaCABIAw3AwAgASAONwMIIAEgDzcDECABICc3AxggASAlNwMgIAEgIzcDKCABICI3AzAgASAdNwM4IAkgHjcDACABIB83A0ggASAaNwNQIAEgFTcDWCABIAs3A2AgASAuNwNoIAAgDDcDACAAIAEpAwg3AwggACABKQMQNwMQIAAgASkDGDcDGCAAIAEpAyA3AyAgACABKQMoNwMoIAAgASkDMDcDMCADJAMLjwEBAn4gACkDMCICIAEpAzAiA1EEQCABKQMoIgMgACkDKCICUQRAIAApAyAiAiABKQMgIgNRBEAgACkDGCICIAEpAxgiA1EEQCAAKQMQIgIgASkDECIDUQRAIAApAwgiAiABKQMIIgNRBEAgACkDACICIAEpAwAiA1EEQEEADwsLCwsLCwtBAUF/IAIgA1UbC3IAIAAgASkDACACKQMAfTcDACAAIAEpAwggAikDCH03AwggACABKQMQIAIpAxB9NwMQIAAgASkDGCACKQMYfTcDGCAAIAEpAyAgAikDIH03AyAgACABKQMoIAIpAyh9NwMoIAAgASkDMCACKQMwfTcDMAuRAgEJfyMDIQgjA0GAE2okA0HgBEGBASAARSIPGyIJIAVKBEAgCCQDQX4PCyAHIAQoABwQigEiBzYCACAJIAdBtARtIgAgByAAQbQEbGtBAEdqQcAEbCIKaiAFSgRAIAgkA0F+DwsgCEFAayEAIAhB+AxqIQUgCEH4BmohCyAIQfgAaiEMIARBIGohDSAEQQxqIQ4gBCAJaiEJIA8EfyAAQcAENgIAIABBwAQ2AgQgACANNgIIIAUgABCGASAAIAIQHyAIIAAgAUGAAWoQfCALIAUg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",it=et(1),at=et.n(it);class E{constructor($){this.wasm=$}static bytesToHex($){return $.reduce(($,tt)=>$+tt.toString(16).padStart(2,"0"),"")}static bytesToBinary($){return $.reduce(($,tt)=>$+tt.toString(2).padStart(8,"0")+" ","")}static hexToBytes($){return new Uint8Array($.match(/.{1,2}/g).map($=>parseInt($,16)))}static randomBytes($){if("undefined"!=typeof window&&"undefined"!==window.crypto){let tt=new Uint8Array($);return window.crypto.getRandomValues(tt),tt}return at.a.randomBytes($)}arrayToBuf($){const tt=this.wasm,et={ptr:null,len:0};if(!$)return et;let At=null;if($ instanceof Uint8Array||void 0!==nt&&$ instanceof nt)At=$;else{if(!($ instanceof ArrayBuffer||$.__proto__.toString().includes("ArrayBuffer")))throw new Error("arrayToBuf() failed: Expected Uint8Array, Buffer, or\n ArrayBuffer");At=new Uint8Array($)}return et.len=At.length,et.ptr=tt._malloc(At.length),tt.writeArrayToMemory(At,et.ptr),et}arrayToSmartBuf($){const tt=this.wasm,et=this.arrayToBuf($);return et.ptr&&setTimeout(()=>{tt._free(et.ptr),et.len=0,et.ptr=null},0),et}smartMalloc($){const tt=this.wasm,et=tt._malloc($);return setTimeout(()=>{tt._free(et)},0),et}}class i{constructor($){this.wasm=$,this.ptr=null,this.len=0}clear(){this.len=0}free(){null!==this.ptr&&(this.wasm._free(this.ptr),this.len=0,this.ptr=null)}resize($){null!==this.ptr&&this.free(),this.len=$,this.ptr=this.wasm._malloc($)}ensureSize($){(null===this.ptr||this.len<$)&&this.resize($)}}class D{constructor($,tt,et){const At=new E($);this.wasm=$,this.utils=At,this.context=$._NewCryptoContext(null,0),this.scratchBuf=new i($),this.sk=tt,this.skBuf=At.arrayToBuf(tt),this.symKey=et,this.symKeyBuf=At.arrayToBuf(et)}clearBuf(){this.scratchBuf.clear()}free(){if(!this.context)return;const $=this.wasm;$._FreeCryptoContext(this.context),this.scratchBuf.free(),$._free(this.skBuf.ptr),$._free(this.symKeyBuf.ptr),this.context=null,this.scratchBuf=null,this.sk=null,this.skBuf=null,this.symKey=null,this.symKeyBuf=null,this.utils=null,this.wasm=null}}class w{constructor($,tt,et,At,nt){const it=new E($),at=E.randomBytes($._EMS_SEED_SIZE_()),rt=it.arrayToSmartBuf(at);this.wasm=$,this.utils=it,this.context=$._NewCryptoContext(rt.ptr,rt.len),this.iv=nt,this.pk=tt,this.pkBuf=it.arrayToBuf(tt),this.scratchBuf=new i($),this.sk=et,this.skBuf=it.arrayToBuf(et),this.symKey=At,this.symKeyBuf=it.arrayToBuf(At)}clearBuf(){this.scratchBuf.clear()}free(){if(!this.context)return;const $=this.wasm;$._FreeCryptoContext(this.context),$._free(this.pkBuf.ptr),this.scratchBuf.free(),$._free(this.symKeyBuf.ptr),this.context=null,this.iv=null,this.pk=null,this.pkBuf=null,this.scratchBuf=null,this.sk=null,this.skBuf=null,this.symKey=null,this.symKeyBuf=null,this.wasm=null,this.utils=null}generateNextBlockIV(){let $=E.randomBytes(this.iv.length);for(let tt=0;tt<this.iv.length;tt++)$[tt]^=this.iv[tt];return $}}var rt=et(2),st=et(0),ot=et.n(st);class M{constructor(){this.initResolve=null,this.utils=null,this.wasm=null}init(){const $=this,tt=At;return Object(rt.a)({locateFile:$=>$.endsWith(".wasm")?"data:application/octet-stream;base64,"+tt:$,readBinary:$=>nt.from(tt,"base64")}).then(tt=>{$.wasm=tt,$.utils=new E(tt),$.AES_KEY_SIZE=tt._EMS_AES_KEY_SIZE_(),$.CRYPTO_TYPE_TARGET=tt._EMS_CRYPTO_TYPE_TARGET_(),$.CRYPTO_TYPE_PRIMARY=tt._EMS_CRYPTO_TYPE_PRIMARY_(),$.TARGET_BLOCK_KEY_SIZE=tt._EMS_TARGET_BLOCK_KEY_SIZE_(),$.TARGET_PK_KEY_SIZE=tt._EMS_TARGET_PK_KEY_SIZE_(),$.ECIES_PK_KEY_SIZE=tt._EMS_ECIES_PK_KEY_SIZE_(),$.ECIES_SK_KEY_SIZE=tt._EMS_ECIES_SK_KEY_SIZE_(),$.IV_SIZE=tt._EMS_IV_SIZE_(),$.PRIMARY_BLOCK_KEY_SIZE=tt._EMS_PRIMARY_BLOCK_KEY_SIZE_(),$.PRIMARY_PK_KEY_SIZE=tt._EMS_PRIMARY_PK_KEY_SIZE_(),$.RE_ENCRYPTION_KEY_SIZE=tt._EMS_RE_ENCRYPTION_KEY_SIZE_(),$.SECRET_KEY_SIZE=tt._EMS_SECRET_KEY_SIZE_(),$.SEED_SIZE=tt._EMS_SEED_SIZE_(),$.TAG_SIZE=tt._EMS_TAG_SIZE_(),$.ELV_E_INCOMPLETE_BLOCK=-2,$.initResolve&&$.initResolve($)}),new Promise(tt=>{$.wasm?tt($):$.initResolve=tt})}calcEncByteCount($){return this.wasm._CalcEncByteCount($)}calcEncByteCountH($,tt){return this.wasm._CalcEncByteCountH($,tt)}calcEncByteCountFromTargetH($){return this.wasm._CalcEncByteCountFromTargetH($)}calcTargetByteCountH($){return this.wasm._CalcTargetByteCountH($)}calcEncECIESByteCount($){return this.wasm._CalcEncECIESByteCount($)}encryptECIES($,tt){if(tt.length!==this.ECIES_PK_KEY_SIZE)throw new Error(`encryptECIES() failed: Expected publicKey length\n ${this.ECIES_PK_KEY_SIZE}, not ${tt.length}`);const et=this.wasm,At=this.utils,nt=E.randomBytes(this.SEED_SIZE),it=At.arrayToSmartBuf($),at=At.arrayToSmartBuf(tt),rt=At.arrayToSmartBuf(nt),st=this.calcEncECIESByteCount(it.len),ot=At.smartMalloc(st),ut=At.smartMalloc(this.ECIES_PK_KEY_SIZE),ct=At.smartMalloc(this.TAG_SIZE),dt=et._EncryptECIES(rt.ptr,rt.len,at.ptr,it.ptr,it.len,ot,st,ut,ct);if(0!==dt)throw new Error("_EncryptECIES failed with error code "+dt);return{data:new Uint8Array(et.HEAPU8.buffer,ot,st),ephemeralKey:new Uint8Array(et.HEAPU8.buffer,ut,this.ECIES_PK_KEY_SIZE).slice(0),tag:new Uint8Array(et.HEAPU8.buffer,ct,this.TAG_SIZE).slice(0)}}decryptECIES($,tt,et,At){if(tt.length!==this.ECIES_SK_KEY_SIZE)throw new Error(`decryptECIES() failed: Expected secretKey length\n ${this.ECIES_SK_KEY_SIZE}, not ${tt.length}`);if(et.length!==this.ECIES_PK_KEY_SIZE)throw new Error(`decryptECIES() failed: Expected ephemeralKey length\n ${this.ECIES_PK_KEY_SIZE}, not ${et.length}`);if(At.length!==this.TAG_SIZE)throw new Error(`decryptECIES() failed: Expected tag length\n ${this.TAG_SIZE}, not ${At.length}`);const nt=this.wasm,it=this.utils,at=it.arrayToSmartBuf($),rt=it.arrayToSmartBuf(tt),st=it.arrayToSmartBuf(et),ot=it.arrayToSmartBuf(At),ut=at.len,ct=it.smartMalloc(ut),dt=nt._DecryptECIES(st.ptr,at.ptr,at.len,ot.ptr,rt.ptr,ct,ut);if(-1===dt)throw new Error("_DecryptECIES failed");return new Uint8Array(nt.HEAPU8.buffer,ct,dt)}generateTargetKeys(){const $=this.wasm,tt=this.utils,et=E.randomBytes(this.SEED_SIZE),At=tt.arrayToSmartBuf(et),nt=tt.smartMalloc(this.SECRET_KEY_SIZE),it=tt.smartMalloc(this.TARGET_PK_KEY_SIZE),at=$._GenerateTargetKeys(At.ptr,At.len,nt,it);if(0!==at)throw new Error("_GenerateTargetKeys failed with error code "+at);return{secretKey:new Uint8Array($.HEAPU8.buffer,nt,this.SECRET_KEY_SIZE).slice(0),publicKey:new Uint8Array($.HEAPU8.buffer,it,this.TARGET_PK_KEY_SIZE).slice(0)}}generatePrimaryKeys(){const $=this.wasm,tt=this.utils,et=E.randomBytes(this.SEED_SIZE),At=tt.arrayToSmartBuf(et),nt=tt.smartMalloc(this.SECRET_KEY_SIZE),it=tt.smartMalloc(this.PRIMARY_PK_KEY_SIZE),at=$._GeneratePrimaryKeys(At.ptr,At.len,nt,it);if(0!==at)throw new Error("_GeneratePrimaryKeys failed with error code "+at);return{secretKey:new Uint8Array($.HEAPU8.buffer,nt,this.SECRET_KEY_SIZE).slice(0),publicKey:new Uint8Array($.HEAPU8.buffer,it,this.PRIMARY_PK_KEY_SIZE).slice(0)}}generateReEncryptionKey($,tt){if($.length!==this.SECRET_KEY_SIZE)throw new Error(`generateReEncryptionKey() failed: Expected primarySK\n length ${this.SECRET_KEY_SIZE}, not ${$.length}`);if(tt.length!==this.TARGET_PK_KEY_SIZE)throw new Error(`generateReEncryptionKey() failed: Expected targetPK\n length ${this.TARGET_PK_KEY_SIZE}, not ${tt.length}`);const et=this.wasm,At=this.utils,nt=At.arrayToSmartBuf($),it=At.arrayToSmartBuf(tt),at=At.smartMalloc(this.RE_ENCRYPTION_KEY_SIZE),rt=et._GenerateReEncryptionKey(nt.ptr,it.ptr,at);if(0!==rt)throw new Error("_GenerateReEncryptionKey failed with error code "+rt);return new Uint8Array(et.HEAPU8.buffer,at,this.RE_ENCRYPTION_KEY_SIZE).slice(0)}generateSymmetricKey(){const $=this.wasm,tt=this.utils,et=E.randomBytes(this.SEED_SIZE),At=tt.arrayToSmartBuf(et),nt=tt.smartMalloc(this.AES_KEY_SIZE),it=tt.smartMalloc(this.IV_SIZE),at=$._GenerateSymmetricKeys(At.ptr,At.len,nt,it);if(0!==at)throw new Error("_GenerateSymmetricKeys failed with error code "+at);return{key:new Uint8Array($.HEAPU8.buffer,nt,this.AES_KEY_SIZE).slice(0),iv:new Uint8Array($.HEAPU8.buffer,it,this.IV_SIZE).slice(0)}}newPrimaryContext($,tt,et){if($&&$.length!==this.PRIMARY_PK_KEY_SIZE)throw new Error(`newPrimaryContext() failed: Expected publicKey\n length ${this.PRIMARY_PK_KEY_SIZE}, not ${$.length}`);if(tt&&tt.length!==this.SECRET_KEY_SIZE)throw new Error(`newPrimaryContext() failed: Expected secretKey\n length ${this.SECRET_KEY_SIZE}, not ${tt.length}`);if(et.length!==this.AES_KEY_SIZE)throw new Error(`newPrimaryContext() failed: Expected\n symmetricKey length ${this.AES_KEY_SIZE}, not ${et.length}`);const At=this.generateSymmetricKey();return new w(this.wasm,$,tt,et,At.iv)}encryptPrimary($,tt,et){if(et.length!==this.IV_SIZE)throw new Error(`encryptPrimary() failed: Expected iv\n length ${this.IV_SIZE}, not ${et.length}`);if(0!==$.scratchBuf.len)throw new Error("encryptPrimary() failed: Scratch buffer is not empty");const At=this.wasm,nt=this.utils,it=nt.arrayToSmartBuf(et),at=nt.arrayToSmartBuf(tt),rt=this.calcEncByteCount(at.len);$.scratchBuf.ensureSize(rt);const st=nt.smartMalloc(this.TAG_SIZE),ot=nt.smartMalloc(this.PRIMARY_BLOCK_KEY_SIZE),ut=At._EncryptPrimary($.context,$.pkBuf.ptr,$.symKeyBuf.ptr,it.ptr,at.ptr,at.len,$.scratchBuf.ptr,rt,st,ot);if(0!==ut)throw new Error("_EncryptPrimary failed with error code "+ut);return{blockKey:new Uint8Array(At.HEAPU8.buffer,ot,this.PRIMARY_BLOCK_KEY_SIZE).slice(0),data:new Uint8Array(At.HEAPU8.buffer,$.scratchBuf.ptr,rt),tag:new Uint8Array(At.HEAPU8.buffer,st,this.TAG_SIZE).slice(0)}}encryptPrimaryH($,tt){if(0!==$.scratchBuf.len)throw new Error("encryptPrimaryH() failed: Scratch buffer is not empty");const et=this.wasm,At=this.utils,nt=$.generateNextBlockIV(),it=At.arrayToSmartBuf(nt),at=At.arrayToSmartBuf(tt),rt=this.calcEncByteCountH(this.CRYPTO_TYPE_PRIMARY,at.len);$.scratchBuf.ensureSize(rt);const st=et._EncryptPrimaryH($.context,$.pkBuf.ptr,$.symKeyBuf.ptr,it.ptr,at.ptr,at.len,$.scratchBuf.ptr);if(0!==st)throw new Error("_EncryptPrimaryH failed with error code "+st);return new Uint8Array(et.HEAPU8.buffer,$.scratchBuf.ptr,rt)}decryptPrimary($,tt,et,At,nt,it){if(et.length!==this.TAG_SIZE)throw new Error(`decryptPrimary() failed: Expected tag\n length ${this.TAG_SIZE}, not ${et.length}`);if(At.length!==this.PRIMARY_BLOCK_KEY_SIZE)throw new Error(`decryptPrimary() failed: Expected blockKey\n length ${this.PRIMARY_BLOCK_KEY_SIZE}, not ${At.length}`);if(nt.length!==this.IV_SIZE)throw new Error(`decryptPrimary() failed: Expected iv\n length ${this.IV_SIZE}, not ${nt.length}`);if(0!==$.scratchBuf.len)throw new Error("decryptPrimary() failed: Scratch buffer is not empty");const at=this.wasm,rt=this.utils,st=rt.arrayToSmartBuf(tt),ot=rt.arrayToSmartBuf(At),ut=rt.arrayToSmartBuf(nt),ct=rt.arrayToSmartBuf(et);$.scratchBuf.ensureSize(it);const dt=at._DecryptPrimary($.context,$.skBuf.ptr,ot.ptr,$.symKeyBuf.ptr,ut.ptr,ct.ptr,st.ptr,st.len,$.scratchBuf.ptr,it);if(0!==dt)throw new Error("_DecryptPrimary failed with error code "+dt);return new Uint8Array(at.HEAPU8.buffer,$.scratchBuf.ptr,it)}reEncryptH($,tt,et){if(tt.length!==this.RE_ENCRYPTION_KEY_SIZE)throw new Error(`reEncryptBlockKey() failed: Expected reEncKey\n length ${this.RE_ENCRYPTION_KEY_SIZE}, not ${tt.length}`);const At=this.wasm,nt=this.utils,it=nt.arrayToSmartBuf(tt),at=nt.arrayToSmartBuf(et);$.ensureSize(this.calcTargetByteCountH(at.len));const rt=nt.smartMalloc(4),st=At._ReEncryptH(it.ptr,at.ptr,at.len,$.ptr,rt);if(st===this.ELV_E_INCOMPLETE_BLOCK)throw new Error("ELV_E_INCOMPLETE_BLOCK");if(0!==st)throw new Error("_ReEncryptH failed with error code "+st);const ot=At.getValue(rt,"i32");return new Uint8Array(At.HEAPU8.buffer,$.ptr,ot)}decryptH($,tt,et){if($!==this.CRYPTO_TYPE_TARGET&&$!==this.CRYPTO_TYPE_PRIMARY)throw new Error("decryptH() failed: Invalid type "+$);if(0!==tt.scratchBuf.len)throw new Error("decryptH() failed: Scratch buffer is not empty");const At=this.wasm,nt=this.utils,it=nt.arrayToSmartBuf(et);tt.scratchBuf.ensureSize(it.len);const at=nt.smartMalloc(4),rt=At._DecryptH($,tt.context,tt.skBuf.ptr,tt.symKeyBuf.ptr,it.ptr,it.len,tt.scratchBuf.ptr,at);if(rt===this.ELV_E_INCOMPLETE_BLOCK)throw new Error("ELV_E_INCOMPLETE_BLOCK");if(0!==rt)throw new Error("_DecryptH failed with error code "+rt);const st=At.getValue(at,"i32");return new Uint8Array(At.HEAPU8.buffer,tt.scratchBuf.ptr,st)}reEncryptBlockKey($,tt){if($.length!==this.RE_ENCRYPTION_KEY_SIZE)throw new Error(`reEncryptBlockKey() failed: Expected reEncKey\n length ${this.RE_ENCRYPTION_KEY_SIZE}, not ${$.length}`);if(tt.length!==this.PRIMARY_BLOCK_KEY_SIZE)throw new Error(`reEncryptBlockKey() failed: Expected blockKey\n length ${this.PRIMARY_BLOCK_KEY_SIZE}, not ${tt.length}`);const et=this.wasm,At=this.utils,nt=At.arrayToSmartBuf($),it=At.arrayToSmartBuf(tt),at=At.smartMalloc(this.TARGET_BLOCK_KEY_SIZE),rt=et._ReEncryptBlockKey(nt.ptr,it.ptr,at);if(0!==rt)throw new Error("_ReEncryptBlockKey failed with error code "+rt);return new Uint8Array(et.HEAPU8.buffer,at,this.TARGET_BLOCK_KEY_SIZE).slice(0)}newTargetDecryptionContext($,tt){if($.length!==this.SECRET_KEY_SIZE)throw new Error(`newTargetDecryptionContext() failed: Expected\n secretKey length ${this.SECRET_KEY_SIZE}, not ${$.length}`);if(tt.length!==this.AES_KEY_SIZE)throw new Error(`newTargetDecryptionContext() failed: Expected\n symmetricKey length ${this.AES_KEY_SIZE}, not ${tt.length}`);return new D(this.wasm,$,tt)}decryptTarget($,tt,et,At,nt,it){if(et.length!==this.TAG_SIZE)throw new Error(`decryptTarget() failed: Expected tag\n length ${this.TAG_SIZE}, not ${et.length}`);if(At.length!==this.TARGET_BLOCK_KEY_SIZE)throw new Error(`decryptTarget() failed: Expected blockKey\n length ${this.TARGET_BLOCK_KEY_SIZE}, not ${At.length}`);if(nt.length!==this.IV_SIZE)throw new Error(`decryptTarget() failed: Expected iv\n length ${this.IV_SIZE}, not ${nt.length}`);if(0!==$.scratchBuf.len)throw new Error("decryptTarget() failed: Scratch buffer is not empty");const at=this.wasm,rt=this.utils,st=rt.arrayToSmartBuf(tt),ot=rt.arrayToSmartBuf(At),ut=rt.arrayToSmartBuf(nt),ct=rt.arrayToSmartBuf(et);$.scratchBuf.ensureSize(it);const dt=at._DecryptTarget($.context,$.skBuf.ptr,ot.ptr,$.symKeyBuf.ptr,ut.ptr,ct.ptr,st.ptr,st.len,$.scratchBuf.ptr,it);if(0!==dt)throw new Error("_DecryptTarget failed with error code "+dt);return new Uint8Array(at.HEAPU8.buffer,$.scratchBuf.ptr,it)}createCipher($){const tt=this;return ot()((function(et,At,nt){this.push(tt.encryptPrimaryH($,et)),$.clearBuf(),nt()}))}createDecipher($,tt){const et=this;let At=nt.alloc(0);return ot()((function(it,at,rt){let st=0;for(At=nt.concat([At,it]);st<At.length;)try{tt.clearBuf();let nt=et.decryptH($,tt,At.slice(st));this.push(nt),st+=et.calcEncByteCountH($,nt.length)}catch($){return"ELV_E_INCOMPLETE_BLOCK"===$.message?(At=At.slice(st),void rt()):(At=nt.alloc(0),void rt($))}At=nt.alloc(0),rt()}),(function($){At.length>0&&this.destroy(new Error("Decipher stream ended before all data was decrypted. The source may be invalid.")),$()}))}createRecipher($){const tt=this,et=new i(tt.wasm);let At=nt.alloc(0),it=ot()((function(it,at,rt){let st=0;for(At=nt.concat([At,it]);st<At.length;)try{et.clear();let nt=tt.reEncryptH(et,$,At.slice(st));this.push(nt),st+=tt.calcEncByteCountFromTargetH(nt.length)}catch($){return"ELV_E_INCOMPLETE_BLOCK"===$.message?(At=At.slice(st),void rt()):(At=nt.alloc(0),void rt($))}At=nt.alloc(0),rt()}),(function($){At.length>0&&this.destroy(new Error("Recipher stream ended before all data was decrypted. The source may be invalid.")),$()}));return it.on("finish",()=>{et.free()}),it}}}])}).call(this,et(21),et(172),et(170).Buffer)},,function($,tt,et){(function($){function normalizeArray($,tt){for(var et=0,At=$.length-1;At>=0;At--){var nt=$[At];"."===nt?$.splice(At,1):".."===nt?($.splice(At,1),et++):et&&($.splice(At,1),et--)}if(tt)for(;et--;et)$.unshift("..");return $}function filter($,tt){if($.filter)return $.filter(tt);for(var et=[],At=0;At<$.length;At++)tt($[At],At,$)&&et.push($[At]);return et}tt.resolve=function(){for(var tt="",et=!1,At=arguments.length-1;At>=-1&&!et;At--){var nt=At>=0?arguments[At]:$.cwd();if("string"!=typeof nt)throw new TypeError("Arguments to path.resolve must be strings");nt&&(tt=nt+"/"+tt,et="/"===nt.charAt(0))}return(et?"/":"")+(tt=normalizeArray(filter(tt.split("/"),(function($){return!!$})),!et).join("/"))||"."},tt.normalize=function($){var At=tt.isAbsolute($),nt="/"===et($,-1);return($=normalizeArray(filter($.split("/"),(function($){return!!$})),!At).join("/"))||At||($="."),$&&nt&&($+="/"),(At?"/":"")+$},tt.isAbsolute=function($){return"/"===$.charAt(0)},tt.join=function(){var $=Array.prototype.slice.call(arguments,0);return tt.normalize(filter($,(function($,tt){if("string"!=typeof $)throw new TypeError("Arguments to path.join must be strings");return $})).join("/"))},tt.relative=function($,et){function trim($){for(var tt=0;tt<$.length&&""===$[tt];tt++);for(var et=$.length-1;et>=0&&""===$[et];et--);return tt>et?[]:$.slice(tt,et-tt+1)}$=tt.resolve($).substr(1),et=tt.resolve(et).substr(1);for(var At=trim($.split("/")),nt=trim(et.split("/")),it=Math.min(At.length,nt.length),at=it,rt=0;rt<it;rt++)if(At[rt]!==nt[rt]){at=rt;break}var st=[];for(rt=at;rt<At.length;rt++)st.push("..");return(st=st.concat(nt.slice(at))).join("/")},tt.sep="/",tt.delimiter=":",tt.dirname=function($){if("string"!=typeof $&&($+=""),0===$.length)return".";for(var tt=$.charCodeAt(0),et=47===tt,At=-1,nt=!0,it=$.length-1;it>=1;--it)if(47===(tt=$.charCodeAt(it))){if(!nt){At=it;break}}else nt=!1;return-1===At?et?"/":".":et&&1===At?"/":$.slice(0,At)},tt.basename=function($,tt){var et=function basename($){"string"!=typeof $&&($+="");var tt,et=0,At=-1,nt=!0;for(tt=$.length-1;tt>=0;--tt)if(47===$.charCodeAt(tt)){if(!nt){et=tt+1;break}}else-1===At&&(nt=!1,At=tt+1);return-1===At?"":$.slice(et,At)}($);return tt&&et.substr(-1*tt.length)===tt&&(et=et.substr(0,et.length-tt.length)),et},tt.extname=function($){"string"!=typeof $&&($+="");for(var tt=-1,et=0,At=-1,nt=!0,it=0,at=$.length-1;at>=0;--at){var rt=$.charCodeAt(at);if(47!==rt)-1===At&&(nt=!1,At=at+1),46===rt?-1===tt?tt=at:1!==it&&(it=1):-1!==tt&&(it=-1);else if(!nt){et=at+1;break}}return-1===tt||-1===At||0===it||1===it&&tt===At-1&&tt===et+1?"":$.slice(tt,At)};var et="b"==="ab".substr(-1)?function($,tt,et){return $.substr(tt,et)}:function($,tt,et){return tt<0&&(tt=$.length+tt),$.substr(tt,et)}}).call(this,et(172))},function($,tt,et){"use strict";et.r(tt),et.d(tt,"Deflate",(function(){return We})),et.d(tt,"Inflate",(function(){return uA})),et.d(tt,"constants",(function(){return fA})),et.d(tt,"deflate",(function(){return Xe})),et.d(tt,"deflateRaw",(function(){return $e})),et.d(tt,"gzip",(function(){return AA})),et.d(tt,"inflate",(function(){return dA})),et.d(tt,"inflateRaw",(function(){return pA})),et.d(tt,"ungzip",(function(){return lA}));function zero($){let tt=$.length;for(;--tt>=0;)$[tt]=0}const At=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),nt=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),it=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),at=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),rt=new Array(576);zero(rt);const st=new Array(60);zero(st);const ot=new Array(512);zero(ot);const ut=new Array(256);zero(ut);const ct=new Array(29);zero(ct);const dt=new Array(30);function StaticTreeDesc($,tt,et,At,nt){this.static_tree=$,this.extra_bits=tt,this.extra_base=et,this.elems=At,this.max_length=nt,this.has_stree=$&&$.length}let It,ht,pt;function TreeDesc($,tt){this.dyn_tree=$,this.max_code=0,this.stat_desc=tt}zero(dt);const d_code=$=>$<256?ot[$]:ot[256+($>>>7)],put_short=($,tt)=>{$.pending_buf[$.pending++]=255&tt,$.pending_buf[$.pending++]=tt>>>8&255},send_bits=($,tt,et)=>{$.bi_valid>16-et?($.bi_buf|=tt<<$.bi_valid&65535,put_short($,$.bi_buf),$.bi_buf=tt>>16-$.bi_valid,$.bi_valid+=et-16):($.bi_buf|=tt<<$.bi_valid&65535,$.bi_valid+=et)},send_code=($,tt,et)=>{send_bits($,et[2*tt],et[2*tt+1])},bi_reverse=($,tt)=>{let et=0;do{et|=1&$,$>>>=1,et<<=1}while(--tt>0);return et>>>1},gen_codes=($,tt,et)=>{const At=new Array(16);let nt,it,at=0;for(nt=1;nt<=15;nt++)At[nt]=at=at+et[nt-1]<<1;for(it=0;it<=tt;it++){let tt=$[2*it+1];0!==tt&&($[2*it]=bi_reverse(At[tt]++,tt))}},init_block=$=>{let tt;for(tt=0;tt<286;tt++)$.dyn_ltree[2*tt]=0;for(tt=0;tt<30;tt++)$.dyn_dtree[2*tt]=0;for(tt=0;tt<19;tt++)$.bl_tree[2*tt]=0;$.dyn_ltree[512]=1,$.opt_len=$.static_len=0,$.last_lit=$.matches=0},bi_windup=$=>{$.bi_valid>8?put_short($,$.bi_buf):$.bi_valid>0&&($.pending_buf[$.pending++]=$.bi_buf),$.bi_buf=0,$.bi_valid=0},smaller=($,tt,et,At)=>{const nt=2*tt,it=2*et;return $[nt]<$[it]||$[nt]===$[it]&&At[tt]<=At[et]},pqdownheap=($,tt,et)=>{const At=$.heap[et];let nt=et<<1;for(;nt<=$.heap_len&&(nt<$.heap_len&&smaller(tt,$.heap[nt+1],$.heap[nt],$.depth)&&nt++,!smaller(tt,At,$.heap[nt],$.depth));)$.heap[et]=$.heap[nt],et=nt,nt<<=1;$.heap[et]=At},compress_block=($,tt,et)=>{let it,at,rt,st,ot=0;if(0!==$.last_lit)do{it=$.pending_buf[$.d_buf+2*ot]<<8|$.pending_buf[$.d_buf+2*ot+1],at=$.pending_buf[$.l_buf+ot],ot++,0===it?send_code($,at,tt):(rt=ut[at],send_code($,rt+256+1,tt),st=At[rt],0!==st&&(at-=ct[rt],send_bits($,at,st)),it--,rt=d_code(it),send_code($,rt,et),st=nt[rt],0!==st&&(it-=dt[rt],send_bits($,it,st)))}while(ot<$.last_lit);send_code($,256,tt)},build_tree=($,tt)=>{const et=tt.dyn_tree,At=tt.stat_desc.static_tree,nt=tt.stat_desc.has_stree,it=tt.stat_desc.elems;let at,rt,st,ot=-1;for($.heap_len=0,$.heap_max=573,at=0;at<it;at++)0!==et[2*at]?($.heap[++$.heap_len]=ot=at,$.depth[at]=0):et[2*at+1]=0;for(;$.heap_len<2;)st=$.heap[++$.heap_len]=ot<2?++ot:0,et[2*st]=1,$.depth[st]=0,$.opt_len--,nt&&($.static_len-=At[2*st+1]);for(tt.max_code=ot,at=$.heap_len>>1;at>=1;at--)pqdownheap($,et,at);st=it;do{at=$.heap[1],$.heap[1]=$.heap[$.heap_len--],pqdownheap($,et,1),rt=$.heap[1],$.heap[--$.heap_max]=at,$.heap[--$.heap_max]=rt,et[2*st]=et[2*at]+et[2*rt],$.depth[st]=($.depth[at]>=$.depth[rt]?$.depth[at]:$.depth[rt])+1,et[2*at+1]=et[2*rt+1]=st,$.heap[1]=st++,pqdownheap($,et,1)}while($.heap_len>=2);$.heap[--$.heap_max]=$.heap[1],(($,tt)=>{const et=tt.dyn_tree,At=tt.max_code,nt=tt.stat_desc.static_tree,it=tt.stat_desc.has_stree,at=tt.stat_desc.extra_bits,rt=tt.stat_desc.extra_base,st=tt.stat_desc.max_length;let ot,ut,ct,dt,It,ht,pt=0;for(dt=0;dt<=15;dt++)$.bl_count[dt]=0;for(et[2*$.heap[$.heap_max]+1]=0,ot=$.heap_max+1;ot<573;ot++)ut=$.heap[ot],dt=et[2*et[2*ut+1]+1]+1,dt>st&&(dt=st,pt++),et[2*ut+1]=dt,ut>At||($.bl_count[dt]++,It=0,ut>=rt&&(It=at[ut-rt]),ht=et[2*ut],$.opt_len+=ht*(dt+It),it&&($.static_len+=ht*(nt[2*ut+1]+It)));if(0!==pt){do{for(dt=st-1;0===$.bl_count[dt];)dt--;$.bl_count[dt]--,$.bl_count[dt+1]+=2,$.bl_count[st]--,pt-=2}while(pt>0);for(dt=st;0!==dt;dt--)for(ut=$.bl_count[dt];0!==ut;)ct=$.heap[--ot],ct>At||(et[2*ct+1]!==dt&&($.opt_len+=(dt-et[2*ct+1])*et[2*ct],et[2*ct+1]=dt),ut--)}})($,tt),gen_codes(et,ot,$.bl_count)},scan_tree=($,tt,et)=>{let At,nt,it=-1,at=tt[1],rt=0,st=7,ot=4;for(0===at&&(st=138,ot=3),tt[2*(et+1)+1]=65535,At=0;At<=et;At++)nt=at,at=tt[2*(At+1)+1],++rt<st&&nt===at||(rt<ot?$.bl_tree[2*nt]+=rt:0!==nt?(nt!==it&&$.bl_tree[2*nt]++,$.bl_tree[32]++):rt<=10?$.bl_tree[34]++:$.bl_tree[36]++,rt=0,it=nt,0===at?(st=138,ot=3):nt===at?(st=6,ot=3):(st=7,ot=4))},send_tree=($,tt,et)=>{let At,nt,it=-1,at=tt[1],rt=0,st=7,ot=4;for(0===at&&(st=138,ot=3),At=0;At<=et;At++)if(nt=at,at=tt[2*(At+1)+1],!(++rt<st&&nt===at)){if(rt<ot)do{send_code($,nt,$.bl_tree)}while(0!=--rt);else 0!==nt?(nt!==it&&(send_code($,nt,$.bl_tree),rt--),send_code($,16,$.bl_tree),send_bits($,rt-3,2)):rt<=10?(send_code($,17,$.bl_tree),send_bits($,rt-3,3)):(send_code($,18,$.bl_tree),send_bits($,rt-11,7));rt=0,it=nt,0===at?(st=138,ot=3):nt===at?(st=6,ot=3):(st=7,ot=4)}};let yt=!1;const _tr_stored_block=($,tt,et,At)=>{send_bits($,0+(At?1:0),3),(($,tt,et,At)=>{bi_windup($),At&&(put_short($,et),put_short($,~et)),$.pending_buf.set($.window.subarray(tt,tt+et),$.pending),$.pending+=et})($,tt,et,!0)};var Ct={_tr_init:$=>{yt||((()=>{let $,tt,et,at,yt;const Ct=new Array(16);for(et=0,at=0;at<28;at++)for(ct[at]=et,$=0;$<1<<At[at];$++)ut[et++]=at;for(ut[et-1]=at,yt=0,at=0;at<16;at++)for(dt[at]=yt,$=0;$<1<<nt[at];$++)ot[yt++]=at;for(yt>>=7;at<30;at++)for(dt[at]=yt<<7,$=0;$<1<<nt[at]-7;$++)ot[256+yt++]=at;for(tt=0;tt<=15;tt++)Ct[tt]=0;for($=0;$<=143;)rt[2*$+1]=8,$++,Ct[8]++;for(;$<=255;)rt[2*$+1]=9,$++,Ct[9]++;for(;$<=279;)rt[2*$+1]=7,$++,Ct[7]++;for(;$<=287;)rt[2*$+1]=8,$++,Ct[8]++;for(gen_codes(rt,287,Ct),$=0;$<30;$++)st[2*$+1]=5,st[2*$]=bi_reverse($,5);It=new StaticTreeDesc(rt,At,257,286,15),ht=new StaticTreeDesc(st,nt,0,30,15),pt=new StaticTreeDesc(new Array(0),it,0,19,7)})(),yt=!0),$.l_desc=new TreeDesc($.dyn_ltree,It),$.d_desc=new TreeDesc($.dyn_dtree,ht),$.bl_desc=new TreeDesc($.bl_tree,pt),$.bi_buf=0,$.bi_valid=0,init_block($)},_tr_stored_block:_tr_stored_block,_tr_flush_block:($,tt,et,At)=>{let nt,it,ot=0;$.level>0?(2===$.strm.data_type&&($.strm.data_type=($=>{let tt,et=4093624447;for(tt=0;tt<=31;tt++,et>>>=1)if(1&et&&0!==$.dyn_ltree[2*tt])return 0;if(0!==$.dyn_ltree[18]||0!==$.dyn_ltree[20]||0!==$.dyn_ltree[26])return 1;for(tt=32;tt<256;tt++)if(0!==$.dyn_ltree[2*tt])return 1;return 0})($)),build_tree($,$.l_desc),build_tree($,$.d_desc),ot=($=>{let tt;for(scan_tree($,$.dyn_ltree,$.l_desc.max_code),scan_tree($,$.dyn_dtree,$.d_desc.max_code),build_tree($,$.bl_desc),tt=18;tt>=3&&0===$.bl_tree[2*at[tt]+1];tt--);return $.opt_len+=3*(tt+1)+5+5+4,tt})($),nt=$.opt_len+3+7>>>3,it=$.static_len+3+7>>>3,it<=nt&&(nt=it)):nt=it=et+5,et+4<=nt&&-1!==tt?_tr_stored_block($,tt,et,At):4===$.strategy||it===nt?(send_bits($,2+(At?1:0),3),compress_block($,rt,st)):(send_bits($,4+(At?1:0),3),(($,tt,et,At)=>{let nt;for(send_bits($,tt-257,5),send_bits($,et-1,5),send_bits($,At-4,4),nt=0;nt<At;nt++)send_bits($,$.bl_tree[2*at[nt]+1],3);send_tree($,$.dyn_ltree,tt-1),send_tree($,$.dyn_dtree,et-1)})($,$.l_desc.max_code+1,$.d_desc.max_code+1,ot+1),compress_block($,$.dyn_ltree,$.dyn_dtree)),init_block($),At&&bi_windup($)},_tr_tally:($,tt,et)=>($.pending_buf[$.d_buf+2*$.last_lit]=tt>>>8&255,$.pending_buf[$.d_buf+2*$.last_lit+1]=255&tt,$.pending_buf[$.l_buf+$.last_lit]=255&et,$.last_lit++,0===tt?$.dyn_ltree[2*et]++:($.matches++,tt--,$.dyn_ltree[2*(ut[et]+256+1)]++,$.dyn_dtree[2*d_code(tt)]++),$.last_lit===$.lit_bufsize-1),_tr_align:$=>{send_bits($,2,3),send_code($,256,rt),($=>{16===$.bi_valid?(put_short($,$.bi_buf),$.bi_buf=0,$.bi_valid=0):$.bi_valid>=8&&($.pending_buf[$.pending++]=255&$.bi_buf,$.bi_buf>>=8,$.bi_valid-=8)})($)}};var adler32_1=($,tt,et,At)=>{let nt=65535&$|0,it=$>>>16&65535|0,at=0;for(;0!==et;){at=et>2e3?2e3:et,et-=at;do{nt=nt+tt[At++]|0,it=it+nt|0}while(--at);nt%=65521,it%=65521}return nt|it<<16|0};const Bt=new Uint32Array((()=>{let $,tt=[];for(var et=0;et<256;et++){$=et;for(var At=0;At<8;At++)$=1&$?3988292384^$>>>1:$>>>1;tt[et]=$}return tt})());var crc32_1=($,tt,et,At)=>{const nt=Bt,it=At+et;$^=-1;for(let et=At;et<it;et++)$=$>>>8^nt[255&($^tt[et])];return-1^$},Et={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},mt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:Qt,_tr_stored_block:bt,_tr_flush_block:wt,_tr_tally:vt,_tr_align:Mt}=Ct,{Z_NO_FLUSH:Dt,Z_PARTIAL_FLUSH:St,Z_FULL_FLUSH:kt,Z_FINISH:_t,Z_BLOCK:Rt,Z_OK:Nt,Z_STREAM_END:Ht,Z_STREAM_ERROR:Ft,Z_DATA_ERROR:Gt,Z_BUF_ERROR:Ut,Z_DEFAULT_COMPRESSION:xt,Z_FILTERED:Lt,Z_HUFFMAN_ONLY:Tt,Z_RLE:Yt,Z_FIXED:Ot,Z_DEFAULT_STRATEGY:Kt,Z_UNKNOWN:Pt,Z_DEFLATED:qt}=mt,err=($,tt)=>($.msg=Et[tt],tt),rank=$=>($<<1)-($>4?9:0),zero$1=$=>{let tt=$.length;for(;--tt>=0;)$[tt]=0};let HASH=($,tt,et)=>(tt<<$.hash_shift^et)&$.hash_mask;const flush_pending=$=>{const tt=$.state;let et=tt.pending;et>$.avail_out&&(et=$.avail_out),0!==et&&($.output.set(tt.pending_buf.subarray(tt.pending_out,tt.pending_out+et),$.next_out),$.next_out+=et,tt.pending_out+=et,$.total_out+=et,$.avail_out-=et,tt.pending-=et,0===tt.pending&&(tt.pending_out=0))},flush_block_only=($,tt)=>{wt($,$.block_start>=0?$.block_start:-1,$.strstart-$.block_start,tt),$.block_start=$.strstart,flush_pending($.strm)},put_byte=($,tt)=>{$.pending_buf[$.pending++]=tt},putShortMSB=($,tt)=>{$.pending_buf[$.pending++]=tt>>>8&255,$.pending_buf[$.pending++]=255&tt},read_buf=($,tt,et,At)=>{let nt=$.avail_in;return nt>At&&(nt=At),0===nt?0:($.avail_in-=nt,tt.set($.input.subarray($.next_in,$.next_in+nt),et),1===$.state.wrap?$.adler=adler32_1($.adler,tt,nt,et):2===$.state.wrap&&($.adler=crc32_1($.adler,tt,nt,et)),$.next_in+=nt,$.total_in+=nt,nt)},longest_match=($,tt)=>{let et,At,nt=$.max_chain_length,it=$.strstart,at=$.prev_length,rt=$.nice_match;const st=$.strstart>$.w_size-262?$.strstart-($.w_size-262):0,ot=$.window,ut=$.w_mask,ct=$.prev,dt=$.strstart+258;let It=ot[it+at-1],ht=ot[it+at];$.prev_length>=$.good_match&&(nt>>=2),rt>$.lookahead&&(rt=$.lookahead);do{if(et=tt,ot[et+at]===ht&&ot[et+at-1]===It&&ot[et]===ot[it]&&ot[++et]===ot[it+1]){it+=2,et++;do{}while(ot[++it]===ot[++et]&&ot[++it]===ot[++et]&&ot[++it]===ot[++et]&&ot[++it]===ot[++et]&&ot[++it]===ot[++et]&&ot[++it]===ot[++et]&&ot[++it]===ot[++et]&&ot[++it]===ot[++et]&&it<dt);if(At=258-(dt-it),it=dt-258,At>at){if($.match_start=tt,at=At,At>=rt)break;It=ot[it+at-1],ht=ot[it+at]}}}while((tt=ct[tt&ut])>st&&0!=--nt);return at<=$.lookahead?at:$.lookahead},fill_window=$=>{const tt=$.w_size;let et,At,nt,it,at;do{if(it=$.window_size-$.lookahead-$.strstart,$.strstart>=tt+(tt-262)){$.window.set($.window.subarray(tt,tt+tt),0),$.match_start-=tt,$.strstart-=tt,$.block_start-=tt,At=$.hash_size,et=At;do{nt=$.head[--et],$.head[et]=nt>=tt?nt-tt:0}while(--At);At=tt,et=At;do{nt=$.prev[--et],$.prev[et]=nt>=tt?nt-tt:0}while(--At);it+=tt}if(0===$.strm.avail_in)break;if(At=read_buf($.strm,$.window,$.strstart+$.lookahead,it),$.lookahead+=At,$.lookahead+$.insert>=3)for(at=$.strstart-$.insert,$.ins_h=$.window[at],$.ins_h=HASH($,$.ins_h,$.window[at+1]);$.insert&&($.ins_h=HASH($,$.ins_h,$.window[at+3-1]),$.prev[at&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=at,at++,$.insert--,!($.lookahead+$.insert<3)););}while($.lookahead<262&&0!==$.strm.avail_in)},deflate_fast=($,tt)=>{let et,At;for(;;){if($.lookahead<262){if(fill_window($),$.lookahead<262&&tt===Dt)return 1;if(0===$.lookahead)break}if(et=0,$.lookahead>=3&&($.ins_h=HASH($,$.ins_h,$.window[$.strstart+3-1]),et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart),0!==et&&$.strstart-et<=$.w_size-262&&($.match_length=longest_match($,et)),$.match_length>=3)if(At=vt($,$.strstart-$.match_start,$.match_length-3),$.lookahead-=$.match_length,$.match_length<=$.max_lazy_match&&$.lookahead>=3){$.match_length--;do{$.strstart++,$.ins_h=HASH($,$.ins_h,$.window[$.strstart+3-1]),et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart}while(0!=--$.match_length);$.strstart++}else $.strstart+=$.match_length,$.match_length=0,$.ins_h=$.window[$.strstart],$.ins_h=HASH($,$.ins_h,$.window[$.strstart+1]);else At=vt($,0,$.window[$.strstart]),$.lookahead--,$.strstart++;if(At&&(flush_block_only($,!1),0===$.strm.avail_out))return 1}return $.insert=$.strstart<2?$.strstart:2,tt===_t?(flush_block_only($,!0),0===$.strm.avail_out?3:4):$.last_lit&&(flush_block_only($,!1),0===$.strm.avail_out)?1:2},deflate_slow=($,tt)=>{let et,At,nt;for(;;){if($.lookahead<262){if(fill_window($),$.lookahead<262&&tt===Dt)return 1;if(0===$.lookahead)break}if(et=0,$.lookahead>=3&&($.ins_h=HASH($,$.ins_h,$.window[$.strstart+3-1]),et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart),$.prev_length=$.match_length,$.prev_match=$.match_start,$.match_length=2,0!==et&&$.prev_length<$.max_lazy_match&&$.strstart-et<=$.w_size-262&&($.match_length=longest_match($,et),$.match_length<=5&&($.strategy===Lt||3===$.match_length&&$.strstart-$.match_start>4096)&&($.match_length=2)),$.prev_length>=3&&$.match_length<=$.prev_length){nt=$.strstart+$.lookahead-3,At=vt($,$.strstart-1-$.prev_match,$.prev_length-3),$.lookahead-=$.prev_length-1,$.prev_length-=2;do{++$.strstart<=nt&&($.ins_h=HASH($,$.ins_h,$.window[$.strstart+3-1]),et=$.prev[$.strstart&$.w_mask]=$.head[$.ins_h],$.head[$.ins_h]=$.strstart)}while(0!=--$.prev_length);if($.match_available=0,$.match_length=2,$.strstart++,At&&(flush_block_only($,!1),0===$.strm.avail_out))return 1}else if($.match_available){if(At=vt($,0,$.window[$.strstart-1]),At&&flush_block_only($,!1),$.strstart++,$.lookahead--,0===$.strm.avail_out)return 1}else $.match_available=1,$.strstart++,$.lookahead--}return $.match_available&&(At=vt($,0,$.window[$.strstart-1]),$.match_available=0),$.insert=$.strstart<2?$.strstart:2,tt===_t?(flush_block_only($,!0),0===$.strm.avail_out?3:4):$.last_lit&&(flush_block_only($,!1),0===$.strm.avail_out)?1:2};function Config($,tt,et,At,nt){this.good_length=$,this.max_lazy=tt,this.nice_length=et,this.max_chain=At,this.func=nt}const jt=[new Config(0,0,0,0,($,tt)=>{let et=65535;for(et>$.pending_buf_size-5&&(et=$.pending_buf_size-5);;){if($.lookahead<=1){if(fill_window($),0===$.lookahead&&tt===Dt)return 1;if(0===$.lookahead)break}$.strstart+=$.lookahead,$.lookahead=0;const At=$.block_start+et;if((0===$.strstart||$.strstart>=At)&&($.lookahead=$.strstart-At,$.strstart=At,flush_block_only($,!1),0===$.strm.avail_out))return 1;if($.strstart-$.block_start>=$.w_size-262&&(flush_block_only($,!1),0===$.strm.avail_out))return 1}return $.insert=0,tt===_t?(flush_block_only($,!0),0===$.strm.avail_out?3:4):($.strstart>$.block_start&&(flush_block_only($,!1),$.strm.avail_out),1)}),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=qt,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),zero$1(this.dyn_ltree),zero$1(this.dyn_dtree),zero$1(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),zero$1(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),zero$1(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateResetKeep=$=>{if(!$||!$.state)return err($,Ft);$.total_in=$.total_out=0,$.data_type=Pt;const tt=$.state;return tt.pending=0,tt.pending_out=0,tt.wrap<0&&(tt.wrap=-tt.wrap),tt.status=tt.wrap?42:113,$.adler=2===tt.wrap?0:1,tt.last_flush=Dt,Qt(tt),Nt},deflateReset=$=>{const tt=deflateResetKeep($);var et;return tt===Nt&&((et=$.state).window_size=2*et.w_size,zero$1(et.head),et.max_lazy_match=jt[et.level].max_lazy,et.good_match=jt[et.level].good_length,et.nice_match=jt[et.level].nice_length,et.max_chain_length=jt[et.level].max_chain,et.strstart=0,et.block_start=0,et.lookahead=0,et.insert=0,et.match_length=et.prev_length=2,et.match_available=0,et.ins_h=0),tt},deflateInit2=($,tt,et,At,nt,it)=>{if(!$)return Ft;let at=1;if(tt===xt&&(tt=6),At<0?(at=0,At=-At):At>15&&(at=2,At-=16),nt<1||nt>9||et!==qt||At<8||At>15||tt<0||tt>9||it<0||it>Ot)return err($,Ft);8===At&&(At=9);const rt=new DeflateState;return $.state=rt,rt.strm=$,rt.wrap=at,rt.gzhead=null,rt.w_bits=At,rt.w_size=1<<rt.w_bits,rt.w_mask=rt.w_size-1,rt.hash_bits=nt+7,rt.hash_size=1<<rt.hash_bits,rt.hash_mask=rt.hash_size-1,rt.hash_shift=~~((rt.hash_bits+3-1)/3),rt.window=new Uint8Array(2*rt.w_size),rt.head=new Uint16Array(rt.hash_size),rt.prev=new Uint16Array(rt.w_size),rt.lit_bufsize=1<<nt+6,rt.pending_buf_size=4*rt.lit_bufsize,rt.pending_buf=new Uint8Array(rt.pending_buf_size),rt.d_buf=1*rt.lit_bufsize,rt.l_buf=3*rt.lit_bufsize,rt.level=tt,rt.strategy=it,rt.method=et,deflateReset($)};var Jt={deflateInit:($,tt)=>deflateInit2($,tt,qt,15,8,Kt),deflateInit2:deflateInit2,deflateReset:deflateReset,deflateResetKeep:deflateResetKeep,deflateSetHeader:($,tt)=>$&&$.state?2!==$.state.wrap?Ft:($.state.gzhead=tt,Nt):Ft,deflate:($,tt)=>{let et,At;if(!$||!$.state||tt>Rt||tt<0)return $?err($,Ft):Ft;const nt=$.state;if(!$.output||!$.input&&0!==$.avail_in||666===nt.status&&tt!==_t)return err($,0===$.avail_out?Ut:Ft);nt.strm=$;const it=nt.last_flush;if(nt.last_flush=tt,42===nt.status)if(2===nt.wrap)$.adler=0,put_byte(nt,31),put_byte(nt,139),put_byte(nt,8),nt.gzhead?(put_byte(nt,(nt.gzhead.text?1:0)+(nt.gzhead.hcrc?2:0)+(nt.gzhead.extra?4:0)+(nt.gzhead.name?8:0)+(nt.gzhead.comment?16:0)),put_byte(nt,255&nt.gzhead.time),put_byte(nt,nt.gzhead.time>>8&255),put_byte(nt,nt.gzhead.time>>16&255),put_byte(nt,nt.gzhead.time>>24&255),put_byte(nt,9===nt.level?2:nt.strategy>=Tt||nt.level<2?4:0),put_byte(nt,255&nt.gzhead.os),nt.gzhead.extra&&nt.gzhead.extra.length&&(put_byte(nt,255&nt.gzhead.extra.length),put_byte(nt,nt.gzhead.extra.length>>8&255)),nt.gzhead.hcrc&&($.adler=crc32_1($.adler,nt.pending_buf,nt.pending,0)),nt.gzindex=0,nt.status=69):(put_byte(nt,0),put_byte(nt,0),put_byte(nt,0),put_byte(nt,0),put_byte(nt,0),put_byte(nt,9===nt.level?2:nt.strategy>=Tt||nt.level<2?4:0),put_byte(nt,3),nt.status=113);else{let tt=qt+(nt.w_bits-8<<4)<<8,et=-1;et=nt.strategy>=Tt||nt.level<2?0:nt.level<6?1:6===nt.level?2:3,tt|=et<<6,0!==nt.strstart&&(tt|=32),tt+=31-tt%31,nt.status=113,putShortMSB(nt,tt),0!==nt.strstart&&(putShortMSB(nt,$.adler>>>16),putShortMSB(nt,65535&$.adler)),$.adler=1}if(69===nt.status)if(nt.gzhead.extra){for(et=nt.pending;nt.gzindex<(65535&nt.gzhead.extra.length)&&(nt.pending!==nt.pending_buf_size||(nt.gzhead.hcrc&&nt.pending>et&&($.adler=crc32_1($.adler,nt.pending_buf,nt.pending-et,et)),flush_pending($),et=nt.pending,nt.pending!==nt.pending_buf_size));)put_byte(nt,255&nt.gzhead.extra[nt.gzindex]),nt.gzindex++;nt.gzhead.hcrc&&nt.pending>et&&($.adler=crc32_1($.adler,nt.pending_buf,nt.pending-et,et)),nt.gzindex===nt.gzhead.extra.length&&(nt.gzindex=0,nt.status=73)}else nt.status=73;if(73===nt.status)if(nt.gzhead.name){et=nt.pending;do{if(nt.pending===nt.pending_buf_size&&(nt.gzhead.hcrc&&nt.pending>et&&($.adler=crc32_1($.adler,nt.pending_buf,nt.pending-et,et)),flush_pending($),et=nt.pending,nt.pending===nt.pending_buf_size)){At=1;break}At=nt.gzindex<nt.gzhead.name.length?255&nt.gzhead.name.charCodeAt(nt.gzindex++):0,put_byte(nt,At)}while(0!==At);nt.gzhead.hcrc&&nt.pending>et&&($.adler=crc32_1($.adler,nt.pending_buf,nt.pending-et,et)),0===At&&(nt.gzindex=0,nt.status=91)}else nt.status=91;if(91===nt.status)if(nt.gzhead.comment){et=nt.pending;do{if(nt.pending===nt.pending_buf_size&&(nt.gzhead.hcrc&&nt.pending>et&&($.adler=crc32_1($.adler,nt.pending_buf,nt.pending-et,et)),flush_pending($),et=nt.pending,nt.pending===nt.pending_buf_size)){At=1;break}At=nt.gzindex<nt.gzhead.comment.length?255&nt.gzhead.comment.charCodeAt(nt.gzindex++):0,put_byte(nt,At)}while(0!==At);nt.gzhead.hcrc&&nt.pending>et&&($.adler=crc32_1($.adler,nt.pending_buf,nt.pending-et,et)),0===At&&(nt.status=103)}else nt.status=103;if(103===nt.status&&(nt.gzhead.hcrc?(nt.pending+2>nt.pending_buf_size&&flush_pending($),nt.pending+2<=nt.pending_buf_size&&(put_byte(nt,255&$.adler),put_byte(nt,$.adler>>8&255),$.adler=0,nt.status=113)):nt.status=113),0!==nt.pending){if(flush_pending($),0===$.avail_out)return nt.last_flush=-1,Nt}else if(0===$.avail_in&&rank(tt)<=rank(it)&&tt!==_t)return err($,Ut);if(666===nt.status&&0!==$.avail_in)return err($,Ut);if(0!==$.avail_in||0!==nt.lookahead||tt!==Dt&&666!==nt.status){let et=nt.strategy===Tt?(($,tt)=>{let et;for(;;){if(0===$.lookahead&&(fill_window($),0===$.lookahead)){if(tt===Dt)return 1;break}if($.match_length=0,et=vt($,0,$.window[$.strstart]),$.lookahead--,$.strstart++,et&&(flush_block_only($,!1),0===$.strm.avail_out))return 1}return $.insert=0,tt===_t?(flush_block_only($,!0),0===$.strm.avail_out?3:4):$.last_lit&&(flush_block_only($,!1),0===$.strm.avail_out)?1:2})(nt,tt):nt.strategy===Yt?(($,tt)=>{let et,At,nt,it;const at=$.window;for(;;){if($.lookahead<=258){if(fill_window($),$.lookahead<=258&&tt===Dt)return 1;if(0===$.lookahead)break}if($.match_length=0,$.lookahead>=3&&$.strstart>0&&(nt=$.strstart-1,At=at[nt],At===at[++nt]&&At===at[++nt]&&At===at[++nt])){it=$.strstart+258;do{}while(At===at[++nt]&&At===at[++nt]&&At===at[++nt]&&At===at[++nt]&&At===at[++nt]&&At===at[++nt]&&At===at[++nt]&&At===at[++nt]&&nt<it);$.match_length=258-(it-nt),$.match_length>$.lookahead&&($.match_length=$.lookahead)}if($.match_length>=3?(et=vt($,1,$.match_length-3),$.lookahead-=$.match_length,$.strstart+=$.match_length,$.match_length=0):(et=vt($,0,$.window[$.strstart]),$.lookahead--,$.strstart++),et&&(flush_block_only($,!1),0===$.strm.avail_out))return 1}return $.insert=0,tt===_t?(flush_block_only($,!0),0===$.strm.avail_out?3:4):$.last_lit&&(flush_block_only($,!1),0===$.strm.avail_out)?1:2})(nt,tt):jt[nt.level].func(nt,tt);if(3!==et&&4!==et||(nt.status=666),1===et||3===et)return 0===$.avail_out&&(nt.last_flush=-1),Nt;if(2===et&&(tt===St?Mt(nt):tt!==Rt&&(bt(nt,0,0,!1),tt===kt&&(zero$1(nt.head),0===nt.lookahead&&(nt.strstart=0,nt.block_start=0,nt.insert=0))),flush_pending($),0===$.avail_out))return nt.last_flush=-1,Nt}return tt!==_t?Nt:nt.wrap<=0?Ht:(2===nt.wrap?(put_byte(nt,255&$.adler),put_byte(nt,$.adler>>8&255),put_byte(nt,$.adler>>16&255),put_byte(nt,$.adler>>24&255),put_byte(nt,255&$.total_in),put_byte(nt,$.total_in>>8&255),put_byte(nt,$.total_in>>16&255),put_byte(nt,$.total_in>>24&255)):(putShortMSB(nt,$.adler>>>16),putShortMSB(nt,65535&$.adler)),flush_pending($),nt.wrap>0&&(nt.wrap=-nt.wrap),0!==nt.pending?Nt:Ht)},deflateEnd:$=>{if(!$||!$.state)return Ft;const tt=$.state.status;return 42!==tt&&69!==tt&&73!==tt&&91!==tt&&103!==tt&&113!==tt&&666!==tt?err($,Ft):($.state=null,113===tt?err($,Gt):Nt)},deflateSetDictionary:($,tt)=>{let et=tt.length;if(!$||!$.state)return Ft;const At=$.state,nt=At.wrap;if(2===nt||1===nt&&42!==At.status||At.lookahead)return Ft;if(1===nt&&($.adler=adler32_1($.adler,tt,et,0)),At.wrap=0,et>=At.w_size){0===nt&&(zero$1(At.head),At.strstart=0,At.block_start=0,At.insert=0);let $=new Uint8Array(At.w_size);$.set(tt.subarray(et-At.w_size,et),0),tt=$,et=At.w_size}const it=$.avail_in,at=$.next_in,rt=$.input;for($.avail_in=et,$.next_in=0,$.input=tt,fill_window(At);At.lookahead>=3;){let $=At.strstart,tt=At.lookahead-2;do{At.ins_h=HASH(At,At.ins_h,At.window[$+3-1]),At.prev[$&At.w_mask]=At.head[At.ins_h],At.head[At.ins_h]=$,$++}while(--tt);At.strstart=$,At.lookahead=2,fill_window(At)}return At.strstart+=At.lookahead,At.block_start=At.strstart,At.insert=At.lookahead,At.lookahead=0,At.match_length=At.prev_length=2,At.match_available=0,$.next_in=at,$.input=rt,$.avail_in=it,At.wrap=nt,Nt},deflateInfo:"pako deflate (from Nodeca project)"};const _has=($,tt)=>Object.prototype.hasOwnProperty.call($,tt);var common_assign=function($){const tt=Array.prototype.slice.call(arguments,1);for(;tt.length;){const et=tt.shift();if(et){if("object"!=typeof et)throw new TypeError(et+"must be non-object");for(const tt in et)_has(et,tt)&&($[tt]=et[tt])}}return $},common_flattenChunks=$=>{let tt=0;for(let et=0,At=$.length;et<At;et++)tt+=$[et].length;const et=new Uint8Array(tt);for(let tt=0,At=0,nt=$.length;tt<nt;tt++){let nt=$[tt];et.set(nt,At),At+=nt.length}return et};let zt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch($){zt=!1}const Zt=new Uint8Array(256);for(let $=0;$<256;$++)Zt[$]=$>=252?6:$>=248?5:$>=240?4:$>=224?3:$>=192?2:1;Zt[254]=Zt[254]=1;var strings_string2buf=$=>{let tt,et,At,nt,it,at=$.length,rt=0;for(nt=0;nt<at;nt++)et=$.charCodeAt(nt),55296==(64512&et)&&nt+1<at&&(At=$.charCodeAt(nt+1),56320==(64512&At)&&(et=65536+(et-55296<<10)+(At-56320),nt++)),rt+=et<128?1:et<2048?2:et<65536?3:4;for(tt=new Uint8Array(rt),it=0,nt=0;it<rt;nt++)et=$.charCodeAt(nt),55296==(64512&et)&&nt+1<at&&(At=$.charCodeAt(nt+1),56320==(64512&At)&&(et=65536+(et-55296<<10)+(At-56320),nt++)),et<128?tt[it++]=et:et<2048?(tt[it++]=192|et>>>6,tt[it++]=128|63&et):et<65536?(tt[it++]=224|et>>>12,tt[it++]=128|et>>>6&63,tt[it++]=128|63&et):(tt[it++]=240|et>>>18,tt[it++]=128|et>>>12&63,tt[it++]=128|et>>>6&63,tt[it++]=128|63&et);return tt},strings_buf2string=($,tt)=>{let et,At;const nt=tt||$.length,it=new Array(2*nt);for(At=0,et=0;et<nt;){let tt=$[et++];if(tt<128){it[At++]=tt;continue}let at=Zt[tt];if(at>4)it[At++]=65533,et+=at-1;else{for(tt&=2===at?31:3===at?15:7;at>1&&et<nt;)tt=tt<<6|63&$[et++],at--;at>1?it[At++]=65533:tt<65536?it[At++]=tt:(tt-=65536,it[At++]=55296|tt>>10&1023,it[At++]=56320|1023&tt)}}return(($,tt)=>{if(tt<65534&&$.subarray&&zt)return String.fromCharCode.apply(null,$.length===tt?$:$.subarray(0,tt));let et="";for(let At=0;At<tt;At++)et+=String.fromCharCode($[At]);return et})(it,At)},strings_utf8border=($,tt)=>{(tt=tt||$.length)>$.length&&(tt=$.length);let et=tt-1;for(;et>=0&&128==(192&$[et]);)et--;return et<0?tt:0===et?tt:et+Zt[$[et]]>tt?et:tt};var Vt=function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Wt=Object.prototype.toString,{Z_NO_FLUSH:Xt,Z_SYNC_FLUSH:$t,Z_FULL_FLUSH:ee,Z_FINISH:Ae,Z_OK:ne,Z_STREAM_END:ae,Z_DEFAULT_COMPRESSION:se,Z_DEFAULT_STRATEGY:ue,Z_DEFLATED:ce}=mt;function Deflate($){this.options=common_assign({level:se,method:ce,chunkSize:16384,windowBits:15,memLevel:8,strategy:ue},$||{});let tt=this.options;tt.raw&&tt.windowBits>0?tt.windowBits=-tt.windowBits:tt.gzip&&tt.windowBits>0&&tt.windowBits<16&&(tt.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Vt,this.strm.avail_out=0;let et=Jt.deflateInit2(this.strm,tt.level,tt.method,tt.windowBits,tt.memLevel,tt.strategy);if(et!==ne)throw new Error(Et[et]);if(tt.header&&Jt.deflateSetHeader(this.strm,tt.header),tt.dictionary){let $;if($="string"==typeof tt.dictionary?strings_string2buf(tt.dictionary):"[object ArrayBuffer]"===Wt.call(tt.dictionary)?new Uint8Array(tt.dictionary):tt.dictionary,et=Jt.deflateSetDictionary(this.strm,$),et!==ne)throw new Error(Et[et]);this._dict_set=!0}}function deflate$1($,tt){const et=new Deflate(tt);if(et.push($,!0),et.err)throw et.msg||Et[et.err];return et.result}Deflate.prototype.push=function($,tt){const et=this.strm,At=this.options.chunkSize;let nt,it;if(this.ended)return!1;for(it=tt===~~tt?tt:!0===tt?Ae:Xt,"string"==typeof $?et.input=strings_string2buf($):"[object ArrayBuffer]"===Wt.call($)?et.input=new Uint8Array($):et.input=$,et.next_in=0,et.avail_in=et.input.length;;)if(0===et.avail_out&&(et.output=new Uint8Array(At),et.next_out=0,et.avail_out=At),(it===$t||it===ee)&&et.avail_out<=6)this.onData(et.output.subarray(0,et.next_out)),et.avail_out=0;else{if(nt=Jt.deflate(et,it),nt===ae)return et.next_out>0&&this.onData(et.output.subarray(0,et.next_out)),nt=Jt.deflateEnd(this.strm),this.onEnd(nt),this.ended=!0,nt===ne;if(0!==et.avail_out){if(it>0&&et.next_out>0)this.onData(et.output.subarray(0,et.next_out)),et.avail_out=0;else if(0===et.avail_in)break}else this.onData(et.output)}return!0},Deflate.prototype.onData=function($){this.chunks.push($)},Deflate.prototype.onEnd=function($){$===ne&&(this.result=common_flattenChunks(this.chunks)),this.chunks=[],this.err=$,this.msg=this.strm.msg};var ge={Deflate:Deflate,deflate:deflate$1,deflateRaw:function deflateRaw($,tt){return(tt=tt||{}).raw=!0,deflate$1($,tt)},gzip:function gzip($,tt){return(tt=tt||{}).gzip=!0,deflate$1($,tt)},constants:mt};var de=function inflate_fast($,tt){let et,At,nt,it,at,rt,st,ot,ut,ct,dt,It,ht,pt,yt,Ct,Bt,Et,mt,Qt,bt,wt,vt,Mt;const Dt=$.state;et=$.next_in,vt=$.input,At=et+($.avail_in-5),nt=$.next_out,Mt=$.output,it=nt-(tt-$.avail_out),at=nt+($.avail_out-257),rt=Dt.dmax,st=Dt.wsize,ot=Dt.whave,ut=Dt.wnext,ct=Dt.window,dt=Dt.hold,It=Dt.bits,ht=Dt.lencode,pt=Dt.distcode,yt=(1<<Dt.lenbits)-1,Ct=(1<<Dt.distbits)-1;t:do{It<15&&(dt+=vt[et++]<<It,It+=8,dt+=vt[et++]<<It,It+=8),Bt=ht[dt&yt];e:for(;;){if(Et=Bt>>>24,dt>>>=Et,It-=Et,Et=Bt>>>16&255,0===Et)Mt[nt++]=65535&Bt;else{if(!(16&Et)){if(0==(64&Et)){Bt=ht[(65535&Bt)+(dt&(1<<Et)-1)];continue e}if(32&Et){Dt.mode=12;break t}$.msg="invalid literal/length code",Dt.mode=30;break t}mt=65535&Bt,Et&=15,Et&&(It<Et&&(dt+=vt[et++]<<It,It+=8),mt+=dt&(1<<Et)-1,dt>>>=Et,It-=Et),It<15&&(dt+=vt[et++]<<It,It+=8,dt+=vt[et++]<<It,It+=8),Bt=pt[dt&Ct];A:for(;;){if(Et=Bt>>>24,dt>>>=Et,It-=Et,Et=Bt>>>16&255,!(16&Et)){if(0==(64&Et)){Bt=pt[(65535&Bt)+(dt&(1<<Et)-1)];continue A}$.msg="invalid distance code",Dt.mode=30;break t}if(Qt=65535&Bt,Et&=15,It<Et&&(dt+=vt[et++]<<It,It+=8,It<Et&&(dt+=vt[et++]<<It,It+=8)),Qt+=dt&(1<<Et)-1,Qt>rt){$.msg="invalid distance too far back",Dt.mode=30;break t}if(dt>>>=Et,It-=Et,Et=nt-it,Qt>Et){if(Et=Qt-Et,Et>ot&&Dt.sane){$.msg="invalid distance too far back",Dt.mode=30;break t}if(bt=0,wt=ct,0===ut){if(bt+=st-Et,Et<mt){mt-=Et;do{Mt[nt++]=ct[bt++]}while(--Et);bt=nt-Qt,wt=Mt}}else if(ut<Et){if(bt+=st+ut-Et,Et-=ut,Et<mt){mt-=Et;do{Mt[nt++]=ct[bt++]}while(--Et);if(bt=0,ut<mt){Et=ut,mt-=Et;do{Mt[nt++]=ct[bt++]}while(--Et);bt=nt-Qt,wt=Mt}}}else if(bt+=ut-Et,Et<mt){mt-=Et;do{Mt[nt++]=ct[bt++]}while(--Et);bt=nt-Qt,wt=Mt}for(;mt>2;)Mt[nt++]=wt[bt++],Mt[nt++]=wt[bt++],Mt[nt++]=wt[bt++],mt-=3;mt&&(Mt[nt++]=wt[bt++],mt>1&&(Mt[nt++]=wt[bt++]))}else{bt=nt-Qt;do{Mt[nt++]=Mt[bt++],Mt[nt++]=Mt[bt++],Mt[nt++]=Mt[bt++],mt-=3}while(mt>2);mt&&(Mt[nt++]=Mt[bt++],mt>1&&(Mt[nt++]=Mt[bt++]))}break}}break}}while(et<At&&nt<at);mt=It>>3,et-=mt,It-=mt<<3,dt&=(1<<It)-1,$.next_in=et,$.next_out=nt,$.avail_in=et<At?At-et+5:5-(et-At),$.avail_out=nt<at?at-nt+257:257-(nt-at),Dt.hold=dt,Dt.bits=It};const Ie=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),he=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),pe=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),le=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var inftrees=($,tt,et,At,nt,it,at,rt)=>{const st=rt.bits;let ot,ut,ct,dt,It,ht,pt=0,yt=0,Ct=0,Bt=0,Et=0,mt=0,Qt=0,bt=0,wt=0,vt=0,Mt=null,Dt=0;const St=new Uint16Array(16),kt=new Uint16Array(16);let _t,Rt,Nt,Ht=null,Ft=0;for(pt=0;pt<=15;pt++)St[pt]=0;for(yt=0;yt<At;yt++)St[tt[et+yt]]++;for(Et=st,Bt=15;Bt>=1&&0===St[Bt];Bt--);if(Et>Bt&&(Et=Bt),0===Bt)return nt[it++]=20971520,nt[it++]=20971520,rt.bits=1,0;for(Ct=1;Ct<Bt&&0===St[Ct];Ct++);for(Et<Ct&&(Et=Ct),bt=1,pt=1;pt<=15;pt++)if(bt<<=1,bt-=St[pt],bt<0)return-1;if(bt>0&&(0===$||1!==Bt))return-1;for(kt[1]=0,pt=1;pt<15;pt++)kt[pt+1]=kt[pt]+St[pt];for(yt=0;yt<At;yt++)0!==tt[et+yt]&&(at[kt[tt[et+yt]]++]=yt);if(0===$?(Mt=Ht=at,ht=19):1===$?(Mt=Ie,Dt-=257,Ht=he,Ft-=257,ht=256):(Mt=pe,Ht=le,ht=-1),vt=0,yt=0,pt=Ct,It=it,mt=Et,Qt=0,ct=-1,wt=1<<Et,dt=wt-1,1===$&&wt>852||2===$&&wt>592)return 1;for(;;){_t=pt-Qt,at[yt]<ht?(Rt=0,Nt=at[yt]):at[yt]>ht?(Rt=Ht[Ft+at[yt]],Nt=Mt[Dt+at[yt]]):(Rt=96,Nt=0),ot=1<<pt-Qt,ut=1<<mt,Ct=ut;do{ut-=ot,nt[It+(vt>>Qt)+ut]=_t<<24|Rt<<16|Nt|0}while(0!==ut);for(ot=1<<pt-1;vt&ot;)ot>>=1;if(0!==ot?(vt&=ot-1,vt+=ot):vt=0,yt++,0==--St[pt]){if(pt===Bt)break;pt=tt[et+at[yt]]}if(pt>Et&&(vt&dt)!==ct){for(0===Qt&&(Qt=Et),It+=Ct,mt=pt-Qt,bt=1<<mt;mt+Qt<Bt&&(bt-=St[mt+Qt],!(bt<=0));)mt++,bt<<=1;if(wt+=1<<mt,1===$&&wt>852||2===$&&wt>592)return 1;ct=vt&dt,nt[ct]=Et<<24|mt<<16|It-it|0}}return 0!==vt&&(nt[It+vt]=pt-Qt<<24|64<<16|0),rt.bits=Et,0};const{Z_FINISH:fe,Z_BLOCK:ye,Z_TREES:Ce,Z_OK:Be,Z_STREAM_END:Ee,Z_NEED_DICT:me,Z_STREAM_ERROR:Qe,Z_DATA_ERROR:be,Z_MEM_ERROR:we,Z_BUF_ERROR:ve,Z_DEFLATED:Me}=mt,zswap32=$=>($>>>24&255)+($>>>8&65280)+((65280&$)<<8)+((255&$)<<24);function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const inflateResetKeep=$=>{if(!$||!$.state)return Qe;const tt=$.state;return $.total_in=$.total_out=tt.total=0,$.msg="",tt.wrap&&($.adler=1&tt.wrap),tt.mode=1,tt.last=0,tt.havedict=0,tt.dmax=32768,tt.head=null,tt.hold=0,tt.bits=0,tt.lencode=tt.lendyn=new Int32Array(852),tt.distcode=tt.distdyn=new Int32Array(592),tt.sane=1,tt.back=-1,Be},inflateReset=$=>{if(!$||!$.state)return Qe;const tt=$.state;return tt.wsize=0,tt.whave=0,tt.wnext=0,inflateResetKeep($)},inflateReset2=($,tt)=>{let et;if(!$||!$.state)return Qe;const At=$.state;return tt<0?(et=0,tt=-tt):(et=1+(tt>>4),tt<48&&(tt&=15)),tt&&(tt<8||tt>15)?Qe:(null!==At.window&&At.wbits!==tt&&(At.window=null),At.wrap=et,At.wbits=tt,inflateReset($))},inflateInit2=($,tt)=>{if(!$)return Qe;const et=new InflateState;$.state=et,et.window=null;const At=inflateReset2($,tt);return At!==Be&&($.state=null),At};let De,Se,ke=!0;const fixedtables=$=>{if(ke){De=new Int32Array(512),Se=new Int32Array(32);let tt=0;for(;tt<144;)$.lens[tt++]=8;for(;tt<256;)$.lens[tt++]=9;for(;tt<280;)$.lens[tt++]=7;for(;tt<288;)$.lens[tt++]=8;for(inftrees(1,$.lens,0,288,De,0,$.work,{bits:9}),tt=0;tt<32;)$.lens[tt++]=5;inftrees(2,$.lens,0,32,Se,0,$.work,{bits:5}),ke=!1}$.lencode=De,$.lenbits=9,$.distcode=Se,$.distbits=5},updatewindow=($,tt,et,At)=>{let nt;const it=$.state;return null===it.window&&(it.wsize=1<<it.wbits,it.wnext=0,it.whave=0,it.window=new Uint8Array(it.wsize)),At>=it.wsize?(it.window.set(tt.subarray(et-it.wsize,et),0),it.wnext=0,it.whave=it.wsize):(nt=it.wsize-it.wnext,nt>At&&(nt=At),it.window.set(tt.subarray(et-At,et-At+nt),it.wnext),(At-=nt)?(it.window.set(tt.subarray(et-At,et),0),it.wnext=At,it.whave=it.wsize):(it.wnext+=nt,it.wnext===it.wsize&&(it.wnext=0),it.whave<it.wsize&&(it.whave+=nt))),0};var _e={inflateReset:inflateReset,inflateReset2:inflateReset2,inflateResetKeep:inflateResetKeep,inflateInit:$=>inflateInit2($,15),inflateInit2:inflateInit2,inflate:($,tt)=>{let et,At,nt,it,at,rt,st,ot,ut,ct,dt,It,ht,pt,yt,Ct,Bt,Et,mt,Qt,bt,wt,vt=0;const Mt=new Uint8Array(4);let Dt,St;const kt=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!$||!$.state||!$.output||!$.input&&0!==$.avail_in)return Qe;et=$.state,12===et.mode&&(et.mode=13),at=$.next_out,nt=$.output,st=$.avail_out,it=$.next_in,At=$.input,rt=$.avail_in,ot=et.hold,ut=et.bits,ct=rt,dt=st,wt=Be;t:for(;;)switch(et.mode){case 1:if(0===et.wrap){et.mode=13;break}for(;ut<16;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(2&et.wrap&&35615===ot){et.check=0,Mt[0]=255&ot,Mt[1]=ot>>>8&255,et.check=crc32_1(et.check,Mt,2,0),ot=0,ut=0,et.mode=2;break}if(et.flags=0,et.head&&(et.head.done=!1),!(1&et.wrap)||(((255&ot)<<8)+(ot>>8))%31){$.msg="incorrect header check",et.mode=30;break}if((15&ot)!==Me){$.msg="unknown compression method",et.mode=30;break}if(ot>>>=4,ut-=4,bt=8+(15&ot),0===et.wbits)et.wbits=bt;else if(bt>et.wbits){$.msg="invalid window size",et.mode=30;break}et.dmax=1<<et.wbits,$.adler=et.check=1,et.mode=512&ot?10:12,ot=0,ut=0;break;case 2:for(;ut<16;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(et.flags=ot,(255&et.flags)!==Me){$.msg="unknown compression method",et.mode=30;break}if(57344&et.flags){$.msg="unknown header flags set",et.mode=30;break}et.head&&(et.head.text=ot>>8&1),512&et.flags&&(Mt[0]=255&ot,Mt[1]=ot>>>8&255,et.check=crc32_1(et.check,Mt,2,0)),ot=0,ut=0,et.mode=3;case 3:for(;ut<32;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}et.head&&(et.head.time=ot),512&et.flags&&(Mt[0]=255&ot,Mt[1]=ot>>>8&255,Mt[2]=ot>>>16&255,Mt[3]=ot>>>24&255,et.check=crc32_1(et.check,Mt,4,0)),ot=0,ut=0,et.mode=4;case 4:for(;ut<16;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}et.head&&(et.head.xflags=255&ot,et.head.os=ot>>8),512&et.flags&&(Mt[0]=255&ot,Mt[1]=ot>>>8&255,et.check=crc32_1(et.check,Mt,2,0)),ot=0,ut=0,et.mode=5;case 5:if(1024&et.flags){for(;ut<16;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}et.length=ot,et.head&&(et.head.extra_len=ot),512&et.flags&&(Mt[0]=255&ot,Mt[1]=ot>>>8&255,et.check=crc32_1(et.check,Mt,2,0)),ot=0,ut=0}else et.head&&(et.head.extra=null);et.mode=6;case 6:if(1024&et.flags&&(It=et.length,It>rt&&(It=rt),It&&(et.head&&(bt=et.head.extra_len-et.length,et.head.extra||(et.head.extra=new Uint8Array(et.head.extra_len)),et.head.extra.set(At.subarray(it,it+It),bt)),512&et.flags&&(et.check=crc32_1(et.check,At,It,it)),rt-=It,it+=It,et.length-=It),et.length))break t;et.length=0,et.mode=7;case 7:if(2048&et.flags){if(0===rt)break t;It=0;do{bt=At[it+It++],et.head&&bt&&et.length<65536&&(et.head.name+=String.fromCharCode(bt))}while(bt&&It<rt);if(512&et.flags&&(et.check=crc32_1(et.check,At,It,it)),rt-=It,it+=It,bt)break t}else et.head&&(et.head.name=null);et.length=0,et.mode=8;case 8:if(4096&et.flags){if(0===rt)break t;It=0;do{bt=At[it+It++],et.head&&bt&&et.length<65536&&(et.head.comment+=String.fromCharCode(bt))}while(bt&&It<rt);if(512&et.flags&&(et.check=crc32_1(et.check,At,It,it)),rt-=It,it+=It,bt)break t}else et.head&&(et.head.comment=null);et.mode=9;case 9:if(512&et.flags){for(;ut<16;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(ot!==(65535&et.check)){$.msg="header crc mismatch",et.mode=30;break}ot=0,ut=0}et.head&&(et.head.hcrc=et.flags>>9&1,et.head.done=!0),$.adler=et.check=0,et.mode=12;break;case 10:for(;ut<32;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}$.adler=et.check=zswap32(ot),ot=0,ut=0,et.mode=11;case 11:if(0===et.havedict)return $.next_out=at,$.avail_out=st,$.next_in=it,$.avail_in=rt,et.hold=ot,et.bits=ut,me;$.adler=et.check=1,et.mode=12;case 12:if(tt===ye||tt===Ce)break t;case 13:if(et.last){ot>>>=7&ut,ut-=7&ut,et.mode=27;break}for(;ut<3;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}switch(et.last=1&ot,ot>>>=1,ut-=1,3&ot){case 0:et.mode=14;break;case 1:if(fixedtables(et),et.mode=20,tt===Ce){ot>>>=2,ut-=2;break t}break;case 2:et.mode=17;break;case 3:$.msg="invalid block type",et.mode=30}ot>>>=2,ut-=2;break;case 14:for(ot>>>=7&ut,ut-=7&ut;ut<32;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if((65535&ot)!=(ot>>>16^65535)){$.msg="invalid stored block lengths",et.mode=30;break}if(et.length=65535&ot,ot=0,ut=0,et.mode=15,tt===Ce)break t;case 15:et.mode=16;case 16:if(It=et.length,It){if(It>rt&&(It=rt),It>st&&(It=st),0===It)break t;nt.set(At.subarray(it,it+It),at),rt-=It,it+=It,st-=It,at+=It,et.length-=It;break}et.mode=12;break;case 17:for(;ut<14;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(et.nlen=257+(31&ot),ot>>>=5,ut-=5,et.ndist=1+(31&ot),ot>>>=5,ut-=5,et.ncode=4+(15&ot),ot>>>=4,ut-=4,et.nlen>286||et.ndist>30){$.msg="too many length or distance symbols",et.mode=30;break}et.have=0,et.mode=18;case 18:for(;et.have<et.ncode;){for(;ut<3;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}et.lens[kt[et.have++]]=7&ot,ot>>>=3,ut-=3}for(;et.have<19;)et.lens[kt[et.have++]]=0;if(et.lencode=et.lendyn,et.lenbits=7,Dt={bits:et.lenbits},wt=inftrees(0,et.lens,0,19,et.lencode,0,et.work,Dt),et.lenbits=Dt.bits,wt){$.msg="invalid code lengths set",et.mode=30;break}et.have=0,et.mode=19;case 19:for(;et.have<et.nlen+et.ndist;){for(;vt=et.lencode[ot&(1<<et.lenbits)-1],yt=vt>>>24,Ct=vt>>>16&255,Bt=65535&vt,!(yt<=ut);){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(Bt<16)ot>>>=yt,ut-=yt,et.lens[et.have++]=Bt;else{if(16===Bt){for(St=yt+2;ut<St;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(ot>>>=yt,ut-=yt,0===et.have){$.msg="invalid bit length repeat",et.mode=30;break}bt=et.lens[et.have-1],It=3+(3&ot),ot>>>=2,ut-=2}else if(17===Bt){for(St=yt+3;ut<St;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}ot>>>=yt,ut-=yt,bt=0,It=3+(7&ot),ot>>>=3,ut-=3}else{for(St=yt+7;ut<St;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}ot>>>=yt,ut-=yt,bt=0,It=11+(127&ot),ot>>>=7,ut-=7}if(et.have+It>et.nlen+et.ndist){$.msg="invalid bit length repeat",et.mode=30;break}for(;It--;)et.lens[et.have++]=bt}}if(30===et.mode)break;if(0===et.lens[256]){$.msg="invalid code -- missing end-of-block",et.mode=30;break}if(et.lenbits=9,Dt={bits:et.lenbits},wt=inftrees(1,et.lens,0,et.nlen,et.lencode,0,et.work,Dt),et.lenbits=Dt.bits,wt){$.msg="invalid literal/lengths set",et.mode=30;break}if(et.distbits=6,et.distcode=et.distdyn,Dt={bits:et.distbits},wt=inftrees(2,et.lens,et.nlen,et.ndist,et.distcode,0,et.work,Dt),et.distbits=Dt.bits,wt){$.msg="invalid distances set",et.mode=30;break}if(et.mode=20,tt===Ce)break t;case 20:et.mode=21;case 21:if(rt>=6&&st>=258){$.next_out=at,$.avail_out=st,$.next_in=it,$.avail_in=rt,et.hold=ot,et.bits=ut,de($,dt),at=$.next_out,nt=$.output,st=$.avail_out,it=$.next_in,At=$.input,rt=$.avail_in,ot=et.hold,ut=et.bits,12===et.mode&&(et.back=-1);break}for(et.back=0;vt=et.lencode[ot&(1<<et.lenbits)-1],yt=vt>>>24,Ct=vt>>>16&255,Bt=65535&vt,!(yt<=ut);){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(Ct&&0==(240&Ct)){for(Et=yt,mt=Ct,Qt=Bt;vt=et.lencode[Qt+((ot&(1<<Et+mt)-1)>>Et)],yt=vt>>>24,Ct=vt>>>16&255,Bt=65535&vt,!(Et+yt<=ut);){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}ot>>>=Et,ut-=Et,et.back+=Et}if(ot>>>=yt,ut-=yt,et.back+=yt,et.length=Bt,0===Ct){et.mode=26;break}if(32&Ct){et.back=-1,et.mode=12;break}if(64&Ct){$.msg="invalid literal/length code",et.mode=30;break}et.extra=15&Ct,et.mode=22;case 22:if(et.extra){for(St=et.extra;ut<St;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}et.length+=ot&(1<<et.extra)-1,ot>>>=et.extra,ut-=et.extra,et.back+=et.extra}et.was=et.length,et.mode=23;case 23:for(;vt=et.distcode[ot&(1<<et.distbits)-1],yt=vt>>>24,Ct=vt>>>16&255,Bt=65535&vt,!(yt<=ut);){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(0==(240&Ct)){for(Et=yt,mt=Ct,Qt=Bt;vt=et.distcode[Qt+((ot&(1<<Et+mt)-1)>>Et)],yt=vt>>>24,Ct=vt>>>16&255,Bt=65535&vt,!(Et+yt<=ut);){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}ot>>>=Et,ut-=Et,et.back+=Et}if(ot>>>=yt,ut-=yt,et.back+=yt,64&Ct){$.msg="invalid distance code",et.mode=30;break}et.offset=Bt,et.extra=15&Ct,et.mode=24;case 24:if(et.extra){for(St=et.extra;ut<St;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}et.offset+=ot&(1<<et.extra)-1,ot>>>=et.extra,ut-=et.extra,et.back+=et.extra}if(et.offset>et.dmax){$.msg="invalid distance too far back",et.mode=30;break}et.mode=25;case 25:if(0===st)break t;if(It=dt-st,et.offset>It){if(It=et.offset-It,It>et.whave&&et.sane){$.msg="invalid distance too far back",et.mode=30;break}It>et.wnext?(It-=et.wnext,ht=et.wsize-It):ht=et.wnext-It,It>et.length&&(It=et.length),pt=et.window}else pt=nt,ht=at-et.offset,It=et.length;It>st&&(It=st),st-=It,et.length-=It;do{nt[at++]=pt[ht++]}while(--It);0===et.length&&(et.mode=21);break;case 26:if(0===st)break t;nt[at++]=et.length,st--,et.mode=21;break;case 27:if(et.wrap){for(;ut<32;){if(0===rt)break t;rt--,ot|=At[it++]<<ut,ut+=8}if(dt-=st,$.total_out+=dt,et.total+=dt,dt&&($.adler=et.check=et.flags?crc32_1(et.check,nt,dt,at-dt):adler32_1(et.check,nt,dt,at-dt)),dt=st,(et.flags?ot:zswap32(ot))!==et.check){$.msg="incorrect data check",et.mode=30;break}ot=0,ut=0}et.mode=28;case 28:if(et.wrap&&et.flags){for(;ut<32;){if(0===rt)break t;rt--,ot+=At[it++]<<ut,ut+=8}if(ot!==(4294967295&et.total)){$.msg="incorrect length check",et.mode=30;break}ot=0,ut=0}et.mode=29;case 29:wt=Ee;break t;case 30:wt=be;break t;case 31:return we;case 32:default:return Qe}return $.next_out=at,$.avail_out=st,$.next_in=it,$.avail_in=rt,et.hold=ot,et.bits=ut,(et.wsize||dt!==$.avail_out&&et.mode<30&&(et.mode<27||tt!==fe))&&updatewindow($,$.output,$.next_out,dt-$.avail_out),ct-=$.avail_in,dt-=$.avail_out,$.total_in+=ct,$.total_out+=dt,et.total+=dt,et.wrap&&dt&&($.adler=et.check=et.flags?crc32_1(et.check,nt,dt,$.next_out-dt):adler32_1(et.check,nt,dt,$.next_out-dt)),$.data_type=et.bits+(et.last?64:0)+(12===et.mode?128:0)+(20===et.mode||15===et.mode?256:0),(0===ct&&0===dt||tt===fe)&&wt===Be&&(wt=ve),wt},inflateEnd:$=>{if(!$||!$.state)return Qe;let tt=$.state;return tt.window&&(tt.window=null),$.state=null,Be},inflateGetHeader:($,tt)=>{if(!$||!$.state)return Qe;const et=$.state;return 0==(2&et.wrap)?Qe:(et.head=tt,tt.done=!1,Be)},inflateSetDictionary:($,tt)=>{const et=tt.length;let At,nt,it;return $&&$.state?(At=$.state,0!==At.wrap&&11!==At.mode?Qe:11===At.mode&&(nt=1,nt=adler32_1(nt,tt,et,0),nt!==At.check)?be:(it=updatewindow($,tt,et,et),it?(At.mode=31,we):(At.havedict=1,Be))):Qe},inflateInfo:"pako inflate (from Nodeca project)"};var Re=function GZheader(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Ne=Object.prototype.toString,{Z_NO_FLUSH:He,Z_FINISH:Fe,Z_OK:Ge,Z_STREAM_END:Ue,Z_NEED_DICT:xe,Z_STREAM_ERROR:Le,Z_DATA_ERROR:Te,Z_MEM_ERROR:Ye}=mt;function Inflate($){this.options=common_assign({chunkSize:65536,windowBits:15,to:""},$||{});const tt=this.options;tt.raw&&tt.windowBits>=0&&tt.windowBits<16&&(tt.windowBits=-tt.windowBits,0===tt.windowBits&&(tt.windowBits=-15)),!(tt.windowBits>=0&&tt.windowBits<16)||$&&$.windowBits||(tt.windowBits+=32),tt.windowBits>15&&tt.windowBits<48&&0==(15&tt.windowBits)&&(tt.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Vt,this.strm.avail_out=0;let et=_e.inflateInit2(this.strm,tt.windowBits);if(et!==Ge)throw new Error(Et[et]);if(this.header=new Re,_e.inflateGetHeader(this.strm,this.header),tt.dictionary&&("string"==typeof tt.dictionary?tt.dictionary=strings_string2buf(tt.dictionary):"[object ArrayBuffer]"===Ne.call(tt.dictionary)&&(tt.dictionary=new Uint8Array(tt.dictionary)),tt.raw&&(et=_e.inflateSetDictionary(this.strm,tt.dictionary),et!==Ge)))throw new Error(Et[et])}function inflate$1($,tt){const et=new Inflate(tt);if(et.push($),et.err)throw et.msg||Et[et.err];return et.result}Inflate.prototype.push=function($,tt){const et=this.strm,At=this.options.chunkSize,nt=this.options.dictionary;let it,at,rt;if(this.ended)return!1;for(at=tt===~~tt?tt:!0===tt?Fe:He,"[object ArrayBuffer]"===Ne.call($)?et.input=new Uint8Array($):et.input=$,et.next_in=0,et.avail_in=et.input.length;;){for(0===et.avail_out&&(et.output=new Uint8Array(At),et.next_out=0,et.avail_out=At),it=_e.inflate(et,at),it===xe&&nt&&(it=_e.inflateSetDictionary(et,nt),it===Ge?it=_e.inflate(et,at):it===Te&&(it=xe));et.avail_in>0&&it===Ue&&et.state.wrap>0&&0!==$[et.next_in];)_e.inflateReset(et),it=_e.inflate(et,at);switch(it){case Le:case Te:case xe:case Ye:return this.onEnd(it),this.ended=!0,!1}if(rt=et.avail_out,et.next_out&&(0===et.avail_out||it===Ue))if("string"===this.options.to){let $=strings_utf8border(et.output,et.next_out),tt=et.next_out-$,nt=strings_buf2string(et.output,$);et.next_out=tt,et.avail_out=At-tt,tt&&et.output.set(et.output.subarray($,$+tt),0),this.onData(nt)}else this.onData(et.output.length===et.next_out?et.output:et.output.subarray(0,et.next_out));if(it!==Ge||0!==rt){if(it===Ue)return it=_e.inflateEnd(this.strm),this.onEnd(it),this.ended=!0,!0;if(0===et.avail_in)break}}return!0},Inflate.prototype.onData=function($){this.chunks.push($)},Inflate.prototype.onEnd=function($){$===Ge&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=common_flattenChunks(this.chunks)),this.chunks=[],this.err=$,this.msg=this.strm.msg};var Oe={Inflate:Inflate,inflate:inflate$1,inflateRaw:function inflateRaw($,tt){return(tt=tt||{}).raw=!0,inflate$1($,tt)},ungzip:inflate$1,constants:mt};const{Deflate:Ke,deflate:Pe,deflateRaw:qe,gzip:je}=ge,{Inflate:Je,inflate:ze,inflateRaw:Ze,ungzip:Ve}=Oe;var We=Ke,Xe=Pe,$e=qe,AA=je,uA=Je,dA=ze,pA=Ze,lA=Ve,fA=mt,mA={Deflate:We,deflate:Xe,deflateRaw:$e,gzip:AA,Inflate:uA,inflate:dA,inflateRaw:pA,ungzip:lA,constants:fA};tt.default=mA},function($,tt,et){const{ValidatePresence:At,ValidateLibrary:nt,ValidateObject:it,ValidateAddress:at}=et(185);tt.ListAccessGroups=async function(){const $=(await this.Collection({collectionType:"accessGroups"})).map($=>this.utils.FormatAddress($));return(await this.utils.LimitedMap(5,$,async $=>{const tt=this.utils.AddressToHash($);return{address:$,id:`igrp${tt}`,meta:await this.ContentObjectMetadata({libraryId:this.contentSpaceLibraryId,objectId:`iq__${tt}`})||{}}})).sort(($,tt)=>(($.meta.public||{}).name||`zz__${$.address}`)<((tt.meta.public||{}).name||`zz__${tt.address}`)?-1:1)},tt.SetGroupPermission=async function({groupAddress:$,objectId:tt,permission:et,remove:At=!1}){const nt=await this.authClient.ContractInfo({address:$}),it=await this.authClient.ContractInfo({id:tt});if(0===Object.keys(nt).length)throw Error(`No information returned for group address ${$}`);let at;if(it.isV3||it.accessType!==this.authClient.ACCESS_TYPES.GROUP)at=await this.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress(tt),methodName:"setRights",methodArgs:[$,"manage"===et?2:"access"===et?1:0,"none"===et||At?0:2]});else{if(nt.isV3)throw Error("Unable to map V3 group to V2 object");at=await this.CallContractMethodAndWait({contractAddress:$,methodName:"setAccessGroupRights",methodArgs:[this.utils.HashToAddress(tt),"manage"===et?2:"access"===et?1:0,"none"===et||At?0:2]})}return await this.ExtractEventFromLogs({abi:nt.abi,event:at,eventName:"RightsChanged"})},tt.AccessGroupOwner=async function({contractAddress:$}){return $=at($),this.Log(`Retrieving owner of access group ${$}`),await this.authClient.Owner({address:$})},tt.AccessGroupMembers=async function({contractAddress:$}){$=at($),this.Log(`Retrieving members for group ${$}`);const tt=(await this.CallContractMethod({contractAddress:$,methodName:"membersNum"})).toNumber();return await Promise.all([...Array(tt)].map(async(tt,et)=>this.utils.FormatAddress(await this.CallContractMethod({contractAddress:$,methodName:"membersList",methodArgs:[et]}))))},tt.AccessGroupManagers=async function({contractAddress:$}){$=at($),this.Log(`Retrieving managers for group ${$}`);const tt=(await this.CallContractMethod({contractAddress:$,methodName:"managersNum"})).toNumber();return await Promise.all([...Array(tt)].map(async(tt,et)=>this.utils.FormatAddress(await this.CallContractMethod({contractAddress:$,methodName:"managersList",methodArgs:[et]}))))},tt.CreateAccessGroup=async function({name:$,description:tt,metadata:et={}}={}){this.Log(`Creating access group: ${$||""} ${tt||""}`);let{contractAddress:At}=await this.authClient.CreateAccessGroup();At=this.utils.FormatAddress(At);const nt=this.utils.AddressToObjectId(At);this.Log(`Access group: ${At} ${nt}`);const it=await this.EditContentObject({libraryId:this.contentSpaceLibraryId,objectId:nt});return await this.ReplaceMetadata({libraryId:this.contentSpaceLibraryId,objectId:nt,writeToken:it.write_token,metadata:{public:{name:$,description:tt},name:$,description:tt,...et}}),await this.FinalizeContentObject({libraryId:this.contentSpaceLibraryId,objectId:nt,writeToken:it.write_token,commitMessage:"Create access group"}),At},tt.DeleteAccessGroup=async function({contractAddress:$}){throw Error("Not supported")},tt.AccessGroupMembershipMethod=async function({contractAddress:$,memberAddress:tt,methodName:et,eventName:At}){if($=at($),tt=at(tt),!this.utils.EqualAddress(this.signer.address,tt)){if(!await this.CallContractMethod({contractAddress:$,methodName:"hasManagerAccess",methodArgs:[this.utils.FormatAddress(this.signer.address)]}))throw Error("Manager access required")}this.Log(`Calling ${et} on group ${$} for user ${tt}`);const nt=await this.CallContractMethodAndWait({contractAddress:$,methodName:et,methodArgs:[tt],eventName:At,eventValue:"candidate"}),it=await this.ContractAbi({contractAddress:$}),rt=this.ExtractValueFromEvent({abi:it,event:nt,eventName:At,eventValue:"candidate"});if(this.utils.FormatAddress(rt)!==this.utils.FormatAddress(tt))throw console.error("Mismatch: "+rt+" :: "+tt),console.error("Is target user address wallet created?"),Error("Access group method "+et+" failed. Is target user address wallet created?");return nt.transactionHash},tt.AddAccessGroupMember=async function({contractAddress:$,memberAddress:tt}){return $=at($),tt=at(tt),await this.AccessGroupMembershipMethod({contractAddress:$,memberAddress:tt,methodName:"grantAccess",eventName:"MemberAdded"})},tt.RemoveAccessGroupMember=async function({contractAddress:$,memberAddress:tt}){return $=at($),tt=at(tt),await this.AccessGroupMembershipMethod({contractAddress:$,memberAddress:tt,methodName:"revokeAccess",eventName:"MemberRevoked"})},tt.AddAccessGroupManager=async function({contractAddress:$,memberAddress:tt}){return $=at($),tt=at(tt),await this.AccessGroupMembershipMethod({contractAddress:$,memberAddress:tt,methodName:"grantManagerAccess",eventName:"ManagerAccessGranted"})},tt.RemoveAccessGroupManager=async function({contractAddress:$,memberAddress:tt}){return $=at($),tt=at(tt),await this.AccessGroupMembershipMethod({contractAddress:$,memberAddress:tt,methodName:"revokeManagerAccess",eventName:"ManagerAccessRevoked"})},tt.ContentLibraryGroupPermissions=async function({libraryId:$,permissions:tt=[]}){nt($);let et={};return tt=tt&&0!==tt.length?tt.map($=>{if($=$.toLowerCase(),!["accessor","contributor","reviewer"].includes($))throw Error(`Invalid permission: ${$}`);return $}):["accessor","contributor","reviewer"],this.Log(`Retrieving ${tt.join(", ")} group(s) for library ${$}`),await Promise.all(tt.map(async tt=>{let At=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:tt+"GroupsLength"});At=parseInt(At._hex,16),(await this.utils.LimitedMap(3,[...Array(At).keys()],async et=>{try{return this.utils.FormatAddress(await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:tt+"Groups",methodArgs:[et]}))}catch($){console.error($)}})).forEach($=>et[$]=[...et[$]||[],tt].sort())})),et},tt.AddContentLibraryGroup=async function({libraryId:$,groupAddress:tt,permission:et}){if(nt($),tt=at(tt),!["accessor","contributor","reviewer"].includes(et.toLowerCase()))throw Error(`Invalid group type: ${et}`);if(this.Log(`Adding ${et} group ${tt} to library ${$}`),(await this.ContentLibraryGroupPermissions({libraryId:$,permissions:[et]}))[tt])return;et=et.charAt(0).toUpperCase()+et.substr(1).toLowerCase();const At=await this.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:`add${et}Group`,methodArgs:[tt]}),it=await this.ContractAbi({id:$});await this.ExtractEventFromLogs({abi:it,event:At,eventName:`${et}GroupAdded`})},tt.RemoveContentLibraryGroup=async function({libraryId:$,groupAddress:tt,permission:et}){if(nt($),tt=at(tt),!["accessor","contributor","reviewer"].includes(et.toLowerCase()))throw Error(`Invalid group type: ${et}`);if(this.Log(`Removing ${et} group ${tt} from library ${$}`),!(await this.ContentLibraryGroupPermissions({libraryId:$,permissions:[et]}))[tt])return;et=et.charAt(0).toUpperCase()+et.substr(1).toLowerCase();const At=await this.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:`remove${et}Group`,methodArgs:[tt]}),it=await this.ContractAbi({id:$});await this.ExtractEventFromLogs({abi:it,event:At,eventName:`${et}GroupRemoved`})},tt.ContentObjectGroupPermissions=async function({objectId:$}){it($),this.Log(`Retrieving group permissions for object ${$}`);const tt=this.utils.HashToAddress($),et=await this.Collection({collectionType:"accessGroups"});let At;switch(await this.AccessType({id:$})){case this.authClient.ACCESS_TYPES.OBJECT:At="getContentObjectRights";break;case this.authClient.ACCESS_TYPES.TYPE:At="getContentTypeRights";break;case this.authClient.ACCESS_TYPES.GROUP:At="getAccessGroupRights";break;case this.authClient.ACCESS_TYPES.LIBRARY:At="getLibraryRights"}const nt={};return await Promise.all(et.map(async $=>{try{$=this.utils.FormatAddress($);let et=await this.CallContractMethod({contractAddress:$,methodName:At,methodArgs:[tt]});if(0===et)return;let it=[];et>=100&&it.push("manage"),et%100>=10&&it.push("access"),et%10>0&&it.push("see"),nt[$]=it}catch(tt){this.Log(`Failed to retrieve group permissions for ${$}`,!0),this.Log(tt,!0)}})),nt},tt.AddContentObjectGroupPermission=async function({objectId:$,groupAddress:tt,permission:et}){if(At("permission",et),it($),tt=at(tt),this.utils.EqualAddress(tt,this.utils.HashToAddress($)))throw Error("Group rights cannot be set on the same group");if(et=et.toLowerCase(),!["see","access","manage"].includes(et))throw Error(`Invalid permission type: ${et}`);return this.Log(`Adding ${et} permission to group ${tt} for ${$}`),await this.SetGroupPermission({groupAddress:tt,objectId:$,permission:et})},tt.RemoveContentObjectGroupPermission=async function({objectId:$,groupAddress:tt,permission:et}){if(At("permission",et),it($),tt=at(tt),et=et.toLowerCase(),!["see","access","manage"].includes(et))throw Error(`Invalid permission type: ${et}`);return this.Log(`Removing ${et} permission from group ${tt} for ${$}`),await this.SetGroupPermission({groupAddress:tt,objectId:$,permission:et,remove:!0})},tt.LinkAccessGroupToOauth=async function({groupAddress:$,kmsId:tt,oauthConfig:et}){at($),At("kmsId",tt),At("oauthConfig",et),"string"==typeof et&&(et=JSON.parse(et));const{publicKey:nt}=await this.authClient.KMSInfo({kmsId:tt}),it=`eluv.jwtv.${tt}`,rt=await this.Crypto.EncryptConk(et,nt),st=`eluv.jwtv.iusr${this.utils.AddressToHash(this.signer.address)}`,ot=await this.EncryptECIES({message:et}),ut=this.utils.AddressToObjectId($),ct=(await this.EditContentObject({libraryId:this.contentSpaceLibraryId,objectId:ut})).write_token;await this.ReplaceMetadata({libraryId:this.contentSpaceLibraryId,objectId:ut,writeToken:ct,metadataSubtree:it,metadata:rt}),await this.ReplaceMetadata({libraryId:this.contentSpaceLibraryId,objectId:ut,writeToken:ct,metadataSubtree:st,metadata:ot}),await this.FinalizeContentObject({libraryId:this.contentSpaceLibraryId,objectId:ut,writeToken:ct,commitMessage:"Bind access group to OAuth"}),await this.CallContractMethodAndWait({contractAddress:$,methodName:"setOAuthEnabled",methodArgs:[!1]}),await this.CallContractMethodAndWait({contractAddress:$,methodName:"setOAuthEnabled",methodArgs:[!0]})},tt.UnlinkAccessGroupFromOauth=async function({groupAddress:$}){at($),await this.CallContractMethodAndWait({contractAddress:$,methodName:"setOAuthEnabled",methodArgs:[!1]})}},function($,tt,et){(function($){const At=et(187),{ValidateAddress:nt,ValidateParameters:it,ValidatePresence:at}=et(185);tt.ContractName=async function({contractAddress:$}){return $=nt($),await this.ethClient.ContractName($)},tt.ContractAbi=async function({contractAddress:$,id:tt}){const et=await this.authClient.ContractInfo({address:$,id:tt});if(!et)throw Error(`Unable to determine contract info for ${$}`);return et.abi},tt.FormatContractArguments=function({abi:$,methodName:tt,args:et}){return this.ethClient.FormatContractArguments({abi:$,methodName:tt,args:et})},tt.DeployContract=async function({abi:$,bytecode:tt,constructorArgs:et,overrides:At={}}){return await this.ethClient.DeployContract({abi:$,bytecode:tt,constructorArgs:et,overrides:At,signer:this.signer})},tt.ContractEvents=async function({contractAddress:$,abi:tt,fromBlock:et=0,toBlock:At,count:it=1e3,topics:at,includeTransaction:rt=!1}){$=nt($),tt||(tt=await this.ContractAbi({contractAddress:$}));const st=await this.FormatBlockNumbers({fromBlock:et,toBlock:At,count:it});return this.Log(`Querying contract events ${$} - Blocks ${st.fromBlock} to ${st.toBlock}`),await this.ethClient.ContractEvents({contractAddress:$,abi:tt,fromBlock:st.fromBlock,toBlock:st.toBlock,topics:at,includeTransaction:rt})},tt.CallContractMethod=async function({contractAddress:$,abi:tt,methodName:et,methodArgs:At=[],value:it,overrides:at={},formatArguments:rt=!0,cacheContract:st=!0,overrideCachedContract:ot=!1}){return $=nt($),$=this.utils.FormatAddress($),"setVisibility"===et&&this.visibilityInfo[$]&&delete this.visibilityInfo[$],tt||(tt=await this.ContractAbi({contractAddress:$})),await this.ethClient.CallContractMethod({contractAddress:$,abi:tt,methodName:et,methodArgs:At,value:it,overrides:at,formatArguments:rt,cacheContract:st,overrideCachedContract:ot})},tt.CallContractMethodAndWait=async function({contractAddress:$,abi:tt,methodName:et,methodArgs:At,value:it,overrides:at={},formatArguments:rt=!0,cacheContract:st=!0,overrideCachedContract:ot=!1}){return $=nt($),$=this.utils.FormatAddress($),"setVisibility"===et&&this.visibilityInfo[$]&&delete this.visibilityInfo[$],tt||(tt=await this.ContractAbi({contractAddress:$})),await this.ethClient.CallContractMethodAndWait({contractAddress:$,abi:tt,methodName:et,methodArgs:At,value:it,overrides:at,formatArguments:rt,cacheContract:st,overrideCachedContract:ot})},tt.ContractMetadata=async function({contractAddress:tt,metadataKey:et}){at("contractAddress",tt),at("metadataKey",et);try{const At=await this.CallContractMethod({contractAddress:tt,methodName:"getMeta",methodArgs:[et]}),nt=$.from((At||"").replace("0x",""),"hex").toString("utf-8");try{return JSON.parse(nt)}catch($){return nt}}catch($){return""}},tt.MergeContractMetadata=async function({contractAddress:$,metadataKey:tt,metadata:et}){at("contractAddress",$),at("metadataKey",tt);const At=await this.ContractMetadata({contractAddress:$,metadataKey:tt})||{};"object"==typeof At&&(et={...At,...et}),await this.CallContractMethodAndWait({contractAddress:$,methodName:"putMeta",methodArgs:[tt,JSON.stringify(et)]})},tt.ReplaceContractMetadata=async function({contractAddress:$,metadataKey:tt,metadata:et}){at("contractAddress",$),at("metadataKey",tt),await this.CallContractMethodAndWait({contractAddress:$,methodName:"putMeta",methodArgs:[tt,JSON.stringify(et)]})},tt.CustomContractAddress=async function({libraryId:$,objectId:tt,versionHash:et}){if(it({libraryId:$,objectId:tt,versionHash:et}),et&&(tt=this.utils.DecodeVersionHash(et).objectId),$===this.contentSpaceLibraryId||this.utils.EqualHash($,tt))return;this.Log(`Retrieving custom contract address: ${tt}`);const At=await this.ContractAbi({id:tt}),nt=await this.ethClient.CallContractMethod({contractAddress:this.utils.HashToAddress(tt),abi:At,methodName:"contentContractAddress",methodArgs:[]});return nt!==this.utils.nullAddress?this.utils.FormatAddress(nt):void 0},tt.SetCustomContentContract=async function({libraryId:$,objectId:tt,customContractAddress:et,name:At,description:at,abi:rt,factoryAbi:st,overrides:ot={}}){it({libraryId:$,objectId:tt}),et=nt(et),et=this.utils.FormatAddress(et),this.Log(`Setting custom contract address: ${tt} ${et}`);const ut=await this.ethClient.SetCustomContentContract({contentContractAddress:this.utils.HashToAddress(tt),customContractAddress:et,overrides:ot,signer:this.signer}),ct=(await this.EditContentObject({libraryId:$,objectId:tt})).write_token;return await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:ct,metadataSubtree:"custom_contract",metadata:{name:At,description:at,address:et,abi:rt,factoryAbi:st}}),await this.FinalizeContentObject({libraryId:$,objectId:tt,writeToken:ct,commitMessage:"Set custom contract"}),ut},tt.ExtractEventFromLogs=function({abi:$,event:tt,eventName:et}){return this.ethClient.ExtractEventFromLogs({abi:$,event:tt,eventName:et})},tt.ExtractValueFromEvent=function({abi:$,event:tt,eventName:et,eventValue:At}){const nt=this.ethClient.ExtractEventFromLogs({abi:$,event:tt,eventName:et,eventValue:At});return nt?nt.values[At]:void 0},tt.FormatBlockNumbers=async function({fromBlock:$,toBlock:tt,count:et=10}){const At=await this.BlockNumber();return tt?$||($=tt-et+1):$?tt=$+et-1:$=(tt=At)-et+1,tt>At&&(tt=At),$<0&&($=0),{fromBlock:$,toBlock:tt}},tt.Events=async function({toBlock:$,fromBlock:tt,count:et=10,includeTransaction:At=!1}={}){const nt=await this.FormatBlockNumbers({fromBlock:tt,toBlock:$,count:et});return this.Log(`Querying events - Blocks ${nt.fromBlock} to ${nt.toBlock}`),await this.ethClient.Events({fromBlock:nt.fromBlock,toBlock:nt.toBlock,includeTransaction:At})},tt.BlockNumber=async function(){return await this.ethClient.MakeProviderCall({methodName:"getBlockNumber"})},tt.GetBalance=async function({address:$}){$=nt($);const tt=await this.ethClient.MakeProviderCall({methodName:"getBalance",args:[$]});return At.utils.formatEther(tt)},tt.SendFunds=async function({recipient:$,ether:tt}){$=nt($);const et=await this.signer.sendTransaction({to:$,value:At.utils.parseEther(tt.toString())});return await et.wait()}}).call(this,et(170).Buffer)},function($,tt,et){(function($,At){const nt=et(183);let it;nt.Platform()===nt.PLATFORM_NODE&&($.Response=et(229).Response,it=et(469));const at=et(184),{ValidatePresence:rt,ValidateWriteToken:st,ValidatePartHash:ot,ValidateParameters:ut}=et(185);tt.ListFiles=async function({libraryId:$,objectId:tt,versionHash:et}){ut({libraryId:$,objectId:tt,versionHash:et}),et&&(tt=this.utils.DecodeVersionHash(et).objectId);let At=at("q",et||tt,"meta","files");return this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et}),method:"GET",path:At}))},tt.UploadFilesFromS3=async function({libraryId:$,objectId:tt,writeToken:et,region:nt,bucket:it,fileInfo:at,accessKey:rt,secret:ot,signedUrl:ct,encryption:dt="none",copy:It=!1,callback:ht}){ut({libraryId:$,objectId:tt}),st(et);const pt=/^s3:\/\/([^/]+)\//i;for(let $=0;$<at.length;$++){const tt=at[$].source,et=pt.exec(tt);if(et){if(et[1]!==it)throw Error('Full S3 file path "'+tt+"\" specified, but does not match provided bucket name '"+it+"'");at[$].source=tt.replace(pt,"")}}let yt;if(this.Log(`Uploading files from S3: ${$} ${tt} ${et}`),"cgck"===dt){let nt=await this.EncryptionConk({libraryId:$,objectId:tt,writeToken:et});nt={...nt,secret_key:""},yt=`kp__${this.utils.B58(At.from(JSON.stringify(nt)))}`}let Ct={access_key_id:rt,secret_access_key:ot};ct&&(Ct={signed_url:ct});const Bt={encryption_key:yt,access:{protocol:"s3",platform:"aws",path:it,storage_endpoint:{region:nt},cloud_credentials:Ct}},Et=at.map($=>It?{op:"ingest-copy",path:$.path,encryption:{scheme:"cgck"===dt?"cgck":"none"},ingest:{type:"key",path:$.source}}:{op:"add-reference",path:$.path,reference:{type:"key",path:$.source}}),{id:mt}=await this.CreateFileUploadJob({libraryId:$,objectId:tt,writeToken:et,ops:Et,defaults:Bt});for(;;){await new Promise($=>setTimeout($,1e3));const At=await this.UploadStatus({libraryId:$,objectId:tt,writeToken:et,uploadId:mt});if(At.errors&&At.errors.length>1)throw At.errors.join("\n");if(At.error)throw this.Log(`S3 file upload failed:\n${JSON.stringify(At,null,2)}`),At.error;if("failed"===At.status.toLowerCase())throw"File upload failed";let nt=!1;if(It){if(nt=At.ingest_copy.done,ht){const $=At.ingest_copy.progress;ht({done:nt,uploaded:$.bytes.completed,total:$.bytes.total,uploadedFiles:$.files.completed,totalFiles:$.files.total,fileStatus:$.files.details})}}else if(nt=At.add_reference.done,ht){const $=At.add_reference.progress;ht({done:nt,uploadedFiles:$.completed,totalFiles:$.total})}if(nt)break}},tt.UploadFiles=async function({libraryId:$,objectId:tt,writeToken:et,fileInfo:nt,encryption:at="none",callback:rt}){let ot;ut({libraryId:$,objectId:tt}),st(et),this.Log(`Uploading files: ${$} ${tt} ${et}`),"cgck"===at&&(ot=await this.EncryptionConk({libraryId:$,objectId:tt,writeToken:et}));let ct={},dt={};for(let $=0;$<nt.length;$++){let tt={...nt[$],data:void 0};tt.path=tt.path.replace(/^\/+/,""),"cgck"===at&&(tt.encryption={scheme:"cgck"}),dt[tt.path]=nt[$].data,delete tt.data,tt.type="file",ct[tt.path]={uploaded:0,total:tt.size},nt[$]=tt}this.Log(nt),rt&&rt(ct);const{id:It,jobs:ht}=await this.CreateFileUploadJob({libraryId:$,objectId:tt,writeToken:et,ops:nt,encryption:at});this.Log(`Upload ID: ${It}`),this.Log(ht);let pt=[],yt=0,Ct=0;const UploadJob=async(At,nt)=>{for(;!pt[nt];)await new Promise($=>setTimeout($,500));const it=pt[nt].files;for(let at=0;at<it.length;at++){const st=it[at];await this.UploadFileData({libraryId:$,objectId:tt,writeToken:et,uploadId:It,jobId:At,fileData:st.data}),delete pt[nt].files[at].data,Ct+=st.len,rt&&(ct[st.path]={...ct[st.path],uploaded:ct[st.path].uploaded+st.len},rt(ct))}};(async()=>{for(let nt=0;nt<ht.length;nt++){for(;yt-Ct>104857600;)await new Promise($=>setTimeout($,500));const rt=ht[nt];let st=await this.UploadJobStatus({libraryId:$,objectId:tt,writeToken:et,uploadId:It,jobId:rt});for(let $=0;$<st.files.length;$++){const tt=st.files[$];let et;"number"==typeof dt[tt.path]?(et=At.alloc(tt.len),it.readSync(dt[tt.path],et,0,tt.len,tt.off)):et=dt[tt.path].slice(tt.off,tt.off+tt.len),"cgck"===at&&(et=await this.Crypto.Encrypt(ot,et)),st.files[$].data=et,yt+=tt.len}pt[nt]=st,await new Promise($=>setTimeout($,50))}})();const Bt=Math.min(3,ht.length);let Et=[];for(let $=0;$<Bt;$++){const tt=(new Date).getTime();await UploadJob(ht[$],$);const et=((new Date).getTime()-tt)/1e3,At=pt[$].files.map($=>$.len).reduce(($,tt)=>$+tt,0);Et.push(At/et/1048576)}const mt=Et.reduce(($,tt)=>$+tt,0)/Bt,Qt=Math.min(5,Math.ceil(mt/2));await this.utils.LimitedMap(Qt,ht,async($,tt)=>{tt<Bt||await UploadJob($,tt)})},tt.CreateFileUploadJob=async function({libraryId:$,objectId:tt,writeToken:et,ops:At,defaults:nt={},encryption:it="none"}){ut({libraryId:$,objectId:tt}),st(et),this.Log(`Creating file upload job: ${$} ${tt} ${et}`),this.Log(At),"cgck"===it&&(nt.encryption={scheme:"cgck"});const rt={seq:0,seq_complete:!0,defaults:nt,ops:At},ot=at("q",et,"file_jobs");return this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0,encryption:it}),method:"POST",path:ot,body:rt,failover:!1}))},tt.UploadStatus=async function({libraryId:$,objectId:tt,writeToken:et,uploadId:At}){ut({libraryId:$,objectId:tt}),st(et);const nt=at("q",et,"file_jobs",At);return this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"GET",path:nt,failover:!1}))},tt.UploadJobStatus=async function({libraryId:$,objectId:tt,writeToken:et,uploadId:At,jobId:nt}){ut({libraryId:$,objectId:tt}),st(et);const it=at("q",et,"file_jobs",At,"uploads",nt);return this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"GET",path:it,failover:!1}))},tt.UploadFileData=async function({libraryId:$,objectId:tt,writeToken:et,uploadId:At,jobId:nt,fileData:it}){ut({libraryId:$,objectId:tt}),st(et);let rt=at("q",et,"file_jobs",At,nt);await this.utils.ResponseToJson(this.HttpClient.Request({method:"POST",path:rt,body:it,bodyType:"BINARY",headers:{"Content-type":"application/octet-stream",...await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0})},failover:!1}))},tt.FinalizeUploadJob=async function({libraryId:$,objectId:tt,writeToken:et}){ut({libraryId:$,objectId:tt}),st(et),this.Log(`Finalizing upload job: ${$} ${tt} ${et}`);const At=at("q",et,"files");await this.HttpClient.Request({method:"POST",path:At,bodyType:"BINARY",headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),failover:!1})},tt.CreateFileDirectories=async function({libraryId:$,objectId:tt,writeToken:et,filePaths:At}){ut({libraryId:$,objectId:tt}),st(et),this.Log(`Creating Directories: ${$} ${tt} ${et}`),this.Log(At);const nt=At.map($=>({op:"add",type:"directory",path:$}));await this.CreateFileUploadJob({libraryId:$,objectId:tt,writeToken:et,ops:nt})},tt.DeleteFiles=async function({libraryId:$,objectId:tt,writeToken:et,filePaths:At}){ut({libraryId:$,objectId:tt}),st(et),this.Log(`Deleting Files: ${$} ${tt} ${et}`),this.Log(At);const nt=At.map($=>({op:"del",path:$}));await this.CreateFileUploadJob({libraryId:$,objectId:tt,writeToken:et,ops:nt})},tt.DownloadFile=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:At,filePath:nt,format:it="arrayBuffer",chunked:st=!1,chunkSize:ot,clientSideDecryption:ct=!1,callback:dt}){ut({libraryId:$,objectId:tt,versionHash:et}),rt("filePath",nt),et&&(tt=this.utils.DecodeVersionHash(et).objectId);const It=await this.ContentObjectMetadata({libraryId:$,objectId:tt,versionHash:et,writeToken:At,metadataSubtree:at("files",nt)}),ht=It&&It["."].encryption&&"cgck"===It["."].encryption.scheme,pt=ht?"cgck":void 0,yt=ht&&!ct?at("q",At||et||tt,"rep","files_download",nt):at("q",At||et||tt,"files",nt),Ct=await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et,encryption:pt});Ct.Accept="*/*",ht&&!this.utils.EqualAddress(this.signer.address,await this.ContentObjectOwner({objectId:tt}))&&(Ct["X-Content-Fabric-Decryption-Mode"]="reencrypt"),ht&&!ct&&(Ct["X-Content-Fabric-Decryption-Mode"]="decrypt",ot=Number.MAX_SAFE_INTEGER);const Bt=It["."].size;if(ht&&ct)return await this.DownloadEncrypted({conk:await this.EncryptionConk({libraryId:$,objectId:tt,versionHash:et,download:!0}),downloadPath:yt,bytesTotal:Bt,headers:Ct,callback:dt,format:it,clientSideDecryption:ct,chunked:st});ot||(ot=1e7);try{return await this.Download({downloadPath:yt,bytesTotal:Bt,headers:Ct,callback:dt,format:it,chunked:st,chunkSize:ot})}catch($){if(ht&&!ct)return this.DownloadFile({...arguments[0],clientSideDecryption:!0});throw $}},tt.ContentParts=async function({libraryId:$,objectId:tt,versionHash:et}){ut({libraryId:$,objectId:tt,versionHash:et}),this.Log(`Retrieving parts: ${$} ${tt||et}`),et&&(tt=this.utils.DecodeVersionHash(et).objectId);const At=at("q",et||tt,"parts");return(await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et}),method:"GET",path:At}))).parts},tt.ContentPart=async function({libraryId:$,objectId:tt,versionHash:et,partHash:At}){ut({libraryId:$,objectId:tt,versionHash:et}),ot(At),this.Log(`Retrieving part: ${$} ${tt||et} ${At}`),et&&(tt=this.utils.DecodeVersionHash(et).objectId);let nt=at("q",et||tt,"parts",At);return await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et}),method:"GET",path:nt}))},tt.DownloadPart=async function({libraryId:$,objectId:tt,versionHash:et,writeToken:At,partHash:nt,format:it="arrayBuffer",chunked:rt=!1,chunkSize:st=1e7,callback:ct}){ut({libraryId:$,objectId:tt,versionHash:et}),ot(nt),et&&(tt=this.utils.DecodeVersionHash(et).objectId);const dt=nt.startsWith("hqpe"),It=dt?"cgck":void 0,ht=at("q",At||et||tt,"data",nt);let pt=await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,versionHash:et,encryption:It});const yt=(await this.ContentPart({libraryId:$,objectId:tt,versionHash:et,partHash:nt})).part.size;return dt?(this.utils.EqualAddress(this.signer.address,await this.ContentObjectOwner({objectId:tt}))||(pt["X-Content-Fabric-Decryption-Mode"]="reencrypt"),await this.DownloadEncrypted({conk:await this.EncryptionConk({libraryId:$,objectId:tt,download:!0}),downloadPath:ht,bytesTotal:yt,headers:pt,callback:ct,format:it,chunked:rt})):await this.Download({downloadPath:ht,bytesTotal:yt,headers:pt,callback:ct,format:it,chunked:rt,chunkSize:st})},tt.Download=async function({downloadPath:$,headers:tt,bytesTotal:et,chunked:nt=!1,chunkSize:it=2e6,callback:at,format:rt="arrayBuffer"}){if(nt&&!at)throw Error("No callback specified for chunked download");let st;nt||(st=[]);let ot=0;const ut=Math.ceil(et/it);for(let ct=0;ct<ut;ct++){tt.Range=`bytes=${ot}-${ot+it-1}`;const ut=await this.HttpClient.Request({path:$,headers:tt,method:"GET"});ot=Math.min(ot+it,et),nt?at({bytesFinished:ot,bytesTotal:et,chunk:await this.utils.ResponseToFormat(rt,ut)}):(st.push(At.from(await ut.arrayBuffer())),at&&at({bytesFinished:ot,bytesTotal:et}))}if(!nt)return await this.utils.ResponseToFormat(rt,new Response(At.concat(st)))},tt.DownloadEncrypted=async function({conk:$,downloadPath:tt,bytesTotal:et,headers:nt,callback:it,format:at="arrayBuffer",chunked:rt=!1}){if(rt&&!it)throw Error("No callback specified for chunked download");const st=$.public_key.startsWith("ktpk"),ot=this.Crypto.EncryptedBlockSize(1e6,st);let ut=0;at=at.toLowerCase();let ct=[];const dt=await this.Crypto.OpenDecryptionStream($);dt.on("data",async $=>{if(rt){if("buffer"!==at){const tt=$.buffer.slice($.byteOffset,$.byteOffset+$.byteLength);$="arraybuffer"===at?tt:await this.utils.ResponseToFormat(at,new Response(tt))}it({bytesFinished:ut,bytesTotal:et,chunk:$})}else it&&it({bytesFinished:ut,bytesTotal:et}),ct.push($)});const It=Math.ceil(et/ot);for(let $=0;$<It;$++){nt.Range=`bytes=${ut}-${ut+ot-1}`;const $=await this.HttpClient.Request({headers:nt,method:"GET",path:tt});ut=Math.min(ut+ot,et),dt.write(new Uint8Array(await $.arrayBuffer()))}if(dt.end(),await new Promise($=>dt.on("finish",()=>{$()})),!rt)return await this.utils.ResponseToFormat(at,new Response(At.concat(ct)))},tt.CreatePart=async function({libraryId:$,objectId:tt,writeToken:et,encryption:At}){ut({libraryId:$,objectId:tt}),st(et);const nt=at("q",et,"parts");return(await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0,encryption:At}),method:"POST",path:nt,bodyType:"BINARY",body:"",failover:!1}))).part.write_token},tt.UploadPartChunk=async function({libraryId:$,objectId:tt,writeToken:et,partWriteToken:At,chunk:nt,encryption:it}){if(ut({libraryId:$,objectId:tt}),st(et),it&&"none"!==it){const At=await this.EncryptionConk({libraryId:$,objectId:tt,writeToken:et});nt=await this.Crypto.Encrypt(At,nt)}const rt=at("q",et,"parts");await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0,encryption:it}),method:"POST",path:at(rt,At),body:nt,bodyType:"BINARY",failover:!1}))},tt.FinalizePart=async function({libraryId:$,objectId:tt,writeToken:et,partWriteToken:At,encryption:nt}){ut({libraryId:$,objectId:tt}),st(et);const it=at("q",et,"parts");return await this.utils.ResponseToJson(await this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0,encryption:nt}),method:"POST",path:at(it,At),bodyType:"BINARY",body:"",failover:!1}))},tt.UploadPart=async function({libraryId:$,objectId:tt,writeToken:et,data:At,encryption:nt="none",chunkSize:it=1e7,callback:at}){ut({libraryId:$,objectId:tt}),st(et);const rt=await this.CreatePart({libraryId:$,objectId:tt,writeToken:et,encryption:nt}),ot=At.length||At.byteLength||At.size;at&&at({bytesFinished:0,bytesTotal:ot});for(let st=0;st<ot;st+=it){const ut=At.slice(st,st+it);await this.UploadPartChunk({libraryId:$,objectId:tt,writeToken:et,partWriteToken:rt,chunk:ut,encryption:nt}),at&&at({bytesFinished:Math.min(st+it,ot),bytesTotal:ot})}return await this.FinalizePart({libraryId:$,objectId:tt,writeToken:et,partWriteToken:rt,encryption:nt})},tt.DeletePart=async function({libraryId:$,objectId:tt,writeToken:et,partHash:At}){ut({libraryId:$,objectId:tt}),st(et),ot(At);let nt=at("q",et,"parts",At);await this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"DELETE",path:nt,failover:!1})}}).call(this,et(21),et(170).Buffer)},,function($,tt,et){const At=et(184),nt=et(194),{ValidateLibrary:it,ValidateVersion:at,ValidateParameters:rt}=et(185);tt.CreateProductionMaster=async function({libraryId:$,type:tt,name:et,description:nt,metadata:at={},fileInfo:rt,encrypt:st=!1,access:ot=[],copy:ut=!1,callback:ct}){it($);const{id:dt,write_token:It}=await this.CreateContentObject({libraryId:$,options:tt?{type:tt}:{}});if(rt)if(ot.length>0){const tt=/^s3:\/\/([^/]+)\//i;for(let $=0;$<rt.length;$++){const et=rt[$];let At=!1;for(let $=0;!At&&$<ot.length;$++){let nt=ot[$];const it=nt.remote_access.path.replace(/\/$/,""),at=nt.path_matchers;for(let $=0;!At&&$<at.length;$++){const rt=new RegExp(at[$]),st=et.source;if(rt.test(st)){At=!0;const $=tt.exec(st);if($){if($[1]!==it)throw Error('Full S3 file path "'+st+"\" matched to credential set with different bucket name '"+it+"'")}nt.hasOwnProperty("matched")?nt.matched.push(et):nt.matched=[et]}}}if(!At)throw Error('no credential set found for file path: "'+filePath+'"')}for(let tt=0;tt<ot.length;tt++){const et=ot[tt];if(et.hasOwnProperty("matched")&&et.matched.length>0){const tt=et.remote_access.storage_endpoint.region,At=et.remote_access.path.replace(/\/$/,""),nt=et.remote_access.cloud_credentials.access_key_id,it=et.remote_access.cloud_credentials.secret_access_key;await this.UploadFilesFromS3({libraryId:$,objectId:dt,writeToken:It,fileInfo:et.matched,region:tt,bucket:At,accessKey:nt,secret:it,copy:ut,callback:ct,encryption:st?"cgck":"none"})}}}else await this.UploadFiles({libraryId:$,objectId:dt,writeToken:It,fileInfo:rt,callback:ct,encryption:st?"cgck":"none"});await this.CreateEncryptionConk({libraryId:$,objectId:dt,writeToken:It,createKMSConk:!0});const{logs:ht,errors:pt,warnings:yt}=await this.CallBitcodeMethod({libraryId:$,objectId:dt,writeToken:It,method:At("media","production_master","init"),body:{access:ot},constant:!1});return await this.MergeMetadata({libraryId:$,objectId:dt,writeToken:It,metadata:{...at||{},name:et,description:nt,reference:ot&&!ut,public:{...(at||{}).public||{},name:et||"",description:nt||""},elv_created_at:(new Date).getTime()}}),{errors:pt||[],logs:ht||[],warnings:yt||[],...await this.FinalizeContentObject({libraryId:$,objectId:dt,writeToken:It,commitMessage:"Create master",awaitCommitConfirmation:!1})}},tt.CreateABRMezzanine=async function({libraryId:$,objectId:tt,type:et,name:nt,description:rt,metadata:st,masterVersionHash:ot,abrProfile:ut,variant:ct="default",offeringKey:dt="default"}){if(it($),at(ot),!ot)throw Error("Master version hash not specified");const It=!!tt;let ht,pt,yt=et?{type:et}:{};if(It){const et=await this.EditContentObject({libraryId:$,objectId:tt,options:yt});ht=et.id,pt=et.write_token}else{const tt=await this.CreateContentObject({libraryId:$,options:yt});ht=tt.id,pt=tt.write_token}await this.CreateEncryptionConk({libraryId:$,objectId:ht,writeToken:pt,createKMSConk:!0});const Ct=await this.ContentObjectMetadata({versionHash:ot,metadataSubtree:"public/name"});let Bt=[];Bt.push(await this.authClient.AuthorizationToken({libraryId:$,objectId:ht,update:!0})),Bt.push(await this.authClient.AuthorizationToken({libraryId:$})),Bt.push(await this.authClient.AuthorizationToken({versionHash:ot}));const Et={Authorization:Bt.map($=>`Bearer ${$}`).join(",")},mt={offering_key:dt,variant_key:ct,prod_master_hash:ot};let Qt=!1;ut?(mt.abr_profile=ut,Qt=ut.store_clear):Qt=await this.ContentObjectMetadata({libraryId:$,objectId:this.utils.AddressToObjectId(this.utils.HashToAddress($)),metadataSubtree:"abr_profile/store_clear"}),Qt||await this.EncryptionConk({libraryId:$,objectId:ht,writeToken:pt});const{logs:bt,errors:wt,warnings:vt}=await this.CallBitcodeMethod({libraryId:$,objectId:ht,writeToken:pt,method:At("media","abr_mezzanine","init"),headers:Et,body:mt,constant:!1});return st||(st={}),st.public||(st.public={}),st.public.asset_metadata||(st.public.asset_metadata={}),st.master={name:Ct,id:this.utils.DecodeVersionHash(ot).objectId,hash:ot,variant:ct},st.public={...st.public},st.public.asset_metadata={sources:{[dt]:{"/":`./rep/playout/${dt}/options.json`}},...st.public.asset_metadata},st.elv_created_at=(new Date).getTime(),!nt&&It||(st.name=nt||`${Ct} Mezzanine`,st.public.name=nt||`${Ct} Mezzanine`),!rt&&It||(st.description=rt||"",st.public.description=rt||""),await this.MergeMetadata({libraryId:$,objectId:ht,writeToken:pt,metadata:st}),{logs:bt||[],warnings:vt||[],errors:wt||[],...await this.FinalizeContentObject({libraryId:$,objectId:ht,writeToken:pt,commitMessage:"Create ABR mezzanine"})}},tt.StartABRMezzanineJobs=async function({libraryId:$,objectId:tt,offeringKey:et="default",access:nt=[],jobIndexes:it=null}){rt({libraryId:$,objectId:tt});const at=(await this.ContentObjectMetadata({libraryId:$,objectId:tt,metadataSubtree:At("abr_mezzanine","offerings")}))[et].mez_prep_specs||[];let st=Object.keys(at).map($=>(at[$].source_streams||[]).map($=>$.source_hash));st=[].concat.apply([],st).filter($=>$).filter(($,tt,et)=>et.indexOf($)===tt);let ot=await Promise.all(st.map(async $=>await this.authClient.AuthorizationToken({versionHash:$})));ot=[await this.authClient.AuthorizationToken({libraryId:$,objectId:tt,update:!0}),...ot];const ut={Authorization:ot.map($=>`Bearer ${$}`).join(",")},ct=await this.EditContentObject({libraryId:$,objectId:tt}),dt={write_token:ct.write_token,node:this.HttpClient.BaseURI().toString(),offering:et},It=await this.EditContentObject({libraryId:$,objectId:tt});await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:It.write_token,metadataSubtree:`lro_draft_${et}`,metadata:dt}),await this.FinalizeContentObject({libraryId:$,objectId:tt,writeToken:It.write_token,commitMessage:"Mezzanine LRO status"});const{data:ht,errors:pt,warnings:yt,logs:Ct}=await this.CallBitcodeMethod({libraryId:$,objectId:tt,writeToken:ct.write_token,headers:ut,method:At("media","abr_mezzanine","prep_start"),constant:!1,body:{access:nt,offering_key:et,job_indexes:it}});return{lro_draft:dt,writeToken:ct.write_token,data:ht,logs:Ct||[],warnings:yt||[],errors:pt||[]}},tt.LROStatus=async function({libraryId:$,objectId:tt,offeringKey:et="default"}){rt({libraryId:$,objectId:tt});const nt=await this.ContentObjectMetadata({libraryId:$,objectId:tt,metadataSubtree:`lro_draft_${et}`})||await this.ContentObjectMetadata({libraryId:$,objectId:tt,metadataSubtree:"lro_draft"});if(!nt||!nt.write_token){throw await this.ContentObjectMetadata({libraryId:$,objectId:tt,metadataSubtree:At("abr_mezzanine","offerings",et,"ready")})?Error(`Mezzanine already finalized for offering '${et}'`):Error("No LRO draft found for this mezzanine")}let it,at;const st=this.fabricURIs;try{this.SetNodes({fabricURIs:[nt.node,...st]}),at=await this.ContentObjectMetadata({libraryId:$,objectId:tt,writeToken:nt.write_token,metadataSubtree:"lro_status"})}catch($){it=$}finally{this.SetNodes({fabricURIs:st})}if(it)throw it;return at},tt.FinalizeABRMezzanine=async function({libraryId:$,objectId:tt,offeringKey:et="default"}){rt({libraryId:$,objectId:tt});const it=await this.ContentObjectMetadata({libraryId:$,objectId:tt,metadataSubtree:`lro_draft_${et}`});if(!it||!it.write_token)throw Error("No LRO draft found for this mezzanine");const at=this.HttpClient;let st,ot;try{this.HttpClient=new nt({uris:[it.node],debug:at.debug});const rt=(await this.ContentObjectMetadata({libraryId:$,objectId:tt,writeToken:it.write_token,metadataSubtree:At("abr_mezzanine","offerings")}))[et].prod_master_hash;const st={Authorization:[await this.authClient.AuthorizationToken({libraryId:$,objectId:tt,update:!0}),await this.authClient.AuthorizationToken({versionHash:rt})].map($=>`Bearer ${$}`).join(",")},{data:ut,errors:ct,warnings:dt,logs:It}=await this.CallBitcodeMethod({objectId:tt,libraryId:$,writeToken:it.write_token,method:At("media","abr_mezzanine","offerings",et,"finalize"),headers:st,constant:!1});ot={data:ut,logs:It||[],warnings:dt||[],errors:ct||[],...await this.FinalizeContentObject({libraryId:$,objectId:tt,writeToken:it.write_token,commitMessage:"Finalize ABR mezzanine",awaitCommitConfirmation:!1})}}catch($){st=$}finally{this.HttpClient=at}if(st)throw st;return ot}},function($,tt,et){const At=et(184),nt=et(472),it=et(187),{ValidateLibrary:at,ValidateObject:rt,ValidateVersion:st,ValidateWriteToken:ot,ValidateParameters:ut,ValidatePresence:ct}=et(185);tt.SetVisibility=async function({id:$,visibility:tt}){if(this.Log(`Setting visibility ${tt} on ${$}`),!await this.authClient.ContractHasMethod({contractAddress:this.utils.HashToAddress($),methodName:"setVisibility"}))return;const et=await this.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:"setVisibility",methodArgs:[tt]});return await new Promise($=>setTimeout($,5e3)),et},tt.SetPermission=async function({objectId:$,permission:tt}){rt($),ct("permission",tt);let et=this.permissionLevels[tt];if(!et)throw Error("Unknown permission level: "+tt);if(await this.AccessType({id:$})!==this.authClient.ACCESS_TYPES.OBJECT)throw Error("Permission only valid for normal content objects: "+$);const At=et.settings,nt=await this.ContentObjectLibraryId({objectId:$});await this.SetVisibility({id:$,visibility:At.visibility}),await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"statusCode"})!==At.statusCode&&(At.statusCode<0?await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"setStatusCode",methodArgs:[-1]}):await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"publish"}));const it=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"addressKMS"}),at=`eluv.caps.ikms${this.utils.AddressToHash(it)}`,st=await this.ContentObjectMetadata({libraryId:nt,objectId:$,metadataSubtree:at});st&&!At.kmsConk?await this.EditAndFinalizeContentObject({libraryId:nt,objectId:$,commitMessage:"Remove encryption conk",callback:async({writeToken:tt})=>{await this.DeleteMetadata({libraryId:nt,objectId:$,writeToken:tt,metadataSubtree:at})}}):!st&&At.kmsConk&&await this.EditAndFinalizeContentObject({libraryId:nt,objectId:$,commitMessage:"Add encryption conk",callback:async({writeToken:tt})=>{await this.CreateEncryptionConk({libraryId:nt,objectId:$,writeToken:tt,createKMSConk:!0})}})},tt.CreateContentType=async function({name:$,metadata:tt={},bitcode:et}){this.Log(`Creating content type: ${$}`),tt.name=$,tt.public={name:$,...tt.public||{}};const{contractAddress:nt}=await this.authClient.CreateContentType(),it=this.utils.AddressToObjectId(nt);await this.SetVisibility({id:it,visibility:1});const at=At("qlibs",this.contentSpaceLibraryId,"qid",it);this.Log(`Created type: ${nt} ${it}`);const rt=await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:this.contentSpaceLibraryId,objectId:it,update:!0}),method:"POST",path:at}));if(this.HttpClient.RecordWriteToken(rt.write_token),await this.ReplaceMetadata({libraryId:this.contentSpaceLibraryId,objectId:it,writeToken:rt.write_token,metadata:tt}),et){const $=await this.UploadPart({libraryId:this.contentSpaceLibraryId,objectId:it,writeToken:rt.write_token,data:et,encrypted:!1});await this.ReplaceMetadata({libraryId:this.contentSpaceLibraryId,objectId:it,writeToken:rt.write_token,metadataSubtree:"bitcode_part",metadata:$.part.hash})}return await this.FinalizeContentObject({libraryId:this.contentSpaceLibraryId,objectId:it,writeToken:rt.write_token,commitMessage:"Create content type"}),it},tt.CreateContentLibrary=async function({name:$,description:tt,image:et,imageName:At,metadata:nt={},kmsId:it}){it||(it=`ikms${this.utils.AddressToHash(await this.DefaultKMSAddress())}`),this.Log("Creating content library"),this.Log(`KMS ID: ${it}`);const{contractAddress:at}=await this.authClient.CreateContentLibrary({kmsId:it}),rt=await this.userProfileClient.TenantId();rt&&await this.CallContractMethod({contractAddress:at,methodName:"putMeta",methodArgs:["_tenantId",rt]}),nt={...nt,name:$,description:tt,public:{name:$,description:tt}};const st=this.utils.AddressToLibraryId(at);this.Log(`Library ID: ${st}`),this.Log(`Contract address: ${at}`);const ot=st.replace("ilib","iq__"),ut=await this.EditContentObject({libraryId:st,objectId:ot});return await this.ReplaceMetadata({libraryId:st,objectId:ot,metadata:nt,writeToken:ut.write_token}),await this.FinalizeContentObject({libraryId:st,objectId:ot,writeToken:ut.write_token,commitMessage:"Create library"}),et&&await this.SetContentLibraryImage({libraryId:st,image:et,imageName:At}),this.Log(`Library ${st} created`),st},tt.SetContentLibraryImage=async function({libraryId:$,writeToken:tt,image:et,imageName:At}){at($);const nt=$.replace("ilib","iq__");return this.SetContentObjectImage({libraryId:$,objectId:nt,writeToken:tt,image:et,imageName:At})},tt.SetContentObjectImage=async function({libraryId:$,objectId:tt,writeToken:et,image:At,imageName:it,imagePath:at="public/display_image"}){ut({libraryId:$,objectId:tt}),ot(et),ct("image",At),it=it||"display_image","object"==typeof At&&(At=await new Response(At).arrayBuffer());const rt=nt(At);let st=["jpg","jpeg","png","gif","webp"].includes(rt.ext)?rt.mime:"image/*";await this.UploadFiles({libraryId:$,objectId:tt,writeToken:et,encrypted:!1,fileInfo:[{path:it,mime_type:st,size:At.size||At.length||At.byteLength,data:At}]}),await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:et,metadataSubtree:at,metadata:{"/":`./files/${it}`}})},tt.DeleteContentLibrary=async function({libraryId:$}){throw Error("Not supported")},tt.AddLibraryContentType=async function({libraryId:$,typeId:tt,typeName:et,typeHash:At,customContractAddress:nt}){if(at($),this.Log(`Adding library content type to ${$}: ${tt||At||et}`),At&&(tt=this.utils.DecodeVersionHash(At).objectId),!tt){tt=(await this.ContentType({name:et})).id}this.Log(`Type ID: ${tt}`);const it=this.utils.HashToAddress(tt);return nt=nt||this.utils.nullAddress,(await this.ethClient.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:"addContentType",methodArgs:[it,nt]})).transactionHash},tt.RemoveLibraryContentType=async function({libraryId:$,typeId:tt,typeName:et,typeHash:At}){if(at($),this.Log(`Removing library content type from ${$}: ${tt||At||et}`),At&&(tt=this.utils.DecodeVersionHash(At).objectId),!tt){tt=(await this.ContentType({name:et})).id}this.Log(`Type ID: ${tt}`);const nt=this.utils.HashToAddress(tt);return(await this.ethClient.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:"removeContentType",methodArgs:[nt]})).transactionHash},tt.CreateContentObject=async function({libraryId:$,objectId:tt,options:et={}}){let nt;if(at($),tt&&rt(tt),this.Log(`Creating content object: ${$} ${tt||""}`),et.type){this.Log(`Type specified: ${et.type}`);let $=et.type;if($=$.startsWith("hq__")?await this.ContentType({versionHash:$}):$.startsWith("iq__")?await this.ContentType({typeId:$}):await this.ContentType({name:$}),!$)throw Error(`Unable to find content type '${et.type}'`);nt=$.id,et.type=$.hash}if(tt)this.Log(`Contract already deployed for contract type: ${await this.AccessType({id:tt})}`);else{this.Log("Deploying contract...");const{contractAddress:et}=await this.authClient.CreateContentObject({libraryId:$,typeId:nt});tt=this.utils.AddressToObjectId(et),this.Log(`Contract deployed: ${et} ${tt}`)}et.visibility&&(this.Log(`Setting visibility to ${et.visibility}`),await this.SetVisibility({id:tt,visibility:et.visibility}));const it=At("qid",tt);let st=await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"POST",path:it,body:et}));return this.HttpClient.RecordWriteToken(st.write_token),st.writeToken=st.write_token,st.objectId=st.id,st},tt.CopyContentObject=async function({libraryId:$,originalVersionHash:tt,options:et={}}){return at($),st(tt),et.copy_from=tt,await this.CreateContentObject({libraryId:$,options:et})},tt.EditContentObject=async function({libraryId:$,objectId:tt,options:et={}}){ut({libraryId:$,objectId:tt}),this.Log(`Opening content draft: ${$} ${tt}`),"type"in et&&et.type&&(et.type.startsWith("hq__")?et.type=(await this.ContentType({versionHash:et.type})).hash:et.type.startsWith("iq__")?et.type=(await this.ContentType({typeId:et.type})).hash:et.type?et.type=(await this.ContentType({name:et.type})).hash:et.type="");let nt=At("qid",tt),it=await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"POST",path:nt,body:et}));return this.HttpClient.RecordWriteToken(it.write_token),it.writeToken=it.write_token,it.objectId=it.id,it},tt.CreateAndFinalizeContentObject=async function({libraryId:$,callback:tt,options:et={},commitMessage:At="",publish:nt=!0,awaitCommitConfirmation:it=!0}){const at=await this.CreateContentObject({libraryId:$,options:et}),{id:rt,writeToken:st}=at;return tt&&await tt({objectId:rt,writeToken:st}),await this.FinalizeContentObject({libraryId:$,objectId:rt,writeToken:st,commitMessage:At,publish:nt,awaitCommitConfirmation:it})},tt.EditAndFinalizeContentObject=async function({libraryId:$,objectId:tt,callback:et,options:At={},commitMessage:nt="",publish:it=!0,awaitCommitConfirmation:at=!0}){const{writeToken:rt}=await this.EditContentObject({libraryId:$,objectId:tt,options:At});return et&&await et({writeToken:rt}),await this.FinalizeContentObject({libraryId:$,objectId:tt,writeToken:rt,commitMessage:nt,publish:it,awaitCommitConfirmation:at})},tt.AwaitPending=async function($){const PendingHash=async()=>await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"pendingHash"});if(this.Log("Checking for pending commit"),!await PendingHash())return;const tt=await this.authClient.AccessType($)===this.authClient.ACCESS_TYPES.WALLET;let et=tt?3:10;this.Log(`Waiting for pending commit to clear for ${$}`);for(let $=0;$<et;$++)if(await new Promise($=>setTimeout($,1e3)),!await PendingHash())return;if(!tt)throw Error(`Unable to finalize ${$} - Another commit is pending`);this.Log("Clearing stuck wallet commit",!0),await this.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:"clearPending"})},tt.FinalizeContentObject=async function({libraryId:$,objectId:tt,writeToken:et,commitMessage:nt="",publish:it=!0,awaitCommitConfirmation:at=!0}){ut({libraryId:$,objectId:tt}),ot(et),await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:et,metadataSubtree:"commit",metadata:{message:nt,author:await this.userProfileClient.UserMetadata({metadataSubtree:"public/name"})||this.CurrentAccountAddress(),author_address:this.CurrentAccountAddress(),timestamp:(new Date).toISOString()}}),this.Log(`Finalizing content draft: ${$} ${tt} ${et}`),await this.AwaitPending(tt);let rt=At("q",et);const st=await this.utils.ResponseToJson(this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"POST",path:rt,failover:!1}));return this.Log(`Finalized: ${st.hash}`),it&&await this.PublishContentVersion({objectId:tt,versionHash:st.hash,awaitCommitConfirmation:at}),delete this.contentTypes[tt],st},tt.PublishContentVersion=async function({objectId:$,versionHash:tt,awaitCommitConfirmation:et=!0}){tt?st(tt):rt($),this.Log(`Publishing: ${$||tt}`),tt&&($=this.utils.DecodeVersionHash(tt).objectId);const At=await this.ethClient.CommitContent({contentObjectAddress:this.utils.HashToAddress($),versionHash:tt,signer:this.signer}),nt=await this.ContractAbi({id:$}),it=At.blockNumber+1,at=await this.ExtractValueFromEvent({abi:nt,event:At,eventName:"CommitPending",eventValue:"objectHash"}),ot=await this.CallContractMethod({contractAddress:this.utils.HashToAddress($),methodName:"pendingHash"});if(ot&&ot!==at)throw Error(`Pending version hash mismatch on ${$}: expected ${at}, currently ${ot}`);if(et){this.Log(`Awaiting commit confirmation for ${at}`);const tt=this.ethClient.Provider().pollingInterval||500;for(;;){if(await new Promise($=>setTimeout($,tt)),(await this.ContractEvents({contractAddress:this.utils.HashToAddress($),abi:nt,fromBlock:it,count:1e3})).find($=>$.find($=>at===($&&$.values&&$.values.objectHash)))){this.Log(`Commit confirmed: ${at}`);break}}}},tt.DeleteContentVersion=async function({versionHash:$}){st($),this.Log(`Deleting content version: ${$}`);const{objectId:tt}=this.utils.DecodeVersionHash($);await this.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress(tt),methodName:"deleteVersion",methodArgs:[$]})},tt.DeleteContentObject=async function({libraryId:$,objectId:tt}){ut({libraryId:$,objectId:tt}),this.Log(`Deleting content version: ${$} ${tt}`),await this.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:"deleteContent",methodArgs:[this.utils.HashToAddress(tt)]})},tt.MergeMetadata=async function({libraryId:$,objectId:tt,writeToken:et,metadataSubtree:nt="/",metadata:it={}}){ut({libraryId:$,objectId:tt}),ot(et),this.Log(`Merging metadata: ${$} ${tt} ${et}\n Subtree: ${nt}`),this.Log(it);let at=At("q",et,"meta",nt);await this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"POST",path:at,body:it,failover:!1})},tt.ReplaceMetadata=async function({libraryId:$,objectId:tt,writeToken:et,metadataSubtree:nt="/",metadata:it={}}){ut({libraryId:$,objectId:tt}),ot(et),this.Log(`Replacing metadata: ${$} ${tt} ${et}\n Subtree: ${nt}`),this.Log(it);let at=At("q",et,"meta",nt);await this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"PUT",path:at,body:it,failover:!1})},tt.DeleteMetadata=async function({libraryId:$,objectId:tt,writeToken:et,metadataSubtree:nt="/"}){ut({libraryId:$,objectId:tt}),ot(et),this.Log(`Deleting metadata: ${$} ${tt} ${et}\n Subtree: ${nt}`),this.Log(`Subtree: ${nt}`);let it=At("q",et,"meta",nt);await this.HttpClient.Request({headers:await this.authClient.AuthorizationHeader({libraryId:$,objectId:tt,update:!0}),method:"DELETE",path:it,failover:!1})},tt.SetAccessCharge=async function({objectId:$,accessCharge:tt}){rt($),this.Log(`Setting access charge: ${$} ${tt}`),await this.ethClient.CallContractMethodAndWait({contractAddress:this.utils.HashToAddress($),methodName:"setAccessCharge",methodArgs:[this.utils.EtherToWei(tt).toString()]})},tt.UpdateContentObjectGraph=async function({libraryId:$,objectId:tt,versionHash:et,callback:At}){let nt;ut({libraryId:$,objectId:tt,versionHash:et}),this.Log(`Updating content object graph: ${$||""} ${tt||et}`),et&&(tt=this.utils.DecodeVersionHash(et).objectId);let it=0;for(;;){const at=await this.ContentObjectGraph({libraryId:$,objectId:tt,versionHash:et,autoUpdate:!0,select:["name","public/name","public/asset_metadata/display_title"]});if(0===Object.keys(at.auto_updates).length)return void this.Log("No more updates required");nt||(nt=at.auto_updates.order.length);const rt=at.auto_updates.order[0],st=at.auto_updates.links[rt],ot=at.details[rt].meta||{},ut=ot.public&&ot.public.asset_metadata&&ot.public.asset_metadata.display_title||ot.public&&ot.public.name||ot.name||et||tt,ct=await this.ContentObjectLibraryId({versionHash:rt}),dt=this.utils.DecodeVersionHash(rt).objectId;At&&At({completed:it,total:nt,action:`Updating ${ut} (${dt})...`}),this.Log(`Updating links for ${ut} (${dt} / ${rt})`);const{write_token:It}=await this.EditContentObject({libraryId:ct,objectId:dt});await Promise.all(st.map(async({path:$,updated:tt})=>{await this.ReplaceMetadata({libraryId:ct,objectId:dt,writeToken:It,metadataSubtree:$,metadata:tt})}));const{hash:ht}=await this.FinalizeContentObject({libraryId:ct,objectId:dt,writeToken:It,commitMessage:"Update links"});rt===et&&(et=ht),it+=1}},tt.CreateLinks=async function({libraryId:$,objectId:tt,writeToken:et,links:At=[]}){ut({libraryId:$,objectId:tt}),ot(et),await this.utils.LimitedMap(10,At,async At=>{const nt=At.path.replace(/^(\/|\.)+/,"");let it="file"===(At.type||"file")?"files":At.type;"metadata"===it&&(it="meta");let at=At.target.replace(/^(\/|\.)+/,"");at=At.targetHash?`/qfab/${At.targetHash}/${it}/${at}`:`./${it}/${at}`;let rt={"/":at};At.autoUpdate&&(rt["."]={auto_update:{tag:"latest"}}),await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:et,metadataSubtree:nt,metadata:rt})})},tt.InitializeAuthPolicy=async function({libraryId:$,objectId:tt,writeToken:et,target:nt="auth_policy_spec",body:at,version:rt,description:st,id:ot}){let ut={type:"epl-ast",version:rt,body:at,data:{"/":At(".","meta",nt)},signer:`iusr${this.utils.AddressToHash(this.signer.address)}`,description:st||"",id:ot||""};const ct=`${ut.type}|${ut.version}|${ut.body}|${ut.data["/"]}`;ut.signature=this.utils.FormatSignature(await this.authClient.Sign(it.utils.keccak256(it.utils.toUtf8Bytes(ct)))),await this.ReplaceMetadata({libraryId:$,objectId:tt,writeToken:et,metadataSubtree:"auth_policy",metadata:ut}),await this.SetAuthPolicy({objectId:tt,policyId:tt})},tt.SetAuthPolicy=async function({objectId:$,policyId:tt}){await this.MergeContractMetadata({contractAddress:this.utils.HashToAddress($),metadataKey:"_AUTH_CONTEXT",metadata:{"elv:delegation-id":tt}})}},function($,tt,et){"use strict";const At=et(473),nt=new Set(["jpg","png","gif","webp","flif","cr2","tif","bmp","jxr","psd","ico","bpg","jp2","jpm","jpx","heic","cur","dcm"]),imageType=$=>{const tt=At($);return nt.has(tt&&tt.ext)?tt:null};$.exports=imageType,$.exports.default=imageType,Object.defineProperty(imageType,"minimumBytes",{value:At.minimumBytes})},function(module,exports,__webpack_require__){"use strict";(function(Buffer){const toBytes=$=>[...$].map($=>$.charCodeAt(0)),xpiZipFilename=toBytes("META-INF/mozilla.rsa"),oxmlContentTypes=toBytes("[Content_Types].xml"),oxmlRels=toBytes("_rels/.rels");function readUInt64LE($,tt=0){let et=$[tt],At=1,nt=0;for(;++nt<8;)At*=256,et+=$[tt+nt]*At;return et}const fileType=$=>{if(!($ instanceof Uint8Array||$ instanceof ArrayBuffer||Buffer.isBuffer($)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof $}\``);const tt=$ instanceof Uint8Array?$:new Uint8Array($);if(!(tt&&tt.length>1))return null;const check=($,et)=>{et=Object.assign({offset:0},et);for(let At=0;At<$.length;At++)if(et.mask){if($[At]!==(et.mask[At]&tt[At+et.offset]))return!1}else if($[At]!==tt[At+et.offset])return!1;return!0},checkString=($,tt)=>check(toBytes($),tt);if(check([255,216,255]))return{ext:"jpg",mime:"image/jpeg"};if(check([137,80,78,71,13,10,26,10]))return{ext:"png",mime:"image/png"};if(check([71,73,70]))return{ext:"gif",mime:"image/gif"};if(check([87,69,66,80],{offset:8}))return{ext:"webp",mime:"image/webp"};if(check([70,76,73,70]))return{ext:"flif",mime:"image/flif"};if((check([73,73,42,0])||check([77,77,0,42]))&&check([67,82],{offset:8}))return{ext:"cr2",mime:"image/x-canon-cr2"};if(check([73,73,42,0])||check([77,77,0,42]))return{ext:"tif",mime:"image/tiff"};if(check([66,77]))return{ext:"bmp",mime:"image/bmp"};if(check([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(check([56,66,80,83]))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(check([80,75,3,4])){if(check([109,105,109,101,116,121,112,101,97,112,112,108,105,99,97,116,105,111,110,47,101,112,117,98,43,122,105,112],{offset:30}))return{ext:"epub",mime:"application/epub+zip"};if(check(xpiZipFilename,{offset:30}))return{ext:"xpi",mime:"application/x-xpinstall"};if(checkString("mimetypeapplication/vnd.oasis.opendocument.text",{offset:30}))return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};if(checkString("mimetypeapplication/vnd.oasis.opendocument.spreadsheet",{offset:30}))return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};if(checkString("mimetypeapplication/vnd.oasis.opendocument.presentation",{offset:30}))return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};const findNextZipHeaderIndex=($,tt=0)=>$.findIndex(($,et,At)=>et>=tt&&80===At[et]&&75===At[et+1]&&3===At[et+2]&&4===At[et+3]);let $=0,et=!1,At=null;do{const nt=$+30;if(et||(et=check(oxmlContentTypes,{offset:nt})||check(oxmlRels,{offset:nt})),At||(checkString("word/",{offset:nt})?At={ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"}:checkString("ppt/",{offset:nt})?At={ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}:checkString("xl/",{offset:nt})&&(At={ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"})),et&&At)return At;$=findNextZipHeaderIndex(tt,nt)}while($>=0);if(At)return At}if(check([80,75])&&(3===tt[2]||5===tt[2]||7===tt[2])&&(4===tt[3]||6===tt[3]||8===tt[3]))return{ext:"zip",mime:"application/zip"};if(check([117,115,116,97,114],{offset:257}))return{ext:"tar",mime:"application/x-tar"};if(check([82,97,114,33,26,7])&&(0===tt[6]||1===tt[6]))return{ext:"rar",mime:"application/x-rar-compressed"};if(check([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(check([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(check([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(check([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(check([51,103,112,53])||check([0,0,0])&&check([102,116,121,112],{offset:4})&&(check([109,112,52,49],{offset:8})||check([109,112,52,50],{offset:8})||check([105,115,111,109],{offset:8})||check([105,115,111,50],{offset:8})||check([109,109,112,52],{offset:8})||check([77,52,86],{offset:8})||check([100,97,115,104],{offset:8})))return{ext:"mp4",mime:"video/mp4"};if(check([77,84,104,100]))return{ext:"mid",mime:"audio/midi"};if(check([26,69,223,163])){const $=tt.subarray(4,4100),et=$.findIndex(($,tt,et)=>66===et[tt]&&130===et[tt+1]);if(-1!==et){const tt=et+3,findDocType=et=>[...et].every((et,At)=>$[tt+At]===et.charCodeAt(0));if(findDocType("matroska"))return{ext:"mkv",mime:"video/x-matroska"};if(findDocType("webm"))return{ext:"webm",mime:"video/webm"}}}if(check([0,0,0,20,102,116,121,112,113,116,32,32])||check([102,114,101,101],{offset:4})||check([102,116,121,112,113,116,32,32],{offset:4})||check([109,100,97,116],{offset:4})||check([109,111,111,118],{offset:4})||check([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(check([82,73,70,70])){if(check([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(check([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(check([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(check([48,38,178,117,142,102,207,17,166,217])){let $=30;do{const et=readUInt64LE(tt,$+16);if(check([145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101],{offset:$})){if(check([64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43],{offset:$+24}))return{ext:"wma",mime:"audio/x-ms-wma"};if(check([192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43],{offset:$+24}))return{ext:"wmv",mime:"video/x-ms-asf"};break}$+=et}while($+24<=tt.length);return{ext:"asf",mime:"application/vnd.ms-asf"}}if(check([0,0,1,186])||check([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(check([102,116,121,112,51,103],{offset:4}))return{ext:"3gp",mime:"video/3gpp"};for(let $=0;$<2&&$<tt.length-16;$++){if(check([73,68,51],{offset:$})||check([255,226],{offset:$,mask:[255,226]}))return{ext:"mp3",mime:"audio/mpeg"};if(check([255,228],{offset:$,mask:[255,228]}))return{ext:"mp2",mime:"audio/mpeg"};if(check([255,248],{offset:$,mask:[255,252]}))return{ext:"mp2",mime:"audio/mpeg"};if(check([255,240],{offset:$,mask:[255,252]}))return{ext:"mp4",mime:"audio/mpeg"}}if(check([102,116,121,112,77,52,65],{offset:4}))return{ext:"m4a",mime:"audio/mp4"};if(check([79,112,117,115,72,101,97,100],{offset:28}))return{ext:"opus",mime:"audio/opus"};if(check([79,103,103,83]))return check([128,116,104,101,111,114,97],{offset:28})?{ext:"ogv",mime:"video/ogg"}:check([1,118,105,100,101,111,0],{offset:28})?{ext:"ogm",mime:"video/ogg"}:check([127,70,76,65,67],{offset:28})?{ext:"oga",mime:"audio/ogg"}:check([83,112,101,101,120,32,32],{offset:28})?{ext:"spx",mime:"audio/ogg"}:check([1,118,111,114,98,105,115],{offset:28})?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"};if(check([102,76,97,67]))return{ext:"flac",mime:"audio/x-flac"};if(check([77,65,67,32]))return{ext:"ape",mime:"audio/ape"};if(check([119,118,112,107]))return{ext:"wv",mime:"audio/wavpack"};if(check([35,33,65,77,82,10]))return{ext:"amr",mime:"audio/amr"};if(check([37,80,68,70]))return{ext:"pdf",mime:"application/pdf"};if(check([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if((67===tt[0]||70===tt[0])&&check([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(check([123,92,114,116,102]))return{ext:"rtf",mime:"application/rtf"};if(check([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(check([119,79,70,70])&&(check([0,1,0,0],{offset:4})||check([79,84,84,79],{offset:4})))return{ext:"woff",mime:"font/woff"};if(check([119,79,70,50])&&(check([0,1,0,0],{offset:4})||check([79,84,84,79],{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(check([76,80],{offset:34})&&(check([0,0,1],{offset:8})||check([1,0,2],{offset:8})||check([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(check([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(check([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(check([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(check([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(check([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(check([37,33]))return{ext:"ps",mime:"application/postscript"};if(check([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(check([83,81,76,105]))return{ext:"sqlite",mime:"application/x-sqlite3"};if(check([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(check([67,114,50,52]))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(check([77,83,67,70])||check([73,83,99,40]))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(check([33,60,97,114,99,104,62,10,100,101,98,105,97,110,45,98,105,110,97,114,121]))return{ext:"deb",mime:"application/x-deb"};if(check([33,60,97,114,99,104,62]))return{ext:"ar",mime:"application/x-unix-archive"};if(check([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(check([31,160])||check([31,157]))return{ext:"Z",mime:"application/x-compress"};if(check([76,90,73,80]))return{ext:"lz",mime:"application/x-lzip"};if(check([208,207,17,224,161,177,26,225]))return{ext:"msi",mime:"application/x-msi"};if(check([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(check([71],{offset:4})&&(check([71],{offset:192})||check([71],{offset:196})))return{ext:"mts",mime:"video/mp2t"};if(check([66,76,69,78,68,69,82]))return{ext:"blend",mime:"application/x-blender"};if(check([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(check([0,0,0,12,106,80,32,32,13,10,135,10])){if(check([106,112,50,32],{offset:20}))return{ext:"jp2",mime:"image/jp2"};if(check([106,112,120,32],{offset:20}))return{ext:"jpx",mime:"image/jpx"};if(check([106,112,109,32],{offset:20}))return{ext:"jpm",mime:"image/jpm"};if(check([109,106,112,50],{offset:20}))return{ext:"mj2",mime:"image/mj2"}}if(check([70,79,82,77]))return{ext:"aif",mime:"audio/aiff"};if(checkString("<?xml "))return{ext:"xml",mime:"application/xml"};if(check([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(check([102,116,121,112],{offset:4})){if(check([109,105,102,49],{offset:8}))return{ext:"heic",mime:"image/heif"};if(check([109,115,102,49],{offset:8}))return{ext:"heic",mime:"image/heif-sequence"};if(check([104,101,105,99],{offset:8})||check([104,101,105,120],{offset:8}))return{ext:"heic",mime:"image/heic"};if(check([104,101,118,99],{offset:8})||check([104,101,118,120],{offset:8}))return{ext:"heic",mime:"image/heic-sequence"}}return check([171,75,84,88,32,49,49,187,13,10,26,10])?{ext:"ktx",mime:"image/ktx"}:check([68,73,67,77],{offset:128})?{ext:"dcm",mime:"application/dicom"}:check([77,80,43])?{ext:"mpc",mime:"audio/x-musepack"}:check([77,80,67,75])?{ext:"mpc",mime:"audio/x-musepack"}:check([66,69,71,73,78,58])?{ext:"ics",mime:"text/calendar"}:check([103,108,84,70,2,0,0,0])?{ext:"glb",mime:"model/gltf-binary"}:check([212,195,178,161])||check([161,178,195,212])?{ext:"pcap",mime:"application/vnd.tcpdump.pcap"}:null};module.exports=fileType,module.exports.default=fileType,Object.defineProperty(fileType,"minimumBytes",{value:4100}),module.exports.stream=readableStream=>new Promise((resolve,reject)=>{const stream=eval("require")("stream");readableStream.once("readable",()=>{const $=new stream.PassThrough,tt=readableStream.read(module.exports.minimumBytes)||readableStream.read();try{$.fileType=fileType(tt)}catch($){reject($)}readableStream.unshift(tt),stream.pipeline?resolve(stream.pipeline(readableStream,$,()=>{})):resolve(readableStream.pipe($))})})}).call(this,__webpack_require__(170).Buffer)},function($,tt,et){const At=et(184),nt=et(187),{ValidateAddress:it,ValidateDate:at,ValidateObject:rt,ValidatePresence:st}=et(185),FormatNTPInfo=$=>{const tt=$.pm||{};let et={ntpId:$.id,ntpClass:`Class ${$.de}`,tenantId:$.ti,kmsId:$.ki,objectId:tt.qid,updatedAt:parseInt($.ts),startTime:parseInt(tt.vat),endTime:parseInt(tt.exp),ticketLength:tt.sen,maxRedemptions:tt.ntp,maxTickets:$.mx};return void 0!==$.cnt&&(et.issuedTickets=$.cnt),et};tt.CreateNTPInstance=async function({tenantId:$,objectId:tt,groupAddresses:et,ntpClass:At=4,maxTickets:nt=0,maxRedemptions:ot=100,startTime:ut,endTime:ct,ticketLength:dt=6}){st("tenantId",$),st("objectId or groupAddresses",tt||et),tt&&rt(tt),et&&et.forEach($=>it($)),ut=at(ut),ct=at(ct);let It=[`ntp:${parseInt(ot)}`,`sen:${parseInt(dt)}`];if(tt)It.push(`qid:${tt}`);else if(et){const $=et.map($=>`igrp${this.utils.AddressToHash($)}`);It.push(`gid:${$.join(",")}`)}return ut&&It.push(`vat:${ut}`),ct&&It.push(`exp:${ct}`),await this.authClient.MakeKMSCall({tenantId:$,methodName:"elv_createOTPInstance",params:[$,At,JSON.stringify(It),parseInt(nt),Date.now()],paramTypes:["string","int","string","int","int"]})},tt.UpdateNTPInstance=async function({tenantId:$,ntpId:tt,maxTickets:et=0,maxRedemptions:At=100,startTime:nt,endTime:it}){st("tenantId",$),st("ntpId",tt),nt=at(nt),it=at(it);let rt=[];At&&rt.push(`ntp:${parseInt(At)}`),nt&&rt.push(`vat:${nt}`),it&&rt.push(`exp:${it}`),et&&rt.push(`max:${parseInt(et)}`);const{Ret:ot}=await this.authClient.MakeKMSCall({tenantId:$,methodName:"elv_updateOTPInstance",params:[$,tt,"update",JSON.stringify(rt),Date.now()],paramTypes:["string","string","string","string","int"]});return FormatNTPInfo(JSON.parse(ot))},tt.SuspendNTPInstance=async function({tenantId:$,ntpId:tt}){st("tenantId",$),st("ntpId",tt),await this.authClient.MakeKMSCall({tenantId:$,methodName:"elv_updateOTPInstance",params:[$,tt,"cancel","[]",Date.now()],paramTypes:["string","string","string","string","int"]})},tt.DeleteNTPInstance=async function({tenantId:$,ntpId:tt}){st("tenantId",$),st("ntpId",tt),await this.authClient.MakeKMSCall({tenantId:$,methodName:"elv_updateOTPInstance",params:[$,tt,"delete","[]",Date.now()],paramTypes:["string","string","string","string","int"]})},tt.ListNTPInstances=async function({tenantId:$,count:tt=10,offset:et=0}){st("tenantId",$);const{Defs:At,Total:nt}=await this.authClient.MakeKMSCall({tenantId:$,methodName:"elv_listOTPInfo",params:[$,et,tt],paramTypes:["string","int","int"],signature:!1});return{ntpInstances:Object.values(At||{}).map(FormatNTPInfo),start:et,end:Math.min(nt,et+tt),total:nt}},tt.NTPInstance=async function({tenantId:$,ntpId:tt}){return st("tenantId",$),st("ntpId",tt),FormatNTPInfo(await this.authClient.MakeKMSCall({tenantId:$,methodName:"elv_getOTPInfo",params:[$,tt],paramTypes:["string","string"],signature:!1}))},tt.IssueNTPCode=async function({tenantId:$,ntpId:tt,email:et,maxRedemptions:At}){st("tenantId",$),st("ntpId",tt);let nt=[];et&&nt.push(`eml:${et}`),At&&nt.push(`cnt:${parseInt(At)}`);const it=[$,tt,JSON.stringify(nt),Date.now()];return await this.authClient.MakeKMSCall({methodName:"elv_issueOTPCode",params:it,paramTypes:["string","string","string","uint"]})},tt.IssueSignedNTPCode=async function({tenantId:$,ntpId:tt,email:et,maxRedemptions:At}){let it=await this.IssueNTPCode({tenantId:$,ntpId:tt,email:et,maxRedemptions:At});if(it.token){const $=await this.authClient.Sign(nt.utils.keccak256(nt.utils.toUtf8Bytes(it.token))),tt=this.utils.FormatSignature($);it.token=`${it.token}.${this.utils.B64(tt)}`}return it},tt.RedeemCode=async function({issuer:$,tenantId:tt,ntpId:et,code:nt,email:it,includeNTPId:at=!1}){const ot=this.GenerateWallet();if($=$||"",this.signer||this.SetSigner({signer:ot.AddAccountFromMnemonic({mnemonic:ot.GenerateMnemonic()})}),$.startsWith("iq__"))rt($);else{if($&&!$.replace(/^\//,"").startsWith("otp/ntp/iten"))throw Error("Invalid issuer: "+$);st("issuer or tenantId",$||tt),$||($=At("/otp","ntp",tt,et||""));try{const tt=await this.authClient.GenerateChannelContentToken({issuer:$,code:nt,email:it});this.SetStaticToken({token:tt});const et=JSON.parse(this.utils.FromB64(tt));return at?{objectId:et.qid,ntpId:et.oid}:et.qid}catch($){throw this.Log("Failed to redeem code:",!0),this.Log($,!0),$}}const ut=$,ct=await this.ContentObjectLibraryId({objectId:ut}),dt=($=>{const tt=$.split("").map($=>$.charCodeAt(0));return tt.reduce(($,et,At)=>tt[At+1]?2*$+et*tt[At+1]*(At+1):$+et,0).toString()})(nt),It=await this.ContentObjectMetadata({libraryId:ct,objectId:ut,metadataSubtree:`public/codes/${dt}`});if(!It)throw this.Log(`Code redemption failed:\n\t${$}\n\t${nt}`),Error("Invalid code: "+nt);const{ak:ht,sites:pt,info:yt}=It,Ct=await ot.AddAccountFromEncryptedPK({encryptedPrivateKey:this.utils.FromB64(ht),password:nt});return this.SetSigner({signer:Ct}),await this.userProfileClient.WalletAddress(),{addr:this.utils.FormatAddress(Ct.address),sites:pt,info:yt||{}}}},function($,tt,et){const At=et(632),nt=et(184),{ValidateAddress:it,ValidateObject:at,ValidatePresence:rt}=et(185);tt.MintNFT=async function({tenantId:$,email:tt,address:et,collectionId:nt,sku:st,tokenId:ot,extraData:ut={}}){if(rt("tenantId",$),rt("email or address",tt||et),rt("collectionId",nt),rt("sku",st),at(nt),!et){const At={ts:Date.now(),email:tt},nt=await this.Sign(JSON.stringify(At)),{addr:it}=await this.utils.ResponseToJson(await this.authClient.MakeAuthServiceRequest({method:"POST",path:`/as/tnt/prov/eth/${$}`,body:At,headers:{Authorization:`Bearer ${nt}`}}));et=this.utils.FormatAddress(it)}let ct={tickets:null,products:[{sku:st,quant:1,extra:{token_id:ot}}],ident:tt||et,cust_name:tt||et,extra:{...ut}};it(et),tt&&(ct.email=tt),ct.extra.elv_addr=et;const dt=this.utils.B58(At.parse(At.v4()));ct.ts=Date.now(),ct.trans_id=dt;const It=await this.Sign(JSON.stringify(ct));return await this.authClient.MakeAuthServiceRequest({method:"POST",path:`/as/otp/webhook/base/${$}/${nt}`,body:ct,headers:{Authorization:`Bearer ${It}`}}),{address:et,transactionId:dt}},tt.CollectionTransactions=async function({tenantId:$,collectionId:tt,filterOptions:et={}}){let At={ts:Date.now()};const it={email:"email",fromOrdinal:"from_ord",max:"max",status:"status",transactionId:"trans_id"};Object.keys(it).forEach($=>{et[$]&&(At[it[$]]=et[$])});let at=this.AuthHttpClient.BaseURI().path(nt("/tnt","trans",$,tt)).query(At).hash("").resource();const rt=await this.Sign(at);return await this.utils.ResponseToJson(this.authClient.MakeAuthServiceRequest({method:"GET",path:nt("as","tnt","trans",$,tt),queryParams:At,headers:{Authorization:`Bearer ${rt}`}}))}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function($,tt,et){"use strict";var At;et.r(tt);var nt=new Uint8Array(16);function rng(){if(!At&&!(At="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return At(nt)}var it=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var at=function validate($){return"string"==typeof $&&it.test($)},rt=[],st=0;st<256;++st)rt.push((st+256).toString(16).substr(1));var ot,ut,ct=function stringify($){var tt=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,et=(rt[$[tt+0]]+rt[$[tt+1]]+rt[$[tt+2]]+rt[$[tt+3]]+"-"+rt[$[tt+4]]+rt[$[tt+5]]+"-"+rt[$[tt+6]]+rt[$[tt+7]]+"-"+rt[$[tt+8]]+rt[$[tt+9]]+"-"+rt[$[tt+10]]+rt[$[tt+11]]+rt[$[tt+12]]+rt[$[tt+13]]+rt[$[tt+14]]+rt[$[tt+15]]).toLowerCase();if(!at(et))throw TypeError("Stringified UUID is invalid");return et},dt=0,It=0;var ht=function v1($,tt,et){var At=tt&&et||0,nt=tt||new Array(16),it=($=$||{}).node||ot,at=void 0!==$.clockseq?$.clockseq:ut;if(null==it||null==at){var rt=$.random||($.rng||rng)();null==it&&(it=ot=[1|rt[0],rt[1],rt[2],rt[3],rt[4],rt[5]]),null==at&&(at=ut=16383&(rt[6]<<8|rt[7]))}var st=void 0!==$.msecs?$.msecs:Date.now(),ht=void 0!==$.nsecs?$.nsecs:It+1,pt=st-dt+(ht-It)/1e4;if(pt<0&&void 0===$.clockseq&&(at=at+1&16383),(pt<0||st>dt)&&void 0===$.nsecs&&(ht=0),ht>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");dt=st,It=ht,ut=at;var yt=(1e4*(268435455&(st+=122192928e5))+ht)%4294967296;nt[At++]=yt>>>24&255,nt[At++]=yt>>>16&255,nt[At++]=yt>>>8&255,nt[At++]=255&yt;var Ct=st/4294967296*1e4&268435455;nt[At++]=Ct>>>8&255,nt[At++]=255&Ct,nt[At++]=Ct>>>24&15|16,nt[At++]=Ct>>>16&255,nt[At++]=at>>>8|128,nt[At++]=255&at;for(var Bt=0;Bt<6;++Bt)nt[At+Bt]=it[Bt];return tt||ct(nt)};var pt=function parse($){if(!at($))throw TypeError("Invalid UUID");var tt,et=new Uint8Array(16);return et[0]=(tt=parseInt($.slice(0,8),16))>>>24,et[1]=tt>>>16&255,et[2]=tt>>>8&255,et[3]=255&tt,et[4]=(tt=parseInt($.slice(9,13),16))>>>8,et[5]=255&tt,et[6]=(tt=parseInt($.slice(14,18),16))>>>8,et[7]=255&tt,et[8]=(tt=parseInt($.slice(19,23),16))>>>8,et[9]=255&tt,et[10]=(tt=parseInt($.slice(24,36),16))/1099511627776&255,et[11]=tt/4294967296&255,et[12]=tt>>>24&255,et[13]=tt>>>16&255,et[14]=tt>>>8&255,et[15]=255&tt,et};var v35=function($,tt,et){function generateUUID($,At,nt,it){if("string"==typeof $&&($=function stringToBytes($){$=unescape(encodeURIComponent($));for(var tt=[],et=0;et<$.length;++et)tt.push($.charCodeAt(et));return tt}($)),"string"==typeof At&&(At=pt(At)),16!==At.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var at=new Uint8Array(16+$.length);if(at.set(At),at.set($,At.length),(at=et(at))[6]=15&at[6]|tt,at[8]=63&at[8]|128,nt){it=it||0;for(var rt=0;rt<16;++rt)nt[it+rt]=at[rt];return nt}return ct(at)}try{generateUUID.name=$}catch($){}return generateUUID.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",generateUUID.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",generateUUID};function getOutputLength($){return 14+($+64>>>9<<4)+1}function safeAdd($,tt){var et=(65535&$)+(65535&tt);return($>>16)+(tt>>16)+(et>>16)<<16|65535&et}function md5cmn($,tt,et,At,nt,it){return safeAdd(function bitRotateLeft($,tt){return $<<tt|$>>>32-tt}(safeAdd(safeAdd(tt,$),safeAdd(At,it)),nt),et)}function md5ff($,tt,et,At,nt,it,at){return md5cmn(tt&et|~tt&At,$,tt,nt,it,at)}function md5gg($,tt,et,At,nt,it,at){return md5cmn(tt&At|et&~At,$,tt,nt,it,at)}function md5hh($,tt,et,At,nt,it,at){return md5cmn(tt^et^At,$,tt,nt,it,at)}function md5ii($,tt,et,At,nt,it,at){return md5cmn(et^(tt|~At),$,tt,nt,it,at)}var yt=v35("v3",48,(function md5($){if("string"==typeof $){var tt=unescape(encodeURIComponent($));$=new Uint8Array(tt.length);for(var et=0;et<tt.length;++et)$[et]=tt.charCodeAt(et)}return function md5ToHexEncodedArray($){for(var tt=[],et=32*$.length,At=0;At<et;At+=8){var nt=$[At>>5]>>>At%32&255,it=parseInt("0123456789abcdef".charAt(nt>>>4&15)+"0123456789abcdef".charAt(15&nt),16);tt.push(it)}return tt}(function wordsToMd5($,tt){$[tt>>5]|=128<<tt%32,$[getOutputLength(tt)-1]=tt;for(var et=1732584193,At=-271733879,nt=-1732584194,it=271733878,at=0;at<$.length;at+=16){var rt=et,st=At,ot=nt,ut=it;et=md5ff(et,At,nt,it,$[at],7,-680876936),it=md5ff(it,et,At,nt,$[at+1],12,-389564586),nt=md5ff(nt,it,et,At,$[at+2],17,606105819),At=md5ff(At,nt,it,et,$[at+3],22,-1044525330),et=md5ff(et,At,nt,it,$[at+4],7,-176418897),it=md5ff(it,et,At,nt,$[at+5],12,1200080426),nt=md5ff(nt,it,et,At,$[at+6],17,-1473231341),At=md5ff(At,nt,it,et,$[at+7],22,-45705983),et=md5ff(et,At,nt,it,$[at+8],7,1770035416),it=md5ff(it,et,At,nt,$[at+9],12,-1958414417),nt=md5ff(nt,it,et,At,$[at+10],17,-42063),At=md5ff(At,nt,it,et,$[at+11],22,-1990404162),et=md5ff(et,At,nt,it,$[at+12],7,1804603682),it=md5ff(it,et,At,nt,$[at+13],12,-40341101),nt=md5ff(nt,it,et,At,$[at+14],17,-1502002290),At=md5ff(At,nt,it,et,$[at+15],22,1236535329),et=md5gg(et,At,nt,it,$[at+1],5,-165796510),it=md5gg(it,et,At,nt,$[at+6],9,-1069501632),nt=md5gg(nt,it,et,At,$[at+11],14,643717713),At=md5gg(At,nt,it,et,$[at],20,-373897302),et=md5gg(et,At,nt,it,$[at+5],5,-701558691),it=md5gg(it,et,At,nt,$[at+10],9,38016083),nt=md5gg(nt,it,et,At,$[at+15],14,-660478335),At=md5gg(At,nt,it,et,$[at+4],20,-405537848),et=md5gg(et,At,nt,it,$[at+9],5,568446438),it=md5gg(it,et,At,nt,$[at+14],9,-1019803690),nt=md5gg(nt,it,et,At,$[at+3],14,-187363961),At=md5gg(At,nt,it,et,$[at+8],20,1163531501),et=md5gg(et,At,nt,it,$[at+13],5,-1444681467),it=md5gg(it,et,At,nt,$[at+2],9,-51403784),nt=md5gg(nt,it,et,At,$[at+7],14,1735328473),At=md5gg(At,nt,it,et,$[at+12],20,-1926607734),et=md5hh(et,At,nt,it,$[at+5],4,-378558),it=md5hh(it,et,At,nt,$[at+8],11,-2022574463),nt=md5hh(nt,it,et,At,$[at+11],16,1839030562),At=md5hh(At,nt,it,et,$[at+14],23,-35309556),et=md5hh(et,At,nt,it,$[at+1],4,-1530992060),it=md5hh(it,et,At,nt,$[at+4],11,1272893353),nt=md5hh(nt,it,et,At,$[at+7],16,-155497632),At=md5hh(At,nt,it,et,$[at+10],23,-1094730640),et=md5hh(et,At,nt,it,$[at+13],4,681279174),it=md5hh(it,et,At,nt,$[at],11,-358537222),nt=md5hh(nt,it,et,At,$[at+3],16,-722521979),At=md5hh(At,nt,it,et,$[at+6],23,76029189),et=md5hh(et,At,nt,it,$[at+9],4,-640364487),it=md5hh(it,et,At,nt,$[at+12],11,-421815835),nt=md5hh(nt,it,et,At,$[at+15],16,530742520),At=md5hh(At,nt,it,et,$[at+2],23,-995338651),et=md5ii(et,At,nt,it,$[at],6,-198630844),it=md5ii(it,et,At,nt,$[at+7],10,1126891415),nt=md5ii(nt,it,et,At,$[at+14],15,-1416354905),At=md5ii(At,nt,it,et,$[at+5],21,-57434055),et=md5ii(et,At,nt,it,$[at+12],6,1700485571),it=md5ii(it,et,At,nt,$[at+3],10,-1894986606),nt=md5ii(nt,it,et,At,$[at+10],15,-1051523),At=md5ii(At,nt,it,et,$[at+1],21,-2054922799),et=md5ii(et,At,nt,it,$[at+8],6,1873313359),it=md5ii(it,et,At,nt,$[at+15],10,-30611744),nt=md5ii(nt,it,et,At,$[at+6],15,-1560198380),At=md5ii(At,nt,it,et,$[at+13],21,1309151649),et=md5ii(et,At,nt,it,$[at+4],6,-145523070),it=md5ii(it,et,At,nt,$[at+11],10,-1120210379),nt=md5ii(nt,it,et,At,$[at+2],15,718787259),At=md5ii(At,nt,it,et,$[at+9],21,-343485551),et=safeAdd(et,rt),At=safeAdd(At,st),nt=safeAdd(nt,ot),it=safeAdd(it,ut)}return[et,At,nt,it]}(function bytesToWords($){if(0===$.length)return[];for(var tt=8*$.length,et=new Uint32Array(getOutputLength(tt)),At=0;At<tt;At+=8)et[At>>5]|=(255&$[At/8])<<At%32;return et}($),8*$.length))}));var Ct=function v4($,tt,et){var At=($=$||{}).random||($.rng||rng)();if(At[6]=15&At[6]|64,At[8]=63&At[8]|128,tt){et=et||0;for(var nt=0;nt<16;++nt)tt[et+nt]=At[nt];return tt}return ct(At)};function f($,tt,et,At){switch($){case 0:return tt&et^~tt&At;case 1:return tt^et^At;case 2:return tt&et^tt&At^et&At;case 3:return tt^et^At}}function ROTL($,tt){return $<<tt|$>>>32-tt}var Bt=v35("v5",80,(function sha1($){var tt=[1518500249,1859775393,2400959708,3395469782],et=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof $){var At=unescape(encodeURIComponent($));$=[];for(var nt=0;nt<At.length;++nt)$.push(At.charCodeAt(nt))}else Array.isArray($)||($=Array.prototype.slice.call($));$.push(128);for(var it=$.length/4+2,at=Math.ceil(it/16),rt=new Array(at),st=0;st<at;++st){for(var ot=new Uint32Array(16),ut=0;ut<16;++ut)ot[ut]=$[64*st+4*ut]<<24|$[64*st+4*ut+1]<<16|$[64*st+4*ut+2]<<8|$[64*st+4*ut+3];rt[st]=ot}rt[at-1][14]=8*($.length-1)/Math.pow(2,32),rt[at-1][14]=Math.floor(rt[at-1][14]),rt[at-1][15]=8*($.length-1)&4294967295;for(var ct=0;ct<at;++ct){for(var dt=new Uint32Array(80),It=0;It<16;++It)dt[It]=rt[ct][It];for(var ht=16;ht<80;++ht)dt[ht]=ROTL(dt[ht-3]^dt[ht-8]^dt[ht-14]^dt[ht-16],1);for(var pt=et[0],yt=et[1],Ct=et[2],Bt=et[3],Et=et[4],mt=0;mt<80;++mt){var Qt=Math.floor(mt/20),bt=ROTL(pt,5)+f(Qt,yt,Ct,Bt)+Et+tt[Qt]+dt[mt]>>>0;Et=Bt,Bt=Ct,Ct=ROTL(yt,30)>>>0,yt=pt,pt=bt}et[0]=et[0]+pt>>>0,et[1]=et[1]+yt>>>0,et[2]=et[2]+Ct>>>0,et[3]=et[3]+Bt>>>0,et[4]=et[4]+Et>>>0}return[et[0]>>24&255,et[0]>>16&255,et[0]>>8&255,255&et[0],et[1]>>24&255,et[1]>>16&255,et[1]>>8&255,255&et[1],et[2]>>24&255,et[2]>>16&255,et[2]>>8&255,255&et[2],et[3]>>24&255,et[3]>>16&255,et[3]>>8&255,255&et[3],et[4]>>24&255,et[4]>>16&255,et[4]>>8&255,255&et[4]]}));var Et=function version_version($){if(!at($))throw TypeError("Invalid UUID");return parseInt($.substr(14,1),16)};et.d(tt,"v1",(function(){return ht})),et.d(tt,"v3",(function(){return yt})),et.d(tt,"v4",(function(){return Ct})),et.d(tt,"v5",(function(){return Bt})),et.d(tt,"NIL",(function(){return"00000000-0000-0000-0000-000000000000"})),et.d(tt,"version",(function(){return Et})),et.d(tt,"validate",(function(){return at})),et.d(tt,"stringify",(function(){return ct})),et.d(tt,"parse",(function(){return pt}))},function($,tt,et){(function($,At){void 0===$&&($=et(170).Buffer);const nt=et(228),it=et(187),at=et(353),rt=et(376),st=et(377),ot=et(379),ut=et(194),ct=et(382),dt=et(183),It=et(383),{LogMessage:ht}=et(204),pt=et(465),{ValidatePresence:yt}=et(185),Ct={main:"https://main.net955305.contentfabric.io",demo:"https://demov3.net955210.contentfabric.io",demov3:"https://demov3.net955210.contentfabric.io",test:"https://test.net955203.contentfabric.io"};dt.Platform()===dt.PLATFORM_NODE&&(At.Response=et(229).Response);class ElvClient{Log($,tt=!1){ht(this,$,tt)}ToggleLogging($,tt={}){[this,this.authClient,this.ethClient,this.HttpClient,this.userProfileClient].forEach(et=>{et&&(et.debug=$,et.debugOptions=tt)}),$&&this.Log(`Debug Logging Enabled:\n Content Space: ${this.contentSpaceId}\n Fabric URLs: [\n\t\t${this.fabricURIs.join(", \n\t\t")}\n\t]\n Ethereum URLs: [\\n\\t\\t${this.ethereumURIs.join(", \n\t\t")}\\n\\t]\n Auth Service URLs: [\\n\\t\\t${this.authServiceURIs.join(", \n\t\t")}\\n\\t]\n `)}EnableMethodLogging(){var $;$=this,Object.getOwnPropertyNames(Object.getPrototypeOf($)).filter(tt=>"function"==typeof $[tt]).forEach(tt=>{const et=$[tt].bind($);"AsyncFunction"===et.constructor.name?$[tt]=async(...$)=>{const At=Date.now(),nt=await et(...$);return console.log(tt,Date.now()-At,"ms",JSON.stringify($)),nt}:$[tt]=(...$)=>{const At=Date.now(),nt=et(...$);return console.log(tt,Date.now()-At,"ms",JSON.stringify($)),nt}})}constructor({contentSpaceId:$,networkId:tt,networkName:et,fabricVersion:At,fabricURIs:nt,ethereumURIs:it,authServiceURIs:at,ethereumContractTimeout:rt=10,trustAuthorityId:st,staticToken:ot,noCache:ut=!1,noAuth:ct=!1}){this.utils=dt,this.contentSpaceId=$,this.contentSpaceAddress=this.utils.HashToAddress($),this.contentSpaceLibraryId=this.utils.AddressToLibraryId(this.contentSpaceAddress),this.contentSpaceObjectId=this.utils.AddressToObjectId(this.contentSpaceAddress),this.networkId=tt,this.networkName=et,this.fabricVersion=At,this.fabricURIs=nt,this.authServiceURIs=at,this.ethereumURIs=it,this.ethereumContractTimeout=rt,this.trustAuthorityId=st,this.noCache=ut,this.noAuth=ct,this.debug=!1,this.InitializeClients({staticToken:ot})}static async Configuration({configUrl:$,kmsUrls:tt=[],region:et}){try{const At=new nt($);At.pathname("/config"),et&&At.addSearch("elvgeo",et);const it=await dt.ResponseToJson(ut.Fetch(At.toString())),filterHTTPS=$=>$.toLowerCase().startsWith("https");let at=it.network.services.fabric_api;at.find(filterHTTPS)&&(at=at.filter(filterHTTPS));let rt=it.network.services.ethereum_api;rt.find(filterHTTPS)&&(rt=rt.filter(filterHTTPS));let st=it.network.services.authority_service||[];st.find(filterHTTPS)&&(st=st.filter(filterHTTPS));const ot=Math.max(...it.network.api_versions||[2]);return{nodeId:it.node_id,contentSpaceId:it.qspace.id,networkId:(it.qspace.ethereum||{}).network_id,networkName:((it.qspace||{}).names||[])[0],fabricURIs:at,ethereumURIs:rt,authServiceURIs:st,kmsURIs:tt,fabricVersion:ot}}catch($){throw console.error("Error retrieving fabric configuration:"),console.error($),$}}static async FromNetworkName({networkName:$,region:tt,trustAuthorityId:et,staticToken:At,ethereumContractTimeout:nt=10,noCache:it=!1,noAuth:at=!1}){const rt=Ct[$];if(!rt)throw Error("Invalid network name: "+$);return await this.FromConfigurationUrl({configUrl:rt,region:tt,trustAuthorityId:et,staticToken:At,ethereumContractTimeout:nt,noCache:it,noAuth:at})}static async FromConfigurationUrl({configUrl:$,region:tt,trustAuthorityId:et,staticToken:At,ethereumContractTimeout:nt=10,noCache:it=!1,noAuth:at=!1}){const{contentSpaceId:rt,networkId:st,networkName:ot,fabricURIs:ut,ethereumURIs:ct,authServiceURIs:dt,fabricVersion:It}=await ElvClient.Configuration({configUrl:$,region:tt}),ht=new ElvClient({contentSpaceId:rt,networkId:st,networkName:ot,fabricVersion:It,fabricURIs:ut,ethereumURIs:ct,authServiceURIs:dt,ethereumContractTimeout:nt,trustAuthorityId:et,staticToken:At,noCache:it,noAuth:at});return ht.configUrl=$,ht}async InitializeClients({staticToken:$}={}){if(this.contentTypes={},this.encryptionConks={},this.stateChannelAccess={},this.objectLibraryIds={},this.objectImageUrls={},this.visibilityInfo={},this.inaccessibleLibraries={},this.HttpClient=new ut({uris:this.fabricURIs,debug:this.debug}),this.AuthHttpClient=new ut({uris:this.authServiceURIs,debug:this.debug}),this.ethClient=new st({client:this,uris:this.ethereumURIs,networkId:this.networkId,debug:this.debug,timeout:this.ethereumContractTimeout}),!this.signer){const tt=this.GenerateWallet(),et=tt.AddAccountFromMnemonic({mnemonic:tt.GenerateMnemonic()});this.SetSigner({signer:et,reset:!1}),this.SetStaticToken({token:$})}this.authClient=new at({client:this,contentSpaceId:this.contentSpaceId,signer:this.signer,noCache:this.noCache,noAuth:this.noAuth,debug:this.debug}),this.userProfileClient=new ot({client:this,debug:this.debug}),this.Crypto=It,this.Crypto.ElvCrypto()}ConfigUrl(){return this.configUrl}SetAuth($){this.noAuth=!$,this.authClient.noAuth=!$}async UseRegion({region:$}){if(!this.configUrl)throw Error("Unable to change region: Configuration URL not set");const{fabricURIs:tt,ethereumURIs:et,authServiceURIs:At}=await ElvClient.Configuration({configUrl:this.configUrl,region:$});return this.authServiceURIs=At,this.fabricURIs=tt,this.ethereumURIs=et,this.HttpClient.uris=tt,this.HttpClient.uriIndex=0,this.ethClient.ethereumURIs=et,this.ethClient.ethereumURIIndex=0,{fabricURIs:tt,ethereumURIs:et}}async ResetRegion(){if(!this.configUrl)throw Error("Unable to change region: Configuration URL not set");return await this.UseRegion({region:""})}async NodeId({region:$}){const{nodeId:tt}=await ElvClient.Configuration({configUrl:this.configUrl,region:$});return tt}Nodes(){return{fabricURIs:this.fabricURIs,ethereumURIs:this.ethereumURIs,authServiceURIs:this.authServiceURIs}}SetNodes({fabricURIs:$,ethereumURIs:tt,authServiceURIs:et}){$&&(this.fabricURIs=$,this.HttpClient.uris=$,this.HttpClient.uriIndex=0),tt&&(this.ethereumURIs=tt,this.ethClient.ethereumURIs=tt,this.ethClient.ethereumURIIndex=0),et&&(this.authServiceURIs=et,this.AuthHttpClient.uris=et,this.AuthHttpClient.uriIndex=0)}NetworkInfo(){return{name:this.networkName,id:this.networkId,configUrl:this.configUrl}}GenerateWallet(){return new rt(this.ethClient.Provider())}ClearSigner(){this.signer=void 0,this.InitializeClients()}ClearCache(){this.authClient.ClearCache()}SetSigner({signer:$,reset:tt=!0}){this.staticToken=void 0,$.connect(this.ethClient.Provider()),$.provider.pollingInterval=500,this.signer=$,tt&&this.InitializeClients()}async SetRemoteSigner({token:$}){const tt=new ct({rpcUris:this.authServiceURIs,idToken:$,provider:this.ethClient.provider});await tt.Initialize(),this.SetSigner({signer:tt})}async SetSignerFromWeb3Provider({provider:$}){this.staticToken=void 0;let tt=new it.providers.Web3Provider($);tt.pollingInterval=250,this.signer=tt.getSigner(),this.signer.address=await this.signer.getAddress(),await this.InitializeClients()}async CreateAccount({tenantId:$,fundingToken:tt,funds:et=.5,groupToken:At}){if(!this.signer){const $=this.GenerateWallet(),tt=$.AddAccountFromMnemonic({mnemonic:$.GenerateMnemonic()});this.SetSigner({signer:tt})}return await this.authClient.MakeKMSRequest({method:"POST",path:`/ks/otp/fnd/${$}`,body:{toAddr:this.signer.address,amtStr:this.utils.EtherToWei(et)},headers:{Authorization:`Bearer ${tt}`}}),await this.userProfileClient.CreateWallet(),await this.userProfileClient.ReplaceUserMetadata({metadataSubtree:"tenantContractId",metadata:$}),At&&await this.authClient.MakeKMSRequest({method:"POST",path:`/ks/otp/grp/${$}`,body:{addAddr:this.signer.address},headers:{Authorization:`Bearer ${At}`}}),this.utils.FormatAddress(this.signer.address)}async CreateSignedToken({libraryId:tt,objectId:et,versionHash:At,policyId:nt,subject:at,grantType:rt="read",allowDecryption:st=!1,duration:ot,context:ut={}}){at||(at=`iusr${this.utils.AddressToHash(await this.CurrentAccountAddress())}`),nt&&(ut["elv:delegation-id"]=nt);let ct={adr:$.from(await this.CurrentAccountAddress().replace(/^0x/,""),"hex").toString("base64"),sub:at,spc:await this.ContentSpaceId(),iat:Date.now(),exp:Date.now()+ot,gra:rt,ctx:ut};if(At&&(et=this.utils.DecodeVersionHash(At).objectId),et&&(ct.qid=et,tt||(tt=await this.ContentObjectLibraryId({objectId:et}))),tt&&(ct.lib=tt),st){const $=await this.authClient.ReEncryptionConk({libraryId:tt,objectId:et});ct.apk=$.public_key}const dt=pt.deflateRaw($.from(JSON.stringify(ct),"utf-8")),It=await this.authClient.Sign(it.utils.keccak256(dt));return`aessjc${this.utils.B58($.concat([$.from(It.replace(/^0x/,""),"hex"),$.from(dt)]))}`}CurrentAccountAddress(){return this.signer?this.utils.FormatAddress(this.signer.address):""}async SetOauthToken({token:$}){this.oauthToken=$;const tt=this.GenerateWallet(),et=tt.AddAccountFromMnemonic({mnemonic:tt.GenerateMnemonic()});this.SetSigner({signer:et})}async SetSignerFromOauthToken({token:$}){if(!this.trustAuthorityId)throw Error("Unable to authorize with OAuth token: No trust authority ID set");const tt=this.GenerateWallet();try{if(!this.kmsURIs){const $=await ElvClient.FromConfigurationUrl({configUrl:this.configUrl});$.SetSigner({signer:tt.AddAccountFromMnemonic({mnemonic:tt.GenerateMnemonic()})});const{urls:et}=await $.authClient.KMSInfo({kmsId:this.trustAuthorityId});if(!et||0===et.length)throw Error("Unable to authorize with OAuth token: No KMS URLs set");this.kmsURIs=et}this.oauthToken=$;const et="/ks/jwt/wlt",At=new ut({uris:this.kmsURIs,debug:this.debug}),nt=(await this.utils.ResponseToJson(At.Request({headers:{Authorization:`Bearer ${$}`},method:"PUT",path:et,forceFailover:!0}))).UserSKHex;this.SetSigner({signer:tt.AddAccount({privateKey:nt})}),await this.userProfileClient.WalletAddress()}catch($){throw this.Log("Failed to set signer from OAuth token:",!0),this.Log($,!0),await this.ClearSigner(),$}}SetStaticToken({token:$}={}){$||($=this.utils.B64(JSON.stringify({qspace_id:this.contentSpaceId}))),this.staticToken=$}async SetPolicyAuthorization({objectId:$}){this.SetStaticToken({token:await this.GenerateStateChannelToken({objectId:$})})}async Sign($){const tt=await this.authClient.Sign(it.utils.keccak256(it.utils.toUtf8Bytes($)));return this.utils.FormatSignature(tt)}async EncryptECIES({message:$,publicKey:tt}){if(!this.signer)throw"Signer not set";return yt("message",$),await this.Crypto.EncryptConk($,tt||this.signer.signingKey.keyPair.publicKey)}async DecryptECIES({message:$}){if(!this.signer)throw"Signer not set";return yt("message",$),await this.Crypto.DecryptCap($,this.signer.signingKey.privateKey)}async Request({url:$,format:tt="json",method:et="GET",headers:At={},body:nt}){return this.utils.ResponseToFormat(tt,ut.Fetch($,{method:et,headers:At,body:nt}))}FrameAllowedMethods(){const $=["constructor","AccessGroupMembershipMethod","CallFromFrameMessage","ClearSigner","CreateAccount","EnableMethodLogging","FormatBlockNumbers","FrameAllowedMethods","FromConfigurationUrl","GenerateWallet","InitializeClients","Log","SetRemoteSigner","SetSigner","SetSignerFromWeb3Provider","Sign","ToggleLogging"];return Object.getOwnPropertyNames(Object.getPrototypeOf(this)).filter(tt=>"function"==typeof this[tt]&&!$.includes(tt))}async CallFromFrameMessage($,tt){if("ElvFrameRequest"!==$.type)return;let et;$.callbackId&&(et=et=>{tt(this.utils.MakeClonable({type:"ElvFrameResponse",requestId:$.callbackId,response:et}))},$.args.callback=et);try{const et=$.calledMethod;let At;if("userProfileClient"===$.module){if(!this.userProfileClient.FrameAllowedMethods().includes(et))throw Error("Invalid user profile method: "+et);At=await this.userProfileClient[et]($.args)}else{if(!this.FrameAllowedMethods().includes(et))throw Error("Invalid method: "+et);At=await this[et]($.args)}tt(this.utils.MakeClonable({type:"ElvFrameResponse",requestId:$.requestId,response:At}))}catch(et){this.Log(`Frame Message Error:\n Method: ${$.calledMethod}\n Arguments: ${JSON.stringify($.args,null,2)}\n Error: ${"object"==typeof et?JSON.stringify(et,null,2):et}`,!0),console.error(et);const At=et instanceof Error?et.message:et;tt(this.utils.MakeClonable({type:"ElvFrameResponse",requestId:$.requestId,error:At}))}}}Object.assign(ElvClient.prototype,et(466)),Object.assign(ElvClient.prototype,et(271)),Object.assign(ElvClient.prototype,et(467)),Object.assign(ElvClient.prototype,et(468)),Object.assign(ElvClient.prototype,et(470)),Object.assign(ElvClient.prototype,et(471)),Object.assign(ElvClient.prototype,et(474)),Object.assign(ElvClient.prototype,et(475)),tt.ElvClient=ElvClient}).call(this,et(170).Buffer,et(21))}])]);
|