@libp2p/pubsub 6.0.2 → 6.0.4
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/index.min.js +1 -1
- package/dist/src/index.d.ts +2 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +16 -12
- package/dist/src/index.js.map +1 -1
- package/dist/src/peer-streams.d.ts.map +1 -1
- package/dist/src/peer-streams.js +1 -1
- package/dist/src/peer-streams.js.map +1 -1
- package/dist/src/sign.d.ts.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js.map +1 -1
- package/package.json +6 -8
- package/src/index.ts +35 -31
- package/src/peer-streams.ts +7 -7
- package/src/sign.ts +2 -2
- package/src/utils.ts +4 -4
package/dist/index.min.js
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
`,r};mu.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(e),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:ki.util.decode64(s[3])};if(t.push(a),!!s[2]){for(var u=s[2].split(i),f=0;s&&f<u.length;){for(var c=u[f].replace(/\s+$/,""),h=f+1;h<u.length;++h){var l=u[h];if(!/\s/.test(l[0]))break;c+=l,f=h}if(s=c.match(n),s){for(var d={name:s[1],values:[]},p=s[2].split(","),y=0;y<p.length;++y)d.values.push($l(p[y]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=p[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:p[0],parameters:p[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:p[0],type:p[1]}}}++f}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function Di(e){for(var t=e.name+": ",r=[],n=function(u,f){return" "+f},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
13
13
|
`;for(var s=0,o=-1,i=0;i<t.length;++i,++s)if(s>65&&o!==-1){var a=t[o];a===","?(++o,t=t.substr(0,o)+`\r
|
14
14
|
`+t.substr(o)):t=t.substr(0,o)+`\r
|
15
|
-
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function $l(e){return e.replace(/^\s+/,"")}});var Au=K((Sm,Bu)=>{var ge=J();lr();yt();var wu=Bu.exports=ge.sha256=ge.sha256||{};ge.md.sha256=ge.md.algorithms.sha256=wu;wu.create=function(){Su||Zl();var e=null,t=ge.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=ge.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=ge.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),bu(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ge.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(bo.substr(0,n.blockLength-o));for(var a,u,f=n.fullMessageLength[0]*8,c=0;c<n.fullMessageLength.length-1;++c)a=n.fullMessageLength[c+1]*8,u=a/4294967296>>>0,f+=u,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};bu(h,r,i);var l=ge.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l.putInt32(h.h5),l.putInt32(h.h6),l.putInt32(h.h7),l},n};var bo=null,Su=!1,Eu=null;function Zl(){bo=String.fromCharCode(128),bo+=ge.util.fillString(String.fromCharCode(0),64),Eu=[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],Su=!0}function bu(e,t,r){for(var n,i,s,o,a,u,f,c,h,l,d,p,y,x,v,w=r.length();w>=64;){for(f=0;f<16;++f)t[f]=r.getInt32();for(;f<64;++f)n=t[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[f]=n+t[f-7]+i+t[f-16]|0;for(c=e.h0,h=e.h1,l=e.h2,d=e.h3,p=e.h4,y=e.h5,x=e.h6,v=e.h7,f=0;f<64;++f)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=x^p&(y^x),s=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),u=c&h|l&(c^h),n=v+o+a+Eu[f]+t[f],i=s+u,v=x,x=y,y=p,p=d+n>>>0,d=l,l=h,h=c,c=n+i>>>0;e.h0=e.h0+c|0,e.h1=e.h1+h|0,e.h2=e.h2+l|0,e.h3=e.h3+d|0,e.h4=e.h4+p|0,e.h5=e.h5+y|0,e.h6=e.h6+x|0,e.h7=e.h7+v|0,w-=64}}});var Iu=K((Em,Cu)=>{var me=J();yt();var Ui=null;me.util.isNodejs&&!me.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ui=Or());var Xl=Cu.exports=me.prng=me.prng||{};Xl.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(f,c){if(!c)return t.generateSync(f);var h=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed,y=me.util.createBuffer();t.key=null,x();function x(v){if(v)return c(v);if(y.length()>=f)return c(null,y.getBytes(f));if(t.generated>1048575&&(t.key=null),t.key===null)return me.util.nextTick(function(){s(x)});var w=h(t.key,t.seed);t.generated+=w.length,y.putBytes(w),t.key=d(h(t.key,l(t.seed))),t.seed=p(h(t.key,t.seed)),me.util.setImmediate(x)}},t.generateSync=function(f){var c=t.plugin.cipher,h=t.plugin.increment,l=t.plugin.formatKey,d=t.plugin.formatSeed;t.key=null;for(var p=me.util.createBuffer();p.length()<f;){t.generated>1048575&&(t.key=null),t.key===null&&o();var y=c(t.key,t.seed);t.generated+=y.length,p.putBytes(y),t.key=l(c(t.key,h(t.seed))),t.seed=d(c(t.key,t.seed))}return p.getBytes(f)};function s(f){if(t.pools[0].messageLength>=32)return a(),f();var c=32-t.pools[0].messageLength<<5;t.seedFile(c,function(h,l){if(h)return f(h);t.collect(l),a(),f()})}function o(){if(t.pools[0].messageLength>=32)return a();var f=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(f)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var f=t.plugin.md.create();f.update(t.keyBytes);for(var c=1,h=0;h<32;++h)t.reseeds%c===0&&(f.update(t.pools[h].digest().getBytes()),t.pools[h].start()),c=c<<1;t.keyBytes=f.digest().getBytes(),f.start(),f.update(t.keyBytes);var l=f.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(l),t.generated=0}function u(f){var c=null,h=me.util.globalScope,l=h.crypto||h.msCrypto;l&&l.getRandomValues&&(c=function(C){return l.getRandomValues(C)});var d=me.util.createBuffer();if(c)for(;d.length()<f;){var p=Math.max(1,Math.min(f-d.length(),65536)/4),y=new Uint32Array(Math.floor(p));try{c(y);for(var x=0;x<y.length;++x)d.putInt32(y[x])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<f)for(var v,w,A,D=Math.floor(Math.random()*65536);d.length()<f;){w=16807*(D&65535),v=16807*(D>>16),w+=(v&32767)<<16,w+=v>>15,w=(w&2147483647)+(w>>31),D=w&4294967295;for(var x=0;x<3;++x)A=D>>>(x<<3),A^=Math.floor(Math.random()*256),d.putByte(A&255)}return d.getBytes(f)}return Ui?(t.seedFile=function(f,c){Ui.randomBytes(f,function(h,l){if(h)return c(h);c(null,l.toString())})},t.seedFileSync=function(f){return Ui.randomBytes(f).toString()}):(t.seedFile=function(f,c){try{c(null,u(f))}catch(h){c(h)}},t.seedFileSync=u),t.collect=function(f){for(var c=f.length,h=0;h<c;++h)t.pools[t.pool].update(f.substr(h,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(f,c){for(var h="",l=0;l<c;l+=8)h+=String.fromCharCode(f>>l&255);t.collect(h)},t.registerWorker=function(f){if(f===self)t.seedFile=function(h,l){function d(p){var y=p.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",d),l(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:h}}})};else{var c=function(h){var l=h.data;l.forge&&l.forge.prng&&t.seedFile(l.forge.prng.needed,function(d,p){f.postMessage({forge:{prng:{err:d,bytes:p}}})})};f.addEventListener("message",c)}},t}});var In=K((Bm,wo)=>{var _t=J();vi();Au();Iu();yt();(function(){if(_t.random&&_t.random.getBytes){wo.exports=_t.random;return}(function(e){var t={},r=new Array(4),n=_t.util.createBuffer();t.formatKey=function(h){var l=_t.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),_t.aes._expandKey(h,!1)},t.formatSeed=function(h){var l=_t.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),h},t.cipher=function(h,l){return _t.aes._updateBlock(h,l,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(h){return++h[3],h},t.md=_t.md.sha256;function i(){var h=_t.prng.create(t);return h.getBytes=function(l,d){return h.generate(l,d)},h.getBytesSync=function(l){return h.generate(l)},h}var s=i(),o=null,a=_t.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(o=function(h){return u.getRandomValues(h)}),_t.options.usePureJavaScript||!_t.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var c in navigator)try{typeof navigator[c]=="string"&&(f+=navigator[c])}catch{}s.collect(f),f=null}e&&(e().mousemove(function(h){s.collectInt(h.clientX,16),s.collectInt(h.clientY,16)}),e().keypress(function(h){s.collectInt(h.charCode,8)}))}if(!_t.random)_t.random=s;else for(var c in s)_t.random[c]=s[c];_t.random.createInstance=i,wo.exports=_t.random})(typeof jQuery<"u"?jQuery:null)})()});var Nu=K((Am,Ru)=>{var Mt=J();yt();var So=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],_u=[1,2,3,5],Jl=function(e,t){return e<<t&65535|(e&65535)>>16-t},jl=function(e,t){return(e&65535)>>t|e<<16-t&65535};Ru.exports=Mt.rc2=Mt.rc2||{};Mt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Mt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(So[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,So[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,So[r.at(a+1)^r.at(a+s)]);return r};var Tu=function(e,t,r){var n=!1,i=null,s=null,o=null,a,u,f,c,h=[];for(e=Mt.rc2.expandKey(e,t),f=0;f<64;f++)h.push(e.getInt16Le());r?(a=function(p){for(f=0;f<4;f++)p[f]+=h[c]+(p[(f+3)%4]&p[(f+2)%4])+(~p[(f+3)%4]&p[(f+1)%4]),p[f]=Jl(p[f],_u[f]),c++},u=function(p){for(f=0;f<4;f++)p[f]+=h[p[(f+3)%4]&63]}):(a=function(p){for(f=3;f>=0;f--)p[f]=jl(p[f],_u[f]),p[f]-=h[c]+(p[(f+3)%4]&p[(f+2)%4])+(~p[(f+3)%4]&p[(f+1)%4]),c--},u=function(p){for(f=3;f>=0;f--)p[f]-=h[p[(f+3)%4]&63]});var l=function(p){var y=[];for(f=0;f<4;f++){var x=i.getInt16Le();o!==null&&(r?x^=o.getInt16Le():o.putInt16Le(x)),y.push(x&65535)}c=r?0:63;for(var v=0;v<p.length;v++)for(var w=0;w<p[v][0];w++)p[v][1](y);for(f=0;f<4;f++)o!==null&&(r?o.putInt16Le(y[f]):y[f]^=o.getInt16Le()),s.putInt16Le(y[f])},d=null;return d={start:function(p,y){p&&typeof p=="string"&&(p=Mt.util.createBuffer(p)),n=!1,i=Mt.util.createBuffer(),s=y||new Mt.util.createBuffer,o=p,d.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)l([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(p){var y=!0;if(r)if(p)y=p(8,i,!r);else{var x=i.length()===8?8:8-i.length();i.fillWithByte(x,x)}if(y&&(n=!0,d.update()),!r&&(y=i.length()===0,y))if(p)y=p(8,s,!r);else{var v=s.length(),w=s.at(v-1);w>v?y=!1:s.truncate(w)}return y}},d};Mt.rc2.startEncrypting=function(e,t,r){var n=Mt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Mt.rc2.createEncryptionCipher=function(e,t){return Tu(e,t,!0)};Mt.rc2.startDecrypting=function(e,t,r){var n=Mt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Mt.rc2.createDecryptionCipher=function(e,t){return Tu(e,t,!1)}});var Mi=K((Cm,Mu)=>{var Eo=J();Mu.exports=Eo.jsbn=Eo.jsbn||{};var Ne,tp=0xdeadbeefcafe,Lu=(tp&16777215)==15715070;function S(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Eo.jsbn.BigInteger=S;function Y(){return new S(null)}function ep(e,t,r,n,i,s){for(;--s>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function rp(e,t,r,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var u=this.data[e]&32767,f=this.data[e++]>>15,c=a*u+f*o;u=o*u+((c&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(c>>>15)+a*f+(i>>>30),r.data[n++]=u&1073741823}return i}function Pu(e,t,r,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var u=this.data[e]&16383,f=this.data[e++]>>14,c=a*u+f*o;u=o*u+((c&16383)<<14)+r.data[n]+i,i=(u>>28)+(c>>14)+a*f,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(S.prototype.am=Pu,Ne=28):Lu&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=rp,Ne=30):Lu&&navigator.appName!="Netscape"?(S.prototype.am=ep,Ne=26):(S.prototype.am=Pu,Ne=28);S.prototype.DB=Ne;S.prototype.DM=(1<<Ne)-1;S.prototype.DV=1<<Ne;var Bo=52;S.prototype.FV=Math.pow(2,Bo);S.prototype.F1=Bo-Ne;S.prototype.F2=2*Ne-Bo;var np="0123456789abcdefghijklmnopqrstuvwxyz",Ki=new Array,Vr,Zt;Vr="0".charCodeAt(0);for(Zt=0;Zt<=9;++Zt)Ki[Vr++]=Zt;Vr="a".charCodeAt(0);for(Zt=10;Zt<36;++Zt)Ki[Vr++]=Zt;Vr="A".charCodeAt(0);for(Zt=10;Zt<36;++Zt)Ki[Vr++]=Zt;function Du(e){return np.charAt(e)}function ku(e,t){var r=Ki[e.charCodeAt(t)];return r??-1}function ip(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function sp(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Ge(e){var t=Y();return t.fromInt(e),t}function op(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=r==8?e[n]&255:ku(e,n);if(o<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&e[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function ap(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function up(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Du(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Du(n));return i?s:"0"}function fp(){var e=Y();return S.ZERO.subTo(this,e),e}function cp(){return this.s<0?this.negate():this}function hp(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Fi(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function lp(){return this.t<=0?0:this.DB*(this.t-1)+Fi(this.data[this.t-1]^this.s&this.DM)}function pp(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function dp(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function yp(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function gp(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&s)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&s)<<i),t.t=this.t-r,t.clamp()}function mp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function xp(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&S.ZERO.subTo(t,t)}function vp(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function bp(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=Y());var s=Y(),o=this.s,a=e.s,u=this.DB-Fi(n.data[n.t-1]);u>0?(n.lShiftTo(u,s),i.lShiftTo(u,r)):(n.copyTo(s),i.copyTo(r));var f=s.t,c=s.data[f-1];if(c!=0){var h=c*(1<<this.F1)+(f>1?s.data[f-2]>>this.F2:0),l=this.FV/h,d=(1<<this.F1)/h,p=1<<this.F2,y=r.t,x=y-f,v=t??Y();for(s.dlShiftTo(x,v),r.compareTo(v)>=0&&(r.data[r.t++]=1,r.subTo(v,r)),S.ONE.dlShiftTo(f,v),v.subTo(s,s);s.t<f;)s.data[s.t++]=0;for(;--x>=0;){var w=r.data[--y]==c?this.DM:Math.floor(r.data[y]*l+(r.data[y-1]+p)*d);if((r.data[y]+=s.am(0,w,r,x,0,f))<w)for(s.dlShiftTo(x,v),r.subTo(v,r);r.data[y]<--w;)r.subTo(v,r)}t!=null&&(r.drShiftTo(f,t),o!=a&&S.ZERO.subTo(t,t)),r.t=f,r.clamp(),u>0&&r.rShiftTo(u,r),o<0&&S.ZERO.subTo(r,r)}}}function wp(e){var t=Y();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&e.subTo(t,t),t}function pr(e){this.m=e}function Sp(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Ep(e){return e}function Bp(e){e.divRemTo(this.m,null,e)}function Ap(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Cp(e,t){e.squareTo(t),this.reduce(t)}pr.prototype.convert=Sp;pr.prototype.revert=Ep;pr.prototype.reduce=Bp;pr.prototype.mulTo=Ap;pr.prototype.sqrTo=Cp;function Ip(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function dr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function _p(e){var t=Y();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t}function Tp(e){var t=Y();return e.copyTo(t),this.reduce(t),t}function Rp(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Np(e,t){e.squareTo(t),this.reduce(t)}function Lp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}dr.prototype.convert=_p;dr.prototype.revert=Tp;dr.prototype.reduce=Rp;dr.prototype.mulTo=Lp;dr.prototype.sqrTo=Np;function Pp(){return(this.t>0?this.data[0]&1:this.s)==0}function Dp(e,t){if(e>4294967295||e<1)return S.ONE;var r=Y(),n=Y(),i=t.convert(this),s=Fi(e)-1;for(i.copyTo(r);--s>=0;)if(t.sqrTo(r,n),(e&1<<s)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)}function kp(e,t){var r;return e<256||t.isEven()?r=new pr(t):r=new dr(t),this.exp(e,r)}S.prototype.copyTo=ip;S.prototype.fromInt=sp;S.prototype.fromString=op;S.prototype.clamp=ap;S.prototype.dlShiftTo=pp;S.prototype.drShiftTo=dp;S.prototype.lShiftTo=yp;S.prototype.rShiftTo=gp;S.prototype.subTo=mp;S.prototype.multiplyTo=xp;S.prototype.squareTo=vp;S.prototype.divRemTo=bp;S.prototype.invDigit=Ip;S.prototype.isEven=Pp;S.prototype.exp=Dp;S.prototype.toString=up;S.prototype.negate=fp;S.prototype.abs=cp;S.prototype.compareTo=hp;S.prototype.bitLength=lp;S.prototype.mod=wp;S.prototype.modPowInt=kp;S.ZERO=Ge(0);S.ONE=Ge(1);function Up(){var e=Y();return this.copyTo(e),e}function Kp(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function Fp(){return this.t==0?this.s:this.data[0]<<24>>24}function Mp(){return this.t==0?this.s:this.data[0]<<16>>16}function Op(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Vp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function qp(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Ge(r),i=Y(),s=Y(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function zp(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,a=0;a<e.length;++a){var u=ku(e,a);if(u<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+u,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function Hp(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(S.ONE.shiftLeft(e-1),Ao,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(S.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Gp(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Wp(e){return this.compareTo(e)==0}function Qp(e){return this.compareTo(e)<0?this:e}function Yp(e){return this.compareTo(e)>0?this:e}function $p(e,t,r){var n,i,s=Math.min(e.t,this.t);for(n=0;n<s;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=s;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Zp(e,t){return e&t}function Xp(e){var t=Y();return this.bitwiseTo(e,Zp,t),t}function Ao(e,t){return e|t}function Jp(e){var t=Y();return this.bitwiseTo(e,Ao,t),t}function Uu(e,t){return e^t}function jp(e){var t=Y();return this.bitwiseTo(e,Uu,t),t}function Ku(e,t){return e&~t}function td(e){var t=Y();return this.bitwiseTo(e,Ku,t),t}function ed(){for(var e=Y(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function rd(e){var t=Y();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function nd(e){var t=Y();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function id(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function sd(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+id(this.data[e]);return this.s<0?this.t*this.DB:-1}function od(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function ad(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=od(this.data[r]^t);return e}function ud(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function fd(e,t){var r=S.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function cd(e){return this.changeBit(e,Ao)}function hd(e){return this.changeBit(e,Ku)}function ld(e){return this.changeBit(e,Uu)}function pd(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function dd(e){var t=Y();return this.addTo(e,t),t}function yd(e){var t=Y();return this.subTo(e,t),t}function gd(e){var t=Y();return this.multiplyTo(e,t),t}function md(e){var t=Y();return this.divRemTo(e,t,null),t}function xd(e){var t=Y();return this.divRemTo(e,null,t),t}function vd(e){var t=Y(),r=Y();return this.divRemTo(e,t,r),new Array(t,r)}function bd(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function wd(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function _n(){}function Fu(e){return e}function Sd(e,t,r){e.multiplyTo(t,r)}function Ed(e,t){e.squareTo(t)}_n.prototype.convert=Fu;_n.prototype.revert=Fu;_n.prototype.mulTo=Sd;_n.prototype.sqrTo=Ed;function Bd(e){return this.exp(e,new _n)}function Ad(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function Cd(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function qr(e){this.r2=Y(),this.q3=Y(),S.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Id(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=Y();return e.copyTo(t),this.reduce(t),t}function _d(e){return e}function Td(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Rd(e,t){e.squareTo(t),this.reduce(t)}function Nd(e,t,r){e.multiplyTo(t,r),this.reduce(r)}qr.prototype.convert=Id;qr.prototype.revert=_d;qr.prototype.reduce=Td;qr.prototype.mulTo=Nd;qr.prototype.sqrTo=Rd;function Ld(e,t){var r=e.bitLength(),n,i=Ge(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new pr(t):t.isEven()?s=new qr(t):s=new dr(t);var o=new Array,a=3,u=n-1,f=(1<<n)-1;if(o[1]=s.convert(this),n>1){var c=Y();for(s.sqrTo(o[1],c);a<=f;)o[a]=Y(),s.mulTo(c,o[a-2],o[a]),a+=2}var h=e.t-1,l,d=!0,p=Y(),y;for(r=Fi(e.data[h])-1;h>=0;){for(r>=u?l=e.data[h]>>r-u&f:(l=(e.data[h]&(1<<r+1)-1)<<u-r,h>0&&(l|=e.data[h-1]>>this.DB+r-u)),a=n;!(l&1);)l>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),d)o[l].copyTo(i),d=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(y=i,i=p,p=y),s.mulTo(p,o[l],i)}for(;h>=0&&!(e.data[h]&1<<r);)s.sqrTo(i,p),y=i,i=p,p=y,--r<0&&(r=this.DB-1,--h)}return s.revert(i)}function Pd(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),r.rShiftTo(s,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function Dd(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function kd(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return S.ZERO;for(var r=e.clone(),n=this.clone(),i=Ge(1),s=Ge(0),o=Ge(0),a=Ge(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var oe=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Ud=(1<<26)/oe[oe.length-1];function Kd(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=oe[oe.length-1]){for(t=0;t<oe.length;++t)if(r.data[0]==oe[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<oe.length;){for(var n=oe[t],i=t+1;i<oe.length&&n<Ud;)n*=oe[i++];for(n=r.modInt(n);t<i;)if(n%oe[t++]==0)return!1}return r.millerRabin(e)}function Fd(e){var t=this.subtract(S.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Md(),s,o=0;o<e;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Md(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Op;S.prototype.toRadix=qp;S.prototype.fromRadix=zp;S.prototype.fromNumber=Hp;S.prototype.bitwiseTo=$p;S.prototype.changeBit=fd;S.prototype.addTo=pd;S.prototype.dMultiply=bd;S.prototype.dAddOffset=wd;S.prototype.multiplyLowerTo=Ad;S.prototype.multiplyUpperTo=Cd;S.prototype.modInt=Dd;S.prototype.millerRabin=Fd;S.prototype.clone=Up;S.prototype.intValue=Kp;S.prototype.byteValue=Fp;S.prototype.shortValue=Mp;S.prototype.signum=Vp;S.prototype.toByteArray=Gp;S.prototype.equals=Wp;S.prototype.min=Qp;S.prototype.max=Yp;S.prototype.and=Xp;S.prototype.or=Jp;S.prototype.xor=jp;S.prototype.andNot=td;S.prototype.not=ed;S.prototype.shiftLeft=rd;S.prototype.shiftRight=nd;S.prototype.getLowestSetBit=sd;S.prototype.bitCount=ad;S.prototype.testBit=ud;S.prototype.setBit=cd;S.prototype.clearBit=hd;S.prototype.flipBit=ld;S.prototype.add=dd;S.prototype.subtract=yd;S.prototype.multiply=gd;S.prototype.divide=md;S.prototype.remainder=xd;S.prototype.divideAndRemainder=vd;S.prototype.modPow=Ld;S.prototype.modInverse=kd;S.prototype.pow=Bd;S.prototype.gcd=Pd;S.prototype.isProbablePrime=Kd});var Hu=K((Im,zu)=>{var xe=J();lr();yt();var Vu=zu.exports=xe.sha1=xe.sha1||{};xe.md.sha1=xe.md.algorithms.sha1=Vu;Vu.create=function(){qu||Od();var e=null,t=xe.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=xe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=xe.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),Ou(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=xe.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Co.substr(0,n.blockLength-o));for(var a,u,f=n.fullMessageLength[0]*8,c=0;c<n.fullMessageLength.length-1;++c)a=n.fullMessageLength[c+1]*8,u=a/4294967296>>>0,f+=u,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Ou(h,r,i);var l=xe.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l},n};var Co=null,qu=!1;function Od(){Co=String.fromCharCode(128),Co+=xe.util.fillString(String.fromCharCode(0),64),qu=!0}function Ou(e,t,r){for(var n,i,s,o,a,u,f,c,h=r.length();h>=64;){for(i=e.h0,s=e.h1,o=e.h2,a=e.h3,u=e.h4,c=0;c<16;++c)n=r.getInt32(),t[c]=n,f=a^s&(o^a),n=(i<<5|i>>>27)+f+u+1518500249+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<20;++c)n=t[c-3]^t[c-8]^t[c-14]^t[c-16],n=n<<1|n>>>31,t[c]=n,f=a^s&(o^a),n=(i<<5|i>>>27)+f+u+1518500249+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<32;++c)n=t[c-3]^t[c-8]^t[c-14]^t[c-16],n=n<<1|n>>>31,t[c]=n,f=s^o^a,n=(i<<5|i>>>27)+f+u+1859775393+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<40;++c)n=t[c-6]^t[c-16]^t[c-28]^t[c-32],n=n<<2|n>>>30,t[c]=n,f=s^o^a,n=(i<<5|i>>>27)+f+u+1859775393+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<60;++c)n=t[c-6]^t[c-16]^t[c-28]^t[c-32],n=n<<2|n>>>30,t[c]=n,f=s&o|a&(s^o),n=(i<<5|i>>>27)+f+u+2400959708+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<80;++c)n=t[c-6]^t[c-16]^t[c-28]^t[c-32],n=n<<2|n>>>30,t[c]=n,f=s^o^a,n=(i<<5|i>>>27)+f+u+3395469782+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+a|0,e.h4=e.h4+u|0,h-=64}}});var Qu=K((_m,Wu)=>{var ve=J();yt();In();Hu();var Gu=Wu.exports=ve.pkcs1=ve.pkcs1||{};Gu.encode_rsa_oaep=function(e,t,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=ve.md.sha1.create(),o||(o=s);var a=Math.ceil(e.n.bitLength()/8),u=a-2*s.digestLength-2;if(t.length>u){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=t.length,f.maxLength=u,f}n||(n=""),s.update(n,"raw");for(var c=s.digest(),h="",l=u-t.length,d=0;d<l;d++)h+="\0";var p=c.getBytes()+h+""+t;if(!i)i=ve.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=s.digestLength,f}var y=Oi(i,a-s.digestLength-1,o),x=ve.util.xorBytes(p,y,p.length),v=Oi(x,s.digestLength,o),w=ve.util.xorBytes(i,v,i.length);return"\0"+w+x};Gu.decode_rsa_oaep=function(e,t,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(e.n.bitLength()/8);if(t.length!==o){var x=new Error("RSAES-OAEP encoded message length is invalid.");throw x.length=t.length,x.expectedLength=o,x}if(i===void 0?i=ve.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),u=t.charAt(0),f=t.substring(1,i.digestLength+1),c=t.substring(1+i.digestLength),h=Oi(c,i.digestLength,s),l=ve.util.xorBytes(f,h,f.length),d=Oi(l,o-i.digestLength-1,s),p=ve.util.xorBytes(c,d,c.length),y=p.substring(0,i.digestLength),x=u!=="\0",v=0;v<i.digestLength;++v)x|=a.charAt(v)!==y.charAt(v);for(var w=1,A=i.digestLength,D=i.digestLength;D<p.length;D++){var C=p.charCodeAt(D),_=C&1^1,V=w?65534:0;x|=C&V,w=w&_,A+=w}if(x||p.charCodeAt(A)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(A+1)};function Oi(e,t,r){r||(r=ve.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}});var Yu=K((Tm,Io)=>{var We=J();yt();Mi();In();(function(){if(We.prime){Io.exports=We.prime;return}var e=Io.exports=We.prime=We.prime||{},t=We.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(h,l){return h|l};e.generateProbablePrime=function(h,l,d){typeof l=="function"&&(d=l,l={}),l=l||{};var p=l.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var y=l.prng||We.random,x={nextBytes:function(v){for(var w=y.getBytesSync(v.length),A=0;A<v.length;++A)v[A]=w.charCodeAt(A)}};if(p.name==="PRIMEINC")return s(h,x,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(h,l,d,p){return"workers"in d?u(h,l,d,p):o(h,l,d,p)}function o(h,l,d,p){var y=f(h,l),x=0,v=c(y.bitLength());"millerRabinTests"in d&&(v=d.millerRabinTests);var w=10;"maxBlockTime"in d&&(w=d.maxBlockTime),a(y,h,l,x,v,w,p)}function a(h,l,d,p,y,x,v){var w=+new Date;do{if(h.bitLength()>l&&(h=f(l,d)),h.isProbablePrime(y))return v(null,h);h.dAddOffset(r[p++%8],0)}while(x<0||+new Date-w<x);We.util.setImmediate(function(){a(h,l,d,p,y,x,v)})}function u(h,l,d,p){if(typeof Worker>"u")return o(h,l,d,p);var y=f(h,l),x=d.workers,v=d.workLoad||100,w=v*30/8,A=d.workerScript||"forge/prime.worker.js";if(x===-1)return We.util.estimateCores(function(C,_){C&&(_=2),x=_-1,D()});D();function D(){x=Math.max(1,x);for(var C=[],_=0;_<x;++_)C[_]=new Worker(A);for(var V=x,_=0;_<x;++_)C[_].addEventListener("message",wt);var z=!1;function wt(jt){if(!z){--V;var Vt=jt.data;if(Vt.found){for(var Dt=0;Dt<C.length;++Dt)C[Dt].terminate();return z=!0,p(null,new t(Vt.prime,16))}y.bitLength()>h&&(y=f(h,l));var Sr=y.toString(16);jt.target.postMessage({hex:Sr,workLoad:v}),y.dAddOffset(w,0)}}}}function f(h,l){var d=new t(h,l),p=h-1;return d.testBit(p)||d.bitwiseTo(t.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function c(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var qi=K((Rm,ef)=>{var k=J();Cn();Mi();Ri();Qu();Yu();In();yt();typeof H>"u"&&(H=k.jsbn.BigInteger);var H,_o=k.util.isNodejs?Or():null,m=k.asn1,Xt=k.util;k.pki=k.pki||{};ef.exports=k.pki.rsa=k.rsa=k.rsa||{};var F=k.pki,Vd=[6,4,2,4,2,4,6,2],qd={name:"PrivateKeyInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},zd={name:"RSAPrivateKey",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Hd={name:"RSAPublicKey",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Gd=k.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:m.Class.UNIVERSAL,type:m.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Wd={name:"DigestInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:m.Class.UNIVERSAL,type:m.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:m.Class.UNIVERSAL,type:m.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:m.Class.UNIVERSAL,type:m.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Qd=function(e){var t;if(e.algorithm in F.oids)t=F.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=m.oidToDer(t).getBytes(),i=m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[]),s=m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[]);s.value.push(m.create(m.Class.UNIVERSAL,m.Type.OID,!1,n)),s.value.push(m.create(m.Class.UNIVERSAL,m.Type.NULL,!1,""));var o=m.create(m.Class.UNIVERSAL,m.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(s),i.value.push(o),m.toDer(i).getBytes()},ju=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(H.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(H.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new H(k.util.bytesToHex(k.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(H.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),s=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};F.rsa.encrypt=function(e,t,r){var n=r,i,s=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=tf(e,t,r)):(i=k.util.createBuffer(),i.putBytes(e));for(var o=new H(i.toHex(),16),a=ju(o,t,n),u=a.toString(16),f=k.util.createBuffer(),c=s-Math.ceil(u.length/2);c>0;)f.putByte(0),--c;return f.putBytes(k.util.hexToBytes(u)),f.getBytes()};F.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new H(k.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=ju(o,t,r),u=a.toString(16),f=k.util.createBuffer(),c=i-Math.ceil(u.length/2);c>0;)f.putByte(0),--c;return f.putBytes(k.util.hexToBytes(u)),n!==!1?Vi(f.getBytes(),t,r):f.getBytes()};F.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||k.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=u.charCodeAt(f)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:e,rng:i,eInt:t||65537,e:new H(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};F.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new H(null);r.fromInt(30);for(var n=0,i=function(h,l){return h|l},s=+new Date,o,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var u=e.p===null?e.pBits:e.qBits,f=u-1;e.pqState===0?(e.num=new H(u,e.rng),e.num.testBit(f)||e.num.bitwiseTo(H.ONE.shiftLeft(f),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>u?e.pqState=0:e.num.isProbablePrime($d(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Vd[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(H.ONE).gcd(e.e).compareTo(H.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(H.ONE),e.q1=e.q.subtract(H.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(H.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var c=e.e.modInverse(e.phi);e.keys={privateKey:F.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:F.rsa.setPublicKey(e.n,e.e)}}o=+new Date,a+=o-s,s=o}return e.keys!==null};F.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!k.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if($u("generateKeyPair"))return _o.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,f){if(a)return n(a);n(null,{privateKey:F.privateKeyFromPem(f),publicKey:F.publicKeyFromPem(u)})});if(Zu("generateKey")&&Zu("exportKey"))return Xt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Ju(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Xt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=F.privateKeyFromAsn1(m.fromDer(k.util.createBuffer(a)));n(null,{privateKey:u,publicKey:F.setRsaPublicKey(u.n,u.e)})}});if(Xu("generateKey")&&Xu("exportKey")){var i=Xt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Ju(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,f=Xt.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);f.oncomplete=function(c){var h=c.target.result,l=F.privateKeyFromAsn1(m.fromDer(k.util.createBuffer(h)));n(null,{privateKey:l,publicKey:F.setRsaPublicKey(l.n,l.e)})},f.onerror=function(c){n(c)}},i.onerror=function(a){n(a)};return}}else if($u("generateKeyPairSync")){var s=_o.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:F.privateKeyFromPem(s.privateKey),publicKey:F.publicKeyFromPem(s.publicKey)}}}var o=F.rsa.createKeyPairGenerationState(e,t,r);if(!n)return F.rsa.stepKeyPairGenerationState(o,0),o.keys;Yd(o,r,n)};F.setRsaPublicKey=F.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,u,f){return tf(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return k.pkcs1.encode_rsa_oaep(u,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return F.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(u,f){f=Vi(f,r,!0);var c=m.fromDer(f,{parseAllBytes:o._parseAllDigestBytes}),h={},l=[];if(!m.validate(c,Wd,h,l)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=l,d}var p=m.derToOid(h.algorithmIdentifier);if(!(p===k.oids.md2||p===k.oids.md5||p===k.oids.sha1||p===k.oids.sha224||p===k.oids.sha256||p===k.oids.sha384||p===k.oids.sha512||p===k.oids["sha512-224"]||p===k.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===k.oids.md2||p===k.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===h.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(u,f){return f=Vi(f,r,!0),u===f}});var a=F.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};F.setRsaPrivateKey=F.rsa.setPrivateKey=function(e,t,r,n,i,s,o,a){var u={n:e,e:t,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return u.decrypt=function(f,c,h){typeof c=="string"?c=c.toUpperCase():c===void 0&&(c="RSAES-PKCS1-V1_5");var l=F.rsa.decrypt(f,u,!1,!1);if(c==="RSAES-PKCS1-V1_5")c={decode:Vi};else if(c==="RSA-OAEP"||c==="RSAES-OAEP")c={decode:function(d,p){return k.pkcs1.decode_rsa_oaep(p,d,h)}};else if(["RAW","NONE","NULL",null].indexOf(c)!==-1)c={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+c+'".');return c.decode(l,u,!1)},u.sign=function(f,c){var h=!1;typeof c=="string"&&(c=c.toUpperCase()),c===void 0||c==="RSASSA-PKCS1-V1_5"?(c={encode:Qd},h=1):(c==="NONE"||c==="NULL"||c===null)&&(c={encode:function(){return f}},h=1);var l=c.encode(f,u.n.bitLength());return F.rsa.encrypt(l,u,h)},u};F.wrapRsaPrivateKey=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,m.integerToDer(0).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.OID,!1,m.oidToDer(F.oids.rsaEncryption).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.NULL,!1,"")]),m.create(m.Class.UNIVERSAL,m.Type.OCTETSTRING,!1,m.toDer(e).getBytes())])};F.privateKeyFromAsn1=function(e){var t={},r=[];if(m.validate(e,qd,t,r)&&(e=m.fromDer(k.util.createBuffer(t.privateKey))),t={},r=[],!m.validate(e,zd,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,u,f,c,h;return i=k.util.createBuffer(t.privateKeyModulus).toHex(),s=k.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=k.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=k.util.createBuffer(t.privateKeyPrime1).toHex(),u=k.util.createBuffer(t.privateKeyPrime2).toHex(),f=k.util.createBuffer(t.privateKeyExponent1).toHex(),c=k.util.createBuffer(t.privateKeyExponent2).toHex(),h=k.util.createBuffer(t.privateKeyCoefficient).toHex(),F.setRsaPrivateKey(new H(i,16),new H(s,16),new H(o,16),new H(a,16),new H(u,16),new H(f,16),new H(c,16),new H(h,16))};F.privateKeyToAsn1=F.privateKeyToRSAPrivateKey=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,m.integerToDer(0).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.n)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.e)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.d)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.p)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.q)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.dP)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.dQ)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.qInv))])};F.publicKeyFromAsn1=function(e){var t={},r=[];if(m.validate(e,Gd,t,r)){var n=m.derToOid(t.publicKeyOid);if(n!==F.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!m.validate(e,Hd,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=k.util.createBuffer(t.publicKeyModulus).toHex(),o=k.util.createBuffer(t.publicKeyExponent).toHex();return F.setRsaPublicKey(new H(s,16),new H(o,16))};F.publicKeyToAsn1=F.publicKeyToSubjectPublicKeyInfo=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.OID,!1,m.oidToDer(F.oids.rsaEncryption).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.NULL,!1,"")]),m.create(m.Class.UNIVERSAL,m.Type.BITSTRING,!1,[F.publicKeyToRSAPublicKey(e)])])};F.publicKeyToRSAPublicKey=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.n)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.e))])};function tf(e,t,r){var n=k.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var u=0;u<o;++u)n.putByte(a)}else for(;o>0;){for(var f=0,c=k.random.getBytes(o),u=0;u<o;++u)a=c.charCodeAt(u),a===0?++f:n.putByte(a);o=f}return n.putByte(0),n.putBytes(e),n}function Vi(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),s=k.util.createBuffer(e),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var u=0;if(a===0){u=i-3-n;for(var f=0;f<u;++f)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++u}else if(a===2)for(u=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++u}var c=s.getByte();if(c!==0||u!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function Yd(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(e.pBits,function(a,u){if(a)return r(a);if(e.p=u,e.q!==null)return o(a,e.q);s(e.qBits,o)})}function s(a,u){k.prime.generateProbablePrime(a,n,u)}function o(a,u){if(a)return r(a);if(e.q=u,e.p.compareTo(e.q)<0){var f=e.p;e.p=e.q,e.q=f}if(e.p.subtract(H.ONE).gcd(e.e).compareTo(H.ONE)!==0){e.p=null,i();return}if(e.q.subtract(H.ONE).gcd(e.e).compareTo(H.ONE)!==0){e.q=null,s(e.qBits,o);return}if(e.p1=e.p.subtract(H.ONE),e.q1=e.q.subtract(H.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(H.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,s(e.qBits,o);return}var c=e.e.modInverse(e.phi);e.keys={privateKey:F.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:F.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function be(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=k.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function $d(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function $u(e){return k.util.isNodejs&&typeof _o[e]=="function"}function Zu(e){return typeof Xt.globalScope<"u"&&typeof Xt.globalScope.crypto=="object"&&typeof Xt.globalScope.crypto.subtle=="object"&&typeof Xt.globalScope.crypto.subtle[e]=="function"}function Xu(e){return typeof Xt.globalScope<"u"&&typeof Xt.globalScope.msCrypto=="object"&&typeof Xt.globalScope.msCrypto.subtle=="object"&&typeof Xt.globalScope.msCrypto.subtle[e]=="function"}function Ju(e){for(var t=k.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var uf=K((Nm,af)=>{var T=J();vi();Cn();lu();lr();Ri();vo();vu();In();Nu();qi();yt();typeof rf>"u"&&(rf=T.jsbn.BigInteger);var rf,b=T.asn1,M=T.pki=T.pki||{};af.exports=M.pbe=T.pbe=T.pbe||{};var yr=M.oids,Zd={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Xd={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Jd={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};M.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=T.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,c,h;switch(r.algorithm){case"aes128":o=16,f=16,c=yr["aes128-CBC"],h=T.aes.createEncryptionCipher;break;case"aes192":o=24,f=16,c=yr["aes192-CBC"],h=T.aes.createEncryptionCipher;break;case"aes256":o=32,f=16,c=yr["aes256-CBC"],h=T.aes.createEncryptionCipher;break;case"des":o=8,f=8,c=yr.desCBC,h=T.des.createEncryptionCipher;break;default:var l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),p=of(d),y=T.pkcs5.pbkdf2(t,n,i,o,p),x=T.random.getBytesSync(f),v=h(y);v.start(x),v.update(b.toDer(e)),v.finish(),u=v.output.getBytes();var w=jd(n,s,o,d);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(yr.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(yr.pkcs5PBKDF2).getBytes()),w]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(c).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,x)])])])}else if(r.algorithm==="3des"){o=24;var A=new T.util.ByteBuffer(n),y=M.pbe.generatePkcs12Key(t,A,1,i,o),x=M.pbe.generatePkcs12Key(t,A,2,i,o),v=T.des.createEncryptionCipher(y);v.start(x),v.update(b.toDer(e)),v.finish(),u=v.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(yr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,s.getBytes())])])}else{var l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var D=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,u)]);return D};M.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!b.validate(e,Zd,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=b.derToOid(n.encryptionOid),a=M.pbe.getCipher(o,n.encryptionParams,t),u=T.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=b.fromDer(a.output)),r};M.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(e).getBytes()};return T.pem.encode(r,{maxline:t})};M.encryptedPrivateKeyFromPem=function(e){var t=T.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(t.body)};M.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=M.wrapRsaPrivateKey(M.privateKeyToAsn1(e));return n=M.encryptPrivateKeyInfo(n,t,r),M.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=T.random.getBytesSync(16),a=T.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=T.random.getBytesSync(16),a=T.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=T.random.getBytesSync(16),a=T.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=T.random.getBytesSync(8),a=T.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=T.random.getBytesSync(8),a=T.des.createEncryptionCipher;break;default:var u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var f=T.pbe.opensslDeriveBytes(t,s.substr(0,8),o),c=a(f);c.start(s),c.update(b.toDer(M.privateKeyToAsn1(e))),c.finish();var h={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:T.util.bytesToHex(s).toUpperCase()},body:c.output.getBytes()};return T.pem.encode(h)};M.decryptRsaPrivateKey=function(e,t){var r=null,n=T.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=T.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=T.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=T.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=T.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=T.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(h){return T.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":s=8,o=function(h){return T.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":s=16,o=function(h){return T.rc2.createDecryptionCipher(h,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=T.util.hexToBytes(n.dekInfo.parameters),u=T.pbe.opensslDeriveBytes(t,a.substr(0,8),s),f=o(u);if(f.start(a),f.update(T.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=M.decryptPrivateKeyInfo(b.fromDer(r),t):r=b.fromDer(r),r!==null&&(r=M.privateKeyFromAsn1(r)),r};M.pbe.generatePkcs12Key=function(e,t,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in T.md))throw new Error('"sha1" hash algorithm unavailable.');s=T.md.sha1.create()}var u=s.digestLength,f=s.blockLength,c=new T.util.ByteBuffer,h=new T.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)h.putInt16(e.charCodeAt(a));h.putInt16(0)}var l=h.length(),d=t.length(),p=new T.util.ByteBuffer;p.fillWithByte(r,f);var y=f*Math.ceil(d/f),x=new T.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(t.at(a%d));var v=f*Math.ceil(l/f),w=new T.util.ByteBuffer;for(a=0;a<v;a++)w.putByte(h.at(a%l));var A=x;A.putBuffer(w);for(var D=Math.ceil(i/u),C=1;C<=D;C++){var _=new T.util.ByteBuffer;_.putBytes(p.bytes()),_.putBytes(A.bytes());for(var V=0;V<n;V++)s.start(),s.update(_.getBytes()),_=s.digest();var z=new T.util.ByteBuffer;for(a=0;a<f;a++)z.putByte(_.at(a%u));var wt=Math.ceil(d/f)+Math.ceil(l/f),jt=new T.util.ByteBuffer;for(o=0;o<wt;o++){var Vt=new T.util.ByteBuffer(A.getBytes(f)),Dt=511;for(a=z.length()-1;a>=0;a--)Dt=Dt>>8,Dt+=z.at(a)+Vt.at(a),Vt.setAt(a,Dt&255);jt.putBuffer(Vt)}A=jt,c.putBuffer(_)}return c.truncate(c.length()-i),c};M.pbe.getCipher=function(e,t,r){switch(e){case M.oids.pkcs5PBES2:return M.pbe.getCipherForPBES2(e,t,r);case M.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case M.oids["pbewithSHAAnd40BitRC2-CBC"]:return M.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};M.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!b.validate(t,Xd,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(e=b.derToOid(n.kdfOid),e!==M.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if(e=b.derToOid(n.encOid),e!==M.oids["aes128-CBC"]&&e!==M.oids["aes192-CBC"]&&e!==M.oids["aes256-CBC"]&&e!==M.oids["des-EDE3-CBC"]&&e!==M.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=T.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var u,f;switch(M.oids[e]){case"aes128-CBC":u=16,f=T.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,f=T.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,f=T.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,f=T.des.createDecryptionCipher;break;case"desCBC":u=8,f=T.des.createDecryptionCipher;break}var c=sf(n.prfOid),h=T.pkcs5.pbkdf2(r,o,a,u,c),l=n.encIv,d=f(h);return d.start(l),d};M.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!b.validate(t,Jd,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=T.util.createBuffer(n.salt),a=T.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var u,f,c;switch(e){case M.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,f=8,c=T.des.startDecrypting;break;case M.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,f=8,c=function(y,x){var v=T.rc2.createDecryptionCipher(y,40);return v.start(x,null),v};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=e,s}var h=sf(n.prfOid),l=M.pbe.generatePkcs12Key(r,o,1,a,u,h);h.start();var d=M.pbe.generatePkcs12Key(r,o,2,a,f,h);return c(l,d)};M.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in T.md))throw new Error('"md5" hash algorithm unavailable.');n=T.md.md5.create()}t===null&&(t="");for(var i=[nf(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(nf(n,i[o-1]+e+t));return i.join("").substr(0,r)};function nf(e,t){return e.start().update(t).digest().getBytes()}function sf(e){var t;if(!e)t="hmacWithSHA1";else if(t=M.oids[b.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return of(t)}function of(e){var t=T.md;switch(e){case"hmacWithSHA224":t=T.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function jd(e,t,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,T.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(M.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Ef=K((rx,Sf)=>{var nt=J();lr();yt();var Tn=Sf.exports=nt.sha512=nt.sha512||{};nt.md.sha512=nt.md.algorithms.sha512=Tn;var bf=nt.sha384=nt.sha512.sha384=nt.sha512.sha384||{};bf.create=function(){return Tn.create("SHA-384")};nt.md.sha384=nt.md.algorithms.sha384=bf;nt.sha512.sha256=nt.sha512.sha256||{create:function(){return Tn.create("SHA-512/256")}};nt.md["sha512/256"]=nt.md.algorithms["sha512/256"]=nt.sha512.sha256;nt.sha512.sha224=nt.sha512.sha224||{create:function(){return Tn.create("SHA-512/224")}};nt.md["sha512/224"]=nt.md.algorithms["sha512/224"]=nt.sha512.sha224;Tn.create=function(e){if(wf||ny(),typeof e>"u"&&(e="SHA-512"),!(e in gr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=gr[e],r=null,n=nt.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(e){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var u=a.messageLengthSize/4,f=0;f<u;++f)a.fullMessageLength.push(0);n=nt.util.createBuffer(),r=new Array(t.length);for(var f=0;f<t.length;++f)r[f]=t[f].slice(0);return a},a.start(),a.update=function(u,f){f==="utf8"&&(u=nt.util.encodeUtf8(u));var c=u.length;a.messageLength+=c,c=[c/4294967296>>>0,c>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=c[1],c[1]=c[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,c[0]=c[1]/4294967296>>>0;return n.putBytes(u),vf(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=nt.util.createBuffer();u.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,c=f&a.blockLength-1;u.putBytes(Ro.substr(0,a.blockLength-c));for(var h,l,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)h=a.fullMessageLength[p+1]*8,l=h/4294967296>>>0,d+=l,u.putInt32(d>>>0),d=h>>>0;u.putInt32(d);for(var y=new Array(r.length),p=0;p<r.length;++p)y[p]=r[p].slice(0);vf(y,i,u);var x=nt.util.createBuffer(),v;e==="SHA-512"?v=y.length:e==="SHA-384"?v=y.length-2:v=y.length-4;for(var p=0;p<v;++p)x.putInt32(y[p][0]),(p!==v-1||e!=="SHA-512/224")&&x.putInt32(y[p][1]);return x},a};var Ro=null,wf=!1,No=null,gr=null;function ny(){Ro=String.fromCharCode(128),Ro+=nt.util.fillString(String.fromCharCode(0),128),No=[[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]],gr={},gr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],gr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],gr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],gr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],wf=!0}function vf(e,t,r){for(var n,i,s,o,a,u,f,c,h,l,d,p,y,x,v,w,A,D,C,_,V,z,wt,jt,Vt,Dt,Sr,$n,mt,Ft,U,ss,os,as,us,ia=r.length();ia>=128;){for(mt=0;mt<16;++mt)t[mt][0]=r.getInt32()>>>0,t[mt][1]=r.getInt32()>>>0;for(;mt<80;++mt)ss=t[mt-2],Ft=ss[0],U=ss[1],n=((Ft>>>19|U<<13)^(U>>>29|Ft<<3)^Ft>>>6)>>>0,i=((Ft<<13|U>>>19)^(U<<3|Ft>>>29)^(Ft<<26|U>>>6))>>>0,as=t[mt-15],Ft=as[0],U=as[1],s=((Ft>>>1|U<<31)^(Ft>>>8|U<<24)^Ft>>>7)>>>0,o=((Ft<<31|U>>>1)^(Ft<<24|U>>>8)^(Ft<<25|U>>>7))>>>0,os=t[mt-7],us=t[mt-16],U=i+os[1]+o+us[1],t[mt][0]=n+os[0]+s+us[0]+(U/4294967296>>>0)>>>0,t[mt][1]=U>>>0;for(y=e[0][0],x=e[0][1],v=e[1][0],w=e[1][1],A=e[2][0],D=e[2][1],C=e[3][0],_=e[3][1],V=e[4][0],z=e[4][1],wt=e[5][0],jt=e[5][1],Vt=e[6][0],Dt=e[6][1],Sr=e[7][0],$n=e[7][1],mt=0;mt<80;++mt)f=((V>>>14|z<<18)^(V>>>18|z<<14)^(z>>>9|V<<23))>>>0,c=((V<<18|z>>>14)^(V<<14|z>>>18)^(z<<23|V>>>9))>>>0,h=(Vt^V&(wt^Vt))>>>0,l=(Dt^z&(jt^Dt))>>>0,a=((y>>>28|x<<4)^(x>>>2|y<<30)^(x>>>7|y<<25))>>>0,u=((y<<4|x>>>28)^(x<<30|y>>>2)^(x<<25|y>>>7))>>>0,d=(y&v|A&(y^v))>>>0,p=(x&w|D&(x^w))>>>0,U=$n+c+l+No[mt][1]+t[mt][1],n=Sr+f+h+No[mt][0]+t[mt][0]+(U/4294967296>>>0)>>>0,i=U>>>0,U=u+p,s=a+d+(U/4294967296>>>0)>>>0,o=U>>>0,Sr=Vt,$n=Dt,Vt=wt,Dt=jt,wt=V,jt=z,U=_+i,V=C+n+(U/4294967296>>>0)>>>0,z=U>>>0,C=A,_=D,A=v,D=w,v=y,w=x,U=i+o,y=n+s+(U/4294967296>>>0)>>>0,x=U>>>0;U=e[0][1]+x,e[0][0]=e[0][0]+y+(U/4294967296>>>0)>>>0,e[0][1]=U>>>0,U=e[1][1]+w,e[1][0]=e[1][0]+v+(U/4294967296>>>0)>>>0,e[1][1]=U>>>0,U=e[2][1]+D,e[2][0]=e[2][0]+A+(U/4294967296>>>0)>>>0,e[2][1]=U>>>0,U=e[3][1]+_,e[3][0]=e[3][0]+C+(U/4294967296>>>0)>>>0,e[3][1]=U>>>0,U=e[4][1]+z,e[4][0]=e[4][0]+V+(U/4294967296>>>0)>>>0,e[4][1]=U>>>0,U=e[5][1]+jt,e[5][0]=e[5][0]+wt+(U/4294967296>>>0)>>>0,e[5][1]=U>>>0,U=e[6][1]+Dt,e[6][0]=e[6][0]+Vt+(U/4294967296>>>0)>>>0,e[6][1]=U>>>0,U=e[7][1]+$n,e[7][0]=e[7][0]+Sr+(U/4294967296>>>0)>>>0,e[7][1]=U>>>0,ia-=128}}});var dg={};St(dg,{PubSubBaseProtocol:()=>na});var ce=j(ca(),1);var ps={};St(ps,{base58btc:()=>Rt,base58flickr:()=>$c});function Hc(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var s=e.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=e.length,u=e.charAt(0),f=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function h(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var y=0,x=0,v=0,w=p.length;v!==w&&p[v]===0;)v++,y++;for(var A=(w-v)*c+1>>>0,D=new Uint8Array(A);v!==w;){for(var C=p[v],_=0,V=A-1;(C!==0||_<x)&&V!==-1;V--,_++)C+=256*D[V]>>>0,D[V]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");x=_,v++}for(var z=A-x;z!==A&&D[z]===0;)z++;for(var wt=u.repeat(y);z<A;++z)wt+=e.charAt(D[z]);return wt}function l(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var y=0;if(p[y]!==" "){for(var x=0,v=0;p[y]===u;)x++,y++;for(var w=(p.length-y)*f+1>>>0,A=new Uint8Array(w);p[y];){var D=r[p.charCodeAt(y)];if(D===255)return;for(var C=0,_=w-1;(D!==0||C<v)&&_!==-1;_--,C++)D+=a*A[_]>>>0,A[_]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");v=C,y++}if(p[y]!==" "){for(var V=w-v;V!==w&&A[V]===0;)V++;for(var z=new Uint8Array(x+(w-V)),wt=x;V!==w;)z[wt++]=A[V++];return z}}}function d(p){var y=l(p);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:h,decodeUnsafe:l,decode:d}}var Gc=Hc,Wc=Gc,ha=Wc;var vg=new Uint8Array(0);var la=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Be=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var pa=e=>new TextEncoder().encode(e),da=e=>new TextDecoder().decode(e);var fs=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},cs=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return ga(this,t)}},hs=class{constructor(t){this.decoders=t}or(t){return ga(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ga=(e,t)=>new hs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),ls=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new fs(t,r,n),this.decoder=new cs(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Cr=({name:e,prefix:t,encode:r,decode:n})=>new ls(e,t,r,n),Ue=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=ha(r,t);return Cr({prefix:e,name:t,encode:n,decode:s=>Be(i(s))})},Qc=(e,t,r,n)=>{let i={};for(let c=0;c<t.length;++c)i[t[c]]=c;let s=e.length;for(;e[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,u=0,f=0;for(let c=0;c<s;++c){let h=i[e[c]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|h,a+=r,a>=8&&(a-=8,o[f++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return o},Yc=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let u=0;u<e.length;++u)for(a=a<<8|e[u],o+=8;o>r;)o-=r,s+=t[i&a>>o];if(o&&(s+=t[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},ht=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Cr({prefix:t,name:e,encode(i){return Yc(i,n,r)},decode(i){return Qc(i,n,r,e)}});var Rt=Ue({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),$c=Ue({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ds={};St(ds,{base32:()=>Ke,base32hex:()=>jc,base32hexpad:()=>eh,base32hexpadupper:()=>rh,base32hexupper:()=>th,base32pad:()=>Xc,base32padupper:()=>Jc,base32upper:()=>Zc,base32z:()=>nh});var Ke=ht({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Zc=ht({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xc=ht({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jc=ht({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jc=ht({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),th=ht({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),eh=ht({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rh=ht({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nh=ht({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ys={};St(ys,{base64:()=>rr,base64pad:()=>ih,base64url:()=>sh,base64urlpad:()=>oh});var rr=ht({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ih=ht({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),sh=ht({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),oh=ht({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ce.default.formatters.b=e=>e==null?"undefined":Rt.baseEncode(e);ce.default.formatters.t=e=>e==null?"undefined":Ke.baseEncode(e);ce.default.formatters.m=e=>e==null?"undefined":rr.baseEncode(e);ce.default.formatters.p=e=>e==null?"undefined":e.toString();ce.default.formatters.c=e=>e==null?"undefined":e.toString();ce.default.formatters.k=e=>e==null?"undefined":e.toString();function jn(e){return Object.assign((0,ce.default)(e),{error:(0,ce.default)(`${e}:error`),trace:(0,ce.default)(`${e}:trace`)})}var nr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ae,Ir=class extends EventTarget{constructor(){super(...arguments),Ae.set(this,new Map)}listenerCount(t){let r=nr(this,Ae,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=nr(this,Ae,"f").get(t);i==null&&(i=[],nr(this,Ae,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=nr(this,Ae,"f").get(t);i!=null&&(i=i.filter(({callback:s})=>s!==r),nr(this,Ae,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=nr(this,Ae,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),nr(this,Ae,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new he(t,r))}};Ae=new WeakMap;var gs=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},he=globalThis.CustomEvent??gs;var L=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ti=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},_r=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new ti(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new ti(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function Tr(e={}){return ah(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function ah(e,t){t=t??{};let r=t.onEnd,n=new _r,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((y,x)=>{s=v=>{s=null,n.push(v);try{y(e(n))}catch(w){x(w)}return i}}):e(n),u=y=>s!=null?s(y):(n.push(y),i),f=y=>(n=new _r,s!=null?s({error:y}):(n.push({error:y}),i)),c=y=>{if(o)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},h=y=>o?i:(o=!0,y!=null?f(y):u({done:!0})),l=()=>(n=new _r,h(),{done:!0}),d=y=>(h(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:l,throw:d,push:c,end:h,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:c,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength}},i}async function*ms(...e){let t=Tr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}var uh=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},ma=e=>e!=null&&(typeof e[Symbol.asyncIterator]=="function"||typeof e[Symbol.iterator]=="function"||typeof e.next=="function"),xs=e=>e!=null&&typeof e.sink=="function"&&ma(e.source),fh=e=>t=>{let r=e.sink(t);if(r.then!=null){let n=Tr({objectMode:!0});return r.then(()=>{n.end()},s=>{n.end(s)}),ms(n,async function*(){yield*e.source,n.end()}())}return e.source};function nn(e,...t){if(xs(e)){let n=e;e=()=>n.source}else if(ma(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&xs(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)xs(r[n])&&(r[n]=fh(r[n]));return uh(...r)}var _a=j(va(),1);var on=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},bs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},ba=e=>globalThis.DOMException===void 0?new bs(e):new DOMException(e),wa=e=>{let t=e.reason===void 0?ba("This operation was aborted."):e.reason;return t instanceof Error?t:ba(t)};function ws(e,t,r,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:u}=n;u.aborted&&a(wa(u)),u.addEventListener("abort",()=>{a(wa(u))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(c){a(c)}return}let u=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,f=r instanceof Error?r:new on(u);typeof e.cancel=="function"&&e.cancel(),a(f)},t),(async()=>{try{o(await e)}catch(u){a(u)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Ss(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var ir=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ce,an=class{constructor(){Ce.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&ir(this,Ce,"f")[this.size-1].priority>=r.priority){ir(this,Ce,"f").push(n);return}let i=Ss(ir(this,Ce,"f"),n,(s,o)=>o.priority-s.priority);ir(this,Ce,"f").splice(i,0,n)}dequeue(){let t=ir(this,Ce,"f").shift();return t?.run}filter(t){return ir(this,Ce,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return ir(this,Ce,"f").length}};Ce=new WeakMap;var ft=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},N=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},pt,fn,cn,Me,ai,hn,ri,te,un,zt,ni,Ht,ln,Fe,ii,Sa,Ea,Ca,Ba,Aa,si,Es,Bs,ui,Ia,oi,fi=class extends Error{},pn=class extends _a.default{constructor(t){var r,n,i,s;if(super(),pt.add(this),fn.set(this,void 0),cn.set(this,void 0),Me.set(this,0),ai.set(this,void 0),hn.set(this,void 0),ri.set(this,0),te.set(this,void 0),un.set(this,void 0),zt.set(this,void 0),ni.set(this,void 0),Ht.set(this,0),ln.set(this,void 0),Fe.set(this,void 0),ii.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:an,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);ft(this,fn,t.carryoverConcurrencyCount,"f"),ft(this,cn,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),ft(this,ai,t.intervalCap,"f"),ft(this,hn,t.interval,"f"),ft(this,zt,new t.queueClass,"f"),ft(this,ni,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,ft(this,ii,t.throwOnTimeout===!0,"f"),ft(this,Fe,t.autoStart===!1,"f")}get concurrency(){return N(this,ln,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);ft(this,ln,t,"f"),N(this,pt,"m",ui).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:N(this,ii,"f"),...r},new Promise((n,i)=>{N(this,zt,"f").enqueue(async()=>{var s,o,a;ft(this,Ht,(o=N(this,Ht,"f"),o++,o),"f"),ft(this,Me,(a=N(this,Me,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new fi("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=ws(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,N(this,pt,"m",Ia).call(this,r.signal)]));let f=await u;n(f),this.emit("completed",f)}catch(u){if(u instanceof on&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{N(this,pt,"m",Ca).call(this)}},r),this.emit("add"),N(this,pt,"m",si).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return N(this,Fe,"f")?(ft(this,Fe,!1,"f"),N(this,pt,"m",ui).call(this),this):this}pause(){ft(this,Fe,!0,"f")}clear(){ft(this,zt,new(N(this,ni,"f")),"f")}async onEmpty(){N(this,zt,"f").size!==0&&await N(this,pt,"m",oi).call(this,"empty")}async onSizeLessThan(t){N(this,zt,"f").size<t||await N(this,pt,"m",oi).call(this,"next",()=>N(this,zt,"f").size<t)}async onIdle(){N(this,Ht,"f")===0&&N(this,zt,"f").size===0||await N(this,pt,"m",oi).call(this,"idle")}get size(){return N(this,zt,"f").size}sizeBy(t){return N(this,zt,"f").filter(t).length}get pending(){return N(this,Ht,"f")}get isPaused(){return N(this,Fe,"f")}};fn=new WeakMap,cn=new WeakMap,Me=new WeakMap,ai=new WeakMap,hn=new WeakMap,ri=new WeakMap,te=new WeakMap,un=new WeakMap,zt=new WeakMap,ni=new WeakMap,Ht=new WeakMap,ln=new WeakMap,Fe=new WeakMap,ii=new WeakMap,pt=new WeakSet,Sa=function(){return N(this,cn,"f")||N(this,Me,"f")<N(this,ai,"f")},Ea=function(){return N(this,Ht,"f")<N(this,ln,"f")},Ca=function(){var t;ft(this,Ht,(t=N(this,Ht,"f"),t--,t),"f"),N(this,pt,"m",si).call(this),this.emit("next")},Ba=function(){N(this,pt,"m",Bs).call(this),N(this,pt,"m",Es).call(this),ft(this,un,void 0,"f")},Aa=function(){let t=Date.now();if(N(this,te,"f")===void 0){let r=N(this,ri,"f")-t;if(r<0)ft(this,Me,N(this,fn,"f")?N(this,Ht,"f"):0,"f");else return N(this,un,"f")===void 0&&ft(this,un,setTimeout(()=>{N(this,pt,"m",Ba).call(this)},r),"f"),!0}return!1},si=function(){if(N(this,zt,"f").size===0)return N(this,te,"f")&&clearInterval(N(this,te,"f")),ft(this,te,void 0,"f"),this.emit("empty"),N(this,Ht,"f")===0&&this.emit("idle"),!1;if(!N(this,Fe,"f")){let t=!N(this,pt,"a",Aa);if(N(this,pt,"a",Sa)&&N(this,pt,"a",Ea)){let r=N(this,zt,"f").dequeue();return r?(this.emit("active"),r(),t&&N(this,pt,"m",Es).call(this),!0):!1}}return!1},Es=function(){N(this,cn,"f")||N(this,te,"f")!==void 0||(ft(this,te,setInterval(()=>{N(this,pt,"m",Bs).call(this)},N(this,hn,"f")),"f"),ft(this,ri,Date.now()+N(this,hn,"f"),"f"))},Bs=function(){N(this,Me,"f")===0&&N(this,Ht,"f")===0&&N(this,te,"f")&&(clearInterval(N(this,te,"f")),ft(this,te,void 0,"f")),ft(this,Me,N(this,fn,"f")?N(this,Ht,"f"):0,"f"),N(this,pt,"m",ui).call(this)},ui=function(){for(;N(this,pt,"m",si).call(this););},Ia=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new fi("The task was aborted."))},{once:!0})})},oi=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var As=Symbol.for("@libp2p/topology");var Ta=()=>{},Cs=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??Ta,this.onDisconnect=t.onDisconnect??Ta}get[Symbol.toStringTag](){return As.toString()}get[As](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function Ra(e){return new Cs(e)}var Et={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function sr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Ie(e=0){return globalThis.Buffer?.alloc!=null?sr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function _e(e=0){return globalThis.Buffer?.allocUnsafe!=null?sr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Lt(e,t){t==null&&(t=e.reduce((i,s)=>i+s.length,0));let r=_e(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return sr(r)}function Pt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var La=Symbol.for("@achingbrain/uint8arraylist");function Na(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function ci(e){return Boolean(e?.[La])}var Yt=class{constructor(...t){Object.defineProperty(this,La,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ci(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ci(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Na(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Na(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(ci(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Lt(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Lt(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),s=new Yt;return s.length=i,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,u=a+o.byteLength;if(i=u,t>=u)continue;let f=t>=a&&t<u,c=r>a&&r<=u;if(f&&c){if(t===a&&r===u){n.push(o);break}let h=t-a;n.push(o.subarray(h,h+(r-t)));break}if(f){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(c){if(r===u){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!ci(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let h=0;h<s;h++)o[h]=-1;for(let h=0;h<i;h++)o[n[h]]=h;let a=o,u=this.byteLength-n.byteLength,f=n.byteLength-1,c;for(let h=r;h<=u;h+=c){c=0;for(let l=f;l>=0;l--){let d=this.get(h+l);if(n[l]!==d){c=Math.max(1,l-a[d]);break}}if(c===0)return h}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=_e(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Ie(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Ie(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Ie(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=_e(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Ie(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Ie(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Ie(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Ie(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Ie(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Yt)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Pt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Yt;return n.bufs=t,r==null&&(r=t.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function hi(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var Pa=4294967296,Gt=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Gt(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Gt(r,n)}toBytes(t,r=0){let n=hi(t);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(t){if(t===0n)return new Gt;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Pa&&(i=0,++n>Pa&&(n=0))),new Gt(n,i)}static fromNumber(t){if(t===0)return new Gt;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Gt(i,n)}static fromBytes(t,r=0){let n=hi(t),i=new Gt,s=0;if(t.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(t.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<t.byteLength)for(;s<5;++s){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var lh=Math.pow(2,7),ph=Math.pow(2,14),dh=Math.pow(2,21),yh=Math.pow(2,28),gh=Math.pow(2,35),mh=Math.pow(2,42),xh=Math.pow(2,49),vh=Math.pow(2,56),bh=Math.pow(2,63),or={encodingLength(e){return e<lh?1:e<ph?2:e<dh?3:e<yh?4:e<gh?5:e<mh?6:e<xh?7:e<vh?8:e<bh?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=_e(or.encodingLength(e))),Gt.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return Gt.fromBytes(e,t).toNumber(!0)}};function Da(e){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}var li=e=>{let t=or.encodingLength(e),r=Da(t);return or.encode(e,r),li.bytes=t,r};li.bytes=0;function pi(e){e=e??{};let t=e.lengthEncoder??li;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}pi.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??li;return new Yt(r(e.byteLength),e)};var dn=j(Ka(),1),Sh=8,Eh=1024*1024*4,ar;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(ar||(ar={}));var Is=e=>{let t=or.decode(e);return Is.bytes=or.encodingLength(t),t};Is.bytes=0;function yn(e){return async function*(r){let n=new Yt,i=ar.LENGTH,s=-1,o=e?.lengthDecoder??Is,a=e?.maxLengthLength??Sh,u=e?.maxDataLength??Eh;for await(let f of r)for(n.append(f);n.byteLength>0;){if(i===ar.LENGTH)try{if(s=o(n),s<0)throw(0,dn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>u)throw(0,dn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=o.bytes;n.consume(c),e?.onLength!=null&&e.onLength(s),i=ar.DATA}catch(c){if(c instanceof RangeError){if(n.byteLength>a)throw(0,dn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(i===ar.DATA){if(n.byteLength<s)break;let c=n.sublist(0,s);n.consume(s),e?.onData!=null&&e.onData(c),yield c,i=ar.LENGTH}}if(n.byteLength>0)throw(0,dn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}yn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return yn({...t??{},onLength:s=>{r=s}})(n)};var gn=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Fa(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Ma(e,t,r){let n=r??{},i=Fa(e);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let u;try{if(t.aborted){let{abortMessage:c,abortCode:h}=n;throw new gn(c,h)}let f=new Promise((c,h)=>{o=()=>{let{abortMessage:l,abortCode:d}=n;h(new gn(l,d))}});u=await Promise.race([f,i.next()]),o=null}catch(f){t.removeEventListener("abort",a);let c=f.type==="aborted"&&t.aborted;if(c&&n.onAbort!=null&&await n.onAbort(e),typeof i.return=="function")try{let h=i.return();h instanceof Promise&&h.catch(l=>{n.onReturnError!=null&&n.onReturnError(l)})}catch(h){n.onReturnError!=null&&n.onReturnError(h)}if(c&&n.returnOnAbort===!0)return;throw f}if(u.done===!0)break;yield u.value}t.removeEventListener("abort",a)}return s()}var Ah=jn("libp2p-pubsub:peer-streams"),di=class extends Ir{constructor(t){super(),this.id=t.id,this.protocol=t.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return Boolean(this.inboundStream)}get isWritable(){return Boolean(this.outboundStream)}write(t){if(this.outboundStream==null){let r=this.id.toString();throw new Error("No writable connection to "+r)}this.outboundStream.push(t instanceof Uint8Array?new Yt(t):t)}attachInboundStream(t){return this._rawInboundStream=t,this.inboundStream=Ma(nn(this._rawInboundStream,yn()),this._inboundAbortController.signal,{returnOnAbort:!0}),this.dispatchEvent(new he("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let r=this.outboundStream;return this.outboundStream!=null&&await this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=Tr({objectMode:!0,onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.reset!=null&&this._rawOutboundStream.reset(),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new he("close"))}}),nn(this.outboundStream,pi(),this._rawOutboundStream).catch(n=>{Ah.error(n)}),r==null&&this.dispatchEvent(new he("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new he("close")))}};var dt={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Oa={SHA1:20,SHA256:32,SHA512:64};var Ch={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Ih=async(e,t)=>{let r=await dt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function Va(e,t){let r=Ch[e],n=await dt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await Ih(n,i)},length:Oa[e]}}var T2=j(vi(),1),El=j(J(),1);var Ms={};St(Ms,{identity:()=>kh});var kh=Cr({prefix:"\0",name:"identity",encode:e=>da(e),decode:e=>pa(e)});var Os={};St(Os,{base2:()=>Uh});var Uh=ht({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vs={};St(Vs,{base8:()=>Kh});var Kh=ht({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var qs={};St(qs,{base10:()=>Fh});var Fh=Ue({prefix:"9",name:"base10",alphabet:"0123456789"});var zs={};St(zs,{base16:()=>Mh,base16upper:()=>Oh});var Mh=ht({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Oh=ht({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Hs={};St(Hs,{base36:()=>Vh,base36upper:()=>qh});var Vh=Ue({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),qh=Ue({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Gs={};St(Gs,{base256emoji:()=>Qh});var n0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),zh=n0.reduce((e,t,r)=>(e[r]=t,e),[]),Hh=n0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Gh(e){return e.reduce((t,r)=>(t+=zh[r],t),"")}function Wh(e){let t=[];for(let r of e){let n=Hh[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Qh=Cr({prefix:"\u{1F680}",name:"base256emoji",encode:Gh,decode:Wh});var $s={};St($s,{sha256:()=>Bt,sha512:()=>ll});var Yh=o0,i0=128,$h=127,Zh=~$h,Xh=Math.pow(2,31);function o0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Xh;)t[r++]=e&255|i0,e/=128;for(;e&Zh;)t[r++]=e&255|i0,e>>>=7;return t[r]=e|0,o0.bytes=r-n+1,t}var Jh=Ws,jh=128,s0=127;function Ws(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw Ws.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&s0)<<i:(o&s0)*Math.pow(2,i),i+=7}while(o>=jh);return Ws.bytes=s-n,r}var tl=Math.pow(2,7),el=Math.pow(2,14),rl=Math.pow(2,21),nl=Math.pow(2,28),il=Math.pow(2,35),sl=Math.pow(2,42),ol=Math.pow(2,49),al=Math.pow(2,56),ul=Math.pow(2,63),fl=function(e){return e<tl?1:e<el?2:e<rl?3:e<nl?4:e<il?5:e<sl?6:e<ol?7:e<al?8:e<ul?9:10},cl={encode:Yh,decode:Jh,encodingLength:fl},hl=cl,xn=hl;var vn=(e,t=0)=>[xn.decode(e,t),xn.decode.bytes],Lr=(e,t,r=0)=>(xn.encode(e,t,r),t),Pr=e=>xn.encodingLength(e);var le=(e,t)=>{let r=t.byteLength,n=Pr(e),i=n+Pr(r),s=new Uint8Array(i+r);return Lr(e,s,0),Lr(r,s,n),s.set(t,i),new Dr(e,r,t,s)},bn=e=>{let t=Be(e),[r,n]=vn(t),[i,s]=vn(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Dr(r,i,o,t)},a0=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&la(e.bytes,r.bytes)}},Dr=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Ys=({name:e,code:t,encode:r})=>new Qs(e,t,r),Qs=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?le(this.code,r):r.then(n=>le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var f0=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Bt=Ys({name:"sha2-256",code:18,encode:f0("SHA-256")}),ll=Ys({name:"sha2-512",code:19,encode:f0("SHA-512")});var Zs={};St(Zs,{identity:()=>qe});var c0=0,pl="identity",h0=Be,dl=e=>le(c0,h0(e)),qe={code:c0,name:pl,encode:h0,digest:dl};var u2=new TextEncoder,f2=new TextDecoder;var l0=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return xl(r,Xs(e),t||Rt.encoder);default:return vl(r,Xs(e),t||Ke.encoder)}};var p0=new WeakMap,Xs=e=>{let t=p0.get(e);if(t==null){let r=new Map;return p0.set(e,r),r}return t},ct=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==wn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==bl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ct.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=le(t,r);return ct.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return ct.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&a0(t.multihash,n.multihash)}toString(t){return l0(this,t)}toJSON(){return{"/":l0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof ct)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new ct(n,i,s,o||d0(n,i,s.bytes))}else if(r[wl]===!0){let{version:n,multihash:i,code:s}=r,o=bn(i);return ct.create(n,s,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==wn)throw new Error(`Version 0 CID must use dag-pb (code: ${wn}) block encoding`);return new ct(t,r,n,n.bytes)}case 1:{let i=d0(t,r,n.bytes);return new ct(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return ct.create(0,wn,t)}static createV1(t,r){return ct.create(1,t,r)}static decode(t){let[r,n]=ct.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=ct.inspectBytes(t),n=r.size-r.multihashSize,i=Be(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Dr(r.multihashCode,r.digestSize,s,i);return[r.version===0?ct.createV0(o):ct.createV1(r.codec,o),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[h,l]=vn(t.subarray(r));return r+=l,h},i=n(),s=wn;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),u=n(),f=r+u,c=f-o;return{version:i,codec:s,multihashCode:a,digestSize:u,multihashSize:c,size:f}}static parse(t,r){let[n,i]=ml(t,r),s=ct.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Xs(s).set(n,t),s}},ml=(e,t)=>{switch(e[0]){case"Q":{let r=t||Rt;return[Rt.prefix,r.decode(`${Rt.prefix}${e}`)]}case Rt.prefix:{let r=t||Rt;return[Rt.prefix,r.decode(e)]}case Ke.prefix:{let r=t||Ke;return[Ke.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},xl=(e,t,r)=>{let{prefix:n}=r;if(n!==Rt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return i},vl=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let s=r.encode(e);return t.set(n,s),s}else return i},wn=112,bl=18,d0=(e,t,r)=>{let n=Pr(e),i=n+Pr(t),s=new Uint8Array(i+r.byteLength);return Lr(e,s,0),Lr(t,s,n),s.set(r,i),s},wl=Symbol.for("@ipld/js-cid/CID");var Ur={...Ms,...Os,...Vs,...qs,...zs,...ds,...Hs,...ps,...ys,...Gs},v2={...$s,...Zs};function g0(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var y0=g0("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Js=g0("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=_e(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Sl={utf8:y0,"utf-8":y0,hex:Ur.base16,latin1:Js,ascii:Js,binary:Js,...Ur},wi=Sl;function xt(e,t="utf8"){let r=wi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function vt(e,t="utf8"){let r=wi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?sr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var zn={};St(zn,{generateEphemeralKeyPair:()=>gf,generateKeyPair:()=>tg,generateKeyPairFromSeed:()=>eg,importKey:()=>sg,keyStretcher:()=>cf,keysPBM:()=>Mr,marshalPrivateKey:()=>ig,marshalPublicKey:()=>ng,supportedKeys:()=>Ee,unmarshalPrivateKey:()=>dc,unmarshalPublicKey:()=>rg});var Mr={};St(Mr,{KeyType:()=>et,PrivateKey:()=>se,PublicKey:()=>ie});var ho=j(no(),1),nu=j($0(),1),lo=j(co(),1),iu=j(ru(),1),su=j(cr(),1);function Dl(){su.default._configure(),ho.default._configure(nu.default),lo.default._configure(iu.default)}Dl();var ou=["uint64","int64","sint64","fixed64","sfixed64"];function kl(e){for(let t of ou){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function po(e){return kl(new ho.default(e))}function Ul(e){for(let t of ou){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function yo(){return Ul(lo.default.create())}function Ci(e,t){let r=po(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Ii(e,t){let r=yo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Fr;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Fr||(Fr={}));function _i(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function go(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return _i("enum",Fr.VARINT,r,n)}function Ti(e,t){return _i("message",Fr.LENGTH_DELIMITED,e,t)}var et;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(et||(et={}));var mo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(mo||(mo={}));(function(e){e.codec=()=>go(mo)})(et||(et={}));var ie;(function(e){let t;e.codec=()=>(t==null&&(t=Ti((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),et.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=et.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Ii(r,e.codec()),e.decode=r=>Ci(r,e.codec())})(ie||(ie={}));var se;(function(e){let t;e.codec=()=>(t==null&&(t=Ti((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),et.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=et.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Ii(r,e.codec()),e.decode=r=>Ci(r,e.codec())})(se||(se={}));var zx=j(Cn(),1),Hx=j(uf(),1),ns=j(J(),1);var ff={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function cf(e,t,r){let n=ff[e];if(n==null){let w=Object.keys(ff).join(" / ");throw new L(`unknown cipher type '${e}'. Must be ${w}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new L("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=vt("key expansion"),u=2*(s+i+o),f=await Va(t,r),c=await f.digest(a),h=[],l=0;for(;l<u;){let w=await f.digest(Lt([c,a])),A=w.length;l+A>u&&(A=u-l),h.push(w),l+=A,c=await f.digest(c)}let d=u/2,p=Lt(h),y=p.subarray(0,d),x=p.subarray(d,u),v=w=>({iv:w.subarray(0,s),cipherKey:w.subarray(s,s+i),macKey:w.subarray(s+i)});return{k1:v(y),k2:v(x)}}var Um=j(yt(),1),Km=j(Mi(),1),hf=j(J(),1);function ae(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Lt([new Uint8Array(t-r.length),r])}return xt(r,"base64url")}function Wt(e){let t=zi(e);return new hf.default.jsbn.BigInteger(xt(t,"base16"),16)}function zi(e,t){let r=vt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Lt([new Uint8Array(t-r.length),r])}return r}var lf={"P-256":256,"P-384":384,"P-521":521},ty=Object.keys(lf),To=ty.join(" / ");async function pf(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new L(`Unknown curve: ${e}. Must be ${To}`,"ERR_INVALID_CURVE");let t=await dt.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(s,o)=>{let a;o!=null?a=await dt.get().subtle.importKey("jwk",ry(e,o),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await dt.get().subtle.importKey("jwk",yf(e,s),{name:"ECDH",namedCurve:e},!1,[]),f=await dt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,lf[e]);return new Uint8Array(f,0,f.byteLength)},n=await dt.get().subtle.exportKey("jwk",t.publicKey);return{key:ey(n),genSharedKey:r}}var df={"P-256":32,"P-384":48,"P-521":66};function ey(e){if(e.crv==null||e.x==null||e.y==null)throw new L("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new L(`Unknown curve: ${e.crv}. Must be ${To}`,"ERR_INVALID_CURVE");let t=df[e.crv];return Lt([Uint8Array.from([4]),zi(e.x,t),zi(e.y,t)],1+t*2)}function yf(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new L(`Unknown curve: ${e}. Must be ${To}`,"ERR_INVALID_CURVE");let r=df[e];if(!Pt(t.subarray(0,1),Uint8Array.from([4])))throw new L("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:xt(t.subarray(1,r+1),"base64url"),y:xt(t.subarray(1+r),"base64url"),ext:!0}}var ry=(e,t)=>({...yf(e,t.public),d:xt(t.private,"base64url")});var gf=pf;function Hi(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",s=e?.saltLength??16,o=e?.iterations??32767,a=dt.get();r*=8;async function u(h,l){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:p};typeof l=="string"&&(l=vt(l));let x={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},v=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),w=await a.subtle.deriveKey(x,v,{name:t,length:r},!0,["encrypt"]),A=await a.subtle.encrypt(y,w,h);return Lt([d,y.iv,new Uint8Array(A)])}async function f(h,l){let d=h.subarray(0,s),p=h.subarray(s,s+n),y=h.subarray(s+n),x={name:t,iv:p};typeof l=="string"&&(l=vt(l));let v={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},w=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),A=await a.subtle.deriveKey(v,w,{name:t,length:r},!0,["decrypt"]),D=await a.subtle.decrypt(x,A,y);return new Uint8Array(D)}return{encrypt:u,decrypt:f}}async function xf(e,t){let r=rr.decode(e);return await Hi().decrypt(r,t)}var Oo={};St(Oo,{RsaPrivateKey:()=>Zr,RsaPublicKey:()=>kn,fromJwk:()=>Iy,generateKeyPair:()=>_y,unmarshalRsaPrivateKey:()=>Ay,unmarshalRsaPublicKey:()=>Cy});var Ix=j(Ef(),1),Dn=j(J(),1);var iy=j(Or(),1);var G=BigInt(0),it=BigInt(1),Ye=BigInt(2),Nn=BigInt(3),Bf=BigInt(8),lt=Object.freeze({a:G,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:it,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Af=(e,t)=>(e+t/Ye)/t,Gi={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=lt,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-it*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Af(s*e,t),u=Af(-n*e,t),f=R(e-a*r-u*i,t),c=R(-a*n-u*s,t),h=f>o,l=c>o;if(h&&(f=t-f),l&&(c=t-c),f>o||c>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:h,k1:f,k2neg:l,k2:c}}},ue=32,Gr=32,sy=32,Cf=ue+1,If=2*ue+1;function _f(e){let{a:t,b:r}=lt,n=R(e*e),i=R(n*e);return R(i+t*e+r)}var Wi=lt.a===G,$i=class extends Error{constructor(t){super(t)}};function Tf(e){if(!(e instanceof $))throw new TypeError("JacobianPoint expected")}var $=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof Z))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(Z.ZERO)?$.ZERO:new $(t.x,t.y,it)}static toAffineBatch(t){let r=cy(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return $.toAffineBatch(t).map($.fromAffine)}equals(t){Tf(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,u=R(i*i),f=R(a*a),c=R(r*f),h=R(s*u),l=R(R(n*a)*f),d=R(R(o*i)*u);return c===h&&l===d}negate(){return new $(this.x,R(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=R(t*t),s=R(r*r),o=R(s*s),a=t+s,u=R(Ye*(R(a*a)-i-o)),f=R(Nn*i),c=R(f*f),h=R(c-Ye*u),l=R(f*(u-h)-Bf*o),d=R(Ye*r*n);return new $(h,l,d)}add(t){Tf(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t;if(s===G||o===G)return this;if(r===G||n===G)return t;let u=R(i*i),f=R(a*a),c=R(r*f),h=R(s*u),l=R(R(n*a)*f),d=R(R(o*i)*u),p=R(h-c),y=R(d-l);if(p===G)return y===G?this.double():$.ZERO;let x=R(p*p),v=R(p*x),w=R(c*x),A=R(y*y-v-Ye*w),D=R(y*(w-A)-l*v),C=R(i*a*p);return new $(A,D,C)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=$.ZERO;if(typeof t=="bigint"&&t===G)return r;let n=Lf(t);if(n===it)return this;if(!Wi){let h=r,l=this;for(;n>G;)n&it&&(h=h.add(l)),l=l.double(),n>>=it;return h}let{k1neg:i,k1:s,k2neg:o,k2:a}=Gi.splitScalar(n),u=r,f=r,c=this;for(;s>G||a>G;)s&it&&(u=u.add(c)),a&it&&(f=f.add(c)),c=c.double(),s>>=it,a>>=it;return i&&(u=u.negate()),o&&(f=f.negate()),f=new $(R(f.x*Gi.beta),f.y,f.z),u.add(f)}precomputeWindow(t){let r=Wi?128/t+1:256/t+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals($.BASE)&&(r=Z.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Po.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=$.normalizeZ(i),Po.set(r,i)));let s=$.ZERO,o=$.BASE,a=1+(Wi?128/n:256/n),u=2**(n-1),f=BigInt(2**n-1),c=2**n,h=BigInt(n);for(let l=0;l<a;l++){let d=l*u,p=Number(t&f);t>>=h,p>u&&(p-=c,t+=it);let y=d,x=d+Math.abs(p)-1,v=l%2!==0,w=p<0;p===0?o=o.add(Qi(v,i[y])):s=s.add(Qi(w,i[x]))}return{p:s,f:o}}multiply(t,r){let n=Lf(t),i,s;if(Wi){let{k1neg:o,k1:a,k2neg:u,k2:f}=Gi.splitScalar(n),{p:c,f:h}=this.wNAF(a,r),{p:l,f:d}=this.wNAF(f,r);c=Qi(o,c),l=Qi(u,l),l=new $(R(l.x*Gi.beta),l.y,l.z),i=c.add(l),s=h.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return $.normalizeZ([i,s])[0]}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals($.ZERO);t==null&&(t=s?Bf:Yr(i));let o=t,a=R(o*o),u=R(a*o),f=R(r*a),c=R(n*u),h=R(i*o);if(s)return Z.ZERO;if(h!==it)throw new Error("invZ was invalid");return new Z(f,c)}};$.BASE=new $(lt.Gx,lt.Gy,it);$.ZERO=new $(G,it,G);function Qi(e,t){let r=t.negate();return e?r:t}var Po=new WeakMap,Z=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Po.delete(this)}hasEvenY(){return this.y%Ye===G}static fromCompressedHex(t){let r=t.length===32,n=$e(r?t:t.subarray(1));if(!Lo(n))throw new Error("Point is not on curve");let i=_f(n),s=fy(i),o=(s&it)===it;r?o&&(s=R(-s)):(t[0]&1)===1!==o&&(s=R(-s));let a=new Z(n,s);return a.assertValidity(),a}static fromUncompressedHex(t){let r=$e(t.subarray(1,ue+1)),n=$e(t.subarray(ue+1,ue*2+1)),i=new Z(r,n);return i.assertValidity(),i}static fromHex(t){let r=Qr(t),n=r.length,i=r[0];if(n===ue)return this.fromCompressedHex(r);if(n===Cf&&(i===2||i===3))return this.fromCompressedHex(r);if(n===If&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Cf} compressed bytes or ${If} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return Z.BASE.multiply(Xi(t))}static fromSignature(t,r,n){let{r:i,s}=Pf(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Uo(Qr(t)),{n:a}=lt,u=n===2||n===3?i+a:i,f=Yr(u,a),c=R(-o*f,a),h=R(s*f,a),l=n&1?"03":"02",d=Z.fromHex(l+zr(u)),p=Z.BASE.multiplyAndAddUnsafe(d,c,h);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return mr(this.toHex(t))}toHex(t=!1){let r=zr(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${zr(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Lo(r)||!Lo(n))throw new Error(t);let i=R(n*n),s=_f(r);if(R(i-s)!==G)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Z(this.x,R(-this.y))}double(){return $.fromAffine(this).double().toAffine()}add(t){return $.fromAffine(this).add($.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return $.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=$.fromAffine(this),s=r===G||r===it||this!==Z.BASE?i.multiplyUnsafe(r):i.multiply(r),o=$.fromAffine(t).multiplyUnsafe(n),a=s.add(o);return a.equals($.ZERO)?void 0:a.toAffine()}};Z.BASE=new Z(lt.Gx,lt.Gy);Z.ZERO=new Z(G,G);function Rf(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function Nf(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Wr(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:$e(r),left:e.subarray(t+2)}}function oy(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Wr(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=Nf(e.subarray(2)),{data:n,left:i}=Nf(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Wr(i)}`);return{r:t,s:n}}var we=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Wr(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new we(Zi(i.slice(0,64)),Zi(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=oy(r?t:mr(t));return new we(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!Pn(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Pn(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=lt.n>>it;return this.s>t}normalizeS(){return this.hasHighS()?new we(this.r,R(-this.s,lt.n)):this}toDERRawBytes(){return mr(this.toDERHex())}toDERHex(){let t=Rf(Rn(this.s)),r=Rf(Rn(this.r)),n=t.length/2,i=r.length/2,s=Rn(n),o=Rn(i);return`30${Rn(i+n+4)}02${o}${r}02${s}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return mr(this.toCompactHex())}toCompactHex(){return zr(this.r)+zr(this.s)}};function Qe(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var ay=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Wr(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=ay[e[r]];return t}var uy=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function zr(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(G<=e&&e<uy))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Do(e){let t=mr(zr(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function Rn(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Zi(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function mr(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function $e(e){return Zi(Wr(e))}function Qr(e){return e instanceof Uint8Array?Uint8Array.from(e):mr(e)}function Lf(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&Pn(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function R(e,t=lt.P){let r=e%t;return r>=G?r:t+r}function Jt(e,t){let{P:r}=lt,n=e;for(;t-- >G;)n*=n,n%=r;return n}function fy(e){let{P:t}=lt,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),u=e*e*e%t,f=u*u*e%t,c=Jt(f,Nn)*f%t,h=Jt(c,Nn)*f%t,l=Jt(h,Ye)*u%t,d=Jt(l,n)*l%t,p=Jt(d,i)*d%t,y=Jt(p,o)*p%t,x=Jt(y,a)*y%t,v=Jt(x,o)*p%t,w=Jt(v,Nn)*f%t,A=Jt(w,s)*d%t,D=Jt(A,r)*u%t,C=Jt(D,Ye);if(C*C%t!==e)throw new Error("Cannot find square root");return C}function Yr(e,t=lt.P){if(e===G||t<=G)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=R(e,t),n=t,i=G,s=it,o=it,a=G;for(;r!==G;){let f=n/r,c=n%r,h=i-o*f,l=s-a*f;n=r,r=c,i=o,s=a,o=h,a=l}if(n!==it)throw new Error("invert: does not exist");return R(i,t)}function cy(e,t=lt.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===G?s:(r[a]=s,R(s*o,t)),it),i=Yr(n,t);return e.reduceRight((s,o,a)=>o===G?s:(r[a]=R(s*r[a],t),R(s*o,t)),i),r}function hy(e){let t=e.length*8-Gr*8,r=$e(e);return t>0?r>>BigInt(t):r}function Uo(e,t=!1){let r=hy(e);if(t)return r;let{n}=lt;return r>=n?r-n:r}var Hr,Ln,ko=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return fe.hmacSha256(this.k,...t)}hmacSync(...t){return Ln(this.k,...t)}checkSync(){if(typeof Ln!="function")throw new $i("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Qe(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Qe(...r)}};function Pn(e){return G<e&&e<lt.n}function Lo(e){return G<e&&e<lt.P}function ly(e,t,r,n=!0){let{n:i}=lt,s=Uo(e,!0);if(!Pn(s))return;let o=Yr(s,i),a=Z.BASE.multiply(s),u=R(a.x,i);if(u===G)return;let f=R(o*R(t+r*u,i),i);if(f===G)return;let c=new we(u,f),h=(a.x===c.r?0:2)|Number(a.y&it);return n&&c.hasHighS()&&(c=c.normalizeS(),h^=1),{sig:c,recovery:h}}function Xi(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Gr)throw new Error("Expected 32 bytes of private key");t=Zi(e)}else if(e instanceof Uint8Array){if(e.length!==Gr)throw new Error("Expected 32 bytes of private key");t=$e(e)}else throw new TypeError("Expected valid private key");if(!Pn(t))throw new Error("Expected private key: 0 < key < n");return t}function py(e){return e instanceof Z?(e.assertValidity(),e):Z.fromHex(e)}function Pf(e){if(e instanceof we)return e.assertValidity(),e;try{return we.fromDER(e)}catch{return we.fromCompact(e)}}function Ko(e,t=!1){return Z.fromPrivateKey(e).toRawBytes(t)}function Df(e){let t=e.length>ue?e.slice(0,ue):e;return $e(t)}function dy(e){let t=Df(e),r=R(t,lt.n);return kf(r<G?t:r)}function kf(e){return Do(e)}function yy(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Qr(e),i=Xi(t),s=[kf(i),dy(n)];if(r!=null){r===!0&&(r=fe.randomBytes(ue));let u=Qr(r);if(u.length!==ue)throw new Error(`sign: Expected ${ue} bytes of extra data`);s.push(u)}let o=Qe(...s),a=Df(n);return{seed:o,m:a,d:i}}function gy(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},t),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function Uf(e,t,r={}){let{seed:n,m:i,d:s}=yy(e,t,r.extraEntropy),o=new ko(sy,Gr);await o.reseed(n);let a;for(;!(a=ly(await o.generate(),i,s,r.canonical));)await o.reseed();return gy(a,r)}var my={strict:!0};function Kf(e,t,r,n=my){let i;try{i=Pf(e),t=Qr(t)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Uo(t),u;try{u=py(r)}catch{return!1}let{n:f}=lt,c=Yr(o,f),h=R(a*c,f),l=R(s*c,f),d=Z.BASE.multiplyAndAddUnsafe(u,h,l);return d?R(d.x,f)===s:!1}Z.BASE._setWindowSize(8);var Qt={node:iy,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var Yi={},fe={bytesToHex:Wr,hexToBytes:mr,concatBytes:Qe,mod:R,invert:Yr,isValidPrivateKey(e){try{return Xi(e),!0}catch{return!1}},_bigintTo32Bytes:Do,_normalizePrivateKey:Xi,hashToPrivateKey:e=>{e=Qr(e);let t=Gr+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=R($e(e),lt.n-it)+it;return Do(r)},randomBytes:(e=32)=>{if(Qt.web)return Qt.web.getRandomValues(new Uint8Array(e));if(Qt.node){let{randomBytes:t}=Qt.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>fe.hashToPrivateKey(fe.randomBytes(Gr+8)),precompute(e=8,t=Z.BASE){let r=t===Z.BASE?t:new Z(t.x,t.y);return r._setWindowSize(e),r.multiply(Nn),r},sha256:async(...e)=>{if(Qt.web){let t=await Qt.web.subtle.digest("SHA-256",Qe(...e));return new Uint8Array(t)}else if(Qt.node){let{createHash:t}=Qt.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(Qt.web){let r=await Qt.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Qe(...t),i=await Qt.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(Qt.node){let{createHmac:r}=Qt.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=Yi[e];if(r===void 0){let n=await fe.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Qe(n,n),Yi[e]=r}return fe.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Hr!="function")throw new $i("sha256Sync is undefined, you need to set it");let r=Yi[e];if(r===void 0){let n=Hr(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Qe(n,n),Yi[e]=r}return Hr(r,...t)},_JacobianPoint:$};Object.defineProperties(fe,{sha256Sync:{configurable:!1,get(){return Hr},set(e){Hr||(Hr=e)}},hmacSha256Sync:{configurable:!1,get(){return Ln},set(e){Ln||(Ln=e)}}});function xr(e){if(isNaN(e)||e<=0)throw new L("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return fe.randomBytes(e)}var vr={};St(vr,{jwkToPkcs1:()=>by,jwkToPkix:()=>Sy,pkcs1ToJwk:()=>vy,pkixToJwk:()=>wy});var ox=j(Cn(),1),ax=j(qi(),1),Le=j(J(),1);function vy(e){let t=Le.default.asn1.fromDer(xt(e,"ascii")),r=Le.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:ae(r.n),e:ae(r.e),d:ae(r.d),p:ae(r.p),q:ae(r.q),dp:ae(r.dP),dq:ae(r.dQ),qi:ae(r.qInv),alg:"RS256"}}function by(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new L("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Le.default.pki.privateKeyToAsn1({n:Wt(e.n),e:Wt(e.e),d:Wt(e.d),p:Wt(e.p),q:Wt(e.q),dP:Wt(e.dp),dQ:Wt(e.dq),qInv:Wt(e.qi)});return vt(Le.default.asn1.toDer(t).getBytes(),"ascii")}function wy(e){let t=Le.default.asn1.fromDer(xt(e,"ascii")),r=Le.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:ae(r.n),e:ae(r.e)}}function Sy(e){if(e.n==null||e.e==null)throw new L("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Le.default.pki.publicKeyToAsn1({n:Wt(e.n),e:Wt(e.e)});return vt(Le.default.asn1.toDer(t).getBytes(),"ascii")}var lx=j(qi(),1),Fo=j(J(),1);function Ff(e,t){return t.map(r=>Wt(e[r]))}function Mf(e){return Fo.default.pki.setRsaPrivateKey(...Ff(e,["n","e","d","p","q","dp","dq","qi"]))}function Of(e){return Fo.default.pki.setRsaPublicKey(...Ff(e,["n","e"]))}async function Vf(e){let t=await dt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Hf(t);return{privateKey:r[0],publicKey:r[1]}}async function Mo(e){let r=[await dt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ey(e)],n=await Hf({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function qf(e,t){let r=await dt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await dt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function zf(e,t,r){let n=await dt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await dt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function Hf(e){if(e.privateKey==null||e.publicKey==null)throw new L("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([dt.get().subtle.exportKey("jwk",e.privateKey),dt.get().subtle.exportKey("jwk",e.publicKey)])}async function Ey(e){return await dt.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Gf(e,t,r,n){let i=t?Of(e):Mf(e),s=xt(Uint8Array.from(r),"ascii"),o=n(s,i);return vt(o,"ascii")}function Wf(e,t){return Gf(e,!0,t,(r,n)=>n.encrypt(r))}function Qf(e,t){return Gf(e,!1,t,(r,n)=>n.decrypt(r))}async function $r(e,t){let n=await Hi().encrypt(e,t);return rr.encode(n)}var kn=class{constructor(t){this._key=t}async verify(t,r){return await zf(this._key,r,t)}marshal(){return vr.jwkToPkix(this._key)}get bytes(){return ie.encode({Type:et.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Wf(this._key,t)}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}},Zr=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return xr(16)}async sign(t){return await qf(this._key,t)}get public(){if(this._publicKey==null)throw new L("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new kn(this._publicKey)}decrypt(t){return Qf(this._key,t)}marshal(){return vr.jwkToPkcs1(this._key)}get bytes(){return se.encode({Type:et.RSA,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return xt(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Dn.default.util.ByteBuffer(this.marshal()),i=Dn.default.asn1.fromDer(n),s=Dn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Dn.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(r==="libp2p-key")return await $r(this.bytes,t);throw new L(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ay(e){let t=vr.pkcs1ToJwk(e),r=await Mo(t);return new Zr(r.privateKey,r.publicKey)}function Cy(e){let t=vr.pkixToJwk(e);return new kn(t)}async function Iy(e){let t=await Mo(e);return new Zr(t.privateKey,t.publicKey)}async function _y(e){let t=await Vf(e);return new Zr(t.privateKey,t.publicKey)}var Zo={};St(Zo,{Ed25519PrivateKey:()=>wr,Ed25519PublicKey:()=>On,generateKeyPair:()=>$y,generateKeyPairFromSeed:()=>$o,unmarshalEd25519PrivateKey:()=>Qy,unmarshalEd25519PublicKey:()=>Yy});var Ty=j(Or(),1);var Tt=BigInt(0),W=BigInt(1),Je=BigInt(2),Ry=BigInt(8),Yf=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),st=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Yf,n:Yf,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var jf=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Un=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Tx=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Ny=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Ly=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Py=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Dy=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),q=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof ut))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(ut.ZERO)?q.ZERO:new q(t.x,t.y,W,E(t.x*t.y))}static toAffineBatch(t){let r=Ky(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Zf(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,u=E(r*a),f=E(s*i),c=E(n*a),h=E(o*i);return u===f&&c===h}negate(){return new q(E(-this.x),this.y,this.z,E(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=st,s=E(t*t),o=E(r*r),a=E(Je*E(n*n)),u=E(i*s),f=t+r,c=E(E(f*f)-s-o),h=u+o,l=h-a,d=u-o,p=E(c*l),y=E(h*d),x=E(c*d),v=E(l*h);return new q(p,y,v,x)}add(t){Zf(t);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:u,t:f}=t,c=E((n-r)*(a+o)),h=E((n+r)*(a-o)),l=E(h-c);if(l===Tt)return this.double();let d=E(i*Je*f),p=E(s*Je*u),y=p+d,x=h+c,v=p-d,w=E(y*l),A=E(x*v),D=E(y*v),C=E(l*x);return new q(w,A,C,D)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals(q.BASE)&&(r=ut.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Go.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=q.normalizeZ(i),Go.set(r,i)));let s=q.ZERO,o=q.BASE,a=1+256/n,u=2**(n-1),f=BigInt(2**n-1),c=2**n,h=BigInt(n);for(let l=0;l<a;l++){let d=l*u,p=Number(t&f);t>>=h,p>u&&(p-=c,t+=W);let y=d,x=d+Math.abs(p)-1,v=l%2!==0,w=p<0;p===0?o=o.add($f(v,i[y])):s=s.add($f(w,i[x]))}return q.normalizeZ([s,o])[0]}multiply(t,r){return this.wNAF(ji(t,st.l),r)}multiplyUnsafe(t){let r=ji(t,st.l,!1),n=q.BASE,i=q.ZERO;if(r===Tt)return i;if(this.equals(i)||r===W)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Tt;)r&W&&(s=s.add(o)),o=o.double(),r>>=W;return s}isSmallOrder(){return this.multiplyUnsafe(st.h).equals(q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(st.l/Je).double();return st.l%Je&&(t=t.add(this)),t.equals(q.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals(q.ZERO);t==null&&(t=s?Ry:ts(i));let o=E(r*t),a=E(n*t),u=E(i*t);if(s)return ut.ZERO;if(u!==W)throw new Error("invZ was invalid");return new ut(o,a)}fromRistrettoBytes(){qo()}toRistrettoBytes(){qo()}fromRistrettoHash(){qo()}};q.BASE=new q(st.Gx,st.Gy,W,E(st.Gx*st.Gy));q.ZERO=new q(Tt,W,W,Tt);function $f(e,t){let r=t.negate();return e?r:t}function Zf(e){if(!(e instanceof q))throw new TypeError("ExtendedPoint expected")}function Vo(e){if(!(e instanceof Ot))throw new TypeError("RistrettoPoint expected")}function qo(){throw new Error("Legacy method: switch to RistrettoPoint")}var Ot=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=st,n=E(Un*t*t),i=E((n+W)*Py),s=BigInt(-1),o=E((s-r*n)*E(n+r)),{isValid:a,value:u}=Qo(i,o),f=E(u*t);Xe(f)||(f=E(-f)),a||(u=f),a||(s=n);let c=E(s*(n-W)*Dy-o),h=u*u,l=E((u+u)*o),d=E(c*Ny),p=E(W-h),y=E(W+h);return new q(E(l*y),E(p*d),E(d*y),E(l*p))}static hashToCurve(t){t=je(t,64);let r=zo(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=zo(t.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new Ot(n.add(s))}static fromHex(t){t=je(t,32);let{a:r,d:n}=st,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=zo(t);if(!My(Kn(s),t)||Xe(s))throw new Error(i);let o=E(s*s),a=E(W+r*o),u=E(W-r*o),f=E(a*a),c=E(u*u),h=E(r*n*f-c),{isValid:l,value:d}=Jf(E(h*c)),p=E(d*u),y=E(d*p*h),x=E((s+s)*p);Xe(x)&&(x=E(-x));let v=E(a*y),w=E(x*v);if(!l||Xe(w)||v===Tt)throw new Error(i);return new Ot(new q(x,v,W,w))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,s=E(E(n+r)*E(n-r)),o=E(t*r),a=E(o*o),{value:u}=Jf(E(s*a)),f=E(u*s),c=E(u*o),h=E(f*c*i),l;if(Xe(i*h)){let p=E(r*Un),y=E(t*Un);t=p,r=y,l=E(f*Ly)}else l=c;Xe(t*h)&&(r=E(-r));let d=E((n-r)*l);return Xe(d)&&(d=E(-d)),Kn(d)}toHex(){return Fn(this.toRawBytes())}toString(){return this.toHex()}equals(t){Vo(t);let r=this.ep,n=t.ep,i=E(r.x*n.y)===E(r.y*n.x),s=E(r.y*n.y)===E(r.x*n.x);return i||s}add(t){return Vo(t),new Ot(this.ep.add(t.ep))}subtract(t){return Vo(t),new Ot(this.ep.subtract(t.ep))}multiply(t){return new Ot(this.ep.multiply(t))}multiplyUnsafe(t){return new Ot(this.ep.multiplyUnsafe(t))}};Ot.BASE=new Ot(q.BASE);Ot.ZERO=new Ot(q.ZERO);var Go=new WeakMap,ut=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Go.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=st;t=je(t,32);let s=t.slice();s[31]=t[31]&-129;let o=Mn(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=jf)throw new Error("Expected 0 < hex < 2**256");let a=E(o*o),u=E(a-W),f=E(n*a+W),{isValid:c,value:h}=Qo(u,f);if(!c)throw new Error("Point.fromHex: invalid y coordinate");let l=(h&W)===W;return(t[31]&128)!==0!==l&&(h=E(-h)),new ut(h,o)}static async fromPrivateKey(t){return(await es(t)).point}toRawBytes(){let t=Kn(this.y);return t[31]|=this.x&W?128:0,t}toHex(){return Fn(this.toRawBytes())}toX25519(){let{y:t}=this,r=E((W+t)*ts(W-t));return Kn(r)}isTorsionFree(){return q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ut(E(-this.x),this.y)}add(t){return q.fromAffine(this).add(q.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return q.fromAffine(this).multiply(t,this).toAffine()}};ut.BASE=new ut(st.Gx,st.Gy);ut.ZERO=new ut(Tt,W);var br=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=je(t,64),n=ut.fromHex(r.slice(0,32),!1),i=Mn(r.slice(32,64));return new br(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof ut))throw new Error("Expected Point instance");return ji(r,st.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Kn(this.s),32),t}toHex(){return Fn(this.toRawBytes())}};function Xf(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var ky=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Fn(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ky[e[r]];return t}function Wo(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function tc(e){let r=e.toString(16).padStart(64,"0");return Wo(r)}function Kn(e){return tc(e).reverse()}function Xe(e){return(E(e)&W)===W}function Mn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Fn(Uint8Array.from(e).reverse()))}var Uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function zo(e){return E(Mn(e)&Uy)}function E(e,t=st.P){let r=e%t;return r>=Tt?r:t+r}function ts(e,t=st.P){if(e===Tt||t<=Tt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=E(e,t),n=t,i=Tt,s=W,o=W,a=Tt;for(;r!==Tt;){let f=n/r,c=n%r,h=i-o*f,l=s-a*f;n=r,r=c,i=o,s=a,o=h,a=l}if(n!==W)throw new Error("invert: does not exist");return E(i,t)}function Ky(e,t=st.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===Tt?s:(r[a]=s,E(s*o,t)),W),i=ts(n,t);return e.reduceRight((s,o,a)=>o===Tt?s:(r[a]=E(s*r[a],t),E(s*o,t)),i),r}function Se(e,t){let{P:r}=st,n=e;for(;t-- >Tt;)n*=n,n%=r;return n}function Fy(e){let{P:t}=st,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),u=e*e%t*e%t,f=Se(u,Je)*u%t,c=Se(f,W)*e%t,h=Se(c,r)*c%t,l=Se(h,n)*h%t,d=Se(l,i)*l%t,p=Se(d,s)*d%t,y=Se(p,o)*p%t,x=Se(y,o)*p%t,v=Se(x,n)*h%t;return{pow_p_5_8:Se(v,Je)*e%t,b2:u}}function Qo(e,t){let r=E(t*t*t),n=E(r*r*t),i=Fy(e*n).pow_p_5_8,s=E(e*r*i),o=E(t*s*s),a=s,u=E(s*Un),f=o===e,c=o===E(-e),h=o===E(-e*Un);return f&&(s=a),(c||h)&&(s=u),Xe(s)&&(s=E(-s)),{isValid:f||c,value:s}}function Jf(e){return Qo(W,e)}function Ji(e){return E(Mn(e),st.l)}function My(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function je(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):Wo(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function ji(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(Tt<e)return e}else if(Tt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Oy(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Vy(e){if(e=typeof e=="bigint"||typeof e=="number"?tc(ji(e,jf)):je(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function qy(e){let t=Oy(e.slice(0,32)),r=e.slice(32,64),n=Ji(t),i=ut.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:s}}var Ho;async function es(e){return qy(await tr.sha512(Vy(e)))}async function Yo(e){return(await es(e)).pointBytes}async function ec(e,t){e=je(e);let{prefix:r,scalar:n,pointBytes:i}=await es(t),s=Ji(await tr.sha512(r,e)),o=ut.BASE.multiply(s),a=Ji(await tr.sha512(o.toRawBytes(),i,e)),u=E(s+a*n,st.l);return new br(o,u).toRawBytes()}function zy(e,t,r){t=je(t),r instanceof ut||(r=ut.fromHex(r,!1));let{r:n,s:i}=e instanceof br?e.assertValidity():br.fromHex(e),s=q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:t}}function Hy(e,t,r,n){let i=Ji(n),s=q.fromAffine(e).multiplyUnsafe(i);return q.fromAffine(t).add(s).subtract(r).multiplyUnsafe(st.h).equals(q.ZERO)}async function rc(e,t,r){let{r:n,SB:i,msg:s,pub:o}=zy(e,t,r),a=await tr.sha512(n.toRawBytes(),o.toRawBytes(),s);return Hy(o,n,i,a)}ut.BASE._setWindowSize(8);var Ze={node:Ty,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},tr={bytesToHex:Fn,hexToBytes:Wo,concatBytes:Xf,getExtendedPublicKey:es,mod:E,invert:ts,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=je(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return E(Mn(e),st.l-W)+W},randomBytes:(e=32)=>{if(Ze.web)return Ze.web.getRandomValues(new Uint8Array(e));if(Ze.node){let{randomBytes:t}=Ze.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>tr.randomBytes(32),sha512:async(...e)=>{let t=Xf(...e);if(Ze.web){let r=await Ze.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Ze.node)return Uint8Array.from(Ze.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=ut.BASE){let r=t.equals(ut.BASE)?t:new ut(t.x,t.y);return r._setWindowSize(e),r.multiply(Je),r},sha512Sync:void 0};Object.defineProperties(tr,{sha512Sync:{configurable:!1,get(){return Ho},set(e){Ho||(Ho=e)}}});var Xr=32,Pe=64,rs=32;async function nc(){let e=tr.randomPrivateKey(),t=await Yo(e);return{privateKey:ac(e,t),publicKey:t}}async function ic(e){if(e.length!==rs)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await Yo(t);return{privateKey:ac(t,r),publicKey:r}}async function sc(e,t){let r=e.subarray(0,rs);return await ec(t,r)}async function oc(e,t,r){return await rc(t,r,e)}function ac(e,t){let r=new Uint8Array(Pe);for(let n=0;n<rs;n++)r[n]=e[n],r[rs+n]=t[n];return r}var On=class{constructor(t){this._key=Jr(t,Xr)}async verify(t,r){return await oc(this._key,r,t)}marshal(){return this._key}get bytes(){return ie.encode({Type:et.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}},wr=class{constructor(t,r){this._key=Jr(t,Pe),this._publicKey=Jr(r,Xr)}async sign(t){return await sc(this._key,t)}get public(){return new On(this._publicKey)}marshal(){return this._key}get bytes(){return se.encode({Type:et.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}async id(){let t=await qe.digest(this.public.bytes);return Rt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await $r(this.bytes,t);throw new L(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Qy(e){if(e.length>Pe){e=Jr(e,Pe+Xr);let n=e.subarray(0,Pe),i=e.subarray(Pe,e.length);return new wr(n,i)}e=Jr(e,Pe);let t=e.subarray(0,Pe),r=e.subarray(Xr);return new wr(t,r)}function Yy(e){return e=Jr(e,Xr),new On(e)}async function $y(){let{privateKey:e,publicKey:t}=await nc();return new wr(e,t)}async function $o(e){let{privateKey:t,publicKey:r}=await ic(e);return new wr(t,r)}function Jr(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new L(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var Jo={};St(Jo,{Secp256k1PrivateKey:()=>qn,Secp256k1PublicKey:()=>Vn,generateKeyPair:()=>jy,unmarshalSecp256k1PrivateKey:()=>Xy,unmarshalSecp256k1PublicKey:()=>Jy});function uc(){return fe.randomPrivateKey()}async function fc(e,t){let{digest:r}=await Bt.digest(t);try{return await Uf(r,e)}catch(n){throw new L(String(n),"ERR_INVALID_INPUT")}}async function cc(e,t,r){try{let{digest:n}=await Bt.digest(r);return Kf(t,n,e)}catch(n){throw new L(String(n),"ERR_INVALID_INPUT")}}function hc(e){return Z.fromHex(e).toRawBytes(!0)}function lc(e){try{Ko(e,!0)}catch(t){throw new L(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Xo(e){try{Z.fromHex(e)}catch(t){throw new L(String(t),"ERR_INVALID_PUBLIC_KEY")}}function pc(e){try{return Ko(e,!0)}catch(t){throw new L(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Vn=class{constructor(t){Xo(t),this._key=t}async verify(t,r){return await cc(this._key,r,t)}marshal(){return hc(this._key)}get bytes(){return ie.encode({Type:et.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}},qn=class{constructor(t,r){this._key=t,this._publicKey=r??pc(t),lc(this._key),Xo(this._publicKey)}async sign(t){return await fc(this._key,t)}get public(){return new Vn(this._publicKey)}marshal(){return this._key}get bytes(){return se.encode({Type:et.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return xt(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await $r(this.bytes,t);throw new L(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Xy(e){return new qn(e)}function Jy(e){return new Vn(e)}async function jy(){let e=await uc();return new qn(e)}var Ee={rsa:Oo,ed25519:Zo,secp256k1:Jo};function jo(e){let t=Object.keys(Ee).join(" / ");return new L(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function ta(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Ee[e];throw jo(e)}async function tg(e,t){return await ta(e).generateKeyPair(t??2048)}async function eg(e,t,r){if(e.toLowerCase()!=="ed25519")throw new L("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await $o(t)}function rg(e){let t=ie.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case et.RSA:return Ee.rsa.unmarshalRsaPublicKey(r);case et.Ed25519:return Ee.ed25519.unmarshalEd25519PublicKey(r);case et.Secp256k1:return Ee.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw jo(t.Type??"RSA")}}function ng(e,t){return t=(t??"rsa").toLowerCase(),ta(t),e.bytes}async function dc(e){let t=se.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case et.RSA:return await Ee.rsa.unmarshalRsaPrivateKey(r);case et.Ed25519:return Ee.ed25519.unmarshalEd25519PrivateKey(r);case et.Secp256k1:return Ee.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw jo(t.Type??"RSA")}}function ig(e,t){return t=(t??"rsa").toLowerCase(),ta(t),e.bytes}async function sg(e,t){try{let i=await xf(e,t);return await dc(i)}catch{}let r=ns.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new L("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=ns.default.asn1.toDer(ns.default.pki.privateKeyToAsn1(r));return n=vt(n.getBytes(),"ascii"),await Ee.rsa.unmarshalRsaPrivateKey(n)}var og=j(vo(),1),ag=j(yt(),1);var yc=Symbol.for("@libp2p/peer-id");var ug=Symbol.for("nodejs.util.inspect.custom"),gc=Object.values(Ur).map(e=>e.decoder).reduce((e,t)=>e.or(t),Ur.identity.decoder),mc=114,ea=36,ra=37,Hn=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[yc](){return!0}toString(){return this.string==null&&(this.string=Rt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ct.createV1(mc,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Pt(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return Pt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[ug](){return`PeerId(${this.toString()})`}},jr=class extends Hn{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},tn=class extends Hn{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},en=class extends Hn{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??gc,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=bn(Rt.decode(`z${e}`));return e.startsWith("12D")?new tn({multihash:r}):e.startsWith("16U")?new en({multihash:r}):new jr({multihash:r})}return Gn(gc.decode(e))}function Gn(e){try{let t=bn(e);if(t.code===qe.code){if(t.digest.length===ea)return new tn({multihash:t});if(t.digest.length===ra)return new en({multihash:t})}if(t.code===Bt.code)return new jr({multihash:t})}catch{return fg(ct.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function fg(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==mc)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Bt.code)return new jr({multihash:e.multihash});if(t.code===qe.code){if(t.digest.length===ea)return new tn({multihash:e.multihash});if(t.digest.length===ra)return new en({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function is(e,t){return e.length===ea?new tn({multihash:le(qe.code,e),privateKey:t}):e.length===ra?new en({multihash:le(qe.code,e),privateKey:t}):new jr({multihash:await Bt.digest(e),publicKey:e,privateKey:t})}function xc(){return BigInt(`0x${xt(xr(8),"base16")}`)}var vc=(e,t)=>{let r=vt(t.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(e.length+r.length);return n.set(e,0),n.set(r,e.length),n},bc=e=>Bt.encode(e);var wc=function(e){return Array.isArray(e)?e:[e]},cg=async e=>{if(e.sequenceNumber==null||e.from==null||e.signature==null)return!1;let t=Gn(e.from);return t.publicKey!=null?!0:e.key!=null?(await is(e.key)).equals(t):!1},Sc=async e=>{if(e.from==null)throw new L("RPC message was missing from",Et.ERR_MISSING_FROM);if(!await cg(e))return{type:"unsigned",topic:e.topic??"",data:e.data??new Uint8Array(0)};let t=Gn(e.from),r={type:"signed",from:Gn(e.from),topic:e.topic??"",sequenceNumber:lg(e.sequenceNumber??new Uint8Array(0)),data:e.data??new Uint8Array(0),signature:e.signature??new Uint8Array(0),key:e.key??t.publicKey??new Uint8Array(0)};if(r.key.length===0)throw new L("Signed RPC message was missing key",Et.ERR_MISSING_KEY);return r},Wn=e=>e.type==="signed"?{from:e.from.multihash.bytes,data:e.data,sequenceNumber:hg(e.sequenceNumber),topic:e.topic,signature:e.signature,key:e.key}:{data:e.data,topic:e.topic},hg=e=>{let t=e.toString(16);return t.length%2!==0&&(t=`0${t}`),vt(t,"base16")},lg=e=>BigInt(`0x${xt(e,"base16")}`);var Ec=vt("libp2p-pubsub:");async function Bc(e,t,r){if(e.privateKey==null)throw new Error("Cannot sign message, no private key present");if(e.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:e},i=Lt([Ec,r(Wn(n)).subarray()]),s=await zn.unmarshalPrivateKey(e.privateKey);return n.signature=await s.sign(i),n.key=e.publicKey,n}async function Ac(e,t){if(e.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(e.signature==null)throw new Error("Message must contain a signature to be verified");if(e.from==null)throw new Error("Message must contain a from property to be verified");let r=Lt([Ec,t({...Wn(e),signature:void 0,key:void 0}).subarray()]),n=await pg(e);return await zn.unmarshalPublicKey(n).verify(r,e.signature)}async function pg(e){if(e.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(e.from==null)throw new Error("Could not get the public key from the originator id");if(e.key!=null){let t=await is(e.key);if(t.publicKey!=null)return t.publicKey}if(e.from.publicKey!=null)return e.from.publicKey;throw new Error("Could not get the public key from the originator id")}var Qn;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(Qn||(Qn={}));function De(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var Yn=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return De(this.map.entries(),t=>[bt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,bt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return De(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var ke=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return De(this.set.entries(),t=>{let r=bt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=bt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return De(this.set.values(),t=>bt(t))}intersection(t){let r=new ke;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new ke;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new ke;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var rn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return De(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new rn(this);for(let n of t)r.push(n);return r}entries(){return De(this.list.entries(),t=>[t[0],bt(t[1])])}every(t){return this.list.every((r,n)=>t(bt(r),n,this))}filter(t){let r=new rn;return this.list.forEach((n,i)=>{let s=bt(n);t(s,i,this)&&r.push(s)}),r}find(t){let r=this.list.find((n,i)=>t(bt(n),i,this));if(r!=null)return bt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(bt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(bt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return bt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return bt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var ot=jn("libp2p:pubsub"),na=class extends Ir{constructor(t,r){super();let{multicodecs:n=[],globalSignaturePolicy:i="StrictSign",canRelayMessage:s=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:u=1,maxOutboundStreams:f=1}=r;this.components=t,this.multicodecs=wc(n),this.enabled=r.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Yn,this.globalSignaturePolicy=i==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=s,this.emitSelf=o,this.topicValidators=new Map,this.queue=new pn({concurrency:a}),this.maxInboundStreams=u,this.maxOutboundStreams=f,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;ot("starting");let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>await t.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})));let r=Ra({onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected});this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>await t.register(n,r))),ot("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let t=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.map(r=>t.unregister(r)),await Promise.all(this.multicodecs.map(async r=>await t.unhandle(r))),ot("stopping");for(let r of this.peers.values())r.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,ot("stopped")}isStarted(){return this.started}_onIncomingStream(t){let{stream:r,connection:n}=t,i=n.remotePeer;if(r.stat.protocol==null){r.abort(new Error("Stream was not multiplexed"));return}let s=this.addPeer(i,r.stat.protocol),o=s.attachInboundStream(r);this.processMessages(i,o,s).catch(a=>ot(a))}_onPeerConnected(t,r){ot("connected %p",t),Promise.resolve().then(async()=>{try{let n=await r.newStream(this.multicodecs);if(n.stat.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(t,n.stat.protocol).attachOutboundStream(n)}catch(n){ot.error(n)}this.send(t,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{ot.error(n)})}_onPeerDisconnected(t,r){let n=t.toString();ot("connection ended",n),this._removePeer(t)}addPeer(t,r){let n=this.peers.get(t);if(n!=null)return n;ot("new peer %p",t);let i=new di({id:t,protocol:r});return this.peers.set(t,i),i.addEventListener("close",()=>this._removePeer(t),{once:!0}),i}_removePeer(t){let r=this.peers.get(t);if(r!=null){r.close(),ot("delete peer %p",t),this.peers.delete(t);for(let n of this.topics.values())n.delete(t);return r}}async processMessages(t,r,n){try{await nn(r,async i=>{for await(let s of i){let o=this.decodeRpc(s),a=[];for(let u of o.messages??[]){if(u.from==null||u.data==null||u.topic==null){ot("message from %p was missing from, data or topic fields, dropping",t);continue}a.push({from:u.from,data:u.data,topic:u.topic,sequenceNumber:u.sequenceNumber??void 0,signature:u.signature??void 0,key:u.key??void 0})}this.processRpc(t,n,{subscriptions:(o.subscriptions??[]).map(u=>({subscribe:Boolean(u.subscribe),topic:u.topic??""})),messages:a}).catch(u=>ot(u))}})}catch(i){this._onPeerDisconnected(n.id,i)}}async processRpc(t,r,n){if(!this.acceptFrom(t))return ot("received message from unacceptable peer %p",t),!1;ot("rpc from %p",t);let{subscriptions:i,messages:s}=n;return i!=null&&i.length>0&&(ot("subscription update from %p",t),i.forEach(o=>{this.processRpcSubOpt(t,o)}),super.dispatchEvent(new he("subscription-change",{detail:{peerId:r.id,subscriptions:i.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:Boolean(a)}))}}))),s!=null&&s.length>0&&(ot("messages from %p",t),this.queue.addAll(s.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return ot("received message we didn't subscribe to. Dropping."),!1;try{let a=await Sc(o);await this.processMessage(t,a)}catch(a){ot.error(a)}})).catch(o=>ot(o))),!0}processRpcSubOpt(t,r){let n=r.topic;if(n==null)return;let i=this.topics.get(n);i==null&&(i=new ke,this.topics.set(n,i)),r.subscribe===!0?i.add(t):i.delete(t)}async processMessage(t,r){if(!(this.components.peerId.equals(t)&&!this.emitSelf)){try{await this.validate(t,r)}catch(n){ot("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(r.topic)&&(!this.components.peerId.equals(t)||this.emitSelf)&&super.dispatchEvent(new he("message",{detail:r})),await this.publishMessage(t,r)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new L('Message type should be "signed" when signature policy is StrictSign but it was not',Et.ERR_MISSING_SIGNATURE);if(t.sequenceNumber==null)throw new L("Need seqno when signature policy is StrictSign but it was missing",Et.ERR_MISSING_SEQNO);if(t.key==null)throw new L("Need key when signature policy is StrictSign but it was missing",Et.ERR_MISSING_KEY);return vc(t.key,t.sequenceNumber);case"StrictNoSign":return bc(t.data);default:throw new L("Cannot get message id: unhandled signature policy",Et.ERR_UNHANDLED_SIGNATURE_POLICY)}}acceptFrom(t){return!0}send(t,r){let{messages:n,subscriptions:i,subscribe:s}=r;return this.sendRpc(t,{subscriptions:(i??[]).map(o=>({topic:o,subscribe:Boolean(s)})),messages:(n??[]).map(Wn)})}sendRpc(t,r){let n=this.peers.get(t);if(n==null||!n.isWritable){ot.error("Cannot send RPC to %p as there is no open stream to it available",t);return}n.write(this.encodeRpc(r))}async validate(t,r){switch(this.globalSignaturePolicy){case"StrictNoSign":if(r.type!=="unsigned")throw new L('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',Et.ERR_MISSING_SIGNATURE);if(r.signature!=null)throw new L("StrictNoSigning: signature should not be present",Et.ERR_UNEXPECTED_SIGNATURE);if(r.key!=null)throw new L("StrictNoSigning: key should not be present",Et.ERR_UNEXPECTED_KEY);if(r.sequenceNumber!=null)throw new L("StrictNoSigning: seqno should not be present",Et.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(r.type!=="signed")throw new L('Message type should be "signed" when signature policy is StrictSign but it was not',Et.ERR_MISSING_SIGNATURE);if(r.signature==null)throw new L("StrictSigning: Signing required and no signature was present",Et.ERR_MISSING_SIGNATURE);if(r.sequenceNumber==null)throw new L("StrictSigning: Signing required and no sequenceNumber was present",Et.ERR_MISSING_SEQNO);if(!await Ac(r,this.encodeMessage.bind(this)))throw new L("StrictSigning: Invalid message signature",Et.ERR_INVALID_SIGNATURE);break;default:throw new L("Cannot validate message: unhandled signature policy",Et.ERR_UNHANDLED_SIGNATURE_POLICY)}let i=this.topicValidators.get(r.topic);if(i!=null){let s=await i(t,r);if(s===Qn.Reject||s===Qn.Ignore)throw new L("Message validation failed",Et.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return await Bc(this.components.peerId,t,this.encodeMessage.bind(this));case"StrictNoSign":return await Promise.resolve({type:"unsigned",...t});default:throw new L("Cannot build message: unhandled signature policy",Et.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(t){if(!this.started)throw new L("not started yet","ERR_NOT_STARTED_YET");if(t==null)throw new L("topic is required","ERR_NOT_VALID_TOPIC");let r=this.topics.get(t.toString());return r==null?[]:Array.from(r.values())}async publish(t,r){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:t,data:r??new Uint8Array(0),sequenceNumber:xc()};ot("publish topic: %s from: %p data: %m",t,n.from,n.data);let i=await this.buildMessage(n),s=!1;this.emitSelf&&this.subscriptions.has(t)&&(s=!0,super.dispatchEvent(new he("message",{detail:i})));let o=await this.publishMessage(this.components.peerId,i);return s&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(t){if(!this.started)throw new Error("Pubsub has not started");if(ot("subscribe to topic: %s",t),!this.subscriptions.has(t)){this.subscriptions.add(t);for(let r of this.peers.keys())this.send(r,{subscriptions:[t],subscribe:!0})}}unsubscribe(t){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(t);let r=this.subscriptions.has(t);if(ot("unsubscribe from %s - am subscribed %s",t,r),r){this.subscriptions.delete(t);for(let n of this.peers.keys())this.send(n,{subscriptions:[t],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};return Nc(dg);})();
|
15
|
+
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function $l(e){return e.replace(/^\s+/,"")}});var Au=K((Sm,Bu)=>{var ge=J();lr();yt();var wu=Bu.exports=ge.sha256=ge.sha256||{};ge.md.sha256=ge.md.algorithms.sha256=wu;wu.create=function(){Su||Zl();var e=null,t=ge.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=ge.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=ge.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),bu(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ge.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(bo.substr(0,n.blockLength-o));for(var a,u,f=n.fullMessageLength[0]*8,c=0;c<n.fullMessageLength.length-1;++c)a=n.fullMessageLength[c+1]*8,u=a/4294967296>>>0,f+=u,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};bu(h,r,i);var l=ge.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l.putInt32(h.h5),l.putInt32(h.h6),l.putInt32(h.h7),l},n};var bo=null,Su=!1,Eu=null;function Zl(){bo=String.fromCharCode(128),bo+=ge.util.fillString(String.fromCharCode(0),64),Eu=[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],Su=!0}function bu(e,t,r){for(var n,i,s,o,a,u,f,c,h,l,d,p,y,x,v,w=r.length();w>=64;){for(f=0;f<16;++f)t[f]=r.getInt32();for(;f<64;++f)n=t[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[f]=n+t[f-7]+i+t[f-16]|0;for(c=e.h0,h=e.h1,l=e.h2,d=e.h3,p=e.h4,y=e.h5,x=e.h6,v=e.h7,f=0;f<64;++f)o=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),a=x^p&(y^x),s=(c>>>2|c<<30)^(c>>>13|c<<19)^(c>>>22|c<<10),u=c&h|l&(c^h),n=v+o+a+Eu[f]+t[f],i=s+u,v=x,x=y,y=p,p=d+n>>>0,d=l,l=h,h=c,c=n+i>>>0;e.h0=e.h0+c|0,e.h1=e.h1+h|0,e.h2=e.h2+l|0,e.h3=e.h3+d|0,e.h4=e.h4+p|0,e.h5=e.h5+y|0,e.h6=e.h6+x|0,e.h7=e.h7+v|0,w-=64}}});var Iu=K((Em,Cu)=>{var me=J();yt();var Ui=null;me.util.isNodejs&&!me.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ui=Or());var Xl=Cu.exports=me.prng=me.prng||{};Xl.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(f,c){if(!c)return t.generateSync(f);var h=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed,y=me.util.createBuffer();t.key=null,x();function x(v){if(v)return c(v);if(y.length()>=f)return c(null,y.getBytes(f));if(t.generated>1048575&&(t.key=null),t.key===null)return me.util.nextTick(function(){s(x)});var w=h(t.key,t.seed);t.generated+=w.length,y.putBytes(w),t.key=d(h(t.key,l(t.seed))),t.seed=p(h(t.key,t.seed)),me.util.setImmediate(x)}},t.generateSync=function(f){var c=t.plugin.cipher,h=t.plugin.increment,l=t.plugin.formatKey,d=t.plugin.formatSeed;t.key=null;for(var p=me.util.createBuffer();p.length()<f;){t.generated>1048575&&(t.key=null),t.key===null&&o();var y=c(t.key,t.seed);t.generated+=y.length,p.putBytes(y),t.key=l(c(t.key,h(t.seed))),t.seed=d(c(t.key,t.seed))}return p.getBytes(f)};function s(f){if(t.pools[0].messageLength>=32)return a(),f();var c=32-t.pools[0].messageLength<<5;t.seedFile(c,function(h,l){if(h)return f(h);t.collect(l),a(),f()})}function o(){if(t.pools[0].messageLength>=32)return a();var f=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(f)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var f=t.plugin.md.create();f.update(t.keyBytes);for(var c=1,h=0;h<32;++h)t.reseeds%c===0&&(f.update(t.pools[h].digest().getBytes()),t.pools[h].start()),c=c<<1;t.keyBytes=f.digest().getBytes(),f.start(),f.update(t.keyBytes);var l=f.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(l),t.generated=0}function u(f){var c=null,h=me.util.globalScope,l=h.crypto||h.msCrypto;l&&l.getRandomValues&&(c=function(C){return l.getRandomValues(C)});var d=me.util.createBuffer();if(c)for(;d.length()<f;){var p=Math.max(1,Math.min(f-d.length(),65536)/4),y=new Uint32Array(Math.floor(p));try{c(y);for(var x=0;x<y.length;++x)d.putInt32(y[x])}catch(C){if(!(typeof QuotaExceededError<"u"&&C instanceof QuotaExceededError))throw C}}if(d.length()<f)for(var v,w,A,D=Math.floor(Math.random()*65536);d.length()<f;){w=16807*(D&65535),v=16807*(D>>16),w+=(v&32767)<<16,w+=v>>15,w=(w&2147483647)+(w>>31),D=w&4294967295;for(var x=0;x<3;++x)A=D>>>(x<<3),A^=Math.floor(Math.random()*256),d.putByte(A&255)}return d.getBytes(f)}return Ui?(t.seedFile=function(f,c){Ui.randomBytes(f,function(h,l){if(h)return c(h);c(null,l.toString())})},t.seedFileSync=function(f){return Ui.randomBytes(f).toString()}):(t.seedFile=function(f,c){try{c(null,u(f))}catch(h){c(h)}},t.seedFileSync=u),t.collect=function(f){for(var c=f.length,h=0;h<c;++h)t.pools[t.pool].update(f.substr(h,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(f,c){for(var h="",l=0;l<c;l+=8)h+=String.fromCharCode(f>>l&255);t.collect(h)},t.registerWorker=function(f){if(f===self)t.seedFile=function(h,l){function d(p){var y=p.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",d),l(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:h}}})};else{var c=function(h){var l=h.data;l.forge&&l.forge.prng&&t.seedFile(l.forge.prng.needed,function(d,p){f.postMessage({forge:{prng:{err:d,bytes:p}}})})};f.addEventListener("message",c)}},t}});var In=K((Bm,wo)=>{var _t=J();vi();Au();Iu();yt();(function(){if(_t.random&&_t.random.getBytes){wo.exports=_t.random;return}(function(e){var t={},r=new Array(4),n=_t.util.createBuffer();t.formatKey=function(h){var l=_t.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),_t.aes._expandKey(h,!1)},t.formatSeed=function(h){var l=_t.util.createBuffer(h);return h=new Array(4),h[0]=l.getInt32(),h[1]=l.getInt32(),h[2]=l.getInt32(),h[3]=l.getInt32(),h},t.cipher=function(h,l){return _t.aes._updateBlock(h,l,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(h){return++h[3],h},t.md=_t.md.sha256;function i(){var h=_t.prng.create(t);return h.getBytes=function(l,d){return h.generate(l,d)},h.getBytesSync=function(l){return h.generate(l)},h}var s=i(),o=null,a=_t.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(o=function(h){return u.getRandomValues(h)}),_t.options.usePureJavaScript||!_t.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var c in navigator)try{typeof navigator[c]=="string"&&(f+=navigator[c])}catch{}s.collect(f),f=null}e&&(e().mousemove(function(h){s.collectInt(h.clientX,16),s.collectInt(h.clientY,16)}),e().keypress(function(h){s.collectInt(h.charCode,8)}))}if(!_t.random)_t.random=s;else for(var c in s)_t.random[c]=s[c];_t.random.createInstance=i,wo.exports=_t.random})(typeof jQuery<"u"?jQuery:null)})()});var Nu=K((Am,Ru)=>{var Mt=J();yt();var So=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],_u=[1,2,3,5],Jl=function(e,t){return e<<t&65535|(e&65535)>>16-t},jl=function(e,t){return(e&65535)>>t|e<<16-t&65535};Ru.exports=Mt.rc2=Mt.rc2||{};Mt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Mt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(So[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,So[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,So[r.at(a+1)^r.at(a+s)]);return r};var Tu=function(e,t,r){var n=!1,i=null,s=null,o=null,a,u,f,c,h=[];for(e=Mt.rc2.expandKey(e,t),f=0;f<64;f++)h.push(e.getInt16Le());r?(a=function(p){for(f=0;f<4;f++)p[f]+=h[c]+(p[(f+3)%4]&p[(f+2)%4])+(~p[(f+3)%4]&p[(f+1)%4]),p[f]=Jl(p[f],_u[f]),c++},u=function(p){for(f=0;f<4;f++)p[f]+=h[p[(f+3)%4]&63]}):(a=function(p){for(f=3;f>=0;f--)p[f]=jl(p[f],_u[f]),p[f]-=h[c]+(p[(f+3)%4]&p[(f+2)%4])+(~p[(f+3)%4]&p[(f+1)%4]),c--},u=function(p){for(f=3;f>=0;f--)p[f]-=h[p[(f+3)%4]&63]});var l=function(p){var y=[];for(f=0;f<4;f++){var x=i.getInt16Le();o!==null&&(r?x^=o.getInt16Le():o.putInt16Le(x)),y.push(x&65535)}c=r?0:63;for(var v=0;v<p.length;v++)for(var w=0;w<p[v][0];w++)p[v][1](y);for(f=0;f<4;f++)o!==null&&(r?o.putInt16Le(y[f]):y[f]^=o.getInt16Le()),s.putInt16Le(y[f])},d=null;return d={start:function(p,y){p&&typeof p=="string"&&(p=Mt.util.createBuffer(p)),n=!1,i=Mt.util.createBuffer(),s=y||new Mt.util.createBuffer,o=p,d.output=s},update:function(p){for(n||i.putBuffer(p);i.length()>=8;)l([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(p){var y=!0;if(r)if(p)y=p(8,i,!r);else{var x=i.length()===8?8:8-i.length();i.fillWithByte(x,x)}if(y&&(n=!0,d.update()),!r&&(y=i.length()===0,y))if(p)y=p(8,s,!r);else{var v=s.length(),w=s.at(v-1);w>v?y=!1:s.truncate(w)}return y}},d};Mt.rc2.startEncrypting=function(e,t,r){var n=Mt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Mt.rc2.createEncryptionCipher=function(e,t){return Tu(e,t,!0)};Mt.rc2.startDecrypting=function(e,t,r){var n=Mt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Mt.rc2.createDecryptionCipher=function(e,t){return Tu(e,t,!1)}});var Mi=K((Cm,Mu)=>{var Eo=J();Mu.exports=Eo.jsbn=Eo.jsbn||{};var Ne,tp=0xdeadbeefcafe,Lu=(tp&16777215)==15715070;function S(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Eo.jsbn.BigInteger=S;function Y(){return new S(null)}function ep(e,t,r,n,i,s){for(;--s>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function rp(e,t,r,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var u=this.data[e]&32767,f=this.data[e++]>>15,c=a*u+f*o;u=o*u+((c&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(c>>>15)+a*f+(i>>>30),r.data[n++]=u&1073741823}return i}function Pu(e,t,r,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var u=this.data[e]&16383,f=this.data[e++]>>14,c=a*u+f*o;u=o*u+((c&16383)<<14)+r.data[n]+i,i=(u>>28)+(c>>14)+a*f,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(S.prototype.am=Pu,Ne=28):Lu&&navigator.appName=="Microsoft Internet Explorer"?(S.prototype.am=rp,Ne=30):Lu&&navigator.appName!="Netscape"?(S.prototype.am=ep,Ne=26):(S.prototype.am=Pu,Ne=28);S.prototype.DB=Ne;S.prototype.DM=(1<<Ne)-1;S.prototype.DV=1<<Ne;var Bo=52;S.prototype.FV=Math.pow(2,Bo);S.prototype.F1=Bo-Ne;S.prototype.F2=2*Ne-Bo;var np="0123456789abcdefghijklmnopqrstuvwxyz",Ki=new Array,Vr,Zt;Vr="0".charCodeAt(0);for(Zt=0;Zt<=9;++Zt)Ki[Vr++]=Zt;Vr="a".charCodeAt(0);for(Zt=10;Zt<36;++Zt)Ki[Vr++]=Zt;Vr="A".charCodeAt(0);for(Zt=10;Zt<36;++Zt)Ki[Vr++]=Zt;function Du(e){return np.charAt(e)}function ku(e,t){var r=Ki[e.charCodeAt(t)];return r??-1}function ip(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function sp(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Ge(e){var t=Y();return t.fromInt(e),t}function op(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=r==8?e[n]&255:ku(e,n);if(o<0){e.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&e[0]&128&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&S.ZERO.subTo(this,this)}function ap(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function up(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Du(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Du(n));return i?s:"0"}function fp(){var e=Y();return S.ZERO.subTo(this,e),e}function cp(){return this.s<0?this.negate():this}function hp(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Fi(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function lp(){return this.t<=0?0:this.DB*(this.t-1)+Fi(this.data[this.t-1]^this.s&this.DM)}function pp(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function dp(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function yp(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function gp(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&s)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&s)<<i),t.t=this.t-r,t.clamp()}function mp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function xp(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&S.ZERO.subTo(t,t)}function vp(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function bp(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=Y());var s=Y(),o=this.s,a=e.s,u=this.DB-Fi(n.data[n.t-1]);u>0?(n.lShiftTo(u,s),i.lShiftTo(u,r)):(n.copyTo(s),i.copyTo(r));var f=s.t,c=s.data[f-1];if(c!=0){var h=c*(1<<this.F1)+(f>1?s.data[f-2]>>this.F2:0),l=this.FV/h,d=(1<<this.F1)/h,p=1<<this.F2,y=r.t,x=y-f,v=t??Y();for(s.dlShiftTo(x,v),r.compareTo(v)>=0&&(r.data[r.t++]=1,r.subTo(v,r)),S.ONE.dlShiftTo(f,v),v.subTo(s,s);s.t<f;)s.data[s.t++]=0;for(;--x>=0;){var w=r.data[--y]==c?this.DM:Math.floor(r.data[y]*l+(r.data[y-1]+p)*d);if((r.data[y]+=s.am(0,w,r,x,0,f))<w)for(s.dlShiftTo(x,v),r.subTo(v,r);r.data[y]<--w;)r.subTo(v,r)}t!=null&&(r.drShiftTo(f,t),o!=a&&S.ZERO.subTo(t,t)),r.t=f,r.clamp(),u>0&&r.rShiftTo(u,r),o<0&&S.ZERO.subTo(r,r)}}}function wp(e){var t=Y();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(S.ZERO)>0&&e.subTo(t,t),t}function pr(e){this.m=e}function Sp(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Ep(e){return e}function Bp(e){e.divRemTo(this.m,null,e)}function Ap(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Cp(e,t){e.squareTo(t),this.reduce(t)}pr.prototype.convert=Sp;pr.prototype.revert=Ep;pr.prototype.reduce=Bp;pr.prototype.mulTo=Ap;pr.prototype.sqrTo=Cp;function Ip(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function dr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function _p(e){var t=Y();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(S.ZERO)>0&&this.m.subTo(t,t),t}function Tp(e){var t=Y();return e.copyTo(t),this.reduce(t),t}function Rp(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Np(e,t){e.squareTo(t),this.reduce(t)}function Lp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}dr.prototype.convert=_p;dr.prototype.revert=Tp;dr.prototype.reduce=Rp;dr.prototype.mulTo=Lp;dr.prototype.sqrTo=Np;function Pp(){return(this.t>0?this.data[0]&1:this.s)==0}function Dp(e,t){if(e>4294967295||e<1)return S.ONE;var r=Y(),n=Y(),i=t.convert(this),s=Fi(e)-1;for(i.copyTo(r);--s>=0;)if(t.sqrTo(r,n),(e&1<<s)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)}function kp(e,t){var r;return e<256||t.isEven()?r=new pr(t):r=new dr(t),this.exp(e,r)}S.prototype.copyTo=ip;S.prototype.fromInt=sp;S.prototype.fromString=op;S.prototype.clamp=ap;S.prototype.dlShiftTo=pp;S.prototype.drShiftTo=dp;S.prototype.lShiftTo=yp;S.prototype.rShiftTo=gp;S.prototype.subTo=mp;S.prototype.multiplyTo=xp;S.prototype.squareTo=vp;S.prototype.divRemTo=bp;S.prototype.invDigit=Ip;S.prototype.isEven=Pp;S.prototype.exp=Dp;S.prototype.toString=up;S.prototype.negate=fp;S.prototype.abs=cp;S.prototype.compareTo=hp;S.prototype.bitLength=lp;S.prototype.mod=wp;S.prototype.modPowInt=kp;S.ZERO=Ge(0);S.ONE=Ge(1);function Up(){var e=Y();return this.copyTo(e),e}function Kp(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function Fp(){return this.t==0?this.s:this.data[0]<<24>>24}function Mp(){return this.t==0?this.s:this.data[0]<<16>>16}function Op(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Vp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function qp(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Ge(r),i=Y(),s=Y(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function zp(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,a=0;a<e.length;++a){var u=ku(e,a);if(u<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+u,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&S.ZERO.subTo(this,this)}function Hp(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(S.ONE.shiftLeft(e-1),Ao,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(S.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Gp(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Wp(e){return this.compareTo(e)==0}function Qp(e){return this.compareTo(e)<0?this:e}function Yp(e){return this.compareTo(e)>0?this:e}function $p(e,t,r){var n,i,s=Math.min(e.t,this.t);for(n=0;n<s;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=s;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Zp(e,t){return e&t}function Xp(e){var t=Y();return this.bitwiseTo(e,Zp,t),t}function Ao(e,t){return e|t}function Jp(e){var t=Y();return this.bitwiseTo(e,Ao,t),t}function Uu(e,t){return e^t}function jp(e){var t=Y();return this.bitwiseTo(e,Uu,t),t}function Ku(e,t){return e&~t}function td(e){var t=Y();return this.bitwiseTo(e,Ku,t),t}function ed(){for(var e=Y(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function rd(e){var t=Y();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function nd(e){var t=Y();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function id(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function sd(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+id(this.data[e]);return this.s<0?this.t*this.DB:-1}function od(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function ad(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=od(this.data[r]^t);return e}function ud(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function fd(e,t){var r=S.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function cd(e){return this.changeBit(e,Ao)}function hd(e){return this.changeBit(e,Ku)}function ld(e){return this.changeBit(e,Uu)}function pd(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function dd(e){var t=Y();return this.addTo(e,t),t}function yd(e){var t=Y();return this.subTo(e,t),t}function gd(e){var t=Y();return this.multiplyTo(e,t),t}function md(e){var t=Y();return this.divRemTo(e,t,null),t}function xd(e){var t=Y();return this.divRemTo(e,null,t),t}function vd(e){var t=Y(),r=Y();return this.divRemTo(e,t,r),new Array(t,r)}function bd(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function wd(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function _n(){}function Fu(e){return e}function Sd(e,t,r){e.multiplyTo(t,r)}function Ed(e,t){e.squareTo(t)}_n.prototype.convert=Fu;_n.prototype.revert=Fu;_n.prototype.mulTo=Sd;_n.prototype.sqrTo=Ed;function Bd(e){return this.exp(e,new _n)}function Ad(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function Cd(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function qr(e){this.r2=Y(),this.q3=Y(),S.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function Id(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=Y();return e.copyTo(t),this.reduce(t),t}function _d(e){return e}function Td(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function Rd(e,t){e.squareTo(t),this.reduce(t)}function Nd(e,t,r){e.multiplyTo(t,r),this.reduce(r)}qr.prototype.convert=Id;qr.prototype.revert=_d;qr.prototype.reduce=Td;qr.prototype.mulTo=Nd;qr.prototype.sqrTo=Rd;function Ld(e,t){var r=e.bitLength(),n,i=Ge(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new pr(t):t.isEven()?s=new qr(t):s=new dr(t);var o=new Array,a=3,u=n-1,f=(1<<n)-1;if(o[1]=s.convert(this),n>1){var c=Y();for(s.sqrTo(o[1],c);a<=f;)o[a]=Y(),s.mulTo(c,o[a-2],o[a]),a+=2}var h=e.t-1,l,d=!0,p=Y(),y;for(r=Fi(e.data[h])-1;h>=0;){for(r>=u?l=e.data[h]>>r-u&f:(l=(e.data[h]&(1<<r+1)-1)<<u-r,h>0&&(l|=e.data[h-1]>>this.DB+r-u)),a=n;!(l&1);)l>>=1,--a;if((r-=a)<0&&(r+=this.DB,--h),d)o[l].copyTo(i),d=!1;else{for(;a>1;)s.sqrTo(i,p),s.sqrTo(p,i),a-=2;a>0?s.sqrTo(i,p):(y=i,i=p,p=y),s.mulTo(p,o[l],i)}for(;h>=0&&!(e.data[h]&1<<r);)s.sqrTo(i,p),y=i,i=p,p=y,--r<0&&(r=this.DB-1,--h)}return s.revert(i)}function Pd(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),r.rShiftTo(s,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function Dd(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function kd(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return S.ZERO;for(var r=e.clone(),n=this.clone(),i=Ge(1),s=Ge(0),o=Ge(0),a=Ge(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(S.ONE)!=0)return S.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var oe=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],Ud=(1<<26)/oe[oe.length-1];function Kd(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=oe[oe.length-1]){for(t=0;t<oe.length;++t)if(r.data[0]==oe[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<oe.length;){for(var n=oe[t],i=t+1;i<oe.length&&n<Ud;)n*=oe[i++];for(n=r.modInt(n);t<i;)if(n%oe[t++]==0)return!1}return r.millerRabin(e)}function Fd(e){var t=this.subtract(S.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Md(),s,o=0;o<e;++o){do s=new S(this.bitLength(),i);while(s.compareTo(S.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(S.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(S.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Md(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}S.prototype.chunkSize=Op;S.prototype.toRadix=qp;S.prototype.fromRadix=zp;S.prototype.fromNumber=Hp;S.prototype.bitwiseTo=$p;S.prototype.changeBit=fd;S.prototype.addTo=pd;S.prototype.dMultiply=bd;S.prototype.dAddOffset=wd;S.prototype.multiplyLowerTo=Ad;S.prototype.multiplyUpperTo=Cd;S.prototype.modInt=Dd;S.prototype.millerRabin=Fd;S.prototype.clone=Up;S.prototype.intValue=Kp;S.prototype.byteValue=Fp;S.prototype.shortValue=Mp;S.prototype.signum=Vp;S.prototype.toByteArray=Gp;S.prototype.equals=Wp;S.prototype.min=Qp;S.prototype.max=Yp;S.prototype.and=Xp;S.prototype.or=Jp;S.prototype.xor=jp;S.prototype.andNot=td;S.prototype.not=ed;S.prototype.shiftLeft=rd;S.prototype.shiftRight=nd;S.prototype.getLowestSetBit=sd;S.prototype.bitCount=ad;S.prototype.testBit=ud;S.prototype.setBit=cd;S.prototype.clearBit=hd;S.prototype.flipBit=ld;S.prototype.add=dd;S.prototype.subtract=yd;S.prototype.multiply=gd;S.prototype.divide=md;S.prototype.remainder=xd;S.prototype.divideAndRemainder=vd;S.prototype.modPow=Ld;S.prototype.modInverse=kd;S.prototype.pow=Bd;S.prototype.gcd=Pd;S.prototype.isProbablePrime=Kd});var Hu=K((Im,zu)=>{var xe=J();lr();yt();var Vu=zu.exports=xe.sha1=xe.sha1||{};xe.md.sha1=xe.md.algorithms.sha1=Vu;Vu.create=function(){qu||Od();var e=null,t=xe.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return t=xe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=xe.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return t.putBytes(i),Ou(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=xe.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Co.substr(0,n.blockLength-o));for(var a,u,f=n.fullMessageLength[0]*8,c=0;c<n.fullMessageLength.length-1;++c)a=n.fullMessageLength[c+1]*8,u=a/4294967296>>>0,f+=u,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Ou(h,r,i);var l=xe.util.createBuffer();return l.putInt32(h.h0),l.putInt32(h.h1),l.putInt32(h.h2),l.putInt32(h.h3),l.putInt32(h.h4),l},n};var Co=null,qu=!1;function Od(){Co=String.fromCharCode(128),Co+=xe.util.fillString(String.fromCharCode(0),64),qu=!0}function Ou(e,t,r){for(var n,i,s,o,a,u,f,c,h=r.length();h>=64;){for(i=e.h0,s=e.h1,o=e.h2,a=e.h3,u=e.h4,c=0;c<16;++c)n=r.getInt32(),t[c]=n,f=a^s&(o^a),n=(i<<5|i>>>27)+f+u+1518500249+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<20;++c)n=t[c-3]^t[c-8]^t[c-14]^t[c-16],n=n<<1|n>>>31,t[c]=n,f=a^s&(o^a),n=(i<<5|i>>>27)+f+u+1518500249+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<32;++c)n=t[c-3]^t[c-8]^t[c-14]^t[c-16],n=n<<1|n>>>31,t[c]=n,f=s^o^a,n=(i<<5|i>>>27)+f+u+1859775393+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<40;++c)n=t[c-6]^t[c-16]^t[c-28]^t[c-32],n=n<<2|n>>>30,t[c]=n,f=s^o^a,n=(i<<5|i>>>27)+f+u+1859775393+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<60;++c)n=t[c-6]^t[c-16]^t[c-28]^t[c-32],n=n<<2|n>>>30,t[c]=n,f=s&o|a&(s^o),n=(i<<5|i>>>27)+f+u+2400959708+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;c<80;++c)n=t[c-6]^t[c-16]^t[c-28]^t[c-32],n=n<<2|n>>>30,t[c]=n,f=s^o^a,n=(i<<5|i>>>27)+f+u+3395469782+n,u=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+a|0,e.h4=e.h4+u|0,h-=64}}});var Qu=K((_m,Wu)=>{var ve=J();yt();In();Hu();var Gu=Wu.exports=ve.pkcs1=ve.pkcs1||{};Gu.encode_rsa_oaep=function(e,t,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=ve.md.sha1.create(),o||(o=s);var a=Math.ceil(e.n.bitLength()/8),u=a-2*s.digestLength-2;if(t.length>u){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=t.length,f.maxLength=u,f}n||(n=""),s.update(n,"raw");for(var c=s.digest(),h="",l=u-t.length,d=0;d<l;d++)h+="\0";var p=c.getBytes()+h+""+t;if(!i)i=ve.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=s.digestLength,f}var y=Oi(i,a-s.digestLength-1,o),x=ve.util.xorBytes(p,y,p.length),v=Oi(x,s.digestLength,o),w=ve.util.xorBytes(i,v,i.length);return"\0"+w+x};Gu.decode_rsa_oaep=function(e,t,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(e.n.bitLength()/8);if(t.length!==o){var x=new Error("RSAES-OAEP encoded message length is invalid.");throw x.length=t.length,x.expectedLength=o,x}if(i===void 0?i=ve.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),u=t.charAt(0),f=t.substring(1,i.digestLength+1),c=t.substring(1+i.digestLength),h=Oi(c,i.digestLength,s),l=ve.util.xorBytes(f,h,f.length),d=Oi(l,o-i.digestLength-1,s),p=ve.util.xorBytes(c,d,c.length),y=p.substring(0,i.digestLength),x=u!=="\0",v=0;v<i.digestLength;++v)x|=a.charAt(v)!==y.charAt(v);for(var w=1,A=i.digestLength,D=i.digestLength;D<p.length;D++){var C=p.charCodeAt(D),_=C&1^1,V=w?65534:0;x|=C&V,w=w&_,A+=w}if(x||p.charCodeAt(A)!==1)throw new Error("Invalid RSAES-OAEP padding.");return p.substring(A+1)};function Oi(e,t,r){r||(r=ve.md.sha1.create());for(var n="",i=Math.ceil(t/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}});var Yu=K((Tm,Io)=>{var We=J();yt();Mi();In();(function(){if(We.prime){Io.exports=We.prime;return}var e=Io.exports=We.prime=We.prime||{},t=We.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(h,l){return h|l};e.generateProbablePrime=function(h,l,d){typeof l=="function"&&(d=l,l={}),l=l||{};var p=l.algorithm||"PRIMEINC";typeof p=="string"&&(p={name:p}),p.options=p.options||{};var y=l.prng||We.random,x={nextBytes:function(v){for(var w=y.getBytesSync(v.length),A=0;A<v.length;++A)v[A]=w.charCodeAt(A)}};if(p.name==="PRIMEINC")return s(h,x,p.options,d);throw new Error("Invalid prime generation algorithm: "+p.name)};function s(h,l,d,p){return"workers"in d?u(h,l,d,p):o(h,l,d,p)}function o(h,l,d,p){var y=f(h,l),x=0,v=c(y.bitLength());"millerRabinTests"in d&&(v=d.millerRabinTests);var w=10;"maxBlockTime"in d&&(w=d.maxBlockTime),a(y,h,l,x,v,w,p)}function a(h,l,d,p,y,x,v){var w=+new Date;do{if(h.bitLength()>l&&(h=f(l,d)),h.isProbablePrime(y))return v(null,h);h.dAddOffset(r[p++%8],0)}while(x<0||+new Date-w<x);We.util.setImmediate(function(){a(h,l,d,p,y,x,v)})}function u(h,l,d,p){if(typeof Worker>"u")return o(h,l,d,p);var y=f(h,l),x=d.workers,v=d.workLoad||100,w=v*30/8,A=d.workerScript||"forge/prime.worker.js";if(x===-1)return We.util.estimateCores(function(C,_){C&&(_=2),x=_-1,D()});D();function D(){x=Math.max(1,x);for(var C=[],_=0;_<x;++_)C[_]=new Worker(A);for(var V=x,_=0;_<x;++_)C[_].addEventListener("message",wt);var z=!1;function wt(jt){if(!z){--V;var Vt=jt.data;if(Vt.found){for(var Dt=0;Dt<C.length;++Dt)C[Dt].terminate();return z=!0,p(null,new t(Vt.prime,16))}y.bitLength()>h&&(y=f(h,l));var Sr=y.toString(16);jt.target.postMessage({hex:Sr,workLoad:v}),y.dAddOffset(w,0)}}}}function f(h,l){var d=new t(h,l),p=h-1;return d.testBit(p)||d.bitwiseTo(t.ONE.shiftLeft(p),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}function c(h){return h<=100?27:h<=150?18:h<=200?15:h<=250?12:h<=300?9:h<=350?8:h<=400?7:h<=500?6:h<=600?5:h<=800?4:h<=1250?3:2}})()});var qi=K((Rm,ef)=>{var k=J();Cn();Mi();Ri();Qu();Yu();In();yt();typeof H>"u"&&(H=k.jsbn.BigInteger);var H,_o=k.util.isNodejs?Or():null,m=k.asn1,Xt=k.util;k.pki=k.pki||{};ef.exports=k.pki.rsa=k.rsa=k.rsa||{};var F=k.pki,Vd=[6,4,2,4,2,4,6,2],qd={name:"PrivateKeyInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},zd={name:"RSAPrivateKey",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Hd={name:"RSAPublicKey",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:m.Class.UNIVERSAL,type:m.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Gd=k.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:m.Class.UNIVERSAL,type:m.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},Wd={name:"DigestInfo",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:m.Class.UNIVERSAL,type:m.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:m.Class.UNIVERSAL,type:m.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:m.Class.UNIVERSAL,type:m.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:m.Class.UNIVERSAL,type:m.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Qd=function(e){var t;if(e.algorithm in F.oids)t=F.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=m.oidToDer(t).getBytes(),i=m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[]),s=m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[]);s.value.push(m.create(m.Class.UNIVERSAL,m.Type.OID,!1,n)),s.value.push(m.create(m.Class.UNIVERSAL,m.Type.NULL,!1,""));var o=m.create(m.Class.UNIVERSAL,m.Type.OCTETSTRING,!1,e.digest().getBytes());return i.value.push(s),i.value.push(o),m.toDer(i).getBytes()},ju=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(H.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(H.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new H(k.util.bytesToHex(k.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(H.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),s=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};F.rsa.encrypt=function(e,t,r){var n=r,i,s=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=tf(e,t,r)):(i=k.util.createBuffer(),i.putBytes(e));for(var o=new H(i.toHex(),16),a=ju(o,t,n),u=a.toString(16),f=k.util.createBuffer(),c=s-Math.ceil(u.length/2);c>0;)f.putByte(0),--c;return f.putBytes(k.util.hexToBytes(u)),f.getBytes()};F.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new H(k.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=ju(o,t,r),u=a.toString(16),f=k.util.createBuffer(),c=i-Math.ceil(u.length/2);c>0;)f.putByte(0),--c;return f.putBytes(k.util.hexToBytes(u)),n!==!1?Vi(f.getBytes(),t,r):f.getBytes()};F.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||k.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=u.charCodeAt(f)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:e,rng:i,eInt:t||65537,e:new H(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};F.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new H(null);r.fromInt(30);for(var n=0,i=function(h,l){return h|l},s=+new Date,o,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var u=e.p===null?e.pBits:e.qBits,f=u-1;e.pqState===0?(e.num=new H(u,e.rng),e.num.testBit(f)||e.num.bitwiseTo(H.ONE.shiftLeft(f),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>u?e.pqState=0:e.num.isProbablePrime($d(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Vd[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(H.ONE).gcd(e.e).compareTo(H.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(H.ONE),e.q1=e.q.subtract(H.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(H.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var c=e.e.modInverse(e.phi);e.keys={privateKey:F.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:F.rsa.setPublicKey(e.n,e.e)}}o=+new Date,a+=o-s,s=o}return e.keys!==null};F.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!k.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if($u("generateKeyPair"))return _o.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,f){if(a)return n(a);n(null,{privateKey:F.privateKeyFromPem(f),publicKey:F.publicKeyFromPem(u)})});if(Zu("generateKey")&&Zu("exportKey"))return Xt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Ju(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Xt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=F.privateKeyFromAsn1(m.fromDer(k.util.createBuffer(a)));n(null,{privateKey:u,publicKey:F.setRsaPublicKey(u.n,u.e)})}});if(Xu("generateKey")&&Xu("exportKey")){var i=Xt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Ju(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,f=Xt.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);f.oncomplete=function(c){var h=c.target.result,l=F.privateKeyFromAsn1(m.fromDer(k.util.createBuffer(h)));n(null,{privateKey:l,publicKey:F.setRsaPublicKey(l.n,l.e)})},f.onerror=function(c){n(c)}},i.onerror=function(a){n(a)};return}}else if($u("generateKeyPairSync")){var s=_o.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:F.privateKeyFromPem(s.privateKey),publicKey:F.publicKeyFromPem(s.publicKey)}}}var o=F.rsa.createKeyPairGenerationState(e,t,r);if(!n)return F.rsa.stepKeyPairGenerationState(o,0),o.keys;Yd(o,r,n)};F.setRsaPublicKey=F.rsa.setPublicKey=function(e,t){var r={n:e,e:t};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,u,f){return tf(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return k.pkcs1.encode_rsa_oaep(u,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return F.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(u,f){f=Vi(f,r,!0);var c=m.fromDer(f,{parseAllBytes:o._parseAllDigestBytes}),h={},l=[];if(!m.validate(c,Wd,h,l)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=l,d}var p=m.derToOid(h.algorithmIdentifier);if(!(p===k.oids.md2||p===k.oids.md5||p===k.oids.sha1||p===k.oids.sha224||p===k.oids.sha256||p===k.oids.sha384||p===k.oids.sha512||p===k.oids["sha512-224"]||p===k.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=p,d}if((p===k.oids.md2||p===k.oids.md5)&&!("parameters"in h))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return u===h.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(u,f){return f=Vi(f,r,!0),u===f}});var a=F.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};F.setRsaPrivateKey=F.rsa.setPrivateKey=function(e,t,r,n,i,s,o,a){var u={n:e,e:t,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return u.decrypt=function(f,c,h){typeof c=="string"?c=c.toUpperCase():c===void 0&&(c="RSAES-PKCS1-V1_5");var l=F.rsa.decrypt(f,u,!1,!1);if(c==="RSAES-PKCS1-V1_5")c={decode:Vi};else if(c==="RSA-OAEP"||c==="RSAES-OAEP")c={decode:function(d,p){return k.pkcs1.decode_rsa_oaep(p,d,h)}};else if(["RAW","NONE","NULL",null].indexOf(c)!==-1)c={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+c+'".');return c.decode(l,u,!1)},u.sign=function(f,c){var h=!1;typeof c=="string"&&(c=c.toUpperCase()),c===void 0||c==="RSASSA-PKCS1-V1_5"?(c={encode:Qd},h=1):(c==="NONE"||c==="NULL"||c===null)&&(c={encode:function(){return f}},h=1);var l=c.encode(f,u.n.bitLength());return F.rsa.encrypt(l,u,h)},u};F.wrapRsaPrivateKey=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,m.integerToDer(0).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.OID,!1,m.oidToDer(F.oids.rsaEncryption).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.NULL,!1,"")]),m.create(m.Class.UNIVERSAL,m.Type.OCTETSTRING,!1,m.toDer(e).getBytes())])};F.privateKeyFromAsn1=function(e){var t={},r=[];if(m.validate(e,qd,t,r)&&(e=m.fromDer(k.util.createBuffer(t.privateKey))),t={},r=[],!m.validate(e,zd,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,u,f,c,h;return i=k.util.createBuffer(t.privateKeyModulus).toHex(),s=k.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=k.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=k.util.createBuffer(t.privateKeyPrime1).toHex(),u=k.util.createBuffer(t.privateKeyPrime2).toHex(),f=k.util.createBuffer(t.privateKeyExponent1).toHex(),c=k.util.createBuffer(t.privateKeyExponent2).toHex(),h=k.util.createBuffer(t.privateKeyCoefficient).toHex(),F.setRsaPrivateKey(new H(i,16),new H(s,16),new H(o,16),new H(a,16),new H(u,16),new H(f,16),new H(c,16),new H(h,16))};F.privateKeyToAsn1=F.privateKeyToRSAPrivateKey=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,m.integerToDer(0).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.n)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.e)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.d)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.p)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.q)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.dP)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.dQ)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.qInv))])};F.publicKeyFromAsn1=function(e){var t={},r=[];if(m.validate(e,Gd,t,r)){var n=m.derToOid(t.publicKeyOid);if(n!==F.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!m.validate(e,Hd,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=k.util.createBuffer(t.publicKeyModulus).toHex(),o=k.util.createBuffer(t.publicKeyExponent).toHex();return F.setRsaPublicKey(new H(s,16),new H(o,16))};F.publicKeyToAsn1=F.publicKeyToSubjectPublicKeyInfo=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.OID,!1,m.oidToDer(F.oids.rsaEncryption).getBytes()),m.create(m.Class.UNIVERSAL,m.Type.NULL,!1,"")]),m.create(m.Class.UNIVERSAL,m.Type.BITSTRING,!1,[F.publicKeyToRSAPublicKey(e)])])};F.publicKeyToRSAPublicKey=function(e){return m.create(m.Class.UNIVERSAL,m.Type.SEQUENCE,!0,[m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.n)),m.create(m.Class.UNIVERSAL,m.Type.INTEGER,!1,be(e.e))])};function tf(e,t,r){var n=k.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var u=0;u<o;++u)n.putByte(a)}else for(;o>0;){for(var f=0,c=k.random.getBytes(o),u=0;u<o;++u)a=c.charCodeAt(u),a===0?++f:n.putByte(a);o=f}return n.putByte(0),n.putBytes(e),n}function Vi(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),s=k.util.createBuffer(e),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var u=0;if(a===0){u=i-3-n;for(var f=0;f<u;++f)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++u}else if(a===2)for(u=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++u}var c=s.getByte();if(c!==0||u!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function Yd(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(e.pBits,function(a,u){if(a)return r(a);if(e.p=u,e.q!==null)return o(a,e.q);s(e.qBits,o)})}function s(a,u){k.prime.generateProbablePrime(a,n,u)}function o(a,u){if(a)return r(a);if(e.q=u,e.p.compareTo(e.q)<0){var f=e.p;e.p=e.q,e.q=f}if(e.p.subtract(H.ONE).gcd(e.e).compareTo(H.ONE)!==0){e.p=null,i();return}if(e.q.subtract(H.ONE).gcd(e.e).compareTo(H.ONE)!==0){e.q=null,s(e.qBits,o);return}if(e.p1=e.p.subtract(H.ONE),e.q1=e.q.subtract(H.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(H.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,s(e.qBits,o);return}var c=e.e.modInverse(e.phi);e.keys={privateKey:F.rsa.setPrivateKey(e.n,e.e,c,e.p,e.q,c.mod(e.p1),c.mod(e.q1),e.q.modInverse(e.p)),publicKey:F.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function be(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=k.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function $d(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function $u(e){return k.util.isNodejs&&typeof _o[e]=="function"}function Zu(e){return typeof Xt.globalScope<"u"&&typeof Xt.globalScope.crypto=="object"&&typeof Xt.globalScope.crypto.subtle=="object"&&typeof Xt.globalScope.crypto.subtle[e]=="function"}function Xu(e){return typeof Xt.globalScope<"u"&&typeof Xt.globalScope.msCrypto=="object"&&typeof Xt.globalScope.msCrypto.subtle=="object"&&typeof Xt.globalScope.msCrypto.subtle[e]=="function"}function Ju(e){for(var t=k.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var uf=K((Nm,af)=>{var T=J();vi();Cn();lu();lr();Ri();vo();vu();In();Nu();qi();yt();typeof rf>"u"&&(rf=T.jsbn.BigInteger);var rf,b=T.asn1,M=T.pki=T.pki||{};af.exports=M.pbe=T.pbe=T.pbe||{};var yr=M.oids,Zd={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Xd={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Jd={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};M.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=T.random.getBytesSync(r.saltSize),i=r.count,s=b.integerToDer(i),o,a,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,c,h;switch(r.algorithm){case"aes128":o=16,f=16,c=yr["aes128-CBC"],h=T.aes.createEncryptionCipher;break;case"aes192":o=24,f=16,c=yr["aes192-CBC"],h=T.aes.createEncryptionCipher;break;case"aes256":o=32,f=16,c=yr["aes256-CBC"],h=T.aes.createEncryptionCipher;break;case"des":o=8,f=8,c=yr.desCBC,h=T.des.createEncryptionCipher;break;default:var l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),p=of(d),y=T.pkcs5.pbkdf2(t,n,i,o,p),x=T.random.getBytesSync(f),v=h(y);v.start(x),v.update(b.toDer(e)),v.finish(),u=v.output.getBytes();var w=jd(n,s,o,d);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(yr.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(yr.pkcs5PBKDF2).getBytes()),w]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(c).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,x)])])])}else if(r.algorithm==="3des"){o=24;var A=new T.util.ByteBuffer(n),y=M.pbe.generatePkcs12Key(t,A,1,i,o),x=M.pbe.generatePkcs12Key(t,A,2,i,o),v=T.des.createEncryptionCipher(y);v.start(x),v.update(b.toDer(e)),v.finish(),u=v.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(yr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,s.getBytes())])])}else{var l=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw l.algorithm=r.algorithm,l}var D=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,u)]);return D};M.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!b.validate(e,Zd,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=b.derToOid(n.encryptionOid),a=M.pbe.getCipher(o,n.encryptionParams,t),u=T.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=b.fromDer(a.output)),r};M.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(e).getBytes()};return T.pem.encode(r,{maxline:t})};M.encryptedPrivateKeyFromPem=function(e){var t=T.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return b.fromDer(t.body)};M.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=M.wrapRsaPrivateKey(M.privateKeyToAsn1(e));return n=M.encryptPrivateKeyInfo(n,t,r),M.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=T.random.getBytesSync(16),a=T.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=T.random.getBytesSync(16),a=T.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=T.random.getBytesSync(16),a=T.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=T.random.getBytesSync(8),a=T.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=T.random.getBytesSync(8),a=T.des.createEncryptionCipher;break;default:var u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var f=T.pbe.opensslDeriveBytes(t,s.substr(0,8),o),c=a(f);c.start(s),c.update(b.toDer(M.privateKeyToAsn1(e))),c.finish();var h={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:T.util.bytesToHex(s).toUpperCase()},body:c.output.getBytes()};return T.pem.encode(h)};M.decryptRsaPrivateKey=function(e,t){var r=null,n=T.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=T.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=T.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=T.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=T.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=T.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(h){return T.rc2.createDecryptionCipher(h,40)};break;case"RC2-64-CBC":s=8,o=function(h){return T.rc2.createDecryptionCipher(h,64)};break;case"RC2-128-CBC":s=16,o=function(h){return T.rc2.createDecryptionCipher(h,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=T.util.hexToBytes(n.dekInfo.parameters),u=T.pbe.opensslDeriveBytes(t,a.substr(0,8),s),f=o(u);if(f.start(a),f.update(T.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=M.decryptPrivateKeyInfo(b.fromDer(r),t):r=b.fromDer(r),r!==null&&(r=M.privateKeyFromAsn1(r)),r};M.pbe.generatePkcs12Key=function(e,t,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in T.md))throw new Error('"sha1" hash algorithm unavailable.');s=T.md.sha1.create()}var u=s.digestLength,f=s.blockLength,c=new T.util.ByteBuffer,h=new T.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)h.putInt16(e.charCodeAt(a));h.putInt16(0)}var l=h.length(),d=t.length(),p=new T.util.ByteBuffer;p.fillWithByte(r,f);var y=f*Math.ceil(d/f),x=new T.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(t.at(a%d));var v=f*Math.ceil(l/f),w=new T.util.ByteBuffer;for(a=0;a<v;a++)w.putByte(h.at(a%l));var A=x;A.putBuffer(w);for(var D=Math.ceil(i/u),C=1;C<=D;C++){var _=new T.util.ByteBuffer;_.putBytes(p.bytes()),_.putBytes(A.bytes());for(var V=0;V<n;V++)s.start(),s.update(_.getBytes()),_=s.digest();var z=new T.util.ByteBuffer;for(a=0;a<f;a++)z.putByte(_.at(a%u));var wt=Math.ceil(d/f)+Math.ceil(l/f),jt=new T.util.ByteBuffer;for(o=0;o<wt;o++){var Vt=new T.util.ByteBuffer(A.getBytes(f)),Dt=511;for(a=z.length()-1;a>=0;a--)Dt=Dt>>8,Dt+=z.at(a)+Vt.at(a),Vt.setAt(a,Dt&255);jt.putBuffer(Vt)}A=jt,c.putBuffer(_)}return c.truncate(c.length()-i),c};M.pbe.getCipher=function(e,t,r){switch(e){case M.oids.pkcs5PBES2:return M.pbe.getCipherForPBES2(e,t,r);case M.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case M.oids["pbewithSHAAnd40BitRC2-CBC"]:return M.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};M.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!b.validate(t,Xd,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(e=b.derToOid(n.kdfOid),e!==M.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if(e=b.derToOid(n.encOid),e!==M.oids["aes128-CBC"]&&e!==M.oids["aes192-CBC"]&&e!==M.oids["aes256-CBC"]&&e!==M.oids["des-EDE3-CBC"]&&e!==M.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=T.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var u,f;switch(M.oids[e]){case"aes128-CBC":u=16,f=T.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,f=T.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,f=T.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,f=T.des.createDecryptionCipher;break;case"desCBC":u=8,f=T.des.createDecryptionCipher;break}var c=sf(n.prfOid),h=T.pkcs5.pbkdf2(r,o,a,u,c),l=n.encIv,d=f(h);return d.start(l),d};M.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!b.validate(t,Jd,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=T.util.createBuffer(n.salt),a=T.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var u,f,c;switch(e){case M.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,f=8,c=T.des.startDecrypting;break;case M.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,f=8,c=function(y,x){var v=T.rc2.createDecryptionCipher(y,40);return v.start(x,null),v};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=e,s}var h=sf(n.prfOid),l=M.pbe.generatePkcs12Key(r,o,1,a,u,h);h.start();var d=M.pbe.generatePkcs12Key(r,o,2,a,f,h);return c(l,d)};M.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in T.md))throw new Error('"md5" hash algorithm unavailable.');n=T.md.md5.create()}t===null&&(t="");for(var i=[nf(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(nf(n,i[o-1]+e+t));return i.join("").substr(0,r)};function nf(e,t){return e.start().update(t).digest().getBytes()}function sf(e){var t;if(!e)t="hmacWithSHA1";else if(t=M.oids[b.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return of(t)}function of(e){var t=T.md;switch(e){case"hmacWithSHA224":t=T.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function jd(e,t,r,n){var i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,T.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(M.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var Ef=K((rx,Sf)=>{var nt=J();lr();yt();var Tn=Sf.exports=nt.sha512=nt.sha512||{};nt.md.sha512=nt.md.algorithms.sha512=Tn;var bf=nt.sha384=nt.sha512.sha384=nt.sha512.sha384||{};bf.create=function(){return Tn.create("SHA-384")};nt.md.sha384=nt.md.algorithms.sha384=bf;nt.sha512.sha256=nt.sha512.sha256||{create:function(){return Tn.create("SHA-512/256")}};nt.md["sha512/256"]=nt.md.algorithms["sha512/256"]=nt.sha512.sha256;nt.sha512.sha224=nt.sha512.sha224||{create:function(){return Tn.create("SHA-512/224")}};nt.md["sha512/224"]=nt.md.algorithms["sha512/224"]=nt.sha512.sha224;Tn.create=function(e){if(wf||ny(),typeof e>"u"&&(e="SHA-512"),!(e in gr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=gr[e],r=null,n=nt.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(e){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:e.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var u=a.messageLengthSize/4,f=0;f<u;++f)a.fullMessageLength.push(0);n=nt.util.createBuffer(),r=new Array(t.length);for(var f=0;f<t.length;++f)r[f]=t[f].slice(0);return a},a.start(),a.update=function(u,f){f==="utf8"&&(u=nt.util.encodeUtf8(u));var c=u.length;a.messageLength+=c,c=[c/4294967296>>>0,c>>>0];for(var h=a.fullMessageLength.length-1;h>=0;--h)a.fullMessageLength[h]+=c[1],c[1]=c[0]+(a.fullMessageLength[h]/4294967296>>>0),a.fullMessageLength[h]=a.fullMessageLength[h]>>>0,c[0]=c[1]/4294967296>>>0;return n.putBytes(u),vf(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=nt.util.createBuffer();u.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,c=f&a.blockLength-1;u.putBytes(Ro.substr(0,a.blockLength-c));for(var h,l,d=a.fullMessageLength[0]*8,p=0;p<a.fullMessageLength.length-1;++p)h=a.fullMessageLength[p+1]*8,l=h/4294967296>>>0,d+=l,u.putInt32(d>>>0),d=h>>>0;u.putInt32(d);for(var y=new Array(r.length),p=0;p<r.length;++p)y[p]=r[p].slice(0);vf(y,i,u);var x=nt.util.createBuffer(),v;e==="SHA-512"?v=y.length:e==="SHA-384"?v=y.length-2:v=y.length-4;for(var p=0;p<v;++p)x.putInt32(y[p][0]),(p!==v-1||e!=="SHA-512/224")&&x.putInt32(y[p][1]);return x},a};var Ro=null,wf=!1,No=null,gr=null;function ny(){Ro=String.fromCharCode(128),Ro+=nt.util.fillString(String.fromCharCode(0),128),No=[[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]],gr={},gr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],gr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],gr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],gr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],wf=!0}function vf(e,t,r){for(var n,i,s,o,a,u,f,c,h,l,d,p,y,x,v,w,A,D,C,_,V,z,wt,jt,Vt,Dt,Sr,$n,mt,Ft,U,ss,os,as,us,ia=r.length();ia>=128;){for(mt=0;mt<16;++mt)t[mt][0]=r.getInt32()>>>0,t[mt][1]=r.getInt32()>>>0;for(;mt<80;++mt)ss=t[mt-2],Ft=ss[0],U=ss[1],n=((Ft>>>19|U<<13)^(U>>>29|Ft<<3)^Ft>>>6)>>>0,i=((Ft<<13|U>>>19)^(U<<3|Ft>>>29)^(Ft<<26|U>>>6))>>>0,as=t[mt-15],Ft=as[0],U=as[1],s=((Ft>>>1|U<<31)^(Ft>>>8|U<<24)^Ft>>>7)>>>0,o=((Ft<<31|U>>>1)^(Ft<<24|U>>>8)^(Ft<<25|U>>>7))>>>0,os=t[mt-7],us=t[mt-16],U=i+os[1]+o+us[1],t[mt][0]=n+os[0]+s+us[0]+(U/4294967296>>>0)>>>0,t[mt][1]=U>>>0;for(y=e[0][0],x=e[0][1],v=e[1][0],w=e[1][1],A=e[2][0],D=e[2][1],C=e[3][0],_=e[3][1],V=e[4][0],z=e[4][1],wt=e[5][0],jt=e[5][1],Vt=e[6][0],Dt=e[6][1],Sr=e[7][0],$n=e[7][1],mt=0;mt<80;++mt)f=((V>>>14|z<<18)^(V>>>18|z<<14)^(z>>>9|V<<23))>>>0,c=((V<<18|z>>>14)^(V<<14|z>>>18)^(z<<23|V>>>9))>>>0,h=(Vt^V&(wt^Vt))>>>0,l=(Dt^z&(jt^Dt))>>>0,a=((y>>>28|x<<4)^(x>>>2|y<<30)^(x>>>7|y<<25))>>>0,u=((y<<4|x>>>28)^(x<<30|y>>>2)^(x<<25|y>>>7))>>>0,d=(y&v|A&(y^v))>>>0,p=(x&w|D&(x^w))>>>0,U=$n+c+l+No[mt][1]+t[mt][1],n=Sr+f+h+No[mt][0]+t[mt][0]+(U/4294967296>>>0)>>>0,i=U>>>0,U=u+p,s=a+d+(U/4294967296>>>0)>>>0,o=U>>>0,Sr=Vt,$n=Dt,Vt=wt,Dt=jt,wt=V,jt=z,U=_+i,V=C+n+(U/4294967296>>>0)>>>0,z=U>>>0,C=A,_=D,A=v,D=w,v=y,w=x,U=i+o,y=n+s+(U/4294967296>>>0)>>>0,x=U>>>0;U=e[0][1]+x,e[0][0]=e[0][0]+y+(U/4294967296>>>0)>>>0,e[0][1]=U>>>0,U=e[1][1]+w,e[1][0]=e[1][0]+v+(U/4294967296>>>0)>>>0,e[1][1]=U>>>0,U=e[2][1]+D,e[2][0]=e[2][0]+A+(U/4294967296>>>0)>>>0,e[2][1]=U>>>0,U=e[3][1]+_,e[3][0]=e[3][0]+C+(U/4294967296>>>0)>>>0,e[3][1]=U>>>0,U=e[4][1]+z,e[4][0]=e[4][0]+V+(U/4294967296>>>0)>>>0,e[4][1]=U>>>0,U=e[5][1]+jt,e[5][0]=e[5][0]+wt+(U/4294967296>>>0)>>>0,e[5][1]=U>>>0,U=e[6][1]+Dt,e[6][0]=e[6][0]+Vt+(U/4294967296>>>0)>>>0,e[6][1]=U>>>0,U=e[7][1]+$n,e[7][0]=e[7][0]+Sr+(U/4294967296>>>0)>>>0,e[7][1]=U>>>0,ia-=128}}});var dg={};St(dg,{PubSubBaseProtocol:()=>na});var ce=j(ca(),1);var ps={};St(ps,{base58btc:()=>Rt,base58flickr:()=>$c});function Hc(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var s=e.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=e.length,u=e.charAt(0),f=Math.log(a)/Math.log(256),c=Math.log(256)/Math.log(a);function h(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var y=0,x=0,v=0,w=p.length;v!==w&&p[v]===0;)v++,y++;for(var A=(w-v)*c+1>>>0,D=new Uint8Array(A);v!==w;){for(var C=p[v],_=0,V=A-1;(C!==0||_<x)&&V!==-1;V--,_++)C+=256*D[V]>>>0,D[V]=C%a>>>0,C=C/a>>>0;if(C!==0)throw new Error("Non-zero carry");x=_,v++}for(var z=A-x;z!==A&&D[z]===0;)z++;for(var wt=u.repeat(y);z<A;++z)wt+=e.charAt(D[z]);return wt}function l(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var y=0;if(p[y]!==" "){for(var x=0,v=0;p[y]===u;)x++,y++;for(var w=(p.length-y)*f+1>>>0,A=new Uint8Array(w);p[y];){var D=r[p.charCodeAt(y)];if(D===255)return;for(var C=0,_=w-1;(D!==0||C<v)&&_!==-1;_--,C++)D+=a*A[_]>>>0,A[_]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");v=C,y++}if(p[y]!==" "){for(var V=w-v;V!==w&&A[V]===0;)V++;for(var z=new Uint8Array(x+(w-V)),wt=x;V!==w;)z[wt++]=A[V++];return z}}}function d(p){var y=l(p);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:h,decodeUnsafe:l,decode:d}}var Gc=Hc,Wc=Gc,ha=Wc;var vg=new Uint8Array(0);var la=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Be=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var pa=e=>new TextEncoder().encode(e),da=e=>new TextDecoder().decode(e);var fs=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},cs=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return ga(this,t)}},hs=class{constructor(t){this.decoders=t}or(t){return ga(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},ga=(e,t)=>new hs({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),ls=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new fs(t,r,n),this.decoder=new cs(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Cr=({name:e,prefix:t,encode:r,decode:n})=>new ls(e,t,r,n),Ue=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=ha(r,t);return Cr({prefix:e,name:t,encode:n,decode:s=>Be(i(s))})},Qc=(e,t,r,n)=>{let i={};for(let c=0;c<t.length;++c)i[t[c]]=c;let s=e.length;for(;e[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,u=0,f=0;for(let c=0;c<s;++c){let h=i[e[c]];if(h===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|h,a+=r,a>=8&&(a-=8,o[f++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return o},Yc=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let u=0;u<e.length;++u)for(a=a<<8|e[u],o+=8;o>r;)o-=r,s+=t[i&a>>o];if(o&&(s+=t[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},ht=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Cr({prefix:t,name:e,encode(i){return Yc(i,n,r)},decode(i){return Qc(i,n,r,e)}});var Rt=Ue({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),$c=Ue({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var ds={};St(ds,{base32:()=>Ke,base32hex:()=>jc,base32hexpad:()=>eh,base32hexpadupper:()=>rh,base32hexupper:()=>th,base32pad:()=>Xc,base32padupper:()=>Jc,base32upper:()=>Zc,base32z:()=>nh});var Ke=ht({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Zc=ht({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xc=ht({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Jc=ht({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jc=ht({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),th=ht({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),eh=ht({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rh=ht({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nh=ht({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ys={};St(ys,{base64:()=>rr,base64pad:()=>ih,base64url:()=>sh,base64urlpad:()=>oh});var rr=ht({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ih=ht({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),sh=ht({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),oh=ht({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ce.default.formatters.b=e=>e==null?"undefined":Rt.baseEncode(e);ce.default.formatters.t=e=>e==null?"undefined":Ke.baseEncode(e);ce.default.formatters.m=e=>e==null?"undefined":rr.baseEncode(e);ce.default.formatters.p=e=>e==null?"undefined":e.toString();ce.default.formatters.c=e=>e==null?"undefined":e.toString();ce.default.formatters.k=e=>e==null?"undefined":e.toString();function jn(e){return Object.assign((0,ce.default)(e),{error:(0,ce.default)(`${e}:error`),trace:(0,ce.default)(`${e}:trace`)})}var nr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ae,Ir=class extends EventTarget{constructor(){super(...arguments),Ae.set(this,new Map)}listenerCount(t){let r=nr(this,Ae,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=nr(this,Ae,"f").get(t);i==null&&(i=[],nr(this,Ae,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=nr(this,Ae,"f").get(t);i!=null&&(i=i.filter(({callback:s})=>s!==r),nr(this,Ae,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=nr(this,Ae,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),nr(this,Ae,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new he(t,r))}};Ae=new WeakMap;var gs=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},he=globalThis.CustomEvent??gs;var L=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ti=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},_r=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new ti(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new ti(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function Tr(e={}){return ah(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},e)}function ah(e,t){t=t??{};let r=t.onEnd,n=new _r,i,s,o,a=async()=>n.isEmpty()?o?{done:!0}:await new Promise((y,x)=>{s=v=>{s=null,n.push(v);try{y(e(n))}catch(w){x(w)}return i}}):e(n),u=y=>s!=null?s(y):(n.push(y),i),f=y=>(n=new _r,s!=null?s({error:y}):(n.push({error:y}),i)),c=y=>{if(o)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},h=y=>o?i:(o=!0,y!=null?f(y):u({done:!0})),l=()=>(n=new _r,h(),{done:!0}),d=y=>(h(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:l,throw:d,push:c,end:h,get readableLength(){return n.size}},r==null)return i;let p=i;return i={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(y){return p.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return p.return(),r!=null&&(r(),r=void 0),{done:!0}},push:c,end(y){return p.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return p.readableLength}},i}async function*ms(...e){let t=Tr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}var uh=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},ma=e=>e!=null&&(typeof e[Symbol.asyncIterator]=="function"||typeof e[Symbol.iterator]=="function"||typeof e.next=="function"),xs=e=>e!=null&&typeof e.sink=="function"&&ma(e.source),fh=e=>t=>{let r=e.sink(t);if(r.then!=null){let n=Tr({objectMode:!0});return r.then(()=>{n.end()},s=>{n.end(s)}),ms(n,async function*(){yield*e.source,n.end()}())}return e.source};function nn(e,...t){if(xs(e)){let n=e;e=()=>n.source}else if(ma(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&xs(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)xs(r[n])&&(r[n]=fh(r[n]));return uh(...r)}var _a=j(va(),1);var on=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},bs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},ba=e=>globalThis.DOMException===void 0?new bs(e):new DOMException(e),wa=e=>{let t=e.reason===void 0?ba("This operation was aborted."):e.reason;return t instanceof Error?t:ba(t)};function ws(e,t,r,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:u}=n;u.aborted&&a(wa(u)),u.addEventListener("abort",()=>{a(wa(u))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(c){a(c)}return}let u=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,f=r instanceof Error?r:new on(u);typeof e.cancel=="function"&&e.cancel(),a(f)},t),(async()=>{try{o(await e)}catch(u){a(u)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Ss(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var ir=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ce,an=class{constructor(){Ce.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&ir(this,Ce,"f")[this.size-1].priority>=r.priority){ir(this,Ce,"f").push(n);return}let i=Ss(ir(this,Ce,"f"),n,(s,o)=>o.priority-s.priority);ir(this,Ce,"f").splice(i,0,n)}dequeue(){let t=ir(this,Ce,"f").shift();return t?.run}filter(t){return ir(this,Ce,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return ir(this,Ce,"f").length}};Ce=new WeakMap;var ft=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},N=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},pt,fn,cn,Me,ai,hn,ri,te,un,zt,ni,Ht,ln,Fe,ii,Sa,Ea,Ca,Ba,Aa,si,Es,Bs,ui,Ia,oi,fi=class extends Error{},pn=class extends _a.default{constructor(t){var r,n,i,s;if(super(),pt.add(this),fn.set(this,void 0),cn.set(this,void 0),Me.set(this,0),ai.set(this,void 0),hn.set(this,void 0),ri.set(this,0),te.set(this,void 0),un.set(this,void 0),zt.set(this,void 0),ni.set(this,void 0),Ht.set(this,0),ln.set(this,void 0),Fe.set(this,void 0),ii.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:an,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);ft(this,fn,t.carryoverConcurrencyCount,"f"),ft(this,cn,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),ft(this,ai,t.intervalCap,"f"),ft(this,hn,t.interval,"f"),ft(this,zt,new t.queueClass,"f"),ft(this,ni,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,ft(this,ii,t.throwOnTimeout===!0,"f"),ft(this,Fe,t.autoStart===!1,"f")}get concurrency(){return N(this,ln,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);ft(this,ln,t,"f"),N(this,pt,"m",ui).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:N(this,ii,"f"),...r},new Promise((n,i)=>{N(this,zt,"f").enqueue(async()=>{var s,o,a;ft(this,Ht,(o=N(this,Ht,"f"),o++,o),"f"),ft(this,Me,(a=N(this,Me,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new fi("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=ws(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,N(this,pt,"m",Ia).call(this,r.signal)]));let f=await u;n(f),this.emit("completed",f)}catch(u){if(u instanceof on&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{N(this,pt,"m",Ca).call(this)}},r),this.emit("add"),N(this,pt,"m",si).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return N(this,Fe,"f")?(ft(this,Fe,!1,"f"),N(this,pt,"m",ui).call(this),this):this}pause(){ft(this,Fe,!0,"f")}clear(){ft(this,zt,new(N(this,ni,"f")),"f")}async onEmpty(){N(this,zt,"f").size!==0&&await N(this,pt,"m",oi).call(this,"empty")}async onSizeLessThan(t){N(this,zt,"f").size<t||await N(this,pt,"m",oi).call(this,"next",()=>N(this,zt,"f").size<t)}async onIdle(){N(this,Ht,"f")===0&&N(this,zt,"f").size===0||await N(this,pt,"m",oi).call(this,"idle")}get size(){return N(this,zt,"f").size}sizeBy(t){return N(this,zt,"f").filter(t).length}get pending(){return N(this,Ht,"f")}get isPaused(){return N(this,Fe,"f")}};fn=new WeakMap,cn=new WeakMap,Me=new WeakMap,ai=new WeakMap,hn=new WeakMap,ri=new WeakMap,te=new WeakMap,un=new WeakMap,zt=new WeakMap,ni=new WeakMap,Ht=new WeakMap,ln=new WeakMap,Fe=new WeakMap,ii=new WeakMap,pt=new WeakSet,Sa=function(){return N(this,cn,"f")||N(this,Me,"f")<N(this,ai,"f")},Ea=function(){return N(this,Ht,"f")<N(this,ln,"f")},Ca=function(){var t;ft(this,Ht,(t=N(this,Ht,"f"),t--,t),"f"),N(this,pt,"m",si).call(this),this.emit("next")},Ba=function(){N(this,pt,"m",Bs).call(this),N(this,pt,"m",Es).call(this),ft(this,un,void 0,"f")},Aa=function(){let t=Date.now();if(N(this,te,"f")===void 0){let r=N(this,ri,"f")-t;if(r<0)ft(this,Me,N(this,fn,"f")?N(this,Ht,"f"):0,"f");else return N(this,un,"f")===void 0&&ft(this,un,setTimeout(()=>{N(this,pt,"m",Ba).call(this)},r),"f"),!0}return!1},si=function(){if(N(this,zt,"f").size===0)return N(this,te,"f")&&clearInterval(N(this,te,"f")),ft(this,te,void 0,"f"),this.emit("empty"),N(this,Ht,"f")===0&&this.emit("idle"),!1;if(!N(this,Fe,"f")){let t=!N(this,pt,"a",Aa);if(N(this,pt,"a",Sa)&&N(this,pt,"a",Ea)){let r=N(this,zt,"f").dequeue();return r?(this.emit("active"),r(),t&&N(this,pt,"m",Es).call(this),!0):!1}}return!1},Es=function(){N(this,cn,"f")||N(this,te,"f")!==void 0||(ft(this,te,setInterval(()=>{N(this,pt,"m",Bs).call(this)},N(this,hn,"f")),"f"),ft(this,ri,Date.now()+N(this,hn,"f"),"f"))},Bs=function(){N(this,Me,"f")===0&&N(this,Ht,"f")===0&&N(this,te,"f")&&(clearInterval(N(this,te,"f")),ft(this,te,void 0,"f")),ft(this,Me,N(this,fn,"f")?N(this,Ht,"f"):0,"f"),N(this,pt,"m",ui).call(this)},ui=function(){for(;N(this,pt,"m",si).call(this););},Ia=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new fi("The task was aborted."))},{once:!0})})},oi=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var As=Symbol.for("@libp2p/topology");var Ta=()=>{},Cs=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??Ta,this.onDisconnect=t.onDisconnect??Ta}get[Symbol.toStringTag](){return As.toString()}get[As](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function Ra(e){return new Cs(e)}var Et={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function sr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Ie(e=0){return globalThis.Buffer?.alloc!=null?sr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function _e(e=0){return globalThis.Buffer?.allocUnsafe!=null?sr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Lt(e,t){t==null&&(t=e.reduce((i,s)=>i+s.length,0));let r=_e(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return sr(r)}function Pt(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var La=Symbol.for("@achingbrain/uint8arraylist");function Na(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function ci(e){return Boolean(e?.[La])}var Yt=class{constructor(...t){Object.defineProperty(this,La,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ci(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ci(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=Na(this.bufs,t);return r.buf[r.index]}set(t,r){let n=Na(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(ci(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Lt(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Lt(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),s=new Yt;return s.length=i,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,u=a+o.byteLength;if(i=u,t>=u)continue;let f=t>=a&&t<u,c=r>a&&r<=u;if(f&&c){if(t===a&&r===u){n.push(o);break}let h=t-a;n.push(o.subarray(h,h+(r-t)));break}if(f){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(c){if(r===u){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!ci(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let h=0;h<s;h++)o[h]=-1;for(let h=0;h<i;h++)o[n[h]]=h;let a=o,u=this.byteLength-n.byteLength,f=n.byteLength-1,c;for(let h=r;h<=u;h+=c){c=0;for(let l=f;l>=0;l--){let d=this.get(h+l);if(n[l]!==d){c=Math.max(1,l-a[d]);break}}if(c===0)return h}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=_e(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Ie(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Ie(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Ie(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=_e(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Ie(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Ie(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Ie(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Ie(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Ie(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Yt)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Pt(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Yt;return n.bufs=t,r==null&&(r=t.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function hi(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var Pa=4294967296,Gt=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!0)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new Gt(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new Gt(r,n)}toBytes(t,r=0){let n=hi(t);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(t){if(t===0n)return new Gt;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>Pa&&(i=0,++n>Pa&&(n=0))),new Gt(n,i)}static fromNumber(t){if(t===0)return new Gt;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Gt(i,n)}static fromBytes(t,r=0){let n=hi(t),i=new Gt,s=0;if(t.length-r>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;s=0}else for(;s<4;++s){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<s*7)>>>0,n.get(r++)<128)return i}if(t.length-r>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}else if(r<t.byteLength)for(;s<5;++s){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<s*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var lh=Math.pow(2,7),ph=Math.pow(2,14),dh=Math.pow(2,21),yh=Math.pow(2,28),gh=Math.pow(2,35),mh=Math.pow(2,42),xh=Math.pow(2,49),vh=Math.pow(2,56),bh=Math.pow(2,63),or={encodingLength(e){return e<lh?1:e<ph?2:e<dh?3:e<yh?4:e<gh?5:e<mh?6:e<xh?7:e<vh?8:e<bh?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=_e(or.encodingLength(e))),Gt.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return Gt.fromBytes(e,t).toNumber(!0)}};function Da(e){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}var li=e=>{let t=or.encodingLength(e),r=Da(t);return or.encode(e,r),li.bytes=t,r};li.bytes=0;function pi(e){e=e??{};let t=e.lengthEncoder??li;return async function*(n){for await(let i of n){let s=t(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}}}pi.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??li;return new Yt(r(e.byteLength),e)};var dn=j(Ka(),1),Sh=8,Eh=1024*1024*4,ar;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(ar||(ar={}));var Is=e=>{let t=or.decode(e);return Is.bytes=or.encodingLength(t),t};Is.bytes=0;function yn(e){return async function*(r){let n=new Yt,i=ar.LENGTH,s=-1,o=e?.lengthDecoder??Is,a=e?.maxLengthLength??Sh,u=e?.maxDataLength??Eh;for await(let f of r)for(n.append(f);n.byteLength>0;){if(i===ar.LENGTH)try{if(s=o(n),s<0)throw(0,dn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>u)throw(0,dn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=o.bytes;n.consume(c),e?.onLength!=null&&e.onLength(s),i=ar.DATA}catch(c){if(c instanceof RangeError){if(n.byteLength>a)throw(0,dn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(i===ar.DATA){if(n.byteLength<s)break;let c=n.sublist(0,s);n.consume(s),e?.onData!=null&&e.onData(c),yield c,i=ar.LENGTH}}if(n.byteLength>0)throw(0,dn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}yn.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return yn({...t??{},onLength:s=>{r=s}})(n)};var gn=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Fa(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function Ma(e,t,r){let n=r??{},i=Fa(e);async function*s(){let o,a=()=>{o?.()};for(t.addEventListener("abort",a);;){let u;try{if(t.aborted){let{abortMessage:c,abortCode:h}=n;throw new gn(c,h)}let f=new Promise((c,h)=>{o=()=>{let{abortMessage:l,abortCode:d}=n;h(new gn(l,d))}});u=await Promise.race([f,i.next()]),o=null}catch(f){t.removeEventListener("abort",a);let c=f.type==="aborted"&&t.aborted;if(c&&n.onAbort!=null&&await n.onAbort(e),typeof i.return=="function")try{let h=i.return();h instanceof Promise&&h.catch(l=>{n.onReturnError!=null&&n.onReturnError(l)})}catch(h){n.onReturnError!=null&&n.onReturnError(h)}if(c&&n.returnOnAbort===!0)return;throw f}if(u.done===!0)break;yield u.value}t.removeEventListener("abort",a)}return s()}var Ah=jn("libp2p-pubsub:peer-streams"),di=class extends Ir{constructor(t){super(),this.id=t.id,this.protocol=t.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return Boolean(this.inboundStream)}get isWritable(){return Boolean(this.outboundStream)}write(t){if(this.outboundStream==null){let r=this.id.toString();throw new Error("No writable connection to "+r)}this.outboundStream.push(t instanceof Uint8Array?new Yt(t):t)}attachInboundStream(t){return this._rawInboundStream=t,this.inboundStream=Ma(nn(this._rawInboundStream,yn()),this._inboundAbortController.signal,{returnOnAbort:!0}),this.dispatchEvent(new he("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let r=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=Tr({objectMode:!0,onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.reset!=null&&this._rawOutboundStream.reset(),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new he("close"))}}),nn(this.outboundStream,pi(),this._rawOutboundStream).catch(n=>{Ah.error(n)}),r==null&&this.dispatchEvent(new he("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new he("close")))}};var dt={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var Oa={SHA1:20,SHA256:32,SHA512:64};var Ch={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Ih=async(e,t)=>{let r=await dt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function Va(e,t){let r=Ch[e],n=await dt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await Ih(n,i)},length:Oa[e]}}var T2=j(vi(),1),El=j(J(),1);var Ms={};St(Ms,{identity:()=>kh});var kh=Cr({prefix:"\0",name:"identity",encode:e=>da(e),decode:e=>pa(e)});var Os={};St(Os,{base2:()=>Uh});var Uh=ht({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vs={};St(Vs,{base8:()=>Kh});var Kh=ht({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var qs={};St(qs,{base10:()=>Fh});var Fh=Ue({prefix:"9",name:"base10",alphabet:"0123456789"});var zs={};St(zs,{base16:()=>Mh,base16upper:()=>Oh});var Mh=ht({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Oh=ht({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Hs={};St(Hs,{base36:()=>Vh,base36upper:()=>qh});var Vh=Ue({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),qh=Ue({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Gs={};St(Gs,{base256emoji:()=>Qh});var n0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),zh=n0.reduce((e,t,r)=>(e[r]=t,e),[]),Hh=n0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Gh(e){return e.reduce((t,r)=>(t+=zh[r],t),"")}function Wh(e){let t=[];for(let r of e){let n=Hh[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Qh=Cr({prefix:"\u{1F680}",name:"base256emoji",encode:Gh,decode:Wh});var $s={};St($s,{sha256:()=>Bt,sha512:()=>ll});var Yh=o0,i0=128,$h=127,Zh=~$h,Xh=Math.pow(2,31);function o0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Xh;)t[r++]=e&255|i0,e/=128;for(;e&Zh;)t[r++]=e&255|i0,e>>>=7;return t[r]=e|0,o0.bytes=r-n+1,t}var Jh=Ws,jh=128,s0=127;function Ws(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw Ws.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&s0)<<i:(o&s0)*Math.pow(2,i),i+=7}while(o>=jh);return Ws.bytes=s-n,r}var tl=Math.pow(2,7),el=Math.pow(2,14),rl=Math.pow(2,21),nl=Math.pow(2,28),il=Math.pow(2,35),sl=Math.pow(2,42),ol=Math.pow(2,49),al=Math.pow(2,56),ul=Math.pow(2,63),fl=function(e){return e<tl?1:e<el?2:e<rl?3:e<nl?4:e<il?5:e<sl?6:e<ol?7:e<al?8:e<ul?9:10},cl={encode:Yh,decode:Jh,encodingLength:fl},hl=cl,xn=hl;var vn=(e,t=0)=>[xn.decode(e,t),xn.decode.bytes],Lr=(e,t,r=0)=>(xn.encode(e,t,r),t),Pr=e=>xn.encodingLength(e);var le=(e,t)=>{let r=t.byteLength,n=Pr(e),i=n+Pr(r),s=new Uint8Array(i+r);return Lr(e,s,0),Lr(r,s,n),s.set(t,i),new Dr(e,r,t,s)},bn=e=>{let t=Be(e),[r,n]=vn(t),[i,s]=vn(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Dr(r,i,o,t)},a0=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&la(e.bytes,r.bytes)}},Dr=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Ys=({name:e,code:t,encode:r})=>new Qs(e,t,r),Qs=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?le(this.code,r):r.then(n=>le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var f0=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Bt=Ys({name:"sha2-256",code:18,encode:f0("SHA-256")}),ll=Ys({name:"sha2-512",code:19,encode:f0("SHA-512")});var Zs={};St(Zs,{identity:()=>qe});var c0=0,pl="identity",h0=Be,dl=e=>le(c0,h0(e)),qe={code:c0,name:pl,encode:h0,digest:dl};var u2=new TextEncoder,f2=new TextDecoder;var l0=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return xl(r,Xs(e),t||Rt.encoder);default:return vl(r,Xs(e),t||Ke.encoder)}};var p0=new WeakMap,Xs=e=>{let t=p0.get(e);if(t==null){let r=new Map;return p0.set(e,r),r}return t},ct=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==wn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==bl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return ct.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=le(t,r);return ct.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return ct.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&a0(t.multihash,n.multihash)}toString(t){return l0(this,t)}toJSON(){return{"/":l0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof ct)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new ct(n,i,s,o||d0(n,i,s.bytes))}else if(r[wl]===!0){let{version:n,multihash:i,code:s}=r,o=bn(i);return ct.create(n,s,o)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==wn)throw new Error(`Version 0 CID must use dag-pb (code: ${wn}) block encoding`);return new ct(t,r,n,n.bytes)}case 1:{let i=d0(t,r,n.bytes);return new ct(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return ct.create(0,wn,t)}static createV1(t,r){return ct.create(1,t,r)}static decode(t){let[r,n]=ct.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=ct.inspectBytes(t),n=r.size-r.multihashSize,i=Be(t.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new Dr(r.multihashCode,r.digestSize,s,i);return[r.version===0?ct.createV0(o):ct.createV1(r.codec,o),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[h,l]=vn(t.subarray(r));return r+=l,h},i=n(),s=wn;if(i===18?(i=0,r=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),u=n(),f=r+u,c=f-o;return{version:i,codec:s,multihashCode:a,digestSize:u,multihashSize:c,size:f}}static parse(t,r){let[n,i]=ml(t,r),s=ct.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Xs(s).set(n,t),s}},ml=(e,t)=>{switch(e[0]){case"Q":{let r=t||Rt;return[Rt.prefix,r.decode(`${Rt.prefix}${e}`)]}case Rt.prefix:{let r=t||Rt;return[Rt.prefix,r.decode(e)]}case Ke.prefix:{let r=t||Ke;return[Ke.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},xl=(e,t,r)=>{let{prefix:n}=r;if(n!==Rt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return i},vl=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let s=r.encode(e);return t.set(n,s),s}else return i},wn=112,bl=18,d0=(e,t,r)=>{let n=Pr(e),i=n+Pr(t),s=new Uint8Array(i+r.byteLength);return Lr(e,s,0),Lr(t,s,n),s.set(r,i),s},wl=Symbol.for("@ipld/js-cid/CID");var Ur={...Ms,...Os,...Vs,...qs,...zs,...ds,...Hs,...ps,...ys,...Gs},v2={...$s,...Zs};function g0(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var y0=g0("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Js=g0("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=_e(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Sl={utf8:y0,"utf-8":y0,hex:Ur.base16,latin1:Js,ascii:Js,binary:Js,...Ur},wi=Sl;function xt(e,t="utf8"){let r=wi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function vt(e,t="utf8"){let r=wi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?sr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var zn={};St(zn,{generateEphemeralKeyPair:()=>gf,generateKeyPair:()=>tg,generateKeyPairFromSeed:()=>eg,importKey:()=>sg,keyStretcher:()=>cf,keysPBM:()=>Mr,marshalPrivateKey:()=>ig,marshalPublicKey:()=>ng,supportedKeys:()=>Ee,unmarshalPrivateKey:()=>dc,unmarshalPublicKey:()=>rg});var Mr={};St(Mr,{KeyType:()=>et,PrivateKey:()=>se,PublicKey:()=>ie});var ho=j(no(),1),nu=j($0(),1),lo=j(co(),1),iu=j(ru(),1),su=j(cr(),1);function Dl(){su.default._configure(),ho.default._configure(nu.default),lo.default._configure(iu.default)}Dl();var ou=["uint64","int64","sint64","fixed64","sfixed64"];function kl(e){for(let t of ou){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function po(e){return kl(new ho.default(e))}function Ul(e){for(let t of ou){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function yo(){return Ul(lo.default.create())}function Ci(e,t){let r=po(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Ii(e,t){let r=yo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Fr;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Fr||(Fr={}));function _i(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function go(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return _i("enum",Fr.VARINT,r,n)}function Ti(e,t){return _i("message",Fr.LENGTH_DELIMITED,e,t)}var et;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(et||(et={}));var mo;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(mo||(mo={}));(function(e){e.codec=()=>go(mo)})(et||(et={}));var ie;(function(e){let t;e.codec=()=>(t==null&&(t=Ti((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),et.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=et.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Ii(r,e.codec()),e.decode=r=>Ci(r,e.codec())})(ie||(ie={}));var se;(function(e){let t;e.codec=()=>(t==null&&(t=Ti((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),et.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=et.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Ii(r,e.codec()),e.decode=r=>Ci(r,e.codec())})(se||(se={}));var zx=j(Cn(),1),Hx=j(uf(),1),ns=j(J(),1);var ff={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function cf(e,t,r){let n=ff[e];if(n==null){let w=Object.keys(ff).join(" / ");throw new L(`unknown cipher type '${e}'. Must be ${w}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new L("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=vt("key expansion"),u=2*(s+i+o),f=await Va(t,r),c=await f.digest(a),h=[],l=0;for(;l<u;){let w=await f.digest(Lt([c,a])),A=w.length;l+A>u&&(A=u-l),h.push(w),l+=A,c=await f.digest(c)}let d=u/2,p=Lt(h),y=p.subarray(0,d),x=p.subarray(d,u),v=w=>({iv:w.subarray(0,s),cipherKey:w.subarray(s,s+i),macKey:w.subarray(s+i)});return{k1:v(y),k2:v(x)}}var Um=j(yt(),1),Km=j(Mi(),1),hf=j(J(),1);function ae(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Lt([new Uint8Array(t-r.length),r])}return xt(r,"base64url")}function Wt(e){let t=zi(e);return new hf.default.jsbn.BigInteger(xt(t,"base16"),16)}function zi(e,t){let r=vt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Lt([new Uint8Array(t-r.length),r])}return r}var lf={"P-256":256,"P-384":384,"P-521":521},ty=Object.keys(lf),To=ty.join(" / ");async function pf(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new L(`Unknown curve: ${e}. Must be ${To}`,"ERR_INVALID_CURVE");let t=await dt.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(s,o)=>{let a;o!=null?a=await dt.get().subtle.importKey("jwk",ry(e,o),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await dt.get().subtle.importKey("jwk",yf(e,s),{name:"ECDH",namedCurve:e},!1,[]),f=await dt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,lf[e]);return new Uint8Array(f,0,f.byteLength)},n=await dt.get().subtle.exportKey("jwk",t.publicKey);return{key:ey(n),genSharedKey:r}}var df={"P-256":32,"P-384":48,"P-521":66};function ey(e){if(e.crv==null||e.x==null||e.y==null)throw new L("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new L(`Unknown curve: ${e.crv}. Must be ${To}`,"ERR_INVALID_CURVE");let t=df[e.crv];return Lt([Uint8Array.from([4]),zi(e.x,t),zi(e.y,t)],1+t*2)}function yf(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new L(`Unknown curve: ${e}. Must be ${To}`,"ERR_INVALID_CURVE");let r=df[e];if(!Pt(t.subarray(0,1),Uint8Array.from([4])))throw new L("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:xt(t.subarray(1,r+1),"base64url"),y:xt(t.subarray(1+r),"base64url"),ext:!0}}var ry=(e,t)=>({...yf(e,t.public),d:xt(t.private,"base64url")});var gf=pf;function Hi(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",s=e?.saltLength??16,o=e?.iterations??32767,a=dt.get();r*=8;async function u(h,l){let d=a.getRandomValues(new Uint8Array(s)),p=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:p};typeof l=="string"&&(l=vt(l));let x={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},v=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),w=await a.subtle.deriveKey(x,v,{name:t,length:r},!0,["encrypt"]),A=await a.subtle.encrypt(y,w,h);return Lt([d,y.iv,new Uint8Array(A)])}async function f(h,l){let d=h.subarray(0,s),p=h.subarray(s,s+n),y=h.subarray(s+n),x={name:t,iv:p};typeof l=="string"&&(l=vt(l));let v={name:"PBKDF2",salt:d,iterations:o,hash:{name:i}},w=await a.subtle.importKey("raw",l,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),A=await a.subtle.deriveKey(v,w,{name:t,length:r},!0,["decrypt"]),D=await a.subtle.decrypt(x,A,y);return new Uint8Array(D)}return{encrypt:u,decrypt:f}}async function xf(e,t){let r=rr.decode(e);return await Hi().decrypt(r,t)}var Oo={};St(Oo,{RsaPrivateKey:()=>Zr,RsaPublicKey:()=>kn,fromJwk:()=>Iy,generateKeyPair:()=>_y,unmarshalRsaPrivateKey:()=>Ay,unmarshalRsaPublicKey:()=>Cy});var Ix=j(Ef(),1),Dn=j(J(),1);var iy=j(Or(),1);var G=BigInt(0),it=BigInt(1),Ye=BigInt(2),Nn=BigInt(3),Bf=BigInt(8),lt=Object.freeze({a:G,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:it,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),Af=(e,t)=>(e+t/Ye)/t,Gi={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=lt,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-it*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=Af(s*e,t),u=Af(-n*e,t),f=R(e-a*r-u*i,t),c=R(-a*n-u*s,t),h=f>o,l=c>o;if(h&&(f=t-f),l&&(c=t-c),f>o||c>o)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:h,k1:f,k2neg:l,k2:c}}},ue=32,Gr=32,sy=32,Cf=ue+1,If=2*ue+1;function _f(e){let{a:t,b:r}=lt,n=R(e*e),i=R(n*e);return R(i+t*e+r)}var Wi=lt.a===G,$i=class extends Error{constructor(t){super(t)}};function Tf(e){if(!(e instanceof $))throw new TypeError("JacobianPoint expected")}var $=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof Z))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(Z.ZERO)?$.ZERO:new $(t.x,t.y,it)}static toAffineBatch(t){let r=cy(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return $.toAffineBatch(t).map($.fromAffine)}equals(t){Tf(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,u=R(i*i),f=R(a*a),c=R(r*f),h=R(s*u),l=R(R(n*a)*f),d=R(R(o*i)*u);return c===h&&l===d}negate(){return new $(this.x,R(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=R(t*t),s=R(r*r),o=R(s*s),a=t+s,u=R(Ye*(R(a*a)-i-o)),f=R(Nn*i),c=R(f*f),h=R(c-Ye*u),l=R(f*(u-h)-Bf*o),d=R(Ye*r*n);return new $(h,l,d)}add(t){Tf(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t;if(s===G||o===G)return this;if(r===G||n===G)return t;let u=R(i*i),f=R(a*a),c=R(r*f),h=R(s*u),l=R(R(n*a)*f),d=R(R(o*i)*u),p=R(h-c),y=R(d-l);if(p===G)return y===G?this.double():$.ZERO;let x=R(p*p),v=R(p*x),w=R(c*x),A=R(y*y-v-Ye*w),D=R(y*(w-A)-l*v),C=R(i*a*p);return new $(A,D,C)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=$.ZERO;if(typeof t=="bigint"&&t===G)return r;let n=Lf(t);if(n===it)return this;if(!Wi){let h=r,l=this;for(;n>G;)n&it&&(h=h.add(l)),l=l.double(),n>>=it;return h}let{k1neg:i,k1:s,k2neg:o,k2:a}=Gi.splitScalar(n),u=r,f=r,c=this;for(;s>G||a>G;)s&it&&(u=u.add(c)),a&it&&(f=f.add(c)),c=c.double(),s>>=it,a>>=it;return i&&(u=u.negate()),o&&(f=f.negate()),f=new $(R(f.x*Gi.beta),f.y,f.z),u.add(f)}precomputeWindow(t){let r=Wi?128/t+1:256/t+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals($.BASE)&&(r=Z.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Po.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=$.normalizeZ(i),Po.set(r,i)));let s=$.ZERO,o=$.BASE,a=1+(Wi?128/n:256/n),u=2**(n-1),f=BigInt(2**n-1),c=2**n,h=BigInt(n);for(let l=0;l<a;l++){let d=l*u,p=Number(t&f);t>>=h,p>u&&(p-=c,t+=it);let y=d,x=d+Math.abs(p)-1,v=l%2!==0,w=p<0;p===0?o=o.add(Qi(v,i[y])):s=s.add(Qi(w,i[x]))}return{p:s,f:o}}multiply(t,r){let n=Lf(t),i,s;if(Wi){let{k1neg:o,k1:a,k2neg:u,k2:f}=Gi.splitScalar(n),{p:c,f:h}=this.wNAF(a,r),{p:l,f:d}=this.wNAF(f,r);c=Qi(o,c),l=Qi(u,l),l=new $(R(l.x*Gi.beta),l.y,l.z),i=c.add(l),s=h.add(d)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return $.normalizeZ([i,s])[0]}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals($.ZERO);t==null&&(t=s?Bf:Yr(i));let o=t,a=R(o*o),u=R(a*o),f=R(r*a),c=R(n*u),h=R(i*o);if(s)return Z.ZERO;if(h!==it)throw new Error("invZ was invalid");return new Z(f,c)}};$.BASE=new $(lt.Gx,lt.Gy,it);$.ZERO=new $(G,it,G);function Qi(e,t){let r=t.negate();return e?r:t}var Po=new WeakMap,Z=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Po.delete(this)}hasEvenY(){return this.y%Ye===G}static fromCompressedHex(t){let r=t.length===32,n=$e(r?t:t.subarray(1));if(!Lo(n))throw new Error("Point is not on curve");let i=_f(n),s=fy(i),o=(s&it)===it;r?o&&(s=R(-s)):(t[0]&1)===1!==o&&(s=R(-s));let a=new Z(n,s);return a.assertValidity(),a}static fromUncompressedHex(t){let r=$e(t.subarray(1,ue+1)),n=$e(t.subarray(ue+1,ue*2+1)),i=new Z(r,n);return i.assertValidity(),i}static fromHex(t){let r=Qr(t),n=r.length,i=r[0];if(n===ue)return this.fromCompressedHex(r);if(n===Cf&&(i===2||i===3))return this.fromCompressedHex(r);if(n===If&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${Cf} compressed bytes or ${If} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return Z.BASE.multiply(Xi(t))}static fromSignature(t,r,n){let{r:i,s}=Pf(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let o=Uo(Qr(t)),{n:a}=lt,u=n===2||n===3?i+a:i,f=Yr(u,a),c=R(-o*f,a),h=R(s*f,a),l=n&1?"03":"02",d=Z.fromHex(l+zr(u)),p=Z.BASE.multiplyAndAddUnsafe(d,c,h);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return mr(this.toHex(t))}toHex(t=!1){let r=zr(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${zr(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Lo(r)||!Lo(n))throw new Error(t);let i=R(n*n),s=_f(r);if(R(i-s)!==G)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new Z(this.x,R(-this.y))}double(){return $.fromAffine(this).double().toAffine()}add(t){return $.fromAffine(this).add($.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return $.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=$.fromAffine(this),s=r===G||r===it||this!==Z.BASE?i.multiplyUnsafe(r):i.multiply(r),o=$.fromAffine(t).multiplyUnsafe(n),a=s.add(o);return a.equals($.ZERO)?void 0:a.toAffine()}};Z.BASE=new Z(lt.Gx,lt.Gy);Z.ZERO=new Z(G,G);function Rf(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function Nf(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Wr(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:$e(r),left:e.subarray(t+2)}}function oy(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Wr(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=Nf(e.subarray(2)),{data:n,left:i}=Nf(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Wr(i)}`);return{r:t,s:n}}var we=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Wr(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new we(Zi(i.slice(0,64)),Zi(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=oy(r?t:mr(t));return new we(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!Pn(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Pn(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=lt.n>>it;return this.s>t}normalizeS(){return this.hasHighS()?new we(this.r,R(-this.s,lt.n)):this}toDERRawBytes(){return mr(this.toDERHex())}toDERHex(){let t=Rf(Rn(this.s)),r=Rf(Rn(this.r)),n=t.length/2,i=r.length/2,s=Rn(n),o=Rn(i);return`30${Rn(i+n+4)}02${o}${r}02${s}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return mr(this.toCompactHex())}toCompactHex(){return zr(this.r)+zr(this.s)}};function Qe(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var ay=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Wr(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=ay[e[r]];return t}var uy=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function zr(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(G<=e&&e<uy))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Do(e){let t=mr(zr(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function Rn(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Zi(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function mr(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function $e(e){return Zi(Wr(e))}function Qr(e){return e instanceof Uint8Array?Uint8Array.from(e):mr(e)}function Lf(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&Pn(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function R(e,t=lt.P){let r=e%t;return r>=G?r:t+r}function Jt(e,t){let{P:r}=lt,n=e;for(;t-- >G;)n*=n,n%=r;return n}function fy(e){let{P:t}=lt,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),u=e*e*e%t,f=u*u*e%t,c=Jt(f,Nn)*f%t,h=Jt(c,Nn)*f%t,l=Jt(h,Ye)*u%t,d=Jt(l,n)*l%t,p=Jt(d,i)*d%t,y=Jt(p,o)*p%t,x=Jt(y,a)*y%t,v=Jt(x,o)*p%t,w=Jt(v,Nn)*f%t,A=Jt(w,s)*d%t,D=Jt(A,r)*u%t,C=Jt(D,Ye);if(C*C%t!==e)throw new Error("Cannot find square root");return C}function Yr(e,t=lt.P){if(e===G||t<=G)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=R(e,t),n=t,i=G,s=it,o=it,a=G;for(;r!==G;){let f=n/r,c=n%r,h=i-o*f,l=s-a*f;n=r,r=c,i=o,s=a,o=h,a=l}if(n!==it)throw new Error("invert: does not exist");return R(i,t)}function cy(e,t=lt.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===G?s:(r[a]=s,R(s*o,t)),it),i=Yr(n,t);return e.reduceRight((s,o,a)=>o===G?s:(r[a]=R(s*r[a],t),R(s*o,t)),i),r}function hy(e){let t=e.length*8-Gr*8,r=$e(e);return t>0?r>>BigInt(t):r}function Uo(e,t=!1){let r=hy(e);if(t)return r;let{n}=lt;return r>=n?r-n:r}var Hr,Ln,ko=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return fe.hmacSha256(this.k,...t)}hmacSync(...t){return Ln(this.k,...t)}checkSync(){if(typeof Ln!="function")throw new $i("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Qe(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Qe(...r)}};function Pn(e){return G<e&&e<lt.n}function Lo(e){return G<e&&e<lt.P}function ly(e,t,r,n=!0){let{n:i}=lt,s=Uo(e,!0);if(!Pn(s))return;let o=Yr(s,i),a=Z.BASE.multiply(s),u=R(a.x,i);if(u===G)return;let f=R(o*R(t+r*u,i),i);if(f===G)return;let c=new we(u,f),h=(a.x===c.r?0:2)|Number(a.y&it);return n&&c.hasHighS()&&(c=c.normalizeS(),h^=1),{sig:c,recovery:h}}function Xi(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Gr)throw new Error("Expected 32 bytes of private key");t=Zi(e)}else if(e instanceof Uint8Array){if(e.length!==Gr)throw new Error("Expected 32 bytes of private key");t=$e(e)}else throw new TypeError("Expected valid private key");if(!Pn(t))throw new Error("Expected private key: 0 < key < n");return t}function py(e){return e instanceof Z?(e.assertValidity(),e):Z.fromHex(e)}function Pf(e){if(e instanceof we)return e.assertValidity(),e;try{return we.fromDER(e)}catch{return we.fromCompact(e)}}function Ko(e,t=!1){return Z.fromPrivateKey(e).toRawBytes(t)}function Df(e){let t=e.length>ue?e.slice(0,ue):e;return $e(t)}function dy(e){let t=Df(e),r=R(t,lt.n);return kf(r<G?t:r)}function kf(e){return Do(e)}function yy(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Qr(e),i=Xi(t),s=[kf(i),dy(n)];if(r!=null){r===!0&&(r=fe.randomBytes(ue));let u=Qr(r);if(u.length!==ue)throw new Error(`sign: Expected ${ue} bytes of extra data`);s.push(u)}let o=Qe(...s),a=Df(n);return{seed:o,m:a,d:i}}function gy(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:s}=Object.assign({canonical:!0,der:!0},t),o=i?r.toDERRawBytes():r.toCompactRawBytes();return s?[o,n]:o}async function Uf(e,t,r={}){let{seed:n,m:i,d:s}=yy(e,t,r.extraEntropy),o=new ko(sy,Gr);await o.reseed(n);let a;for(;!(a=ly(await o.generate(),i,s,r.canonical));)await o.reseed();return gy(a,r)}var my={strict:!0};function Kf(e,t,r,n=my){let i;try{i=Pf(e),t=Qr(t)}catch{return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=Uo(t),u;try{u=py(r)}catch{return!1}let{n:f}=lt,c=Yr(o,f),h=R(a*c,f),l=R(s*c,f),d=Z.BASE.multiplyAndAddUnsafe(u,h,l);return d?R(d.x,f)===s:!1}Z.BASE._setWindowSize(8);var Qt={node:iy,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var Yi={},fe={bytesToHex:Wr,hexToBytes:mr,concatBytes:Qe,mod:R,invert:Yr,isValidPrivateKey(e){try{return Xi(e),!0}catch{return!1}},_bigintTo32Bytes:Do,_normalizePrivateKey:Xi,hashToPrivateKey:e=>{e=Qr(e);let t=Gr+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=R($e(e),lt.n-it)+it;return Do(r)},randomBytes:(e=32)=>{if(Qt.web)return Qt.web.getRandomValues(new Uint8Array(e));if(Qt.node){let{randomBytes:t}=Qt.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>fe.hashToPrivateKey(fe.randomBytes(Gr+8)),precompute(e=8,t=Z.BASE){let r=t===Z.BASE?t:new Z(t.x,t.y);return r._setWindowSize(e),r.multiply(Nn),r},sha256:async(...e)=>{if(Qt.web){let t=await Qt.web.subtle.digest("SHA-256",Qe(...e));return new Uint8Array(t)}else if(Qt.node){let{createHash:t}=Qt.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(Qt.web){let r=await Qt.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Qe(...t),i=await Qt.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(Qt.node){let{createHmac:r}=Qt.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=Yi[e];if(r===void 0){let n=await fe.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Qe(n,n),Yi[e]=r}return fe.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Hr!="function")throw new $i("sha256Sync is undefined, you need to set it");let r=Yi[e];if(r===void 0){let n=Hr(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Qe(n,n),Yi[e]=r}return Hr(r,...t)},_JacobianPoint:$};Object.defineProperties(fe,{sha256Sync:{configurable:!1,get(){return Hr},set(e){Hr||(Hr=e)}},hmacSha256Sync:{configurable:!1,get(){return Ln},set(e){Ln||(Ln=e)}}});function xr(e){if(isNaN(e)||e<=0)throw new L("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return fe.randomBytes(e)}var vr={};St(vr,{jwkToPkcs1:()=>by,jwkToPkix:()=>Sy,pkcs1ToJwk:()=>vy,pkixToJwk:()=>wy});var ox=j(Cn(),1),ax=j(qi(),1),Le=j(J(),1);function vy(e){let t=Le.default.asn1.fromDer(xt(e,"ascii")),r=Le.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:ae(r.n),e:ae(r.e),d:ae(r.d),p:ae(r.p),q:ae(r.q),dp:ae(r.dP),dq:ae(r.dQ),qi:ae(r.qInv),alg:"RS256"}}function by(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new L("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Le.default.pki.privateKeyToAsn1({n:Wt(e.n),e:Wt(e.e),d:Wt(e.d),p:Wt(e.p),q:Wt(e.q),dP:Wt(e.dp),dQ:Wt(e.dq),qInv:Wt(e.qi)});return vt(Le.default.asn1.toDer(t).getBytes(),"ascii")}function wy(e){let t=Le.default.asn1.fromDer(xt(e,"ascii")),r=Le.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:ae(r.n),e:ae(r.e)}}function Sy(e){if(e.n==null||e.e==null)throw new L("JWK was missing components","ERR_INVALID_PARAMETERS");let t=Le.default.pki.publicKeyToAsn1({n:Wt(e.n),e:Wt(e.e)});return vt(Le.default.asn1.toDer(t).getBytes(),"ascii")}var lx=j(qi(),1),Fo=j(J(),1);function Ff(e,t){return t.map(r=>Wt(e[r]))}function Mf(e){return Fo.default.pki.setRsaPrivateKey(...Ff(e,["n","e","d","p","q","dp","dq","qi"]))}function Of(e){return Fo.default.pki.setRsaPublicKey(...Ff(e,["n","e"]))}async function Vf(e){let t=await dt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Hf(t);return{privateKey:r[0],publicKey:r[1]}}async function Mo(e){let r=[await dt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ey(e)],n=await Hf({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function qf(e,t){let r=await dt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await dt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function zf(e,t,r){let n=await dt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await dt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function Hf(e){if(e.privateKey==null||e.publicKey==null)throw new L("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([dt.get().subtle.exportKey("jwk",e.privateKey),dt.get().subtle.exportKey("jwk",e.publicKey)])}async function Ey(e){return await dt.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Gf(e,t,r,n){let i=t?Of(e):Mf(e),s=xt(Uint8Array.from(r),"ascii"),o=n(s,i);return vt(o,"ascii")}function Wf(e,t){return Gf(e,!0,t,(r,n)=>n.encrypt(r))}function Qf(e,t){return Gf(e,!1,t,(r,n)=>n.decrypt(r))}async function $r(e,t){let n=await Hi().encrypt(e,t);return rr.encode(n)}var kn=class{constructor(t){this._key=t}async verify(t,r){return await zf(this._key,r,t)}marshal(){return vr.jwkToPkix(this._key)}get bytes(){return ie.encode({Type:et.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Wf(this._key,t)}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}},Zr=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return xr(16)}async sign(t){return await qf(this._key,t)}get public(){if(this._publicKey==null)throw new L("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new kn(this._publicKey)}decrypt(t){return Qf(this._key,t)}marshal(){return vr.jwkToPkcs1(this._key)}get bytes(){return se.encode({Type:et.RSA,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return xt(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Dn.default.util.ByteBuffer(this.marshal()),i=Dn.default.asn1.fromDer(n),s=Dn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Dn.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(r==="libp2p-key")return await $r(this.bytes,t);throw new L(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ay(e){let t=vr.pkcs1ToJwk(e),r=await Mo(t);return new Zr(r.privateKey,r.publicKey)}function Cy(e){let t=vr.pkixToJwk(e);return new kn(t)}async function Iy(e){let t=await Mo(e);return new Zr(t.privateKey,t.publicKey)}async function _y(e){let t=await Vf(e);return new Zr(t.privateKey,t.publicKey)}var Zo={};St(Zo,{Ed25519PrivateKey:()=>wr,Ed25519PublicKey:()=>On,generateKeyPair:()=>$y,generateKeyPairFromSeed:()=>$o,unmarshalEd25519PrivateKey:()=>Qy,unmarshalEd25519PublicKey:()=>Yy});var Ty=j(Or(),1);var Tt=BigInt(0),W=BigInt(1),Je=BigInt(2),Ry=BigInt(8),Yf=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),st=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:Yf,n:Yf,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var jf=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),Un=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Tx=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Ny=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Ly=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Py=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Dy=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),q=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof ut))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(ut.ZERO)?q.ZERO:new q(t.x,t.y,W,E(t.x*t.y))}static toAffineBatch(t){let r=Ky(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Zf(t);let{x:r,y:n,z:i}=this,{x:s,y:o,z:a}=t,u=E(r*a),f=E(s*i),c=E(n*a),h=E(o*i);return u===f&&c===h}negate(){return new q(E(-this.x),this.y,this.z,E(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=st,s=E(t*t),o=E(r*r),a=E(Je*E(n*n)),u=E(i*s),f=t+r,c=E(E(f*f)-s-o),h=u+o,l=h-a,d=u-o,p=E(c*l),y=E(h*d),x=E(c*d),v=E(l*h);return new q(p,y,v,x)}add(t){Zf(t);let{x:r,y:n,z:i,t:s}=this,{x:o,y:a,z:u,t:f}=t,c=E((n-r)*(a+o)),h=E((n+r)*(a-o)),l=E(h-c);if(l===Tt)return this.double();let d=E(i*Je*f),p=E(s*Je*u),y=p+d,x=h+c,v=p-d,w=E(y*l),A=E(x*v),D=E(y*v),C=E(l*x);return new q(w,A,C,D)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(t-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(t,r){!r&&this.equals(q.BASE)&&(r=ut.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Go.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=q.normalizeZ(i),Go.set(r,i)));let s=q.ZERO,o=q.BASE,a=1+256/n,u=2**(n-1),f=BigInt(2**n-1),c=2**n,h=BigInt(n);for(let l=0;l<a;l++){let d=l*u,p=Number(t&f);t>>=h,p>u&&(p-=c,t+=W);let y=d,x=d+Math.abs(p)-1,v=l%2!==0,w=p<0;p===0?o=o.add($f(v,i[y])):s=s.add($f(w,i[x]))}return q.normalizeZ([s,o])[0]}multiply(t,r){return this.wNAF(ji(t,st.l),r)}multiplyUnsafe(t){let r=ji(t,st.l,!1),n=q.BASE,i=q.ZERO;if(r===Tt)return i;if(this.equals(i)||r===W)return this;if(this.equals(n))return this.wNAF(r);let s=i,o=this;for(;r>Tt;)r&W&&(s=s.add(o)),o=o.double(),r>>=W;return s}isSmallOrder(){return this.multiplyUnsafe(st.h).equals(q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(st.l/Je).double();return st.l%Je&&(t=t.add(this)),t.equals(q.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,s=this.equals(q.ZERO);t==null&&(t=s?Ry:ts(i));let o=E(r*t),a=E(n*t),u=E(i*t);if(s)return ut.ZERO;if(u!==W)throw new Error("invZ was invalid");return new ut(o,a)}fromRistrettoBytes(){qo()}toRistrettoBytes(){qo()}fromRistrettoHash(){qo()}};q.BASE=new q(st.Gx,st.Gy,W,E(st.Gx*st.Gy));q.ZERO=new q(Tt,W,W,Tt);function $f(e,t){let r=t.negate();return e?r:t}function Zf(e){if(!(e instanceof q))throw new TypeError("ExtendedPoint expected")}function Vo(e){if(!(e instanceof Ot))throw new TypeError("RistrettoPoint expected")}function qo(){throw new Error("Legacy method: switch to RistrettoPoint")}var Ot=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=st,n=E(Un*t*t),i=E((n+W)*Py),s=BigInt(-1),o=E((s-r*n)*E(n+r)),{isValid:a,value:u}=Qo(i,o),f=E(u*t);Xe(f)||(f=E(-f)),a||(u=f),a||(s=n);let c=E(s*(n-W)*Dy-o),h=u*u,l=E((u+u)*o),d=E(c*Ny),p=E(W-h),y=E(W+h);return new q(E(l*y),E(p*d),E(d*y),E(l*p))}static hashToCurve(t){t=je(t,64);let r=zo(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=zo(t.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return new Ot(n.add(s))}static fromHex(t){t=je(t,32);let{a:r,d:n}=st,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",s=zo(t);if(!My(Kn(s),t)||Xe(s))throw new Error(i);let o=E(s*s),a=E(W+r*o),u=E(W-r*o),f=E(a*a),c=E(u*u),h=E(r*n*f-c),{isValid:l,value:d}=Jf(E(h*c)),p=E(d*u),y=E(d*p*h),x=E((s+s)*p);Xe(x)&&(x=E(-x));let v=E(a*y),w=E(x*v);if(!l||Xe(w)||v===Tt)throw new Error(i);return new Ot(new q(x,v,W,w))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,s=E(E(n+r)*E(n-r)),o=E(t*r),a=E(o*o),{value:u}=Jf(E(s*a)),f=E(u*s),c=E(u*o),h=E(f*c*i),l;if(Xe(i*h)){let p=E(r*Un),y=E(t*Un);t=p,r=y,l=E(f*Ly)}else l=c;Xe(t*h)&&(r=E(-r));let d=E((n-r)*l);return Xe(d)&&(d=E(-d)),Kn(d)}toHex(){return Fn(this.toRawBytes())}toString(){return this.toHex()}equals(t){Vo(t);let r=this.ep,n=t.ep,i=E(r.x*n.y)===E(r.y*n.x),s=E(r.y*n.y)===E(r.x*n.x);return i||s}add(t){return Vo(t),new Ot(this.ep.add(t.ep))}subtract(t){return Vo(t),new Ot(this.ep.subtract(t.ep))}multiply(t){return new Ot(this.ep.multiply(t))}multiplyUnsafe(t){return new Ot(this.ep.multiplyUnsafe(t))}};Ot.BASE=new Ot(q.BASE);Ot.ZERO=new Ot(q.ZERO);var Go=new WeakMap,ut=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Go.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=st;t=je(t,32);let s=t.slice();s[31]=t[31]&-129;let o=Mn(s);if(r&&o>=i)throw new Error("Expected 0 < hex < P");if(!r&&o>=jf)throw new Error("Expected 0 < hex < 2**256");let a=E(o*o),u=E(a-W),f=E(n*a+W),{isValid:c,value:h}=Qo(u,f);if(!c)throw new Error("Point.fromHex: invalid y coordinate");let l=(h&W)===W;return(t[31]&128)!==0!==l&&(h=E(-h)),new ut(h,o)}static async fromPrivateKey(t){return(await es(t)).point}toRawBytes(){let t=Kn(this.y);return t[31]|=this.x&W?128:0,t}toHex(){return Fn(this.toRawBytes())}toX25519(){let{y:t}=this,r=E((W+t)*ts(W-t));return Kn(r)}isTorsionFree(){return q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new ut(E(-this.x),this.y)}add(t){return q.fromAffine(this).add(q.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return q.fromAffine(this).multiply(t,this).toAffine()}};ut.BASE=new ut(st.Gx,st.Gy);ut.ZERO=new ut(Tt,W);var br=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=je(t,64),n=ut.fromHex(r.slice(0,32),!1),i=Mn(r.slice(32,64));return new br(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof ut))throw new Error("Expected Point instance");return ji(r,st.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Kn(this.s),32),t}toHex(){return Fn(this.toRawBytes())}};function Xf(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let s=e[n];r.set(s,i),i+=s.length}return r}var ky=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Fn(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=ky[e[r]];return t}function Wo(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");t[r]=s}return t}function tc(e){let r=e.toString(16).padStart(64,"0");return Wo(r)}function Kn(e){return tc(e).reverse()}function Xe(e){return(E(e)&W)===W}function Mn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Fn(Uint8Array.from(e).reverse()))}var Uy=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function zo(e){return E(Mn(e)&Uy)}function E(e,t=st.P){let r=e%t;return r>=Tt?r:t+r}function ts(e,t=st.P){if(e===Tt||t<=Tt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=E(e,t),n=t,i=Tt,s=W,o=W,a=Tt;for(;r!==Tt;){let f=n/r,c=n%r,h=i-o*f,l=s-a*f;n=r,r=c,i=o,s=a,o=h,a=l}if(n!==W)throw new Error("invert: does not exist");return E(i,t)}function Ky(e,t=st.P){let r=new Array(e.length),n=e.reduce((s,o,a)=>o===Tt?s:(r[a]=s,E(s*o,t)),W),i=ts(n,t);return e.reduceRight((s,o,a)=>o===Tt?s:(r[a]=E(s*r[a],t),E(s*o,t)),i),r}function Se(e,t){let{P:r}=st,n=e;for(;t-- >Tt;)n*=n,n%=r;return n}function Fy(e){let{P:t}=st,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),u=e*e%t*e%t,f=Se(u,Je)*u%t,c=Se(f,W)*e%t,h=Se(c,r)*c%t,l=Se(h,n)*h%t,d=Se(l,i)*l%t,p=Se(d,s)*d%t,y=Se(p,o)*p%t,x=Se(y,o)*p%t,v=Se(x,n)*h%t;return{pow_p_5_8:Se(v,Je)*e%t,b2:u}}function Qo(e,t){let r=E(t*t*t),n=E(r*r*t),i=Fy(e*n).pow_p_5_8,s=E(e*r*i),o=E(t*s*s),a=s,u=E(s*Un),f=o===e,c=o===E(-e),h=o===E(-e*Un);return f&&(s=a),(c||h)&&(s=u),Xe(s)&&(s=E(-s)),{isValid:f||c,value:s}}function Jf(e){return Qo(W,e)}function Ji(e){return E(Mn(e),st.l)}function My(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function je(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):Wo(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function ji(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(Tt<e)return e}else if(Tt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Oy(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Vy(e){if(e=typeof e=="bigint"||typeof e=="number"?tc(ji(e,jf)):je(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function qy(e){let t=Oy(e.slice(0,32)),r=e.slice(32,64),n=Ji(t),i=ut.BASE.multiply(n),s=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:s}}var Ho;async function es(e){return qy(await tr.sha512(Vy(e)))}async function Yo(e){return(await es(e)).pointBytes}async function ec(e,t){e=je(e);let{prefix:r,scalar:n,pointBytes:i}=await es(t),s=Ji(await tr.sha512(r,e)),o=ut.BASE.multiply(s),a=Ji(await tr.sha512(o.toRawBytes(),i,e)),u=E(s+a*n,st.l);return new br(o,u).toRawBytes()}function zy(e,t,r){t=je(t),r instanceof ut||(r=ut.fromHex(r,!1));let{r:n,s:i}=e instanceof br?e.assertValidity():br.fromHex(e),s=q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:s,pub:r,msg:t}}function Hy(e,t,r,n){let i=Ji(n),s=q.fromAffine(e).multiplyUnsafe(i);return q.fromAffine(t).add(s).subtract(r).multiplyUnsafe(st.h).equals(q.ZERO)}async function rc(e,t,r){let{r:n,SB:i,msg:s,pub:o}=zy(e,t,r),a=await tr.sha512(n.toRawBytes(),o.toRawBytes(),s);return Hy(o,n,i,a)}ut.BASE._setWindowSize(8);var Ze={node:Ty,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},tr={bytesToHex:Fn,hexToBytes:Wo,concatBytes:Xf,getExtendedPublicKey:es,mod:E,invert:ts,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=je(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return E(Mn(e),st.l-W)+W},randomBytes:(e=32)=>{if(Ze.web)return Ze.web.getRandomValues(new Uint8Array(e));if(Ze.node){let{randomBytes:t}=Ze.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>tr.randomBytes(32),sha512:async(...e)=>{let t=Xf(...e);if(Ze.web){let r=await Ze.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Ze.node)return Uint8Array.from(Ze.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=ut.BASE){let r=t.equals(ut.BASE)?t:new ut(t.x,t.y);return r._setWindowSize(e),r.multiply(Je),r},sha512Sync:void 0};Object.defineProperties(tr,{sha512Sync:{configurable:!1,get(){return Ho},set(e){Ho||(Ho=e)}}});var Xr=32,Pe=64,rs=32;async function nc(){let e=tr.randomPrivateKey(),t=await Yo(e);return{privateKey:ac(e,t),publicKey:t}}async function ic(e){if(e.length!==rs)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await Yo(t);return{privateKey:ac(t,r),publicKey:r}}async function sc(e,t){let r=e.subarray(0,rs);return await ec(t,r)}async function oc(e,t,r){return await rc(t,r,e)}function ac(e,t){let r=new Uint8Array(Pe);for(let n=0;n<rs;n++)r[n]=e[n],r[rs+n]=t[n];return r}var On=class{constructor(t){this._key=Jr(t,Xr)}async verify(t,r){return await oc(this._key,r,t)}marshal(){return this._key}get bytes(){return ie.encode({Type:et.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}},wr=class{constructor(t,r){this._key=Jr(t,Pe),this._publicKey=Jr(r,Xr)}async sign(t){return await sc(this._key,t)}get public(){return new On(this._publicKey)}marshal(){return this._key}get bytes(){return se.encode({Type:et.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}async id(){let t=await qe.digest(this.public.bytes);return Rt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await $r(this.bytes,t);throw new L(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Qy(e){if(e.length>Pe){e=Jr(e,Pe+Xr);let n=e.subarray(0,Pe),i=e.subarray(Pe,e.length);return new wr(n,i)}e=Jr(e,Pe);let t=e.subarray(0,Pe),r=e.subarray(Xr);return new wr(t,r)}function Yy(e){return e=Jr(e,Xr),new On(e)}async function $y(){let{privateKey:e,publicKey:t}=await nc();return new wr(e,t)}async function $o(e){let{privateKey:t,publicKey:r}=await ic(e);return new wr(t,r)}function Jr(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new L(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var Jo={};St(Jo,{Secp256k1PrivateKey:()=>qn,Secp256k1PublicKey:()=>Vn,generateKeyPair:()=>jy,unmarshalSecp256k1PrivateKey:()=>Xy,unmarshalSecp256k1PublicKey:()=>Jy});function uc(){return fe.randomPrivateKey()}async function fc(e,t){let{digest:r}=await Bt.digest(t);try{return await Uf(r,e)}catch(n){throw new L(String(n),"ERR_INVALID_INPUT")}}async function cc(e,t,r){try{let{digest:n}=await Bt.digest(r);return Kf(t,n,e)}catch(n){throw new L(String(n),"ERR_INVALID_INPUT")}}function hc(e){return Z.fromHex(e).toRawBytes(!0)}function lc(e){try{Ko(e,!0)}catch(t){throw new L(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Xo(e){try{Z.fromHex(e)}catch(t){throw new L(String(t),"ERR_INVALID_PUBLIC_KEY")}}function pc(e){try{return Ko(e,!0)}catch(t){throw new L(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Vn=class{constructor(t){Xo(t),this._key=t}async verify(t,r){return await cc(this._key,r,t)}marshal(){return hc(this._key)}get bytes(){return ie.encode({Type:et.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}},qn=class{constructor(t,r){this._key=t,this._publicKey=r??pc(t),lc(this._key),Xo(this._publicKey)}async sign(t){return await fc(this._key,t)}get public(){return new Vn(this._publicKey)}marshal(){return this._key}get bytes(){return se.encode({Type:et.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Pt(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Bt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return xt(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await $r(this.bytes,t);throw new L(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Xy(e){return new qn(e)}function Jy(e){return new Vn(e)}async function jy(){let e=await uc();return new qn(e)}var Ee={rsa:Oo,ed25519:Zo,secp256k1:Jo};function jo(e){let t=Object.keys(Ee).join(" / ");return new L(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function ta(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Ee[e];throw jo(e)}async function tg(e,t){return await ta(e).generateKeyPair(t??2048)}async function eg(e,t,r){if(e.toLowerCase()!=="ed25519")throw new L("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await $o(t)}function rg(e){let t=ie.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case et.RSA:return Ee.rsa.unmarshalRsaPublicKey(r);case et.Ed25519:return Ee.ed25519.unmarshalEd25519PublicKey(r);case et.Secp256k1:return Ee.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw jo(t.Type??"RSA")}}function ng(e,t){return t=(t??"rsa").toLowerCase(),ta(t),e.bytes}async function dc(e){let t=se.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case et.RSA:return await Ee.rsa.unmarshalRsaPrivateKey(r);case et.Ed25519:return Ee.ed25519.unmarshalEd25519PrivateKey(r);case et.Secp256k1:return Ee.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw jo(t.Type??"RSA")}}function ig(e,t){return t=(t??"rsa").toLowerCase(),ta(t),e.bytes}async function sg(e,t){try{let i=await xf(e,t);return await dc(i)}catch{}let r=ns.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new L("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=ns.default.asn1.toDer(ns.default.pki.privateKeyToAsn1(r));return n=vt(n.getBytes(),"ascii"),await Ee.rsa.unmarshalRsaPrivateKey(n)}var og=j(vo(),1),ag=j(yt(),1);var yc=Symbol.for("@libp2p/peer-id");var ug=Symbol.for("nodejs.util.inspect.custom"),gc=Object.values(Ur).map(e=>e.decoder).reduce((e,t)=>e.or(t),Ur.identity.decoder),mc=114,ea=36,ra=37,Hn=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[yc](){return!0}toString(){return this.string==null&&(this.string=Rt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ct.createV1(mc,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Pt(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return Pt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[ug](){return`PeerId(${this.toString()})`}},jr=class extends Hn{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},tn=class extends Hn{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},en=class extends Hn{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??gc,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=bn(Rt.decode(`z${e}`));return e.startsWith("12D")?new tn({multihash:r}):e.startsWith("16U")?new en({multihash:r}):new jr({multihash:r})}return Gn(gc.decode(e))}function Gn(e){try{let t=bn(e);if(t.code===qe.code){if(t.digest.length===ea)return new tn({multihash:t});if(t.digest.length===ra)return new en({multihash:t})}if(t.code===Bt.code)return new jr({multihash:t})}catch{return fg(ct.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function fg(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==mc)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Bt.code)return new jr({multihash:e.multihash});if(t.code===qe.code){if(t.digest.length===ea)return new tn({multihash:e.multihash});if(t.digest.length===ra)return new en({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function is(e,t){return e.length===ea?new tn({multihash:le(qe.code,e),privateKey:t}):e.length===ra?new en({multihash:le(qe.code,e),privateKey:t}):new jr({multihash:await Bt.digest(e),publicKey:e,privateKey:t})}function xc(){return BigInt(`0x${xt(xr(8),"base16")}`)}var vc=(e,t)=>{let r=vt(t.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(e.length+r.length);return n.set(e,0),n.set(r,e.length),n},bc=e=>Bt.encode(e);var wc=function(e){return Array.isArray(e)?e:[e]},cg=async e=>{if(e.sequenceNumber==null||e.from==null||e.signature==null)return!1;let t=Gn(e.from);return t.publicKey!=null?!0:e.key!=null?(await is(e.key)).equals(t):!1},Sc=async e=>{if(e.from==null)throw new L("RPC message was missing from",Et.ERR_MISSING_FROM);if(!await cg(e))return{type:"unsigned",topic:e.topic??"",data:e.data??new Uint8Array(0)};let t=Gn(e.from),r={type:"signed",from:Gn(e.from),topic:e.topic??"",sequenceNumber:lg(e.sequenceNumber??new Uint8Array(0)),data:e.data??new Uint8Array(0),signature:e.signature??new Uint8Array(0),key:e.key??t.publicKey??new Uint8Array(0)};if(r.key.length===0)throw new L("Signed RPC message was missing key",Et.ERR_MISSING_KEY);return r},Wn=e=>e.type==="signed"?{from:e.from.multihash.bytes,data:e.data,sequenceNumber:hg(e.sequenceNumber),topic:e.topic,signature:e.signature,key:e.key}:{data:e.data,topic:e.topic},hg=e=>{let t=e.toString(16);return t.length%2!==0&&(t=`0${t}`),vt(t,"base16")},lg=e=>BigInt(`0x${xt(e,"base16")}`);var Ec=vt("libp2p-pubsub:");async function Bc(e,t,r){if(e.privateKey==null)throw new Error("Cannot sign message, no private key present");if(e.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:e},i=Lt([Ec,r(Wn(n)).subarray()]),s=await zn.unmarshalPrivateKey(e.privateKey);return n.signature=await s.sign(i),n.key=e.publicKey,n}async function Ac(e,t){if(e.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(e.signature==null)throw new Error("Message must contain a signature to be verified");if(e.from==null)throw new Error("Message must contain a from property to be verified");let r=Lt([Ec,t({...Wn(e),signature:void 0,key:void 0}).subarray()]),n=await pg(e);return await zn.unmarshalPublicKey(n).verify(r,e.signature)}async function pg(e){if(e.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(e.from==null)throw new Error("Could not get the public key from the originator id");if(e.key!=null){let t=await is(e.key);if(t.publicKey!=null)return t.publicKey}if(e.from.publicKey!=null)return e.from.publicKey;throw new Error("Could not get the public key from the originator id")}var Qn;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(Qn||(Qn={}));function De(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var Yn=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return De(this.map.entries(),t=>[bt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,bt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return De(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var ke=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return De(this.set.entries(),t=>{let r=bt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=bt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return De(this.set.values(),t=>bt(t))}intersection(t){let r=new ke;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new ke;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new ke;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var rn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return De(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new rn(this);for(let n of t)r.push(n);return r}entries(){return De(this.list.entries(),t=>[t[0],bt(t[1])])}every(t){return this.list.every((r,n)=>t(bt(r),n,this))}filter(t){let r=new rn;return this.list.forEach((n,i)=>{let s=bt(n);t(s,i,this)&&r.push(s)}),r}find(t){let r=this.list.find((n,i)=>t(bt(n),i,this));if(r!=null)return bt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(bt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(bt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return bt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return bt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var ot=jn("libp2p:pubsub"),na=class extends Ir{constructor(t,r){super();let{multicodecs:n=[],globalSignaturePolicy:i="StrictSign",canRelayMessage:s=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:u=1,maxOutboundStreams:f=1}=r;this.components=t,this.multicodecs=wc(n),this.enabled=r.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Yn,this.globalSignaturePolicy=i==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=s,this.emitSelf=o,this.topicValidators=new Map,this.queue=new pn({concurrency:a}),this.maxInboundStreams=u,this.maxOutboundStreams=f,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;ot("starting");let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>{await t.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})}));let r=Ra({onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected});this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>await t.register(n,r))),ot("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let t=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.forEach(r=>{t.unregister(r)}),await Promise.all(this.multicodecs.map(async r=>{await t.unhandle(r)})),ot("stopping");for(let r of this.peers.values())r.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,ot("stopped")}isStarted(){return this.started}_onIncomingStream(t){let{stream:r,connection:n}=t,i=n.remotePeer;if(r.stat.protocol==null){r.abort(new Error("Stream was not multiplexed"));return}let s=this.addPeer(i,r.stat.protocol),o=s.attachInboundStream(r);this.processMessages(i,o,s).catch(a=>{ot(a)})}_onPeerConnected(t,r){ot("connected %p",t),Promise.resolve().then(async()=>{try{let n=await r.newStream(this.multicodecs);if(n.stat.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(t,n.stat.protocol).attachOutboundStream(n)}catch(n){ot.error(n)}this.send(t,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{ot.error(n)})}_onPeerDisconnected(t,r){let n=t.toString();ot("connection ended",n),this._removePeer(t)}addPeer(t,r){let n=this.peers.get(t);if(n!=null)return n;ot("new peer %p",t);let i=new di({id:t,protocol:r});return this.peers.set(t,i),i.addEventListener("close",()=>this._removePeer(t),{once:!0}),i}_removePeer(t){let r=this.peers.get(t);if(r!=null){r.close(),ot("delete peer %p",t),this.peers.delete(t);for(let n of this.topics.values())n.delete(t);return r}}async processMessages(t,r,n){try{await nn(r,async i=>{for await(let s of i){let o=this.decodeRpc(s),a=[];for(let u of o.messages??[]){if(u.from==null||u.data==null||u.topic==null){ot("message from %p was missing from, data or topic fields, dropping",t);continue}a.push({from:u.from,data:u.data,topic:u.topic,sequenceNumber:u.sequenceNumber??void 0,signature:u.signature??void 0,key:u.key??void 0})}this.processRpc(t,n,{subscriptions:(o.subscriptions??[]).map(u=>({subscribe:Boolean(u.subscribe),topic:u.topic??""})),messages:a}).catch(u=>{ot(u)})}})}catch(i){this._onPeerDisconnected(n.id,i)}}async processRpc(t,r,n){if(!this.acceptFrom(t))return ot("received message from unacceptable peer %p",t),!1;ot("rpc from %p",t);let{subscriptions:i,messages:s}=n;return i!=null&&i.length>0&&(ot("subscription update from %p",t),i.forEach(o=>{this.processRpcSubOpt(t,o)}),super.dispatchEvent(new he("subscription-change",{detail:{peerId:r.id,subscriptions:i.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:Boolean(a)}))}}))),s!=null&&s.length>0&&(ot("messages from %p",t),this.queue.addAll(s.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return ot("received message we didn't subscribe to. Dropping."),!1;try{let a=await Sc(o);await this.processMessage(t,a)}catch(a){ot.error(a)}})).catch(o=>{ot(o)})),!0}processRpcSubOpt(t,r){let n=r.topic;if(n==null)return;let i=this.topics.get(n);i==null&&(i=new ke,this.topics.set(n,i)),r.subscribe===!0?i.add(t):i.delete(t)}async processMessage(t,r){if(!(this.components.peerId.equals(t)&&!this.emitSelf)){try{await this.validate(t,r)}catch(n){ot("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(r.topic)&&(!this.components.peerId.equals(t)||this.emitSelf)&&super.dispatchEvent(new he("message",{detail:r})),await this.publishMessage(t,r)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new L('Message type should be "signed" when signature policy is StrictSign but it was not',Et.ERR_MISSING_SIGNATURE);if(t.sequenceNumber==null)throw new L("Need seqno when signature policy is StrictSign but it was missing",Et.ERR_MISSING_SEQNO);if(t.key==null)throw new L("Need key when signature policy is StrictSign but it was missing",Et.ERR_MISSING_KEY);return vc(t.key,t.sequenceNumber);case"StrictNoSign":return bc(t.data);default:throw new L("Cannot get message id: unhandled signature policy",Et.ERR_UNHANDLED_SIGNATURE_POLICY)}}acceptFrom(t){return!0}send(t,r){let{messages:n,subscriptions:i,subscribe:s}=r;this.sendRpc(t,{subscriptions:(i??[]).map(o=>({topic:o,subscribe:Boolean(s)})),messages:(n??[]).map(Wn)})}sendRpc(t,r){let n=this.peers.get(t);if(n==null||!n.isWritable){ot.error("Cannot send RPC to %p as there is no open stream to it available",t);return}n.write(this.encodeRpc(r))}async validate(t,r){switch(this.globalSignaturePolicy){case"StrictNoSign":if(r.type!=="unsigned")throw new L('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',Et.ERR_MISSING_SIGNATURE);if(r.signature!=null)throw new L("StrictNoSigning: signature should not be present",Et.ERR_UNEXPECTED_SIGNATURE);if(r.key!=null)throw new L("StrictNoSigning: key should not be present",Et.ERR_UNEXPECTED_KEY);if(r.sequenceNumber!=null)throw new L("StrictNoSigning: seqno should not be present",Et.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(r.type!=="signed")throw new L('Message type should be "signed" when signature policy is StrictSign but it was not',Et.ERR_MISSING_SIGNATURE);if(r.signature==null)throw new L("StrictSigning: Signing required and no signature was present",Et.ERR_MISSING_SIGNATURE);if(r.sequenceNumber==null)throw new L("StrictSigning: Signing required and no sequenceNumber was present",Et.ERR_MISSING_SEQNO);if(!await Ac(r,this.encodeMessage.bind(this)))throw new L("StrictSigning: Invalid message signature",Et.ERR_INVALID_SIGNATURE);break;default:throw new L("Cannot validate message: unhandled signature policy",Et.ERR_UNHANDLED_SIGNATURE_POLICY)}let i=this.topicValidators.get(r.topic);if(i!=null){let s=await i(t,r);if(s===Qn.Reject||s===Qn.Ignore)throw new L("Message validation failed",Et.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return await Bc(this.components.peerId,t,this.encodeMessage.bind(this));case"StrictNoSign":return await Promise.resolve({type:"unsigned",...t});default:throw new L("Cannot build message: unhandled signature policy",Et.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(t){if(!this.started)throw new L("not started yet","ERR_NOT_STARTED_YET");if(t==null)throw new L("topic is required","ERR_NOT_VALID_TOPIC");let r=this.topics.get(t.toString());return r==null?[]:Array.from(r.values())}async publish(t,r){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:t,data:r??new Uint8Array(0),sequenceNumber:xc()};ot("publish topic: %s from: %p data: %m",t,n.from,n.data);let i=await this.buildMessage(n),s=!1;this.emitSelf&&this.subscriptions.has(t)&&(s=!0,super.dispatchEvent(new he("message",{detail:i})));let o=await this.publishMessage(this.components.peerId,i);return s&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(t){if(!this.started)throw new Error("Pubsub has not started");if(ot("subscribe to topic: %s",t),!this.subscriptions.has(t)){this.subscriptions.add(t);for(let r of this.peers.keys())this.send(r,{subscriptions:[t],subscribe:!0})}}unsubscribe(t){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(t);let r=this.subscriptions.has(t);if(ot("unsubscribe from %s - am subscribed %s",t,r),r){this.subscriptions.delete(t);for(let n of this.peers.keys())this.send(n,{subscriptions:[t],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};return Nc(dg);})();
|
16
16
|
/*! Bundled license information:
|
17
17
|
|
18
18
|
@noble/secp256k1/lib/esm/index.js:
|