@libp2p/identify 1.0.3 → 1.0.4-16588d27c
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/package.json +7 -7
- package/dist/typedoc-urls.json +0 -12
package/dist/index.min.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
`,r};l0.decode=function(t){for(var e=[],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/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:$n.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),f=0;o&&f<c.length;){for(var u=c[f].replace(/\s+$/,""),l=f+1;l<c.length;++l){var h=c[l];if(!/\s/.test(h[0]))break;u+=h,f=l}if(o=u.match(n),o){for(var y={name:o[1],values:[]},d=o[2].split(","),p=0;p<d.length;++p)y.values.push(Xl(d[p]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=d[0]||"";else if(!a.dekInfo&&y.name==="DEK-Info"){if(y.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:d[0],parameters:d[1]||null}}else a.headers.push(y);else{if(y.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(y.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:d[0],type:d[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(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Yn(t){for(var e=t.name+": ",r=[],n=function(c,f){return" "+f},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
|
13
13
|
`;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
|
|
14
14
|
`+e.substr(s)):e=e.substr(0,s)+`\r
|
|
15
|
-
`+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function Xl(t){return t.replace(/^\s+/,"")}});var b0=ut((Nm,x0)=>{var we=ct();dr();It();var y0=x0.exports=we.sha256=we.sha256||{};we.md.sha256=we.md.algorithms.sha256=y0;y0.create=function(){g0||Jl();var t=null,e=we.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=we.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=we.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),p0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=we.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(To.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};p0(l,r,i);var h=we.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h.putInt32(l.h5),h.putInt32(l.h6),h.putInt32(l.h7),h},n};var To=null,g0=!1,m0=null;function Jl(){To="\x80",To+=we.util.fillString("\0",64),m0=[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],g0=!0}function p0(t,e,r){for(var n,i,o,s,a,c,f,u,l,h,y,d,p,g,x,w=r.length();w>=64;){for(f=0;f<16;++f)e[f]=r.getInt32();for(;f<64;++f)n=e[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[f]=n+e[f-7]+i+e[f-16]|0;for(u=t.h0,l=t.h1,h=t.h2,y=t.h3,d=t.h4,p=t.h5,g=t.h6,x=t.h7,f=0;f<64;++f)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=g^d&(p^g),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&l|h&(u^l),n=x+s+a+m0[f]+e[f],i=o+c,x=g,g=p,p=d,d=y+n>>>0,y=h,h=l,l=u,u=n+i>>>0;t.h0=t.h0+u|0,t.h1=t.h1+l|0,t.h2=t.h2+h|0,t.h3=t.h3+y|0,t.h4=t.h4+d|0,t.h5=t.h5+p|0,t.h6=t.h6+g|0,t.h7=t.h7+x|0,w-=64}}});var w0=ut((Dm,v0)=>{var Ee=ct();It();var Zn=null;Ee.util.isNodejs&&!Ee.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Zn=Wn());var jl=v0.exports=Ee.prng=Ee.prng||{};jl.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(f,u){if(!u)return e.generateSync(f);var l=e.plugin.cipher,h=e.plugin.increment,y=e.plugin.formatKey,d=e.plugin.formatSeed,p=Ee.util.createBuffer();e.key=null,g();function g(x){if(x)return u(x);if(p.length()>=f)return u(null,p.getBytes(f));if(e.generated>1048575&&(e.key=null),e.key===null)return Ee.util.nextTick(function(){o(g)});var w=l(e.key,e.seed);e.generated+=w.length,p.putBytes(w),e.key=y(l(e.key,h(e.seed))),e.seed=d(l(e.key,e.seed)),Ee.util.setImmediate(g)}},e.generateSync=function(f){var u=e.plugin.cipher,l=e.plugin.increment,h=e.plugin.formatKey,y=e.plugin.formatSeed;e.key=null;for(var d=Ee.util.createBuffer();d.length()<f;){e.generated>1048575&&(e.key=null),e.key===null&&s();var p=u(e.key,e.seed);e.generated+=p.length,d.putBytes(p),e.key=h(u(e.key,l(e.seed))),e.seed=y(u(e.key,e.seed))}return d.getBytes(f)};function o(f){if(e.pools[0].messageLength>=32)return a(),f();var u=32-e.pools[0].messageLength<<5;e.seedFile(u,function(l,h){if(l)return f(l);e.collect(h),a(),f()})}function s(){if(e.pools[0].messageLength>=32)return a();var f=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(f)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var f=e.plugin.md.create();f.update(e.keyBytes);for(var u=1,l=0;l<32;++l)e.reseeds%u===0&&(f.update(e.pools[l].digest().getBytes()),e.pools[l].start()),u=u<<1;e.keyBytes=f.digest().getBytes(),f.start(),f.update(e.keyBytes);var h=f.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(f){var u=null,l=Ee.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(u=function(E){return h.getRandomValues(E)});var y=Ee.util.createBuffer();if(u)for(;y.length()<f;){var d=Math.max(1,Math.min(f-y.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{u(p);for(var g=0;g<p.length;++g)y.putInt32(p[g])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(y.length()<f)for(var x,w,v,R=Math.floor(Math.random()*65536);y.length()<f;){w=16807*(R&65535),x=16807*(R>>16),w+=(x&32767)<<16,w+=x>>15,w=(w&2147483647)+(w>>31),R=w&4294967295;for(var g=0;g<3;++g)v=R>>>(g<<3),v^=Math.floor(Math.random()*256),y.putByte(v&255)}return y.getBytes(f)}return Zn?(e.seedFile=function(f,u){Zn.randomBytes(f,function(l,h){if(l)return u(l);u(null,h.toString())})},e.seedFileSync=function(f){return Zn.randomBytes(f).toString()}):(e.seedFile=function(f,u){try{u(null,c(f))}catch(l){u(l)}},e.seedFileSync=c),e.collect=function(f){for(var u=f.length,l=0;l<u;++l)e.pools[e.pool].update(f.substr(l,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(f,u){for(var l="",h=0;h<u;h+=8)l+=String.fromCharCode(f>>h&255);e.collect(l)},e.registerWorker=function(f){if(f===self)e.seedFile=function(l,h){function y(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),h(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var u=function(l){var h=l.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(y,d){f.postMessage({forge:{prng:{err:y,bytes:d}}})})};f.addEventListener("message",u)}},e}});var hn=ut((Pm,_o)=>{var kt=ct();Co();b0();w0();It();(function(){if(kt.random&&kt.random.getBytes){_o.exports=kt.random;return}(function(t){var e={},r=new Array(4),n=kt.util.createBuffer();e.formatKey=function(l){var h=kt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),kt.aes._expandKey(l,!1)},e.formatSeed=function(l){var h=kt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),l},e.cipher=function(l,h){return kt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(l){return++l[3],l},e.md=kt.md.sha256;function i(){var l=kt.prng.create(e);return l.getBytes=function(h,y){return l.generate(h,y)},l.getBytesSync=function(h){return l.generate(h)},l}var o=i(),s=null,a=kt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),kt.options.usePureJavaScript||!kt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var u in navigator)try{typeof navigator[u]=="string"&&(f+=navigator[u])}catch{}o.collect(f),f=null}t&&(t().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),t().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!kt.random)kt.random=o;else for(var u in o)kt.random[u]=o[u];kt.random.createInstance=i,_o.exports=kt.random})(typeof jQuery<"u"?jQuery:null)})()});var A0=ut((km,B0)=>{var $t=ct();It();var Ro=[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],E0=[1,2,3,5],th=function(t,e){return t<<e&65535|(t&65535)>>16-e},eh=function(t,e){return(t&65535)>>e|t<<16-e&65535};B0.exports=$t.rc2=$t.rc2||{};$t.rc2.expandKey=function(t,e){typeof t=="string"&&(t=$t.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ro[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ro[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ro[r.at(a+1)^r.at(a+o)]);return r};var S0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,f,u,l=[];for(t=$t.rc2.expandKey(t,e),f=0;f<64;f++)l.push(t.getInt16Le());r?(a=function(d){for(f=0;f<4;f++)d[f]+=l[u]+(d[(f+3)%4]&d[(f+2)%4])+(~d[(f+3)%4]&d[(f+1)%4]),d[f]=th(d[f],E0[f]),u++},c=function(d){for(f=0;f<4;f++)d[f]+=l[d[(f+3)%4]&63]}):(a=function(d){for(f=3;f>=0;f--)d[f]=eh(d[f],E0[f]),d[f]-=l[u]+(d[(f+3)%4]&d[(f+2)%4])+(~d[(f+3)%4]&d[(f+1)%4]),u--},c=function(d){for(f=3;f>=0;f--)d[f]-=l[d[(f+3)%4]&63]});var h=function(d){var p=[];for(f=0;f<4;f++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),p.push(g&65535)}u=r?0:63;for(var x=0;x<d.length;x++)for(var w=0;w<d[x][0];w++)d[x][1](p);for(f=0;f<4;f++)s!==null&&(r?s.putInt16Le(p[f]):p[f]^=s.getInt16Le()),o.putInt16Le(p[f])},y=null;return y={start:function(d,p){d&&typeof d=="string"&&(d=$t.util.createBuffer(d)),n=!1,i=$t.util.createBuffer(),o=p||new $t.util.createBuffer,s=d,y.output=o},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var p=!0;if(r)if(d)p=d(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,o,!r);else{var x=o.length(),w=o.at(x-1);w>x?p=!1:o.truncate(w)}return p}},y};$t.rc2.startEncrypting=function(t,e,r){var n=$t.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};$t.rc2.createEncryptionCipher=function(t,e){return S0(t,e,!0)};$t.rc2.startDecrypting=function(t,e,r){var n=$t.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};$t.rc2.createDecryptionCipher=function(t,e){return S0(t,e,!1)}});var Jn=ut((Um,D0)=>{var Lo=ct();D0.exports=Lo.jsbn=Lo.jsbn||{};var Ue,rh=0xdeadbeefcafe,I0=(rh&16777215)==15715070;function I(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Lo.jsbn.BigInteger=I;function tt(){return new I(null)}function nh(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function ih(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,f=this.data[t++]>>15,u=a*c+f*s;c=s*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*f+(i>>>30),r.data[n++]=c&1073741823}return i}function C0(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,f=this.data[t++]>>14,u=a*c+f*s;c=s*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*f,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(I.prototype.am=C0,Ue=28):I0&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=ih,Ue=30):I0&&navigator.appName!="Netscape"?(I.prototype.am=nh,Ue=26):(I.prototype.am=C0,Ue=28);I.prototype.DB=Ue;I.prototype.DM=(1<<Ue)-1;I.prototype.DV=1<<Ue;var No=52;I.prototype.FV=Math.pow(2,No);I.prototype.F1=No-Ue;I.prototype.F2=2*Ue-No;var oh="0123456789abcdefghijklmnopqrstuvwxyz",Qn=new Array,Kr,te;Kr=48;for(te=0;te<=9;++te)Qn[Kr++]=te;Kr=97;for(te=10;te<36;++te)Qn[Kr++]=te;Kr=65;for(te=10;te<36;++te)Qn[Kr++]=te;function T0(t){return oh.charAt(t)}function _0(t,e){var r=Qn[t.charCodeAt(e)];return r??-1}function sh(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function ah(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Xe(t){var e=tt();return e.fromInt(t),e}function ch(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:_0(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&I.ZERO.subTo(this,this)}function fh(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function uh(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=T0(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=T0(n));return i?o:"0"}function lh(){var t=tt();return I.ZERO.subTo(this,t),t}function hh(){return this.s<0?this.negate():this}function dh(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Xn(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function ph(){return this.t<=0?0:this.DB*(this.t-1)+Xn(this.data[this.t-1]^this.s&this.DM)}function yh(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function gh(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function mh(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function xh(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function bh(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function vh(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&I.ZERO.subTo(e,e)}function wh(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function Eh(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=tt());var o=tt(),s=this.s,a=t.s,c=this.DB-Xn(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var f=o.t,u=o.data[f-1];if(u!=0){var l=u*(1<<this.F1)+(f>1?o.data[f-2]>>this.F2:0),h=this.FV/l,y=(1<<this.F1)/l,d=1<<this.F2,p=r.t,g=p-f,x=e??tt();for(o.dlShiftTo(g,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),I.ONE.dlShiftTo(f,x),x.subTo(o,o);o.t<f;)o.data[o.t++]=0;for(;--g>=0;){var w=r.data[--p]==u?this.DM:Math.floor(r.data[p]*h+(r.data[p-1]+d)*y);if((r.data[p]+=o.am(0,w,r,g,0,f))<w)for(o.dlShiftTo(g,x),r.subTo(x,r);r.data[p]<--w;)r.subTo(x,r)}e!=null&&(r.drShiftTo(f,e),s!=a&&I.ZERO.subTo(e,e)),r.t=f,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&I.ZERO.subTo(r,r)}}}function Sh(t){var e=tt();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(I.ZERO)>0&&t.subTo(e,e),e}function pr(t){this.m=t}function Bh(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Ah(t){return t}function Ih(t){t.divRemTo(this.m,null,t)}function Ch(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Th(t,e){t.squareTo(e),this.reduce(e)}pr.prototype.convert=Bh;pr.prototype.revert=Ah;pr.prototype.reduce=Ih;pr.prototype.mulTo=Ch;pr.prototype.sqrTo=Th;function _h(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function yr(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Rh(t){var e=tt();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(I.ZERO)>0&&this.m.subTo(e,e),e}function Lh(t){var e=tt();return t.copyTo(e),this.reduce(e),e}function Nh(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Dh(t,e){t.squareTo(e),this.reduce(e)}function Ph(t,e,r){t.multiplyTo(e,r),this.reduce(r)}yr.prototype.convert=Rh;yr.prototype.revert=Lh;yr.prototype.reduce=Nh;yr.prototype.mulTo=Ph;yr.prototype.sqrTo=Dh;function kh(){return(this.t>0?this.data[0]&1:this.s)==0}function Uh(t,e){if(t>4294967295||t<1)return I.ONE;var r=tt(),n=tt(),i=e.convert(this),o=Xn(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Oh(t,e){var r;return t<256||e.isEven()?r=new pr(e):r=new yr(e),this.exp(t,r)}I.prototype.copyTo=sh;I.prototype.fromInt=ah;I.prototype.fromString=ch;I.prototype.clamp=fh;I.prototype.dlShiftTo=yh;I.prototype.drShiftTo=gh;I.prototype.lShiftTo=mh;I.prototype.rShiftTo=xh;I.prototype.subTo=bh;I.prototype.multiplyTo=vh;I.prototype.squareTo=wh;I.prototype.divRemTo=Eh;I.prototype.invDigit=_h;I.prototype.isEven=kh;I.prototype.exp=Uh;I.prototype.toString=uh;I.prototype.negate=lh;I.prototype.abs=hh;I.prototype.compareTo=dh;I.prototype.bitLength=ph;I.prototype.mod=Sh;I.prototype.modPowInt=Oh;I.ZERO=Xe(0);I.ONE=Xe(1);function Kh(){var t=tt();return this.copyTo(t),t}function Mh(){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 Vh(){return this.t==0?this.s:this.data[0]<<24>>24}function Fh(){return this.t==0?this.s:this.data[0]<<16>>16}function qh(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Hh(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function zh(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Xe(r),i=tt(),o=tt(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function Gh(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=_0(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&I.ZERO.subTo(this,this)}function Wh(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(I.ONE.shiftLeft(t-1),Do,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(I.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Yh(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function $h(t){return this.compareTo(t)==0}function Zh(t){return this.compareTo(t)<0?this:t}function Qh(t){return this.compareTo(t)>0?this:t}function Xh(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Jh(t,e){return t&e}function jh(t){var e=tt();return this.bitwiseTo(t,Jh,e),e}function Do(t,e){return t|e}function td(t){var e=tt();return this.bitwiseTo(t,Do,e),e}function R0(t,e){return t^e}function ed(t){var e=tt();return this.bitwiseTo(t,R0,e),e}function L0(t,e){return t&~e}function rd(t){var e=tt();return this.bitwiseTo(t,L0,e),e}function nd(){for(var t=tt(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function id(t){var e=tt();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function od(t){var e=tt();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function sd(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function ad(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+sd(this.data[t]);return this.s<0?this.t*this.DB:-1}function cd(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function fd(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=cd(this.data[r]^e);return t}function ud(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function ld(t,e){var r=I.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function hd(t){return this.changeBit(t,Do)}function dd(t){return this.changeBit(t,L0)}function pd(t){return this.changeBit(t,R0)}function yd(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function gd(t){var e=tt();return this.addTo(t,e),e}function md(t){var e=tt();return this.subTo(t,e),e}function xd(t){var e=tt();return this.multiplyTo(t,e),e}function bd(t){var e=tt();return this.divRemTo(t,e,null),e}function vd(t){var e=tt();return this.divRemTo(t,null,e),e}function wd(t){var e=tt(),r=tt();return this.divRemTo(t,e,r),new Array(e,r)}function Ed(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Sd(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function dn(){}function N0(t){return t}function Bd(t,e,r){t.multiplyTo(e,r)}function Ad(t,e){t.squareTo(e)}dn.prototype.convert=N0;dn.prototype.revert=N0;dn.prototype.mulTo=Bd;dn.prototype.sqrTo=Ad;function Id(t){return this.exp(t,new dn)}function Cd(t,e,r){var n=Math.min(this.t+t.t,e);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,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function Td(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Mr(t){this.r2=tt(),this.q3=tt(),I.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function _d(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=tt();return t.copyTo(e),this.reduce(e),e}function Rd(t){return t}function Ld(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Nd(t,e){t.squareTo(e),this.reduce(e)}function Dd(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Mr.prototype.convert=_d;Mr.prototype.revert=Rd;Mr.prototype.reduce=Ld;Mr.prototype.mulTo=Dd;Mr.prototype.sqrTo=Nd;function Pd(t,e){var r=t.bitLength(),n,i=Xe(1),o;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?o=new pr(e):e.isEven()?o=new Mr(e):o=new yr(e);var s=new Array,a=3,c=n-1,f=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=tt();for(o.sqrTo(s[1],u);a<=f;)s[a]=tt(),o.mulTo(u,s[a-2],s[a]),a+=2}var l=t.t-1,h,y=!0,d=tt(),p;for(r=Xn(t.data[l])-1;l>=0;){for(r>=c?h=t.data[l]>>r-c&f:(h=(t.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=t.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[h].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(p=i,i=d,d=p),o.mulTo(d,s[h],i)}for(;l>=0&&!(t.data[l]&1<<r);)o.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function kd(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Ud(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function Od(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return I.ZERO;for(var r=t.clone(),n=this.clone(),i=Xe(1),o=Xe(0),s=Xe(0),a=Xe(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(I.ONE)!=0)return I.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var fe=[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],Kd=(1<<26)/fe[fe.length-1];function Md(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=fe[fe.length-1]){for(e=0;e<fe.length;++e)if(r.data[0]==fe[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<fe.length;){for(var n=fe[e],i=e+1;i<fe.length&&n<Kd;)n*=fe[i++];for(n=r.modInt(n);e<i;)if(n%fe[e++]==0)return!1}return r.millerRabin(t)}function Vd(t){var e=this.subtract(I.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Fd(),o,s=0;s<t;++s){do o=new I(this.bitLength(),i);while(o.compareTo(I.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(I.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(I.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Fd(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=qh;I.prototype.toRadix=zh;I.prototype.fromRadix=Gh;I.prototype.fromNumber=Wh;I.prototype.bitwiseTo=Xh;I.prototype.changeBit=ld;I.prototype.addTo=yd;I.prototype.dMultiply=Ed;I.prototype.dAddOffset=Sd;I.prototype.multiplyLowerTo=Cd;I.prototype.multiplyUpperTo=Td;I.prototype.modInt=Ud;I.prototype.millerRabin=Vd;I.prototype.clone=Kh;I.prototype.intValue=Mh;I.prototype.byteValue=Vh;I.prototype.shortValue=Fh;I.prototype.signum=Hh;I.prototype.toByteArray=Yh;I.prototype.equals=$h;I.prototype.min=Zh;I.prototype.max=Qh;I.prototype.and=jh;I.prototype.or=td;I.prototype.xor=ed;I.prototype.andNot=rd;I.prototype.not=nd;I.prototype.shiftLeft=id;I.prototype.shiftRight=od;I.prototype.getLowestSetBit=ad;I.prototype.bitCount=fd;I.prototype.testBit=ud;I.prototype.setBit=hd;I.prototype.clearBit=dd;I.prototype.flipBit=pd;I.prototype.add=gd;I.prototype.subtract=md;I.prototype.multiply=xd;I.prototype.divide=bd;I.prototype.remainder=vd;I.prototype.divideAndRemainder=wd;I.prototype.modPow=Pd;I.prototype.modInverse=Od;I.prototype.pow=Id;I.prototype.gcd=kd;I.prototype.isProbablePrime=Md});var K0=ut((Om,O0)=>{var Se=ct();dr();It();var k0=O0.exports=Se.sha1=Se.sha1||{};Se.md.sha1=Se.md.algorithms.sha1=k0;k0.create=function(){U0||qd();var t=null,e=Se.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Se.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Se.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),P0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Se.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Po.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};P0(l,r,i);var h=Se.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h},n};var Po=null,U0=!1;function qd(){Po="\x80",Po+=Se.util.fillString("\0",64),U0=!0}function P0(t,e,r){for(var n,i,o,s,a,c,f,u,l=r.length();l>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,u=0;u<16;++u)n=r.getInt32(),e[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=e[u-3]^e[u-8]^e[u-14]^e[u-16],n=n<<1|n>>>31,e[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=e[u-3]^e[u-8]^e[u-14]^e[u-16],n=n<<1|n>>>31,e[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=e[u-6]^e[u-16]^e[u-28]^e[u-32],n=n<<2|n>>>30,e[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=e[u-6]^e[u-16]^e[u-28]^e[u-32],n=n<<2|n>>>30,e[u]=n,f=o&s|a&(o^s),n=(i<<5|i>>>27)+f+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=e[u-6]^e[u-16]^e[u-28]^e[u-32],n=n<<2|n>>>30,e[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,l-=64}}});var F0=ut((Km,V0)=>{var Be=ct();It();hn();K0();var M0=V0.exports=Be.pkcs1=Be.pkcs1||{};M0.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Be.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=e.length,f.maxLength=c,f}n||(n=""),o.update(n,"raw");for(var u=o.digest(),l="",h=c-e.length,y=0;y<h;y++)l+="\0";var d=u.getBytes()+l+""+e;if(!i)i=Be.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=o.digestLength,f}var p=jn(i,a-o.digestLength-1,s),g=Be.util.xorBytes(d,p,d.length),x=jn(g,o.digestLength,s),w=Be.util.xorBytes(i,x,i.length);return"\0"+w+g};M0.decode_rsa_oaep=function(t,e,r){var n,i,o;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&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=s,g}if(i===void 0?i=Be.md.sha1.create():i.start(),o||(o=i),s<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(),c=e.charAt(0),f=e.substring(1,i.digestLength+1),u=e.substring(1+i.digestLength),l=jn(u,i.digestLength,o),h=Be.util.xorBytes(f,l,f.length),y=jn(h,s-i.digestLength-1,o),d=Be.util.xorBytes(u,y,u.length),p=d.substring(0,i.digestLength),g=c!=="\0",x=0;x<i.digestLength;++x)g|=a.charAt(x)!==p.charAt(x);for(var w=1,v=i.digestLength,R=i.digestLength;R<d.length;R++){var E=d.charCodeAt(R),S=E&1^1,L=w?65534:0;g|=E&L,w=w&S,v+=w}if(g||d.charCodeAt(v)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(v+1)};function jn(t,e,r){r||(r=Be.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var q0=ut((Mm,ko)=>{var Je=ct();It();Jn();hn();(function(){if(Je.prime){ko.exports=Je.prime;return}var t=ko.exports=Je.prime=Je.prime||{},e=Je.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(l,h){return l|h};t.generateProbablePrime=function(l,h,y){typeof h=="function"&&(y=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=h.prng||Je.random,g={nextBytes:function(x){for(var w=p.getBytesSync(x.length),v=0;v<x.length;++v)x[v]=w.charCodeAt(v)}};if(d.name==="PRIMEINC")return o(l,g,d.options,y);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(l,h,y,d){return"workers"in y?c(l,h,y,d):s(l,h,y,d)}function s(l,h,y,d){var p=f(l,h),g=0,x=u(p.bitLength());"millerRabinTests"in y&&(x=y.millerRabinTests);var w=10;"maxBlockTime"in y&&(w=y.maxBlockTime),a(p,l,h,g,x,w,d)}function a(l,h,y,d,p,g,x){var w=+new Date;do{if(l.bitLength()>h&&(l=f(h,y)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[d++%8],0)}while(g<0||+new Date-w<g);Je.util.setImmediate(function(){a(l,h,y,d,p,g,x)})}function c(l,h,y,d){if(typeof Worker>"u")return s(l,h,y,d);var p=f(l,h),g=y.workers,x=y.workLoad||100,w=x*30/8,v=y.workerScript||"forge/prime.worker.js";if(g===-1)return Je.util.estimateCores(function(E,S){E&&(S=2),g=S-1,R()});R();function R(){g=Math.max(1,g);for(var E=[],S=0;S<g;++S)E[S]=new Worker(v);for(var L=g,S=0;S<g;++S)E[S].addEventListener("message",z);var N=!1;function z(H){if(!N){--L;var V=H.data;if(V.found){for(var Q=0;Q<E.length;++Q)E[Q].terminate();return N=!0,d(null,new e(V.prime,16))}p.bitLength()>l&&(p=f(l,h));var at=p.toString(16);H.target.postMessage({hex:at,workLoad:x}),p.dAddOffset(w,0)}}}}function f(l,h){var y=new e(l,h),d=l-1;return y.testBit(d)||y.bitwiseTo(e.ONE.shiftLeft(d),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function u(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var ei=ut((Vm,Z0)=>{var M=ct();ln();Jn();Mn();F0();q0();hn();It();typeof j>"u"&&(j=M.jsbn.BigInteger);var j,Uo=M.util.isNodejs?Wn():null,b=M.asn1,ee=M.util;M.pki=M.pki||{};Z0.exports=M.pki.rsa=M.rsa=M.rsa||{};var G=M.pki,Hd=[6,4,2,4,2,4,6,2],zd={name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",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:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Gd={name:"RSAPrivateKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Wd={name:"RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Yd=M.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",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:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},$d={name:"DigestInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Zd=function(t){var e;if(t.algorithm in G.oids)e=G.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=b.oidToDer(e).getBytes(),i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]),o=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]);o.value.push(b.create(b.Class.UNIVERSAL,b.Type.OID,!1,n)),o.value.push(b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,""));var s=b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),b.toDer(i).getBytes()},Y0=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(j.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(j.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new j(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(j.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};G.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=$0(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var s=new j(i.toHex(),16),a=Y0(s,e,n),c=a.toString(16),f=M.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(M.util.hexToBytes(c)),f.getBytes()};G.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new j(M.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Y0(s,e,r),c=a.toString(16),f=M.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(M.util.hexToBytes(c)),n!==!1?ti(f.getBytes(),e,r):f.getBytes()};G.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=c.charCodeAt(f)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new j(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};G.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new j(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|h},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,f=c-1;t.pqState===0?(t.num=new j(c,t.rng),t.num.testBit(f)||t.num.bitwiseTo(j.ONE.shiftLeft(f),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(Xd(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Hd[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(j.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var u=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,u,t.p,t.q,u.mod(t.p1),u.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};G.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(H0("generateKeyPair"))return Uo.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,f){if(a)return n(a);n(null,{privateKey:G.privateKeyFromPem(f),publicKey:G.publicKeyFromPem(c)})});if(z0("generateKey")&&z0("exportKey"))return ee.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:W0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ee.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=G.privateKeyFromAsn1(b.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:G.setRsaPublicKey(c.n,c.e)})}});if(G0("generateKey")&&G0("exportKey")){var i=ee.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:W0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,f=ee.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);f.oncomplete=function(u){var l=u.target.result,h=G.privateKeyFromAsn1(b.fromDer(M.util.createBuffer(l)));n(null,{privateKey:h,publicKey:G.setRsaPublicKey(h.n,h.e)})},f.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(H0("generateKeyPairSync")){var o=Uo.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:G.privateKeyFromPem(o.privateKey),publicKey:G.publicKeyFromPem(o.publicKey)}}}var s=G.rsa.createKeyPairGenerationState(t,e,r);if(!n)return G.rsa.stepKeyPairGenerationState(s,0),s.keys;Qd(s,r,n)};G.setRsaPublicKey=G.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,f){return $0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.pkcs1.encode_rsa_oaep(c,a,o)}};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 s=i.encode(n,r,!0);return G.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,f){f=ti(f,r,!0);var u=b.fromDer(f,{parseAllBytes:s._parseAllDigestBytes}),l={},h=[];if(!b.validate(u,$d,l,h)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=h,y}var d=b.derToOid(l.algorithmIdentifier);if(!(d===M.oids.md2||d===M.oids.md5||d===M.oids.sha1||d===M.oids.sha224||d===M.oids.sha256||d===M.oids.sha384||d===M.oids.sha512||d===M.oids["sha512-224"]||d===M.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=d,y}if((d===M.oids.md2||d===M.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,f){return f=ti(f,r,!0),c===f}});var a=G.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};G.setRsaPrivateKey=G.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(f,u,l){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var h=G.rsa.decrypt(f,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:ti};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(y,d){return M.pkcs1.decode_rsa_oaep(d,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(h,c,!1)},c.sign=function(f,u){var l=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:Zd},l=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return f}},l=1);var h=u.encode(f,c.n.bitLength());return G.rsa.encrypt(h,c,l)},c};G.wrapRsaPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(G.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,b.toDer(t).getBytes())])};G.privateKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,zd,e,r)&&(t=b.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!b.validate(t,Gd,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,f,u,l;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),o=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),f=M.util.createBuffer(e.privateKeyExponent1).toHex(),u=M.util.createBuffer(e.privateKeyExponent2).toHex(),l=M.util.createBuffer(e.privateKeyCoefficient).toHex(),G.setRsaPrivateKey(new j(i,16),new j(o,16),new j(s,16),new j(a,16),new j(c,16),new j(f,16),new j(u,16),new j(l,16))};G.privateKeyToAsn1=G.privateKeyToRSAPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.e)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.d)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.p)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.q)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.dP)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.dQ)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.qInv))])};G.publicKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,Yd,e,r)){var n=b.derToOid(e.publicKeyOid);if(n!==G.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!b.validate(t,Wd,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=M.util.createBuffer(e.publicKeyModulus).toHex(),s=M.util.createBuffer(e.publicKeyExponent).toHex();return G.setRsaPublicKey(new j(o,16),new j(s,16))};G.publicKeyToAsn1=G.publicKeyToSubjectPublicKeyInfo=function(t){return 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(G.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.BITSTRING,!1,[G.publicKeyToRSAPublicKey(t)])])};G.publicKeyToRSAPublicKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.e))])};function $0(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var f=0,u=M.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++f:n.putByte(a);s=f}return n.putByte(0),n.putBytes(t),n}function ti(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=M.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var f=0;f<c;++f)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Qd(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){M.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var f=t.p;t.p=t.q,t.q=f}if(t.p.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.p=null,i();return}if(t.q.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(j.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var u=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,u,t.p,t.q,u.mod(t.p1),u.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ae(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.util.hexToBytes(e);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 Xd(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function H0(t){return M.util.isNodejs&&typeof Uo[t]=="function"}function z0(t){return typeof ee.globalScope<"u"&&typeof ee.globalScope.crypto=="object"&&typeof ee.globalScope.crypto.subtle=="object"&&typeof ee.globalScope.crypto.subtle[t]=="function"}function G0(t){return typeof ee.globalScope<"u"&&typeof ee.globalScope.msCrypto=="object"&&typeof ee.globalScope.msCrypto.subtle=="object"&&typeof ee.globalScope.msCrypto.subtle[t]=="function"}function W0(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var ec=ut((Fm,tc)=>{var U=ct();Co();ln();o0();dr();Mn();u0();d0();hn();A0();ei();It();typeof Q0>"u"&&(Q0=U.jsbn.BigInteger);var Q0,B=U.asn1,W=U.pki=U.pki||{};tc.exports=W.pbe=U.pbe=U.pbe||{};var gr=W.oids,Jd={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"}]},jd={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"}]}]},tp={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"}]};W.encryptPrivateKeyInfo=function(t,e,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=U.random.getBytesSync(r.saltSize),i=r.count,o=B.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,u,l;switch(r.algorithm){case"aes128":s=16,f=16,u=gr["aes128-CBC"],l=U.aes.createEncryptionCipher;break;case"aes192":s=24,f=16,u=gr["aes192-CBC"],l=U.aes.createEncryptionCipher;break;case"aes256":s=32,f=16,u=gr["aes256-CBC"],l=U.aes.createEncryptionCipher;break;case"des":s=8,f=8,u=gr.desCBC,l=U.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),d=j0(y),p=U.pkcs5.pbkdf2(e,n,i,s,d),g=U.random.getBytesSync(f),x=l(p);x.start(g),x.update(B.toDer(t)),x.finish(),c=x.output.getBytes();var w=ep(n,o,s,y);a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(gr.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(gr.pkcs5PBKDF2).getBytes()),w]),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(u).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var v=new U.util.ByteBuffer(n),p=W.pbe.generatePkcs12Key(e,v,1,i,s),g=W.pbe.generatePkcs12Key(e,v,2,i,s),x=U.des.createEncryptionCipher(p);x.start(g),x.update(B.toDer(t)),x.finish(),c=x.output.getBytes(),a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(gr["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,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var R=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,c)]);return R};W.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!B.validate(t,Jd,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=B.derToOid(n.encryptionOid),a=W.pbe.getCipher(s,n.encryptionParams,e),c=U.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=B.fromDer(a.output)),r};W.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:B.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};W.encryptedPrivateKeyFromPem=function(t){var e=U.pem.decode(t)[0];if(e.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=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return B.fromDer(e.body)};W.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=W.wrapRsaPrivateKey(W.privateKeyToAsn1(t));return n=W.encryptPrivateKeyInfo(n,e,r),W.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var f=U.pbe.opensslDeriveBytes(e,o.substr(0,8),s),u=a(f);u.start(o),u.update(B.toDer(W.privateKeyToAsn1(t))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return U.pem.encode(l)};W.decryptRsaPrivateKey=function(t,e){var r=null,n=U.pem.decode(t)[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 o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=U.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=U.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=U.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return U.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return U.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return U.rc2.createDecryptionCipher(l,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=U.util.hexToBytes(n.dekInfo.parameters),c=U.pbe.opensslDeriveBytes(e,a.substr(0,8),o),f=s(c);if(f.start(a),f.update(U.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=W.decryptPrivateKeyInfo(B.fromDer(r),e):r=B.fromDer(r),r!==null&&(r=W.privateKeyFromAsn1(r)),r};W.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');o=U.md.sha1.create()}var c=o.digestLength,f=o.blockLength,u=new U.util.ByteBuffer,l=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)l.putInt16(t.charCodeAt(a));l.putInt16(0)}var h=l.length(),y=e.length(),d=new U.util.ByteBuffer;d.fillWithByte(r,f);var p=f*Math.ceil(y/f),g=new U.util.ByteBuffer;for(a=0;a<p;a++)g.putByte(e.at(a%y));var x=f*Math.ceil(h/f),w=new U.util.ByteBuffer;for(a=0;a<x;a++)w.putByte(l.at(a%h));var v=g;v.putBuffer(w);for(var R=Math.ceil(i/c),E=1;E<=R;E++){var S=new U.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(v.bytes());for(var L=0;L<n;L++)o.start(),o.update(S.getBytes()),S=o.digest();var N=new U.util.ByteBuffer;for(a=0;a<f;a++)N.putByte(S.at(a%c));var z=Math.ceil(y/f)+Math.ceil(h/f),H=new U.util.ByteBuffer;for(s=0;s<z;s++){var V=new U.util.ByteBuffer(v.getBytes(f)),Q=511;for(a=N.length()-1;a>=0;a--)Q=Q>>8,Q+=N.at(a)+V.at(a),V.setAt(a,Q&255);H.putBuffer(V)}v=H,u.putBuffer(S)}return u.truncate(u.length()-i),u};W.pbe.getCipher=function(t,e,r){switch(t){case W.oids.pkcs5PBES2:return W.pbe.getCipherForPBES2(t,e,r);case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case W.oids["pbewithSHAAnd40BitRC2-CBC"]:return W.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};W.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!B.validate(e,jd,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=B.derToOid(n.kdfOid),t!==W.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=B.derToOid(n.encOid),t!==W.oids["aes128-CBC"]&&t!==W.oids["aes192-CBC"]&&t!==W.oids["aes256-CBC"]&&t!==W.oids["des-EDE3-CBC"]&&t!==W.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,f;switch(W.oids[t]){case"aes128-CBC":c=16,f=U.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,f=U.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,f=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,f=U.des.createDecryptionCipher;break;case"desCBC":c=8,f=U.des.createDecryptionCipher;break}var u=J0(n.prfOid),l=U.pkcs5.pbkdf2(r,s,a,c,u),h=n.encIv,y=f(l);return y.start(h),y};W.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!B.validate(e,tp,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=U.util.createBuffer(n.salt),a=U.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,f,u;switch(t){case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,f=8,u=U.des.startDecrypting;break;case W.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,f=8,u=function(p,g){var x=U.rc2.createDecryptionCipher(p,40);return x.start(g,null),x};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var l=J0(n.prfOid),h=W.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=W.pbe.generatePkcs12Key(r,s,2,a,f,l);return u(h,y)};W.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[X0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(X0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function X0(t,e){return t.start().update(e).digest().getBytes()}function J0(t){var e;if(!t)e="hmacWithSHA1";else if(e=W.oids[B.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return j0(e)}function j0(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function ep(t,e,r,n){var i=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,t),B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,U.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(W.oids[n]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])),i}});var Hc=ut((ob,qc)=>{var pt=ct();dr();It();var wn=qc.exports=pt.sha512=pt.sha512||{};pt.md.sha512=pt.md.algorithms.sha512=wn;var Vc=pt.sha384=pt.sha512.sha384=pt.sha512.sha384||{};Vc.create=function(){return wn.create("SHA-384")};pt.md.sha384=pt.md.algorithms.sha384=Vc;pt.sha512.sha256=pt.sha512.sha256||{create:function(){return wn.create("SHA-512/256")}};pt.md["sha512/256"]=pt.md.algorithms["sha512/256"]=pt.sha512.sha256;pt.sha512.sha224=pt.sha512.sha224||{create:function(){return wn.create("SHA-512/224")}};pt.md["sha512/224"]=pt.md.algorithms["sha512/224"]=pt.sha512.sha224;wn.create=function(t){if(Fc||wy(),typeof t>"u"&&(t="SHA-512"),!(t in Sr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Sr[t],r=null,n=pt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,f=0;f<c;++f)a.fullMessageLength.push(0);n=pt.util.createBuffer(),r=new Array(e.length);for(var f=0;f<e.length;++f)r[f]=e[f].slice(0);return a},a.start(),a.update=function(c,f){f==="utf8"&&(c=pt.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=u[1],u[1]=u[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),Mc(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=pt.util.createBuffer();c.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=f&a.blockLength-1;c.putBytes(gs.substr(0,a.blockLength-u));for(var l,h,y=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)l=a.fullMessageLength[d+1]*8,h=l/4294967296>>>0,y+=h,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);Mc(p,i,c);var g=pt.util.createBuffer(),x;t==="SHA-512"?x=p.length:t==="SHA-384"?x=p.length-2:x=p.length-4;for(var d=0;d<x;++d)g.putInt32(p[d][0]),(d!==x-1||t!=="SHA-512/224")&&g.putInt32(p[d][1]);return g},a};var gs=null,Fc=!1,ms=null,Sr=null;function wy(){gs="\x80",gs+=pt.util.fillString("\0",128),ms=[[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]],Sr={},Sr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Sr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Sr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Sr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Fc=!0}function Mc(t,e,r){for(var n,i,o,s,a,c,f,u,l,h,y,d,p,g,x,w,v,R,E,S,L,N,z,H,V,Q,at,Ut,C,P,_,D,A,O,K,q=r.length();q>=128;){for(C=0;C<16;++C)e[C][0]=r.getInt32()>>>0,e[C][1]=r.getInt32()>>>0;for(;C<80;++C)D=e[C-2],P=D[0],_=D[1],n=((P>>>19|_<<13)^(_>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|_>>>19)^(_<<3|P>>>29)^(P<<26|_>>>6))>>>0,O=e[C-15],P=O[0],_=O[1],o=((P>>>1|_<<31)^(P>>>8|_<<24)^P>>>7)>>>0,s=((P<<31|_>>>1)^(P<<24|_>>>8)^(P<<25|_>>>7))>>>0,A=e[C-7],K=e[C-16],_=i+A[1]+s+K[1],e[C][0]=n+A[0]+o+K[0]+(_/4294967296>>>0)>>>0,e[C][1]=_>>>0;for(p=t[0][0],g=t[0][1],x=t[1][0],w=t[1][1],v=t[2][0],R=t[2][1],E=t[3][0],S=t[3][1],L=t[4][0],N=t[4][1],z=t[5][0],H=t[5][1],V=t[6][0],Q=t[6][1],at=t[7][0],Ut=t[7][1],C=0;C<80;++C)f=((L>>>14|N<<18)^(L>>>18|N<<14)^(N>>>9|L<<23))>>>0,u=((L<<18|N>>>14)^(L<<14|N>>>18)^(N<<23|L>>>9))>>>0,l=(V^L&(z^V))>>>0,h=(Q^N&(H^Q))>>>0,a=((p>>>28|g<<4)^(g>>>2|p<<30)^(g>>>7|p<<25))>>>0,c=((p<<4|g>>>28)^(g<<30|p>>>2)^(g<<25|p>>>7))>>>0,y=(p&x|v&(p^x))>>>0,d=(g&w|R&(g^w))>>>0,_=Ut+u+h+ms[C][1]+e[C][1],n=at+f+l+ms[C][0]+e[C][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+d,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,at=V,Ut=Q,V=z,Q=H,z=L,H=N,_=S+i,L=E+n+(_/4294967296>>>0)>>>0,N=_>>>0,E=v,S=R,v=x,R=w,x=p,w=g,_=i+s,p=n+o+(_/4294967296>>>0)>>>0,g=_>>>0;_=t[0][1]+g,t[0][0]=t[0][0]+p+(_/4294967296>>>0)>>>0,t[0][1]=_>>>0,_=t[1][1]+w,t[1][0]=t[1][0]+x+(_/4294967296>>>0)>>>0,t[1][1]=_>>>0,_=t[2][1]+R,t[2][0]=t[2][0]+v+(_/4294967296>>>0)>>>0,t[2][1]=_>>>0,_=t[3][1]+S,t[3][0]=t[3][0]+E+(_/4294967296>>>0)>>>0,t[3][1]=_>>>0,_=t[4][1]+N,t[4][0]=t[4][0]+L+(_/4294967296>>>0)>>>0,t[4][1]=_>>>0,_=t[5][1]+H,t[5][0]=t[5][0]+z+(_/4294967296>>>0)>>>0,t[5][1]=_>>>0,_=t[6][1]+Q,t[6][0]=t[6][0]+V+(_/4294967296>>>0)>>>0,t[6][1]=_>>>0,_=t[7][1]+Ut,t[7][0]=t[7][0]+at+(_/4294967296>>>0)>>>0,t[7][1]=_>>>0,q-=128}}});var tu=ut((j4,jf)=>{"use strict";function Jf(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function I1(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return Jf(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Jf(new i,r)}}jf.exports=I1});var iu=ut((u8,nu)=>{function R1(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}nu.exports=R1});var P1={};Nt(P1,{identify:()=>D1,multicodecs:()=>N1});var fa="/ipfs/id/1.0.0",ua="/ipfs/id/push/1.0.0",la="0.1.0",ha="id",da="id/push",pa="1.0.0",ya="1.0.0";var O1=Symbol.for("@libp2p/connection");var M1=Symbol.for("@libp2p/content-routing");var q1=Symbol.for("@libp2p/peer-discovery");var ga=Symbol.for("@libp2p/peer-id");var G1=Symbol.for("@libp2p/peer-routing");var ma;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(ma||(ma={}));var Z1=Symbol.for("@libp2p/transport");var xa;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(xa||(xa={}));var F=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ba="ERR_NOT_FOUND";var Hi=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},eg=globalThis.CustomEvent??Hi,kn=(t,...e)=>{try{[...e]}catch{}};var $i={};Nt($i,{base58btc:()=>Et,base58flickr:()=>Lu});function Iu(t,e){if(t.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<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,g=0,x=0,w=d.length;x!==w&&d[x]===0;)x++,p++;for(var v=(w-x)*u+1>>>0,R=new Uint8Array(v);x!==w;){for(var E=d[x],S=0,L=v-1;(E!==0||S<g)&&L!==-1;L--,S++)E+=256*R[L]>>>0,R[L]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");g=S,x++}for(var N=v-g;N!==v&&R[N]===0;)N++;for(var z=c.repeat(p);N<v;++N)z+=t.charAt(R[N]);return z}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var g=0,x=0;d[p]===c;)g++,p++;for(var w=(d.length-p)*f+1>>>0,v=new Uint8Array(w);d[p];){var R=r[d.charCodeAt(p)];if(R===255)return;for(var E=0,S=w-1;(R!==0||E<x)&&S!==-1;S--,E++)R+=a*v[S]>>>0,v[S]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");x=E,p++}if(d[p]!==" "){for(var L=w-x;L!==w&&v[L]===0;)L++;for(var N=new Uint8Array(g+(w-L)),z=g;L!==w;)N[z++]=v[L++];return N}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var Cu=Iu,Tu=Cu,va=Tu;var Cg=new Uint8Array(0);var wa=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Ne=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Ea=t=>new TextEncoder().encode(t),Sa=t=>new TextDecoder().decode(t);var zi=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Gi=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Aa(this,e)}},Wi=class{constructor(e){this.decoders=e}or(e){return Aa(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Aa=(t,e)=>new Wi({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Yi=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new zi(e,r,n),this.decoder=new Gi(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},_r=({name:t,prefix:e,encode:r,decode:n})=>new Yi(t,e,r,n),We=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=va(r,e);return _r({prefix:t,name:e,encode:n,decode:o=>Ne(i(o))})},_u=(t,e,r,n)=>{let i={};for(let u=0;u<e.length;++u)i[e[u]]=u;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,f=0;for(let u=0;u<o;++u){let l=i[t[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Ru=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},vt=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>_r({prefix:e,name:t,encode(i){return Ru(i,n,r)},decode(i){return _u(i,n,r,t)}});var Et=We({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Lu=We({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Zi={};Nt(Zi,{base10:()=>Nu});var Nu=We({prefix:"9",name:"base10",alphabet:"0123456789"});var Qi={};Nt(Qi,{base16:()=>Du,base16upper:()=>Pu});var Du=vt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pu=vt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xi={};Nt(Xi,{base2:()=>ku});var ku=vt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ji={};Nt(Ji,{base256emoji:()=>Vu});var Ia=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}"),Uu=Ia.reduce((t,e,r)=>(t[r]=e,t),[]),Ou=Ia.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Ku(t){return t.reduce((e,r)=>(e+=Uu[r],e),"")}function Mu(t){let e=[];for(let r of t){let n=Ou[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Vu=_r({prefix:"\u{1F680}",name:"base256emoji",encode:Ku,decode:Mu});var ji={};Nt(ji,{base32:()=>De,base32hex:()=>zu,base32hexpad:()=>Wu,base32hexpadupper:()=>Yu,base32hexupper:()=>Gu,base32pad:()=>qu,base32padupper:()=>Hu,base32upper:()=>Fu,base32z:()=>$u});var De=vt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Fu=vt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),qu=vt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Hu=vt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),zu=vt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Gu=vt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Wu=vt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Yu=vt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),$u=vt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var to={};Nt(to,{base36:()=>Zu,base36upper:()=>Qu});var Zu=We({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Qu=We({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ro={};Nt(ro,{base64:()=>Un,base64pad:()=>Xu,base64url:()=>eo,base64urlpad:()=>Ju});var Un=vt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Xu=vt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),eo=vt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ju=vt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var no={};Nt(no,{base8:()=>ju});var ju=vt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var io={};Nt(io,{identity:()=>tl});var tl=_r({prefix:"\0",name:"identity",encode:t=>Sa(t),decode:t=>Ea(t)});var qg=new TextEncoder,Hg=new TextDecoder;var so={};Nt(so,{identity:()=>Ye});var nl=_a,Ca=128,il=127,ol=~il,sl=Math.pow(2,31);function _a(t,e,r){e=e||[],r=r||0;for(var n=r;t>=sl;)e[r++]=t&255|Ca,t/=128;for(;t&ol;)e[r++]=t&255|Ca,t>>>=7;return e[r]=t|0,_a.bytes=r-n+1,e}var al=oo,cl=128,Ta=127;function oo(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw oo.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ta)<<i:(s&Ta)*Math.pow(2,i),i+=7}while(s>=cl);return oo.bytes=o-n,r}var fl=Math.pow(2,7),ul=Math.pow(2,14),ll=Math.pow(2,21),hl=Math.pow(2,28),dl=Math.pow(2,35),pl=Math.pow(2,42),yl=Math.pow(2,49),gl=Math.pow(2,56),ml=Math.pow(2,63),xl=function(t){return t<fl?1:t<ul?2:t<ll?3:t<hl?4:t<dl?5:t<pl?6:t<yl?7:t<gl?8:t<ml?9:10},bl={encode:nl,decode:al,encodingLength:xl},vl=bl,rn=vl;var nn=(t,e=0)=>[rn.decode(t,e),rn.decode.bytes],Rr=(t,e,r=0)=>(rn.encode(t,e,r),e),Lr=t=>rn.encodingLength(t);var be=(t,e)=>{let r=e.byteLength,n=Lr(t),i=n+Lr(r),o=new Uint8Array(i+r);return Rr(t,o,0),Rr(r,o,n),o.set(e,i),new Nr(t,r,e,o)},ur=t=>{let e=Ne(t),[r,n]=nn(e),[i,o]=nn(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Nr(r,i,s,e)},Ra=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&wa(t.bytes,r.bytes)}},Nr=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var La=0,wl="identity",Na=Ne,El=t=>be(La,Na(t)),Ye={code:La,name:wl,encode:Na,digest:El};var fo={};Nt(fo,{sha256:()=>Mt,sha512:()=>Sl});var co=({name:t,code:e,encode:r})=>new ao(t,e,r),ao=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?be(this.code,r):r.then(n=>be(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Pa=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Mt=co({name:"sha2-256",code:18,encode:Pa("SHA-256")}),Sl=co({name:"sha2-512",code:19,encode:Pa("SHA-512")});var ka=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Al(r,uo(t),e||Et.encoder);default:return Il(r,uo(t),e||De.encoder)}};var Ua=new WeakMap,uo=t=>{let e=Ua.get(t);if(e==null){let r=new Map;return Ua.set(t,r),r}return e},ae=class t{constructor(e,r,n,i){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==on)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Cl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=be(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ra(e.multihash,n.multihash)}toString(e){return ka(this,e)}toJSON(){return{"/":ka(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||Oa(n,i,o.bytes))}else if(r[Tl]===!0){let{version:n,multihash:i,code:o}=r,s=ur(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==on)throw new Error(`Version 0 CID must use dag-pb (code: ${on}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Oa(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,on,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Ne(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Nr(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,h]=nn(e.subarray(r));return r+=h,l},i=n(),o=on;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),f=r+c,u=f-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,r){let[n,i]=Bl(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return uo(o).set(n,e),o}},Bl=(t,e)=>{switch(t[0]){case"Q":{let r=e||Et;return[Et.prefix,r.decode(`${Et.prefix}${t}`)]}case Et.prefix:{let r=e||Et;return[Et.prefix,r.decode(t)]}case De.prefix:{let r=e||De;return[De.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Al=(t,e,r)=>{let{prefix:n}=r;if(n!==Et.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Il=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},on=112,Cl=18,Oa=(t,e,r)=>{let n=Lr(t),i=n+Lr(e),o=new Uint8Array(i+r.byteLength);return Rr(t,o,0),Rr(e,o,n),o.set(r,i),o},Tl=Symbol.for("@ipld/js-cid/CID");var $e={...io,...Xi,...no,...Zi,...Qi,...ji,...to,...$i,...ro,...Ji},om={...fo,...so};function Tt(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var _l=Symbol.for("nodejs.util.inspect.custom"),Ka=Object.values($e).map(t=>t.decoder).reduce((t,e)=>t.or(e),$e.identity.decoder),Ma=114,lo=36,ho=37,sn=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[ga]=!0;toString(){return this.string==null&&(this.string=Et.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ae.createV1(Ma,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Tt(this.multihash.bytes,e);if(typeof e=="string")return Rl(e).equals(this);if(e?.multihash?.bytes!=null)return Tt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[_l](){return`PeerId(${this.toString()})`}},Dr=class extends sn{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Pr=class extends sn{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},kr=class extends sn{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Rl(t,e){if(e=e??Ka,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=ur(Et.decode(`z${t}`));return t.startsWith("12D")?new Pr({multihash:r}):t.startsWith("16U")?new kr({multihash:r}):new Dr({multihash:r})}return po(Ka.decode(t))}function po(t){try{let e=ur(t);if(e.code===Ye.code){if(e.digest.length===lo)return new Pr({multihash:e});if(e.digest.length===ho)return new kr({multihash:e})}if(e.code===Mt.code)return new Dr({multihash:e})}catch{return Ll(ae.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Ll(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Ma)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Mt.code)return new Dr({multihash:t.multihash});if(e.code===Ye.code){if(e.digest.length===lo)return new Pr({multihash:t.multihash});if(e.digest.length===ho)return new kr({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function an(t,e){return t.length===lo?new Pr({multihash:be(Ye.code,t),privateKey:e}):t.length===ho?new kr({multihash:be(Ye.code,t),privateKey:e}):new Dr({multihash:await Mt.digest(t),publicKey:t,privateKey:e})}var hv=Gt(ln(),1),dv=Gt(ec(),1);var Yy=Gt(ct(),1);function je(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Oe(t=0){return globalThis.Buffer?.alloc!=null?je(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ft(t=0){return globalThis.Buffer?.allocUnsafe!=null?je(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function nc(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var rc=nc("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Oo=nc("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ft(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),rp={utf8:rc,"utf-8":rc,hex:$e.base16,latin1:Oo,ascii:Oo,binary:Oo,...$e},ri=rp;function lt(t,e="utf8"){let r=ri[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?je(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var ys={};Nt(ys,{Ed25519PrivateKey:()=>Er,Ed25519PublicKey:()=>vn,generateKeyPair:()=>my,generateKeyPairFromSeed:()=>Kc,unmarshalEd25519PrivateKey:()=>yy,unmarshalEd25519PublicKey:()=>gy});var rx=Gt(It(),1),nx=Gt(Jn(),1),ic=Gt(ct(),1);function _t(t,e){if(globalThis.Buffer!=null)return je(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ft(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return je(r)}function nt(t,e="utf8"){let r=ri[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function ue(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=_t([new Uint8Array(e-r.length),r])}return nt(r,"base64url")}function Jt(t){let e=oc(t);return new ic.default.jsbn.BigInteger(nt(e,"base16"),16)}function oc(t,e){let r=lt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=_t([new Uint8Array(e-r.length),r])}return r}function re(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function sc(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Ko(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function ac(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");sc(t.outputLen),sc(t.blockLen)}function Vr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function cc(t,e){Ko(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var ni=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var fc=t=>t instanceof Uint8Array;var ii=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),le=(t,e)=>t<<32-e|t>>>e,np=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!np)throw new Error("Non little-endian hardware is not supported");function Mo(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function pn(t){if(typeof t=="string"&&(t=Mo(t)),!fc(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function oi(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!fc(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var Fr=class{clone(){return this._cloneInto()}},lx={}.toString;function si(t){let e=n=>t().update(pn(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function qr(t=32){if(ni&&typeof ni.getRandomValues=="function")return ni.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function ip(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+f,a,n)}var Hr=class extends Fr{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ii(this.buffer)}update(e){Vr(this);let{view:r,buffer:n,blockLen:i}=this;e=pn(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=ii(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vr(this),cc(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;ip(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ii(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var ai=BigInt(4294967295),Vo=BigInt(32);function uc(t,e=!1){return e?{h:Number(t&ai),l:Number(t>>Vo&ai)}:{h:Number(t>>Vo&ai)|0,l:Number(t&ai)|0}}function op(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=uc(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var sp=(t,e)=>BigInt(t>>>0)<<Vo|BigInt(e>>>0),ap=(t,e,r)=>t>>>r,cp=(t,e,r)=>t<<32-r|e>>>r,fp=(t,e,r)=>t>>>r|e<<32-r,up=(t,e,r)=>t<<32-r|e>>>r,lp=(t,e,r)=>t<<64-r|e>>>r-32,hp=(t,e,r)=>t>>>r-32|e<<64-r,dp=(t,e)=>e,pp=(t,e)=>t,yp=(t,e,r)=>t<<r|e>>>32-r,gp=(t,e,r)=>e<<r|t>>>32-r,mp=(t,e,r)=>e<<r-32|t>>>64-r,xp=(t,e,r)=>t<<r-32|e>>>64-r;function bp(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var vp=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),wp=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Ep=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),Sp=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,Bp=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Ap=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var Ip={fromBig:uc,split:op,toBig:sp,shrSH:ap,shrSL:cp,rotrSH:fp,rotrSL:up,rotrBH:lp,rotrBL:hp,rotr32H:dp,rotr32L:pp,rotlSH:yp,rotlSL:gp,rotlBH:mp,rotlBL:xp,add:bp,add3L:vp,add3H:wp,add4L:Ep,add4H:Sp,add5H:Ap,add5L:Bp},Y=Ip;var[Cp,Tp]=Y.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),tr=new Uint32Array(80),er=new Uint32Array(80),Fo=class extends Hr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:h,Gh:y,Gl:d,Hh:p,Hl:g}=this;return[e,r,n,i,o,s,a,c,f,u,l,h,y,d,p,g]}set(e,r,n,i,o,s,a,c,f,u,l,h,y,d,p,g){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=h|0,this.Gh=y|0,this.Gl=d|0,this.Hh=p|0,this.Hl=g|0}process(e,r){for(let v=0;v<16;v++,r+=4)tr[v]=e.getUint32(r),er[v]=e.getUint32(r+=4);for(let v=16;v<80;v++){let R=tr[v-15]|0,E=er[v-15]|0,S=Y.rotrSH(R,E,1)^Y.rotrSH(R,E,8)^Y.shrSH(R,E,7),L=Y.rotrSL(R,E,1)^Y.rotrSL(R,E,8)^Y.shrSL(R,E,7),N=tr[v-2]|0,z=er[v-2]|0,H=Y.rotrSH(N,z,19)^Y.rotrBH(N,z,61)^Y.shrSH(N,z,6),V=Y.rotrSL(N,z,19)^Y.rotrBL(N,z,61)^Y.shrSL(N,z,6),Q=Y.add4L(L,V,er[v-7],er[v-16]),at=Y.add4H(Q,S,H,tr[v-7],tr[v-16]);tr[v]=at|0,er[v]=Q|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:h,Fh:y,Fl:d,Gh:p,Gl:g,Hh:x,Hl:w}=this;for(let v=0;v<80;v++){let R=Y.rotrSH(l,h,14)^Y.rotrSH(l,h,18)^Y.rotrBH(l,h,41),E=Y.rotrSL(l,h,14)^Y.rotrSL(l,h,18)^Y.rotrBL(l,h,41),S=l&y^~l&p,L=h&d^~h&g,N=Y.add5L(w,E,L,Tp[v],er[v]),z=Y.add5H(N,x,R,S,Cp[v],tr[v]),H=N|0,V=Y.rotrSH(n,i,28)^Y.rotrBH(n,i,34)^Y.rotrBH(n,i,39),Q=Y.rotrSL(n,i,28)^Y.rotrBL(n,i,34)^Y.rotrBL(n,i,39),at=n&o^n&a^o&a,Ut=i&s^i&c^s&c;x=p|0,w=g|0,p=y|0,g=d|0,y=l|0,d=h|0,{h:l,l:h}=Y.add(f|0,u|0,z|0,H|0),f=a|0,u=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let C=Y.add3L(H,Q,Ut);n=Y.add3H(C,z,V,at),i=C|0}({h:n,l:i}=Y.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=Y.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=Y.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=Y.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:h}=Y.add(this.Eh|0,this.El|0,l|0,h|0),{h:y,l:d}=Y.add(this.Fh|0,this.Fl|0,y|0,d|0),{h:p,l:g}=Y.add(this.Gh|0,this.Gl|0,p|0,g|0),{h:x,l:w}=Y.add(this.Hh|0,this.Hl|0,x|0,w|0),this.set(n,i,o,s,a,c,f,u,l,h,y,d,p,g,x,w)}roundClean(){tr.fill(0),er.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var qo=si(()=>new Fo);var ui={};Nt(ui,{bitGet:()=>kp,bitLen:()=>Pp,bitMask:()=>yn,bitSet:()=>Up,bytesToHex:()=>Ke,bytesToNumberBE:()=>Me,bytesToNumberLE:()=>rr,concatBytes:()=>Ve,createHmacDrbg:()=>Go,ensureBytes:()=>wt,equalBytes:()=>Np,hexToBytes:()=>mr,hexToNumber:()=>zo,numberToBytesBE:()=>nr,numberToBytesLE:()=>xr,numberToHexUnpadded:()=>dc,numberToVarBytesBE:()=>Lp,utf8ToBytes:()=>Dp,validateObject:()=>Ie});var hc=BigInt(0),ci=BigInt(1),_p=BigInt(2),fi=t=>t instanceof Uint8Array,Rp=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ke(t){if(!fi(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Rp[t[r]];return e}function dc(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function zo(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function mr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Me(t){return zo(Ke(t))}function rr(t){if(!fi(t))throw new Error("Uint8Array expected");return zo(Ke(Uint8Array.from(t).reverse()))}function nr(t,e){return mr(t.toString(16).padStart(e*2,"0"))}function xr(t,e){return nr(t,e).reverse()}function Lp(t){return mr(dc(t))}function wt(t,e,r){let n;if(typeof e=="string")try{n=mr(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(fi(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function Ve(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!fi(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function Np(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Dp(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Pp(t){let e;for(e=0;t>hc;t>>=ci,e+=1);return e}function kp(t,e){return t>>BigInt(e)&ci}var Up=(t,e,r)=>t|(r?ci:hc)<<BigInt(e),yn=t=>(_p<<BigInt(t-1))-ci,Ho=t=>new Uint8Array(t),lc=t=>Uint8Array.from(t);function Go(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Ho(t),i=Ho(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Ho())=>{i=a(lc([0]),l),n=a(),l.length!==0&&(i=a(lc([1]),l),n=a())},f=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<e;){n=a();let y=n.slice();h.push(y),l+=n.length}return Ve(...h)};return(l,h)=>{s(),c(l);let y;for(;!(y=h(f()));)c();return s(),y}}var Op={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Ie(t,e,r={}){let n=(i,o,s)=>{let a=Op[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Rt=BigInt(0),gt=BigInt(1),br=BigInt(2),Kp=BigInt(3),Wo=BigInt(4),pc=BigInt(5),yc=BigInt(8),Mp=BigInt(9),Vp=BigInt(16);function ft(t,e){let r=t%e;return r>=Rt?r:e+r}function Fp(t,e,r){if(r<=Rt||e<Rt)throw new Error("Expected power/modulo > 0");if(r===gt)return Rt;let n=gt;for(;e>Rt;)e>&&(n=n*t%r),t=t*t%r,e>>=gt;return n}function mt(t,e,r){let n=t;for(;e-- >Rt;)n*=n,n%=r;return n}function li(t,e){if(t===Rt||e<=Rt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=ft(t,e),n=e,i=Rt,o=gt,s=gt,a=Rt;for(;r!==Rt;){let f=n/r,u=n%r,l=i-s*f,h=o-a*f;n=r,r=u,i=s,o=a,s=l,a=h}if(n!==gt)throw new Error("invert: does not exist");return ft(i,e)}function qp(t){let e=(t-gt)/br,r,n,i;for(r=t-gt,n=0;r%br===Rt;r/=br,n++);for(i=br;i<t&&Fp(i,e,t)!==t-gt;i++);if(n===1){let s=(t+gt)/Wo;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let o=(r+gt)/br;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(h);y<f&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let d=a.pow(u,gt<<BigInt(f-y-1));u=a.sqr(d),l=a.mul(l,d),h=a.mul(h,u),f=y}return l}}function Hp(t){if(t%Wo===Kp){let e=(t+gt)/Wo;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%yc===pc){let e=(t-pc)/yc;return function(n,i){let o=n.mul(i,br),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,br),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),i))throw new Error("Cannot find square root");return f}}return t%Vp,qp(t)}var gc=(t,e)=>(ft(t,e)>)===gt,zp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Yo(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=zp.reduce((n,i)=>(n[i]="function",n),e);return Ie(t,r)}function Gp(t,e,r){if(r<Rt)throw new Error("Expected power > 0");if(r===Rt)return t.ONE;if(r===gt)return e;let n=t.ONE,i=e;for(;r>Rt;)r>&&(n=t.mul(n,i)),i=t.sqr(i),r>>=gt;return n}function Wp(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function $o(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function hi(t,e,r=!1,n={}){if(t<=Rt)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=$o(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Hp(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:yn(i),ZERO:Rt,ONE:gt,create:c=>ft(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Rt<=c&&c<t},is0:c=>c===Rt,isOdd:c=>(c>)===gt,neg:c=>ft(-c,t),eql:(c,f)=>c===f,sqr:c=>ft(c*c,t),add:(c,f)=>ft(c+f,t),sub:(c,f)=>ft(c-f,t),mul:(c,f)=>ft(c*f,t),pow:(c,f)=>Gp(a,c,f),div:(c,f)=>ft(c*li(f,t),t),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>li(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Wp(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>r?xr(c,o):nr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?rr(c):Me(c)}});return Object.freeze(a)}function mc(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function xc(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Zo(t){let e=xc(t);return e+Math.ceil(e/2)}function bc(t,e,r=!1){let n=t.length,i=xc(e),o=Zo(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Me(t):rr(t),a=ft(s,e-gt)+gt;return r?xr(a,i):nr(a,i)}var $p=BigInt(0),Qo=BigInt(1);function di(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>$p;)o&Qo&&(s=s.add(a)),a=a.double(),o>>=Qo;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],f=i,u=f;for(let l=0;l<s;l++){u=f,c.push(u);for(let h=1;h<a;h++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),f=t.ZERO,u=t.BASE,l=BigInt(2**i-1),h=2**i,y=BigInt(i);for(let d=0;d<a;d++){let p=d*c,g=Number(s&l);s>>=y,g>c&&(g-=h,s+=Qo);let x=p,w=p+Math.abs(g)-1,v=d%2!==0,R=g<0;g===0?u=u.add(r(v,o[x])):f=f.add(r(R,o[w]))}return{p:f,f:u}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,f=o.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&o.set(i,a(f))),this.wNAF(c,f,s)}}}function gn(t){return Yo(t.Fp),Ie(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...$o(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var he=BigInt(0),jt=BigInt(1),pi=BigInt(2),Zp=BigInt(8),Qp={zip215:!0};function Xp(t){let e=gn(t);return Ie(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function yi(t){let e=Xp(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,f=pi<<BigInt(a*8)-jt,u=r.create,l=e.uvRatio||((D,A)=>{try{return{isValid:!0,value:r.sqrt(D*r.inv(A))}}catch{return{isValid:!1,value:he}}}),h=e.adjustScalarBytes||(D=>D),y=e.domain||((D,A,O)=>{if(A.length||O)throw new Error("Contexts/pre-hash are not supported");return D}),d=D=>typeof D=="bigint"&&he<D,p=(D,A)=>d(D)&&d(A)&&D<A,g=D=>D===he||p(D,f);function x(D,A){if(p(D,A))return D;throw new Error(`Expected valid scalar < ${A}, got ${typeof D} ${D}`)}function w(D){return D===he?D:x(D,n)}let v=new Map;function R(D){if(!(D instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(A,O,K,q){if(this.ex=A,this.ey=O,this.ez=K,this.et=q,!g(A))throw new Error("x required");if(!g(O))throw new Error("y required");if(!g(K))throw new Error("z required");if(!g(q))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(A){if(A instanceof E)throw new Error("extended point not allowed");let{x:O,y:K}=A||{};if(!g(O)||!g(K))throw new Error("invalid affine point");return new E(O,K,jt,u(O*K))}static normalizeZ(A){let O=r.invertBatch(A.map(K=>K.ez));return A.map((K,q)=>K.toAffine(O[q])).map(E.fromAffine)}_setWindowSize(A){this._WINDOW_SIZE=A,v.delete(this)}assertValidity(){let{a:A,d:O}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:q,ez:$,et:X}=this,st=u(K*K),J=u(q*q),et=u($*$),At=u(et*et),bt=u(st*A),Ot=u(et*u(bt+J)),Kt=u(At+u(O*u(st*J)));if(Ot!==Kt)throw new Error("bad point: equation left != right (1)");let Ct=u(K*q),Vt=u($*X);if(Ct!==Vt)throw new Error("bad point: equation left != right (2)")}equals(A){R(A);let{ex:O,ey:K,ez:q}=this,{ex:$,ey:X,ez:st}=A,J=u(O*st),et=u($*q),At=u(K*st),bt=u(X*q);return J===et&&At===bt}is0(){return this.equals(E.ZERO)}negate(){return new E(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:A}=e,{ex:O,ey:K,ez:q}=this,$=u(O*O),X=u(K*K),st=u(pi*u(q*q)),J=u(A*$),et=O+K,At=u(u(et*et)-$-X),bt=J+X,Ot=bt-st,Kt=J-X,Ct=u(At*Ot),Vt=u(bt*Kt),Le=u(At*Kt),fr=u(Ot*bt);return new E(Ct,Vt,fr,Le)}add(A){R(A);let{a:O,d:K}=e,{ex:q,ey:$,ez:X,et:st}=this,{ex:J,ey:et,ez:At,et:bt}=A;if(O===BigInt(-1)){let ea=u(($-q)*(et+J)),ra=u(($+q)*(et-J)),qi=u(ra-ea);if(qi===he)return this.double();let na=u(X*pi*bt),ia=u(st*pi*At),oa=ia+na,sa=ra+ea,aa=ia-na,gu=u(oa*qi),mu=u(sa*aa),xu=u(oa*aa),bu=u(qi*sa);return new E(gu,mu,bu,xu)}let Ot=u(q*J),Kt=u($*et),Ct=u(st*K*bt),Vt=u(X*At),Le=u((q+$)*(J+et)-Ot-Kt),fr=Vt-Ct,en=Vt+Ct,ta=u(Kt-O*Ot),hu=u(Le*fr),du=u(en*ta),pu=u(Le*ta),yu=u(fr*en);return new E(hu,du,yu,pu)}subtract(A){return this.add(A.negate())}wNAF(A){return N.wNAFCached(this,v,A,E.normalizeZ)}multiply(A){let{p:O,f:K}=this.wNAF(x(A,n));return E.normalizeZ([O,K])[0]}multiplyUnsafe(A){let O=w(A);return O===he?L:this.equals(L)||O===jt?this:this.equals(S)?this.wNAF(O).p:N.unsafeLadder(this,O)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return N.unsafeLadder(this,n).is0()}toAffine(A){let{ex:O,ey:K,ez:q}=this,$=this.is0();A==null&&(A=$?Zp:r.inv(q));let X=u(O*A),st=u(K*A),J=u(q*A);if($)return{x:he,y:jt};if(J!==jt)throw new Error("invZ was invalid");return{x:X,y:st}}clearCofactor(){let{h:A}=e;return A===jt?this:this.multiplyUnsafe(A)}static fromHex(A,O=!1){let{d:K,a:q}=e,$=r.BYTES;A=wt("pointHex",A,$);let X=A.slice(),st=A[$-1];X[$-1]=st&-129;let J=rr(X);J===he||(O?x(J,f):x(J,r.ORDER));let et=u(J*J),At=u(et-jt),bt=u(K*et-q),{isValid:Ot,value:Kt}=l(At,bt);if(!Ot)throw new Error("Point.fromHex: invalid y coordinate");let Ct=(Kt&jt)===jt,Vt=(st&128)!==0;if(!O&&Kt===he&&Vt)throw new Error("Point.fromHex: x=0 and x_0=1");return Vt!==Ct&&(Kt=u(-Kt)),E.fromAffine({x:Kt,y:J})}static fromPrivateKey(A){return V(A).point}toRawBytes(){let{x:A,y:O}=this.toAffine(),K=xr(O,r.BYTES);return K[K.length-1]|=A&jt?128:0,K}toHex(){return Ke(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,jt,u(e.Gx*e.Gy)),E.ZERO=new E(he,jt,jt,he);let{BASE:S,ZERO:L}=E,N=di(E,a*8);function z(D){return ft(D,n)}function H(D){return z(rr(D))}function V(D){let A=a;D=wt("private key",D,A);let O=wt("hashed private key",o(D),2*A),K=h(O.slice(0,A)),q=O.slice(A,2*A),$=H(K),X=S.multiply($),st=X.toRawBytes();return{head:K,prefix:q,scalar:$,point:X,pointBytes:st}}function Q(D){return V(D).pointBytes}function at(D=new Uint8Array,...A){let O=Ve(...A);return H(o(y(O,wt("context",D),!!i)))}function Ut(D,A,O={}){D=wt("message",D),i&&(D=i(D));let{prefix:K,scalar:q,pointBytes:$}=V(A),X=at(O.context,K,D),st=S.multiply(X).toRawBytes(),J=at(O.context,st,$,D),et=z(X+J*q);w(et);let At=Ve(st,xr(et,r.BYTES));return wt("result",At,a*2)}let C=Qp;function P(D,A,O,K=C){let{context:q,zip215:$}=K,X=r.BYTES;D=wt("signature",D,2*X),A=wt("message",A),i&&(A=i(A));let st=rr(D.slice(X,2*X)),J,et,At;try{J=E.fromHex(O,$),et=E.fromHex(D.slice(0,X),$),At=S.multiplyUnsafe(st)}catch{return!1}if(!$&&J.isSmallOrder())return!1;let bt=at(q,et.toRawBytes(),J.toRawBytes(),A);return et.add(J.multiplyUnsafe(bt)).subtract(At).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:Q,sign:Ut,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:V,randomPrivateKey:()=>s(r.BYTES),precompute(D=8,A=E.BASE){return A._setWindowSize(D),A.multiply(BigInt(3)),A}}}}var Jo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),vc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Dx=BigInt(0),Jp=BigInt(1),Xo=BigInt(2),jp=BigInt(5),wc=BigInt(10),ty=BigInt(20),ey=BigInt(40),Ec=BigInt(80);function ry(t){let e=Jo,n=t*t%e*t%e,i=mt(n,Xo,e)*n%e,o=mt(i,Jp,e)*t%e,s=mt(o,jp,e)*o%e,a=mt(s,wc,e)*s%e,c=mt(a,ty,e)*a%e,f=mt(c,ey,e)*c%e,u=mt(f,Ec,e)*f%e,l=mt(u,Ec,e)*f%e,h=mt(l,wc,e)*s%e;return{pow_p_5_8:mt(h,Xo,e)*t%e,b2:n}}function ny(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function iy(t,e){let r=Jo,n=ft(e*e*e,r),i=ft(n*n*e,r),o=ry(t*i).pow_p_5_8,s=ft(t*n*o,r),a=ft(e*s*s,r),c=s,f=ft(s*vc,r),u=a===t,l=a===ft(-t,r),h=a===ft(-t*vc,r);return u&&(s=c),(l||h)&&(s=f),gc(s,r)&&(s=ft(-s,r)),{isValid:u||l,value:s}}var Fe=hi(Jo,void 0,!0),jo={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Fe,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:qo,randomBytes:qr,adjustScalarBytes:ny,uvRatio:iy},zr=yi(jo);function Sc(t,e,r){if(e.length>255)throw new Error("Context is too big");return oi(Mo("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var Px=yi({...jo,domain:Sc}),kx=yi({...jo,domain:Sc,prehash:qo});var oy=(Fe.ORDER+BigInt(3))/BigInt(8),Ux=Fe.pow(Xo,oy),Ox=Fe.sqrt(Fe.neg(Fe.ONE)),Kx=(Fe.ORDER-BigInt(5))/BigInt(8),Mx=BigInt(486662);var Vx=mc(Fe,Fe.neg(BigInt(486664)));var Fx=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),qx=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Hx=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),zx=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Gx=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Gr=32,qe=64,gi=32;function Bc(){let t=zr.utils.randomPrivateKey(),e=zr.getPublicKey(t);return{privateKey:Tc(t,e),publicKey:e}}function Ac(t){if(t.length!==gi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=zr.getPublicKey(e);return{privateKey:Tc(e,r),publicKey:r}}function Ic(t,e){let r=t.subarray(0,gi);return zr.sign(e instanceof Uint8Array?e:e.subarray(),r)}function Cc(t,e,r){return zr.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function Tc(t,e){let r=new Uint8Array(qe);for(let n=0;n<gi;n++)r[n]=t[n],r[gi+n]=e[n];return r}var Zt={get(t=globalThis){let e=t.crypto;if(e==null||e.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/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var ts={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function es(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=Zt.get();r*=8;async function c(l,h){let y=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:d};typeof h=="string"&&(h=lt(h));let g;if(h.length===0){g=await a.subtle.importKey("jwk",ts,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,v,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",ts,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,v,{name:e,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,g,l);return _t([y,p.iv,new Uint8Array(x)])}async function f(l,h){let y=l.subarray(0,o),d=l.subarray(o,o+n),p=l.subarray(o+n),g={name:e,iv:d};typeof h=="string"&&(h=lt(h));let x;if(h.length===0)try{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(v,R,{name:e,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",ts,{name:"AES-GCM"},!0,["decrypt"])}else{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(v,R,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(g,x,p);return new Uint8Array(w)}return{encrypt:c,decrypt:f}}async function Wr(t,e){let n=await es().encrypt(t,e);return Un.encode(n)}var rs=new Float32Array([-0]),ir=new Uint8Array(rs.buffer);function Rc(t,e,r){rs[0]=t,e[r]=ir[0],e[r+1]=ir[1],e[r+2]=ir[2],e[r+3]=ir[3]}function Lc(t,e){return ir[0]=t[e],ir[1]=t[e+1],ir[2]=t[e+2],ir[3]=t[e+3],rs[0]}var ns=new Float64Array([-0]),qt=new Uint8Array(ns.buffer);function Nc(t,e,r){ns[0]=t,e[r]=qt[0],e[r+1]=qt[1],e[r+2]=qt[2],e[r+3]=qt[3],e[r+4]=qt[4],e[r+5]=qt[5],e[r+6]=qt[6],e[r+7]=qt[7]}function Dc(t,e){return qt[0]=t[e],qt[1]=t[e+1],qt[2]=t[e+2],qt[3]=t[e+3],qt[4]=t[e+4],qt[5]=t[e+5],qt[6]=t[e+6],qt[7]=t[e+7],ns[0]}var ay=BigInt(Number.MAX_SAFE_INTEGER),cy=BigInt(Number.MIN_SAFE_INTEGER),Qt=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)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)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return vr;if(e<ay&&e>cy)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Pc&&(i=0n,++n>Pc&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return vr;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):vr}},vr=new Qt(0,0);vr.toBigInt=function(){return 0n};vr.zzEncode=vr.zzDecode=function(){return this};vr.length=function(){return 1};var Pc=4294967296n;function kc(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Uc(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function is(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function de(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function mi(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var os=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,de(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw de(this,4);return mi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw de(this,4);return mi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw de(this,4);let e=Lc(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw de(this,4);let e=Dc(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw de(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Uc(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw de(this,e);this.pos+=e}else do if(this.pos>=this.len)throw de(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new Qt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw de(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw de(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw de(this,8);let e=mi(this.buf,this.pos+=4),r=mi(this.buf,this.pos+=4);return new Qt(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function ss(t){return new os(t instanceof Uint8Array?t:t.subarray())}function pe(t,e){let r=ss(t);return e.decode(r)}function as(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return Ft(s);i+s>e&&(n=Ft(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var wr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function cs(){}var us=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},fy=as();function uy(t){return globalThis.Buffer!=null?Ft(t):fy(t)}var bn=class{len;head;tail;states;constructor(){this.len=0,this.head=new wr(cs,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new wr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new ls((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(mn,10,Qt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=Qt.fromBigInt(e);return this._push(mn,r.length(),r)}uint64Number(e){let r=Qt.fromNumber(e);return this._push(mn,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=Qt.fromBigInt(e).zzEncode();return this._push(mn,r.length(),r)}sint64Number(e){let r=Qt.fromNumber(e).zzEncode();return this._push(mn,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(fs,1,e?1:0)}fixed32(e){return this._push(xn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=Qt.fromBigInt(e);return this._push(xn,4,r.lo)._push(xn,4,r.hi)}fixed64Number(e){let r=Qt.fromNumber(e);return this._push(xn,4,r.lo)._push(xn,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Rc,4,e)}double(e){return this._push(Nc,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(fs,1,0):this.uint32(r)._push(hy,r,e)}string(e){let r=kc(e);return r!==0?this.uint32(r)._push(is,r,e):this._push(fs,1,0)}fork(){return this.states=new us(this),this.head=this.tail=new wr(cs,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new wr(cs,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=uy(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function fs(t,e,r){e[r]=t&255}function ly(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var ls=class extends wr{next;constructor(e,r){super(ly,e,r),this.next=void 0}};function mn(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function xn(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function hy(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(bn.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(dy,e,t),this},bn.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(py,e,t),this});function dy(t,e,r){e.set(t,r)}function py(t,e,r){t.length<40?is(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(lt(t),r)}function hs(){return new bn}function ye(t,e){let r=hs();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Yr;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Yr||(Yr={}));function xi(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ds(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return xi("enum",Yr.VARINT,r,n)}function ge(t,e){return xi("message",Yr.LENGTH_DELIMITED,t,e)}var xt;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(xt||(xt={}));var ps;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(ps||(ps={}));(function(t){t.codec=()=>ds(ps)})(xt||(xt={}));var Ce;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=xt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Ce||(Ce={}));var Te;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=xt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Te||(Te={}));var vn=class{_key;constructor(e){this._key=$r(e,Gr)}verify(e,r){return Cc(this._key,r,e)}marshal(){return this._key}get bytes(){return Ce.encode({Type:xt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}},Er=class{_key;_publicKey;constructor(e,r){this._key=$r(e,qe),this._publicKey=$r(r,Gr)}sign(e){return Ic(this._key,e)}get public(){return new vn(this._publicKey)}marshal(){return this._key}get bytes(){return Te.encode({Type:xt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}async hash(){let e=Mt.digest(this.bytes),r;return re(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Ye.digest(this.public.bytes);return Et.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Wr(this.bytes,e);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function yy(t){if(t.length>qe){t=$r(t,qe+Gr);let n=t.subarray(0,qe),i=t.subarray(qe,t.length);return new Er(n,i)}t=$r(t,qe);let e=t.subarray(0,qe),r=t.subarray(Gr);return new Er(e,r)}function gy(t){return t=$r(t,Gr),new vn(t)}async function my(){let{privateKey:t,publicKey:e}=Bc();return new Er(t,e)}async function Kc(t){let{privateKey:e,publicKey:r}=Ac(t);return new Er(e,r)}function $r(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new F(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var xy={"P-256":256,"P-384":384,"P-521":521},by=Object.keys(xy),H2=by.join(" / ");var vs={};Nt(vs,{MAX_KEY_SIZE:()=>Bn,RsaPrivateKey:()=>Zr,RsaPublicKey:()=>Sn,fromJwk:()=>Ry,generateKeyPair:()=>Ly,unmarshalRsaPrivateKey:()=>Ty,unmarshalRsaPublicKey:()=>_y});var En=Gt(ct(),1);var Cb=Gt(Hc(),1);function vi(t){if(isNaN(t)||t<=0)throw new F("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return qr(t)}var fb=Gt(ei(),1),xs=Gt(ct(),1);function zc(t,e){return e.map(r=>Jt(t[r]))}function Gc(t){return xs.default.pki.setRsaPrivateKey(...zc(t,["n","e","d","p","q","dp","dq","qi"]))}function Wc(t){return xs.default.pki.setRsaPublicKey(...zc(t,["n","e"]))}var Br={};Nt(Br,{jwkToPkcs1:()=>Sy,jwkToPkix:()=>Ay,pkcs1ToJwk:()=>Ey,pkixToJwk:()=>By});var hb=Gt(ln(),1),db=Gt(ei(),1);var He=Gt(ct(),1);function Ey(t){let e=He.default.asn1.fromDer(nt(t,"ascii")),r=He.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:ue(r.n),e:ue(r.e),d:ue(r.d),p:ue(r.p),q:ue(r.q),dp:ue(r.dP),dq:ue(r.dQ),qi:ue(r.qInv),alg:"RS256"}}function Sy(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new F("JWK was missing components","ERR_INVALID_PARAMETERS");let e=He.default.pki.privateKeyToAsn1({n:Jt(t.n),e:Jt(t.e),d:Jt(t.d),p:Jt(t.p),q:Jt(t.q),dP:Jt(t.dp),dQ:Jt(t.dq),qInv:Jt(t.qi)});return lt(He.default.asn1.toDer(e).getBytes(),"ascii")}function By(t){let e=He.default.asn1.fromDer(nt(t,"ascii")),r=He.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:ue(r.n),e:ue(r.e)}}function Ay(t){if(t.n==null||t.e==null)throw new F("JWK was missing components","ERR_INVALID_PARAMETERS");let e=He.default.pki.publicKeyToAsn1({n:Jt(t.n),e:Jt(t.e)});return lt(He.default.asn1.toDer(e).getBytes(),"ascii")}async function Yc(t){let e=await Zt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Qc(e);return{privateKey:r[0],publicKey:r[1]}}async function bs(t){let r=[await Zt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Iy(t)],n=await Qc({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function $c(t,e){let r=await Zt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Zt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function Zc(t,e,r){let n=await Zt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Zt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function Qc(t){if(t.privateKey==null||t.publicKey==null)throw new F("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Zt.get().subtle.exportKey("jwk",t.privateKey),Zt.get().subtle.exportKey("jwk",t.publicKey)])}async function Iy(t){return Zt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Xc(t,e,r,n){let i=e?Wc(t):Gc(t),o=nt(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return lt(s,"ascii")}function Jc(t,e){return Xc(t,!0,e,(r,n)=>n.encrypt(r))}function jc(t,e){return Xc(t,!1,e,(r,n)=>n.decrypt(r))}function wi(t){if(t.kty!=="RSA")throw new F("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new F("invalid key modulus","ERR_INVALID_KEY_MODULUS");return lt(t.n,"base64url").length*8}var Bn=8192,Sn=class{_key;constructor(e){this._key=e}verify(e,r){return Zc(this._key,r,e)}marshal(){return Br.jwkToPkix(this._key)}get bytes(){return Ce.encode({Type:xt.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Jc(this._key,e)}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}},Zr=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return vi(16)}sign(e){return $c(this._key,e)}get public(){if(this._publicKey==null)throw new F("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Sn(this._publicKey)}decrypt(e){return jc(this._key,e)}marshal(){return Br.jwkToPkcs1(this._key)}get bytes(){return Te.encode({Type:xt.RSA,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return nt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new En.default.util.ByteBuffer(this.marshal()),i=En.default.asn1.fromDer(n),o=En.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return En.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return Wr(this.bytes,e);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ty(t){let e=Br.pkcs1ToJwk(t);if(wi(e)>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await bs(e);return new Zr(r.privateKey,r.publicKey)}function _y(t){let e=Br.pkixToJwk(t);if(wi(e)>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Sn(e)}async function Ry(t){if(wi(t)>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await bs(t);return new Zr(e.privateKey,e.publicKey)}async function Ly(t){if(t>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yc(t);return new Zr(e.privateKey,e.publicKey)}var Is={};Nt(Is,{Secp256k1PrivateKey:()=>In,Secp256k1PublicKey:()=>An,generateKeyPair:()=>Wy,unmarshalSecp256k1PrivateKey:()=>zy,unmarshalSecp256k1PublicKey:()=>Gy});var Ny=(t,e,r)=>t&e^~t&r,Dy=(t,e,r)=>t&e^t&r^e&r,Py=new Uint32Array([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]),or=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sr=new Uint32Array(64),ws=class extends Hr{constructor(){super(64,32,8,!1),this.A=or[0]|0,this.B=or[1]|0,this.C=or[2]|0,this.D=or[3]|0,this.E=or[4]|0,this.F=or[5]|0,this.G=or[6]|0,this.H=or[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)sr[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let h=sr[l-15],y=sr[l-2],d=le(h,7)^le(h,18)^h>>>3,p=le(y,17)^le(y,19)^y>>>10;sr[l]=p+sr[l-7]+d+sr[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let h=le(a,6)^le(a,11)^le(a,25),y=u+h+Ny(a,c,f)+Py[l]+sr[l]|0,p=(le(n,2)^le(n,13)^le(n,22))+Dy(n,i,o)|0;u=f,f=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,i,o,s,a,c,f,u)}roundClean(){sr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var tf=si(()=>new ws);function ky(t){let e=gn(t);Ie(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Uy,hexToBytes:Oy}=ui,Ar={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Ar;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Uy(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Ar,r=typeof t=="string"?Oy(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=Ar._parseInt(r.subarray(2)),{d:s,l:a}=Ar._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,r=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},ze=BigInt(0),ne=BigInt(1),Ob=BigInt(2),ef=BigInt(3),Kb=BigInt(4);function Ky(t){let e=ky(t),{Fp:r}=e,n=e.toBytes||((d,p,g)=>{let x=p.toAffine();return Ve(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=e.fromBytes||(d=>{let p=d.subarray(1),g=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:g,y:x}});function o(d){let{a:p,b:g}=e,x=r.sqr(d),w=r.mul(x,d);return r.add(r.add(w,r.mul(d,p)),g)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&ze<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:g,wrapPrivateKey:x,n:w}=e;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=Ke(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(g*2,"0")}let v;try{v=typeof d=="bigint"?d:Me(wt("private key",d,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof d}`)}return x&&(v=ft(v,w)),a(v),v}let f=new Map;function u(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,g,x){if(this.px=p,this.py=g,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:g,y:x}=p||{};if(!p||!r.isValid(g)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let w=v=>r.eql(v,r.ZERO);return w(g)&&w(x)?l.ZERO:new l(g,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let g=r.invertBatch(p.map(x=>x.pz));return p.map((x,w)=>x.toAffine(g[w])).map(l.fromAffine)}static fromHex(p){let g=l.fromAffine(i(wt("pointHex",p)));return g.assertValidity(),g}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,f.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:g}=this.toAffine();if(!r.isValid(p)||!r.isValid(g))throw new Error("bad point: x or y not FE");let x=r.sqr(g),w=o(p);if(!r.eql(x,w))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){u(p);let{px:g,py:x,pz:w}=this,{px:v,py:R,pz:E}=p,S=r.eql(r.mul(g,E),r.mul(v,w)),L=r.eql(r.mul(x,E),r.mul(R,w));return S&&L}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:g}=e,x=r.mul(g,ef),{px:w,py:v,pz:R}=this,E=r.ZERO,S=r.ZERO,L=r.ZERO,N=r.mul(w,w),z=r.mul(v,v),H=r.mul(R,R),V=r.mul(w,v);return V=r.add(V,V),L=r.mul(w,R),L=r.add(L,L),E=r.mul(p,L),S=r.mul(x,H),S=r.add(E,S),E=r.sub(z,S),S=r.add(z,S),S=r.mul(E,S),E=r.mul(V,E),L=r.mul(x,L),H=r.mul(p,H),V=r.sub(N,H),V=r.mul(p,V),V=r.add(V,L),L=r.add(N,N),N=r.add(L,N),N=r.add(N,H),N=r.mul(N,V),S=r.add(S,N),H=r.mul(v,R),H=r.add(H,H),N=r.mul(H,V),E=r.sub(E,N),L=r.mul(H,z),L=r.add(L,L),L=r.add(L,L),new l(E,S,L)}add(p){u(p);let{px:g,py:x,pz:w}=this,{px:v,py:R,pz:E}=p,S=r.ZERO,L=r.ZERO,N=r.ZERO,z=e.a,H=r.mul(e.b,ef),V=r.mul(g,v),Q=r.mul(x,R),at=r.mul(w,E),Ut=r.add(g,x),C=r.add(v,R);Ut=r.mul(Ut,C),C=r.add(V,Q),Ut=r.sub(Ut,C),C=r.add(g,w);let P=r.add(v,E);return C=r.mul(C,P),P=r.add(V,at),C=r.sub(C,P),P=r.add(x,w),S=r.add(R,E),P=r.mul(P,S),S=r.add(Q,at),P=r.sub(P,S),N=r.mul(z,C),S=r.mul(H,at),N=r.add(S,N),S=r.sub(Q,N),N=r.add(Q,N),L=r.mul(S,N),Q=r.add(V,V),Q=r.add(Q,V),at=r.mul(z,at),C=r.mul(H,C),Q=r.add(Q,at),at=r.sub(V,at),at=r.mul(z,at),C=r.add(C,at),V=r.mul(Q,C),L=r.add(L,V),V=r.mul(P,C),S=r.mul(Ut,S),S=r.sub(S,V),V=r.mul(Ut,Q),N=r.mul(P,N),N=r.add(N,V),new l(S,L,N)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,f,p,g=>{let x=r.invertBatch(g.map(w=>w.pz));return g.map((w,v)=>w.toAffine(x[v])).map(l.fromAffine)})}multiplyUnsafe(p){let g=l.ZERO;if(p===ze)return g;if(a(p),p===ne)return this;let{endo:x}=e;if(!x)return y.unsafeLadder(this,p);let{k1neg:w,k1:v,k2neg:R,k2:E}=x.splitScalar(p),S=g,L=g,N=this;for(;v>ze||E>ze;)v&ne&&(S=S.add(N)),E&ne&&(L=L.add(N)),N=N.double(),v>>=ne,E>>=ne;return w&&(S=S.negate()),R&&(L=L.negate()),L=new l(r.mul(L.px,x.beta),L.py,L.pz),S.add(L)}multiply(p){a(p);let g=p,x,w,{endo:v}=e;if(v){let{k1neg:R,k1:E,k2neg:S,k2:L}=v.splitScalar(g),{p:N,f:z}=this.wNAF(E),{p:H,f:V}=this.wNAF(L);N=y.constTimeNegate(R,N),H=y.constTimeNegate(S,H),H=new l(r.mul(H.px,v.beta),H.py,H.pz),x=N.add(H),w=z.add(V)}else{let{p:R,f:E}=this.wNAF(g);x=R,w=E}return l.normalizeZ([x,w])[0]}multiplyAndAddUnsafe(p,g,x){let w=l.BASE,v=(E,S)=>S===ze||S===ne||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),R=v(this,g).add(v(p,x));return R.is0()?void 0:R}toAffine(p){let{px:g,py:x,pz:w}=this,v=this.is0();p==null&&(p=v?r.ONE:r.inv(w));let R=r.mul(g,p),E=r.mul(x,p),S=r.mul(w,p);if(v)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:R,y:E}}isTorsionFree(){let{h:p,isTorsionFree:g}=e;if(p===ne)return!0;if(g)return g(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:g}=e;return p===ne?this:g?g(l,this):this.multiplyUnsafe(e.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ke(this.toRawBytes(p))}}l.BASE=new l(e.Gx,e.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,y=di(l,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function My(t){let e=gn(t);return Ie(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function rf(t){let e=My(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(C){return ze<C&&C<r.ORDER}function a(C){return ft(C,n)}function c(C){return li(C,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:h}=Ky({...e,toBytes(C,P,_){let D=P.toAffine(),A=r.toBytes(D.x),O=Ve;return _?O(Uint8Array.from([P.hasEvenY()?2:3]),A):O(Uint8Array.from([4]),A,r.toBytes(D.y))},fromBytes(C){let P=C.length,_=C[0],D=C.subarray(1);if(P===i&&(_===2||_===3)){let A=Me(D);if(!s(A))throw new Error("Point is not on curve");let O=l(A),K=r.sqrt(O),q=(K&ne)===ne;return(_&1)===1!==q&&(K=r.neg(K)),{x:A,y:K}}else if(P===o&&_===4){let A=r.fromBytes(D.subarray(0,r.BYTES)),O=r.fromBytes(D.subarray(r.BYTES,2*r.BYTES));return{x:A,y:O}}else throw new Error(`Point of length ${P} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=C=>Ke(nr(C,e.nByteLength));function d(C){let P=n>>ne;return C>P}function p(C){return d(C)?a(-C):C}let g=(C,P,_)=>Me(C.slice(P,_));class x{constructor(P,_,D){this.r=P,this.s=_,this.recovery=D,this.assertValidity()}static fromCompact(P){let _=e.nByteLength;return P=wt("compactSignature",P,_*2),new x(g(P,0,_),g(P,_,2*_))}static fromDER(P){let{r:_,s:D}=Ar.toSig(wt("DER",P));return new x(_,D)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new x(this.r,this.s,P)}recoverPublicKey(P){let{r:_,s:D,recovery:A}=this,O=L(wt("msgHash",P));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let K=A===2||A===3?_+e.n:_;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let q=A&1?"03":"02",$=f.fromHex(q+y(K)),X=c(K),st=a(-O*X),J=a(D*X),et=f.BASE.multiplyAndAddUnsafe($,st,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return mr(this.toDERHex())}toDERHex(){return Ar.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return mr(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let w={isValidPrivateKey(C){try{return u(C),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let C=Zo(e.n);return bc(e.randomBytes(C),e.n)},precompute(C=8,P=f.BASE){return P._setWindowSize(C),P.multiply(BigInt(3)),P}};function v(C,P=!0){return f.fromPrivateKey(C).toRawBytes(P)}function R(C){let P=C instanceof Uint8Array,_=typeof C=="string",D=(P||_)&&C.length;return P?D===i||D===o:_?D===2*i||D===2*o:C instanceof f}function E(C,P,_=!0){if(R(C))throw new Error("first arg must be private key");if(!R(P))throw new Error("second arg must be public key");return f.fromHex(P).multiply(u(C)).toRawBytes(_)}let S=e.bits2int||function(C){let P=Me(C),_=C.length*8-e.nBitLength;return _>0?P>>BigInt(_):P},L=e.bits2int_modN||function(C){return a(S(C))},N=yn(e.nBitLength);function z(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(ze<=C&&C<N))throw new Error(`bigint expected < 2^${e.nBitLength}`);return nr(C,e.nByteLength)}function H(C,P,_=V){if(["recovered","canonical"].some(bt=>bt in _))throw new Error("sign() legacy options not supported");let{hash:D,randomBytes:A}=e,{lowS:O,prehash:K,extraEntropy:q}=_;O==null&&(O=!0),C=wt("msgHash",C),K&&(C=wt("prehashed msgHash",D(C)));let $=L(C),X=u(P),st=[z(X),z($)];if(q!=null){let bt=q===!0?A(r.BYTES):q;st.push(wt("extraEntropy",bt))}let J=Ve(...st),et=$;function At(bt){let Ot=S(bt);if(!h(Ot))return;let Kt=c(Ot),Ct=f.BASE.multiply(Ot).toAffine(),Vt=a(Ct.x);if(Vt===ze)return;let Le=a(Kt*a(et+Vt*X));if(Le===ze)return;let fr=(Ct.x===Vt?0:2)|Number(Ct.y&ne),en=Le;return O&&d(Le)&&(en=p(Le),fr^=1),new x(Vt,en,fr)}return{seed:J,k2sig:At}}let V={lowS:e.lowS,prehash:!1},Q={lowS:e.lowS,prehash:!1};function at(C,P,_=V){let{seed:D,k2sig:A}=H(C,P,_),O=e;return Go(O.hash.outputLen,O.nByteLength,O.hmac)(D,A)}f.BASE._setWindowSize(8);function Ut(C,P,_,D=Q){let A=C;if(P=wt("msgHash",P),_=wt("publicKey",_),"strict"in D)throw new Error("options.strict was renamed to lowS");let{lowS:O,prehash:K}=D,q,$;try{if(typeof A=="string"||A instanceof Uint8Array)try{q=x.fromDER(A)}catch(Ct){if(!(Ct instanceof Ar.Err))throw Ct;q=x.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:Ct,s:Vt}=A;q=new x(Ct,Vt)}else throw new Error("PARSE");$=f.fromHex(_)}catch(Ct){if(Ct.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(O&&q.hasHighS())return!1;K&&(P=e.hash(P));let{r:X,s:st}=q,J=L(P),et=c(st),At=a(J*et),bt=a(X*et),Ot=f.BASE.multiplyAndAddUnsafe($,At,bt)?.toAffine();return Ot?a(Ot.x)===X:!1}return{CURVE:e,getPublicKey:v,getSharedSecret:E,sign:at,verify:Ut,ProjectivePoint:f,Signature:x,utils:w}}var Ei=class extends Fr{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,ac(e);let n=pn(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Vr(this),this.iHash.update(e),this}digestInto(e){Vr(this),Ko(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Es=(t,e,r)=>new Ei(t,e).update(r).digest();Es.create=(t,e)=>new Ei(t,e);function Vy(t){return{hash:t,hmac:(e,...r)=>Es(t,e,oi(...r)),randomBytes:qr}}function nf(t,e){let r=n=>rf({...t,...Vy(n)});return Object.freeze({...r(e),create:r})}var af=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),of=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Fy=BigInt(1),Ss=BigInt(2),sf=(t,e)=>(t+e/Ss)/e;function qy(t){let e=af,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=t*t*t%e,u=f*f*t%e,l=mt(u,r,e)*u%e,h=mt(l,r,e)*u%e,y=mt(h,Ss,e)*f%e,d=mt(y,i,e)*y%e,p=mt(d,o,e)*d%e,g=mt(p,a,e)*p%e,x=mt(g,c,e)*g%e,w=mt(x,a,e)*p%e,v=mt(w,r,e)*u%e,R=mt(v,s,e)*d%e,E=mt(R,n,e)*f%e,S=mt(E,Ss,e);if(!Bs.eql(Bs.sqr(S),t))throw new Error("Cannot find square root");return S}var Bs=hi(af,void 0,void 0,{sqrt:qy}),me=nf({a:BigInt(0),b:BigInt(7),Fp:Bs,n:of,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=of,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Fy*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=sf(o*t,e),c=sf(-n*t,e),f=ft(t-a*r-c*i,e),u=ft(-a*n-c*o,e),l=f>s,h=u>s;if(l&&(f=e-f),h&&(u=e-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:f,k2neg:h,k2:u}}}},tf),Qb=BigInt(0);var Xb=me.ProjectivePoint;function cf(){return me.utils.randomPrivateKey()}function ff(t,e){let r=Mt.digest(e instanceof Uint8Array?e:e.subarray());if(re(r))return r.then(({digest:n})=>me.sign(n,t).toDERRawBytes()).catch(n=>{throw new F(String(n),"ERR_INVALID_INPUT")});try{return me.sign(r.digest,t).toDERRawBytes()}catch(n){throw new F(String(n),"ERR_INVALID_INPUT")}}function uf(t,e,r){let n=Mt.digest(r instanceof Uint8Array?r:r.subarray());if(re(n))return n.then(({digest:i})=>me.verify(e,i,t)).catch(i=>{throw new F(String(i),"ERR_INVALID_INPUT")});try{return me.verify(e,n.digest,t)}catch(i){throw new F(String(i),"ERR_INVALID_INPUT")}}function lf(t){return me.ProjectivePoint.fromHex(t).toRawBytes(!0)}function hf(t){try{me.getPublicKey(t,!0)}catch(e){throw new F(String(e),"ERR_INVALID_PRIVATE_KEY")}}function As(t){try{me.ProjectivePoint.fromHex(t)}catch(e){throw new F(String(e),"ERR_INVALID_PUBLIC_KEY")}}function df(t){try{return me.getPublicKey(t,!0)}catch(e){throw new F(String(e),"ERR_INVALID_PRIVATE_KEY")}}var An=class{_key;constructor(e){As(e),this._key=e}verify(e,r){return uf(this._key,r,e)}marshal(){return lf(this._key)}get bytes(){return Ce.encode({Type:xt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}async hash(){let e=Mt.digest(this.bytes),r;return re(e)?{bytes:r}=await e:r=e.bytes,r}},In=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??df(e),hf(this._key),As(this._publicKey)}sign(e){return ff(this._key,e)}get public(){return new An(this._publicKey)}marshal(){return this._key}get bytes(){return Te.encode({Type:xt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return nt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Wr(this.bytes,e);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function zy(t){return new In(t)}function Gy(t){return new An(t)}async function Wy(){let t=cf();return new In(t)}var Ir={rsa:vs,ed25519:ys,secp256k1:Is};function pf(t){let e=Object.keys(Ir).join(" / ");return new F(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function yf(t){let e=Ce.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xt.RSA:return Ir.rsa.unmarshalRsaPublicKey(r);case xt.Ed25519:return Ir.ed25519.unmarshalEd25519PublicKey(r);case xt.Secp256k1:return Ir.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw pf(e.Type??"unknown")}}async function gf(t){let e=Te.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xt.RSA:return Ir.rsa.unmarshalRsaPrivateKey(r);case xt.Ed25519:return Ir.ed25519.unmarshalEd25519PrivateKey(r);case xt.Secp256k1:return Ir.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw pf(e.Type??"RSA")}}var $y=Math.pow(2,7),Zy=Math.pow(2,14),Qy=Math.pow(2,21),Cs=Math.pow(2,28),Ts=Math.pow(2,35),_s=Math.pow(2,42),Rs=Math.pow(2,49),it=128,Ht=127;function zt(t){if(t<$y)return 1;if(t<Zy)return 2;if(t<Qy)return 3;if(t<Cs)return 4;if(t<Ts)return 5;if(t<_s)return 6;if(t<Rs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Xy(t,e,r=0){switch(zt(t)){case 8:e[r++]=t&255|it,t/=128;case 7:e[r++]=t&255|it,t/=128;case 6:e[r++]=t&255|it,t/=128;case 5:e[r++]=t&255|it,t/=128;case 4:e[r++]=t&255|it,t>>>=7;case 3:e[r++]=t&255|it,t>>>=7;case 2:e[r++]=t&255|it,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Jy(t,e,r=0){switch(zt(t)){case 8:e.set(r++,t&255|it),t/=128;case 7:e.set(r++,t&255|it),t/=128;case 6:e.set(r++,t&255|it),t/=128;case 5:e.set(r++,t&255|it),t/=128;case 4:e.set(r++,t&255|it),t>>>=7;case 3:e.set(r++,t&255|it),t>>>=7;case 2:e.set(r++,t&255|it),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function jy(t,e){let r=t[e],n=0;if(n+=r&Ht,r<it||(r=t[e+1],n+=(r&Ht)<<7,r<it)||(r=t[e+2],n+=(r&Ht)<<14,r<it)||(r=t[e+3],n+=(r&Ht)<<21,r<it)||(r=t[e+4],n+=(r&Ht)*Cs,r<it)||(r=t[e+5],n+=(r&Ht)*Ts,r<it)||(r=t[e+6],n+=(r&Ht)*_s,r<it)||(r=t[e+7],n+=(r&Ht)*Rs,r<it))return n;throw new RangeError("Could not decode varint")}function t1(t,e){let r=t.get(e),n=0;if(n+=r&Ht,r<it||(r=t.get(e+1),n+=(r&Ht)<<7,r<it)||(r=t.get(e+2),n+=(r&Ht)<<14,r<it)||(r=t.get(e+3),n+=(r&Ht)<<21,r<it)||(r=t.get(e+4),n+=(r&Ht)*Cs,r<it)||(r=t.get(e+5),n+=(r&Ht)*Ts,r<it)||(r=t.get(e+6),n+=(r&Ht)*_s,r<it)||(r=t.get(e+7),n+=(r&Ht)*Rs,r<it))return n;throw new RangeError("Could not decode varint")}function ie(t,e,r=0){return e==null&&(e=Ft(zt(t))),e instanceof Uint8Array?Xy(t,e,r):Jy(t,e,r)}function xe(t,e=0){return t instanceof Uint8Array?jy(t,e):t1(t,e)}var xf=Symbol.for("@achingbrain/uint8arraylist");function mf(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Si(t){return!!t?.[xf]}var Xt=class t{bufs;length;[xf]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Si(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(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Si(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(e){let r=mf(this.bufs,e);return r.buf[r.index]}set(e,r){let n=mf(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Si(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return _t(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:_t(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=[...n],o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let f=e>=a&&e<c,u=r>a&&r<=c;if(f&&u){if(e===a&&r===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(r-e)));break}if(f){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Si(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.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 o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=r;l<=c;l+=u){u=0;for(let h=f;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){u=Math.max(1,h-a[y]);break}}if(u===0)return l}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Oe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Oe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Oe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Oe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Oe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Oe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Oe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Oe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Tt(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var bf={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Cn;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Cn||(Cn={}));var ar=class t{static createFromProtobuf=async e=>{let r=Cn.decode(e),n=await an(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=vf(n,i,o),c=await(await gf(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new F("envelope signature is not valid for the given domain",bf.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Cn.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Tt(this.marshal(),e.marshal())}async validate(e){let r=vf(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return yf(this.peerId.publicKey).verify(r.subarray(),this.signature)}},vf=(t,e,r)=>{let n=lt(t),i=ie(n.byteLength),o=ie(e.length),s=ie(r.length);return new Xt(i,n,o,e,s,r)};function wf(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var Bi=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,e);if(!Number.isNaN(h))return h});if(u===void 0)break;if(o*=e,o+=u,o>f||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Ef=45,e1=15,Xr=new Bi;function Ls(t){if(!(t.length>e1))return Xr.new(t).parseWith(()=>Xr.readIPv4Addr())}function Ns(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Ef))return Xr.new(t).parseWith(()=>Xr.readIPv6Addr())}function Ai(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Ef))return Xr.new(t).parseWith(()=>Xr.readIPAddr())}var Yv=parseInt("0xFFFF",16),$v=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ii(t){return!!Ls(t)}function Ci(t){return!!Ns(t)}function Ti(t){return!!Ai(t)}var Af=Ii,s1=Ci,Ds=function(t){let e=0;if(t=t.toString().trim(),Af(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(s1(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Af(r[n]),s;o&&(s=Ds(r[n]),r[n]=nt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,nt(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},If=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Jr={},Ps={},c1=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];c1.forEach(t=>{let e=f1(...t);Ps[e.code]=e,Jr[e.name]=e});function f1(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ot(t){if(typeof t=="number"){if(Ps[t]!=null)return Ps[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Jr[t]!=null)return Jr[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Lw=ot("ip4"),Nw=ot("ip6"),Dw=ot("ipcidr");function Us(t,e){switch(ot(t).code){case 4:case 41:return l1(e);case 42:return _f(e);case 6:case 273:case 33:case 132:return Lf(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return _f(e);case 421:return y1(e);case 444:return Rf(e);case 445:return Rf(e);case 466:return p1(e);default:return nt(e,"base16")}}function Os(t,e){switch(ot(t).code){case 4:return Cf(e);case 41:return Cf(e);case 42:return Tf(e);case 6:case 273:case 33:case 132:return Ks(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Tf(e);case 421:return h1(e);case 444:return g1(e);case 445:return m1(e);case 466:return d1(e);default:return lt(e,"base16")}}var ks=Object.values($e).map(t=>t.decoder),u1=function(){let t=ks[0].or(ks[1]);return ks.slice(2).forEach(e=>t=t.or(e)),t}();function Cf(t){if(!Ti(t))throw new Error("invalid ip address");return Ds(t)}function l1(t){let e=If(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ti(e))throw new Error("invalid ip address");return e}function Ks(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Lf(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Tf(t){let e=lt(t),r=Uint8Array.from(ie(e.length));return _t([r,e],r.length+e.length)}function _f(t){let e=xe(t);if(t=t.slice(zt(e)),t.length!==e)throw new Error("inconsistent lengths");return nt(t)}function h1(t){let e;t[0]==="Q"||t[0]==="1"?e=ur(Et.decode(`z${t}`)).bytes:e=ae.parse(t).multihash.bytes;let r=Uint8Array.from(ie(e.length));return _t([r,e],r.length+e.length)}function d1(t){let e=u1.decode(t),r=Uint8Array.from(ie(e.length));return _t([r,e],r.length+e.length)}function p1(t){let e=xe(t),r=t.slice(zt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+nt(r,"base64url")}function y1(t){let e=xe(t),r=t.slice(zt(e));if(r.length!==e)throw new Error("inconsistent lengths");return nt(r,"base58btc")}function g1(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=De.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ks(n);return _t([r,i],r.length+i.length)}function m1(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=De.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ks(n);return _t([r,i],r.length+i.length)}function Rf(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=nt(e,"base32"),i=Lf(r);return`${n}:${i}`}function Nf(t){t=Ms(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=ot(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Pf("invalid address: "+t);if(a.path===!0){n=Ms(i.slice(o).join("/")),e.push([a.code,Os(a.code,n)]),r.push([a.code,n]);break}let c=Os(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Us(a.code,c)])}return{string:Df(r),bytes:Fs(e),tuples:e,stringTuples:r,path:n}}function Vs(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=xe(t,i),s=zt(o),a=ot(o),c=x1(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let f=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw Pf("Invalid address Uint8Array: "+nt(t,"base16"));e.push([o,f]);let u=Us(o,f);if(r.push([o,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(t),string:Df(r),tuples:e,stringTuples:r,path:n}}function Df(t){let e=[];return t.map(r=>{let n=ot(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Ms(e.join("/"))}function Fs(t){return _t(t.map(e=>{let r=ot(e[0]),n=Uint8Array.from(ie(r.code));return e.length>1&&e[1]!=null&&(n=_t([n,e[1]])),n}))}function x1(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=xe(e instanceof Uint8Array?e:Uint8Array.from(e));return r+zt(r)}}function Ms(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Pf(t){return new Error("Error parsing address: "+t)}var b1=Symbol.for("nodejs.util.inspect.custom"),qs=Symbol.for("@multiformats/js-multiaddr/multiaddr"),v1=[ot("dns").code,ot("dns4").code,ot("dns6").code,ot("dnsaddr").code],_i=class t{bytes;#t;#e;#r;#n;[qs]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Vs(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Nf(e)}else if(Uf(e))r=Vs(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=ot("tcp"),a=ot("udp"),c=ot("ip4"),f=ot("ip6"),u=ot("dns6"),l=ot("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(o=`%${d??""}`),v1.includes(y)&&(r=s.name,i=443,n=`${d??""}${o}`,e=y===u.code?6:4),(y===s.code||y===a.code)&&(r=ot(y).name,i=parseInt(d??"")),(y===c.code||y===f.code)&&(r=ot(y).name,n=`${d??""}${o}`,e=y===f.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#e.map(([e])=>Object.assign({},ot(e)))}protoCodes(){return this.#e.map(([e])=>e)}protoNames(){return this.#e.map(([e])=>ot(e).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Fs(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Jr.p2p.code&&e.push([n,i]),n===Jr["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?nt(Et.decode(`z${n}`),"base58btc"):nt(ae.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Tt(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=kf.get(r.name);if(n==null)throw new F(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[b1](){return`Multiaddr(${this.#t})`}};var kf=new Map;function Uf(t){return!!t?.[qs]}function cr(t){return new _i(t)}var Of="libp2p-peer-record",Kf=Uint8Array.from([3,1]);var Tn;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ge((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let f=o.uint32();switch(f>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(f&7);break}}return a})),i),n.encode=o=>ye(o,n.codec()),n.decode=o=>pe(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ge((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>ye(n,t.codec()),t.decode=n=>pe(n,t.codec())})(Tn||(Tn={}));var Ge=class t{static createFromProtobuf=e=>{let r=Tn.decode(e),n=po(r.peerId),i=(r.addresses??[]).map(s=>cr(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=Of;static CODEC=Kf;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Tn.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!wf(this.multiaddrs,e.multiaddrs))}};var w1=t=>t.toString().split("/").slice(1),_n=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),St=t=>({match:e=>_n(r=>r===t).match(e),pattern:t}),Ni=()=>({match:t=>_n(e=>typeof e=="string").match(t),pattern:"{string}"}),Mf=()=>({match:t=>_n(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),oe=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Et.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Ri=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{eo.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),_e=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),Re=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Bt=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Lt(...t){function e(i){let o=w1(i);for(let s of t){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return e(i)!==!1}function n(i){let o=e(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var zs=Bt(St("dns4"),Ni()),Gs=Bt(St("dns6"),Ni()),Ws=Bt(St("dnsaddr"),Ni()),Vf=Bt(St("dns"),Ni()),v4=Lt(zs),w4=Lt(Gs),E4=Lt(Ws),S4=Lt(Re(Vf,Ws,zs,Gs)),Ff=Bt(St("ip4"),_n(Ii)),qf=Bt(St("ip6"),_n(Ci)),Hf=Re(Ff,qf),Rn=Re(Hf,Vf,zs,Gs,Ws),zf=Lt(Rn),B4=Lt(Ff),A4=Lt(qf),I4=Lt(Hf),Di=Bt(Rn,St("tcp"),Mf()),Ln=Bt(Rn,St("udp"),Mf()),E1=Re(Di,Ln),C4=Lt(Di),T4=Lt(Ln),Ys=Bt(Ln,St("quic")),Pi=Bt(Ln,St("quic-v1")),S1=Re(Ys,Pi),_4=Lt(Ys),R4=Lt(Pi),Hs=Re(Rn,Di,Ln,Ys,Pi),Gf=Re(Bt(Hs,St("ws"),_e(oe()))),L4=Lt(Gf),Wf=Re(Bt(Hs,St("wss"),_e(oe())),Bt(Hs,St("tls"),St("ws"),_e(oe()))),N4=Lt(Wf),Yf=Bt(E1,St("webrtc-direct"),Ri(),_e(Ri()),_e(oe())),D4=Lt(Yf),$f=Bt(Pi,St("webtransport"),Ri(),Ri(),_e(oe())),P4=Lt($f),Li=Re(Gf,Wf,Bt(Di,_e(oe())),Bt(S1,_e(oe())),Bt(Rn,_e(oe())),Yf,$f,oe()),k4=Lt(Li),B1=Bt(Li,St("p2p-circuit"),oe()),U4=Lt(B1),A1=Re(Bt(Li,St("p2p-circuit"),St("webrtc"),oe()),Bt(Li,St("webrtc"),_e(oe())),St("webrtc")),O4=Lt(A1);function jr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var ki=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Zf(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new ki(r?.errorMessage,r?.errorCode));let n,i=new ki(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var $s=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=jr(),this.needNext.resolve(),this.haveNext=jr()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=jr(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=jr(),await Zf(this.needNext.promise,r?.signal,r)}};function Qf(){return new $s}var Ui=class extends Error{code;constructor(e,r){super(e),this.code=r}},Zs=class extends Ui{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function Xf(t,e){let r=Qf();t.sink(r).catch(async s=>{await r.end(s)}),t.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new Xt;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,f=new Promise((u,l)=>{c=()=>{l(new Zs("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:h}=await Promise.race([n.next(),f]);return l===!0?new Xt:h}for(;i.byteLength<s;){let{value:l,done:h}=await Promise.race([n.next(),f]);if(h===!0)throw new Ui("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let u=i.sublist(0,s);return i.consume(s),u}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*s}()}return t}}}function Oi(t){return t[Symbol.asyncIterator]!=null}var Ki=t=>{let e=zt(t),r=Ft(e);return ie(t,r),Ki.bytes=e,r};Ki.bytes=0;function Nn(t,e){e=e??{};let r=e.lengthEncoder??Ki;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Oi(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Nn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Ki;return new Xt(r(t.byteLength),t)};var tn=Gt(tu(),1);var C1=8,T1=1024*1024*4,Cr;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Cr||(Cr={}));var Xs=t=>{let e=xe(t);return Xs.bytes=zt(e),e};Xs.bytes=0;function Qs(t,e){let r=new Xt,n=Cr.LENGTH,i=-1,o=e?.lengthDecoder??Xs,s=e?.maxLengthLength??C1,a=e?.maxDataLength??T1;function*c(){for(;r.byteLength>0;){if(n===Cr.LENGTH)try{if(i=o(r),i<0)throw(0,tn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,tn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=o.bytes;r.consume(f),e?.onLength!=null&&e.onLength(i),n=Cr.DATA}catch(f){if(f instanceof RangeError){if(r.byteLength>s)throw(0,tn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(n===Cr.DATA){if(r.byteLength<i)break;let f=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(f),yield f,n=Cr.LENGTH}}}return Oi(t)?async function*(){for await(let f of t)r.append(f),yield*c();if(r.byteLength>0)throw(0,tn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of t)r.append(f),yield*c();if(r.byteLength>0)throw(0,tn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Qs.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Qs(n,{...e??{},onLength:o=>{r=o}})};var Mi=class extends Error{code;constructor(e,r){super(e),this.code=r}},eu=t=>xe(t);eu.bytes=0;function ru(t,e={}){let r=Xf(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=zt(e.maxDataLength)),{read:async i=>{let o=-1,s=new Xt,a=e?.lengthDecoder??eu;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&s.byteLength>e.maxLengthLength)throw new Mi("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(e?.maxDataLength!=null&&o>e.maxDataLength)throw new Mi("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(Nn.single(i,e),o)},writeV:async(i,o)=>{let s=new Xt(...i.map(a=>Nn.single(a,e)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Dn(t,e){let r=ru(t,e),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var ou=Gt(iu(),1),Js=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Vi=(0,ou.default)(),su=Js&&!Vi,au=Vi&&!Js,cu=Vi&&Js,fu=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Vi,uu=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,l8=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+"_"+"ENV"]==="test",lu=typeof navigator<"u"&&navigator.product==="ReactNative";var Tr;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.protocolVersion!=null&&(n.uint32(42),n.string(r.protocolVersion)),r.agentVersion!=null&&(n.uint32(50),n.string(r.agentVersion)),r.publicKey!=null&&(n.uint32(10),n.bytes(r.publicKey)),r.listenAddrs!=null)for(let o of r.listenAddrs)n.uint32(18),n.bytes(o);if(r.observedAddr!=null&&(n.uint32(34),n.bytes(r.observedAddr)),r.protocols!=null)for(let o of r.protocols)n.uint32(26),n.string(o);r.signedPeerRecord!=null&&(n.uint32(66),n.bytes(r.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={listenAddrs:[],protocols:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 5:i.protocolVersion=r.string();break;case 6:i.agentVersion=r.string();break;case 1:i.publicKey=r.bytes();break;case 2:i.listenAddrs.push(r.bytes());break;case 4:i.observedAddr=r.bytes();break;case 3:i.protocols.push(r.string());break;case 8:i.signedPeerRecord=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Tr||(Tr={}));var js=1024*8,se={protocolPrefix:"ipfs",timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1,maxObservedAddresses:10,maxIdentifyMessageSize:8192,runOnConnectionOpen:!0,runOnTransientConnection:!0},Fi=class{identifyProtocolStr;identifyPushProtocolStr;host;started;timeout;peerId;peerStore;registrar;connectionManager;addressManager;maxInboundStreams;maxOutboundStreams;maxPushIncomingStreams;maxPushOutgoingStreams;maxIdentifyMessageSize;maxObservedAddresses;events;runOnTransientConnection;log;constructor(e,r={}){this.started=!1,this.peerId=e.peerId,this.peerStore=e.peerStore,this.registrar=e.registrar,this.addressManager=e.addressManager,this.connectionManager=e.connectionManager,this.events=e.events,this.log=e.logger.forComponent("libp2p:identify"),this.identifyProtocolStr=`/${r.protocolPrefix??se.protocolPrefix}/${ha}/${pa}`,this.identifyPushProtocolStr=`/${r.protocolPrefix??se.protocolPrefix}/${da}/${ya}`,this.timeout=r.timeout??se.timeout,this.maxInboundStreams=r.maxInboundStreams??se.maxInboundStreams,this.maxOutboundStreams=r.maxOutboundStreams??se.maxOutboundStreams,this.maxPushIncomingStreams=r.maxPushIncomingStreams??se.maxPushIncomingStreams,this.maxPushOutgoingStreams=r.maxPushOutgoingStreams??se.maxPushOutgoingStreams,this.maxIdentifyMessageSize=r.maxIdentifyMessageSize??se.maxIdentifyMessageSize,this.maxObservedAddresses=r.maxObservedAddresses??se.maxObservedAddresses,this.runOnTransientConnection=r.runOnTransientConnection??se.runOnTransientConnection,this.host={protocolVersion:`${r.protocolPrefix??se.protocolPrefix}/${la}`,agentVersion:r.agentVersion??`${e.nodeInfo.name}/${e.nodeInfo.version}`},(r.runOnConnectionOpen??se.runOnConnectionOpen)&&e.events.addEventListener("connection:open",n=>{let i=n.detail;this.identify(i).catch(o=>{this.log.error("error during identify trigged by connection:open",o)})}),e.events.addEventListener("self:peer:update",n=>{this.push().catch(i=>{this.log.error(i)})}),this.host.agentVersion===`${e.nodeInfo.name}/${e.nodeInfo.version}`&&(fu||au?this.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(su||uu||cu||lu)&&(this.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`))}isStarted(){return this.started}async start(){this.started||(await this.peerStore.merge(this.peerId,{metadata:{AgentVersion:lt(this.host.agentVersion),ProtocolVersion:lt(this.host.protocolVersion)}}),await this.registrar.handle(this.identifyProtocolStr,e=>{this._handleIdentify(e).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnTransientConnection:this.runOnTransientConnection}),await this.registrar.handle(this.identifyPushProtocolStr,e=>{this._handlePush(e).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxPushIncomingStreams,maxOutboundStreams:this.maxPushOutgoingStreams,runOnTransientConnection:this.runOnTransientConnection}),this.started=!0)}async stop(){await this.registrar.unhandle(this.identifyProtocolStr),await this.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async pushToConnections(e){let r=this.addressManager.getAddresses().map(u=>u.decapsulateCode(ot("p2p").code)),n=new Ge({peerId:this.peerId,multiaddrs:r}),i=await ar.seal(n,this.peerId),o=this.registrar.getProtocols(),s=await this.peerStore.get(this.peerId),a=nt(s.metadata.get("AgentVersion")??lt(this.host.agentVersion)),c=nt(s.metadata.get("ProtocolVersion")??lt(this.host.protocolVersion)),f=e.map(async u=>{let l,h=AbortSignal.timeout(this.timeout);kn(1/0,h);try{l=await u.newStream(this.identifyPushProtocolStr,{signal:h,runOnTransientConnection:this.runOnTransientConnection}),await Dn(l,{maxDataLength:this.maxIdentifyMessageSize??js}).pb(Tr).write({listenAddrs:r.map(d=>d.bytes),signedPeerRecord:i.marshal(),protocols:o,agentVersion:a,protocolVersion:c},{signal:h}),await l.close({signal:h})}catch(y){this.log.error("could not push identify update to peer",y),l?.abort(y)}});await Promise.all(f)}async push(){if(!this.isStarted())return;let e=[];await Promise.all(this.connectionManager.getConnections().map(async r=>{try{if(!(await this.peerStore.get(r.remotePeer)).protocols.includes(this.identifyPushProtocolStr))return;e.push(r)}catch(n){if(n.code!==ba)throw n}})),await this.pushToConnections(e)}async _identify(e,r={}){let n;if(r.signal==null){let i=AbortSignal.timeout(this.timeout);kn(1/0,i),r={...r,signal:i}}try{n=await e.newStream(this.identifyProtocolStr,{...r,runOnTransientConnection:this.runOnTransientConnection});let o=await Dn(n,{maxDataLength:this.maxIdentifyMessageSize??js}).pb(Tr).read(r);return await n.close(r),o}catch(i){throw this.log.error("error while reading identify message",i),n?.abort(i),i}}async identify(e,r={}){let n=await this._identify(e,r),{publicKey:i,protocols:o,observedAddr:s}=n;if(i==null)throw new F("public key was missing from identify message","ERR_MISSING_PUBLIC_KEY");let a=await an(i);if(!e.remotePeer.equals(a))throw new F("identified peer does not match the expected peer","ERR_INVALID_PEER");if(this.peerId.equals(a))throw new F("identified peer is our own peer id?","ERR_INVALID_PEER");let c=L1(s);return this.log("identify completed for peer %p and protocols %o",a,o),this.log("our observed address is %a",c),c!=null&&this.addressManager.getObservedAddrs().length<(this.maxObservedAddresses??1/0)&&(this.log("storing our observed address %a",c),this.addressManager.addObservedAddr(c)),this.#t(e,n)}async _handleIdentify(e){let{connection:r,stream:n}=e,i=AbortSignal.timeout(this.timeout);kn(1/0,i);try{let o=this.peerId.publicKey??new Uint8Array(0),s=await this.peerStore.get(this.peerId),a=this.addressManager.getAddresses().map(l=>l.decapsulateCode(ot("p2p").code)),c=s.peerRecordEnvelope;if(a.length>0&&c==null){let l=new Ge({peerId:this.peerId,multiaddrs:a});c=(await ar.seal(l,this.peerId)).marshal().subarray()}let f=r.remoteAddr.bytes;zf.matches(r.remoteAddr)||(f=void 0),await Dn(n).pb(Tr).write({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:o,listenAddrs:a.map(l=>l.bytes),signedPeerRecord:c,observedAddr:f,protocols:s.protocols},{signal:i}),await n.close({signal:i})}catch(o){this.log.error("could not respond to identify request",o),n.abort(o)}}async _handlePush(e){let{connection:r,stream:n}=e;try{if(this.peerId.equals(r.remotePeer))throw new Error("received push from ourselves?");let i={signal:AbortSignal.timeout(this.timeout)},s=await Dn(n,{maxDataLength:this.maxIdentifyMessageSize??js}).pb(Tr).read(i);await n.close(i),await this.#t(r,s)}catch(i){this.log.error("received invalid message",i),n.abort(i);return}this.log("handled push from %p",r.remotePeer)}async#t(e,r){if(this.log("received identify from %p",e.remotePeer),r==null)throw new F("message was null or undefined","ERR_INVALID_MESSAGE");let n={};if(r.listenAddrs.length>0&&(n.addresses=r.listenAddrs.map(s=>({isCertified:!1,multiaddr:cr(s)}))),r.protocols.length>0&&(n.protocols=r.protocols),r.publicKey!=null&&(n.publicKey=r.publicKey,!(await an(r.publicKey)).equals(e.remotePeer)))throw new F("public key did not match remote PeerId","ERR_INVALID_PUBLIC_KEY");let i;if(r.signedPeerRecord!=null){this.log("received signedPeerRecord from %p",e.remotePeer);let s=r.signedPeerRecord,a=await ar.openAndCertify(s,Ge.DOMAIN),c=Ge.createFromProtobuf(a.payload);if(!c.peerId.equals(a.peerId))throw new F("signing key does not match PeerId in the PeerRecord","ERR_INVALID_SIGNING_KEY");if(!e.remotePeer.equals(c.peerId))throw new F("signing key does not match remote PeerId","ERR_INVALID_PEER_RECORD_KEY");let f;try{f=await this.peerStore.get(c.peerId)}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(f!=null&&(n.metadata=f.metadata,f.peerRecordEnvelope!=null)){let u=await ar.createFromProtobuf(f.peerRecordEnvelope),l=Ge.createFromProtobuf(u.payload);l.seqNumber>=c.seqNumber&&(this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",l.seqNumber,c.seqNumber),c=l,s=f.peerRecordEnvelope)}n.peerRecordEnvelope=s,n.addresses=c.multiaddrs.map(u=>({isCertified:!0,multiaddr:u})),i={seq:c.seqNumber,addresses:c.multiaddrs}}else this.log("%p did not send a signed peer record",e.remotePeer);if(this.log("patching %p with",e.remotePeer,n),await this.peerStore.patch(e.remotePeer,n),r.agentVersion!=null||r.protocolVersion!=null){let s={};r.agentVersion!=null&&(s.AgentVersion=lt(r.agentVersion)),r.protocolVersion!=null&&(s.ProtocolVersion=lt(r.protocolVersion)),this.log("merging %p metadata",e.remotePeer,s),await this.peerStore.merge(e.remotePeer,{metadata:s})}let o={peerId:e.remotePeer,protocolVersion:r.protocolVersion,agentVersion:r.agentVersion,publicKey:r.publicKey,listenAddrs:r.listenAddrs.map(s=>cr(s)),observedAddr:r.observedAddr==null?void 0:cr(r.observedAddr),protocols:r.protocols,signedPeerRecord:i,connection:e};return this.events.safeDispatchEvent("peer:identify",{detail:o}),o}};function L1(t){if(t!=null&&t.length>0)try{return cr(t)}catch{}}var N1={IDENTIFY:fa,IDENTIFY_PUSH:ua};function D1(t={}){return e=>new Fi(e,t)}return Au(P1);})();
|
|
15
|
+
`+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function Xl(t){return t.replace(/^\s+/,"")}});var b0=ut((Nm,x0)=>{var we=ct();dr();It();var y0=x0.exports=we.sha256=we.sha256||{};we.md.sha256=we.md.algorithms.sha256=y0;y0.create=function(){g0||Jl();var t=null,e=we.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=we.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=we.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),p0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=we.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(To.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};p0(l,r,i);var h=we.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h.putInt32(l.h5),h.putInt32(l.h6),h.putInt32(l.h7),h},n};var To=null,g0=!1,m0=null;function Jl(){To="\x80",To+=we.util.fillString("\0",64),m0=[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],g0=!0}function p0(t,e,r){for(var n,i,o,s,a,c,f,u,l,h,y,d,p,g,x,w=r.length();w>=64;){for(f=0;f<16;++f)e[f]=r.getInt32();for(;f<64;++f)n=e[f-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[f-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[f]=n+e[f-7]+i+e[f-16]|0;for(u=t.h0,l=t.h1,h=t.h2,y=t.h3,d=t.h4,p=t.h5,g=t.h6,x=t.h7,f=0;f<64;++f)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=g^d&(p^g),o=(u>>>2|u<<30)^(u>>>13|u<<19)^(u>>>22|u<<10),c=u&l|h&(u^l),n=x+s+a+m0[f]+e[f],i=o+c,x=g,g=p,p=d,d=y+n>>>0,y=h,h=l,l=u,u=n+i>>>0;t.h0=t.h0+u|0,t.h1=t.h1+l|0,t.h2=t.h2+h|0,t.h3=t.h3+y|0,t.h4=t.h4+d|0,t.h5=t.h5+p|0,t.h6=t.h6+g|0,t.h7=t.h7+x|0,w-=64}}});var w0=ut((Dm,v0)=>{var Ee=ct();It();var Zn=null;Ee.util.isNodejs&&!Ee.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Zn=Wn());var jl=v0.exports=Ee.prng=Ee.prng||{};jl.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(f,u){if(!u)return e.generateSync(f);var l=e.plugin.cipher,h=e.plugin.increment,y=e.plugin.formatKey,d=e.plugin.formatSeed,p=Ee.util.createBuffer();e.key=null,g();function g(x){if(x)return u(x);if(p.length()>=f)return u(null,p.getBytes(f));if(e.generated>1048575&&(e.key=null),e.key===null)return Ee.util.nextTick(function(){o(g)});var w=l(e.key,e.seed);e.generated+=w.length,p.putBytes(w),e.key=y(l(e.key,h(e.seed))),e.seed=d(l(e.key,e.seed)),Ee.util.setImmediate(g)}},e.generateSync=function(f){var u=e.plugin.cipher,l=e.plugin.increment,h=e.plugin.formatKey,y=e.plugin.formatSeed;e.key=null;for(var d=Ee.util.createBuffer();d.length()<f;){e.generated>1048575&&(e.key=null),e.key===null&&s();var p=u(e.key,e.seed);e.generated+=p.length,d.putBytes(p),e.key=h(u(e.key,l(e.seed))),e.seed=y(u(e.key,e.seed))}return d.getBytes(f)};function o(f){if(e.pools[0].messageLength>=32)return a(),f();var u=32-e.pools[0].messageLength<<5;e.seedFile(u,function(l,h){if(l)return f(l);e.collect(h),a(),f()})}function s(){if(e.pools[0].messageLength>=32)return a();var f=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(f)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var f=e.plugin.md.create();f.update(e.keyBytes);for(var u=1,l=0;l<32;++l)e.reseeds%u===0&&(f.update(e.pools[l].digest().getBytes()),e.pools[l].start()),u=u<<1;e.keyBytes=f.digest().getBytes(),f.start(),f.update(e.keyBytes);var h=f.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(f){var u=null,l=Ee.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(u=function(E){return h.getRandomValues(E)});var y=Ee.util.createBuffer();if(u)for(;y.length()<f;){var d=Math.max(1,Math.min(f-y.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{u(p);for(var g=0;g<p.length;++g)y.putInt32(p[g])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(y.length()<f)for(var x,w,v,R=Math.floor(Math.random()*65536);y.length()<f;){w=16807*(R&65535),x=16807*(R>>16),w+=(x&32767)<<16,w+=x>>15,w=(w&2147483647)+(w>>31),R=w&4294967295;for(var g=0;g<3;++g)v=R>>>(g<<3),v^=Math.floor(Math.random()*256),y.putByte(v&255)}return y.getBytes(f)}return Zn?(e.seedFile=function(f,u){Zn.randomBytes(f,function(l,h){if(l)return u(l);u(null,h.toString())})},e.seedFileSync=function(f){return Zn.randomBytes(f).toString()}):(e.seedFile=function(f,u){try{u(null,c(f))}catch(l){u(l)}},e.seedFileSync=c),e.collect=function(f){for(var u=f.length,l=0;l<u;++l)e.pools[e.pool].update(f.substr(l,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(f,u){for(var l="",h=0;h<u;h+=8)l+=String.fromCharCode(f>>h&255);e.collect(l)},e.registerWorker=function(f){if(f===self)e.seedFile=function(l,h){function y(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),h(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var u=function(l){var h=l.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(y,d){f.postMessage({forge:{prng:{err:y,bytes:d}}})})};f.addEventListener("message",u)}},e}});var hn=ut((Pm,_o)=>{var kt=ct();Co();b0();w0();It();(function(){if(kt.random&&kt.random.getBytes){_o.exports=kt.random;return}(function(t){var e={},r=new Array(4),n=kt.util.createBuffer();e.formatKey=function(l){var h=kt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),kt.aes._expandKey(l,!1)},e.formatSeed=function(l){var h=kt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),l},e.cipher=function(l,h){return kt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(l){return++l[3],l},e.md=kt.md.sha256;function i(){var l=kt.prng.create(e);return l.getBytes=function(h,y){return l.generate(h,y)},l.getBytesSync=function(h){return l.generate(h)},l}var o=i(),s=null,a=kt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),kt.options.usePureJavaScript||!kt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var f="";for(var u in navigator)try{typeof navigator[u]=="string"&&(f+=navigator[u])}catch{}o.collect(f),f=null}t&&(t().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),t().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!kt.random)kt.random=o;else for(var u in o)kt.random[u]=o[u];kt.random.createInstance=i,_o.exports=kt.random})(typeof jQuery<"u"?jQuery:null)})()});var A0=ut((km,B0)=>{var $t=ct();It();var Ro=[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],E0=[1,2,3,5],th=function(t,e){return t<<e&65535|(t&65535)>>16-e},eh=function(t,e){return(t&65535)>>e|t<<16-e&65535};B0.exports=$t.rc2=$t.rc2||{};$t.rc2.expandKey=function(t,e){typeof t=="string"&&(t=$t.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ro[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ro[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ro[r.at(a+1)^r.at(a+o)]);return r};var S0=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,f,u,l=[];for(t=$t.rc2.expandKey(t,e),f=0;f<64;f++)l.push(t.getInt16Le());r?(a=function(d){for(f=0;f<4;f++)d[f]+=l[u]+(d[(f+3)%4]&d[(f+2)%4])+(~d[(f+3)%4]&d[(f+1)%4]),d[f]=th(d[f],E0[f]),u++},c=function(d){for(f=0;f<4;f++)d[f]+=l[d[(f+3)%4]&63]}):(a=function(d){for(f=3;f>=0;f--)d[f]=eh(d[f],E0[f]),d[f]-=l[u]+(d[(f+3)%4]&d[(f+2)%4])+(~d[(f+3)%4]&d[(f+1)%4]),u--},c=function(d){for(f=3;f>=0;f--)d[f]-=l[d[(f+3)%4]&63]});var h=function(d){var p=[];for(f=0;f<4;f++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),p.push(g&65535)}u=r?0:63;for(var x=0;x<d.length;x++)for(var w=0;w<d[x][0];w++)d[x][1](p);for(f=0;f<4;f++)s!==null&&(r?s.putInt16Le(p[f]):p[f]^=s.getInt16Le()),o.putInt16Le(p[f])},y=null;return y={start:function(d,p){d&&typeof d=="string"&&(d=$t.util.createBuffer(d)),n=!1,i=$t.util.createBuffer(),o=p||new $t.util.createBuffer,s=d,y.output=o},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var p=!0;if(r)if(d)p=d(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,o,!r);else{var x=o.length(),w=o.at(x-1);w>x?p=!1:o.truncate(w)}return p}},y};$t.rc2.startEncrypting=function(t,e,r){var n=$t.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};$t.rc2.createEncryptionCipher=function(t,e){return S0(t,e,!0)};$t.rc2.startDecrypting=function(t,e,r){var n=$t.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};$t.rc2.createDecryptionCipher=function(t,e){return S0(t,e,!1)}});var Jn=ut((Um,D0)=>{var Lo=ct();D0.exports=Lo.jsbn=Lo.jsbn||{};var Ue,rh=0xdeadbeefcafe,I0=(rh&16777215)==15715070;function I(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Lo.jsbn.BigInteger=I;function tt(){return new I(null)}function nh(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function ih(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,f=this.data[t++]>>15,u=a*c+f*s;c=s*c+((u&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(u>>>15)+a*f+(i>>>30),r.data[n++]=c&1073741823}return i}function C0(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,f=this.data[t++]>>14,u=a*c+f*s;c=s*c+((u&16383)<<14)+r.data[n]+i,i=(c>>28)+(u>>14)+a*f,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(I.prototype.am=C0,Ue=28):I0&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=ih,Ue=30):I0&&navigator.appName!="Netscape"?(I.prototype.am=nh,Ue=26):(I.prototype.am=C0,Ue=28);I.prototype.DB=Ue;I.prototype.DM=(1<<Ue)-1;I.prototype.DV=1<<Ue;var No=52;I.prototype.FV=Math.pow(2,No);I.prototype.F1=No-Ue;I.prototype.F2=2*Ue-No;var oh="0123456789abcdefghijklmnopqrstuvwxyz",Qn=new Array,Kr,te;Kr=48;for(te=0;te<=9;++te)Qn[Kr++]=te;Kr=97;for(te=10;te<36;++te)Qn[Kr++]=te;Kr=65;for(te=10;te<36;++te)Qn[Kr++]=te;function T0(t){return oh.charAt(t)}function _0(t,e){var r=Qn[t.charCodeAt(e)];return r??-1}function sh(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function ah(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Xe(t){var e=tt();return e.fromInt(t),e}function ch(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:_0(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&I.ZERO.subTo(this,this)}function fh(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function uh(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=T0(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=T0(n));return i?o:"0"}function lh(){var t=tt();return I.ZERO.subTo(this,t),t}function hh(){return this.s<0?this.negate():this}function dh(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function Xn(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function ph(){return this.t<=0?0:this.DB*(this.t-1)+Xn(this.data[this.t-1]^this.s&this.DM)}function yh(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function gh(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function mh(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function xh(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function bh(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function vh(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&I.ZERO.subTo(e,e)}function wh(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function Eh(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=tt());var o=tt(),s=this.s,a=t.s,c=this.DB-Xn(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var f=o.t,u=o.data[f-1];if(u!=0){var l=u*(1<<this.F1)+(f>1?o.data[f-2]>>this.F2:0),h=this.FV/l,y=(1<<this.F1)/l,d=1<<this.F2,p=r.t,g=p-f,x=e??tt();for(o.dlShiftTo(g,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),I.ONE.dlShiftTo(f,x),x.subTo(o,o);o.t<f;)o.data[o.t++]=0;for(;--g>=0;){var w=r.data[--p]==u?this.DM:Math.floor(r.data[p]*h+(r.data[p-1]+d)*y);if((r.data[p]+=o.am(0,w,r,g,0,f))<w)for(o.dlShiftTo(g,x),r.subTo(x,r);r.data[p]<--w;)r.subTo(x,r)}e!=null&&(r.drShiftTo(f,e),s!=a&&I.ZERO.subTo(e,e)),r.t=f,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&I.ZERO.subTo(r,r)}}}function Sh(t){var e=tt();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(I.ZERO)>0&&t.subTo(e,e),e}function pr(t){this.m=t}function Bh(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Ah(t){return t}function Ih(t){t.divRemTo(this.m,null,t)}function Ch(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Th(t,e){t.squareTo(e),this.reduce(e)}pr.prototype.convert=Bh;pr.prototype.revert=Ah;pr.prototype.reduce=Ih;pr.prototype.mulTo=Ch;pr.prototype.sqrTo=Th;function _h(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function yr(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Rh(t){var e=tt();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(I.ZERO)>0&&this.m.subTo(e,e),e}function Lh(t){var e=tt();return t.copyTo(e),this.reduce(e),e}function Nh(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Dh(t,e){t.squareTo(e),this.reduce(e)}function Ph(t,e,r){t.multiplyTo(e,r),this.reduce(r)}yr.prototype.convert=Rh;yr.prototype.revert=Lh;yr.prototype.reduce=Nh;yr.prototype.mulTo=Ph;yr.prototype.sqrTo=Dh;function kh(){return(this.t>0?this.data[0]&1:this.s)==0}function Uh(t,e){if(t>4294967295||t<1)return I.ONE;var r=tt(),n=tt(),i=e.convert(this),o=Xn(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Oh(t,e){var r;return t<256||e.isEven()?r=new pr(e):r=new yr(e),this.exp(t,r)}I.prototype.copyTo=sh;I.prototype.fromInt=ah;I.prototype.fromString=ch;I.prototype.clamp=fh;I.prototype.dlShiftTo=yh;I.prototype.drShiftTo=gh;I.prototype.lShiftTo=mh;I.prototype.rShiftTo=xh;I.prototype.subTo=bh;I.prototype.multiplyTo=vh;I.prototype.squareTo=wh;I.prototype.divRemTo=Eh;I.prototype.invDigit=_h;I.prototype.isEven=kh;I.prototype.exp=Uh;I.prototype.toString=uh;I.prototype.negate=lh;I.prototype.abs=hh;I.prototype.compareTo=dh;I.prototype.bitLength=ph;I.prototype.mod=Sh;I.prototype.modPowInt=Oh;I.ZERO=Xe(0);I.ONE=Xe(1);function Kh(){var t=tt();return this.copyTo(t),t}function Mh(){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 Vh(){return this.t==0?this.s:this.data[0]<<24>>24}function Fh(){return this.t==0?this.s:this.data[0]<<16>>16}function qh(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Hh(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function zh(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Xe(r),i=tt(),o=tt(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function Gh(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=_0(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&I.ZERO.subTo(this,this)}function Wh(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(I.ONE.shiftLeft(t-1),Do,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(I.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Yh(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function $h(t){return this.compareTo(t)==0}function Zh(t){return this.compareTo(t)<0?this:t}function Qh(t){return this.compareTo(t)>0?this:t}function Xh(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function Jh(t,e){return t&e}function jh(t){var e=tt();return this.bitwiseTo(t,Jh,e),e}function Do(t,e){return t|e}function td(t){var e=tt();return this.bitwiseTo(t,Do,e),e}function R0(t,e){return t^e}function ed(t){var e=tt();return this.bitwiseTo(t,R0,e),e}function L0(t,e){return t&~e}function rd(t){var e=tt();return this.bitwiseTo(t,L0,e),e}function nd(){for(var t=tt(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function id(t){var e=tt();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function od(t){var e=tt();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function sd(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function ad(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+sd(this.data[t]);return this.s<0?this.t*this.DB:-1}function cd(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function fd(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=cd(this.data[r]^e);return t}function ud(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function ld(t,e){var r=I.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function hd(t){return this.changeBit(t,Do)}function dd(t){return this.changeBit(t,L0)}function pd(t){return this.changeBit(t,R0)}function yd(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function gd(t){var e=tt();return this.addTo(t,e),e}function md(t){var e=tt();return this.subTo(t,e),e}function xd(t){var e=tt();return this.multiplyTo(t,e),e}function bd(t){var e=tt();return this.divRemTo(t,e,null),e}function vd(t){var e=tt();return this.divRemTo(t,null,e),e}function wd(t){var e=tt(),r=tt();return this.divRemTo(t,e,r),new Array(e,r)}function Ed(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Sd(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function dn(){}function N0(t){return t}function Bd(t,e,r){t.multiplyTo(e,r)}function Ad(t,e){t.squareTo(e)}dn.prototype.convert=N0;dn.prototype.revert=N0;dn.prototype.mulTo=Bd;dn.prototype.sqrTo=Ad;function Id(t){return this.exp(t,new dn)}function Cd(t,e,r){var n=Math.min(this.t+t.t,e);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,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function Td(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Mr(t){this.r2=tt(),this.q3=tt(),I.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function _d(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=tt();return t.copyTo(e),this.reduce(e),e}function Rd(t){return t}function Ld(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Nd(t,e){t.squareTo(e),this.reduce(e)}function Dd(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Mr.prototype.convert=_d;Mr.prototype.revert=Rd;Mr.prototype.reduce=Ld;Mr.prototype.mulTo=Dd;Mr.prototype.sqrTo=Nd;function Pd(t,e){var r=t.bitLength(),n,i=Xe(1),o;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?o=new pr(e):e.isEven()?o=new Mr(e):o=new yr(e);var s=new Array,a=3,c=n-1,f=(1<<n)-1;if(s[1]=o.convert(this),n>1){var u=tt();for(o.sqrTo(s[1],u);a<=f;)s[a]=tt(),o.mulTo(u,s[a-2],s[a]),a+=2}var l=t.t-1,h,y=!0,d=tt(),p;for(r=Xn(t.data[l])-1;l>=0;){for(r>=c?h=t.data[l]>>r-c&f:(h=(t.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=t.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)s[h].copyTo(i),y=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(p=i,i=d,d=p),o.mulTo(d,s[h],i)}for(;l>=0&&!(t.data[l]&1<<r);)o.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function kd(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Ud(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function Od(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return I.ZERO;for(var r=t.clone(),n=this.clone(),i=Xe(1),o=Xe(0),s=Xe(0),a=Xe(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(I.ONE)!=0)return I.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var fe=[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],Kd=(1<<26)/fe[fe.length-1];function Md(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=fe[fe.length-1]){for(e=0;e<fe.length;++e)if(r.data[0]==fe[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<fe.length;){for(var n=fe[e],i=e+1;i<fe.length&&n<Kd;)n*=fe[i++];for(n=r.modInt(n);e<i;)if(n%fe[e++]==0)return!1}return r.millerRabin(t)}function Vd(t){var e=this.subtract(I.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Fd(),o,s=0;s<t;++s){do o=new I(this.bitLength(),i);while(o.compareTo(I.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(I.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(I.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Fd(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=qh;I.prototype.toRadix=zh;I.prototype.fromRadix=Gh;I.prototype.fromNumber=Wh;I.prototype.bitwiseTo=Xh;I.prototype.changeBit=ld;I.prototype.addTo=yd;I.prototype.dMultiply=Ed;I.prototype.dAddOffset=Sd;I.prototype.multiplyLowerTo=Cd;I.prototype.multiplyUpperTo=Td;I.prototype.modInt=Ud;I.prototype.millerRabin=Vd;I.prototype.clone=Kh;I.prototype.intValue=Mh;I.prototype.byteValue=Vh;I.prototype.shortValue=Fh;I.prototype.signum=Hh;I.prototype.toByteArray=Yh;I.prototype.equals=$h;I.prototype.min=Zh;I.prototype.max=Qh;I.prototype.and=jh;I.prototype.or=td;I.prototype.xor=ed;I.prototype.andNot=rd;I.prototype.not=nd;I.prototype.shiftLeft=id;I.prototype.shiftRight=od;I.prototype.getLowestSetBit=ad;I.prototype.bitCount=fd;I.prototype.testBit=ud;I.prototype.setBit=hd;I.prototype.clearBit=dd;I.prototype.flipBit=pd;I.prototype.add=gd;I.prototype.subtract=md;I.prototype.multiply=xd;I.prototype.divide=bd;I.prototype.remainder=vd;I.prototype.divideAndRemainder=wd;I.prototype.modPow=Pd;I.prototype.modInverse=Od;I.prototype.pow=Id;I.prototype.gcd=kd;I.prototype.isProbablePrime=Md});var K0=ut((Om,O0)=>{var Se=ct();dr();It();var k0=O0.exports=Se.sha1=Se.sha1||{};Se.md.sha1=Se.md.algorithms.sha1=k0;k0.create=function(){U0||qd();var t=null,e=Se.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Se.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Se.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),P0(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Se.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Po.substr(0,n.blockLength-s));for(var a,c,f=n.fullMessageLength[0]*8,u=0;u<n.fullMessageLength.length-1;++u)a=n.fullMessageLength[u+1]*8,c=a/4294967296>>>0,f+=c,i.putInt32(f>>>0),f=a>>>0;i.putInt32(f);var l={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};P0(l,r,i);var h=Se.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h},n};var Po=null,U0=!1;function qd(){Po="\x80",Po+=Se.util.fillString("\0",64),U0=!0}function P0(t,e,r){for(var n,i,o,s,a,c,f,u,l=r.length();l>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,u=0;u<16;++u)n=r.getInt32(),e[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<20;++u)n=e[u-3]^e[u-8]^e[u-14]^e[u-16],n=n<<1|n>>>31,e[u]=n,f=a^o&(s^a),n=(i<<5|i>>>27)+f+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<32;++u)n=e[u-3]^e[u-8]^e[u-14]^e[u-16],n=n<<1|n>>>31,e[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<40;++u)n=e[u-6]^e[u-16]^e[u-28]^e[u-32],n=n<<2|n>>>30,e[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<60;++u)n=e[u-6]^e[u-16]^e[u-28]^e[u-32],n=n<<2|n>>>30,e[u]=n,f=o&s|a&(o^s),n=(i<<5|i>>>27)+f+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;u<80;++u)n=e[u-6]^e[u-16]^e[u-28]^e[u-32],n=n<<2|n>>>30,e[u]=n,f=o^s^a,n=(i<<5|i>>>27)+f+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,l-=64}}});var F0=ut((Km,V0)=>{var Be=ct();It();hn();K0();var M0=V0.exports=Be.pkcs1=Be.pkcs1||{};M0.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=Be.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var f=new Error("RSAES-OAEP input message length is too long.");throw f.length=e.length,f.maxLength=c,f}n||(n=""),o.update(n,"raw");for(var u=o.digest(),l="",h=c-e.length,y=0;y<h;y++)l+="\0";var d=u.getBytes()+l+""+e;if(!i)i=Be.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var f=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw f.seedLength=i.length,f.digestLength=o.digestLength,f}var p=jn(i,a-o.digestLength-1,s),g=Be.util.xorBytes(d,p,d.length),x=jn(g,o.digestLength,s),w=Be.util.xorBytes(i,x,i.length);return"\0"+w+g};M0.decode_rsa_oaep=function(t,e,r){var n,i,o;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&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=s,g}if(i===void 0?i=Be.md.sha1.create():i.start(),o||(o=i),s<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(),c=e.charAt(0),f=e.substring(1,i.digestLength+1),u=e.substring(1+i.digestLength),l=jn(u,i.digestLength,o),h=Be.util.xorBytes(f,l,f.length),y=jn(h,s-i.digestLength-1,o),d=Be.util.xorBytes(u,y,u.length),p=d.substring(0,i.digestLength),g=c!=="\0",x=0;x<i.digestLength;++x)g|=a.charAt(x)!==p.charAt(x);for(var w=1,v=i.digestLength,R=i.digestLength;R<d.length;R++){var E=d.charCodeAt(R),S=E&1^1,L=w?65534:0;g|=E&L,w=w&S,v+=w}if(g||d.charCodeAt(v)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(v+1)};function jn(t,e,r){r||(r=Be.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var q0=ut((Mm,ko)=>{var Je=ct();It();Jn();hn();(function(){if(Je.prime){ko.exports=Je.prime;return}var t=ko.exports=Je.prime=Je.prime||{},e=Je.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(l,h){return l|h};t.generateProbablePrime=function(l,h,y){typeof h=="function"&&(y=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=h.prng||Je.random,g={nextBytes:function(x){for(var w=p.getBytesSync(x.length),v=0;v<x.length;++v)x[v]=w.charCodeAt(v)}};if(d.name==="PRIMEINC")return o(l,g,d.options,y);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(l,h,y,d){return"workers"in y?c(l,h,y,d):s(l,h,y,d)}function s(l,h,y,d){var p=f(l,h),g=0,x=u(p.bitLength());"millerRabinTests"in y&&(x=y.millerRabinTests);var w=10;"maxBlockTime"in y&&(w=y.maxBlockTime),a(p,l,h,g,x,w,d)}function a(l,h,y,d,p,g,x){var w=+new Date;do{if(l.bitLength()>h&&(l=f(h,y)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[d++%8],0)}while(g<0||+new Date-w<g);Je.util.setImmediate(function(){a(l,h,y,d,p,g,x)})}function c(l,h,y,d){if(typeof Worker>"u")return s(l,h,y,d);var p=f(l,h),g=y.workers,x=y.workLoad||100,w=x*30/8,v=y.workerScript||"forge/prime.worker.js";if(g===-1)return Je.util.estimateCores(function(E,S){E&&(S=2),g=S-1,R()});R();function R(){g=Math.max(1,g);for(var E=[],S=0;S<g;++S)E[S]=new Worker(v);for(var L=g,S=0;S<g;++S)E[S].addEventListener("message",z);var N=!1;function z(H){if(!N){--L;var V=H.data;if(V.found){for(var Q=0;Q<E.length;++Q)E[Q].terminate();return N=!0,d(null,new e(V.prime,16))}p.bitLength()>l&&(p=f(l,h));var at=p.toString(16);H.target.postMessage({hex:at,workLoad:x}),p.dAddOffset(w,0)}}}}function f(l,h){var y=new e(l,h),d=l-1;return y.testBit(d)||y.bitwiseTo(e.ONE.shiftLeft(d),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function u(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var ei=ut((Vm,Z0)=>{var M=ct();ln();Jn();Mn();F0();q0();hn();It();typeof j>"u"&&(j=M.jsbn.BigInteger);var j,Uo=M.util.isNodejs?Wn():null,b=M.asn1,ee=M.util;M.pki=M.pki||{};Z0.exports=M.pki.rsa=M.rsa=M.rsa||{};var G=M.pki,Hd=[6,4,2,4,2,4,6,2],zd={name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",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:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Gd={name:"RSAPrivateKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Wd={name:"RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Yd=M.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",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:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},$d={name:"DigestInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Zd=function(t){var e;if(t.algorithm in G.oids)e=G.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=b.oidToDer(e).getBytes(),i=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]),o=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[]);o.value.push(b.create(b.Class.UNIVERSAL,b.Type.OID,!1,n)),o.value.push(b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,""));var s=b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),b.toDer(i).getBytes()},Y0=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(j.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(j.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new j(M.util.bytesToHex(M.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(j.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};G.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=$0(t,e,r)):(i=M.util.createBuffer(),i.putBytes(t));for(var s=new j(i.toHex(),16),a=Y0(s,e,n),c=a.toString(16),f=M.util.createBuffer(),u=o-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(M.util.hexToBytes(c)),f.getBytes()};G.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new j(M.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Y0(s,e,r),c=a.toString(16),f=M.util.createBuffer(),u=i-Math.ceil(c.length/2);u>0;)f.putByte(0),--u;return f.putBytes(M.util.hexToBytes(c)),n!==!1?ti(f.getBytes(),e,r):f.getBytes()};G.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||M.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),f=0;f<a.length;++f)a[f]=c.charCodeAt(f)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new j(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};G.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new j(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|h},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,f=c-1;t.pqState===0?(t.num=new j(c,t.rng),t.num.testBit(f)||t.num.bitwiseTo(j.ONE.shiftLeft(f),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(Xd(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Hd[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(j.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var u=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,u,t.p,t.q,u.mod(t.p1),u.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};G.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!M.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(H0("generateKeyPair"))return Uo.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,f){if(a)return n(a);n(null,{privateKey:G.privateKeyFromPem(f),publicKey:G.publicKeyFromPem(c)})});if(z0("generateKey")&&z0("exportKey"))return ee.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:W0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ee.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=G.privateKeyFromAsn1(b.fromDer(M.util.createBuffer(a)));n(null,{privateKey:c,publicKey:G.setRsaPublicKey(c.n,c.e)})}});if(G0("generateKey")&&G0("exportKey")){var i=ee.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:W0(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,f=ee.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);f.oncomplete=function(u){var l=u.target.result,h=G.privateKeyFromAsn1(b.fromDer(M.util.createBuffer(l)));n(null,{privateKey:h,publicKey:G.setRsaPublicKey(h.n,h.e)})},f.onerror=function(u){n(u)}},i.onerror=function(a){n(a)};return}}else if(H0("generateKeyPairSync")){var o=Uo.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:G.privateKeyFromPem(o.privateKey),publicKey:G.publicKeyFromPem(o.publicKey)}}}var s=G.rsa.createKeyPairGenerationState(t,e,r);if(!n)return G.rsa.stepKeyPairGenerationState(s,0),s.keys;Qd(s,r,n)};G.setRsaPublicKey=G.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,f){return $0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return M.pkcs1.encode_rsa_oaep(c,a,o)}};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 s=i.encode(n,r,!0);return G.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,f){f=ti(f,r,!0);var u=b.fromDer(f,{parseAllBytes:s._parseAllDigestBytes}),l={},h=[];if(!b.validate(u,$d,l,h)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=h,y}var d=b.derToOid(l.algorithmIdentifier);if(!(d===M.oids.md2||d===M.oids.md5||d===M.oids.sha1||d===M.oids.sha224||d===M.oids.sha256||d===M.oids.sha384||d===M.oids.sha512||d===M.oids["sha512-224"]||d===M.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=d,y}if((d===M.oids.md2||d===M.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,f){return f=ti(f,r,!0),c===f}});var a=G.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};G.setRsaPrivateKey=G.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(f,u,l){typeof u=="string"?u=u.toUpperCase():u===void 0&&(u="RSAES-PKCS1-V1_5");var h=G.rsa.decrypt(f,c,!1,!1);if(u==="RSAES-PKCS1-V1_5")u={decode:ti};else if(u==="RSA-OAEP"||u==="RSAES-OAEP")u={decode:function(y,d){return M.pkcs1.decode_rsa_oaep(d,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(u)!==-1)u={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+u+'".');return u.decode(h,c,!1)},c.sign=function(f,u){var l=!1;typeof u=="string"&&(u=u.toUpperCase()),u===void 0||u==="RSASSA-PKCS1-V1_5"?(u={encode:Zd},l=1):(u==="NONE"||u==="NULL"||u===null)&&(u={encode:function(){return f}},l=1);var h=u.encode(f,c.n.bitLength());return G.rsa.encrypt(h,c,l)},c};G.wrapRsaPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(G.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,b.toDer(t).getBytes())])};G.privateKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,zd,e,r)&&(t=b.fromDer(M.util.createBuffer(e.privateKey))),e={},r=[],!b.validate(t,Gd,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,f,u,l;return i=M.util.createBuffer(e.privateKeyModulus).toHex(),o=M.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=M.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=M.util.createBuffer(e.privateKeyPrime1).toHex(),c=M.util.createBuffer(e.privateKeyPrime2).toHex(),f=M.util.createBuffer(e.privateKeyExponent1).toHex(),u=M.util.createBuffer(e.privateKeyExponent2).toHex(),l=M.util.createBuffer(e.privateKeyCoefficient).toHex(),G.setRsaPrivateKey(new j(i,16),new j(o,16),new j(s,16),new j(a,16),new j(c,16),new j(f,16),new j(u,16),new j(l,16))};G.privateKeyToAsn1=G.privateKeyToRSAPrivateKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,b.integerToDer(0).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.e)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.d)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.p)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.q)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.dP)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.dQ)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.qInv))])};G.publicKeyFromAsn1=function(t){var e={},r=[];if(b.validate(t,Yd,e,r)){var n=b.derToOid(e.publicKeyOid);if(n!==G.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!b.validate(t,Wd,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=M.util.createBuffer(e.publicKeyModulus).toHex(),s=M.util.createBuffer(e.publicKeyExponent).toHex();return G.setRsaPublicKey(new j(o,16),new j(s,16))};G.publicKeyToAsn1=G.publicKeyToSubjectPublicKeyInfo=function(t){return 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(G.oids.rsaEncryption).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")]),b.create(b.Class.UNIVERSAL,b.Type.BITSTRING,!1,[G.publicKeyToRSAPublicKey(t)])])};G.publicKeyToRSAPublicKey=function(t){return b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.n)),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,Ae(t.e))])};function $0(t,e,r){var n=M.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var f=0,u=M.random.getBytes(s),c=0;c<s;++c)a=u.charCodeAt(c),a===0?++f:n.putByte(a);s=f}return n.putByte(0),n.putBytes(t),n}function ti(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=M.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n>"u")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var f=0;f<c;++f)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var u=o.getByte();if(u!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function Qd(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){M.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var f=t.p;t.p=t.q,t.q=f}if(t.p.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.p=null,i();return}if(t.q.subtract(j.ONE).gcd(t.e).compareTo(j.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(j.ONE),t.q1=t.q.subtract(j.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(j.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var u=t.e.modInverse(t.phi);t.keys={privateKey:G.rsa.setPrivateKey(t.n,t.e,u,t.p,t.q,u.mod(t.p1),u.mod(t.q1),t.q.modInverse(t.p)),publicKey:G.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ae(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=M.util.hexToBytes(e);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 Xd(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function H0(t){return M.util.isNodejs&&typeof Uo[t]=="function"}function z0(t){return typeof ee.globalScope<"u"&&typeof ee.globalScope.crypto=="object"&&typeof ee.globalScope.crypto.subtle=="object"&&typeof ee.globalScope.crypto.subtle[t]=="function"}function G0(t){return typeof ee.globalScope<"u"&&typeof ee.globalScope.msCrypto=="object"&&typeof ee.globalScope.msCrypto.subtle=="object"&&typeof ee.globalScope.msCrypto.subtle[t]=="function"}function W0(t){for(var e=M.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var ec=ut((Fm,tc)=>{var U=ct();Co();ln();o0();dr();Mn();u0();d0();hn();A0();ei();It();typeof Q0>"u"&&(Q0=U.jsbn.BigInteger);var Q0,B=U.asn1,W=U.pki=U.pki||{};tc.exports=W.pbe=U.pbe=U.pbe||{};var gr=W.oids,Jd={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"}]},jd={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"}]}]},tp={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"}]};W.encryptPrivateKeyInfo=function(t,e,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=U.random.getBytesSync(r.saltSize),i=r.count,o=B.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var f,u,l;switch(r.algorithm){case"aes128":s=16,f=16,u=gr["aes128-CBC"],l=U.aes.createEncryptionCipher;break;case"aes192":s=24,f=16,u=gr["aes192-CBC"],l=U.aes.createEncryptionCipher;break;case"aes256":s=32,f=16,u=gr["aes256-CBC"],l=U.aes.createEncryptionCipher;break;case"des":s=8,f=8,u=gr.desCBC,l=U.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),d=j0(y),p=U.pkcs5.pbkdf2(e,n,i,s,d),g=U.random.getBytesSync(f),x=l(p);x.start(g),x.update(B.toDer(t)),x.finish(),c=x.output.getBytes();var w=ep(n,o,s,y);a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(gr.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(gr.pkcs5PBKDF2).getBytes()),w]),B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(u).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var v=new U.util.ByteBuffer(n),p=W.pbe.generatePkcs12Key(e,v,1,i,s),g=W.pbe.generatePkcs12Key(e,v,2,i,s),x=U.des.createEncryptionCipher(p);x.start(g),x.update(B.toDer(t)),x.finish(),c=x.output.getBytes(),a=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OID,!1,B.oidToDer(gr["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,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var R=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[a,B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,c)]);return R};W.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!B.validate(t,Jd,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=B.derToOid(n.encryptionOid),a=W.pbe.getCipher(s,n.encryptionParams,e),c=U.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=B.fromDer(a.output)),r};W.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:B.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};W.encryptedPrivateKeyFromPem=function(t){var e=U.pem.decode(t)[0];if(e.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=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return B.fromDer(e.body)};W.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=W.wrapRsaPrivateKey(W.privateKeyToAsn1(t));return n=W.encryptPrivateKeyInfo(n,e,r),W.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var f=U.pbe.opensslDeriveBytes(e,o.substr(0,8),s),u=a(f);u.start(o),u.update(B.toDer(W.privateKeyToAsn1(t))),u.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(o).toUpperCase()},body:u.output.getBytes()};return U.pem.encode(l)};W.decryptRsaPrivateKey=function(t,e){var r=null,n=U.pem.decode(t)[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 o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=U.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=U.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=U.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return U.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return U.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return U.rc2.createDecryptionCipher(l,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=U.util.hexToBytes(n.dekInfo.parameters),c=U.pbe.opensslDeriveBytes(e,a.substr(0,8),o),f=s(c);if(f.start(a),f.update(U.util.createBuffer(n.body)),f.finish())r=f.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=W.decryptPrivateKeyInfo(B.fromDer(r),e):r=B.fromDer(r),r!==null&&(r=W.privateKeyFromAsn1(r)),r};W.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');o=U.md.sha1.create()}var c=o.digestLength,f=o.blockLength,u=new U.util.ByteBuffer,l=new U.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)l.putInt16(t.charCodeAt(a));l.putInt16(0)}var h=l.length(),y=e.length(),d=new U.util.ByteBuffer;d.fillWithByte(r,f);var p=f*Math.ceil(y/f),g=new U.util.ByteBuffer;for(a=0;a<p;a++)g.putByte(e.at(a%y));var x=f*Math.ceil(h/f),w=new U.util.ByteBuffer;for(a=0;a<x;a++)w.putByte(l.at(a%h));var v=g;v.putBuffer(w);for(var R=Math.ceil(i/c),E=1;E<=R;E++){var S=new U.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(v.bytes());for(var L=0;L<n;L++)o.start(),o.update(S.getBytes()),S=o.digest();var N=new U.util.ByteBuffer;for(a=0;a<f;a++)N.putByte(S.at(a%c));var z=Math.ceil(y/f)+Math.ceil(h/f),H=new U.util.ByteBuffer;for(s=0;s<z;s++){var V=new U.util.ByteBuffer(v.getBytes(f)),Q=511;for(a=N.length()-1;a>=0;a--)Q=Q>>8,Q+=N.at(a)+V.at(a),V.setAt(a,Q&255);H.putBuffer(V)}v=H,u.putBuffer(S)}return u.truncate(u.length()-i),u};W.pbe.getCipher=function(t,e,r){switch(t){case W.oids.pkcs5PBES2:return W.pbe.getCipherForPBES2(t,e,r);case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case W.oids["pbewithSHAAnd40BitRC2-CBC"]:return W.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};W.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!B.validate(e,jd,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=B.derToOid(n.kdfOid),t!==W.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=B.derToOid(n.encOid),t!==W.oids["aes128-CBC"]&&t!==W.oids["aes192-CBC"]&&t!==W.oids["aes256-CBC"]&&t!==W.oids["des-EDE3-CBC"]&&t!==W.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,f;switch(W.oids[t]){case"aes128-CBC":c=16,f=U.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,f=U.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,f=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,f=U.des.createDecryptionCipher;break;case"desCBC":c=8,f=U.des.createDecryptionCipher;break}var u=J0(n.prfOid),l=U.pkcs5.pbkdf2(r,s,a,c,u),h=n.encIv,y=f(l);return y.start(h),y};W.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!B.validate(e,tp,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=U.util.createBuffer(n.salt),a=U.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,f,u;switch(t){case W.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,f=8,u=U.des.startDecrypting;break;case W.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,f=8,u=function(p,g){var x=U.rc2.createDecryptionCipher(p,40);return x.start(g,null),x};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var l=J0(n.prfOid),h=W.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var y=W.pbe.generatePkcs12Key(r,s,2,a,f,l);return u(h,y)};W.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[X0(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(X0(n,i[s-1]+t+e));return i.join("").substr(0,r)};function X0(t,e){return t.start().update(e).digest().getBytes()}function J0(t){var e;if(!t)e="hmacWithSHA1";else if(e=W.oids[B.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return j0(e)}function j0(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function ep(t,e,r,n){var i=B.create(B.Class.UNIVERSAL,B.Type.SEQUENCE,!0,[B.create(B.Class.UNIVERSAL,B.Type.OCTETSTRING,!1,t),B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(B.create(B.Class.UNIVERSAL,B.Type.INTEGER,!1,U.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(W.oids[n]).getBytes()),B.create(B.Class.UNIVERSAL,B.Type.NULL,!1,"")])),i}});var Hc=ut((ob,qc)=>{var pt=ct();dr();It();var wn=qc.exports=pt.sha512=pt.sha512||{};pt.md.sha512=pt.md.algorithms.sha512=wn;var Vc=pt.sha384=pt.sha512.sha384=pt.sha512.sha384||{};Vc.create=function(){return wn.create("SHA-384")};pt.md.sha384=pt.md.algorithms.sha384=Vc;pt.sha512.sha256=pt.sha512.sha256||{create:function(){return wn.create("SHA-512/256")}};pt.md["sha512/256"]=pt.md.algorithms["sha512/256"]=pt.sha512.sha256;pt.sha512.sha224=pt.sha512.sha224||{create:function(){return wn.create("SHA-512/224")}};pt.md["sha512/224"]=pt.md.algorithms["sha512/224"]=pt.sha512.sha224;wn.create=function(t){if(Fc||wy(),typeof t>"u"&&(t="SHA-512"),!(t in Sr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Sr[t],r=null,n=pt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,f=0;f<c;++f)a.fullMessageLength.push(0);n=pt.util.createBuffer(),r=new Array(e.length);for(var f=0;f<e.length;++f)r[f]=e[f].slice(0);return a},a.start(),a.update=function(c,f){f==="utf8"&&(c=pt.util.encodeUtf8(c));var u=c.length;a.messageLength+=u,u=[u/4294967296>>>0,u>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=u[1],u[1]=u[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,u[0]=u[1]/4294967296>>>0;return n.putBytes(c),Mc(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=pt.util.createBuffer();c.putBytes(n.bytes());var f=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,u=f&a.blockLength-1;c.putBytes(gs.substr(0,a.blockLength-u));for(var l,h,y=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)l=a.fullMessageLength[d+1]*8,h=l/4294967296>>>0,y+=h,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);Mc(p,i,c);var g=pt.util.createBuffer(),x;t==="SHA-512"?x=p.length:t==="SHA-384"?x=p.length-2:x=p.length-4;for(var d=0;d<x;++d)g.putInt32(p[d][0]),(d!==x-1||t!=="SHA-512/224")&&g.putInt32(p[d][1]);return g},a};var gs=null,Fc=!1,ms=null,Sr=null;function wy(){gs="\x80",gs+=pt.util.fillString("\0",128),ms=[[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]],Sr={},Sr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Sr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Sr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Sr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Fc=!0}function Mc(t,e,r){for(var n,i,o,s,a,c,f,u,l,h,y,d,p,g,x,w,v,R,E,S,L,N,z,H,V,Q,at,Ut,C,P,_,D,A,O,K,q=r.length();q>=128;){for(C=0;C<16;++C)e[C][0]=r.getInt32()>>>0,e[C][1]=r.getInt32()>>>0;for(;C<80;++C)D=e[C-2],P=D[0],_=D[1],n=((P>>>19|_<<13)^(_>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|_>>>19)^(_<<3|P>>>29)^(P<<26|_>>>6))>>>0,O=e[C-15],P=O[0],_=O[1],o=((P>>>1|_<<31)^(P>>>8|_<<24)^P>>>7)>>>0,s=((P<<31|_>>>1)^(P<<24|_>>>8)^(P<<25|_>>>7))>>>0,A=e[C-7],K=e[C-16],_=i+A[1]+s+K[1],e[C][0]=n+A[0]+o+K[0]+(_/4294967296>>>0)>>>0,e[C][1]=_>>>0;for(p=t[0][0],g=t[0][1],x=t[1][0],w=t[1][1],v=t[2][0],R=t[2][1],E=t[3][0],S=t[3][1],L=t[4][0],N=t[4][1],z=t[5][0],H=t[5][1],V=t[6][0],Q=t[6][1],at=t[7][0],Ut=t[7][1],C=0;C<80;++C)f=((L>>>14|N<<18)^(L>>>18|N<<14)^(N>>>9|L<<23))>>>0,u=((L<<18|N>>>14)^(L<<14|N>>>18)^(N<<23|L>>>9))>>>0,l=(V^L&(z^V))>>>0,h=(Q^N&(H^Q))>>>0,a=((p>>>28|g<<4)^(g>>>2|p<<30)^(g>>>7|p<<25))>>>0,c=((p<<4|g>>>28)^(g<<30|p>>>2)^(g<<25|p>>>7))>>>0,y=(p&x|v&(p^x))>>>0,d=(g&w|R&(g^w))>>>0,_=Ut+u+h+ms[C][1]+e[C][1],n=at+f+l+ms[C][0]+e[C][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+d,o=a+y+(_/4294967296>>>0)>>>0,s=_>>>0,at=V,Ut=Q,V=z,Q=H,z=L,H=N,_=S+i,L=E+n+(_/4294967296>>>0)>>>0,N=_>>>0,E=v,S=R,v=x,R=w,x=p,w=g,_=i+s,p=n+o+(_/4294967296>>>0)>>>0,g=_>>>0;_=t[0][1]+g,t[0][0]=t[0][0]+p+(_/4294967296>>>0)>>>0,t[0][1]=_>>>0,_=t[1][1]+w,t[1][0]=t[1][0]+x+(_/4294967296>>>0)>>>0,t[1][1]=_>>>0,_=t[2][1]+R,t[2][0]=t[2][0]+v+(_/4294967296>>>0)>>>0,t[2][1]=_>>>0,_=t[3][1]+S,t[3][0]=t[3][0]+E+(_/4294967296>>>0)>>>0,t[3][1]=_>>>0,_=t[4][1]+N,t[4][0]=t[4][0]+L+(_/4294967296>>>0)>>>0,t[4][1]=_>>>0,_=t[5][1]+H,t[5][0]=t[5][0]+z+(_/4294967296>>>0)>>>0,t[5][1]=_>>>0,_=t[6][1]+Q,t[6][0]=t[6][0]+V+(_/4294967296>>>0)>>>0,t[6][1]=_>>>0,_=t[7][1]+Ut,t[7][0]=t[7][0]+at+(_/4294967296>>>0)>>>0,t[7][1]=_>>>0,q-=128}}});var tu=ut((j4,jf)=>{"use strict";function Jf(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function I1(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return Jf(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),Jf(new i,r)}}jf.exports=I1});var iu=ut((u8,nu)=>{function R1(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}nu.exports=R1});var P1={};Nt(P1,{identify:()=>D1,multicodecs:()=>N1});var fa="/ipfs/id/1.0.0",ua="/ipfs/id/push/1.0.0",la="0.1.0",ha="id",da="id/push",pa="1.0.0",ya="1.0.0";var O1=Symbol.for("@libp2p/connection");var M1=Symbol.for("@libp2p/content-routing");var q1=Symbol.for("@libp2p/peer-discovery");var ga=Symbol.for("@libp2p/peer-id");var G1=Symbol.for("@libp2p/peer-routing");var ma;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(ma||(ma={}));var Z1=Symbol.for("@libp2p/transport");var xa;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(xa||(xa={}));var F=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ba="ERR_NOT_FOUND";var Hi=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},eg=globalThis.CustomEvent??Hi,kn=(t,...e)=>{try{[...e]}catch{}};var $i={};Nt($i,{base58btc:()=>Et,base58flickr:()=>Lu});function Iu(t,e){if(t.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<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),f=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,g=0,x=0,w=d.length;x!==w&&d[x]===0;)x++,p++;for(var v=(w-x)*u+1>>>0,R=new Uint8Array(v);x!==w;){for(var E=d[x],S=0,L=v-1;(E!==0||S<g)&&L!==-1;L--,S++)E+=256*R[L]>>>0,R[L]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");g=S,x++}for(var N=v-g;N!==v&&R[N]===0;)N++;for(var z=c.repeat(p);N<v;++N)z+=t.charAt(R[N]);return z}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var g=0,x=0;d[p]===c;)g++,p++;for(var w=(d.length-p)*f+1>>>0,v=new Uint8Array(w);d[p];){var R=r[d.charCodeAt(p)];if(R===255)return;for(var E=0,S=w-1;(R!==0||E<x)&&S!==-1;S--,E++)R+=a*v[S]>>>0,v[S]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");x=E,p++}if(d[p]!==" "){for(var L=w-x;L!==w&&v[L]===0;)L++;for(var N=new Uint8Array(g+(w-L)),z=g;L!==w;)N[z++]=v[L++];return N}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var Cu=Iu,Tu=Cu,va=Tu;var Cg=new Uint8Array(0);var wa=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},Ne=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var Ea=t=>new TextEncoder().encode(t),Sa=t=>new TextDecoder().decode(t);var zi=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Gi=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Aa(this,e)}},Wi=class{constructor(e){this.decoders=e}or(e){return Aa(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Aa=(t,e)=>new Wi({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Yi=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new zi(e,r,n),this.decoder=new Gi(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},_r=({name:t,prefix:e,encode:r,decode:n})=>new Yi(t,e,r,n),We=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=va(r,e);return _r({prefix:t,name:e,encode:n,decode:o=>Ne(i(o))})},_u=(t,e,r,n)=>{let i={};for(let u=0;u<e.length;++u)i[e[u]]=u;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,f=0;for(let u=0;u<o;++u){let l=i[t[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[f++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},Ru=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},vt=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>_r({prefix:e,name:t,encode(i){return Ru(i,n,r)},decode(i){return _u(i,n,r,t)}});var Et=We({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Lu=We({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Zi={};Nt(Zi,{base10:()=>Nu});var Nu=We({prefix:"9",name:"base10",alphabet:"0123456789"});var Qi={};Nt(Qi,{base16:()=>Du,base16upper:()=>Pu});var Du=vt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pu=vt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xi={};Nt(Xi,{base2:()=>ku});var ku=vt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ji={};Nt(Ji,{base256emoji:()=>Vu});var Ia=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}"),Uu=Ia.reduce((t,e,r)=>(t[r]=e,t),[]),Ou=Ia.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Ku(t){return t.reduce((e,r)=>(e+=Uu[r],e),"")}function Mu(t){let e=[];for(let r of t){let n=Ou[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Vu=_r({prefix:"\u{1F680}",name:"base256emoji",encode:Ku,decode:Mu});var ji={};Nt(ji,{base32:()=>De,base32hex:()=>zu,base32hexpad:()=>Wu,base32hexpadupper:()=>Yu,base32hexupper:()=>Gu,base32pad:()=>qu,base32padupper:()=>Hu,base32upper:()=>Fu,base32z:()=>$u});var De=vt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Fu=vt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),qu=vt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Hu=vt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),zu=vt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Gu=vt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Wu=vt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Yu=vt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),$u=vt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var to={};Nt(to,{base36:()=>Zu,base36upper:()=>Qu});var Zu=We({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Qu=We({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ro={};Nt(ro,{base64:()=>Un,base64pad:()=>Xu,base64url:()=>eo,base64urlpad:()=>Ju});var Un=vt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Xu=vt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),eo=vt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ju=vt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var no={};Nt(no,{base8:()=>ju});var ju=vt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var io={};Nt(io,{identity:()=>tl});var tl=_r({prefix:"\0",name:"identity",encode:t=>Sa(t),decode:t=>Ea(t)});var qg=new TextEncoder,Hg=new TextDecoder;var so={};Nt(so,{identity:()=>Ye});var nl=_a,Ca=128,il=127,ol=~il,sl=Math.pow(2,31);function _a(t,e,r){e=e||[],r=r||0;for(var n=r;t>=sl;)e[r++]=t&255|Ca,t/=128;for(;t&ol;)e[r++]=t&255|Ca,t>>>=7;return e[r]=t|0,_a.bytes=r-n+1,e}var al=oo,cl=128,Ta=127;function oo(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw oo.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&Ta)<<i:(s&Ta)*Math.pow(2,i),i+=7}while(s>=cl);return oo.bytes=o-n,r}var fl=Math.pow(2,7),ul=Math.pow(2,14),ll=Math.pow(2,21),hl=Math.pow(2,28),dl=Math.pow(2,35),pl=Math.pow(2,42),yl=Math.pow(2,49),gl=Math.pow(2,56),ml=Math.pow(2,63),xl=function(t){return t<fl?1:t<ul?2:t<ll?3:t<hl?4:t<dl?5:t<pl?6:t<yl?7:t<gl?8:t<ml?9:10},bl={encode:nl,decode:al,encodingLength:xl},vl=bl,rn=vl;var nn=(t,e=0)=>[rn.decode(t,e),rn.decode.bytes],Rr=(t,e,r=0)=>(rn.encode(t,e,r),e),Lr=t=>rn.encodingLength(t);var be=(t,e)=>{let r=e.byteLength,n=Lr(t),i=n+Lr(r),o=new Uint8Array(i+r);return Rr(t,o,0),Rr(r,o,n),o.set(e,i),new Nr(t,r,e,o)},ur=t=>{let e=Ne(t),[r,n]=nn(e),[i,o]=nn(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Nr(r,i,s,e)},Ra=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&wa(t.bytes,r.bytes)}},Nr=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var La=0,wl="identity",Na=Ne,El=t=>be(La,Na(t)),Ye={code:La,name:wl,encode:Na,digest:El};var fo={};Nt(fo,{sha256:()=>Mt,sha512:()=>Sl});var co=({name:t,code:e,encode:r})=>new ao(t,e,r),ao=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?be(this.code,r):r.then(n=>be(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Pa=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Mt=co({name:"sha2-256",code:18,encode:Pa("SHA-256")}),Sl=co({name:"sha2-512",code:19,encode:Pa("SHA-512")});var ka=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Al(r,uo(t),e||Et.encoder);default:return Il(r,uo(t),e||De.encoder)}};var Ua=new WeakMap,uo=t=>{let e=Ua.get(t);if(e==null){let r=new Map;return Ua.set(t,r),r}return e},ae=class t{constructor(e,r,n,i){this.code=r,this.version=e,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:e,multihash:r}=this;if(e!==on)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Cl)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.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:e,digest:r}=this.multihash,n=be(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ra(e.multihash,n.multihash)}toString(e){return ka(this,e)}toJSON(){return{"/":ka(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||Oa(n,i,o.bytes))}else if(r[Tl]===!0){let{version:n,multihash:i,code:o}=r,s=ur(i);return t.create(n,o,s)}else return null}static create(e,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(e){case 0:{if(r!==on)throw new Error(`Version 0 CID must use dag-pb (code: ${on}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Oa(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,on,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=Ne(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new Nr(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,h]=nn(e.subarray(r));return r+=h,l},i=n(),o=on;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),f=r+c,u=f-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:u,size:f}}static parse(e,r){let[n,i]=Bl(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return uo(o).set(n,e),o}},Bl=(t,e)=>{switch(t[0]){case"Q":{let r=e||Et;return[Et.prefix,r.decode(`${Et.prefix}${t}`)]}case Et.prefix:{let r=e||Et;return[Et.prefix,r.decode(t)]}case De.prefix:{let r=e||De;return[De.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},Al=(t,e,r)=>{let{prefix:n}=r;if(n!==Et.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Il=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},on=112,Cl=18,Oa=(t,e,r)=>{let n=Lr(t),i=n+Lr(e),o=new Uint8Array(i+r.byteLength);return Rr(t,o,0),Rr(e,o,n),o.set(r,i),o},Tl=Symbol.for("@ipld/js-cid/CID");var $e={...io,...Xi,...no,...Zi,...Qi,...ji,...to,...$i,...ro,...Ji},om={...fo,...so};function Tt(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var _l=Symbol.for("nodejs.util.inspect.custom"),Ka=Object.values($e).map(t=>t.decoder).reduce((t,e)=>t.or(e),$e.identity.decoder),Ma=114,lo=36,ho=37,sn=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[ga]=!0;toString(){return this.string==null&&(this.string=Et.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ae.createV1(Ma,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Tt(this.multihash.bytes,e);if(typeof e=="string")return Rl(e).equals(this);if(e?.multihash?.bytes!=null)return Tt(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[_l](){return`PeerId(${this.toString()})`}},Dr=class extends sn{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},Pr=class extends sn{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},kr=class extends sn{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Rl(t,e){if(e=e??Ka,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=ur(Et.decode(`z${t}`));return t.startsWith("12D")?new Pr({multihash:r}):t.startsWith("16U")?new kr({multihash:r}):new Dr({multihash:r})}return po(Ka.decode(t))}function po(t){try{let e=ur(t);if(e.code===Ye.code){if(e.digest.length===lo)return new Pr({multihash:e});if(e.digest.length===ho)return new kr({multihash:e})}if(e.code===Mt.code)return new Dr({multihash:e})}catch{return Ll(ae.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Ll(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==Ma)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Mt.code)return new Dr({multihash:t.multihash});if(e.code===Ye.code){if(e.digest.length===lo)return new Pr({multihash:t.multihash});if(e.digest.length===ho)return new kr({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function an(t,e){return t.length===lo?new Pr({multihash:be(Ye.code,t),privateKey:e}):t.length===ho?new kr({multihash:be(Ye.code,t),privateKey:e}):new Dr({multihash:await Mt.digest(t),publicKey:t,privateKey:e})}var hv=Gt(ln(),1),dv=Gt(ec(),1);var Yy=Gt(ct(),1);function je(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Oe(t=0){return globalThis.Buffer?.alloc!=null?je(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ft(t=0){return globalThis.Buffer?.allocUnsafe!=null?je(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function nc(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var rc=nc("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Oo=nc("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=Ft(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),rp={utf8:rc,"utf-8":rc,hex:$e.base16,latin1:Oo,ascii:Oo,binary:Oo,...$e},ri=rp;function lt(t,e="utf8"){let r=ri[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?je(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var ys={};Nt(ys,{Ed25519PrivateKey:()=>Er,Ed25519PublicKey:()=>vn,generateKeyPair:()=>my,generateKeyPairFromSeed:()=>Kc,unmarshalEd25519PrivateKey:()=>yy,unmarshalEd25519PublicKey:()=>gy});var rx=Gt(It(),1),nx=Gt(Jn(),1),ic=Gt(ct(),1);function _t(t,e){if(globalThis.Buffer!=null)return je(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=Ft(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return je(r)}function nt(t,e="utf8"){let r=ri[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function ue(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=_t([new Uint8Array(e-r.length),r])}return nt(r,"base64url")}function Jt(t){let e=oc(t);return new ic.default.jsbn.BigInteger(nt(e,"base16"),16)}function oc(t,e){let r=lt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=_t([new Uint8Array(e-r.length),r])}return r}function re(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function sc(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Ko(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function ac(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");sc(t.outputLen),sc(t.blockLen)}function Vr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function cc(t,e){Ko(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var ni=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var fc=t=>t instanceof Uint8Array;var ii=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),le=(t,e)=>t<<32-e|t>>>e,np=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!np)throw new Error("Non little-endian hardware is not supported");function Mo(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function pn(t){if(typeof t=="string"&&(t=Mo(t)),!fc(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function oi(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!fc(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var Fr=class{clone(){return this._cloneInto()}},lx={}.toString;function si(t){let e=n=>t().update(pn(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function qr(t=32){if(ni&&typeof ni.getRandomValues=="function")return ni.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function ip(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,f=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+f,a,n)}var Hr=class extends Fr{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ii(this.buffer)}update(e){Vr(this);let{view:r,buffer:n,blockLen:i}=this;e=pn(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=ii(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Vr(this),cc(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;ip(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=ii(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=c/4,u=this.get();if(f>u.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<f;l++)a.setUint32(4*l,u[l],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var ai=BigInt(4294967295),Vo=BigInt(32);function uc(t,e=!1){return e?{h:Number(t&ai),l:Number(t>>Vo&ai)}:{h:Number(t>>Vo&ai)|0,l:Number(t&ai)|0}}function op(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=uc(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var sp=(t,e)=>BigInt(t>>>0)<<Vo|BigInt(e>>>0),ap=(t,e,r)=>t>>>r,cp=(t,e,r)=>t<<32-r|e>>>r,fp=(t,e,r)=>t>>>r|e<<32-r,up=(t,e,r)=>t<<32-r|e>>>r,lp=(t,e,r)=>t<<64-r|e>>>r-32,hp=(t,e,r)=>t>>>r-32|e<<64-r,dp=(t,e)=>e,pp=(t,e)=>t,yp=(t,e,r)=>t<<r|e>>>32-r,gp=(t,e,r)=>e<<r|t>>>32-r,mp=(t,e,r)=>e<<r-32|t>>>64-r,xp=(t,e,r)=>t<<r-32|e>>>64-r;function bp(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var vp=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),wp=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Ep=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),Sp=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,Bp=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Ap=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var Ip={fromBig:uc,split:op,toBig:sp,shrSH:ap,shrSL:cp,rotrSH:fp,rotrSL:up,rotrBH:lp,rotrBL:hp,rotr32H:dp,rotr32L:pp,rotlSH:yp,rotlSL:gp,rotlBH:mp,rotlBL:xp,add:bp,add3L:vp,add3H:wp,add4L:Ep,add4H:Sp,add5H:Ap,add5L:Bp},Y=Ip;var[Cp,Tp]=Y.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),tr=new Uint32Array(80),er=new Uint32Array(80),Fo=class extends Hr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:f,El:u,Fh:l,Fl:h,Gh:y,Gl:d,Hh:p,Hl:g}=this;return[e,r,n,i,o,s,a,c,f,u,l,h,y,d,p,g]}set(e,r,n,i,o,s,a,c,f,u,l,h,y,d,p,g){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=f|0,this.El=u|0,this.Fh=l|0,this.Fl=h|0,this.Gh=y|0,this.Gl=d|0,this.Hh=p|0,this.Hl=g|0}process(e,r){for(let v=0;v<16;v++,r+=4)tr[v]=e.getUint32(r),er[v]=e.getUint32(r+=4);for(let v=16;v<80;v++){let R=tr[v-15]|0,E=er[v-15]|0,S=Y.rotrSH(R,E,1)^Y.rotrSH(R,E,8)^Y.shrSH(R,E,7),L=Y.rotrSL(R,E,1)^Y.rotrSL(R,E,8)^Y.shrSL(R,E,7),N=tr[v-2]|0,z=er[v-2]|0,H=Y.rotrSH(N,z,19)^Y.rotrBH(N,z,61)^Y.shrSH(N,z,6),V=Y.rotrSL(N,z,19)^Y.rotrBL(N,z,61)^Y.shrSL(N,z,6),Q=Y.add4L(L,V,er[v-7],er[v-16]),at=Y.add4H(Q,S,H,tr[v-7],tr[v-16]);tr[v]=at|0,er[v]=Q|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:f,Dl:u,Eh:l,El:h,Fh:y,Fl:d,Gh:p,Gl:g,Hh:x,Hl:w}=this;for(let v=0;v<80;v++){let R=Y.rotrSH(l,h,14)^Y.rotrSH(l,h,18)^Y.rotrBH(l,h,41),E=Y.rotrSL(l,h,14)^Y.rotrSL(l,h,18)^Y.rotrBL(l,h,41),S=l&y^~l&p,L=h&d^~h&g,N=Y.add5L(w,E,L,Tp[v],er[v]),z=Y.add5H(N,x,R,S,Cp[v],tr[v]),H=N|0,V=Y.rotrSH(n,i,28)^Y.rotrBH(n,i,34)^Y.rotrBH(n,i,39),Q=Y.rotrSL(n,i,28)^Y.rotrBL(n,i,34)^Y.rotrBL(n,i,39),at=n&o^n&a^o&a,Ut=i&s^i&c^s&c;x=p|0,w=g|0,p=y|0,g=d|0,y=l|0,d=h|0,{h:l,l:h}=Y.add(f|0,u|0,z|0,H|0),f=a|0,u=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let C=Y.add3L(H,Q,Ut);n=Y.add3H(C,z,V,at),i=C|0}({h:n,l:i}=Y.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=Y.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=Y.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:f,l:u}=Y.add(this.Dh|0,this.Dl|0,f|0,u|0),{h:l,l:h}=Y.add(this.Eh|0,this.El|0,l|0,h|0),{h:y,l:d}=Y.add(this.Fh|0,this.Fl|0,y|0,d|0),{h:p,l:g}=Y.add(this.Gh|0,this.Gl|0,p|0,g|0),{h:x,l:w}=Y.add(this.Hh|0,this.Hl|0,x|0,w|0),this.set(n,i,o,s,a,c,f,u,l,h,y,d,p,g,x,w)}roundClean(){tr.fill(0),er.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var qo=si(()=>new Fo);var ui={};Nt(ui,{bitGet:()=>kp,bitLen:()=>Pp,bitMask:()=>yn,bitSet:()=>Up,bytesToHex:()=>Ke,bytesToNumberBE:()=>Me,bytesToNumberLE:()=>rr,concatBytes:()=>Ve,createHmacDrbg:()=>Go,ensureBytes:()=>wt,equalBytes:()=>Np,hexToBytes:()=>mr,hexToNumber:()=>zo,numberToBytesBE:()=>nr,numberToBytesLE:()=>xr,numberToHexUnpadded:()=>dc,numberToVarBytesBE:()=>Lp,utf8ToBytes:()=>Dp,validateObject:()=>Ie});var hc=BigInt(0),ci=BigInt(1),_p=BigInt(2),fi=t=>t instanceof Uint8Array,Rp=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ke(t){if(!fi(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Rp[t[r]];return e}function dc(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function zo(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function mr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Me(t){return zo(Ke(t))}function rr(t){if(!fi(t))throw new Error("Uint8Array expected");return zo(Ke(Uint8Array.from(t).reverse()))}function nr(t,e){return mr(t.toString(16).padStart(e*2,"0"))}function xr(t,e){return nr(t,e).reverse()}function Lp(t){return mr(dc(t))}function wt(t,e,r){let n;if(typeof e=="string")try{n=mr(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(fi(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function Ve(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!fi(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function Np(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Dp(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Pp(t){let e;for(e=0;t>hc;t>>=ci,e+=1);return e}function kp(t,e){return t>>BigInt(e)&ci}var Up=(t,e,r)=>t|(r?ci:hc)<<BigInt(e),yn=t=>(_p<<BigInt(t-1))-ci,Ho=t=>new Uint8Array(t),lc=t=>Uint8Array.from(t);function Go(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Ho(t),i=Ho(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Ho())=>{i=a(lc([0]),l),n=a(),l.length!==0&&(i=a(lc([1]),l),n=a())},f=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<e;){n=a();let y=n.slice();h.push(y),l+=n.length}return Ve(...h)};return(l,h)=>{s(),c(l);let y;for(;!(y=h(f()));)c();return s(),y}}var Op={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Ie(t,e,r={}){let n=(i,o,s)=>{let a=Op[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Rt=BigInt(0),gt=BigInt(1),br=BigInt(2),Kp=BigInt(3),Wo=BigInt(4),pc=BigInt(5),yc=BigInt(8),Mp=BigInt(9),Vp=BigInt(16);function ft(t,e){let r=t%e;return r>=Rt?r:e+r}function Fp(t,e,r){if(r<=Rt||e<Rt)throw new Error("Expected power/modulo > 0");if(r===gt)return Rt;let n=gt;for(;e>Rt;)e>&&(n=n*t%r),t=t*t%r,e>>=gt;return n}function mt(t,e,r){let n=t;for(;e-- >Rt;)n*=n,n%=r;return n}function li(t,e){if(t===Rt||e<=Rt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=ft(t,e),n=e,i=Rt,o=gt,s=gt,a=Rt;for(;r!==Rt;){let f=n/r,u=n%r,l=i-s*f,h=o-a*f;n=r,r=u,i=s,o=a,s=l,a=h}if(n!==gt)throw new Error("invert: does not exist");return ft(i,e)}function qp(t){let e=(t-gt)/br,r,n,i;for(r=t-gt,n=0;r%br===Rt;r/=br,n++);for(i=br;i<t&&Fp(i,e,t)!==t-gt;i++);if(n===1){let s=(t+gt)/Wo;return function(c,f){let u=c.pow(f,s);if(!c.eql(c.sqr(u),f))throw new Error("Cannot find square root");return u}}let o=(r+gt)/br;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let f=n,u=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(h);y<f&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let d=a.pow(u,gt<<BigInt(f-y-1));u=a.sqr(d),l=a.mul(l,d),h=a.mul(h,u),f=y}return l}}function Hp(t){if(t%Wo===Kp){let e=(t+gt)/Wo;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%yc===pc){let e=(t-pc)/yc;return function(n,i){let o=n.mul(i,br),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,br),s),f=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(f),i))throw new Error("Cannot find square root");return f}}return t%Vp,qp(t)}var gc=(t,e)=>(ft(t,e)>)===gt,zp=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Yo(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=zp.reduce((n,i)=>(n[i]="function",n),e);return Ie(t,r)}function Gp(t,e,r){if(r<Rt)throw new Error("Expected power > 0");if(r===Rt)return t.ONE;if(r===gt)return e;let n=t.ONE,i=e;for(;r>Rt;)r>&&(n=t.mul(n,i)),i=t.sqr(i),r>>=gt;return n}function Wp(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function $o(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function hi(t,e,r=!1,n={}){if(t<=Rt)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=$o(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Hp(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:yn(i),ZERO:Rt,ONE:gt,create:c=>ft(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Rt<=c&&c<t},is0:c=>c===Rt,isOdd:c=>(c>)===gt,neg:c=>ft(-c,t),eql:(c,f)=>c===f,sqr:c=>ft(c*c,t),add:(c,f)=>ft(c+f,t),sub:(c,f)=>ft(c-f,t),mul:(c,f)=>ft(c*f,t),pow:(c,f)=>Gp(a,c,f),div:(c,f)=>ft(c*li(f,t),t),sqrN:c=>c*c,addN:(c,f)=>c+f,subN:(c,f)=>c-f,mulN:(c,f)=>c*f,inv:c=>li(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Wp(a,c),cmov:(c,f,u)=>u?f:c,toBytes:c=>r?xr(c,o):nr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?rr(c):Me(c)}});return Object.freeze(a)}function mc(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function xc(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Zo(t){let e=xc(t);return e+Math.ceil(e/2)}function bc(t,e,r=!1){let n=t.length,i=xc(e),o=Zo(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Me(t):rr(t),a=ft(s,e-gt)+gt;return r?xr(a,i):nr(a,i)}var $p=BigInt(0),Qo=BigInt(1);function di(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>$p;)o&Qo&&(s=s.add(a)),a=a.double(),o>>=Qo;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],f=i,u=f;for(let l=0;l<s;l++){u=f,c.push(u);for(let h=1;h<a;h++)u=u.add(f),c.push(u);f=u.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),f=t.ZERO,u=t.BASE,l=BigInt(2**i-1),h=2**i,y=BigInt(i);for(let d=0;d<a;d++){let p=d*c,g=Number(s&l);s>>=y,g>c&&(g-=h,s+=Qo);let x=p,w=p+Math.abs(g)-1,v=d%2!==0,R=g<0;g===0?u=u.add(r(v,o[x])):f=f.add(r(R,o[w]))}return{p:f,f:u}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,f=o.get(i);return f||(f=this.precomputeWindow(i,c),c!==1&&o.set(i,a(f))),this.wNAF(c,f,s)}}}function gn(t){return Yo(t.Fp),Ie(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...$o(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var he=BigInt(0),jt=BigInt(1),pi=BigInt(2),Zp=BigInt(8),Qp={zip215:!0};function Xp(t){let e=gn(t);return Ie(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function yi(t){let e=Xp(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,f=pi<<BigInt(a*8)-jt,u=r.create,l=e.uvRatio||((D,A)=>{try{return{isValid:!0,value:r.sqrt(D*r.inv(A))}}catch{return{isValid:!1,value:he}}}),h=e.adjustScalarBytes||(D=>D),y=e.domain||((D,A,O)=>{if(A.length||O)throw new Error("Contexts/pre-hash are not supported");return D}),d=D=>typeof D=="bigint"&&he<D,p=(D,A)=>d(D)&&d(A)&&D<A,g=D=>D===he||p(D,f);function x(D,A){if(p(D,A))return D;throw new Error(`Expected valid scalar < ${A}, got ${typeof D} ${D}`)}function w(D){return D===he?D:x(D,n)}let v=new Map;function R(D){if(!(D instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(A,O,K,q){if(this.ex=A,this.ey=O,this.ez=K,this.et=q,!g(A))throw new Error("x required");if(!g(O))throw new Error("y required");if(!g(K))throw new Error("z required");if(!g(q))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(A){if(A instanceof E)throw new Error("extended point not allowed");let{x:O,y:K}=A||{};if(!g(O)||!g(K))throw new Error("invalid affine point");return new E(O,K,jt,u(O*K))}static normalizeZ(A){let O=r.invertBatch(A.map(K=>K.ez));return A.map((K,q)=>K.toAffine(O[q])).map(E.fromAffine)}_setWindowSize(A){this._WINDOW_SIZE=A,v.delete(this)}assertValidity(){let{a:A,d:O}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:q,ez:$,et:X}=this,st=u(K*K),J=u(q*q),et=u($*$),At=u(et*et),bt=u(st*A),Ot=u(et*u(bt+J)),Kt=u(At+u(O*u(st*J)));if(Ot!==Kt)throw new Error("bad point: equation left != right (1)");let Ct=u(K*q),Vt=u($*X);if(Ct!==Vt)throw new Error("bad point: equation left != right (2)")}equals(A){R(A);let{ex:O,ey:K,ez:q}=this,{ex:$,ey:X,ez:st}=A,J=u(O*st),et=u($*q),At=u(K*st),bt=u(X*q);return J===et&&At===bt}is0(){return this.equals(E.ZERO)}negate(){return new E(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:A}=e,{ex:O,ey:K,ez:q}=this,$=u(O*O),X=u(K*K),st=u(pi*u(q*q)),J=u(A*$),et=O+K,At=u(u(et*et)-$-X),bt=J+X,Ot=bt-st,Kt=J-X,Ct=u(At*Ot),Vt=u(bt*Kt),Le=u(At*Kt),fr=u(Ot*bt);return new E(Ct,Vt,fr,Le)}add(A){R(A);let{a:O,d:K}=e,{ex:q,ey:$,ez:X,et:st}=this,{ex:J,ey:et,ez:At,et:bt}=A;if(O===BigInt(-1)){let ea=u(($-q)*(et+J)),ra=u(($+q)*(et-J)),qi=u(ra-ea);if(qi===he)return this.double();let na=u(X*pi*bt),ia=u(st*pi*At),oa=ia+na,sa=ra+ea,aa=ia-na,gu=u(oa*qi),mu=u(sa*aa),xu=u(oa*aa),bu=u(qi*sa);return new E(gu,mu,bu,xu)}let Ot=u(q*J),Kt=u($*et),Ct=u(st*K*bt),Vt=u(X*At),Le=u((q+$)*(J+et)-Ot-Kt),fr=Vt-Ct,en=Vt+Ct,ta=u(Kt-O*Ot),hu=u(Le*fr),du=u(en*ta),pu=u(Le*ta),yu=u(fr*en);return new E(hu,du,yu,pu)}subtract(A){return this.add(A.negate())}wNAF(A){return N.wNAFCached(this,v,A,E.normalizeZ)}multiply(A){let{p:O,f:K}=this.wNAF(x(A,n));return E.normalizeZ([O,K])[0]}multiplyUnsafe(A){let O=w(A);return O===he?L:this.equals(L)||O===jt?this:this.equals(S)?this.wNAF(O).p:N.unsafeLadder(this,O)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return N.unsafeLadder(this,n).is0()}toAffine(A){let{ex:O,ey:K,ez:q}=this,$=this.is0();A==null&&(A=$?Zp:r.inv(q));let X=u(O*A),st=u(K*A),J=u(q*A);if($)return{x:he,y:jt};if(J!==jt)throw new Error("invZ was invalid");return{x:X,y:st}}clearCofactor(){let{h:A}=e;return A===jt?this:this.multiplyUnsafe(A)}static fromHex(A,O=!1){let{d:K,a:q}=e,$=r.BYTES;A=wt("pointHex",A,$);let X=A.slice(),st=A[$-1];X[$-1]=st&-129;let J=rr(X);J===he||(O?x(J,f):x(J,r.ORDER));let et=u(J*J),At=u(et-jt),bt=u(K*et-q),{isValid:Ot,value:Kt}=l(At,bt);if(!Ot)throw new Error("Point.fromHex: invalid y coordinate");let Ct=(Kt&jt)===jt,Vt=(st&128)!==0;if(!O&&Kt===he&&Vt)throw new Error("Point.fromHex: x=0 and x_0=1");return Vt!==Ct&&(Kt=u(-Kt)),E.fromAffine({x:Kt,y:J})}static fromPrivateKey(A){return V(A).point}toRawBytes(){let{x:A,y:O}=this.toAffine(),K=xr(O,r.BYTES);return K[K.length-1]|=A&jt?128:0,K}toHex(){return Ke(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,jt,u(e.Gx*e.Gy)),E.ZERO=new E(he,jt,jt,he);let{BASE:S,ZERO:L}=E,N=di(E,a*8);function z(D){return ft(D,n)}function H(D){return z(rr(D))}function V(D){let A=a;D=wt("private key",D,A);let O=wt("hashed private key",o(D),2*A),K=h(O.slice(0,A)),q=O.slice(A,2*A),$=H(K),X=S.multiply($),st=X.toRawBytes();return{head:K,prefix:q,scalar:$,point:X,pointBytes:st}}function Q(D){return V(D).pointBytes}function at(D=new Uint8Array,...A){let O=Ve(...A);return H(o(y(O,wt("context",D),!!i)))}function Ut(D,A,O={}){D=wt("message",D),i&&(D=i(D));let{prefix:K,scalar:q,pointBytes:$}=V(A),X=at(O.context,K,D),st=S.multiply(X).toRawBytes(),J=at(O.context,st,$,D),et=z(X+J*q);w(et);let At=Ve(st,xr(et,r.BYTES));return wt("result",At,a*2)}let C=Qp;function P(D,A,O,K=C){let{context:q,zip215:$}=K,X=r.BYTES;D=wt("signature",D,2*X),A=wt("message",A),i&&(A=i(A));let st=rr(D.slice(X,2*X)),J,et,At;try{J=E.fromHex(O,$),et=E.fromHex(D.slice(0,X),$),At=S.multiplyUnsafe(st)}catch{return!1}if(!$&&J.isSmallOrder())return!1;let bt=at(q,et.toRawBytes(),J.toRawBytes(),A);return et.add(J.multiplyUnsafe(bt)).subtract(At).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:Q,sign:Ut,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:V,randomPrivateKey:()=>s(r.BYTES),precompute(D=8,A=E.BASE){return A._setWindowSize(D),A.multiply(BigInt(3)),A}}}}var Jo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),vc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Dx=BigInt(0),Jp=BigInt(1),Xo=BigInt(2),jp=BigInt(5),wc=BigInt(10),ty=BigInt(20),ey=BigInt(40),Ec=BigInt(80);function ry(t){let e=Jo,n=t*t%e*t%e,i=mt(n,Xo,e)*n%e,o=mt(i,Jp,e)*t%e,s=mt(o,jp,e)*o%e,a=mt(s,wc,e)*s%e,c=mt(a,ty,e)*a%e,f=mt(c,ey,e)*c%e,u=mt(f,Ec,e)*f%e,l=mt(u,Ec,e)*f%e,h=mt(l,wc,e)*s%e;return{pow_p_5_8:mt(h,Xo,e)*t%e,b2:n}}function ny(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function iy(t,e){let r=Jo,n=ft(e*e*e,r),i=ft(n*n*e,r),o=ry(t*i).pow_p_5_8,s=ft(t*n*o,r),a=ft(e*s*s,r),c=s,f=ft(s*vc,r),u=a===t,l=a===ft(-t,r),h=a===ft(-t*vc,r);return u&&(s=c),(l||h)&&(s=f),gc(s,r)&&(s=ft(-s,r)),{isValid:u||l,value:s}}var Fe=hi(Jo,void 0,!0),jo={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Fe,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:qo,randomBytes:qr,adjustScalarBytes:ny,uvRatio:iy},zr=yi(jo);function Sc(t,e,r){if(e.length>255)throw new Error("Context is too big");return oi(Mo("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var Px=yi({...jo,domain:Sc}),kx=yi({...jo,domain:Sc,prehash:qo});var oy=(Fe.ORDER+BigInt(3))/BigInt(8),Ux=Fe.pow(Xo,oy),Ox=Fe.sqrt(Fe.neg(Fe.ONE)),Kx=(Fe.ORDER-BigInt(5))/BigInt(8),Mx=BigInt(486662);var Vx=mc(Fe,Fe.neg(BigInt(486664)));var Fx=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),qx=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Hx=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),zx=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Gx=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Gr=32,qe=64,gi=32;function Bc(){let t=zr.utils.randomPrivateKey(),e=zr.getPublicKey(t);return{privateKey:Tc(t,e),publicKey:e}}function Ac(t){if(t.length!==gi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=zr.getPublicKey(e);return{privateKey:Tc(e,r),publicKey:r}}function Ic(t,e){let r=t.subarray(0,gi);return zr.sign(e instanceof Uint8Array?e:e.subarray(),r)}function Cc(t,e,r){return zr.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function Tc(t,e){let r=new Uint8Array(qe);for(let n=0;n<gi;n++)r[n]=t[n],r[gi+n]=e[n];return r}var Zt={get(t=globalThis){let e=t.crypto;if(e==null||e.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/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var ts={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function es(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=Zt.get();r*=8;async function c(l,h){let y=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:d};typeof h=="string"&&(h=lt(h));let g;if(h.length===0){g=await a.subtle.importKey("jwk",ts,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,v,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",ts,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(w,v,{name:e,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,g,l);return _t([y,p.iv,new Uint8Array(x)])}async function f(l,h){let y=l.subarray(0,o),d=l.subarray(o,o+n),p=l.subarray(o+n),g={name:e,iv:d};typeof h=="string"&&(h=lt(h));let x;if(h.length===0)try{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(v,R,{name:e,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",ts,{name:"AES-GCM"},!0,["decrypt"])}else{let v={name:"PBKDF2",salt:y,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(v,R,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(g,x,p);return new Uint8Array(w)}return{encrypt:c,decrypt:f}}async function Wr(t,e){let n=await es().encrypt(t,e);return Un.encode(n)}var rs=new Float32Array([-0]),ir=new Uint8Array(rs.buffer);function Rc(t,e,r){rs[0]=t,e[r]=ir[0],e[r+1]=ir[1],e[r+2]=ir[2],e[r+3]=ir[3]}function Lc(t,e){return ir[0]=t[e],ir[1]=t[e+1],ir[2]=t[e+2],ir[3]=t[e+3],rs[0]}var ns=new Float64Array([-0]),qt=new Uint8Array(ns.buffer);function Nc(t,e,r){ns[0]=t,e[r]=qt[0],e[r+1]=qt[1],e[r+2]=qt[2],e[r+3]=qt[3],e[r+4]=qt[4],e[r+5]=qt[5],e[r+6]=qt[6],e[r+7]=qt[7]}function Dc(t,e){return qt[0]=t[e],qt[1]=t[e+1],qt[2]=t[e+2],qt[3]=t[e+3],qt[4]=t[e+4],qt[5]=t[e+5],qt[6]=t[e+6],qt[7]=t[e+7],ns[0]}var ay=BigInt(Number.MAX_SAFE_INTEGER),cy=BigInt(Number.MIN_SAFE_INTEGER),Qt=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)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)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return vr;if(e<ay&&e>cy)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Pc&&(i=0n,++n>Pc&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return vr;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):vr}},vr=new Qt(0,0);vr.toBigInt=function(){return 0n};vr.zzEncode=vr.zzDecode=function(){return this};vr.length=function(){return 1};var Pc=4294967296n;function kc(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Uc(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function is(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function de(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function mi(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var os=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,de(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw de(this,4);return mi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw de(this,4);return mi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw de(this,4);let e=Lc(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw de(this,4);let e=Dc(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw de(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Uc(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw de(this,e);this.pos+=e}else do if(this.pos>=this.len)throw de(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new Qt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw de(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw de(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw de(this,8);let e=mi(this.buf,this.pos+=4),r=mi(this.buf,this.pos+=4);return new Qt(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function ss(t){return new os(t instanceof Uint8Array?t:t.subarray())}function pe(t,e){let r=ss(t);return e.decode(r)}function as(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return Ft(s);i+s>e&&(n=Ft(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var wr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function cs(){}var us=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},fy=as();function uy(t){return globalThis.Buffer!=null?Ft(t):fy(t)}var bn=class{len;head;tail;states;constructor(){this.len=0,this.head=new wr(cs,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new wr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new ls((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(mn,10,Qt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=Qt.fromBigInt(e);return this._push(mn,r.length(),r)}uint64Number(e){let r=Qt.fromNumber(e);return this._push(mn,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=Qt.fromBigInt(e).zzEncode();return this._push(mn,r.length(),r)}sint64Number(e){let r=Qt.fromNumber(e).zzEncode();return this._push(mn,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(fs,1,e?1:0)}fixed32(e){return this._push(xn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=Qt.fromBigInt(e);return this._push(xn,4,r.lo)._push(xn,4,r.hi)}fixed64Number(e){let r=Qt.fromNumber(e);return this._push(xn,4,r.lo)._push(xn,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Rc,4,e)}double(e){return this._push(Nc,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(fs,1,0):this.uint32(r)._push(hy,r,e)}string(e){let r=kc(e);return r!==0?this.uint32(r)._push(is,r,e):this._push(fs,1,0)}fork(){return this.states=new us(this),this.head=this.tail=new wr(cs,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new wr(cs,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=uy(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function fs(t,e,r){e[r]=t&255}function ly(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var ls=class extends wr{next;constructor(e,r){super(ly,e,r),this.next=void 0}};function mn(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function xn(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function hy(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(bn.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(dy,e,t),this},bn.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(py,e,t),this});function dy(t,e,r){e.set(t,r)}function py(t,e,r){t.length<40?is(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(lt(t),r)}function hs(){return new bn}function ye(t,e){let r=hs();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Yr;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Yr||(Yr={}));function xi(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function ds(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return xi("enum",Yr.VARINT,r,n)}function ge(t,e){return xi("message",Yr.LENGTH_DELIMITED,t,e)}var xt;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(xt||(xt={}));var ps;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(ps||(ps={}));(function(t){t.codec=()=>ds(ps)})(xt||(xt={}));var Ce;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=xt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Ce||(Ce={}));var Te;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),xt.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=xt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Te||(Te={}));var vn=class{_key;constructor(e){this._key=$r(e,Gr)}verify(e,r){return Cc(this._key,r,e)}marshal(){return this._key}get bytes(){return Ce.encode({Type:xt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}},Er=class{_key;_publicKey;constructor(e,r){this._key=$r(e,qe),this._publicKey=$r(r,Gr)}sign(e){return Ic(this._key,e)}get public(){return new vn(this._publicKey)}marshal(){return this._key}get bytes(){return Te.encode({Type:xt.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}async hash(){let e=Mt.digest(this.bytes),r;return re(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Ye.digest(this.public.bytes);return Et.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Wr(this.bytes,e);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function yy(t){if(t.length>qe){t=$r(t,qe+Gr);let n=t.subarray(0,qe),i=t.subarray(qe,t.length);return new Er(n,i)}t=$r(t,qe);let e=t.subarray(0,qe),r=t.subarray(Gr);return new Er(e,r)}function gy(t){return t=$r(t,Gr),new vn(t)}async function my(){let{privateKey:t,publicKey:e}=Bc();return new Er(t,e)}async function Kc(t){let{privateKey:e,publicKey:r}=Ac(t);return new Er(e,r)}function $r(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new F(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var xy={"P-256":256,"P-384":384,"P-521":521},by=Object.keys(xy),H2=by.join(" / ");var vs={};Nt(vs,{MAX_KEY_SIZE:()=>Bn,RsaPrivateKey:()=>Zr,RsaPublicKey:()=>Sn,fromJwk:()=>Ry,generateKeyPair:()=>Ly,unmarshalRsaPrivateKey:()=>Ty,unmarshalRsaPublicKey:()=>_y});var En=Gt(ct(),1);var Cb=Gt(Hc(),1);function vi(t){if(isNaN(t)||t<=0)throw new F("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return qr(t)}var fb=Gt(ei(),1),xs=Gt(ct(),1);function zc(t,e){return e.map(r=>Jt(t[r]))}function Gc(t){return xs.default.pki.setRsaPrivateKey(...zc(t,["n","e","d","p","q","dp","dq","qi"]))}function Wc(t){return xs.default.pki.setRsaPublicKey(...zc(t,["n","e"]))}var Br={};Nt(Br,{jwkToPkcs1:()=>Sy,jwkToPkix:()=>Ay,pkcs1ToJwk:()=>Ey,pkixToJwk:()=>By});var hb=Gt(ln(),1),db=Gt(ei(),1);var He=Gt(ct(),1);function Ey(t){let e=He.default.asn1.fromDer(nt(t,"ascii")),r=He.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:ue(r.n),e:ue(r.e),d:ue(r.d),p:ue(r.p),q:ue(r.q),dp:ue(r.dP),dq:ue(r.dQ),qi:ue(r.qInv),alg:"RS256"}}function Sy(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new F("JWK was missing components","ERR_INVALID_PARAMETERS");let e=He.default.pki.privateKeyToAsn1({n:Jt(t.n),e:Jt(t.e),d:Jt(t.d),p:Jt(t.p),q:Jt(t.q),dP:Jt(t.dp),dQ:Jt(t.dq),qInv:Jt(t.qi)});return lt(He.default.asn1.toDer(e).getBytes(),"ascii")}function By(t){let e=He.default.asn1.fromDer(nt(t,"ascii")),r=He.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:ue(r.n),e:ue(r.e)}}function Ay(t){if(t.n==null||t.e==null)throw new F("JWK was missing components","ERR_INVALID_PARAMETERS");let e=He.default.pki.publicKeyToAsn1({n:Jt(t.n),e:Jt(t.e)});return lt(He.default.asn1.toDer(e).getBytes(),"ascii")}async function Yc(t){let e=await Zt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Qc(e);return{privateKey:r[0],publicKey:r[1]}}async function bs(t){let r=[await Zt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Iy(t)],n=await Qc({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function $c(t,e){let r=await Zt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Zt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function Zc(t,e,r){let n=await Zt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Zt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function Qc(t){if(t.privateKey==null||t.publicKey==null)throw new F("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Zt.get().subtle.exportKey("jwk",t.privateKey),Zt.get().subtle.exportKey("jwk",t.publicKey)])}async function Iy(t){return Zt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Xc(t,e,r,n){let i=e?Wc(t):Gc(t),o=nt(r instanceof Uint8Array?r:r.subarray(),"ascii"),s=n(o,i);return lt(s,"ascii")}function Jc(t,e){return Xc(t,!0,e,(r,n)=>n.encrypt(r))}function jc(t,e){return Xc(t,!1,e,(r,n)=>n.decrypt(r))}function wi(t){if(t.kty!=="RSA")throw new F("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new F("invalid key modulus","ERR_INVALID_KEY_MODULUS");return lt(t.n,"base64url").length*8}var Bn=8192,Sn=class{_key;constructor(e){this._key=e}verify(e,r){return Zc(this._key,r,e)}marshal(){return Br.jwkToPkix(this._key)}get bytes(){return Ce.encode({Type:xt.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Jc(this._key,e)}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}},Zr=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return vi(16)}sign(e){return $c(this._key,e)}get public(){if(this._publicKey==null)throw new F("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Sn(this._publicKey)}decrypt(e){return jc(this._key,e)}marshal(){return Br.jwkToPkcs1(this._key)}get bytes(){return Te.encode({Type:xt.RSA,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return nt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new En.default.util.ByteBuffer(this.marshal()),i=En.default.asn1.fromDer(n),o=En.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return En.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return Wr(this.bytes,e);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ty(t){let e=Br.pkcs1ToJwk(t);if(wi(e)>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await bs(e);return new Zr(r.privateKey,r.publicKey)}function _y(t){let e=Br.pkixToJwk(t);if(wi(e)>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Sn(e)}async function Ry(t){if(wi(t)>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await bs(t);return new Zr(e.privateKey,e.publicKey)}async function Ly(t){if(t>Bn)throw new F("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yc(t);return new Zr(e.privateKey,e.publicKey)}var Is={};Nt(Is,{Secp256k1PrivateKey:()=>In,Secp256k1PublicKey:()=>An,generateKeyPair:()=>Wy,unmarshalSecp256k1PrivateKey:()=>zy,unmarshalSecp256k1PublicKey:()=>Gy});var Ny=(t,e,r)=>t&e^~t&r,Dy=(t,e,r)=>t&e^t&r^e&r,Py=new Uint32Array([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]),or=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sr=new Uint32Array(64),ws=class extends Hr{constructor(){super(64,32,8,!1),this.A=or[0]|0,this.B=or[1]|0,this.C=or[2]|0,this.D=or[3]|0,this.E=or[4]|0,this.F=or[5]|0,this.G=or[6]|0,this.H=or[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)sr[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let h=sr[l-15],y=sr[l-2],d=le(h,7)^le(h,18)^h>>>3,p=le(y,17)^le(y,19)^y>>>10;sr[l]=p+sr[l-7]+d+sr[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:f,H:u}=this;for(let l=0;l<64;l++){let h=le(a,6)^le(a,11)^le(a,25),y=u+h+Ny(a,c,f)+Py[l]+sr[l]|0,p=(le(n,2)^le(n,13)^le(n,22))+Dy(n,i,o)|0;u=f,f=c,c=a,a=s+y|0,s=o,o=i,i=n,n=y+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,f=f+this.G|0,u=u+this.H|0,this.set(n,i,o,s,a,c,f,u)}roundClean(){sr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var tf=si(()=>new ws);function ky(t){let e=gn(t);Ie(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Uy,hexToBytes:Oy}=ui,Ar={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Ar;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Uy(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Ar,r=typeof t=="string"?Oy(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=Ar._parseInt(r.subarray(2)),{d:s,l:a}=Ar._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=f=>Number.parseInt(f[0],16)&8?"00"+f:f,r=f=>{let u=f.toString(16);return u.length&1?`0${u}`:u},n=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},ze=BigInt(0),ne=BigInt(1),Ob=BigInt(2),ef=BigInt(3),Kb=BigInt(4);function Ky(t){let e=ky(t),{Fp:r}=e,n=e.toBytes||((d,p,g)=>{let x=p.toAffine();return Ve(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=e.fromBytes||(d=>{let p=d.subarray(1),g=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:g,y:x}});function o(d){let{a:p,b:g}=e,x=r.sqr(d),w=r.mul(x,d);return r.add(r.add(w,r.mul(d,p)),g)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&ze<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:g,wrapPrivateKey:x,n:w}=e;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=Ke(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(g*2,"0")}let v;try{v=typeof d=="bigint"?d:Me(wt("private key",d,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof d}`)}return x&&(v=ft(v,w)),a(v),v}let f=new Map;function u(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,g,x){if(this.px=p,this.py=g,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:g,y:x}=p||{};if(!p||!r.isValid(g)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let w=v=>r.eql(v,r.ZERO);return w(g)&&w(x)?l.ZERO:new l(g,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let g=r.invertBatch(p.map(x=>x.pz));return p.map((x,w)=>x.toAffine(g[w])).map(l.fromAffine)}static fromHex(p){let g=l.fromAffine(i(wt("pointHex",p)));return g.assertValidity(),g}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,f.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:g}=this.toAffine();if(!r.isValid(p)||!r.isValid(g))throw new Error("bad point: x or y not FE");let x=r.sqr(g),w=o(p);if(!r.eql(x,w))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){u(p);let{px:g,py:x,pz:w}=this,{px:v,py:R,pz:E}=p,S=r.eql(r.mul(g,E),r.mul(v,w)),L=r.eql(r.mul(x,E),r.mul(R,w));return S&&L}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:g}=e,x=r.mul(g,ef),{px:w,py:v,pz:R}=this,E=r.ZERO,S=r.ZERO,L=r.ZERO,N=r.mul(w,w),z=r.mul(v,v),H=r.mul(R,R),V=r.mul(w,v);return V=r.add(V,V),L=r.mul(w,R),L=r.add(L,L),E=r.mul(p,L),S=r.mul(x,H),S=r.add(E,S),E=r.sub(z,S),S=r.add(z,S),S=r.mul(E,S),E=r.mul(V,E),L=r.mul(x,L),H=r.mul(p,H),V=r.sub(N,H),V=r.mul(p,V),V=r.add(V,L),L=r.add(N,N),N=r.add(L,N),N=r.add(N,H),N=r.mul(N,V),S=r.add(S,N),H=r.mul(v,R),H=r.add(H,H),N=r.mul(H,V),E=r.sub(E,N),L=r.mul(H,z),L=r.add(L,L),L=r.add(L,L),new l(E,S,L)}add(p){u(p);let{px:g,py:x,pz:w}=this,{px:v,py:R,pz:E}=p,S=r.ZERO,L=r.ZERO,N=r.ZERO,z=e.a,H=r.mul(e.b,ef),V=r.mul(g,v),Q=r.mul(x,R),at=r.mul(w,E),Ut=r.add(g,x),C=r.add(v,R);Ut=r.mul(Ut,C),C=r.add(V,Q),Ut=r.sub(Ut,C),C=r.add(g,w);let P=r.add(v,E);return C=r.mul(C,P),P=r.add(V,at),C=r.sub(C,P),P=r.add(x,w),S=r.add(R,E),P=r.mul(P,S),S=r.add(Q,at),P=r.sub(P,S),N=r.mul(z,C),S=r.mul(H,at),N=r.add(S,N),S=r.sub(Q,N),N=r.add(Q,N),L=r.mul(S,N),Q=r.add(V,V),Q=r.add(Q,V),at=r.mul(z,at),C=r.mul(H,C),Q=r.add(Q,at),at=r.sub(V,at),at=r.mul(z,at),C=r.add(C,at),V=r.mul(Q,C),L=r.add(L,V),V=r.mul(P,C),S=r.mul(Ut,S),S=r.sub(S,V),V=r.mul(Ut,Q),N=r.mul(P,N),N=r.add(N,V),new l(S,L,N)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,f,p,g=>{let x=r.invertBatch(g.map(w=>w.pz));return g.map((w,v)=>w.toAffine(x[v])).map(l.fromAffine)})}multiplyUnsafe(p){let g=l.ZERO;if(p===ze)return g;if(a(p),p===ne)return this;let{endo:x}=e;if(!x)return y.unsafeLadder(this,p);let{k1neg:w,k1:v,k2neg:R,k2:E}=x.splitScalar(p),S=g,L=g,N=this;for(;v>ze||E>ze;)v&ne&&(S=S.add(N)),E&ne&&(L=L.add(N)),N=N.double(),v>>=ne,E>>=ne;return w&&(S=S.negate()),R&&(L=L.negate()),L=new l(r.mul(L.px,x.beta),L.py,L.pz),S.add(L)}multiply(p){a(p);let g=p,x,w,{endo:v}=e;if(v){let{k1neg:R,k1:E,k2neg:S,k2:L}=v.splitScalar(g),{p:N,f:z}=this.wNAF(E),{p:H,f:V}=this.wNAF(L);N=y.constTimeNegate(R,N),H=y.constTimeNegate(S,H),H=new l(r.mul(H.px,v.beta),H.py,H.pz),x=N.add(H),w=z.add(V)}else{let{p:R,f:E}=this.wNAF(g);x=R,w=E}return l.normalizeZ([x,w])[0]}multiplyAndAddUnsafe(p,g,x){let w=l.BASE,v=(E,S)=>S===ze||S===ne||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),R=v(this,g).add(v(p,x));return R.is0()?void 0:R}toAffine(p){let{px:g,py:x,pz:w}=this,v=this.is0();p==null&&(p=v?r.ONE:r.inv(w));let R=r.mul(g,p),E=r.mul(x,p),S=r.mul(w,p);if(v)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:R,y:E}}isTorsionFree(){let{h:p,isTorsionFree:g}=e;if(p===ne)return!0;if(g)return g(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:g}=e;return p===ne?this:g?g(l,this):this.multiplyUnsafe(e.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ke(this.toRawBytes(p))}}l.BASE=new l(e.Gx,e.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,y=di(l,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function My(t){let e=gn(t);return Ie(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function rf(t){let e=My(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(C){return ze<C&&C<r.ORDER}function a(C){return ft(C,n)}function c(C){return li(C,n)}let{ProjectivePoint:f,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:h}=Ky({...e,toBytes(C,P,_){let D=P.toAffine(),A=r.toBytes(D.x),O=Ve;return _?O(Uint8Array.from([P.hasEvenY()?2:3]),A):O(Uint8Array.from([4]),A,r.toBytes(D.y))},fromBytes(C){let P=C.length,_=C[0],D=C.subarray(1);if(P===i&&(_===2||_===3)){let A=Me(D);if(!s(A))throw new Error("Point is not on curve");let O=l(A),K=r.sqrt(O),q=(K&ne)===ne;return(_&1)===1!==q&&(K=r.neg(K)),{x:A,y:K}}else if(P===o&&_===4){let A=r.fromBytes(D.subarray(0,r.BYTES)),O=r.fromBytes(D.subarray(r.BYTES,2*r.BYTES));return{x:A,y:O}}else throw new Error(`Point of length ${P} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),y=C=>Ke(nr(C,e.nByteLength));function d(C){let P=n>>ne;return C>P}function p(C){return d(C)?a(-C):C}let g=(C,P,_)=>Me(C.slice(P,_));class x{constructor(P,_,D){this.r=P,this.s=_,this.recovery=D,this.assertValidity()}static fromCompact(P){let _=e.nByteLength;return P=wt("compactSignature",P,_*2),new x(g(P,0,_),g(P,_,2*_))}static fromDER(P){let{r:_,s:D}=Ar.toSig(wt("DER",P));return new x(_,D)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new x(this.r,this.s,P)}recoverPublicKey(P){let{r:_,s:D,recovery:A}=this,O=L(wt("msgHash",P));if(A==null||![0,1,2,3].includes(A))throw new Error("recovery id invalid");let K=A===2||A===3?_+e.n:_;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let q=A&1?"03":"02",$=f.fromHex(q+y(K)),X=c(K),st=a(-O*X),J=a(D*X),et=f.BASE.multiplyAndAddUnsafe($,st,J);if(!et)throw new Error("point at infinify");return et.assertValidity(),et}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return mr(this.toDERHex())}toDERHex(){return Ar.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return mr(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let w={isValidPrivateKey(C){try{return u(C),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{let C=Zo(e.n);return bc(e.randomBytes(C),e.n)},precompute(C=8,P=f.BASE){return P._setWindowSize(C),P.multiply(BigInt(3)),P}};function v(C,P=!0){return f.fromPrivateKey(C).toRawBytes(P)}function R(C){let P=C instanceof Uint8Array,_=typeof C=="string",D=(P||_)&&C.length;return P?D===i||D===o:_?D===2*i||D===2*o:C instanceof f}function E(C,P,_=!0){if(R(C))throw new Error("first arg must be private key");if(!R(P))throw new Error("second arg must be public key");return f.fromHex(P).multiply(u(C)).toRawBytes(_)}let S=e.bits2int||function(C){let P=Me(C),_=C.length*8-e.nBitLength;return _>0?P>>BigInt(_):P},L=e.bits2int_modN||function(C){return a(S(C))},N=yn(e.nBitLength);function z(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(ze<=C&&C<N))throw new Error(`bigint expected < 2^${e.nBitLength}`);return nr(C,e.nByteLength)}function H(C,P,_=V){if(["recovered","canonical"].some(bt=>bt in _))throw new Error("sign() legacy options not supported");let{hash:D,randomBytes:A}=e,{lowS:O,prehash:K,extraEntropy:q}=_;O==null&&(O=!0),C=wt("msgHash",C),K&&(C=wt("prehashed msgHash",D(C)));let $=L(C),X=u(P),st=[z(X),z($)];if(q!=null){let bt=q===!0?A(r.BYTES):q;st.push(wt("extraEntropy",bt))}let J=Ve(...st),et=$;function At(bt){let Ot=S(bt);if(!h(Ot))return;let Kt=c(Ot),Ct=f.BASE.multiply(Ot).toAffine(),Vt=a(Ct.x);if(Vt===ze)return;let Le=a(Kt*a(et+Vt*X));if(Le===ze)return;let fr=(Ct.x===Vt?0:2)|Number(Ct.y&ne),en=Le;return O&&d(Le)&&(en=p(Le),fr^=1),new x(Vt,en,fr)}return{seed:J,k2sig:At}}let V={lowS:e.lowS,prehash:!1},Q={lowS:e.lowS,prehash:!1};function at(C,P,_=V){let{seed:D,k2sig:A}=H(C,P,_),O=e;return Go(O.hash.outputLen,O.nByteLength,O.hmac)(D,A)}f.BASE._setWindowSize(8);function Ut(C,P,_,D=Q){let A=C;if(P=wt("msgHash",P),_=wt("publicKey",_),"strict"in D)throw new Error("options.strict was renamed to lowS");let{lowS:O,prehash:K}=D,q,$;try{if(typeof A=="string"||A instanceof Uint8Array)try{q=x.fromDER(A)}catch(Ct){if(!(Ct instanceof Ar.Err))throw Ct;q=x.fromCompact(A)}else if(typeof A=="object"&&typeof A.r=="bigint"&&typeof A.s=="bigint"){let{r:Ct,s:Vt}=A;q=new x(Ct,Vt)}else throw new Error("PARSE");$=f.fromHex(_)}catch(Ct){if(Ct.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(O&&q.hasHighS())return!1;K&&(P=e.hash(P));let{r:X,s:st}=q,J=L(P),et=c(st),At=a(J*et),bt=a(X*et),Ot=f.BASE.multiplyAndAddUnsafe($,At,bt)?.toAffine();return Ot?a(Ot.x)===X:!1}return{CURVE:e,getPublicKey:v,getSharedSecret:E,sign:at,verify:Ut,ProjectivePoint:f,Signature:x,utils:w}}var Ei=class extends Fr{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,ac(e);let n=pn(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Vr(this),this.iHash.update(e),this}digestInto(e){Vr(this),Ko(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Es=(t,e,r)=>new Ei(t,e).update(r).digest();Es.create=(t,e)=>new Ei(t,e);function Vy(t){return{hash:t,hmac:(e,...r)=>Es(t,e,oi(...r)),randomBytes:qr}}function nf(t,e){let r=n=>rf({...t,...Vy(n)});return Object.freeze({...r(e),create:r})}var af=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),of=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Fy=BigInt(1),Ss=BigInt(2),sf=(t,e)=>(t+e/Ss)/e;function qy(t){let e=af,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),f=t*t*t%e,u=f*f*t%e,l=mt(u,r,e)*u%e,h=mt(l,r,e)*u%e,y=mt(h,Ss,e)*f%e,d=mt(y,i,e)*y%e,p=mt(d,o,e)*d%e,g=mt(p,a,e)*p%e,x=mt(g,c,e)*g%e,w=mt(x,a,e)*p%e,v=mt(w,r,e)*u%e,R=mt(v,s,e)*d%e,E=mt(R,n,e)*f%e,S=mt(E,Ss,e);if(!Bs.eql(Bs.sqr(S),t))throw new Error("Cannot find square root");return S}var Bs=hi(af,void 0,void 0,{sqrt:qy}),me=nf({a:BigInt(0),b:BigInt(7),Fp:Bs,n:of,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=of,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Fy*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=sf(o*t,e),c=sf(-n*t,e),f=ft(t-a*r-c*i,e),u=ft(-a*n-c*o,e),l=f>s,h=u>s;if(l&&(f=e-f),h&&(u=e-u),f>s||u>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:f,k2neg:h,k2:u}}}},tf),Qb=BigInt(0);var Xb=me.ProjectivePoint;function cf(){return me.utils.randomPrivateKey()}function ff(t,e){let r=Mt.digest(e instanceof Uint8Array?e:e.subarray());if(re(r))return r.then(({digest:n})=>me.sign(n,t).toDERRawBytes()).catch(n=>{throw new F(String(n),"ERR_INVALID_INPUT")});try{return me.sign(r.digest,t).toDERRawBytes()}catch(n){throw new F(String(n),"ERR_INVALID_INPUT")}}function uf(t,e,r){let n=Mt.digest(r instanceof Uint8Array?r:r.subarray());if(re(n))return n.then(({digest:i})=>me.verify(e,i,t)).catch(i=>{throw new F(String(i),"ERR_INVALID_INPUT")});try{return me.verify(e,n.digest,t)}catch(i){throw new F(String(i),"ERR_INVALID_INPUT")}}function lf(t){return me.ProjectivePoint.fromHex(t).toRawBytes(!0)}function hf(t){try{me.getPublicKey(t,!0)}catch(e){throw new F(String(e),"ERR_INVALID_PRIVATE_KEY")}}function As(t){try{me.ProjectivePoint.fromHex(t)}catch(e){throw new F(String(e),"ERR_INVALID_PUBLIC_KEY")}}function df(t){try{return me.getPublicKey(t,!0)}catch(e){throw new F(String(e),"ERR_INVALID_PRIVATE_KEY")}}var An=class{_key;constructor(e){As(e),this._key=e}verify(e,r){return uf(this._key,r,e)}marshal(){return lf(this._key)}get bytes(){return Ce.encode({Type:xt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}async hash(){let e=Mt.digest(this.bytes),r;return re(e)?{bytes:r}=await e:r=e.bytes,r}},In=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??df(e),hf(this._key),As(this._publicKey)}sign(e){return ff(this._key,e)}get public(){return new An(this._publicKey)}marshal(){return this._key}get bytes(){return Te.encode({Type:xt.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Tt(this.bytes,e.bytes)}hash(){let e=Mt.digest(this.bytes);return re(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return nt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Wr(this.bytes,e);throw new F(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function zy(t){return new In(t)}function Gy(t){return new An(t)}async function Wy(){let t=cf();return new In(t)}var Ir={rsa:vs,ed25519:ys,secp256k1:Is};function pf(t){let e=Object.keys(Ir).join(" / ");return new F(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function yf(t){let e=Ce.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xt.RSA:return Ir.rsa.unmarshalRsaPublicKey(r);case xt.Ed25519:return Ir.ed25519.unmarshalEd25519PublicKey(r);case xt.Secp256k1:return Ir.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw pf(e.Type??"unknown")}}async function gf(t){let e=Te.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case xt.RSA:return Ir.rsa.unmarshalRsaPrivateKey(r);case xt.Ed25519:return Ir.ed25519.unmarshalEd25519PrivateKey(r);case xt.Secp256k1:return Ir.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw pf(e.Type??"RSA")}}var $y=Math.pow(2,7),Zy=Math.pow(2,14),Qy=Math.pow(2,21),Cs=Math.pow(2,28),Ts=Math.pow(2,35),_s=Math.pow(2,42),Rs=Math.pow(2,49),it=128,Ht=127;function zt(t){if(t<$y)return 1;if(t<Zy)return 2;if(t<Qy)return 3;if(t<Cs)return 4;if(t<Ts)return 5;if(t<_s)return 6;if(t<Rs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Xy(t,e,r=0){switch(zt(t)){case 8:e[r++]=t&255|it,t/=128;case 7:e[r++]=t&255|it,t/=128;case 6:e[r++]=t&255|it,t/=128;case 5:e[r++]=t&255|it,t/=128;case 4:e[r++]=t&255|it,t>>>=7;case 3:e[r++]=t&255|it,t>>>=7;case 2:e[r++]=t&255|it,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Jy(t,e,r=0){switch(zt(t)){case 8:e.set(r++,t&255|it),t/=128;case 7:e.set(r++,t&255|it),t/=128;case 6:e.set(r++,t&255|it),t/=128;case 5:e.set(r++,t&255|it),t/=128;case 4:e.set(r++,t&255|it),t>>>=7;case 3:e.set(r++,t&255|it),t>>>=7;case 2:e.set(r++,t&255|it),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function jy(t,e){let r=t[e],n=0;if(n+=r&Ht,r<it||(r=t[e+1],n+=(r&Ht)<<7,r<it)||(r=t[e+2],n+=(r&Ht)<<14,r<it)||(r=t[e+3],n+=(r&Ht)<<21,r<it)||(r=t[e+4],n+=(r&Ht)*Cs,r<it)||(r=t[e+5],n+=(r&Ht)*Ts,r<it)||(r=t[e+6],n+=(r&Ht)*_s,r<it)||(r=t[e+7],n+=(r&Ht)*Rs,r<it))return n;throw new RangeError("Could not decode varint")}function t1(t,e){let r=t.get(e),n=0;if(n+=r&Ht,r<it||(r=t.get(e+1),n+=(r&Ht)<<7,r<it)||(r=t.get(e+2),n+=(r&Ht)<<14,r<it)||(r=t.get(e+3),n+=(r&Ht)<<21,r<it)||(r=t.get(e+4),n+=(r&Ht)*Cs,r<it)||(r=t.get(e+5),n+=(r&Ht)*Ts,r<it)||(r=t.get(e+6),n+=(r&Ht)*_s,r<it)||(r=t.get(e+7),n+=(r&Ht)*Rs,r<it))return n;throw new RangeError("Could not decode varint")}function ie(t,e,r=0){return e==null&&(e=Ft(zt(t))),e instanceof Uint8Array?Xy(t,e,r):Jy(t,e,r)}function xe(t,e=0){return t instanceof Uint8Array?jy(t,e):t1(t,e)}var xf=Symbol.for("@achingbrain/uint8arraylist");function mf(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Si(t){return!!t?.[xf]}var Xt=class t{bufs;length;[xf]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Si(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(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Si(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(e){let r=mf(this.bufs,e);return r.buf[r.index]}set(e,r){let n=mf(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Si(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return _t(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:_t(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=[...n],o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let f=e>=a&&e<c,u=r>a&&r<=c;if(f&&u){if(e===a&&r===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(r-e)));break}if(f){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(u){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Si(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.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 o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,f=n.byteLength-1,u;for(let l=r;l<=c;l+=u){u=0;for(let h=f;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){u=Math.max(1,h-a[y]);break}}if(u===0)return l}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Oe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Oe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Oe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ft(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Oe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Oe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Oe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Oe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Oe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Tt(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};var bf={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Cn;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Cn||(Cn={}));var ar=class t{static createFromProtobuf=async e=>{let r=Cn.decode(e),n=await an(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,o=e.marshal(),s=vf(n,i,o),c=await(await gf(r.privateKey)).sign(s.subarray());return new t({peerId:r,payloadType:i,payload:o,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new F("envelope signature is not valid for the given domain",bf.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:o}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=o}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Cn.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Tt(this.marshal(),e.marshal())}async validate(e){let r=vf(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return yf(this.peerId.publicKey).verify(r.subarray(),this.signature)}},vf=(t,e,r)=>{let n=lt(t),i=ie(n.byteLength),o=ie(e.length),s=ie(r.length);return new Xt(i,n,o,e,s,r)};function wf(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}var Bi=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",f=2**(8*i)-1;for(;;){let u=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,e);if(!Number.isNaN(h))return h});if(u===void 0)break;if(o*=e,o+=u,o>f||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Ef=45,e1=15,Xr=new Bi;function Ls(t){if(!(t.length>e1))return Xr.new(t).parseWith(()=>Xr.readIPv4Addr())}function Ns(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Ef))return Xr.new(t).parseWith(()=>Xr.readIPv6Addr())}function Ai(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Ef))return Xr.new(t).parseWith(()=>Xr.readIPAddr())}var Yv=parseInt("0xFFFF",16),$v=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ii(t){return!!Ls(t)}function Ci(t){return!!Ns(t)}function Ti(t){return!!Ai(t)}var Af=Ii,s1=Ci,Ds=function(t){let e=0;if(t=t.toString().trim(),Af(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(s1(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Af(r[n]),s;o&&(s=Ds(r[n]),r[n]=nt(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,nt(s.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},If=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Jr={},Ps={},c1=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];c1.forEach(t=>{let e=f1(...t);Ps[e.code]=e,Jr[e.name]=e});function f1(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ot(t){if(typeof t=="number"){if(Ps[t]!=null)return Ps[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Jr[t]!=null)return Jr[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var Lw=ot("ip4"),Nw=ot("ip6"),Dw=ot("ipcidr");function Us(t,e){switch(ot(t).code){case 4:case 41:return l1(e);case 42:return _f(e);case 6:case 273:case 33:case 132:return Lf(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return _f(e);case 421:return y1(e);case 444:return Rf(e);case 445:return Rf(e);case 466:return p1(e);default:return nt(e,"base16")}}function Os(t,e){switch(ot(t).code){case 4:return Cf(e);case 41:return Cf(e);case 42:return Tf(e);case 6:case 273:case 33:case 132:return Ks(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Tf(e);case 421:return h1(e);case 444:return g1(e);case 445:return m1(e);case 466:return d1(e);default:return lt(e,"base16")}}var ks=Object.values($e).map(t=>t.decoder),u1=function(){let t=ks[0].or(ks[1]);return ks.slice(2).forEach(e=>t=t.or(e)),t}();function Cf(t){if(!Ti(t))throw new Error("invalid ip address");return Ds(t)}function l1(t){let e=If(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Ti(e))throw new Error("invalid ip address");return e}function Ks(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Lf(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Tf(t){let e=lt(t),r=Uint8Array.from(ie(e.length));return _t([r,e],r.length+e.length)}function _f(t){let e=xe(t);if(t=t.slice(zt(e)),t.length!==e)throw new Error("inconsistent lengths");return nt(t)}function h1(t){let e;t[0]==="Q"||t[0]==="1"?e=ur(Et.decode(`z${t}`)).bytes:e=ae.parse(t).multihash.bytes;let r=Uint8Array.from(ie(e.length));return _t([r,e],r.length+e.length)}function d1(t){let e=u1.decode(t),r=Uint8Array.from(ie(e.length));return _t([r,e],r.length+e.length)}function p1(t){let e=xe(t),r=t.slice(zt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+nt(r,"base64url")}function y1(t){let e=xe(t),r=t.slice(zt(e));if(r.length!==e)throw new Error("inconsistent lengths");return nt(r,"base58btc")}function g1(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=De.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ks(n);return _t([r,i],r.length+i.length)}function m1(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=De.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ks(n);return _t([r,i],r.length+i.length)}function Rf(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=nt(e,"base32"),i=Lf(r);return`${n}:${i}`}function Nf(t){t=Ms(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=ot(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw Pf("invalid address: "+t);if(a.path===!0){n=Ms(i.slice(o).join("/")),e.push([a.code,Os(a.code,n)]),r.push([a.code,n]);break}let c=Os(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Us(a.code,c)])}return{string:Df(r),bytes:Fs(e),tuples:e,stringTuples:r,path:n}}function Vs(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=xe(t,i),s=zt(o),a=ot(o),c=x1(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let f=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw Pf("Invalid address Uint8Array: "+nt(t,"base16"));e.push([o,f]);let u=Us(o,f);if(r.push([o,u]),a.path===!0){n=u;break}}return{bytes:Uint8Array.from(t),string:Df(r),tuples:e,stringTuples:r,path:n}}function Df(t){let e=[];return t.map(r=>{let n=ot(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Ms(e.join("/"))}function Fs(t){return _t(t.map(e=>{let r=ot(e[0]),n=Uint8Array.from(ie(r.code));return e.length>1&&e[1]!=null&&(n=_t([n,e[1]])),n}))}function x1(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=xe(e instanceof Uint8Array?e:Uint8Array.from(e));return r+zt(r)}}function Ms(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Pf(t){return new Error("Error parsing address: "+t)}var b1=Symbol.for("nodejs.util.inspect.custom"),qs=Symbol.for("@multiformats/js-multiaddr/multiaddr"),v1=[ot("dns").code,ot("dns4").code,ot("dns6").code,ot("dnsaddr").code],_i=class t{bytes;#t;#e;#r;#n;[qs]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Vs(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Nf(e)}else if(Uf(e))r=Vs(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=ot("tcp"),a=ot("udp"),c=ot("ip4"),f=ot("ip6"),u=ot("dns6"),l=ot("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(o=`%${d??""}`),v1.includes(y)&&(r=s.name,i=443,n=`${d??""}${o}`,e=y===u.code?6:4),(y===s.code||y===a.code)&&(r=ot(y).name,i=parseInt(d??"")),(y===c.code||y===f.code)&&(r=ot(y).name,n=`${d??""}${o}`,e=y===f.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#e.map(([e])=>Object.assign({},ot(e)))}protoCodes(){return this.#e.map(([e])=>e)}protoNames(){return this.#e.map(([e])=>ot(e).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(Fs(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Jr.p2p.code&&e.push([n,i]),n===Jr["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?nt(Et.decode(`z${n}`),"base58btc"):nt(ae.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return Tt(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=kf.get(r.name);if(n==null)throw new F(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[b1](){return`Multiaddr(${this.#t})`}};var kf=new Map;function Uf(t){return!!t?.[qs]}function cr(t){return new _i(t)}var Of="libp2p-peer-record",Kf=Uint8Array.from([3,1]);var Tn;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=ge((o,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),o.multiaddr!=null&&o.multiaddr.byteLength>0&&(s.uint32(10),s.bytes(o.multiaddr)),a.lengthDelimited!==!1&&s.ldelim()},(o,s)=>{let a={multiaddr:new Uint8Array(0)},c=s==null?o.len:o.pos+s;for(;o.pos<c;){let f=o.uint32();switch(f>>>3){case 1:a.multiaddr=o.bytes();break;default:o.skipType(f&7);break}}return a})),i),n.encode=o=>ye(o,n.codec()),n.decode=o=>pe(o,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=ge((n,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let s of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(s,i);o.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let o={peerId:new Uint8Array(0),seq:0n,addresses:[]},s=i==null?n.len:n.pos+i;for(;n.pos<s;){let a=n.uint32();switch(a>>>3){case 1:o.peerId=n.bytes();break;case 2:o.seq=n.uint64();break;case 3:o.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return o})),r),t.encode=n=>ye(n,t.codec()),t.decode=n=>pe(n,t.codec())})(Tn||(Tn={}));var Ge=class t{static createFromProtobuf=e=>{let r=Tn.decode(e),n=po(r.peerId),i=(r.addresses??[]).map(s=>cr(s.multiaddr)),o=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:o})};static DOMAIN=Of;static CODEC=Kf;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=Tn.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!wf(this.multiaddrs,e.multiaddrs))}};var w1=t=>t.toString().split("/").slice(1),_n=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),St=t=>({match:e=>_n(r=>r===t).match(e),pattern:t}),Ni=()=>({match:t=>_n(e=>typeof e=="string").match(t),pattern:"{string}"}),Mf=()=>({match:t=>_n(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),oe=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Et.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Ri=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{eo.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),_e=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),Re=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Bt=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Lt(...t){function e(i){let o=w1(i);for(let s of t){let a=s.match(o);if(a===!1)return!1;o=a}return o}function r(i){return e(i)!==!1}function n(i){let o=e(i);return o===!1?!1:o.length===0}return{matches:r,exactMatch:n}}var zs=Bt(St("dns4"),Ni()),Gs=Bt(St("dns6"),Ni()),Ws=Bt(St("dnsaddr"),Ni()),Vf=Bt(St("dns"),Ni()),v4=Lt(zs),w4=Lt(Gs),E4=Lt(Ws),S4=Lt(Re(Vf,Ws,zs,Gs)),Ff=Bt(St("ip4"),_n(Ii)),qf=Bt(St("ip6"),_n(Ci)),Hf=Re(Ff,qf),Rn=Re(Hf,Vf,zs,Gs,Ws),zf=Lt(Rn),B4=Lt(Ff),A4=Lt(qf),I4=Lt(Hf),Di=Bt(Rn,St("tcp"),Mf()),Ln=Bt(Rn,St("udp"),Mf()),E1=Re(Di,Ln),C4=Lt(Di),T4=Lt(Ln),Ys=Bt(Ln,St("quic")),Pi=Bt(Ln,St("quic-v1")),S1=Re(Ys,Pi),_4=Lt(Ys),R4=Lt(Pi),Hs=Re(Rn,Di,Ln,Ys,Pi),Gf=Re(Bt(Hs,St("ws"),_e(oe()))),L4=Lt(Gf),Wf=Re(Bt(Hs,St("wss"),_e(oe())),Bt(Hs,St("tls"),St("ws"),_e(oe()))),N4=Lt(Wf),Yf=Bt(E1,St("webrtc-direct"),Ri(),_e(Ri()),_e(oe())),D4=Lt(Yf),$f=Bt(Pi,St("webtransport"),Ri(),Ri(),_e(oe())),P4=Lt($f),Li=Re(Gf,Wf,Bt(Di,_e(oe())),Bt(S1,_e(oe())),Bt(Rn,_e(oe())),Yf,$f,oe()),k4=Lt(Li),B1=Bt(Li,St("p2p-circuit"),oe()),U4=Lt(B1),A1=Re(Bt(Li,St("p2p-circuit"),St("webrtc"),oe()),Bt(Li,St("webrtc"),_e(oe())),St("webrtc")),O4=Lt(A1);function jr(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var ki=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Zf(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new ki(r?.errorMessage,r?.errorCode));let n,i=new ki(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((o,s)=>{n=()=>{s(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var $s=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=jr(),this.haveNext=jr()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=jr(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=jr(),await Zf(this.needNext.promise,r?.signal,r)}};function Qf(){return new $s}var Ui=class extends Error{code;constructor(e,r){super(e),this.code=r}},Zs=class extends Ui{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function Xf(t,e){let r=Qf();t.sink(r).catch(async s=>{await r.end(s)}),t.sink=async s=>{for await(let a of s)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new Xt;return{read:async(s,a)=>{a?.signal?.throwIfAborted();let c,f=new Promise((u,l)=>{c=()=>{l(new Zs("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(s==null){let{done:l,value:h}=await Promise.race([n.next(),f]);return l===!0?new Xt:h}for(;i.byteLength<s;){let{value:l,done:h}=await Promise.race([n.next(),f]);if(h===!0)throw new Ui("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let u=i.sublist(0,s);return i.consume(s),u}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(s,a)=>{a?.signal?.throwIfAborted(),s instanceof Uint8Array?await r.push(s,a):await r.push(s.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let s=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*s}()}return t}}}function Oi(t){return t[Symbol.asyncIterator]!=null}var Ki=t=>{let e=zt(t),r=Ft(e);return ie(t,r),Ki.bytes=e,r};Ki.bytes=0;function Nn(t,e){e=e??{};let r=e.lengthEncoder??Ki;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Oi(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Nn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Ki;return new Xt(r(t.byteLength),t)};var tn=Gt(tu(),1);var C1=8,T1=1024*1024*4,Cr;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Cr||(Cr={}));var Xs=t=>{let e=xe(t);return Xs.bytes=zt(e),e};Xs.bytes=0;function Qs(t,e){let r=new Xt,n=Cr.LENGTH,i=-1,o=e?.lengthDecoder??Xs,s=e?.maxLengthLength??C1,a=e?.maxDataLength??T1;function*c(){for(;r.byteLength>0;){if(n===Cr.LENGTH)try{if(i=o(r),i<0)throw(0,tn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,tn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=o.bytes;r.consume(f),e?.onLength!=null&&e.onLength(i),n=Cr.DATA}catch(f){if(f instanceof RangeError){if(r.byteLength>s)throw(0,tn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(n===Cr.DATA){if(r.byteLength<i)break;let f=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(f),yield f,n=Cr.LENGTH}}}return Oi(t)?async function*(){for await(let f of t)r.append(f),yield*c();if(r.byteLength>0)throw(0,tn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let f of t)r.append(f),yield*c();if(r.byteLength>0)throw(0,tn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Qs.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Qs(n,{...e??{},onLength:o=>{r=o}})};var Mi=class extends Error{code;constructor(e,r){super(e),this.code=r}},eu=t=>xe(t);eu.bytes=0;function ru(t,e={}){let r=Xf(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=zt(e.maxDataLength)),{read:async i=>{let o=-1,s=new Xt,a=e?.lengthDecoder??eu;for(;;){s.append(await r.read(1,i));try{o=a(s)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&s.byteLength>e.maxLengthLength)throw new Mi("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(o>-1)break}if(e?.maxDataLength!=null&&o>e.maxDataLength)throw new Mi("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(o,i)},write:async(i,o)=>{await r.write(Nn.single(i,e),o)},writeV:async(i,o)=>{let s=new Xt(...i.map(a=>Nn.single(a,e)));await r.write(s,o)},unwrap:()=>r.unwrap()}}function Dn(t,e){let r=ru(t,e),n={read:async(i,o)=>{let s=await r.read(o);return i.decode(s)},write:async(i,o,s)=>{await r.write(o.encode(i),s)},writeV:async(i,o,s)=>{await r.writeV(i.map(a=>o.encode(a)),s)},pb:i=>({read:async o=>n.read(i,o),write:async(o,s)=>n.write(o,i,s),writeV:async(o,s)=>n.writeV(o,i,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var ou=Gt(iu(),1),Js=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,Vi=(0,ou.default)(),su=Js&&!Vi,au=Vi&&!Js,cu=Vi&&Js,fu=typeof globalThis.process<"u"&&typeof globalThis.process.release<"u"&&globalThis.process.release.name==="node"&&!Vi,uu=typeof importScripts=="function"&&typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,l8=typeof globalThis.process<"u"&&typeof globalThis.process.env<"u"&&globalThis.process.env["NODE"+"_"+"ENV"]==="test",lu=typeof navigator<"u"&&navigator.product==="ReactNative";var Tr;(function(t){let e;t.codec=()=>(e==null&&(e=ge((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.protocolVersion!=null&&(n.uint32(42),n.string(r.protocolVersion)),r.agentVersion!=null&&(n.uint32(50),n.string(r.agentVersion)),r.publicKey!=null&&(n.uint32(10),n.bytes(r.publicKey)),r.listenAddrs!=null)for(let o of r.listenAddrs)n.uint32(18),n.bytes(o);if(r.observedAddr!=null&&(n.uint32(34),n.bytes(r.observedAddr)),r.protocols!=null)for(let o of r.protocols)n.uint32(26),n.string(o);r.signedPeerRecord!=null&&(n.uint32(66),n.bytes(r.signedPeerRecord)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={listenAddrs:[],protocols:[]},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 5:i.protocolVersion=r.string();break;case 6:i.agentVersion=r.string();break;case 1:i.publicKey=r.bytes();break;case 2:i.listenAddrs.push(r.bytes());break;case 4:i.observedAddr=r.bytes();break;case 3:i.protocols.push(r.string());break;case 8:i.signedPeerRecord=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>ye(r,t.codec()),t.decode=r=>pe(r,t.codec())})(Tr||(Tr={}));var js=1024*8,se={protocolPrefix:"ipfs",timeout:6e4,maxInboundStreams:1,maxOutboundStreams:1,maxPushIncomingStreams:1,maxPushOutgoingStreams:1,maxObservedAddresses:10,maxIdentifyMessageSize:8192,runOnConnectionOpen:!0,runOnTransientConnection:!0},Fi=class{identifyProtocolStr;identifyPushProtocolStr;host;started;timeout;peerId;peerStore;registrar;connectionManager;addressManager;maxInboundStreams;maxOutboundStreams;maxPushIncomingStreams;maxPushOutgoingStreams;maxIdentifyMessageSize;maxObservedAddresses;events;runOnTransientConnection;log;constructor(e,r={}){this.started=!1,this.peerId=e.peerId,this.peerStore=e.peerStore,this.registrar=e.registrar,this.addressManager=e.addressManager,this.connectionManager=e.connectionManager,this.events=e.events,this.log=e.logger.forComponent("libp2p:identify"),this.identifyProtocolStr=`/${r.protocolPrefix??se.protocolPrefix}/${ha}/${pa}`,this.identifyPushProtocolStr=`/${r.protocolPrefix??se.protocolPrefix}/${da}/${ya}`,this.timeout=r.timeout??se.timeout,this.maxInboundStreams=r.maxInboundStreams??se.maxInboundStreams,this.maxOutboundStreams=r.maxOutboundStreams??se.maxOutboundStreams,this.maxPushIncomingStreams=r.maxPushIncomingStreams??se.maxPushIncomingStreams,this.maxPushOutgoingStreams=r.maxPushOutgoingStreams??se.maxPushOutgoingStreams,this.maxIdentifyMessageSize=r.maxIdentifyMessageSize??se.maxIdentifyMessageSize,this.maxObservedAddresses=r.maxObservedAddresses??se.maxObservedAddresses,this.runOnTransientConnection=r.runOnTransientConnection??se.runOnTransientConnection,this.host={protocolVersion:`${r.protocolPrefix??se.protocolPrefix}/${la}`,agentVersion:r.agentVersion??`${e.nodeInfo.name}/${e.nodeInfo.version}`},(r.runOnConnectionOpen??se.runOnConnectionOpen)&&e.events.addEventListener("connection:open",n=>{let i=n.detail;this.identify(i).catch(o=>{this.log.error("error during identify trigged by connection:open",o)})}),e.events.addEventListener("self:peer:update",n=>{this.push().catch(i=>{this.log.error(i)})}),this.host.agentVersion===`${e.nodeInfo.name}/${e.nodeInfo.version}`&&(fu||au?this.host.agentVersion+=` UserAgent=${globalThis.process.version}`:(su||uu||cu||lu)&&(this.host.agentVersion+=` UserAgent=${globalThis.navigator.userAgent}`))}isStarted(){return this.started}async start(){this.started||(await this.peerStore.merge(this.peerId,{metadata:{AgentVersion:lt(this.host.agentVersion),ProtocolVersion:lt(this.host.protocolVersion)}}),await this.registrar.handle(this.identifyProtocolStr,e=>{this._handleIdentify(e).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnTransientConnection:this.runOnTransientConnection}),await this.registrar.handle(this.identifyPushProtocolStr,e=>{this._handlePush(e).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxPushIncomingStreams,maxOutboundStreams:this.maxPushOutgoingStreams,runOnTransientConnection:this.runOnTransientConnection}),this.started=!0)}async stop(){await this.registrar.unhandle(this.identifyProtocolStr),await this.registrar.unhandle(this.identifyPushProtocolStr),this.started=!1}async pushToConnections(e){let r=this.addressManager.getAddresses().map(u=>u.decapsulateCode(ot("p2p").code)),n=new Ge({peerId:this.peerId,multiaddrs:r}),i=await ar.seal(n,this.peerId),o=this.registrar.getProtocols(),s=await this.peerStore.get(this.peerId),a=nt(s.metadata.get("AgentVersion")??lt(this.host.agentVersion)),c=nt(s.metadata.get("ProtocolVersion")??lt(this.host.protocolVersion)),f=e.map(async u=>{let l,h=AbortSignal.timeout(this.timeout);kn(1/0,h);try{l=await u.newStream(this.identifyPushProtocolStr,{signal:h,runOnTransientConnection:this.runOnTransientConnection}),await Dn(l,{maxDataLength:this.maxIdentifyMessageSize??js}).pb(Tr).write({listenAddrs:r.map(d=>d.bytes),signedPeerRecord:i.marshal(),protocols:o,agentVersion:a,protocolVersion:c},{signal:h}),await l.close({signal:h})}catch(y){this.log.error("could not push identify update to peer",y),l?.abort(y)}});await Promise.all(f)}async push(){if(!this.isStarted())return;let e=[];await Promise.all(this.connectionManager.getConnections().map(async r=>{try{if(!(await this.peerStore.get(r.remotePeer)).protocols.includes(this.identifyPushProtocolStr))return;e.push(r)}catch(n){if(n.code!==ba)throw n}})),await this.pushToConnections(e)}async _identify(e,r={}){let n;if(r.signal==null){let i=AbortSignal.timeout(this.timeout);kn(1/0,i),r={...r,signal:i}}try{n=await e.newStream(this.identifyProtocolStr,{...r,runOnTransientConnection:this.runOnTransientConnection});let o=await Dn(n,{maxDataLength:this.maxIdentifyMessageSize??js}).pb(Tr).read(r);return await n.close(r),o}catch(i){throw this.log.error("error while reading identify message",i),n?.abort(i),i}}async identify(e,r={}){let n=await this._identify(e,r),{publicKey:i,protocols:o,observedAddr:s}=n;if(i==null)throw new F("public key was missing from identify message","ERR_MISSING_PUBLIC_KEY");let a=await an(i);if(!e.remotePeer.equals(a))throw new F("identified peer does not match the expected peer","ERR_INVALID_PEER");if(this.peerId.equals(a))throw new F("identified peer is our own peer id?","ERR_INVALID_PEER");let c=L1(s);return this.log("identify completed for peer %p and protocols %o",a,o),this.log("our observed address is %a",c),c!=null&&this.addressManager.getObservedAddrs().length<(this.maxObservedAddresses??1/0)&&(this.log("storing our observed address %a",c),this.addressManager.addObservedAddr(c)),this.#t(e,n)}async _handleIdentify(e){let{connection:r,stream:n}=e,i=AbortSignal.timeout(this.timeout);kn(1/0,i);try{let o=this.peerId.publicKey??new Uint8Array(0),s=await this.peerStore.get(this.peerId),a=this.addressManager.getAddresses().map(l=>l.decapsulateCode(ot("p2p").code)),c=s.peerRecordEnvelope;if(a.length>0&&c==null){let l=new Ge({peerId:this.peerId,multiaddrs:a});c=(await ar.seal(l,this.peerId)).marshal().subarray()}let f=r.remoteAddr.bytes;zf.matches(r.remoteAddr)||(f=void 0),await Dn(n).pb(Tr).write({protocolVersion:this.host.protocolVersion,agentVersion:this.host.agentVersion,publicKey:o,listenAddrs:a.map(l=>l.bytes),signedPeerRecord:c,observedAddr:f,protocols:s.protocols},{signal:i}),await n.close({signal:i})}catch(o){this.log.error("could not respond to identify request",o),n.abort(o)}}async _handlePush(e){let{connection:r,stream:n}=e;try{if(this.peerId.equals(r.remotePeer))throw new Error("received push from ourselves?");let i={signal:AbortSignal.timeout(this.timeout)},s=await Dn(n,{maxDataLength:this.maxIdentifyMessageSize??js}).pb(Tr).read(i);await n.close(i),await this.#t(r,s)}catch(i){this.log.error("received invalid message",i),n.abort(i);return}this.log("handled push from %p",r.remotePeer)}async#t(e,r){if(this.log("received identify from %p",e.remotePeer),r==null)throw new F("message was null or undefined","ERR_INVALID_MESSAGE");let n={};if(r.listenAddrs.length>0&&(n.addresses=r.listenAddrs.map(s=>({isCertified:!1,multiaddr:cr(s)}))),r.protocols.length>0&&(n.protocols=r.protocols),r.publicKey!=null&&(n.publicKey=r.publicKey,!(await an(r.publicKey)).equals(e.remotePeer)))throw new F("public key did not match remote PeerId","ERR_INVALID_PUBLIC_KEY");let i;if(r.signedPeerRecord!=null){this.log("received signedPeerRecord from %p",e.remotePeer);let s=r.signedPeerRecord,a=await ar.openAndCertify(s,Ge.DOMAIN),c=Ge.createFromProtobuf(a.payload);if(!c.peerId.equals(a.peerId))throw new F("signing key does not match PeerId in the PeerRecord","ERR_INVALID_SIGNING_KEY");if(!e.remotePeer.equals(c.peerId))throw new F("signing key does not match remote PeerId","ERR_INVALID_PEER_RECORD_KEY");let f;try{f=await this.peerStore.get(c.peerId)}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(f!=null&&(n.metadata=f.metadata,f.peerRecordEnvelope!=null)){let u=await ar.createFromProtobuf(f.peerRecordEnvelope),l=Ge.createFromProtobuf(u.payload);l.seqNumber>=c.seqNumber&&(this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",l.seqNumber,c.seqNumber),c=l,s=f.peerRecordEnvelope)}n.peerRecordEnvelope=s,n.addresses=c.multiaddrs.map(u=>({isCertified:!0,multiaddr:u})),i={seq:c.seqNumber,addresses:c.multiaddrs}}else this.log("%p did not send a signed peer record",e.remotePeer);if(this.log("patching %p with",e.remotePeer,n),await this.peerStore.patch(e.remotePeer,n),r.agentVersion!=null||r.protocolVersion!=null){let s={};r.agentVersion!=null&&(s.AgentVersion=lt(r.agentVersion)),r.protocolVersion!=null&&(s.ProtocolVersion=lt(r.protocolVersion)),this.log("merging %p metadata",e.remotePeer,s),await this.peerStore.merge(e.remotePeer,{metadata:s})}let o={peerId:e.remotePeer,protocolVersion:r.protocolVersion,agentVersion:r.agentVersion,publicKey:r.publicKey,listenAddrs:r.listenAddrs.map(s=>cr(s)),observedAddr:r.observedAddr==null?void 0:cr(r.observedAddr),protocols:r.protocols,signedPeerRecord:i,connection:e};return this.events.safeDispatchEvent("peer:identify",{detail:o}),o}};function L1(t){if(t!=null&&t.length>0)try{return cr(t)}catch{}}var N1={IDENTIFY:fa,IDENTIFY_PUSH:ua};function D1(t={}){return e=>new Fi(e,t)}return Au(P1);})();
|
|
16
16
|
/*! Bundled license information:
|
|
17
17
|
|
|
18
18
|
@noble/hashes/esm/utils.js:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/identify",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4-16588d27c",
|
|
4
4
|
"description": "Implementation of the Identify Protocol",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-identify#readme",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"dep-check": "aegir dep-check"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@libp2p/interface": "
|
|
55
|
-
"@libp2p/interface-internal": "
|
|
56
|
-
"@libp2p/peer-id": "
|
|
57
|
-
"@libp2p/peer-record": "
|
|
54
|
+
"@libp2p/interface": "1.0.1-16588d27c",
|
|
55
|
+
"@libp2p/interface-internal": "1.0.1-16588d27c",
|
|
56
|
+
"@libp2p/peer-id": "4.0.1-16588d27c",
|
|
57
|
+
"@libp2p/peer-record": "7.0.0-16588d27c",
|
|
58
58
|
"@multiformats/multiaddr": "^12.1.10",
|
|
59
59
|
"@multiformats/multiaddr-matcher": "^1.1.0",
|
|
60
60
|
"it-length-prefixed": "^9.0.3",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"wherearewe": "^2.0.1"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@libp2p/logger": "
|
|
69
|
-
"@libp2p/peer-id-factory": "
|
|
68
|
+
"@libp2p/logger": "4.0.1-16588d27c",
|
|
69
|
+
"@libp2p/peer-id-factory": "4.0.0-16588d27c",
|
|
70
70
|
"aegir": "^41.0.2",
|
|
71
71
|
"delay": "^6.0.0",
|
|
72
72
|
"it-drain": "^3.0.3",
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Identify": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_identify.Identify.html",
|
|
3
|
-
".:Identify": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_identify.Identify.html",
|
|
4
|
-
"IdentifyComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_identify.IdentifyComponents.html",
|
|
5
|
-
".:IdentifyComponents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_identify.IdentifyComponents.html",
|
|
6
|
-
"IdentifyInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_identify.IdentifyInit.html",
|
|
7
|
-
".:IdentifyInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_identify.IdentifyInit.html",
|
|
8
|
-
"multicodecs": "https://libp2p.github.io/js-libp2p/variables/_libp2p_identify.multicodecs.html",
|
|
9
|
-
".:multicodecs": "https://libp2p.github.io/js-libp2p/variables/_libp2p_identify.multicodecs.html",
|
|
10
|
-
"identify": "https://libp2p.github.io/js-libp2p/functions/_libp2p_identify.identify-1.html",
|
|
11
|
-
".:identify": "https://libp2p.github.io/js-libp2p/functions/_libp2p_identify.identify-1.html"
|
|
12
|
-
}
|