@libp2p/utils 7.0.2-de2ad9ca5 → 7.0.3-72a7ea10a

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PUtils = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PUtils=(()=>{var ks=Object.create;var Ot=Object.defineProperty;var Us=Object.getOwnPropertyDescriptor;var Bs=Object.getOwnPropertyNames;var Ns=Object.getPrototypeOf,Ps=Object.prototype.hasOwnProperty;var Ms=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),V=(t,e)=>{for(var r in e)Ot(t,r,{get:e[r],enumerable:!0})},Yn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Bs(e))!Ps.call(t,o)&&o!==r&&Ot(t,o,{get:()=>e[o],enumerable:!(n=Us(e,o))||n.enumerable});return t};var Os=(t,e,r)=>(r=t!=null?ks(Ns(t)):{},Yn(e||!t||!t.__esModule?Ot(r,"default",{value:t,enumerable:!0}):r,t)),$s=t=>Yn(Ot({},"__esModule",{value:!0}),t);var Oo=Ms(Et=>{(function(){var t,e,r,n,o,i,s,a;a=function(f){var c,u,d,h;return c=(f&255<<24)>>>24,u=(f&255<<16)>>>16,d=(f&65280)>>>8,h=f&255,[c,u,d,h].join(".")},s=function(f){var c,u,d,h,g,b;for(c=[],d=h=0;h<=3&&f.length!==0;d=++h){if(d>0){if(f[0]!==".")throw new Error("Invalid IP");f=f.substring(1)}b=e(f),g=b[0],u=b[1],f=f.substring(u),c.push(g)}if(f.length!==0)throw new Error("Invalid IP");switch(c.length){case 1:if(c[0]>4294967295)throw new Error("Invalid IP");return c[0]>>>0;case 2:if(c[0]>255||c[1]>16777215)throw new Error("Invalid IP");return(c[0]<<24|c[1])>>>0;case 3:if(c[0]>255||c[1]>255||c[2]>65535)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2])>>>0;case 4:if(c[0]>255||c[1]>255||c[2]>255||c[3]>255)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0;default:throw new Error("Invalid IP")}},r=function(f){return f.charCodeAt(0)},n=r("0"),i=r("a"),o=r("A"),e=function(f){var c,u,d,h,g;for(h=0,c=10,u="9",d=0,f.length>1&&f[d]==="0"&&(f[d+1]==="x"||f[d+1]==="X"?(d+=2,c=16):"0"<=f[d+1]&&f[d+1]<="9"&&(d++,c=8,u="7")),g=d;d<f.length;){if("0"<=f[d]&&f[d]<=u)h=h*c+(r(f[d])-n)>>>0;else if(c===16)if("a"<=f[d]&&f[d]<="f")h=h*c+(10+r(f[d])-i)>>>0;else if("A"<=f[d]&&f[d]<="F")h=h*c+(10+r(f[d])-o)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");d++}if(d===g)throw new Error("empty octet");return[h,d]},t=(function(){function f(c,u){var d,h,g,b;if(typeof c!="string")throw new Error("Missing `net' parameter");if(u||(b=c.split("/",2),c=b[0],u=b[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=s(u)}catch(w){throw d=w,new Error("Invalid mask: "+u)}for(h=g=32;g>=0;h=--g)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(u||u===0)this.bitmask=parseInt(u,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(c)&this.maskLong)>>>0}catch(w){throw d=w,new Error("Invalid net address: "+c)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return f.prototype.contains=function(c){return typeof c=="string"&&(c.indexOf("/")>0||c.split(".").length!==4)&&(c=new f(c)),c instanceof f?this.contains(c.base)&&this.contains(c.broadcast||c.last):(s(c)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},f.prototype.next=function(c){return c==null&&(c=1),new f(a(this.netLong+this.size*c),this.mask)},f.prototype.forEach=function(c){var u,d,h;for(h=s(this.first),d=s(this.last),u=0;h<=d;)c(a(h),h,u),u++,h++},f.prototype.toString=function(){return this.base+"/"+this.bitmask},f})(),Et.ip2long=s,Et.long2ip=a,Et.Netmask=t}).call(Et)});var Gf={};V(Gf,{AbstractMessageStream:()=>Ue,AbstractMultiaddrConnection:()=>Ct,AbstractStream:()=>Be,AbstractStreamMuxer:()=>Lt,AdaptiveTimeout:()=>bn,BloomFilter:()=>yt,CuckooFilter:()=>we,DEFAULT_FAILURE_MULTIPLIER:()=>qo,DEFAULT_INTERVAL:()=>Go,DEFAULT_MAX_TIMEOUT:()=>Wo,DEFAULT_MIN_TIMEOUT:()=>jo,DEFAULT_TIMEOUT_MULTIPLIER:()=>Vo,InvalidDataLengthError:()=>sr,InvalidDataLengthLengthError:()=>ar,InvalidMessageLengthError:()=>tt,LengthPrefixedDecoder:()=>Fn,MaxEarlyStreamsError:()=>St,MemoryStorage:()=>Dr,MockStream:()=>Gn,MovingAverage:()=>Ne,PeerQueue:()=>Kn,PriorityQueue:()=>Xn,Queue:()=>ne,QueueFullError:()=>_t,RateLimitError:()=>vt,RateLimiter:()=>Jn,ScalableCuckooFilter:()=>xt,UnexpectedEOFError:()=>_e,UnwrappedError:()=>At,byteStream:()=>gi,createBloomFilter:()=>Ao,createCuckooFilter:()=>To,createScalableCuckooFilter:()=>Do,debounce:()=>Ye,echo:()=>Dn,echoStream:()=>qf,getNetConfig:()=>j,getThinWaistAddresses:()=>Eu,ipPortToMultiaddr:()=>_u,isAsyncGenerator:()=>Su,isGenerator:()=>Cu,isGlobalUnicast:()=>fc,isGlobalUnicastIp:()=>vu,isLinkLocal:()=>lc,isLinkLocalIp:()=>Vu,isLoopback:()=>dc,isNetworkAddress:()=>hc,isPrivate:()=>Ec,isPrivateIp:()=>hn,isPromise:()=>xn,lpStream:()=>yi,messageStreamToDuplex:()=>xi,mockMuxer:()=>Lr,multiaddrConnectionPair:()=>Qn,pbStream:()=>Mu,pipe:()=>$u,repeatingTask:()=>Vf,streamPair:()=>Fs,trackedList:()=>jf,trackedMap:()=>Wf});var le=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var M=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var $t=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},Rt=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var Ie=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},ut=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var se=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},ze=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},zt=class extends ze{constructor(e,r){super(!0,e,r)}},Vt=class extends ze{constructor(e,r){super(!1,e,r)}};var ae=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:i})=>i!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var Nr={};V(Nr,{base58btc:()=>J,base58flickr:()=>Gs});var Jf=new Uint8Array(0);function eo(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}function de(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")}function to(t){return new TextEncoder().encode(t)}function ro(t){return new TextDecoder().decode(t)}function Rs(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 o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=t.length,f=t.charAt(0),c=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function d(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var w=0,y=0,_=0,L=b.length;_!==L&&b[_]===0;)_++,w++;for(var I=(L-_)*u+1>>>0,A=new Uint8Array(I);_!==L;){for(var R=b[_],K=0,z=I-1;(R!==0||K<y)&&z!==-1;z--,K++)R+=256*A[z]>>>0,A[z]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=K,_++}for(var X=I-y;X!==I&&A[X]===0;)X++;for(var Re=f.repeat(w);X<I;++X)Re+=t.charAt(A[X]);return Re}function h(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var w=0;if(b[w]!==" "){for(var y=0,_=0;b[w]===f;)y++,w++;for(var L=(b.length-w)*c+1>>>0,I=new Uint8Array(L);b[w];){var A=r[b.charCodeAt(w)];if(A===255)return;for(var R=0,K=L-1;(A!==0||R<_)&&K!==-1;K--,R++)A+=a*I[K]>>>0,I[K]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");_=R,w++}if(b[w]!==" "){for(var z=L-_;z!==L&&I[z]===0;)z++;for(var X=new Uint8Array(y+(L-z)),Re=y;z!==L;)X[Re++]=I[z++];return X}}}function g(b){var w=h(b);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:h,decode:g}}var zs=Rs,Vs=zs,oo=Vs;var Fr=class{name;prefix;baseEncode;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")}},kr=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,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 io(this,e)}},Ur=class{decoders;constructor(e){this.decoders=e}or(e){return io(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function io(t,e){return new Ur({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Br=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Fr(e,r,n),this.decoder=new kr(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Ve({name:t,prefix:e,encode:r,decode:n}){return new Br(t,e,r,n)}function ye({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=oo(r,t);return Ve({prefix:e,name:t,encode:n,decode:i=>de(o(i))})}function qs(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,a=0,f=0;for(let c=0;c<o;++c){let u=e[t[c]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|u,s+=r,s>=8&&(s-=8,i[f++]=255&a>>s)}if(s>=r||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function js(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let f=0;f<t.length;++f)for(a=a<<8|t[f],s+=8;s>r;)s-=r,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function Ws(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function S({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Ws(n);return Ve({prefix:e,name:t,encode(i){return js(i,n,r)},decode(i){return qs(i,o,r,t)}})}var J=ye({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Gs=ye({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Pr={};V(Pr,{base32:()=>ce,base32hex:()=>Xs,base32hexpad:()=>Zs,base32hexpadupper:()=>Ys,base32hexupper:()=>Js,base32pad:()=>Qs,base32padupper:()=>Ks,base32upper:()=>Hs,base32z:()=>ea});var ce=S({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Hs=S({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qs=S({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ks=S({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Xs=S({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Js=S({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Zs=S({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Ys=S({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ea=S({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mr={};V(Mr,{base36:()=>ft,base36upper:()=>ta});var ft=ye({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ta=ye({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ra=co,so=128,na=127,oa=~na,ia=Math.pow(2,31);function co(t,e,r){e=e||[],r=r||0;for(var n=r;t>=ia;)e[r++]=t&255|so,t/=128;for(;t&oa;)e[r++]=t&255|so,t>>>=7;return e[r]=t|0,co.bytes=r-n+1,e}var sa=Or,aa=128,ao=127;function Or(t,n){var r=0,n=n||0,o=0,i=n,s,a=t.length;do{if(i>=a)throw Or.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&ao)<<o:(s&ao)*Math.pow(2,o),o+=7}while(s>=aa);return Or.bytes=i-n,r}var ca=Math.pow(2,7),ua=Math.pow(2,14),fa=Math.pow(2,21),la=Math.pow(2,28),da=Math.pow(2,35),ha=Math.pow(2,42),ma=Math.pow(2,49),pa=Math.pow(2,56),ga=Math.pow(2,63),ya=function(t){return t<ca?1:t<ua?2:t<fa?3:t<la?4:t<da?5:t<ha?6:t<ma?7:t<pa?8:t<ga?9:10},xa={encode:ra,decode:sa,encodingLength:ya},ba=xa,lt=ba;function dt(t,e=0){return[lt.decode(t,e),lt.decode.bytes]}function qe(t,e,r=0){return lt.encode(t,e,r),e}function je(t){return lt.encodingLength(t)}function Ge(t,e){let r=e.byteLength,n=je(t),o=n+je(r),i=new Uint8Array(o+r);return qe(t,i,0),qe(r,i,n),i.set(e,o),new We(t,r,e,i)}function uo(t){let e=de(t),[r,n]=dt(e),[o,i]=dt(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new We(r,o,s,e)}function fo(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&eo(t.bytes,r.bytes)}}var We=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function lo(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return Ea(r,$r(t),e??J.encoder);default:return va(r,$r(t),e??ce.encoder)}}var ho=new WeakMap;function $r(t){let e=ho.get(t);if(e==null){let r=new Map;return ho.set(t,r),r}return e}var He=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}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!==mt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==_a)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=Ge(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!=null&&e.code===n.code&&e.version===n.version&&fo(e.multihash,n.multihash)}toString(e){return lo(this,e)}toJSON(){return{"/":lo(this)}}link(){return this}[Symbol.toStringTag]="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:o,multihash:i,bytes:s}=r;return new t(n,o,i,s??mo(n,o,i.bytes))}else if(r[Sa]===!0){let{version:n,multihash:o,code:i}=r,s=uo(o);return t.create(n,i,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!==mt)throw new Error(`Version 0 CID must use dag-pb (code: ${mt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=mo(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,mt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=de(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new We(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,h]=dt(e.subarray(r));return r+=h,d},o=n(),i=mt;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),f=n(),c=r+f,u=c-s;return{version:o,codec:i,multihashCode:a,digestSize:f,multihashSize:u,size:c}}static parse(e,r){let[n,o]=wa(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $r(i).set(n,e),i}};function wa(t,e){switch(t[0]){case"Q":{let r=e??J;return[J.prefix,r.decode(`${J.prefix}${t}`)]}case J.prefix:{let r=e??J;return[J.prefix,r.decode(t)]}case ce.prefix:{let r=e??ce;return[ce.prefix,r.decode(t)]}case ft.prefix:{let r=e??ft;return[ft.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Ea(t,e,r){let{prefix:n}=r;if(n!==J.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o}function va(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o}var mt=112,_a=18;function mo(t,e,r){let n=je(t),o=n+je(e),i=new Uint8Array(o+r.byteLength);return qe(t,i,0),qe(e,i,n),i.set(r,o),i}var Sa=Symbol.for("@ipld/js-cid/CID");var Rr={};V(Rr,{identity:()=>Ia});var po=0,Ca="identity",go=de;function La(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return Ge(po,go(t))}var Ia={code:po,name:Ca,encode:go,digest:La};function Qe(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}function q(t=0){return new Uint8Array(t)}function ee(t=0){return new Uint8Array(t)}function xe(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=ee(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}var xo=Symbol.for("@achingbrain/uint8arraylist");function yo(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let o=r+n.byteLength;if(e<o)return{buf:n,index:e-r};r=o}throw new RangeError("index is out of bounds")}function Ke(t){return!!t?.[xo]}var C=class t{bufs;length;[xo]=!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(Ke(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(Ke(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=yo(this.bufs,e);return r.buf[r.index]}set(e,r){let n=yo(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(Ke(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:o}=this._subList(e,r);return xe(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:xe(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),i=new t;return i.length=o,i.bufs=[...n],i}_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=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,f=a+s.byteLength;if(o=f,e>=f)continue;let c=e>=a&&e<f,u=r>a&&r<=f;if(c&&u){if(e===a&&r===f){n.push(s);break}let d=e-a;n.push(s.subarray(d,d+(r-e)));break}if(c){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(u){if(r===f){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(!Ke(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 o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let d=0;d<i;d++)s[d]=-1;for(let d=0;d<o;d++)s[n[d]]=d;let a=s,f=this.byteLength-n.byteLength,c=n.byteLength-1,u;for(let d=r;d<=f;d+=u){u=0;for(let h=c;h>=0;h--){let g=this.get(d+h);if(n[h]!==g){u=Math.max(1,h-a[g]);break}}if(u===0)return d}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=ee(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 o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,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 o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,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 o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,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=ee(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 o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,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 o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,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 o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,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 o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,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 o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,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(!Qe(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((o,i)=>o+i.byteLength,0)),n.length=r,n}};var zr={};V(zr,{base10:()=>Aa});var Aa=ye({prefix:"9",name:"base10",alphabet:"0123456789"});var Vr={};V(Vr,{base16:()=>Ta,base16upper:()=>Da});var Ta=S({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Da=S({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qr={};V(qr,{base2:()=>Fa});var Fa=S({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var jr={};V(jr,{base256emoji:()=>Pa});var bo=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}"),ka=bo.reduce((t,e,r)=>(t[r]=e,t),[]),Ua=bo.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Ba(t){return t.reduce((e,r)=>(e+=ka[r],e),"")}function Na(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ua[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Pa=Ve({prefix:"\u{1F680}",name:"base256emoji",encode:Ba,decode:Na});var Hr={};V(Hr,{base64:()=>Wr,base64pad:()=>Ma,base64url:()=>Gr,base64urlpad:()=>Oa});var Wr=S({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ma=S({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Gr=S({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Oa=S({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qr={};V(Qr,{base8:()=>$a});var $a=S({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kr={};V(Kr,{identity:()=>Ra});var Ra=Ve({prefix:"\0",name:"identity",encode:t=>ro(t),decode:t=>to(t)});var Bl=new TextEncoder,Nl=new TextDecoder;var Zr={};V(Zr,{sha256:()=>ja,sha512:()=>Wa});var qa=20;function Jr({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Xr(t,e,r,n,o)}var Xr=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,i){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??qa,this.maxDigestLength=i}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?wo(n,this.code,r?.truncate):n.then(o=>wo(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function wo(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return Ge(e,t)}function vo(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var ja=Jr({name:"sha2-256",code:18,encode:vo("SHA-256")}),Wa=Jr({name:"sha2-512",code:19,encode:vo("SHA-512")});var pt={...Kr,...qr,...Qr,...zr,...Vr,...Pr,...Mr,...Nr,...Hr,...jr},Hl={...Zr,...Rr};function So(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var _o=So("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Yr=So("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=ee(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Ga={utf8:_o,"utf-8":_o,hex:pt.base16,latin1:Yr,ascii:Yr,binary:Yr,...pt},jt=Ga;function T(t,e="utf8"){let r=jt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function Ae(t,e="utf8"){let r=jt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}function Co(t=32){let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}var Ha=Math.pow(2,7),Qa=Math.pow(2,14),Ka=Math.pow(2,21),en=Math.pow(2,28),tn=Math.pow(2,35),rn=Math.pow(2,42),nn=Math.pow(2,49),v=128,N=127;function P(t){if(t<Ha)return 1;if(t<Qa)return 2;if(t<Ka)return 3;if(t<en)return 4;if(t<tn)return 5;if(t<rn)return 6;if(t<nn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Wt(t,e,r=0){switch(P(t)){case 8:e[r++]=t&255|v,t/=128;case 7:e[r++]=t&255|v,t/=128;case 6:e[r++]=t&255|v,t/=128;case 5:e[r++]=t&255|v,t/=128;case 4:e[r++]=t&255|v,t>>>=7;case 3:e[r++]=t&255|v,t>>>=7;case 2:e[r++]=t&255|v,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Xa(t,e,r=0){switch(P(t)){case 8:e.set(r++,t&255|v),t/=128;case 7:e.set(r++,t&255|v),t/=128;case 6:e.set(r++,t&255|v),t/=128;case 5:e.set(r++,t&255|v),t/=128;case 4:e.set(r++,t&255|v),t>>>=7;case 3:e.set(r++,t&255|v),t>>>=7;case 2:e.set(r++,t&255|v),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Ja(t,e){let r=t[e],n=0;if(n+=r&N,r<v||(r=t[e+1],n+=(r&N)<<7,r<v)||(r=t[e+2],n+=(r&N)<<14,r<v)||(r=t[e+3],n+=(r&N)<<21,r<v)||(r=t[e+4],n+=(r&N)*en,r<v)||(r=t[e+5],n+=(r&N)*tn,r<v)||(r=t[e+6],n+=(r&N)*rn,r<v)||(r=t[e+7],n+=(r&N)*nn,r<v))return n;throw new RangeError("Could not decode varint")}function Za(t,e){let r=t.get(e),n=0;if(n+=r&N,r<v||(r=t.get(e+1),n+=(r&N)<<7,r<v)||(r=t.get(e+2),n+=(r&N)<<14,r<v)||(r=t.get(e+3),n+=(r&N)<<21,r<v)||(r=t.get(e+4),n+=(r&N)*en,r<v)||(r=t.get(e+5),n+=(r&N)*tn,r<v)||(r=t.get(e+6),n+=(r&N)*rn,r<v)||(r=t.get(e+7),n+=(r&N)*nn,r<v))return n;throw new RangeError("Could not decode varint")}function Gt(t,e,r=0){return e==null&&(e=ee(P(t))),e instanceof Uint8Array?Wt(t,e,r):Xa(t,e,r)}function he(t,e=0){return t instanceof Uint8Array?Ja(t,e):Za(t,e)}function Ht(t){if(isNaN(t)||t<=0)throw new M("random bytes length must be a Number bigger than 0");return Co(t)}var on={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},Lo={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Io=new globalThis.TextEncoder;function Ya(t,e){let r=on[e],n=Lo[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function ec(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=on[e],o=Lo[e],i=t;for(;i.length>0;){let s=Io.encodeInto(i,r);i=i.slice(s.read);for(let a=0;a<s.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function sn(t,{size:e=32,utf8Buffer:r}={}){if(!on[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof t=="string"){if(r)return ec(t,e,r);t=Io.encode(t)}return Ya(t,e)}var be={hash:t=>Number(sn(t,{size:32})),hashV:(t,e)=>tc(be.hash(t,e))};function tc(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),T(e,"base16")}var rc=Math.LN2*Math.LN2,yt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=oc(e.hashes??8),this.bits=e.bits??1024,this.buffer=q(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.seeds.length;r++){let o=be.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.seeds.length;r++){let o=be.hash(e,this.seeds[r])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(e){let r=Math.floor(e/8),n=e%8,o=this.buffer[r];o|=1<<n,this.buffer[r]=o}getbit(e){let r=Math.floor(e/8),n=e%8;return(this.buffer[r]&1<<n)!==0}};function Ao(t,e=.005){let r=nc(t,e);return new yt(r)}function nc(t,e=.005){let r=Math.round(-1*t*Math.log(e)/rc),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function oc(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new C(Ht(4)),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var an=64,te=class{fp;h;seed;constructor(e,r,n,o=2){if(o>an)throw new TypeError("Invalid Fingerprint Size");let i=r.hashV(e,n),s=q(o);for(let a=0;a<s.length;a++)s[a]=i[a];s.length===0&&(s[0]=7),this.fp=s,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Qe(this.fp,e.fp):!1}};function Te(t,e){return Math.floor(Math.random()*(e-t))+t}var De=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");for(let r=0;r<this.contents.length;r++)if(this.contents[r]==null)return this.contents[r]=e,!0;return!0}swap(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");let r=Te(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var ic=500,we=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??be,this.seed=e.seed??Te(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=T(e));let r=new te(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=(n^r.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new De(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new De(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let i=[n,o],s=i[Te(0,i.length-1)];this.buckets[s]==null&&(this.buckets[s]=new De(this.bucketSize));for(let a=0;a<ic;a++){let f=this.buckets[s].swap(r);if(f!=null&&(s=(s^f.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new De(this.bucketSize)),this.buckets[s].add(f)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=T(e));let r=new te(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.has(r)??!1;if(o)return o;let i=(n^r.hash())%this.filterSize;return this.buckets[i]?.has(r)??!1}remove(e){typeof e=="string"&&(e=T(e));let r=new te(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.remove(r)??!1;if(o)return this.count--,o;let i=(n^r.hash())%this.filterSize,s=this.buckets[i]?.remove(r)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},sc={1:.5,2:.84,4:.95,8:.98};function ac(t=.001){return t>.002?2:t>1e-5?4:8}function cn(t,e=.001){let r=ac(e),n=sc[r],o=Math.round(t/n),i=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),an);return{filterSize:o,bucketSize:r,fingerprintSize:i}}function To(t,e=.005){let r=cn(t,e);return new we(r)}var xt=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??be,this.seed=e.seed??Te(0,Math.pow(2,10)),this.filterSeries=[new we({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=T(e)),this.has(e))return!0;let r=this.filterSeries.find(n=>n.reliable);if(r==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);r=new we({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(r)}return r.add(e)}has(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,r)=>e+r.count,0)}};function Do(t,e=.001,r){return new xt({...cn(t,e),...r??{}})}function j(t){let e=t.getComponents(),r={},n=0;if(e[n]?.name==="ip6zone"&&(r.zone=`${e[n].value}`,n++),e[n].name==="ip4"||e[n].name==="ip6"||e[n].name==="dns"||e[n].name==="dns4"||e[n].name==="dns6"?(r.type=e[n].name,r.host=e[n].value,n++):e[n].name==="dnsaddr"&&(r.type=e[n].name,r.host=`_dnsaddr.${e[n].value}`,n++),(e[n]?.name==="tcp"||e[n]?.name==="udp")&&(r.protocol=e[n].name==="tcp"?"tcp":"udp",r.port=parseInt(`${e[n].value}`),n++),e[n]?.name==="ipcidr"&&(r.type==="ip4"?r.cidr=parseInt(`${e[n].value}`):r.type==="ip6"&&(r.cidr=`${e[n].value}`),n++),r.type==null||r.host==null)throw new M(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r}var Qt=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,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let f=a==="0",c=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let d=this.readChar();if(d===void 0)return;let h=Number.parseInt(d,e);if(!Number.isNaN(h))return h});if(u===void 0)break;if(i*=e,i+=u,i>c||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&f&&s>1?void 0:i})}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 o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=e(i.subarray(0,s));return r.set(i.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Fo=45,cc=15,Xe=new Qt;function Kt(t){if(!(t.length>cc))return Xe.new(t).parseWith(()=>Xe.readIPv4Addr())}function Xt(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Fo))return Xe.new(t).parseWith(()=>Xe.readIPv6Addr())}function Je(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>Fo)return;let r=Xe.new(t).parseWith(()=>Xe.readIPAddr());if(r)return e&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}function ko(t,e,r){let n=0;for(let o of t)if(!(n<e)){if(n>r)break;if(o!==255)return!1;n++}return!0}function Uo(t,e,r,n){let o=0;for(let i of t)if(!(o<r)){if(o>n)break;if(i!==e[o])return!1;o++}return!0}function un(t){switch(t.length){case Fe:return t.join(".");case ke:{let e=[];for(let r=0;r<t.length;r++)r%2===0&&e.push(t[r].toString(16).padStart(2,"0")+t[r+1].toString(16).padStart(2,"0"));return e.join(":")}default:throw new Error("Invalid ip length")}}function Bo(t){let e=0;for(let[r,n]of t.entries()){if(n===255){e+=8;continue}for(;(n&128)!=0;)e++,n=n<<1;if((n&128)!=0)return-1;for(let o=r+1;o<t.length;o++)if(t[o]!=0)return-1;break}return e}function No(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var Fe=4,ke=16,Xd=parseInt("0xFFFF",16),uc=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function bt(t,e){e.length===ke&&t.length===Fe&&ko(e,0,11)&&(e=e.slice(12)),e.length===Fe&&t.length===ke&&Uo(t,uc,0,11)&&(t=t.slice(12));let r=t.length;if(r!=e.length)throw new Error("Failed to mask ip");let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t[o]&e[o];return n}function Po(t,e){if(typeof e=="string"&&(e=Je(e)),e==null)throw new Error("Invalid ip");if(e.length!==t.network.length)return!1;for(let r=0;r<e.length;r++)if((t.network[r]&t.mask[r])!==(e[r]&t.mask[r]))return!1;return!0}function fn(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=Fe,o=Kt(e);if(o==null&&(n=ke,o=Xt(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let i=parseInt(r,10);if(Number.isNaN(i)||String(i).length!==r.length||i<0||i>n*8)throw new Error("Failed to parse given CIDR: "+t);let s=ln(i,8*n);return{network:bt(o,s),mask:s}}function ln(t,e){if(e!==8*Fe&&e!==8*ke)throw new Error("Invalid CIDR mask");if(t<0||t>e)throw new Error("Invalid CIDR mask");let r=e/8,n=new Uint8Array(r);for(let o=0;o<r;o++){if(t>=8){n[o]=255,t-=8;continue}n[o]=255-(255>>t),t=0}return n}var wt=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=fn(e));else{let n=Je(e);if(n==null)throw new Error("Failed to parse network");r=String(r);let o=parseInt(r,10);if(Number.isNaN(o)||String(o).length!==r.length||o<0||o>n.length*8){let i=Je(r);if(i==null)throw new Error("Failed to parse mask");this.mask=i}else this.mask=ln(o,8*n.length);this.network=bt(n,this.mask)}}contains(e){return Po({network:this.network,mask:this.mask},e)}toString(){let e=Bo(this.mask),r=e!==-1?String(e):No(this.mask);return un(this.network)+"/"+r}};function Jt(t,e){return new wt(t).contains(e)}function fc(t){try{let e=j(t);switch(e.type){case"ip6":return Jt("2000::/3",e.host);default:return!1}}catch{return!1}}function lc(t){try{let e=j(t);switch(e.type){case"ip4":return e.host.startsWith("169.254.");case"ip6":return e.host.toLowerCase().startsWith("fe80");default:return!1}}catch{return!1}}function Mo(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function dc(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return Mo(e.host);default:return!1}}catch{return!1}}function hc(t){try{return j(t),!0}catch{return!1}}function Ee(t){return!!Kt(t)}function ve(t){return!!Xt(t)}var $o=Os(Oo(),1),mc=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],pc=mc.map(t=>new $o.Netmask(t));function dn(t){for(let e of pc)if(e.contains(t))return!0;return!1}function gc(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function yc(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return dn(o)}function xc(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function bc(t){let e=t.split(":"),r=e[e.length-1];return dn(r)}function wc(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function hn(t){if(Ee(t))return dn(t);if(gc(t))return yc(t);if(xc(t))return bc(t);if(ve(t))return wc(t)}function Ec(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return hn(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}function re(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Zt=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Ze=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Zt(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Zt(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var mn=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ue(t={}){return vc(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function vc(t,e){e=e??{};let r=e.onEnd,n=new Ze,o,i,s,a=re(),f=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,_)=>{i=L=>{i=null,n.push(L);try{y(t(n))}catch(I){_(I)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=re()})}},c=y=>i!=null?i(y):(n.push(y),o),u=y=>(n=new Ze,i!=null?i({error:y}):(n.push({error:y}),o)),d=y=>{if(s)return o;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:y})},h=y=>s?o:(s=!0,y!=null?u(y):c({done:!0})),g=()=>(n=new Ze,h(),{done:!0}),b=y=>(h(y),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:f,return:g,throw:b,push:d,end:h,get readableLength(){return n.size},onEmpty:async y=>{let _=y?.signal;if(_?.throwIfAborted(),n.isEmpty())return;let L,I;_!=null&&(L=new Promise((A,R)=>{I=()=>{R(new mn)},_.addEventListener("abort",I)}));try{await Promise.race([a.promise,L])}finally{I!=null&&_!=null&&_?.removeEventListener("abort",I)}}},r==null)return o;let w=o;return o={[Symbol.asyncIterator](){return this},next(){return w.next()},throw(y){return w.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return w.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(y){return w.end(y),r!=null&&(r(y),r=void 0),o},get readableLength(){return w.readableLength},onEmpty:y=>w.onEmpty(y)},o}var pn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},gn=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},Ro=t=>globalThis.DOMException===void 0?new gn(t):new DOMException(t),zo=t=>{let e=t.reason===void 0?Ro("This operation was aborted."):t.reason;return e instanceof Error?e:Ro(e)};function yn(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=e,s,a,c=new Promise((u,d)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:g}=e;g.aborted&&d(zo(g)),a=()=>{d(zo(g))},g.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){t.then(u,d);return}let h=new pn;s=i.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(g){d(g)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?u():o instanceof Error?d(o):(h.message=o??`Promise timed out after ${r} milliseconds`,d(h))},r),(async()=>{try{u(await t)}catch(g){d(g)}})()}).finally(()=>{c.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return c.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},c}var _c=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function Sc(t,e,r){let n,o=new Promise((i,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),f=[],{addListener:c,removeListener:u}=_c(t),d=async(...g)=>{let b=r.multiArgs?g:g[0];if(r.filter)try{if(!await r.filter(b))return}catch(w){n(),s(w);return}f.push(b),r.count===f.length&&(n(),i(f))},h=(...g)=>{n(),s(r.rejectionMultiArgs?g:g[0])};n=()=>{for(let g of a)u(g,d);for(let g of r.rejectionEvents)a.includes(g)||u(g,h)};for(let g of a)c(g,d);for(let g of r.rejectionEvents)a.includes(g)||c(g,h);r.signal&&r.signal.addEventListener("abort",()=>{h(r.signal.reason)},{once:!0}),r.resolveImmediately&&i(f)});if(o.cancel=n,typeof r.timeout=="number"){let i=yn(o,{milliseconds:r.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function D(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Sc(t,e,r),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function Ye(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var vt=class extends Error{remainingPoints;msBeforeNext;consumedPoints;isFirstInDuration;constructor(e="Rate limit exceeded",r){super(e),this.name="RateLimitError",this.remainingPoints=r.remainingPoints,this.msBeforeNext=r.msBeforeNext,this.consumedPoints=r.consumedPoints,this.isFirstInDuration=r.isFirstInDuration}},_t=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},_e=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},St=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"};function Cc(t){return t.reason}async function O(t,e,r){if(e==null)return t;let n=r?.translateError??Cc;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var Yt=class{deferred;signal;constructor(e){this.signal=e,this.deferred=re(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new le)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function Lc(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var er=class{id;fn;options;recipients;status;timeline;controller;constructor(e,r){this.id=Lc(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new le),this.cleanup())}async join(e={}){let r=new Yt(e.signal);return this.recipients.push(r),e.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await O(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var ne=class extends ae{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=Ye(this.emitEmpty.bind(this),1),this.emitIdle=Ye(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new _t;let n=new er(e,r);return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),n.join(r).then(o=>(this.safeDispatchEvent("completed",{detail:o}),this.safeDispatchEvent("success",{detail:{job:n,result:o}}),o)).catch(o=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:o}}),o})}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new le)}),this.clear()}async onEmpty(e){this.size!==0&&await D(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await D(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await D(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=ue({objectMode:!0}),n=f=>{f!=null?this.abort():this.clear(),r.end(f)},o=f=>{f.detail!=null&&r.push(f.detail)},i=f=>{n(f.detail.error)},s=()=>{n()},a=()=>{n(new le("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",i),this.addEventListener("idle",s),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",i),this.removeEventListener("idle",s),e?.signal?.removeEventListener("abort",a),n()}}};var Ic=Math.pow(2,20)*4,Ue=class extends ae{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;constructor(e){super(),this.status="open",this.log=e.log,this.direction=e.direction??"outbound",this.inactivityTimeout=e.inactivityTimeout??12e4,this.maxReadBufferLength=e.maxReadBufferLength??Ic,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new C,this.writeBuffer=new C,this.readStatus="readable",this.remoteReadStatus="readable",this.writeStatus="writable",this.remoteWriteStatus="writable",this.sendingData=!1,this.writableNeedsDrain=!1,this.timeline={open:Date.now()},this.processSendQueue=this.processSendQueue.bind(this);let r=()=>{this.writableNeedsDrain&&(this.log.trace("drain event received, continue sending data"),this.writableNeedsDrain=!1,this.processSendQueue())};this.addEventListener("drain",r)}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=ue(),r=i=>{e.push(i.data)};this.addEventListener("message",r);let n=i=>{e.end(i.error)};this.addEventListener("close",n);let o=()=>{e.end()};this.addEventListener("remoteCloseWrite",o);try{yield*e}finally{this.removeEventListener("message",r),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(e){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new Ie(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",e.byteLength),this.writeBuffer.append(e),this.processSendQueue()}abort(e){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",e),this.status="aborted",this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle")),this.writeStatus="closed",this.remoteWriteStatus="closed",this.readStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now();try{this.sendReset(e)}catch(r){this.log("failed to send reset to remote - %e",r)}this.dispatchEvent(new zt(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ie("Cannot pause a stream that is closing/closed");this.readStatus!=="paused"&&(this.readStatus="paused",this.sendPause())}resume(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ie("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ie(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.append(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(e){if(e.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(e),this.dispatchReadBuffer()}}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="message"&&this.readBuffer.byteLength>0&&queueMicrotask(()=>{this.dispatchReadBuffer()})}onRemoteReset(){this.log("remote reset"),this.status="reset",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now(),this.readBuffer.byteLength===0&&(this.readStatus="closed");let e=new Rt;this.dispatchEvent(new Vt(e))}onTransportClosed(e){this.log("transport closed"),this.readStatus==="readable"&&this.readBuffer.byteLength===0&&(this.log("close readable end after transport closed and read buffer is empty"),this.readStatus="closed"),this.remoteReadStatus!=="closed"&&(this.remoteReadStatus="closed"),this.remoteWriteStatus!=="closed"&&(this.remoteWriteStatus="closed"),this.writeStatus!=="closed"&&(this.writeStatus="closed"),e!=null?this.abort(e):(this.status==="open"||this.status==="closing")&&(this.timeline.close=Date.now(),this.status="closed",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.dispatchEvent(new ze))}onRemoteCloseWrite(){this.remoteWriteStatus!=="closed"&&(this.log.trace("on remote close write"),this.remoteWriteStatus="closed",this.safeDispatchEvent("remoteCloseWrite"),this.writeStatus==="closed"&&this.onTransportClosed())}onRemoteCloseRead(){this.log.trace("on remote close read"),this.remoteReadStatus="closed",this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle"))}processSendQueue(){if(this.writableNeedsDrain)return this.log.trace("not processing send queue as drain is required"),this.checkWriteBufferLength(),!1;if(this.writeBuffer.byteLength===0)return this.log.trace("not processing send queue as no bytes to send"),!0;if(this.sendingData)return this.log.trace("not processing send queue as already sending data"),!0;this.sendingData=!0,this.log.trace("processing send queue with %d queued bytes",this.writeBuffer.byteLength);try{let e=!0,r=this.writeBuffer.byteLength,n=0;for(;this.writeBuffer.byteLength>0;){let o=Math.min(this.maxMessageSize??this.writeBuffer.byteLength,this.writeBuffer.byteLength);if(o===0){e=!1;break}let i=this.writeBuffer.sublist(0,o),s=new C(i);this.writeBuffer.consume(i.byteLength);let a=this.sendData(i);if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==s.byteLength&&(s.consume(a.sentBytes),this.writeBuffer.prepend(s)),!e)break}return e||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,r,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),e}finally{this.sendingData=!1}}dispatchReadBuffer(){try{if(this.listenerCount("message")===0){this.log.trace("not dispatching pause buffer as there are no listeners for the message event");return}if(this.readBuffer.byteLength===0){this.log.trace("not dispatching pause buffer as there is no data to dispatch");return}if(this.readStatus==="paused"){this.log.trace("not dispatching pause buffer we are paused");return}if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("dropping %d bytes because the readable end is %s",this.readBuffer.byteLength,this.readStatus),this.readBuffer.consume(this.readBuffer.byteLength);return}let e=this.readBuffer.sublist();this.readBuffer.consume(e.byteLength),this.dispatchEvent(new se(e))}finally{this.readBuffer.byteLength===0&&this.remoteWriteStatus==="closed"&&(this.log("close readable end after dispatching read buffer and remote writable end is closed"),this.readStatus="closed"),this.checkReadBufferLength()}}checkReadBufferLength(){this.readBuffer.byteLength>this.maxReadBufferLength&&this.abort(new ut(`Read buffer length of ${this.readBuffer.byteLength} exceeded limit of ${this.maxReadBufferLength}, read status is ${this.readStatus}`))}checkWriteBufferLength(){this.maxWriteBufferLength!=null&&this.writeBuffer.byteLength>this.maxWriteBufferLength&&this.abort(new ut(`Write buffer length of ${this.writeBuffer.byteLength} exceeded limit of ${this.maxWriteBufferLength}, write status is ${this.writeStatus}`))}onMuxerNeedsDrain(){this.writableNeedsDrain=!0}onMuxerDrain(){this.safeDispatchEvent("drain")}};var Ct=class extends Ue{remoteAddr;metricPrefix;metrics;constructor(e){super(e),this.metricPrefix=e.metricPrefix??"",this.metrics=e.metrics,this.remoteAddr=e.remoteAddr,this.addEventListener("close",r=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),r.error!=null?r.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):r.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(e){this.status==="open"&&(this.status="closing",this.writeStatus="closing",this.remoteWriteStatus="closing",this.remoteReadStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await D(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await D(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function xn(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var Lt=class extends ae{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(e,r){super(),this.maConn=e,this.protocol=r.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=e.log.newScope(r.name),this.streamOptions=r.streamOptions,this.maxEarlyStreams=r.maxEarlyStreams??10,this.metrics=r.metrics;let n=s=>{try{this.onData(s.data)}catch(a){this.abort(a),this.maConn.abort(a)}};this.maConn.addEventListener("message",n);let o=()=>{this.log("underlying stream drained, signal %d streams to continue writing",this.streams.length),this.streams.forEach(s=>{s.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let i=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",i)}send(e){let r=this.maConn.send(e);return r===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),r}async close(e){this.status==="closed"||this.status==="closing"||(this.status="closing",await O(Promise.all([...this.streams].map(async r=>{await r.close(e)})),e?.signal),this.status="closed")}abort(e){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(r=>{r.abort(e)}),this.status="closed")}onTransportClosed(e){this.status="closing";try{[...this.streams].forEach(r=>{r.onTransportClosed(e)})}catch(r){this.abort(r)}this.status="closed"}async createStream(e){if(this.status!=="open")throw new $t;let r=this.onCreateStream({...this.streamOptions,...e});return xn(r)&&(r=await r),this.streams.push(r),this.cleanUpStream(r),r}onRemoteStream(e){if(this.streams.push(e),this.cleanUpStream(e),this.listenerCount("stream")===0){this.earlyStreams.push(e),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new St(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:e})}cleanUpStream(e){let r=n=>{let o=this.streams.findIndex(i=>i===e);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${e.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${e.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${e.direction}_stream_end`]:!0})};e.addEventListener("close",r),this.metrics?.increment({[`${e.direction}_stream`]:!0})}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(r=>{this.safeDispatchEvent("stream",{detail:r})}),this.earlyStreams=[]})}};var Be=class extends Ue{id;protocol;constructor(e){super(e),this.id=e.id,this.protocol=e.protocol??""}async close(e){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.writeStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await D(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData),await D(this,"drain",{...e,rejectionEvents:["close"]}),this.log("write queue drained, closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData)),await this.sendCloseWrite(e),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(e){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(e),this.readStatus="closed",this.log("closed readable end gracefully"))}};function tr(t){let e=new globalThis.AbortController;function r(){e.abort();for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of t){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var Ne=class{movingAverage;variance;deviation;forecast;timeSpan;previousTime;constructor(e){this.timeSpan=e,this.movingAverage=0,this.variance=0,this.deviation=0,this.forecast=0}alpha(e,r){return 1-Math.exp(-(e-r)/this.timeSpan)}push(e,r=Date.now()){if(this.previousTime!=null){let n=this.alpha(r,this.previousTime),o=e-this.movingAverage,i=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*i),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var Vo=1.2,qo=2,jo=5e3,Wo=6e4,Go=5e3,bn=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??Go;this.success=new Ne(r),this.failure=new Ne(r),this.next=new Ne(r),this.failureMultiplier=e.failureMultiplier??qo,this.timeoutMultiplier=e.timeoutMultiplier??Vo,this.minTimeout=e.minTimeout??jo,this.maxTimeout=e.maxTimeout??Wo,e.metricName!=null&&(this.metric=e.metrics?.registerMetricGroup(e.metricName))}getTimeoutSignal(e={}){let r=Math.round(this.next.movingAverage*(e.timeoutFactor??this.timeoutMultiplier));r<this.minTimeout&&(r=this.minTimeout),r>this.maxTimeout&&(r=this.maxTimeout);let n=AbortSignal.timeout(r),o=tr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){let r=Date.now()-e.start;e.aborted?(this.failure.push(r),this.next.push(r*this.failureMultiplier),this.metric?.update({failureMovingAverage:this.failure.movingAverage,failureDeviation:this.failure.deviation,failureForecast:this.failure.forecast,failureVariance:this.failure.variance,failure:r})):(this.success.push(r),this.next.push(r),this.metric?.update({successMovingAverage:this.success.movingAverage,successDeviation:this.success.deviation,successForecast:this.success.forecast,successVariance:this.success.variance,success:r}))}};var U=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},me=class extends Error{static name="ValidationError";name="ValidationError"},rr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},nr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function En(t){return e=>Ae(e,t)}function vn(t){return e=>T(e,t)}function et(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Pe(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Ho(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=T(e[0],"base32"),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Pe(n);return xe([r,o],r.length+o.length)}function Qo(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=ce.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 o=Pe(n);return xe([r,o],r.length+o.length)}function _n(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Ae(e,"base32"),o=et(r);return`${n}:${o}`}var Sn=function(t){t=t.toString().trim();let e=new Uint8Array(4);return t.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new U("Invalid byte value in IP address");e[n]=o}),e},Ko=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let i=Ee(r[n]),s;i&&(s=Sn(r[n]),r[n]=Ae(s.subarray(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Ae(s.subarray(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 i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let i=parseInt(r[n],16);if(isNaN(i)||i<0||i>65535)throw new U("Invalid byte value in IP address");o[e++]=i>>8&255,o[e++]=i&255}return o},Xo=function(t){if(t.byteLength!==4)throw new U("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},Jo=function(t){if(t.byteLength!==16)throw new U("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],i=t[n+1],s=`${o.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`;e.push(s)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new U(`Invalid IPv6 address "${r}"`)}};function Zo(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new U(`Invalid IPv6 address "${t}"`)}}var wn=Object.values(pt).map(t=>t.decoder),Ac=(function(){let t=wn[0].or(wn[1]);return wn.slice(2).forEach(e=>t=t.or(e)),t})();function Yo(t){return Ac.decode(t)}function ei(t){return e=>t.encoder.encode(e)}function Tc(t){if(parseInt(t).toString()!==t)throw new me("Value must be an integer")}function Dc(t){if(t<0)throw new me("Value must be a positive integer, or zero")}function Fc(t){return e=>{if(e>t)throw new me(`Value must be smaller than or equal to ${t}`)}}function kc(...t){return e=>{for(let r of t)r(e)}}var It=kc(Tc,Dc,Fc(65535));var F=-1,Cn=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(e){let r;if(typeof e=="string"?r=this.protocolsByName.get(e):r=this.protocolsByCode.get(e),r==null)throw new nr(`Protocol ${e} was unknown`);return r}addProtocol(e){this.protocolsByCode.set(e.code,e),this.protocolsByName.set(e.name,e),e.aliases?.forEach(r=>{this.protocolsByName.set(r,e)})}removeProtocol(e){let r=this.protocolsByCode.get(e);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},pe=new Cn,gu=[{code:4,name:"ip4",size:32,valueToBytes:Sn,bytesToValue:Xo,validate:t=>{if(!Ee(t))throw new me(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Pe,bytesToValue:et,validate:It},{code:273,name:"udp",size:16,valueToBytes:Pe,bytesToValue:et,validate:It},{code:33,name:"dccp",size:16,valueToBytes:Pe,bytesToValue:et,validate:It},{code:41,name:"ip6",size:128,valueToBytes:Ko,bytesToValue:Jo,stringToValue:Zo,validate:t=>{if(!ve(t))throw new me(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:F},{code:43,name:"ipcidr",size:8,bytesToValue:En("base10"),valueToBytes:vn("base10")},{code:53,name:"dns",size:F},{code:54,name:"dns4",size:F},{code:55,name:"dns6",size:F},{code:56,name:"dnsaddr",size:F},{code:132,name:"sctp",size:16,valueToBytes:Pe,bytesToValue:et,validate:It},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:F,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:F,bytesToValue:En("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?vn("base58btc")(t):He.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:_n,valueToBytes:Ho},{code:445,name:"onion3",size:296,bytesToValue:_n,valueToBytes:Qo},{code:446,name:"garlic64",size:F},{code:447,name:"garlic32",size:F},{code:448,name:"tls"},{code:449,name:"sni",size:F},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:F,bytesToValue:ei(Gr),valueToBytes:Yo},{code:480,name:"http"},{code:481,name:"http-path",size:F,stringToValue:t=>`/${decodeURIComponent(t)}`,valueToString:t=>encodeURIComponent(t.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:F}];gu.forEach(t=>{pe.addProtocol(t)});function oi(t){let e=[],r=0;for(;r<t.length;){let n=he(t,r),o=pe.getProtocol(n),i=P(n),s=yu(o,t,r+i),a=0;s>0&&o.size===F&&(a=P(s));let f=i+a+s,c={code:n,name:o.name,bytes:t.subarray(r,r+f)};if(s>0){let u=r+i+a,d=t.subarray(u,u+s);c.value=o.bytesToValue?.(d)??Ae(d)}e.push(c),r+=f}return e}function ii(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=pe.getProtocol(n.code),i=P(n.code),s,a=0,f=0;n.value!=null&&(s=o.valueToBytes?.(n.value)??T(n.value),a=s.byteLength,o.size===F&&(f=P(a)));let c=new Uint8Array(i+f+a),u=0;Wt(n.code,c,u),u+=i,s!=null&&(o.size===F&&(Wt(a,c,u),u+=f),c.set(s,u)),n.bytes=c}r.push(n.bytes),e+=n.bytes.byteLength}return xe(r,e)}function si(t){if(t.charAt(0)!=="/")throw new U('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let i=1;i<t.length;i++){let s=t.charAt(i);s!=="/"&&(r==="protocol"?o+=t.charAt(i):n+=t.charAt(i));let a=i===t.length-1;if(s==="/"||a){let f=pe.getProtocol(o);if(r==="protocol"){if(f.size==null||f.size===0){e.push({code:f.code,name:f.name}),n="",o="",r="protocol";continue}else if(a)throw new U(`Component ${o} was missing value`);r="value"}else if(r==="value"){let c={code:f.code,name:f.name};if(f.size!=null&&f.size!==0){if(n==="")throw new U(`Component ${o} was missing value`);c.value=f.stringToValue?.(n)??n}e.push(c),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new U("Incomplete multiaddr");return e}function ai(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=pe.getProtocol(e.code);if(r==null)throw new U(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function yu(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:he(e,r)}var xu=Symbol.for("nodejs.util.inspect.custom"),Ln=Symbol.for("@multiformats/multiaddr");function bu(t){if(t==null&&(t="/"),ci(t))return t.getComponents();if(t instanceof Uint8Array)return oi(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),si(t);if(Array.isArray(t))return t;throw new U("Must be a string, Uint8Array, Component[], or another Multiaddr")}var or=class t{[Ln]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=bu(e),r.validate!==!1&&wu(this)}get bytes(){return this.#r==null&&(this.#r=ii(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=ai(this.#e)),this.#t}toJSON(){return this.toString()}getComponents(){return[...this.#e.map(e=>({...e}))]}encapsulate(e){let r=new t(e);return new t([...this.#e,...r.getComponents()],{validate:!1})}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new rr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new t(n.slice(0,o),{validate:!1})}decapsulateCode(e){let r;for(let n=this.#e.length-1;n>-1;n--)if(this.#e[n].code===e){r=n;break}return new t(this.#e.slice(0,r),{validate:!1})}equals(e){return Qe(this.bytes,e.bytes)}[xu](){return`Multiaddr(${this.toString()})`}};function wu(t){t.getComponents().forEach(e=>{let r=pe.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function ci(t){return!!t?.[Ln]}function Se(t){return new or(t)}function ui(t,e,r){let n=[t.type,r??t.host];if(t.protocol!=null){let o=e??t.port;o!=null&&n.push(t.protocol,o)}return t.type==="ip6"&&t.zone!=null&&n.unshift("ip6zone",t.zone),t.cidr!=null&&n.push("ipcidr",t.cidr),Se(`/${n.join("/")}`)}function Eu(t,e){if(t==null)return[];let r=j(t);return[ui(r,e)]}function vu(t){return ve(t)?Jt("2000::/3",t):!1}function _u(t,e){if(typeof t!="string")throw new M(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new M(`invalid port provided: ${e}`);if(Ee(t))return Se(`/ip4/${t}/tcp/${e}`);if(ve(t))return Se(`/ip6/${t}/tcp/${e}`);throw new M(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function Su(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function Cu(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var ir=class extends Error{type;code;constructor(e,r,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=r??"ABORT_ERR"}};async function fi(t,e,r){if(e==null)return t;if(e.aborted)return t.catch(()=>{}),Promise.reject(new ir(r?.errorMessage,r?.errorCode,r?.errorName));let n,o=new ir(r?.errorMessage,r?.errorCode,r?.errorName);try{return await Promise.race([t,new Promise((i,s)=>{n=()=>{s(o)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var In=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=re(),this.haveNext=re()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=re(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),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 this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=re(),await fi(this.readNext.promise,r?.signal,r)}};function li(){return new In}function Lu(t){return t[Symbol.asyncIterator]!=null}async function Iu(t,e,r){try{await Promise.all(t.map(async n=>{for await(let o of n)await e.push(o,{signal:r}),r.throwIfAborted()})),await e.end(void 0,{signal:r})}catch(n){await e.end(n,{signal:r}).catch(()=>{})}}async function*Au(t){let e=new AbortController,r=li();Iu(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*Tu(t){for(let e of t)yield*e}function Du(...t){let e=[];for(let r of t)Lu(r)||e.push(r);return e.length===t.length?Tu(e):Au(t)}var di=Du;function hi(t,...e){if(t==null)throw new Error("Empty pipeline");if(An(t)){let n=t;t=()=>n.source}else if(pi(t)||mi(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&An(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)An(r[n])&&(r[n]=ku(r[n]));return Fu(...r)}var Fu=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},mi=t=>t?.[Symbol.asyncIterator]!=null,pi=t=>t?.[Symbol.iterator]!=null,An=t=>t==null?!1:t.sink!=null&&t.source!=null,ku=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=ue({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(mi(i))o=async function*(){yield*i,n.end()};else if(pi(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return di(n,o())}return t.source};var Uu=4194304,At=class extends Error{static name="UnwrappedError";name="UnwrappedError"},tt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},sr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},ar=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Bu(t){return typeof t?.closeRead=="function"}function Nu(t){return typeof t?.close=="function"}function Tn(t){return Bu(t)?t.readStatus==="closing"||t.readStatus==="closed":Nu(t)?t.status!=="open":!1}function Pu(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function gi(t,e){let r=e?.maxBufferSize??Uu,n=new C,o,i=!1;if(!Pu(t))throw new M("Argument should be a Stream or a Multiaddr");let s=u=>{if(n.append(u.data),n.byteLength>r){let d=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${d} > ${r}`))}o?.resolve()};t.addEventListener("message",s);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};t.addEventListener("close",a);let f=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",f);let c={readBuffer:n,async read(u){if(i===!0)throw new At("Stream was unwrapped");if(Tn(t)){if(u?.bytes==null)return null;if(n.byteLength<u.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new _e(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let d=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=d){o.resolve();break}if(await O(o.promise,u?.signal),Tn(t)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let h=u?.bytes??n.byteLength;if(n.byteLength<h){if(Tn(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,h),new _e(`Unexpected EOF - stream closed while reading ${n.byteLength}/${h} bytes`);return c.read(u)}let g=n.sublist(0,h);return n.consume(h),g},async write(u,d){if(i===!0)throw new At("Stream was unwrapped");t.send(u)||await D(t,"drain",{signal:d?.signal,rejectionEvents:["close"]})},unwrap(){return i||(i=!0,t.removeEventListener("message",s),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",f),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.push(n))),t}};return c}function yi(t,e={}){let r=gi(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=P(e.maxDataLength));let n=e?.lengthDecoder??he,o=e?.lengthEncoder??Gt;return{async read(s){let a=-1,f=new C;for(;;){let u=await r.read({...s,bytes:1});if(u==null)break;f.append(u);try{a=n(f)}catch(d){if(d instanceof RangeError)continue;throw d}if(a<0)throw new tt("Invalid message length");if(e?.maxLengthLength!=null&&f.byteLength>e.maxLengthLength)throw new ar(`Message length length too long - ${f.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new sr(`Message length too long - ${a} > ${e.maxDataLength}`);let c=await r.read({...s,bytes:a});if(c==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new _e(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(c.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",c.byteLength,a),new _e(`Unexpected EOF - read ${c.byteLength}/${a} bytes before the stream closed`);return c},async write(s,a){await r.write(new C(o(s.byteLength),s),a)},async writeV(s,a){let f=new C(...s.flatMap(c=>[o(c.byteLength),c]));await r.write(f,a)},unwrap(){return r.unwrap()}}}function Mu(t,e){let r=yi(t,e),n={read:async(o,i)=>{let s=await r.read(i);return o.decode(s)},write:async(o,i,s)=>{await r.write(i.encode(o),s)},writeV:async(o,i,s)=>{await r.writeV(o.map(a=>i.encode(a)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function Dn(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let i of t)o+=i.byteLength,t.send(i)||(t.pause(),await D(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(i){t.abort(i)}}function Ou(t){return t?.addEventListener!=null}function xi(t){let e=ue(),r,n=s=>{e.push(s.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)},i=s=>{e.end(s.error),s.error!=null&&r?.reject(s.error),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",i,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(s){async function*a(){yield*s}let f=a();for(;;){r=Promise.withResolvers();let{done:c,value:u}=await Promise.race([f.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(u!=null&&(t.send(u)||await Promise.race([D(t,"drain",{rejectionEvents:["close"]})])),c===!0))break}await t.close()}}}function $u(...t){let e=t.map(r=>Ou(r)?xi(r):r);return hi(...e)}var Ru=1024*1024*4,zu=1024*1024*4,Fn=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new C,this.maxBufferSize=e.maxBufferSize??Ru,this.maxDataLength=e.maxDataLength??zu,this.lengthDecoder=e.lengthDecoder??he,this.encodingLength=e.encodingLength??P}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new M(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(i){if(i instanceof RangeError)break;throw i}if(r<0||r>this.maxDataLength)throw new tt("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let i=this.buffer.sublist(n,o);this.buffer.consume(o),i.byteLength>0&&(yield i)}else break}}};function Vu(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var qu=["string","number","bigint","symbol"],ju=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function bi(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(qu.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(Wu(t))return"Buffer";let r=Gu(t);return r||"Object"}function Wu(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function Gu(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(ju.includes(e))return e}var l=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};l.uint=new l(0,"uint",!0);l.negint=new l(1,"negint",!0);l.bytes=new l(2,"bytes",!0);l.string=new l(3,"string",!0);l.array=new l(4,"array",!1);l.map=new l(5,"map",!1);l.tag=new l(6,"tag",!1);l.float=new l(7,"float",!0);l.false=new l(7,"false",!0);l.true=new l(7,"true",!0);l.null=new l(7,"null",!0);l.undefined=new l(7,"undefined",!0);l.break=new l(7,"break",!0);var p=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var rt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Hu=new TextDecoder,Qu=new TextEncoder;function cr(t){return rt&&globalThis.Buffer.isBuffer(t)}function kn(t){return t instanceof Uint8Array?cr(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var _i=rt?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Ei(t,e,r):(t,e,r)=>r-e>64?Hu.decode(t.subarray(e,r)):Ei(t,e,r),Si=rt?t=>t.length>64?globalThis.Buffer.from(t):wi(t):t=>t.length>64?Qu.encode(t):wi(t),fe=t=>Uint8Array.from(t),nt=rt?(t,e,r)=>cr(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Ci=rt?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),kn(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Li=rt?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Ii(t,e){if(cr(t)&&cr(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function wi(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}function Ei(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let a,f,c,u;switch(s){case 1:o<128&&(i=o);break;case 2:a=t[e+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(i=u));break;case 3:a=t[e+1],f=t[e+2],(a&192)===128&&(f&192)===128&&(u=(o&15)<<12|(a&63)<<6|f&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:a=t[e+1],f=t[e+2],c=t[e+3],(a&192)===128&&(f&192)===128&&(c&192)===128&&(u=(o&15)<<18|(a&63)<<12|(f&63)<<6|c&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return Ku(n)}var vi=4096;function Ku(t){let e=t.length;if(e<=vi)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=vi));return r}var Xu=256,Tt=class{constructor(e=Xu){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Li(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=nt(n,0,this.cursor)}else r=Ci(this.chunks,this.cursor);return e&&this.reset(),r}};var x="CBOR decode error:",Un="CBOR encode error:",Dt=[];Dt[23]=1;Dt[24]=2;Dt[25]=3;Dt[26]=5;Dt[27]=9;function ge(t,e,r){if(t.length-e<r)throw new Error(`${x} not enough data for type`)}var k=[24,256,65536,4294967296,BigInt("18446744073709551616")];function W(t,e,r){ge(t,e,1);let n=t[e];if(r.strict===!0&&n<k[0])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);return n}function G(t,e,r){ge(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<k[1])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);return n}function H(t,e,r){ge(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<k[2])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);return n}function Q(t,e,r){ge(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<k[3])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${x} integers outside of the safe integer range are not supported`)}function Ai(t,e,r,n){return new p(l.uint,W(t,e+1,n),2)}function Ti(t,e,r,n){return new p(l.uint,G(t,e+1,n),3)}function Di(t,e,r,n){return new p(l.uint,H(t,e+1,n),5)}function Fi(t,e,r,n){return new p(l.uint,Q(t,e+1,n),9)}function Z(t,e){return B(t,0,e.value)}function B(t,e,r){if(r<k[0]){let n=Number(r);t.push([e|n])}else if(r<k[1]){let n=Number(r);t.push([e|24,n])}else if(r<k[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<k[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<k[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${x} encountered BigInt larger than allowable range`)}}Z.encodedSize=function(e){return B.encodedSize(e.value)};B.encodedSize=function(e){return e<k[0]?1:e<k[1]?2:e<k[2]?3:e<k[3]?5:9};Z.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function ki(t,e,r,n){return new p(l.negint,-1-W(t,e+1,n),2)}function Ui(t,e,r,n){return new p(l.negint,-1-G(t,e+1,n),3)}function Bi(t,e,r,n){return new p(l.negint,-1-H(t,e+1,n),5)}var Bn=BigInt(-1),Ni=BigInt(1);function Pi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new p(l.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${x} integers outside of the safe integer range are not supported`);return new p(l.negint,Bn-BigInt(o),9)}function ur(t,e){let r=e.value,n=typeof r=="bigint"?r*Bn-Ni:r*-1-1;B(t,e.type.majorEncoded,n)}ur.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Bn-Ni:r*-1-1;return n<k[0]?1:n<k[1]?2:n<k[2]?3:n<k[3]?5:9};ur.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function Ft(t,e,r,n){ge(t,e,r+n);let o=nt(t,e+r,e+r+n);return new p(l.bytes,o,r+n)}function Mi(t,e,r,n){return Ft(t,e,1,r)}function Oi(t,e,r,n){return Ft(t,e,2,W(t,e+1,n))}function $i(t,e,r,n){return Ft(t,e,3,G(t,e+1,n))}function Ri(t,e,r,n){return Ft(t,e,5,H(t,e+1,n))}function zi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer bytes lengths not supported`);return Ft(t,e,9,o)}function fr(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===l.string?Si(t.value):t.value),t.encodedBytes}function ot(t,e){let r=fr(e);B(t,e.type.majorEncoded,r.length),t.push(r)}ot.encodedSize=function(e){let r=fr(e);return B.encodedSize(r.length)+r.length};ot.compareTokens=function(e,r){return Zu(fr(e),fr(r))};function Zu(t,e){return t.length<e.length?-1:t.length>e.length?1:Ii(t,e)}function kt(t,e,r,n,o){let i=r+n;ge(t,e,i);let s=new p(l.string,_i(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=nt(t,e+r,e+i)),s}function Vi(t,e,r,n){return kt(t,e,1,r,n)}function qi(t,e,r,n){return kt(t,e,2,W(t,e+1,n),n)}function ji(t,e,r,n){return kt(t,e,3,G(t,e+1,n),n)}function Wi(t,e,r,n){return kt(t,e,5,H(t,e+1,n),n)}function Gi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer string lengths not supported`);return kt(t,e,9,o,n)}var Hi=ot;function it(t,e,r,n){return new p(l.array,n,r)}function Qi(t,e,r,n){return it(t,e,1,r)}function Ki(t,e,r,n){return it(t,e,2,W(t,e+1,n))}function Xi(t,e,r,n){return it(t,e,3,G(t,e+1,n))}function Ji(t,e,r,n){return it(t,e,5,H(t,e+1,n))}function Zi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer array lengths not supported`);return it(t,e,9,o)}function Yi(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${x} indefinite length items not allowed`);return it(t,e,1,1/0)}function lr(t,e){B(t,l.array.majorEncoded,e.value)}lr.compareTokens=Z.compareTokens;lr.encodedSize=function(e){return B.encodedSize(e.value)};function st(t,e,r,n){return new p(l.map,n,r)}function es(t,e,r,n){return st(t,e,1,r)}function ts(t,e,r,n){return st(t,e,2,W(t,e+1,n))}function rs(t,e,r,n){return st(t,e,3,G(t,e+1,n))}function ns(t,e,r,n){return st(t,e,5,H(t,e+1,n))}function os(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer map lengths not supported`);return st(t,e,9,o)}function is(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${x} indefinite length items not allowed`);return st(t,e,1,1/0)}function dr(t,e){B(t,l.map.majorEncoded,e.value)}dr.compareTokens=Z.compareTokens;dr.encodedSize=function(e){return B.encodedSize(e.value)};function ss(t,e,r,n){return new p(l.tag,r,1)}function as(t,e,r,n){return new p(l.tag,W(t,e+1,n),2)}function cs(t,e,r,n){return new p(l.tag,G(t,e+1,n),3)}function us(t,e,r,n){return new p(l.tag,H(t,e+1,n),5)}function fs(t,e,r,n){return new p(l.tag,Q(t,e+1,n),9)}function hr(t,e){B(t,l.tag.majorEncoded,e.value)}hr.compareTokens=Z.compareTokens;hr.encodedSize=function(e){return B.encodedSize(e.value)};var of=20,sf=21,af=22,cf=23;function ls(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${x} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(l.null,null,1):new p(l.undefined,void 0,1)}function ds(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${x} indefinite length items not allowed`);return new p(l.break,void 0,1)}function Nn(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${x} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${x} Infinity values are not supported`)}return new p(l.float,t,e)}function hs(t,e,r,n){return Nn(Pn(t,e+1),3,n)}function ms(t,e,r,n){return Nn(Mn(t,e+1),5,n)}function ps(t,e,r,n){return Nn(bs(t,e+1),9,n)}function mr(t,e,r){let n=e.value;if(n===!1)t.push([l.float.majorEncoded|of]);else if(n===!0)t.push([l.float.majorEncoded|sf]);else if(n===null)t.push([l.float.majorEncoded|af]);else if(n===void 0)t.push([l.float.majorEncoded|cf]);else{let o,i=!1;(!r||r.float64!==!0)&&(ys(n),o=Pn(oe,1),n===o||Number.isNaN(n)?(oe[0]=249,t.push(oe.slice(0,3)),i=!0):(xs(n),o=Mn(oe,1),n===o&&(oe[0]=250,t.push(oe.slice(0,5)),i=!0))),i||(uf(n),o=bs(oe,1),oe[0]=251,t.push(oe.slice(0,9)))}}mr.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){ys(n);let o=Pn(oe,1);if(n===o||Number.isNaN(n))return 3;if(xs(n),o=Mn(oe,1),n===o)return 5}return 9};var gs=new ArrayBuffer(9),Y=new DataView(gs,1),oe=new Uint8Array(gs,0);function ys(t){if(t===1/0)Y.setUint16(0,31744,!1);else if(t===-1/0)Y.setUint16(0,64512,!1);else if(Number.isNaN(t))Y.setUint16(0,32256,!1);else{Y.setFloat32(0,t);let e=Y.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Y.setUint16(0,31744,!1);else if(r===0)Y.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Y.setUint16(0,0):o<-14?Y.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):Y.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Pn(t,e){if(t.length-e<2)throw new Error(`${x} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function xs(t){Y.setFloat32(0,t,!1)}function Mn(t,e){if(t.length-e<4)throw new Error(`${x} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function uf(t){Y.setFloat64(0,t,!1)}function bs(t,e){if(t.length-e<8)throw new Error(`${x} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}mr.compareTokens=Z.compareTokens;function E(t,e,r){throw new Error(`${x} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function pr(t){return()=>{throw new Error(`${x} ${t}`)}}var m=[];for(let t=0;t<=23;t++)m[t]=E;m[24]=Ai;m[25]=Ti;m[26]=Di;m[27]=Fi;m[28]=E;m[29]=E;m[30]=E;m[31]=E;for(let t=32;t<=55;t++)m[t]=E;m[56]=ki;m[57]=Ui;m[58]=Bi;m[59]=Pi;m[60]=E;m[61]=E;m[62]=E;m[63]=E;for(let t=64;t<=87;t++)m[t]=Mi;m[88]=Oi;m[89]=$i;m[90]=Ri;m[91]=zi;m[92]=E;m[93]=E;m[94]=E;m[95]=pr("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)m[t]=Vi;m[120]=qi;m[121]=ji;m[122]=Wi;m[123]=Gi;m[124]=E;m[125]=E;m[126]=E;m[127]=pr("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)m[t]=Qi;m[152]=Ki;m[153]=Xi;m[154]=Ji;m[155]=Zi;m[156]=E;m[157]=E;m[158]=E;m[159]=Yi;for(let t=160;t<=183;t++)m[t]=es;m[184]=ts;m[185]=rs;m[186]=ns;m[187]=os;m[188]=E;m[189]=E;m[190]=E;m[191]=is;for(let t=192;t<=215;t++)m[t]=ss;m[216]=as;m[217]=cs;m[218]=us;m[219]=fs;m[220]=E;m[221]=E;m[222]=E;m[223]=E;for(let t=224;t<=243;t++)m[t]=pr("simple values are not supported");m[244]=E;m[245]=E;m[246]=E;m[247]=ls;m[248]=pr("simple values are not supported");m[249]=hs;m[250]=ms;m[251]=ps;m[252]=E;m[253]=E;m[254]=E;m[255]=ds;var ie=[];for(let t=0;t<24;t++)ie[t]=new p(l.uint,t,1);for(let t=-1;t>=-24;t--)ie[31-t]=new p(l.negint,t,1);ie[64]=new p(l.bytes,new Uint8Array(0),1);ie[96]=new p(l.string,"",1);ie[128]=new p(l.array,0,1);ie[160]=new p(l.map,0,1);ie[244]=new p(l.false,!1,1);ie[245]=new p(l.true,!0,1);ie[246]=new p(l.null,null,1);function ws(t){switch(t.type){case l.false:return fe([244]);case l.true:return fe([245]);case l.null:return fe([246]);case l.bytes:return t.value.length?void 0:fe([64]);case l.string:return t.value===""?fe([96]):void 0;case l.array:return t.value===0?fe([128]):void 0;case l.map:return t.value===0?fe([160]):void 0;case l.uint:return t.value<24?fe([Number(t.value)]):void 0;case l.negint:if(t.value>=-24)return fe([31-Number(t.value)])}}var lf={float64:!1,mapSorter:mf,quickEncodeToken:ws};function df(){let t=[];return t[l.uint.major]=Z,t[l.negint.major]=ur,t[l.bytes.major]=ot,t[l.string.major]=Hi,t[l.array.major]=lr,t[l.map.major]=dr,t[l.tag.major]=hr,t[l.float.major]=mr,t}var Es=df(),On=new Tt,yr=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Un} object contains circular references`);return new t(r,e)}},Ce={null:new p(l.null,null),undefined:new p(l.undefined,void 0),true:new p(l.true,!0),false:new p(l.false,!1),emptyArray:new p(l.array,0),emptyMap:new p(l.map,0)},Le={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new p(l.float,t):t>=0?new p(l.uint,t):new p(l.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new p(l.uint,t):new p(l.negint,t)},Uint8Array(t,e,r,n){return new p(l.bytes,t)},string(t,e,r,n){return new p(l.string,t)},boolean(t,e,r,n){return t?Ce.true:Ce.false},null(t,e,r,n){return Ce.null},undefined(t,e,r,n){return Ce.undefined},ArrayBuffer(t,e,r,n){return new p(l.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new p(l.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Ce.emptyArray,new p(l.break)]:Ce.emptyArray;n=yr.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=gr(s,r,n);return r.addBreakTokens?[new p(l.array,t.length),o,new p(l.break)]:[new p(l.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[Ce.emptyMap,new p(l.break)]:Ce.emptyMap;n=yr.createCheck(n,t);let a=[],f=0;for(let c of i)a[f++]=[gr(c,r,n),gr(o?t.get(c):t[c],r,n)];return hf(a,r),r.addBreakTokens?[new p(l.map,s),a,new p(l.break)]:[new p(l.map,s),a]}};Le.Map=Le.Object;Le.Buffer=Le.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Le[`${t}Array`]=Le.DataView;function gr(t,e={},r){let n=bi(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||Le[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=Le[n];if(!i)throw new Error(`${Un} unsupported type: ${n}`);return i(t,n,e,r)}function hf(t,e){e.mapSorter&&t.sort(e.mapSorter)}function mf(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=Es[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function vs(t,e,r,n){if(Array.isArray(e))for(let o of e)vs(t,o,r,n);else r[e.type.major](t,e,n)}function pf(t,e,r){let n=gr(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),a=new Tt(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return kn(a.chunks[0])}}return On.reset(),vs(On,n,e,r),On.toBytes(!0)}function $n(t,e){return e=Object.assign({},lf,e),pf(t,Es,e)}var gf={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},xr=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=ie[e];if(r===void 0){let n=m[e];if(!n)throw new Error(`${x} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},Ut=Symbol.for("DONE"),br=Symbol.for("BREAK");function yf(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=at(e,r);if(i===br){if(t.value===1/0)break;throw new Error(`${x} got unexpected break to lengthed array`)}if(i===Ut)throw new Error(`${x} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function xf(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=at(e,r);if(a===br){if(t.value===1/0)break;throw new Error(`${x} got unexpected break to lengthed map`)}if(a===Ut)throw new Error(`${x} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${x} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${x} found repeat map key "${a}"`);let f=at(e,r);if(f===Ut)throw new Error(`${x} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(a,f):o[a]=f}return n?i:o}function at(t,e){if(t.done())return Ut;let r=t.next();if(r.type===l.break)return br;if(r.type.terminal)return r.value;if(r.type===l.array)return yf(r,t,e);if(r.type===l.map)return xf(r,t,e);if(r.type===l.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=at(t,e);return e.tags[r.value](n)}throw new Error(`${x} tag not supported (${r.value})`)}throw new Error("unsupported")}function _s(t,e){if(!(t instanceof Uint8Array))throw new Error(`${x} data to decode must be a Uint8Array`);e=Object.assign({},gf,e);let r=e.tokenizer||new xr(t,e),n=at(r,e);if(n===Ut)throw new Error(`${x} did not find any content to decode`);if(n===br)throw new Error(`${x} got unexpected break`);return[n,t.subarray(r.pos())]}function Rn(t,e){let[r,n]=_s(t,e);if(n.length>0)throw new Error(`${x} too many terminals, data makes no sense`);return r}var wr=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ct=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Er=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},Bt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function vr(t){return t[Symbol.asyncIterator]!=null}function Ss(t,e){if(t.byteLength>e)throw new ct("Message length too long")}var Sr=t=>{let e=P(t),r=ee(e);return Gt(t,r),Sr.bytes=e,r};Sr.bytes=0;function Cr(t,e){e=e??{};let r=e.lengthEncoder??Sr,n=e?.maxDataLength??4194304;function*o(i){Ss(i,n);let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return vr(t)?(async function*(){for await(let i of t)yield*o(i)})():(function*(){for(let i of t)yield*o(i)})()}Cr.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Sr,n=e?.maxDataLength??4194304;return Ss(t,n),new C(r(t.byteLength),t)};var Oe;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Oe||(Oe={}));var zn=t=>{let e=he(t);return zn.bytes=P(e),e};zn.bytes=0;function Nt(t,e){let r=new C,n=Oe.LENGTH,o=-1,i=e?.lengthDecoder??zn,s=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*f(){for(;r.byteLength>0;){if(n===Oe.LENGTH)try{if(o=i(r),o<0)throw new wr("Invalid message length");if(o>a)throw new ct("Message length too long");let c=i.bytes;r.consume(c),e?.onLength!=null&&e.onLength(o),n=Oe.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw new Er("Message length length too long");break}throw c}if(n===Oe.DATA){if(r.byteLength<o)break;let c=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(c),yield c,n=Oe.LENGTH}}}return vr(t)?(async function*(){for await(let c of t)r.append(c),yield*f();if(r.byteLength>0)throw new Bt("Unexpected end of input")})():(function*(){for(let c of t)r.append(c),yield*f();if(r.byteLength>0)throw new Bt("Unexpected end of input")})()}Nt.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:i,value:s}=await t.next(r);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{r=1}})();return Nt(n,{...e??{},onLength:i=>{r=i}})};var Vn=class extends Be{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new ne({concurrency:1}),this.direction==="outbound"&&this.sendMessage({id:this.id,type:"create",protocol:this.protocol})}sendData(e){let r=this.sendMessage({id:this.id,type:"data",chunk:e.subarray()});return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.sendMessage({id:this.id,type:"reset"})}async sendCloseWrite(e){this.sendMessage({id:this.id,type:"closeWrite"}),e?.signal?.throwIfAborted()}async sendCloseRead(e){this.sendMessage({id:this.id,type:"closeRead"}),e?.signal?.throwIfAborted()}sendPause(){this.sendMessage({id:this.id,type:"pause"})}sendResume(){this.sendMessage({id:this.id,type:"resume"})}onRemotePaused(){this.dataQueue.pause()}onRemoteResumed(){this.dataQueue.resume()}},Cs=30,qn=class extends Lt{input;maxInputQueueSize;encoding;maxMessageSize;nextStreamId;constructor(e,r){super(e,{...r,protocol:"/mock-muxer/1.0.0",name:"mock-muxer"}),this.maxInputQueueSize=r.maxInputQueueSize??1024*1024*10,this.maxMessageSize=(r.maxMessageSize??1024*1024*4)+Cs,this.encoding=r.encoding??"base64",this.input=ue(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of Nt(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(Rn(n.subarray()))}).catch(n=>{this.abort(n)})}onData(e){if(this.input.readableLength>=this.maxInputQueueSize){this.abort(new Error(`Input queue exceeded maximum size ${this.input.readableLength} >= ${this.maxInputQueueSize}`));return}this.input.push(e)}sendMessage(e){e.type==="data"?this.log.trace("send message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("send message %o",e);let r=$n(e),n=Cr.single(r,{maxDataLength:this.maxMessageSize});return this.send(n)}onMessage(e){e.type==="data"?this.log.trace("incoming message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("incoming message %o",e);let r=this.streams.find(n=>n.id===e.id);if(e.type==="create"){if(r!=null)throw new Error(`Already had stream for ${e.id}`);this.log.trace("create stream inbound %s",e.id),r=this._createStream(e.id,"inbound",{protocol:e.protocol}),this.onRemoteStream(r)}if(r==null){this.log.error(`no stream found for ${e.id}`);return}e.type==="data"?r.onData(e.chunk):e.type==="reset"?r.onRemoteReset():e.type==="closeWrite"?r.onRemoteCloseWrite():e.type==="closeRead"?r.onRemoteCloseRead():e.type==="pause"?r.onRemotePaused():e.type==="resume"&&r.onRemoteResumed()}async onCreateStream(e){return this.nextStreamId+=2,this._createStream(`${this.nextStreamId}`,"outbound",e)}_createStream(e,r,n){return this.log.trace("createStream %s %s",r,e),new Vn({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-Cs,protocol:""})}},jn=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new qn(e,{...this.init})}};function Lr(t={}){return new jn(t)}function vf(t,e){if(typeof t=="string")return _f(t);if(typeof t=="number")return Lf(t,e);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}var Ir=vf;function _f(t){if(typeof t!="string"||t.length===0||t.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(t)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(t);if(!e?.groups)return NaN;let{value:r,unit:n="ms"}=e.groups,o=parseFloat(r),i=n.toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw Error(`Unknown unit "${i}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function Sf(t){let e=Math.abs(t);return e>=315576e5?`${Math.round(t/315576e5)}y`:e>=26298e5?`${Math.round(t/26298e5)}mo`:e>=6048e5?`${Math.round(t/6048e5)}w`:e>=864e5?`${Math.round(t/864e5)}d`:e>=36e5?`${Math.round(t/36e5)}h`:e>=6e4?`${Math.round(t/6e4)}m`:e>=1e3?`${Math.round(t/1e3)}s`:`${t}ms`}function Cf(t){let e=Math.abs(t);return e>=315576e5?$e(t,e,315576e5,"year"):e>=26298e5?$e(t,e,26298e5,"month"):e>=6048e5?$e(t,e,6048e5,"week"):e>=864e5?$e(t,e,864e5,"day"):e>=36e5?$e(t,e,36e5,"hour"):e>=6e4?$e(t,e,6e4,"minute"):e>=1e3?$e(t,e,1e3,"second"):`${t} ms`}function Lf(t,e){if(typeof t!="number"||!Number.isFinite(t))throw Error("Value provided to ms.format() must be of type number.");return e?.long?Cf(t):Sf(t)}function $e(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function Wn(t){r.debug=r,r.default=r,r.coerce=f,r.disable=i,r.enable=o,r.enabled=s,r.humanize=Ir,r.destroy=c,Object.keys(t).forEach(u=>{r[u]=t[u]}),r.names=[],r.skips=[],r.formatters={};function e(u){let d=0;for(let h=0;h<u.length;h++)d=(d<<5)-d+u.charCodeAt(h),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=e;function r(u){let d,h=null,g,b;function w(...y){if(!w.enabled)return;let _=w,L=Number(new Date),I=L-(d||L);_.diff=I,_.prev=d,_.curr=L,d=L,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let A=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(K,z)=>{if(K==="%%")return"%";A++;let X=r.formatters[z];if(typeof X=="function"){let Re=y[A];K=X.call(_,Re),y.splice(A,1),A--}return K}),r.formatArgs.call(_,y),(_.log||r.log).apply(_,y)}return w.namespace=u,w.useColors=r.useColors(),w.color=r.selectColor(u),w.extend=n,w.destroy=r.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(g!==r.namespaces&&(g=r.namespaces,b=r.enabled(u)),b),set:y=>{h=y}}),typeof r.init=="function"&&r.init(w),w}function n(u,d){let h=r(this.namespace+(typeof d>"u"?":":d)+u);return h.log=this.log,h}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let d,h=(typeof u=="string"?u:"").split(/[\s,]+/),g=h.length;for(d=0;d<g;d++)h[d]&&(u=h[d].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.substr(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...r.names.map(a),...r.skips.map(a).map(d=>"-"+d)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let d,h;for(d=0,h=r.skips.length;d<h;d++)if(r.skips[d].test(u))return!1;for(d=0,h=r.names.length;d<h;d++)if(r.names[d].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function f(u){return u instanceof Error?u.stack??u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var Ar=Uf(),If=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Af(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Tf(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ir(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}var Df=console.debug??console.log??(()=>{});function Ff(t){try{t?Ar?.setItem("debug",t):Ar?.removeItem("debug")}catch{}}function kf(){let t;try{t=Ar?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function Uf(){try{return localStorage}catch{}}function Bf(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var Ls=Wn({formatArgs:Tf,save:Ff,load:kf,useColors:Af,setupFormatters:Bf,colors:If,storage:Ar,log:Df});var $=Ls;$.formatters.b=t=>t==null?"undefined":J.baseEncode(t);$.formatters.t=t=>t==null?"undefined":ce.baseEncode(t);$.formatters.m=t=>t==null?"undefined":Wr.baseEncode(t);$.formatters.p=t=>t==null?"undefined":t.toString();$.formatters.c=t=>t==null?"undefined":t.toString();$.formatters.k=t=>t==null?"undefined":t.toString();$.formatters.a=t=>t==null?"undefined":t.toString();$.formatters.e=t=>{if(t==null)return"undefined";let e=Is(t.message),r=Is(t.stack);return e!=null&&r!=null?r.includes(e)?r:`${e}
3
- ${r}`:r??e??t.toString()};function Nf(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Pt(){return{forComponent(t){return As(t)}}}function As(t){let e=Nf(`${t}:trace`);return $.enabled(`${t}:trace`)&&$.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=$(`${t}:trace`)),Object.assign($(t),{error:$(`${t}:error`),trace:e,newScope:r=>As(`${t}:${r}`)})}function Is(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var Pf=0,Gn=class extends Be{local;remote;constructor(e){let r=`${Pf++}`;super({...e,id:r,log:Pt().forComponent(`libp2p:stream-pair:${e.direction}:${r}`)}),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",n=>{this.onData(n.data)}),this.remote.addEventListener("reset",n=>{this.onRemoteReset()}),this.remote.addEventListener("closeWrite",n=>{this.onRemoteCloseWrite()})}sendData(e){let r=this.local.send(new se(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendCloseWrite(e){return O(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return O(new Promise((r,n)=>{this.local.send(new Event("closeRead")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}onRemotePaused(){this.local.pause()}onRemoteResumed(){this.local.resume()}onMuxerDrain(){this.local.resume()}};var Ts=()=>{let t=new Error("Delay aborted");return t.name="AbortError",t},Mf=new WeakMap;function Of({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(Ts());let i,s,a,f=t??clearTimeout,c=()=>{f(i),a(Ts())},u=()=>{o&&o.removeEventListener("abort",c)},d=new Promise((h,g)=>{s=()=>{u(),h(n)},a=g,i=(e??setTimeout)(s,r)});return o&&o.addEventListener("abort",c,{once:!0}),Mf.set(d,()=>{f(i),i=null,s()}),d}}var $f=Of(),Hn=$f;var Rf=1024*64,Mt=class extends ae{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new ne({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??Rf,this.queue.addEventListener("idle",()=>{this.needsDrain?(this.log("network send queue drained"),this.needsDrain=!1,this.safeDispatchEvent("drain")):this.log("network send queue idle")})}send(e){if(zf(e)){let r=new C(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let i=new se(o);this.queue.add(async s=>{this.delay>0&&await O(Hn(this.delay),s.signal),this.dispatchEvent(s.evt)},{evt:i})}}else this.queue.add(async r=>{this.delay>0&&await O(Hn(this.delay),r.signal),this.dispatchEvent(r.evt)},{evt:e});return this.queue.size>=this.capacity?(this.log("network send queue full"),this.needsDrain=!0,!1):!0}pause(){this.queue.pause()}resume(){this.queue.resume()}onIdle(){return this.queue.onIdle()}size(){return this.queue.size}};function zf(t){return t?.data instanceof Uint8Array||Ke(t?.data)}var Ds=0,Tr=class extends Ct{local;remote;constructor(e){super(e),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",r=>{this.status==="open"&&this.onData(r.data)}),this.remote.addEventListener("reset",r=>{this.status==="open"&&this.onRemoteReset()}),this.remote.addEventListener("close",r=>{this.onTransportClosed()}),this.remote.addEventListener("pause",r=>{this.local.pause()}),this.remote.addEventListener("resume",r=>{this.local.resume()})}sendData(e){let r=this.local.send(new se(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await D(this.local,"drain",{signal:e?.signal}),O(new Promise((r,n)=>{this.local.send(new Event("close")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}};function Qn(t={}){let e=`${Ds++}`,r=`${Ds++}`,n=Pt().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=Pt().forComponent(`libp2p:mock-maconn:inbound:${r}`),i=new Mt({...t,log:n}),s=new Mt({...t,log:o});return[new Tr({...t.outbound,id:r,direction:"outbound",local:i,remote:s,remoteAddr:t?.outbound?.remoteAddr??Se(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new Tr({...t.inbound,id:e,direction:"inbound",local:s,remote:i,remoteAddr:t?.inbound?.remoteAddr??Se(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var Kn=class extends ne{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var Xn=class extends ne{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var Jn=class{memoryStorage;points;duration;blockDuration;keyPrefix;constructor(e={}){this.points=e.points??4,this.duration=e.duration??1,this.blockDuration=e.blockDuration??0,this.keyPrefix=e.keyPrefix??"rlflx",this.memoryStorage=new Dr}consume(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);if(s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.consumedPoints>this.points)throw this.blockDuration>0&&s.consumedPoints<=this.points+r&&(s=this.memoryStorage.set(o,s.consumedPoints,this.blockDuration)),new vt("Rate limit exceeded",s);return s}penalty(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}reward(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,-r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}block(e,r){let n=r*1e3,o=this.points+1;return this.memoryStorage.set(this.getKey(e),o,r),{remainingPoints:0,msBeforeNext:n===0?-1:n,consumedPoints:o,isFirstInDuration:!1}}set(e,r,n=0){let o=(n>=0?n:this.duration)*1e3;return this.memoryStorage.set(this.getKey(e),r,n),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:r,isFirstInDuration:!1}}get(e){let r=this.memoryStorage.get(this.getKey(e));return r!=null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),r}delete(e){this.memoryStorage.delete(this.getKey(e))}_getKeySecDuration(e){return e?.customDuration!=null&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}},Dr=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let i=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||i>0?(o.value+=r,{remainingPoints:0,msBeforeNext:i,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,i=this.storage.get(e);i!=null&&clearTimeout(i.timeoutId);let s={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,s),o>0&&(s.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),s.timeoutId.unref!=null&&s.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:s.value,isFirstInDuration:!0}}get(e){let r=this.storage.get(e);if(r!=null)return{remainingPoints:0,msBeforeNext:r.expiresAt!=null?r.expiresAt.getTime()-new Date().getTime():-1,consumedPoints:r.value,isFirstInDuration:!1}}delete(e){let r=this.storage.get(e);return r!=null?(r.timeoutId!=null&&clearTimeout(r.timeoutId),this.storage.delete(e),!0):!1}};function Vf(t,e,r){let n,o,i=!1;function s(){let c={signal:o.signal};if(r?.timeout!=null){let u=tr([o.signal,AbortSignal.timeout(r.timeout)]);c.signal=u}i=!0,Promise.resolve().then(async()=>{await t(c)}).catch(()=>{}).finally(()=>{i=!1,!o.signal.aborted&&(n=setTimeout(s,e))})}let a=Ye(s,r?.debounce??100),f=!1;return{setInterval:c=>{e!==c&&(e=c,n!=null&&(clearTimeout(n),n=setTimeout(s,e)))},setTimeout:c=>{r??={},r.timeout=c},run:()=>{i||(clearTimeout(n),a())},start:()=>{f||(f=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{s()}):n=setTimeout(s,e))},stop:()=>{clearTimeout(n),o?.abort(),f=!1}}}async function Fs(t={}){let[e,r]=Qn({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=Lr({streamOptions:t.outbound}).createStreamMuxer(e),o=Lr({streamOptions:t.inbound}).createStreamMuxer(r),[i,s]=await Promise.all([D(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[s,i]}async function qf(t={}){let[e,r]=await Fs(t);return Dn(r),e}function jf(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var Zn=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Wf(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Zn({name:e,metrics:r}):n=new Map,n}return $s(Gf);})();
2
+ "use strict";var Libp2PUtils=(()=>{var Bs=Object.create;var $t=Object.defineProperty;var Us=Object.getOwnPropertyDescriptor;var Ps=Object.getOwnPropertyNames;var Ns=Object.getPrototypeOf,Ms=Object.prototype.hasOwnProperty;var Os=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),V=(t,e)=>{for(var r in e)$t(t,r,{get:e[r],enumerable:!0})},eo=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ps(e))!Ms.call(t,o)&&o!==r&&$t(t,o,{get:()=>e[o],enumerable:!(n=Us(e,o))||n.enumerable});return t};var $s=(t,e,r)=>(r=t!=null?Bs(Ns(t)):{},eo(e||!t||!t.__esModule?$t(r,"default",{value:t,enumerable:!0}):r,t)),Rs=t=>eo($t({},"__esModule",{value:!0}),t);var $o=Os(Et=>{(function(){var t,e,r,n,o,i,s,a;a=function(f){var c,u,d,h;return c=(f&255<<24)>>>24,u=(f&255<<16)>>>16,d=(f&65280)>>>8,h=f&255,[c,u,d,h].join(".")},s=function(f){var c,u,d,h,g,b;for(c=[],d=h=0;h<=3&&f.length!==0;d=++h){if(d>0){if(f[0]!==".")throw new Error("Invalid IP");f=f.substring(1)}b=e(f),g=b[0],u=b[1],f=f.substring(u),c.push(g)}if(f.length!==0)throw new Error("Invalid IP");switch(c.length){case 1:if(c[0]>4294967295)throw new Error("Invalid IP");return c[0]>>>0;case 2:if(c[0]>255||c[1]>16777215)throw new Error("Invalid IP");return(c[0]<<24|c[1])>>>0;case 3:if(c[0]>255||c[1]>255||c[2]>65535)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2])>>>0;case 4:if(c[0]>255||c[1]>255||c[2]>255||c[3]>255)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0;default:throw new Error("Invalid IP")}},r=function(f){return f.charCodeAt(0)},n=r("0"),i=r("a"),o=r("A"),e=function(f){var c,u,d,h,g;for(h=0,c=10,u="9",d=0,f.length>1&&f[d]==="0"&&(f[d+1]==="x"||f[d+1]==="X"?(d+=2,c=16):"0"<=f[d+1]&&f[d+1]<="9"&&(d++,c=8,u="7")),g=d;d<f.length;){if("0"<=f[d]&&f[d]<=u)h=h*c+(r(f[d])-n)>>>0;else if(c===16)if("a"<=f[d]&&f[d]<="f")h=h*c+(10+r(f[d])-i)>>>0;else if("A"<=f[d]&&f[d]<="F")h=h*c+(10+r(f[d])-o)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");d++}if(d===g)throw new Error("empty octet");return[h,d]},t=(function(){function f(c,u){var d,h,g,b;if(typeof c!="string")throw new Error("Missing `net' parameter");if(u||(b=c.split("/",2),c=b[0],u=b[1]),u||(u=32),typeof u=="string"&&u.indexOf(".")>-1){try{this.maskLong=s(u)}catch(w){throw d=w,new Error("Invalid mask: "+u)}for(h=g=32;g>=0;h=--g)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(u||u===0)this.bitmask=parseInt(u,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(c)&this.maskLong)>>>0}catch(w){throw d=w,new Error("Invalid net address: "+c)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+u);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return f.prototype.contains=function(c){return typeof c=="string"&&(c.indexOf("/")>0||c.split(".").length!==4)&&(c=new f(c)),c instanceof f?this.contains(c.base)&&this.contains(c.broadcast||c.last):(s(c)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},f.prototype.next=function(c){return c==null&&(c=1),new f(a(this.netLong+this.size*c),this.mask)},f.prototype.forEach=function(c){var u,d,h;for(h=s(this.first),d=s(this.last),u=0;h<=d;)c(a(h),h,u),u++,h++},f.prototype.toString=function(){return this.base+"/"+this.bitmask},f})(),Et.ip2long=s,Et.long2ip=a,Et.Netmask=t}).call(Et)});var Hf={};V(Hf,{AbstractMessageStream:()=>Be,AbstractMultiaddrConnection:()=>Lt,AbstractStream:()=>Ue,AbstractStreamMuxer:()=>It,AdaptiveTimeout:()=>wn,BloomFilter:()=>yt,CuckooFilter:()=>Ee,DEFAULT_FAILURE_MULTIPLIER:()=>jo,DEFAULT_INTERVAL:()=>Ho,DEFAULT_MAX_TIMEOUT:()=>Go,DEFAULT_MIN_TIMEOUT:()=>Wo,DEFAULT_TIMEOUT_MULTIPLIER:()=>qo,InvalidDataLengthError:()=>ar,InvalidDataLengthLengthError:()=>cr,InvalidMessageLengthError:()=>tt,LengthPrefixedDecoder:()=>kn,MaxEarlyStreamsError:()=>St,MemoryStorage:()=>Fr,MockStream:()=>Hn,MovingAverage:()=>Pe,PeerQueue:()=>Xn,PriorityQueue:()=>Jn,Queue:()=>ne,QueueFullError:()=>_t,RateLimitError:()=>vt,RateLimiter:()=>Zn,ScalableCuckooFilter:()=>xt,StreamClosedError:()=>Ct,UnexpectedEOFError:()=>Se,UnwrappedError:()=>Tt,byteStream:()=>yi,createBloomFilter:()=>To,createCuckooFilter:()=>Do,createScalableCuckooFilter:()=>Fo,debounce:()=>Ye,echo:()=>Fn,echoStream:()=>jf,getNetConfig:()=>j,getThinWaistAddresses:()=>vu,ipPortToMultiaddr:()=>Su,isAsyncGenerator:()=>Cu,isGenerator:()=>Lu,isGlobalUnicast:()=>lc,isGlobalUnicastIp:()=>_u,isLinkLocal:()=>dc,isLinkLocalIp:()=>qu,isLoopback:()=>hc,isNetworkAddress:()=>mc,isPrivate:()=>vc,isPrivateIp:()=>mn,isPromise:()=>bn,lpStream:()=>xi,messageStreamToDuplex:()=>bi,mockMuxer:()=>Ir,multiaddrConnectionPair:()=>Kn,pbStream:()=>Ou,pipe:()=>Ru,repeatingTask:()=>qf,streamPair:()=>ks,trackedList:()=>Wf,trackedMap:()=>Gf});var le=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var O=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var Rt=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},zt=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var ye=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},ut=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var se=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},ze=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},Vt=class extends ze{constructor(e,r){super(!0,e,r)}},qt=class extends ze{constructor(e,r){super(!1,e,r)}};var ae=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:i})=>i!==r),this.#e.set(e,o))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var Nr={};V(Nr,{base58btc:()=>J,base58flickr:()=>Hs});var Zf=new Uint8Array(0);function to(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}function de(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")}function ro(t){return new TextEncoder().encode(t)}function no(t){return new TextDecoder().decode(t)}function zs(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 o=0;o<t.length;o++){var i=t.charAt(o),s=i.charCodeAt(0);if(r[s]!==255)throw new TypeError(i+" is ambiguous");r[s]=o}var a=t.length,f=t.charAt(0),c=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function d(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var w=0,y=0,_=0,L=b.length;_!==L&&b[_]===0;)_++,w++;for(var I=(L-_)*u+1>>>0,A=new Uint8Array(I);_!==L;){for(var R=b[_],K=0,z=I-1;(R!==0||K<y)&&z!==-1;z--,K++)R+=256*A[z]>>>0,A[z]=R%a>>>0,R=R/a>>>0;if(R!==0)throw new Error("Non-zero carry");y=K,_++}for(var X=I-y;X!==I&&A[X]===0;)X++;for(var Re=f.repeat(w);X<I;++X)Re+=t.charAt(A[X]);return Re}function h(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var w=0;if(b[w]!==" "){for(var y=0,_=0;b[w]===f;)y++,w++;for(var L=(b.length-w)*c+1>>>0,I=new Uint8Array(L);b[w];){var A=r[b.charCodeAt(w)];if(A===255)return;for(var R=0,K=L-1;(A!==0||R<_)&&K!==-1;K--,R++)A+=a*I[K]>>>0,I[K]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");_=R,w++}if(b[w]!==" "){for(var z=L-_;z!==L&&I[z]===0;)z++;for(var X=new Uint8Array(y+(L-z)),Re=y;z!==L;)X[Re++]=I[z++];return X}}}function g(b){var w=h(b);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:d,decodeUnsafe:h,decode:g}}var Vs=zs,qs=Vs,io=qs;var kr=class{name;prefix;baseEncode;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")}},Br=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,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 so(this,e)}},Ur=class{decoders;constructor(e){this.decoders=e}or(e){return so(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function so(t,e){return new Ur({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Pr=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new kr(e,r,n),this.decoder=new Br(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Ve({name:t,prefix:e,encode:r,decode:n}){return new Pr(t,e,r,n)}function xe({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=io(r,t);return Ve({prefix:e,name:t,encode:n,decode:i=>de(o(i))})}function js(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let i=new Uint8Array(o*r/8|0),s=0,a=0,f=0;for(let c=0;c<o;++c){let u=e[t[c]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|u,s+=r,s>=8&&(s-=8,i[f++]=255&a>>s)}if(s>=r||(255&a<<8-s)!==0)throw new SyntaxError("Unexpected end of data");return i}function Ws(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,i="",s=0,a=0;for(let f=0;f<t.length;++f)for(a=a<<8|t[f],s+=8;s>r;)s-=r,i+=e[o&a>>s];if(s!==0&&(i+=e[o&a<<r-s]),n)for(;(i.length*r&7)!==0;)i+="=";return i}function Gs(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function S({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Gs(n);return Ve({prefix:e,name:t,encode(i){return Ws(i,n,r)},decode(i){return js(i,o,r,t)}})}var J=xe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Hs=xe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Mr={};V(Mr,{base32:()=>ce,base32hex:()=>Js,base32hexpad:()=>Ys,base32hexpadupper:()=>ea,base32hexupper:()=>Zs,base32pad:()=>Ks,base32padupper:()=>Xs,base32upper:()=>Qs,base32z:()=>ta});var ce=S({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qs=S({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ks=S({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Xs=S({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Js=S({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Zs=S({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Ys=S({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ea=S({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ta=S({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Or={};V(Or,{base36:()=>ft,base36upper:()=>ra});var ft=xe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ra=xe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var na=uo,ao=128,oa=127,ia=~oa,sa=Math.pow(2,31);function uo(t,e,r){e=e||[],r=r||0;for(var n=r;t>=sa;)e[r++]=t&255|ao,t/=128;for(;t&ia;)e[r++]=t&255|ao,t>>>=7;return e[r]=t|0,uo.bytes=r-n+1,e}var aa=$r,ca=128,co=127;function $r(t,n){var r=0,n=n||0,o=0,i=n,s,a=t.length;do{if(i>=a)throw $r.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=o<28?(s&co)<<o:(s&co)*Math.pow(2,o),o+=7}while(s>=ca);return $r.bytes=i-n,r}var ua=Math.pow(2,7),fa=Math.pow(2,14),la=Math.pow(2,21),da=Math.pow(2,28),ha=Math.pow(2,35),ma=Math.pow(2,42),pa=Math.pow(2,49),ga=Math.pow(2,56),ya=Math.pow(2,63),xa=function(t){return t<ua?1:t<fa?2:t<la?3:t<da?4:t<ha?5:t<ma?6:t<pa?7:t<ga?8:t<ya?9:10},ba={encode:na,decode:aa,encodingLength:xa},wa=ba,lt=wa;function dt(t,e=0){return[lt.decode(t,e),lt.decode.bytes]}function qe(t,e,r=0){return lt.encode(t,e,r),e}function je(t){return lt.encodingLength(t)}function Ge(t,e){let r=e.byteLength,n=je(t),o=n+je(r),i=new Uint8Array(o+r);return qe(t,i,0),qe(r,i,n),i.set(e,o),new We(t,r,e,i)}function fo(t){let e=de(t),[r,n]=dt(e),[o,i]=dt(e.subarray(n)),s=e.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new We(r,o,s,e)}function lo(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&to(t.bytes,r.bytes)}}var We=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function ho(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return va(r,Rr(t),e??J.encoder);default:return _a(r,Rr(t),e??ce.encoder)}}var mo=new WeakMap;function Rr(t){let e=mo.get(t);if(e==null){let r=new Map;return mo.set(t,r),r}return e}var He=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}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!==mt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Sa)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=Ge(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!=null&&e.code===n.code&&e.version===n.version&&lo(e.multihash,n.multihash)}toString(e){return ho(this,e)}toJSON(){return{"/":ho(this)}}link(){return this}[Symbol.toStringTag]="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:o,multihash:i,bytes:s}=r;return new t(n,o,i,s??po(n,o,i.bytes))}else if(r[Ca]===!0){let{version:n,multihash:o,code:i}=r,s=fo(o);return t.create(n,i,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!==mt)throw new Error(`Version 0 CID must use dag-pb (code: ${mt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=po(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,mt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=de(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let i=o.subarray(r.multihashSize-r.digestSize),s=new We(r.multihashCode,r.digestSize,i,o);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[d,h]=dt(e.subarray(r));return r+=h,d},o=n(),i=mt;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,a=n(),f=n(),c=r+f,u=c-s;return{version:o,codec:i,multihashCode:a,digestSize:f,multihashSize:u,size:c}}static parse(e,r){let[n,o]=Ea(e,r),i=t.decode(o);if(i.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Rr(i).set(n,e),i}};function Ea(t,e){switch(t[0]){case"Q":{let r=e??J;return[J.prefix,r.decode(`${J.prefix}${t}`)]}case J.prefix:{let r=e??J;return[J.prefix,r.decode(t)]}case ce.prefix:{let r=e??ce;return[ce.prefix,r.decode(t)]}case ft.prefix:{let r=e??ft;return[ft.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function va(t,e,r){let{prefix:n}=r;if(n!==J.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let i=r.encode(t).slice(1);return e.set(n,i),i}else return o}function _a(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let i=r.encode(t);return e.set(n,i),i}else return o}var mt=112,Sa=18;function po(t,e,r){let n=je(t),o=n+je(e),i=new Uint8Array(o+r.byteLength);return qe(t,i,0),qe(e,i,n),i.set(r,o),i}var Ca=Symbol.for("@ipld/js-cid/CID");var zr={};V(zr,{identity:()=>Aa});var go=0,La="identity",yo=de;function Ia(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return Ge(go,yo(t))}var Aa={code:go,name:La,encode:yo,digest:Ia};function Qe(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}function q(t=0){return new Uint8Array(t)}function ee(t=0){return new Uint8Array(t)}function be(t,e){e==null&&(e=t.reduce((o,i)=>o+i.length,0));let r=ee(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}var bo=Symbol.for("@achingbrain/uint8arraylist");function xo(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let o=r+n.byteLength;if(e<o)return{buf:n,index:e-r};r=o}throw new RangeError("index is out of bounds")}function Ke(t){return!!t?.[bo]}var C=class t{bufs;length;[bo]=!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(Ke(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(Ke(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=xo(this.bufs,e);return r.buf[r.index]}set(e,r){let n=xo(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(Ke(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:o}=this._subList(e,r);return be(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:be(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),i=new t;return i.length=o,i.bufs=[...n],i}_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=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],a=o,f=a+s.byteLength;if(o=f,e>=f)continue;let c=e>=a&&e<f,u=r>a&&r<=f;if(c&&u){if(e===a&&r===f){n.push(s);break}let d=e-a;n.push(s.subarray(d,d+(r-e)));break}if(c){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(u){if(r===f){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(!Ke(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 o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let d=0;d<i;d++)s[d]=-1;for(let d=0;d<o;d++)s[n[d]]=d;let a=s,f=this.byteLength-n.byteLength,c=n.byteLength-1,u;for(let d=r;d<=f;d+=u){u=0;for(let h=c;h>=0;h--){let g=this.get(d+h);if(n[h]!==g){u=Math.max(1,h-a[g]);break}}if(u===0)return d}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=ee(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 o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,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 o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,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 o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,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=ee(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 o=q(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,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 o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,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 o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,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 o=q(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,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 o=q(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,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(!Qe(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((o,i)=>o+i.byteLength,0)),n.length=r,n}};var Vr={};V(Vr,{base10:()=>Ta});var Ta=xe({prefix:"9",name:"base10",alphabet:"0123456789"});var qr={};V(qr,{base16:()=>Da,base16upper:()=>Fa});var Da=S({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Fa=S({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var jr={};V(jr,{base2:()=>ka});var ka=S({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Wr={};V(Wr,{base256emoji:()=>Ma});var wo=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}"),Ba=wo.reduce((t,e,r)=>(t[r]=e,t),[]),Ua=wo.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Pa(t){return t.reduce((e,r)=>(e+=Ba[r],e),"")}function Na(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Ua[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Ma=Ve({prefix:"\u{1F680}",name:"base256emoji",encode:Pa,decode:Na});var Qr={};V(Qr,{base64:()=>Gr,base64pad:()=>Oa,base64url:()=>Hr,base64urlpad:()=>$a});var Gr=S({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Oa=S({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hr=S({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$a=S({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Kr={};V(Kr,{base8:()=>Ra});var Ra=S({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Xr={};V(Xr,{identity:()=>za});var za=Ve({prefix:"\0",name:"identity",encode:t=>no(t),decode:t=>ro(t)});var Pl=new TextEncoder,Nl=new TextDecoder;var Yr={};V(Yr,{sha256:()=>Wa,sha512:()=>Ga});var ja=20;function Zr({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Jr(t,e,r,n,o)}var Jr=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,i){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??ja,this.maxDigestLength=i}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?Eo(n,this.code,r?.truncate):n.then(o=>Eo(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function Eo(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return Ge(e,t)}function _o(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Wa=Zr({name:"sha2-256",code:18,encode:_o("SHA-256")}),Ga=Zr({name:"sha2-512",code:19,encode:_o("SHA-512")});var pt={...Xr,...jr,...Kr,...Vr,...qr,...Mr,...Or,...Nr,...Qr,...Wr},Ql={...Yr,...zr};function Co(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var So=Co("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),en=Co("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=ee(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Ha={utf8:So,"utf-8":So,hex:pt.base16,latin1:en,ascii:en,binary:en,...pt},Wt=Ha;function T(t,e="utf8"){let r=Wt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function Ae(t,e="utf8"){let r=Wt[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}function Lo(t=32){let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");return e.getRandomValues(new Uint8Array(t))}var Qa=Math.pow(2,7),Ka=Math.pow(2,14),Xa=Math.pow(2,21),tn=Math.pow(2,28),rn=Math.pow(2,35),nn=Math.pow(2,42),on=Math.pow(2,49),v=128,P=127;function N(t){if(t<Qa)return 1;if(t<Ka)return 2;if(t<Xa)return 3;if(t<tn)return 4;if(t<rn)return 5;if(t<nn)return 6;if(t<on)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Gt(t,e,r=0){switch(N(t)){case 8:e[r++]=t&255|v,t/=128;case 7:e[r++]=t&255|v,t/=128;case 6:e[r++]=t&255|v,t/=128;case 5:e[r++]=t&255|v,t/=128;case 4:e[r++]=t&255|v,t>>>=7;case 3:e[r++]=t&255|v,t>>>=7;case 2:e[r++]=t&255|v,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Ja(t,e,r=0){switch(N(t)){case 8:e.set(r++,t&255|v),t/=128;case 7:e.set(r++,t&255|v),t/=128;case 6:e.set(r++,t&255|v),t/=128;case 5:e.set(r++,t&255|v),t/=128;case 4:e.set(r++,t&255|v),t>>>=7;case 3:e.set(r++,t&255|v),t>>>=7;case 2:e.set(r++,t&255|v),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Za(t,e){let r=t[e],n=0;if(n+=r&P,r<v||(r=t[e+1],n+=(r&P)<<7,r<v)||(r=t[e+2],n+=(r&P)<<14,r<v)||(r=t[e+3],n+=(r&P)<<21,r<v)||(r=t[e+4],n+=(r&P)*tn,r<v)||(r=t[e+5],n+=(r&P)*rn,r<v)||(r=t[e+6],n+=(r&P)*nn,r<v)||(r=t[e+7],n+=(r&P)*on,r<v))return n;throw new RangeError("Could not decode varint")}function Ya(t,e){let r=t.get(e),n=0;if(n+=r&P,r<v||(r=t.get(e+1),n+=(r&P)<<7,r<v)||(r=t.get(e+2),n+=(r&P)<<14,r<v)||(r=t.get(e+3),n+=(r&P)<<21,r<v)||(r=t.get(e+4),n+=(r&P)*tn,r<v)||(r=t.get(e+5),n+=(r&P)*rn,r<v)||(r=t.get(e+6),n+=(r&P)*nn,r<v)||(r=t.get(e+7),n+=(r&P)*on,r<v))return n;throw new RangeError("Could not decode varint")}function Ht(t,e,r=0){return e==null&&(e=ee(N(t))),e instanceof Uint8Array?Gt(t,e,r):Ja(t,e,r)}function he(t,e=0){return t instanceof Uint8Array?Za(t,e):Ya(t,e)}function Qt(t){if(isNaN(t)||t<=0)throw new O("random bytes length must be a Number bigger than 0");return Lo(t)}var sn={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},Io={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Ao=new globalThis.TextEncoder;function ec(t,e){let r=sn[e],n=Io[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function tc(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=sn[e],o=Io[e],i=t;for(;i.length>0;){let s=Ao.encodeInto(i,r);i=i.slice(s.read);for(let a=0;a<s.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function an(t,{size:e=32,utf8Buffer:r}={}){if(!sn[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof t=="string"){if(r)return tc(t,e,r);t=Ao.encode(t)}return ec(t,e)}var we={hash:t=>Number(an(t,{size:32})),hashV:(t,e)=>rc(we.hash(t,e))};function rc(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),T(e,"base16")}var nc=Math.LN2*Math.LN2,yt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=ic(e.hashes??8),this.bits=e.bits??1024,this.buffer=q(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.seeds.length;r++){let o=we.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.seeds.length;r++){let o=we.hash(e,this.seeds[r])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(e){let r=Math.floor(e/8),n=e%8,o=this.buffer[r];o|=1<<n,this.buffer[r]=o}getbit(e){let r=Math.floor(e/8),n=e%8;return(this.buffer[r]&1<<n)!==0}};function To(t,e=.005){let r=oc(t,e);return new yt(r)}function oc(t,e=.005){let r=Math.round(-1*t*Math.log(e)/nc),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function ic(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new C(Qt(4)),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var cn=64,te=class{fp;h;seed;constructor(e,r,n,o=2){if(o>cn)throw new TypeError("Invalid Fingerprint Size");let i=r.hashV(e,n),s=q(o);for(let a=0;a<s.length;a++)s[a]=i[a];s.length===0&&(s[0]=7),this.fp=s,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Qe(this.fp,e.fp):!1}};function Te(t,e){return Math.floor(Math.random()*(e-t))+t}var De=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");for(let r=0;r<this.contents.length;r++)if(this.contents[r]==null)return this.contents[r]=e,!0;return!0}swap(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");let r=Te(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof te))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var sc=500,Ee=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??we,this.seed=e.seed??Te(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=T(e));let r=new te(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=(n^r.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new De(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new De(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let i=[n,o],s=i[Te(0,i.length-1)];this.buckets[s]==null&&(this.buckets[s]=new De(this.bucketSize));for(let a=0;a<sc;a++){let f=this.buckets[s].swap(r);if(f!=null&&(s=(s^f.hash())%this.filterSize,this.buckets[s]==null&&(this.buckets[s]=new De(this.bucketSize)),this.buckets[s].add(f)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=T(e));let r=new te(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.has(r)??!1;if(o)return o;let i=(n^r.hash())%this.filterSize;return this.buckets[i]?.has(r)??!1}remove(e){typeof e=="string"&&(e=T(e));let r=new te(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.remove(r)??!1;if(o)return this.count--,o;let i=(n^r.hash())%this.filterSize,s=this.buckets[i]?.remove(r)??!1;return s&&this.count--,s}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},ac={1:.5,2:.84,4:.95,8:.98};function cc(t=.001){return t>.002?2:t>1e-5?4:8}function un(t,e=.001){let r=cc(e),n=ac[r],o=Math.round(t/n),i=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),cn);return{filterSize:o,bucketSize:r,fingerprintSize:i}}function Do(t,e=.005){let r=un(t,e);return new Ee(r)}var xt=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??we,this.seed=e.seed??Te(0,Math.pow(2,10)),this.filterSeries=[new Ee({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=T(e)),this.has(e))return!0;let r=this.filterSeries.find(n=>n.reliable);if(r==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);r=new Ee({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(r)}return r.add(e)}has(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=T(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,r)=>e+r.count,0)}};function Fo(t,e=.001,r){return new xt({...un(t,e),...r??{}})}function j(t){let e=t.getComponents(),r={},n=0;if(e[n]?.name==="ip6zone"&&(r.zone=`${e[n].value}`,n++),e[n].name==="ip4"||e[n].name==="ip6"||e[n].name==="dns"||e[n].name==="dns4"||e[n].name==="dns6"?(r.type=e[n].name,r.host=e[n].value,n++):e[n].name==="dnsaddr"&&(r.type=e[n].name,r.host=`_dnsaddr.${e[n].value}`,n++),(e[n]?.name==="tcp"||e[n]?.name==="udp")&&(r.protocol=e[n].name==="tcp"?"tcp":"udp",r.port=parseInt(`${e[n].value}`),n++),e[n]?.name==="ipcidr"&&(r.type==="ip4"?r.cidr=parseInt(`${e[n].value}`):r.type==="ip6"&&(r.cidr=`${e[n].value}`),n++),r.type==null||r.host==null)throw new O(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r}var Kt=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,o){return this.readAtomically(()=>{let i=0,s=0,a=this.peekChar();if(a===void 0)return;let f=a==="0",c=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let d=this.readChar();if(d===void 0)return;let h=Number.parseInt(d,e);if(!Number.isNaN(h))return h});if(u===void 0)break;if(i*=e,i+=u,i>c||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&f&&s>1?void 0:i})}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 o=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[o]=s[0],r[o+1]=s[1],r[o+2]=s[2],r[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];r[o]=i>>8,r[o+1]=i&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[a]=e(i.subarray(0,s));return r.set(i.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ko=45,uc=15,Xe=new Kt;function Xt(t){if(!(t.length>uc))return Xe.new(t).parseWith(()=>Xe.readIPv4Addr())}function Jt(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>ko))return Xe.new(t).parseWith(()=>Xe.readIPv6Addr())}function Je(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>ko)return;let r=Xe.new(t).parseWith(()=>Xe.readIPAddr());if(r)return e&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}function Bo(t,e,r){let n=0;for(let o of t)if(!(n<e)){if(n>r)break;if(o!==255)return!1;n++}return!0}function Uo(t,e,r,n){let o=0;for(let i of t)if(!(o<r)){if(o>n)break;if(i!==e[o])return!1;o++}return!0}function fn(t){switch(t.length){case Fe:return t.join(".");case ke:{let e=[];for(let r=0;r<t.length;r++)r%2===0&&e.push(t[r].toString(16).padStart(2,"0")+t[r+1].toString(16).padStart(2,"0"));return e.join(":")}default:throw new Error("Invalid ip length")}}function Po(t){let e=0;for(let[r,n]of t.entries()){if(n===255){e+=8;continue}for(;(n&128)!=0;)e++,n=n<<1;if((n&128)!=0)return-1;for(let o=r+1;o<t.length;o++)if(t[o]!=0)return-1;break}return e}function No(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var Fe=4,ke=16,Jd=parseInt("0xFFFF",16),fc=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function bt(t,e){e.length===ke&&t.length===Fe&&Bo(e,0,11)&&(e=e.slice(12)),e.length===Fe&&t.length===ke&&Uo(t,fc,0,11)&&(t=t.slice(12));let r=t.length;if(r!=e.length)throw new Error("Failed to mask ip");let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t[o]&e[o];return n}function Mo(t,e){if(typeof e=="string"&&(e=Je(e)),e==null)throw new Error("Invalid ip");if(e.length!==t.network.length)return!1;for(let r=0;r<e.length;r++)if((t.network[r]&t.mask[r])!==(e[r]&t.mask[r]))return!1;return!0}function ln(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=Fe,o=Xt(e);if(o==null&&(n=ke,o=Jt(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let i=parseInt(r,10);if(Number.isNaN(i)||String(i).length!==r.length||i<0||i>n*8)throw new Error("Failed to parse given CIDR: "+t);let s=dn(i,8*n);return{network:bt(o,s),mask:s}}function dn(t,e){if(e!==8*Fe&&e!==8*ke)throw new Error("Invalid CIDR mask");if(t<0||t>e)throw new Error("Invalid CIDR mask");let r=e/8,n=new Uint8Array(r);for(let o=0;o<r;o++){if(t>=8){n[o]=255,t-=8;continue}n[o]=255-(255>>t),t=0}return n}var wt=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=ln(e));else{let n=Je(e);if(n==null)throw new Error("Failed to parse network");r=String(r);let o=parseInt(r,10);if(Number.isNaN(o)||String(o).length!==r.length||o<0||o>n.length*8){let i=Je(r);if(i==null)throw new Error("Failed to parse mask");this.mask=i}else this.mask=dn(o,8*n.length);this.network=bt(n,this.mask)}}contains(e){return Mo({network:this.network,mask:this.mask},e)}toString(){let e=Po(this.mask),r=e!==-1?String(e):No(this.mask);return fn(this.network)+"/"+r}};function Zt(t,e){return new wt(t).contains(e)}function lc(t){try{let e=j(t);switch(e.type){case"ip6":return Zt("2000::/3",e.host);default:return!1}}catch{return!1}}function dc(t){try{let e=j(t);switch(e.type){case"ip4":return e.host.startsWith("169.254.");case"ip6":return e.host.toLowerCase().startsWith("fe80");default:return!1}}catch{return!1}}function Oo(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function hc(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return Oo(e.host);default:return!1}}catch{return!1}}function mc(t){try{return j(t),!0}catch{return!1}}function ve(t){return!!Xt(t)}function _e(t){return!!Jt(t)}var Ro=$s($o(),1),pc=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],gc=pc.map(t=>new Ro.Netmask(t));function hn(t){for(let e of gc)if(e.contains(t))return!0;return!1}function yc(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function xc(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return hn(o)}function bc(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function wc(t){let e=t.split(":"),r=e[e.length-1];return hn(r)}function Ec(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function mn(t){if(ve(t))return hn(t);if(yc(t))return xc(t);if(bc(t))return wc(t);if(_e(t))return Ec(t)}function vc(t){try{let e=j(t);switch(e.type){case"ip4":case"ip6":return mn(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}function re(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Yt=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},Ze=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Yt(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Yt(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var pn=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ue(t={}){return _c(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function _c(t,e){e=e??{};let r=e.onEnd,n=new Ze,o,i,s,a=re(),f=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,_)=>{i=L=>{i=null,n.push(L);try{y(t(n))}catch(I){_(I)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=re()})}},c=y=>i!=null?i(y):(n.push(y),o),u=y=>(n=new Ze,i!=null?i({error:y}):(n.push({error:y}),o)),d=y=>{if(s)return o;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:y})},h=y=>s?o:(s=!0,y!=null?u(y):c({done:!0})),g=()=>(n=new Ze,h(),{done:!0}),b=y=>(h(y),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:f,return:g,throw:b,push:d,end:h,get readableLength(){return n.size},onEmpty:async y=>{let _=y?.signal;if(_?.throwIfAborted(),n.isEmpty())return;let L,I;_!=null&&(L=new Promise((A,R)=>{I=()=>{R(new pn)},_.addEventListener("abort",I)}));try{await Promise.race([a.promise,L])}finally{I!=null&&_!=null&&_?.removeEventListener("abort",I)}}},r==null)return o;let w=o;return o={[Symbol.asyncIterator](){return this},next(){return w.next()},throw(y){return w.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return w.return(),r!=null&&(r(),r=void 0),{done:!0}},push:d,end(y){return w.end(y),r!=null&&(r(y),r=void 0),o},get readableLength(){return w.readableLength},onEmpty:y=>w.onEmpty(y)},o}var gn=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},yn=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},zo=t=>globalThis.DOMException===void 0?new yn(t):new DOMException(t),Vo=t=>{let e=t.reason===void 0?zo("This operation was aborted."):t.reason;return e instanceof Error?e:zo(e)};function xn(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=e,s,a,c=new Promise((u,d)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:g}=e;g.aborted&&d(Vo(g)),a=()=>{d(Vo(g))},g.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){t.then(u,d);return}let h=new gn;s=i.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(g){d(g)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?u():o instanceof Error?d(o):(h.message=o??`Promise timed out after ${r} milliseconds`,d(h))},r),(async()=>{try{u(await t)}catch(g){d(g)}})()}).finally(()=>{c.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return c.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},c}var Sc=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function Cc(t,e,r){let n,o=new Promise((i,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),f=[],{addListener:c,removeListener:u}=Sc(t),d=async(...g)=>{let b=r.multiArgs?g:g[0];if(r.filter)try{if(!await r.filter(b))return}catch(w){n(),s(w);return}f.push(b),r.count===f.length&&(n(),i(f))},h=(...g)=>{n(),s(r.rejectionMultiArgs?g:g[0])};n=()=>{for(let g of a)u(g,d);for(let g of r.rejectionEvents)a.includes(g)||u(g,h)};for(let g of a)c(g,d);for(let g of r.rejectionEvents)a.includes(g)||c(g,h);r.signal&&r.signal.addEventListener("abort",()=>{h(r.signal.reason)},{once:!0}),r.resolveImmediately&&i(f)});if(o.cancel=n,typeof r.timeout=="number"){let i=xn(o,{milliseconds:r.timeout});return i.cancel=()=>{n(),i.clear()},i}return o}function D(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Cc(t,e,r),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function Ye(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var vt=class extends Error{remainingPoints;msBeforeNext;consumedPoints;isFirstInDuration;constructor(e="Rate limit exceeded",r){super(e),this.name="RateLimitError",this.remainingPoints=r.remainingPoints,this.msBeforeNext=r.msBeforeNext,this.consumedPoints=r.consumedPoints,this.isFirstInDuration=r.isFirstInDuration}},_t=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},Se=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},St=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},Ct=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function Lc(t){return t.reason}async function M(t,e,r){if(e==null)return t;let n=r?.translateError??Lc;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((i,s)=>{o=()=>{s(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var er=class{deferred;signal;constructor(e){this.signal=e,this.deferred=re(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new le)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function Ic(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var tr=class{id;fn;options;recipients;status;timeline;controller;constructor(e,r){this.id=Ic(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new le),this.cleanup())}async join(e={}){let r=new er(e.signal);return this.recipients.push(r),e.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await M(this.fn({...this.options??{},signal:this.controller.signal}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var ne=class extends ae{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=Ye(this.emitEmpty.bind(this),1),this.emitIdle=Ye(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new _t;let n=new tr(e,r);return this.enqueue(n),this.safeDispatchEvent("add"),this.tryToStartAnother(),n.join(r).then(o=>(this.safeDispatchEvent("completed",{detail:o}),this.safeDispatchEvent("success",{detail:{job:n,result:o}}),o)).catch(o=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:o}}),o})}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new le)}),this.clear()}async onEmpty(e){this.size!==0&&await D(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await D(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await D(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=ue({objectMode:!0}),n=f=>{f!=null?this.abort():this.clear(),r.end(f)},o=f=>{f.detail!=null&&r.push(f.detail)},i=f=>{n(f.detail.error)},s=()=>{n()},a=()=>{n(new le("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",i),this.addEventListener("idle",s),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",i),this.removeEventListener("idle",s),e?.signal?.removeEventListener("abort",a),n()}}};var Ac=Math.pow(2,20)*4,Be=class extends ae{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;onDrainPromise;constructor(e){super(),this.status="open",this.log=e.log,this.direction=e.direction??"outbound",this.inactivityTimeout=e.inactivityTimeout??12e4,this.maxReadBufferLength=e.maxReadBufferLength??Ac,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new C,this.writeBuffer=new C,this.readStatus="readable",this.remoteReadStatus="readable",this.writeStatus="writable",this.remoteWriteStatus="writable",this.sendingData=!1,this.writableNeedsDrain=!1,this.timeline={open:Date.now()},this.processSendQueue=this.processSendQueue.bind(this);let r=()=>{this.writableNeedsDrain&&(this.log.trace("drain event received, continue sending data"),this.writableNeedsDrain=!1,this.processSendQueue()),this.onDrainPromise?.resolve()};this.addEventListener("drain",r);let n=o=>{this.onDrainPromise?.reject(o.error??new Ct)};this.addEventListener("close",n)}get readBufferLength(){return this.readBuffer.byteLength}get writeBufferLength(){return this.writeBuffer.byteLength}async onDrain(e){return this.writableNeedsDrain!==!0?Promise.resolve():(this.onDrainPromise==null&&(this.onDrainPromise=Promise.withResolvers()),M(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=ue(),r=i=>{e.push(i.data)};this.addEventListener("message",r);let n=i=>{e.end(i.error)};this.addEventListener("close",n);let o=()=>{e.end()};this.addEventListener("remoteCloseWrite",o);try{yield*e}finally{this.removeEventListener("message",r),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(e){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new ye(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",e.byteLength),this.writeBuffer.append(e),this.processSendQueue()}abort(e){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",e),this.status="aborted",this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle")),this.writeStatus="closed",this.remoteWriteStatus="closed",this.readStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now();try{this.sendReset(e)}catch(r){this.log("failed to send reset to remote - %e",r)}this.dispatchEvent(new Vt(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye("Cannot pause a stream that is closing/closed");this.readStatus!=="paused"&&(this.readStatus="paused",this.sendPause())}resume(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.append(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}unshift(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ye(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.prepend(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(e){if(e.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(e),this.dispatchReadBuffer()}}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="message"&&this.readBuffer.byteLength>0&&queueMicrotask(()=>{this.dispatchReadBuffer()})}onRemoteReset(){this.log("remote reset"),this.status="reset",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.timeline.close=Date.now(),this.readBuffer.byteLength===0&&(this.readStatus="closed");let e=new zt;this.dispatchEvent(new qt(e))}onTransportClosed(e){this.log("transport closed"),this.readStatus==="readable"&&this.readBuffer.byteLength===0&&(this.log("close readable end after transport closed and read buffer is empty"),this.readStatus="closed"),this.remoteReadStatus!=="closed"&&(this.remoteReadStatus="closed"),this.remoteWriteStatus!=="closed"&&(this.remoteWriteStatus="closed"),this.writeStatus!=="closed"&&(this.writeStatus="closed"),e!=null?this.abort(e):(this.status==="open"||this.status==="closing")&&(this.timeline.close=Date.now(),this.status="closed",this.writeStatus="closed",this.remoteWriteStatus="closed",this.remoteReadStatus="closed",this.dispatchEvent(new ze))}onRemoteCloseWrite(){this.remoteWriteStatus!=="closed"&&(this.log.trace("on remote close write"),this.remoteWriteStatus="closed",this.safeDispatchEvent("remoteCloseWrite"),this.writeStatus==="closed"&&this.onTransportClosed())}onRemoteCloseRead(){this.log.trace("on remote close read"),this.remoteReadStatus="closed",this.writeBuffer.byteLength>0&&(this.writeBuffer.consume(this.writeBuffer.byteLength),this.safeDispatchEvent("idle"))}processSendQueue(){if(this.writableNeedsDrain)return this.log.trace("not processing send queue as drain is required"),this.checkWriteBufferLength(),!1;if(this.writeBuffer.byteLength===0)return this.log.trace("not processing send queue as no bytes to send"),!0;if(this.sendingData)return this.log.trace("not processing send queue as already sending data"),!0;this.sendingData=!0,this.log.trace("processing send queue with %d queued bytes",this.writeBuffer.byteLength);try{let e=!0,r=this.writeBuffer.byteLength,n=0;for(;this.writeBuffer.byteLength>0;){let o=Math.min(this.maxMessageSize??this.writeBuffer.byteLength,this.writeBuffer.byteLength);if(o===0){e=!1;break}let i=this.writeBuffer.sublist(0,o),s=new C(i);this.writeBuffer.consume(i.byteLength);let a=this.sendData(i);if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==s.byteLength&&(s.consume(a.sentBytes),this.writeBuffer.prepend(s)),!e)break}return e||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,r,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),e}finally{this.sendingData=!1}}dispatchReadBuffer(){try{if(this.listenerCount("message")===0){this.log.trace("not dispatching pause buffer as there are no listeners for the message event");return}if(this.readBuffer.byteLength===0){this.log.trace("not dispatching pause buffer as there is no data to dispatch");return}if(this.readStatus==="paused"){this.log.trace("not dispatching pause buffer we are paused");return}if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("dropping %d bytes because the readable end is %s",this.readBuffer.byteLength,this.readStatus),this.readBuffer.consume(this.readBuffer.byteLength);return}let e=this.readBuffer.sublist();this.readBuffer.consume(e.byteLength),this.dispatchEvent(new se(e))}finally{this.readBuffer.byteLength===0&&this.remoteWriteStatus==="closed"&&(this.log("close readable end after dispatching read buffer and remote writable end is closed"),this.readStatus="closed"),this.checkReadBufferLength()}}checkReadBufferLength(){this.readBuffer.byteLength>this.maxReadBufferLength&&this.abort(new ut(`Read buffer length of ${this.readBuffer.byteLength} exceeded limit of ${this.maxReadBufferLength}, read status is ${this.readStatus}`))}checkWriteBufferLength(){this.maxWriteBufferLength!=null&&this.writeBuffer.byteLength>this.maxWriteBufferLength&&this.abort(new ut(`Write buffer length of ${this.writeBuffer.byteLength} exceeded limit of ${this.maxWriteBufferLength}, write status is ${this.writeStatus}`))}onMuxerNeedsDrain(){this.writableNeedsDrain=!0}onMuxerDrain(){this.safeDispatchEvent("drain")}};var Lt=class extends Be{remoteAddr;metricPrefix;metrics;constructor(e){super(e),this.metricPrefix=e.metricPrefix??"",this.metrics=e.metrics,this.remoteAddr=e.remoteAddr,this.addEventListener("close",r=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),r.error!=null?r.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):r.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(e){this.status==="open"&&(this.status="closing",this.writeStatus="closing",this.remoteWriteStatus="closing",this.remoteReadStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await D(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await D(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function bn(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var It=class extends ae{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(e,r){super(),this.maConn=e,this.protocol=r.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=e.log.newScope(r.name),this.streamOptions=r.streamOptions,this.maxEarlyStreams=r.maxEarlyStreams??10,this.metrics=r.metrics;let n=s=>{try{this.onData(s.data)}catch(a){this.abort(a),this.maConn.abort(a)}};this.maConn.addEventListener("message",n);let o=()=>{this.log("underlying stream drained, signal %d streams to continue writing",this.streams.length),this.streams.forEach(s=>{s.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let i=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",i)}send(e){let r=this.maConn.send(e);return r===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),r}async close(e){this.status==="closed"||this.status==="closing"||(this.status="closing",await M(Promise.all([...this.streams].map(async r=>{await r.close(e)})),e?.signal),this.status="closed")}abort(e){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(r=>{r.abort(e)}),this.status="closed")}onTransportClosed(e){this.status="closing";try{[...this.streams].forEach(r=>{r.onTransportClosed(e)})}catch(r){this.abort(r)}this.status="closed"}async createStream(e){if(this.status!=="open")throw new Rt;let r=this.onCreateStream({...this.streamOptions,...e});return bn(r)&&(r=await r),this.streams.push(r),this.cleanUpStream(r),r}onRemoteStream(e){if(this.streams.push(e),this.cleanUpStream(e),this.listenerCount("stream")===0){this.earlyStreams.push(e),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new St(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:e})}cleanUpStream(e){let r=n=>{let o=this.streams.findIndex(i=>i===e);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${e.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${e.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${e.direction}_stream_end`]:!0})};e.addEventListener("close",r),this.metrics?.increment({[`${e.direction}_stream`]:!0})}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(r=>{this.safeDispatchEvent("stream",{detail:r})}),this.earlyStreams=[]})}};var Ue=class extends Be{id;protocol;constructor(e){super(e),this.id=e.id,this.protocol=e.protocol??""}async close(e){this.writeStatus==="closing"||this.writeStatus==="closed"||(this.writeStatus="closing",(this.sendingData||this.writeBuffer.byteLength>0)&&(this.log("waiting for write queue to become idle before closing writable end of stream, %d unsent bytes",this.writeBuffer.byteLength),await D(this,"idle",{...e,rejectionEvents:["close"]})),this.writableNeedsDrain&&(this.log("waiting for write queue to drain before closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData),await D(this,"drain",{...e,rejectionEvents:["close"]}),this.log("write queue drained, closing writable end of stream, %d unsent bytes, sending %s",this.writeBuffer.byteLength,this.sendingData)),await this.sendCloseWrite(e),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(e){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(e),this.readStatus="closed",this.log("closed readable end gracefully"))}};function rr(t){let e=new globalThis.AbortController;function r(){e.abort();for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let i of t){if(i?.aborted===!0){r();break}i?.addEventListener!=null&&i.addEventListener("abort",r)}function n(){for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var Pe=class{movingAverage;variance;deviation;forecast;timeSpan;previousTime;constructor(e){this.timeSpan=e,this.movingAverage=0,this.variance=0,this.deviation=0,this.forecast=0}alpha(e,r){return 1-Math.exp(-(e-r)/this.timeSpan)}push(e,r=Date.now()){if(this.previousTime!=null){let n=this.alpha(r,this.previousTime),o=e-this.movingAverage,i=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*i),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var qo=1.2,jo=2,Wo=5e3,Go=6e4,Ho=5e3,wn=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??Ho;this.success=new Pe(r),this.failure=new Pe(r),this.next=new Pe(r),this.failureMultiplier=e.failureMultiplier??jo,this.timeoutMultiplier=e.timeoutMultiplier??qo,this.minTimeout=e.minTimeout??Wo,this.maxTimeout=e.maxTimeout??Go,e.metricName!=null&&(this.metric=e.metrics?.registerMetricGroup(e.metricName))}getTimeoutSignal(e={}){let r=Math.round(this.next.movingAverage*(e.timeoutFactor??this.timeoutMultiplier));r<this.minTimeout&&(r=this.minTimeout),r>this.maxTimeout&&(r=this.maxTimeout);let n=AbortSignal.timeout(r),o=rr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){let r=Date.now()-e.start;e.aborted?(this.failure.push(r),this.next.push(r*this.failureMultiplier),this.metric?.update({failureMovingAverage:this.failure.movingAverage,failureDeviation:this.failure.deviation,failureForecast:this.failure.forecast,failureVariance:this.failure.variance,failure:r})):(this.success.push(r),this.next.push(r),this.metric?.update({successMovingAverage:this.success.movingAverage,successDeviation:this.success.deviation,successForecast:this.success.forecast,successVariance:this.success.variance,success:r}))}};var B=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},me=class extends Error{static name="ValidationError";name="ValidationError"},nr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},or=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function vn(t){return e=>Ae(e,t)}function _n(t){return e=>T(e,t)}function et(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Ne(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Qo(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=T(e[0],"base32"),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ne(n);return be([r,o],r.length+o.length)}function Ko(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=ce.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 o=Ne(n);return be([r,o],r.length+o.length)}function Sn(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Ae(e,"base32"),o=et(r);return`${n}:${o}`}var Cn=function(t){t=t.toString().trim();let e=new Uint8Array(4);return t.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new B("Invalid byte value in IP address");e[n]=o}),e},Xo=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let i=ve(r[n]),s;i&&(s=Cn(r[n]),r[n]=Ae(s.subarray(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Ae(s.subarray(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 i=[n,1];for(n=9-r.length;n>0;n--)i.push("0");r.splice.apply(r,i)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let i=parseInt(r[n],16);if(isNaN(i)||i<0||i>65535)throw new B("Invalid byte value in IP address");o[e++]=i>>8&255,o[e++]=i&255}return o},Jo=function(t){if(t.byteLength!==4)throw new B("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},Zo=function(t){if(t.byteLength!==16)throw new B("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],i=t[n+1],s=`${o.toString(16).padStart(2,"0")}${i.toString(16).padStart(2,"0")}`;e.push(s)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new B(`Invalid IPv6 address "${r}"`)}};function Yo(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new B(`Invalid IPv6 address "${t}"`)}}var En=Object.values(pt).map(t=>t.decoder),Tc=(function(){let t=En[0].or(En[1]);return En.slice(2).forEach(e=>t=t.or(e)),t})();function ei(t){return Tc.decode(t)}function ti(t){return e=>t.encoder.encode(e)}function Dc(t){if(parseInt(t).toString()!==t)throw new me("Value must be an integer")}function Fc(t){if(t<0)throw new me("Value must be a positive integer, or zero")}function kc(t){return e=>{if(e>t)throw new me(`Value must be smaller than or equal to ${t}`)}}function Bc(...t){return e=>{for(let r of t)r(e)}}var At=Bc(Dc,Fc,kc(65535));var F=-1,Ln=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(e){let r;if(typeof e=="string"?r=this.protocolsByName.get(e):r=this.protocolsByCode.get(e),r==null)throw new or(`Protocol ${e} was unknown`);return r}addProtocol(e){this.protocolsByCode.set(e.code,e),this.protocolsByName.set(e.name,e),e.aliases?.forEach(r=>{this.protocolsByName.set(r,e)})}removeProtocol(e){let r=this.protocolsByCode.get(e);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},pe=new Ln,yu=[{code:4,name:"ip4",size:32,valueToBytes:Cn,bytesToValue:Jo,validate:t=>{if(!ve(t))throw new me(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Ne,bytesToValue:et,validate:At},{code:273,name:"udp",size:16,valueToBytes:Ne,bytesToValue:et,validate:At},{code:33,name:"dccp",size:16,valueToBytes:Ne,bytesToValue:et,validate:At},{code:41,name:"ip6",size:128,valueToBytes:Xo,bytesToValue:Zo,stringToValue:Yo,validate:t=>{if(!_e(t))throw new me(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:F},{code:43,name:"ipcidr",size:8,bytesToValue:vn("base10"),valueToBytes:_n("base10")},{code:53,name:"dns",size:F},{code:54,name:"dns4",size:F},{code:55,name:"dns6",size:F},{code:56,name:"dnsaddr",size:F},{code:132,name:"sctp",size:16,valueToBytes:Ne,bytesToValue:et,validate:At},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:F,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:F,bytesToValue:vn("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?_n("base58btc")(t):He.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Sn,valueToBytes:Qo},{code:445,name:"onion3",size:296,bytesToValue:Sn,valueToBytes:Ko},{code:446,name:"garlic64",size:F},{code:447,name:"garlic32",size:F},{code:448,name:"tls"},{code:449,name:"sni",size:F},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:F,bytesToValue:ti(Hr),valueToBytes:ei},{code:480,name:"http"},{code:481,name:"http-path",size:F,stringToValue:t=>`/${decodeURIComponent(t)}`,valueToString:t=>encodeURIComponent(t.substring(1))},{code:443,name:"https"},{code:477,name:"ws"},{code:478,name:"wss"},{code:479,name:"p2p-websocket-star"},{code:277,name:"p2p-stardust"},{code:275,name:"p2p-webrtc-star"},{code:276,name:"p2p-webrtc-direct"},{code:280,name:"webrtc-direct"},{code:281,name:"webrtc"},{code:290,name:"p2p-circuit"},{code:777,name:"memory",size:F}];yu.forEach(t=>{pe.addProtocol(t)});function ii(t){let e=[],r=0;for(;r<t.length;){let n=he(t,r),o=pe.getProtocol(n),i=N(n),s=xu(o,t,r+i),a=0;s>0&&o.size===F&&(a=N(s));let f=i+a+s,c={code:n,name:o.name,bytes:t.subarray(r,r+f)};if(s>0){let u=r+i+a,d=t.subarray(u,u+s);c.value=o.bytesToValue?.(d)??Ae(d)}e.push(c),r+=f}return e}function si(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=pe.getProtocol(n.code),i=N(n.code),s,a=0,f=0;n.value!=null&&(s=o.valueToBytes?.(n.value)??T(n.value),a=s.byteLength,o.size===F&&(f=N(a)));let c=new Uint8Array(i+f+a),u=0;Gt(n.code,c,u),u+=i,s!=null&&(o.size===F&&(Gt(a,c,u),u+=f),c.set(s,u)),n.bytes=c}r.push(n.bytes),e+=n.bytes.byteLength}return be(r,e)}function ai(t){if(t.charAt(0)!=="/")throw new B('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let i=1;i<t.length;i++){let s=t.charAt(i);s!=="/"&&(r==="protocol"?o+=t.charAt(i):n+=t.charAt(i));let a=i===t.length-1;if(s==="/"||a){let f=pe.getProtocol(o);if(r==="protocol"){if(f.size==null||f.size===0){e.push({code:f.code,name:f.name}),n="",o="",r="protocol";continue}else if(a)throw new B(`Component ${o} was missing value`);r="value"}else if(r==="value"){let c={code:f.code,name:f.name};if(f.size!=null&&f.size!==0){if(n==="")throw new B(`Component ${o} was missing value`);c.value=f.stringToValue?.(n)??n}e.push(c),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new B("Incomplete multiaddr");return e}function ci(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=pe.getProtocol(e.code);if(r==null)throw new B(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function xu(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:he(e,r)}var bu=Symbol.for("nodejs.util.inspect.custom"),In=Symbol.for("@multiformats/multiaddr");function wu(t){if(t==null&&(t="/"),ui(t))return t.getComponents();if(t instanceof Uint8Array)return ii(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),ai(t);if(Array.isArray(t))return t;throw new B("Must be a string, Uint8Array, Component[], or another Multiaddr")}var ir=class t{[In]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=wu(e),r.validate!==!1&&Eu(this)}get bytes(){return this.#r==null&&(this.#r=si(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=ci(this.#e)),this.#t}toJSON(){return this.toString()}getComponents(){return[...this.#e.map(e=>({...e}))]}encapsulate(e){let r=new t(e);return new t([...this.#e,...r.getComponents()],{validate:!1})}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new nr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new t(n.slice(0,o),{validate:!1})}decapsulateCode(e){let r;for(let n=this.#e.length-1;n>-1;n--)if(this.#e[n].code===e){r=n;break}return new t(this.#e.slice(0,r),{validate:!1})}equals(e){return Qe(this.bytes,e.bytes)}[bu](){return`Multiaddr(${this.toString()})`}};function Eu(t){t.getComponents().forEach(e=>{let r=pe.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function ui(t){return!!t?.[In]}function Ce(t){return new ir(t)}function fi(t,e,r){let n=[t.type,r??t.host];if(t.protocol!=null){let o=e??t.port;o!=null&&n.push(t.protocol,o)}return t.type==="ip6"&&t.zone!=null&&n.unshift("ip6zone",t.zone),t.cidr!=null&&n.push("ipcidr",t.cidr),Ce(`/${n.join("/")}`)}function vu(t,e){if(t==null)return[];let r=j(t);return[fi(r,e)]}function _u(t){return _e(t)?Zt("2000::/3",t):!1}function Su(t,e){if(typeof t!="string")throw new O(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new O(`invalid port provided: ${e}`);if(ve(t))return Ce(`/ip4/${t}/tcp/${e}`);if(_e(t))return Ce(`/ip6/${t}/tcp/${e}`);throw new O(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function Cu(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function Lu(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var sr=class extends Error{type;code;constructor(e,r,n){super(e??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=r??"ABORT_ERR"}};async function li(t,e,r){if(e==null)return t;if(e.aborted)return t.catch(()=>{}),Promise.reject(new sr(r?.errorMessage,r?.errorCode,r?.errorName));let n,o=new sr(r?.errorMessage,r?.errorCode,r?.errorName);try{return await Promise.race([t,new Promise((i,s)=>{n=()=>{s(o)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var An=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=re(),this.haveNext=re()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=re(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),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 this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=re(),await li(this.readNext.promise,r?.signal,r)}};function di(){return new An}function Iu(t){return t[Symbol.asyncIterator]!=null}async function Au(t,e,r){try{await Promise.all(t.map(async n=>{for await(let o of n)await e.push(o,{signal:r}),r.throwIfAborted()})),await e.end(void 0,{signal:r})}catch(n){await e.end(n,{signal:r}).catch(()=>{})}}async function*Tu(t){let e=new AbortController,r=di();Au(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*Du(t){for(let e of t)yield*e}function Fu(...t){let e=[];for(let r of t)Iu(r)||e.push(r);return e.length===t.length?Du(e):Tu(t)}var hi=Fu;function mi(t,...e){if(t==null)throw new Error("Empty pipeline");if(Tn(t)){let n=t;t=()=>n.source}else if(gi(t)||pi(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Tn(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)Tn(r[n])&&(r[n]=Bu(r[n]));return ku(...r)}var ku=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},pi=t=>t?.[Symbol.asyncIterator]!=null,gi=t=>t?.[Symbol.iterator]!=null,Tn=t=>t==null?!1:t.sink!=null&&t.source!=null,Bu=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=ue({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let o,i=t.source;if(pi(i))o=async function*(){yield*i,n.end()};else if(gi(i))o=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return hi(n,o())}return t.source};var Uu=4194304,Tt=class extends Error{static name="UnwrappedError";name="UnwrappedError"},tt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ar=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},cr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Pu(t){return typeof t?.closeRead=="function"}function Nu(t){return typeof t?.close=="function"}function Dn(t){return Pu(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:Nu(t)?t.status!=="open":!1}function Mu(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function yi(t,e){let r=e?.maxBufferSize??Uu,n=new C,o,i=!1;if(!Mu(t))throw new O("Argument should be a Stream or a Multiaddr");let s=u=>{if(n.append(u.data),n.byteLength>r){let d=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${d} > ${r}`))}o?.resolve()};t.addEventListener("message",s);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};t.addEventListener("close",a);let f=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",f);let c={readBuffer:n,async read(u){if(i===!0)throw new Tt("Stream was unwrapped");if(Dn(t)){if(u?.bytes==null)return null;if(n.byteLength<u.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new Se(`Unexpected EOF - stream closed after reading ${n.byteLength}/${u.bytes} bytes`)}let d=u?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=d){o.resolve();break}if(await M(o.promise,u?.signal),Dn(t)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let h=u?.bytes??n.byteLength;if(n.byteLength<h){if(Dn(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,h),new Se(`Unexpected EOF - stream closed while reading ${n.byteLength}/${h} bytes`);return c.read(u)}let g=n.sublist(0,h);return n.consume(h),g},async write(u,d){if(i===!0)throw new Tt("Stream was unwrapped");t.send(u)||await D(t,"drain",{signal:d?.signal,rejectionEvents:["close"]})},unwrap(){return i||(i=!0,t.removeEventListener("message",s),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",f),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.push(n))),t}};return c}function xi(t,e={}){let r=yi(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=N(e.maxDataLength));let n=e?.lengthDecoder??he,o=e?.lengthEncoder??Ht;return{async read(s){let a=-1,f=new C;for(;;){let u=await r.read({...s,bytes:1});if(u==null)break;f.append(u);try{a=n(f)}catch(d){if(d instanceof RangeError)continue;throw d}if(a<0)throw new tt("Invalid message length");if(e?.maxLengthLength!=null&&f.byteLength>e.maxLengthLength)throw new cr(`Message length length too long - ${f.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new ar(`Message length too long - ${a} > ${e.maxDataLength}`);let c=await r.read({...s,bytes:a});if(c==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new Se(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(c.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",c.byteLength,a),new Se(`Unexpected EOF - read ${c.byteLength}/${a} bytes before the stream closed`);return c},async write(s,a){await r.write(new C(o(s.byteLength),s),a)},async writeV(s,a){let f=new C(...s.flatMap(c=>[o(c.byteLength),c]));await r.write(f,a)},unwrap(){return r.unwrap()}}}function Ou(t,e){let r=xi(t,e),n={read:async(o,i)=>{let s=await r.read(i);return o.decode(s)},write:async(o,i,s)=>{await r.write(i.encode(o),s)},writeV:async(o,i,s)=>{await r.writeV(o.map(a=>i.encode(a)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function Fn(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let i of t)o+=i.byteLength,t.send(i)||(t.pause(),await D(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(i){t.abort(i)}}function $u(t){return t?.addEventListener!=null}function bi(t){let e=ue(),r,n=s=>{e.push(s.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)},i=s=>{e.end(s.error),s.error!=null&&r?.reject(s.error),t.removeEventListener("message",n),t.removeEventListener("close",i),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",i,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(s){async function*a(){yield*s}let f=a();for(;;){r=Promise.withResolvers();let{done:c,value:u}=await Promise.race([f.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(u!=null&&(t.send(u)||await Promise.race([D(t,"drain",{rejectionEvents:["close"]})])),c===!0))break}await t.close()}}}function Ru(...t){let e=t.map(r=>$u(r)?bi(r):r);return mi(...e)}var zu=1024*1024*4,Vu=1024*1024*4,kn=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new C,this.maxBufferSize=e.maxBufferSize??zu,this.maxDataLength=e.maxDataLength??Vu,this.lengthDecoder=e.lengthDecoder??he,this.encodingLength=e.encodingLength??N}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new O(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(i){if(i instanceof RangeError)break;throw i}if(r<0||r>this.maxDataLength)throw new tt("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let i=this.buffer.sublist(n,o);this.buffer.consume(o),i.byteLength>0&&(yield i)}else break}}};function qu(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var ju=["string","number","bigint","symbol"],Wu=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function wi(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(ju.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(Gu(t))return"Buffer";let r=Hu(t);return r||"Object"}function Gu(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function Hu(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(Wu.includes(e))return e}var l=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};l.uint=new l(0,"uint",!0);l.negint=new l(1,"negint",!0);l.bytes=new l(2,"bytes",!0);l.string=new l(3,"string",!0);l.array=new l(4,"array",!1);l.map=new l(5,"map",!1);l.tag=new l(6,"tag",!1);l.float=new l(7,"float",!0);l.false=new l(7,"false",!0);l.true=new l(7,"true",!0);l.null=new l(7,"null",!0);l.undefined=new l(7,"undefined",!0);l.break=new l(7,"break",!0);var p=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var rt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Qu=new TextDecoder,Ku=new TextEncoder;function ur(t){return rt&&globalThis.Buffer.isBuffer(t)}function Bn(t){return t instanceof Uint8Array?ur(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Si=rt?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):vi(t,e,r):(t,e,r)=>r-e>64?Qu.decode(t.subarray(e,r)):vi(t,e,r),Ci=rt?t=>t.length>64?globalThis.Buffer.from(t):Ei(t):t=>t.length>64?Ku.encode(t):Ei(t),fe=t=>Uint8Array.from(t),nt=rt?(t,e,r)=>ur(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Li=rt?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Bn(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},Ii=rt?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Ai(t,e){if(ur(t)&&ur(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Ei(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}function vi(t,e,r){let n=[];for(;e<r;){let o=t[e],i=null,s=o>239?4:o>223?3:o>191?2:1;if(e+s<=r){let a,f,c,u;switch(s){case 1:o<128&&(i=o);break;case 2:a=t[e+1],(a&192)===128&&(u=(o&31)<<6|a&63,u>127&&(i=u));break;case 3:a=t[e+1],f=t[e+2],(a&192)===128&&(f&192)===128&&(u=(o&15)<<12|(a&63)<<6|f&63,u>2047&&(u<55296||u>57343)&&(i=u));break;case 4:a=t[e+1],f=t[e+2],c=t[e+3],(a&192)===128&&(f&192)===128&&(c&192)===128&&(u=(o&15)<<18|(a&63)<<12|(f&63)<<6|c&63,u>65535&&u<1114112&&(i=u))}}i===null?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|i&1023),n.push(i),e+=s}return Xu(n)}var _i=4096;function Xu(t){let e=t.length;if(e<=_i)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=_i));return r}var Ju=256,Dt=class{constructor(e=Ju){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Ii(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=nt(n,0,this.cursor)}else r=Li(this.chunks,this.cursor);return e&&this.reset(),r}};var x="CBOR decode error:",Un="CBOR encode error:",Ft=[];Ft[23]=1;Ft[24]=2;Ft[25]=3;Ft[26]=5;Ft[27]=9;function ge(t,e,r){if(t.length-e<r)throw new Error(`${x} not enough data for type`)}var k=[24,256,65536,4294967296,BigInt("18446744073709551616")];function W(t,e,r){ge(t,e,1);let n=t[e];if(r.strict===!0&&n<k[0])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);return n}function G(t,e,r){ge(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<k[1])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);return n}function H(t,e,r){ge(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<k[2])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);return n}function Q(t,e,r){ge(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],i=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&i<k[3])throw new Error(`${x} integer encoded in more bytes than necessary (strict decode)`);if(i<=Number.MAX_SAFE_INTEGER)return Number(i);if(r.allowBigInt===!0)return i;throw new Error(`${x} integers outside of the safe integer range are not supported`)}function Ti(t,e,r,n){return new p(l.uint,W(t,e+1,n),2)}function Di(t,e,r,n){return new p(l.uint,G(t,e+1,n),3)}function Fi(t,e,r,n){return new p(l.uint,H(t,e+1,n),5)}function ki(t,e,r,n){return new p(l.uint,Q(t,e+1,n),9)}function Z(t,e){return U(t,0,e.value)}function U(t,e,r){if(r<k[0]){let n=Number(r);t.push([e|n])}else if(r<k[1]){let n=Number(r);t.push([e|24,n])}else if(r<k[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<k[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<k[4]){let o=[e|27,0,0,0,0,0,0,0],i=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=i&255,i=i>>8,o[7]=i&255,i=i>>8,o[6]=i&255,i=i>>8,o[5]=i&255,o[4]=s&255,s=s>>8,o[3]=s&255,s=s>>8,o[2]=s&255,s=s>>8,o[1]=s&255,t.push(o)}else throw new Error(`${x} encountered BigInt larger than allowable range`)}}Z.encodedSize=function(e){return U.encodedSize(e.value)};U.encodedSize=function(e){return e<k[0]?1:e<k[1]?2:e<k[2]?3:e<k[3]?5:9};Z.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Bi(t,e,r,n){return new p(l.negint,-1-W(t,e+1,n),2)}function Ui(t,e,r,n){return new p(l.negint,-1-G(t,e+1,n),3)}function Pi(t,e,r,n){return new p(l.negint,-1-H(t,e+1,n),5)}var Pn=BigInt(-1),Ni=BigInt(1);function Mi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o!="bigint"){let i=-1-o;if(i>=Number.MIN_SAFE_INTEGER)return new p(l.negint,i,9)}if(n.allowBigInt!==!0)throw new Error(`${x} integers outside of the safe integer range are not supported`);return new p(l.negint,Pn-BigInt(o),9)}function fr(t,e){let r=e.value,n=typeof r=="bigint"?r*Pn-Ni:r*-1-1;U(t,e.type.majorEncoded,n)}fr.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Pn-Ni:r*-1-1;return n<k[0]?1:n<k[1]?2:n<k[2]?3:n<k[3]?5:9};fr.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function kt(t,e,r,n){ge(t,e,r+n);let o=nt(t,e+r,e+r+n);return new p(l.bytes,o,r+n)}function Oi(t,e,r,n){return kt(t,e,1,r)}function $i(t,e,r,n){return kt(t,e,2,W(t,e+1,n))}function Ri(t,e,r,n){return kt(t,e,3,G(t,e+1,n))}function zi(t,e,r,n){return kt(t,e,5,H(t,e+1,n))}function Vi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer bytes lengths not supported`);return kt(t,e,9,o)}function lr(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===l.string?Ci(t.value):t.value),t.encodedBytes}function ot(t,e){let r=lr(e);U(t,e.type.majorEncoded,r.length),t.push(r)}ot.encodedSize=function(e){let r=lr(e);return U.encodedSize(r.length)+r.length};ot.compareTokens=function(e,r){return Yu(lr(e),lr(r))};function Yu(t,e){return t.length<e.length?-1:t.length>e.length?1:Ai(t,e)}function Bt(t,e,r,n,o){let i=r+n;ge(t,e,i);let s=new p(l.string,Si(t,e+r,e+i),i);return o.retainStringBytes===!0&&(s.byteValue=nt(t,e+r,e+i)),s}function qi(t,e,r,n){return Bt(t,e,1,r,n)}function ji(t,e,r,n){return Bt(t,e,2,W(t,e+1,n),n)}function Wi(t,e,r,n){return Bt(t,e,3,G(t,e+1,n),n)}function Gi(t,e,r,n){return Bt(t,e,5,H(t,e+1,n),n)}function Hi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer string lengths not supported`);return Bt(t,e,9,o,n)}var Qi=ot;function it(t,e,r,n){return new p(l.array,n,r)}function Ki(t,e,r,n){return it(t,e,1,r)}function Xi(t,e,r,n){return it(t,e,2,W(t,e+1,n))}function Ji(t,e,r,n){return it(t,e,3,G(t,e+1,n))}function Zi(t,e,r,n){return it(t,e,5,H(t,e+1,n))}function Yi(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer array lengths not supported`);return it(t,e,9,o)}function es(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${x} indefinite length items not allowed`);return it(t,e,1,1/0)}function dr(t,e){U(t,l.array.majorEncoded,e.value)}dr.compareTokens=Z.compareTokens;dr.encodedSize=function(e){return U.encodedSize(e.value)};function st(t,e,r,n){return new p(l.map,n,r)}function ts(t,e,r,n){return st(t,e,1,r)}function rs(t,e,r,n){return st(t,e,2,W(t,e+1,n))}function ns(t,e,r,n){return st(t,e,3,G(t,e+1,n))}function os(t,e,r,n){return st(t,e,5,H(t,e+1,n))}function is(t,e,r,n){let o=Q(t,e+1,n);if(typeof o=="bigint")throw new Error(`${x} 64-bit integer map lengths not supported`);return st(t,e,9,o)}function ss(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${x} indefinite length items not allowed`);return st(t,e,1,1/0)}function hr(t,e){U(t,l.map.majorEncoded,e.value)}hr.compareTokens=Z.compareTokens;hr.encodedSize=function(e){return U.encodedSize(e.value)};function as(t,e,r,n){return new p(l.tag,r,1)}function cs(t,e,r,n){return new p(l.tag,W(t,e+1,n),2)}function us(t,e,r,n){return new p(l.tag,G(t,e+1,n),3)}function fs(t,e,r,n){return new p(l.tag,H(t,e+1,n),5)}function ls(t,e,r,n){return new p(l.tag,Q(t,e+1,n),9)}function mr(t,e){U(t,l.tag.majorEncoded,e.value)}mr.compareTokens=Z.compareTokens;mr.encodedSize=function(e){return U.encodedSize(e.value)};var sf=20,af=21,cf=22,uf=23;function ds(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${x} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(l.null,null,1):new p(l.undefined,void 0,1)}function hs(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${x} indefinite length items not allowed`);return new p(l.break,void 0,1)}function Nn(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${x} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${x} Infinity values are not supported`)}return new p(l.float,t,e)}function ms(t,e,r,n){return Nn(Mn(t,e+1),3,n)}function ps(t,e,r,n){return Nn(On(t,e+1),5,n)}function gs(t,e,r,n){return Nn(ws(t,e+1),9,n)}function pr(t,e,r){let n=e.value;if(n===!1)t.push([l.float.majorEncoded|sf]);else if(n===!0)t.push([l.float.majorEncoded|af]);else if(n===null)t.push([l.float.majorEncoded|cf]);else if(n===void 0)t.push([l.float.majorEncoded|uf]);else{let o,i=!1;(!r||r.float64!==!0)&&(xs(n),o=Mn(oe,1),n===o||Number.isNaN(n)?(oe[0]=249,t.push(oe.slice(0,3)),i=!0):(bs(n),o=On(oe,1),n===o&&(oe[0]=250,t.push(oe.slice(0,5)),i=!0))),i||(ff(n),o=ws(oe,1),oe[0]=251,t.push(oe.slice(0,9)))}}pr.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){xs(n);let o=Mn(oe,1);if(n===o||Number.isNaN(n))return 3;if(bs(n),o=On(oe,1),n===o)return 5}return 9};var ys=new ArrayBuffer(9),Y=new DataView(ys,1),oe=new Uint8Array(ys,0);function xs(t){if(t===1/0)Y.setUint16(0,31744,!1);else if(t===-1/0)Y.setUint16(0,64512,!1);else if(Number.isNaN(t))Y.setUint16(0,32256,!1);else{Y.setFloat32(0,t);let e=Y.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Y.setUint16(0,31744,!1);else if(r===0)Y.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?Y.setUint16(0,0):o<-14?Y.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):Y.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Mn(t,e){if(t.length-e<2)throw new Error(`${x} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,i;return n===0?i=o*2**-24:n!==31?i=(o+1024)*2**(n-25):i=o===0?1/0:NaN,r&32768?-i:i}function bs(t){Y.setFloat32(0,t,!1)}function On(t,e){if(t.length-e<4)throw new Error(`${x} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function ff(t){Y.setFloat64(0,t,!1)}function ws(t,e){if(t.length-e<8)throw new Error(`${x} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}pr.compareTokens=Z.compareTokens;function E(t,e,r){throw new Error(`${x} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function gr(t){return()=>{throw new Error(`${x} ${t}`)}}var m=[];for(let t=0;t<=23;t++)m[t]=E;m[24]=Ti;m[25]=Di;m[26]=Fi;m[27]=ki;m[28]=E;m[29]=E;m[30]=E;m[31]=E;for(let t=32;t<=55;t++)m[t]=E;m[56]=Bi;m[57]=Ui;m[58]=Pi;m[59]=Mi;m[60]=E;m[61]=E;m[62]=E;m[63]=E;for(let t=64;t<=87;t++)m[t]=Oi;m[88]=$i;m[89]=Ri;m[90]=zi;m[91]=Vi;m[92]=E;m[93]=E;m[94]=E;m[95]=gr("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)m[t]=qi;m[120]=ji;m[121]=Wi;m[122]=Gi;m[123]=Hi;m[124]=E;m[125]=E;m[126]=E;m[127]=gr("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)m[t]=Ki;m[152]=Xi;m[153]=Ji;m[154]=Zi;m[155]=Yi;m[156]=E;m[157]=E;m[158]=E;m[159]=es;for(let t=160;t<=183;t++)m[t]=ts;m[184]=rs;m[185]=ns;m[186]=os;m[187]=is;m[188]=E;m[189]=E;m[190]=E;m[191]=ss;for(let t=192;t<=215;t++)m[t]=as;m[216]=cs;m[217]=us;m[218]=fs;m[219]=ls;m[220]=E;m[221]=E;m[222]=E;m[223]=E;for(let t=224;t<=243;t++)m[t]=gr("simple values are not supported");m[244]=E;m[245]=E;m[246]=E;m[247]=ds;m[248]=gr("simple values are not supported");m[249]=ms;m[250]=ps;m[251]=gs;m[252]=E;m[253]=E;m[254]=E;m[255]=hs;var ie=[];for(let t=0;t<24;t++)ie[t]=new p(l.uint,t,1);for(let t=-1;t>=-24;t--)ie[31-t]=new p(l.negint,t,1);ie[64]=new p(l.bytes,new Uint8Array(0),1);ie[96]=new p(l.string,"",1);ie[128]=new p(l.array,0,1);ie[160]=new p(l.map,0,1);ie[244]=new p(l.false,!1,1);ie[245]=new p(l.true,!0,1);ie[246]=new p(l.null,null,1);function Es(t){switch(t.type){case l.false:return fe([244]);case l.true:return fe([245]);case l.null:return fe([246]);case l.bytes:return t.value.length?void 0:fe([64]);case l.string:return t.value===""?fe([96]):void 0;case l.array:return t.value===0?fe([128]):void 0;case l.map:return t.value===0?fe([160]):void 0;case l.uint:return t.value<24?fe([Number(t.value)]):void 0;case l.negint:if(t.value>=-24)return fe([31-Number(t.value)])}}var df={float64:!1,mapSorter:pf,quickEncodeToken:Es};function hf(){let t=[];return t[l.uint.major]=Z,t[l.negint.major]=fr,t[l.bytes.major]=ot,t[l.string.major]=Qi,t[l.array.major]=dr,t[l.map.major]=hr,t[l.tag.major]=mr,t[l.float.major]=pr,t}var vs=hf(),$n=new Dt,xr=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Un} object contains circular references`);return new t(r,e)}},Le={null:new p(l.null,null),undefined:new p(l.undefined,void 0),true:new p(l.true,!0),false:new p(l.false,!1),emptyArray:new p(l.array,0),emptyMap:new p(l.map,0)},Ie={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new p(l.float,t):t>=0?new p(l.uint,t):new p(l.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new p(l.uint,t):new p(l.negint,t)},Uint8Array(t,e,r,n){return new p(l.bytes,t)},string(t,e,r,n){return new p(l.string,t)},boolean(t,e,r,n){return t?Le.true:Le.false},null(t,e,r,n){return Le.null},undefined(t,e,r,n){return Le.undefined},ArrayBuffer(t,e,r,n){return new p(l.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new p(l.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Le.emptyArray,new p(l.break)]:Le.emptyArray;n=xr.createCheck(n,t);let o=[],i=0;for(let s of t)o[i++]=yr(s,r,n);return r.addBreakTokens?[new p(l.array,t.length),o,new p(l.break)]:[new p(l.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",i=o?t.keys():Object.keys(t),s=o?t.size:i.length;if(!s)return r.addBreakTokens===!0?[Le.emptyMap,new p(l.break)]:Le.emptyMap;n=xr.createCheck(n,t);let a=[],f=0;for(let c of i)a[f++]=[yr(c,r,n),yr(o?t.get(c):t[c],r,n)];return mf(a,r),r.addBreakTokens?[new p(l.map,s),a,new p(l.break)]:[new p(l.map,s),a]}};Ie.Map=Ie.Object;Ie.Buffer=Ie.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Ie[`${t}Array`]=Ie.DataView;function yr(t,e={},r){let n=wi(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||Ie[n];if(typeof o=="function"){let s=o(t,n,e,r);if(s!=null)return s}let i=Ie[n];if(!i)throw new Error(`${Un} unsupported type: ${n}`);return i(t,n,e,r)}function mf(t,e){e.mapSorter&&t.sort(e.mapSorter)}function pf(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let o=r.type.major,i=vs[o].compareTokens(r,n);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function _s(t,e,r,n){if(Array.isArray(e))for(let o of e)_s(t,o,r,n);else r[e.type.major](t,e,n)}function gf(t,e,r){let n=yr(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let o=r.quickEncodeToken(n);if(o)return o;let i=e[n.type.major];if(i.encodedSize){let s=i.encodedSize(n,r),a=new Dt(s);if(i(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Bn(a.chunks[0])}}return $n.reset(),_s($n,n,e,r),$n.toBytes(!0)}function Rn(t,e){return e=Object.assign({},df,e),gf(t,vs,e)}var yf={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},br=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=ie[e];if(r===void 0){let n=m[e];if(!n)throw new Error(`${x} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},Ut=Symbol.for("DONE"),wr=Symbol.for("BREAK");function xf(t,e,r){let n=[];for(let o=0;o<t.value;o++){let i=at(e,r);if(i===wr){if(t.value===1/0)break;throw new Error(`${x} got unexpected break to lengthed array`)}if(i===Ut)throw new Error(`${x} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=i}return n}function bf(t,e,r){let n=r.useMaps===!0,o=n?void 0:{},i=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=at(e,r);if(a===wr){if(t.value===1/0)break;throw new Error(`${x} got unexpected break to lengthed map`)}if(a===Ut)throw new Error(`${x} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${x} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&i.has(a)||!n&&a in o))throw new Error(`${x} found repeat map key "${a}"`);let f=at(e,r);if(f===Ut)throw new Error(`${x} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?i.set(a,f):o[a]=f}return n?i:o}function at(t,e){if(t.done())return Ut;let r=t.next();if(r.type===l.break)return wr;if(r.type.terminal)return r.value;if(r.type===l.array)return xf(r,t,e);if(r.type===l.map)return bf(r,t,e);if(r.type===l.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=at(t,e);return e.tags[r.value](n)}throw new Error(`${x} tag not supported (${r.value})`)}throw new Error("unsupported")}function Ss(t,e){if(!(t instanceof Uint8Array))throw new Error(`${x} data to decode must be a Uint8Array`);e=Object.assign({},yf,e);let r=e.tokenizer||new br(t,e),n=at(r,e);if(n===Ut)throw new Error(`${x} did not find any content to decode`);if(n===wr)throw new Error(`${x} got unexpected break`);return[n,t.subarray(r.pos())]}function zn(t,e){let[r,n]=Ss(t,e);if(n.length>0)throw new Error(`${x} too many terminals, data makes no sense`);return r}var Er=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ct=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},vr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},Pt=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function _r(t){return t[Symbol.asyncIterator]!=null}function Cs(t,e){if(t.byteLength>e)throw new ct("Message length too long")}var Cr=t=>{let e=N(t),r=ee(e);return Ht(t,r),Cr.bytes=e,r};Cr.bytes=0;function Lr(t,e){e=e??{};let r=e.lengthEncoder??Cr,n=e?.maxDataLength??4194304;function*o(i){Cs(i,n);let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return _r(t)?(async function*(){for await(let i of t)yield*o(i)})():(function*(){for(let i of t)yield*o(i)})()}Lr.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Cr,n=e?.maxDataLength??4194304;return Cs(t,n),new C(r(t.byteLength),t)};var Oe;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Oe||(Oe={}));var Vn=t=>{let e=he(t);return Vn.bytes=N(e),e};Vn.bytes=0;function Nt(t,e){let r=new C,n=Oe.LENGTH,o=-1,i=e?.lengthDecoder??Vn,s=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*f(){for(;r.byteLength>0;){if(n===Oe.LENGTH)try{if(o=i(r),o<0)throw new Er("Invalid message length");if(o>a)throw new ct("Message length too long");let c=i.bytes;r.consume(c),e?.onLength!=null&&e.onLength(o),n=Oe.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw new vr("Message length length too long");break}throw c}if(n===Oe.DATA){if(r.byteLength<o)break;let c=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(c),yield c,n=Oe.LENGTH}}}return _r(t)?(async function*(){for await(let c of t)r.append(c),yield*f();if(r.byteLength>0)throw new Pt("Unexpected end of input")})():(function*(){for(let c of t)r.append(c),yield*f();if(r.byteLength>0)throw new Pt("Unexpected end of input")})()}Nt.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:i,value:s}=await t.next(r);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{r=1}})();return Nt(n,{...e??{},onLength:i=>{r=i}})};var qn=class extends Ue{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new ne({concurrency:1}),this.direction==="outbound"&&this.sendMessage({id:this.id,type:"create",protocol:this.protocol})}sendData(e){let r=this.sendMessage({id:this.id,type:"data",chunk:e.subarray()});return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.sendMessage({id:this.id,type:"reset"})}async sendCloseWrite(e){this.sendMessage({id:this.id,type:"closeWrite"}),e?.signal?.throwIfAborted()}async sendCloseRead(e){this.sendMessage({id:this.id,type:"closeRead"}),e?.signal?.throwIfAborted()}sendPause(){this.sendMessage({id:this.id,type:"pause"})}sendResume(){this.sendMessage({id:this.id,type:"resume"})}onRemotePaused(){this.dataQueue.pause()}onRemoteResumed(){this.dataQueue.resume()}},Ls=30,jn=class extends It{input;maxInputQueueSize;encoding;maxMessageSize;nextStreamId;constructor(e,r){super(e,{...r,protocol:"/mock-muxer/1.0.0",name:"mock-muxer"}),this.maxInputQueueSize=r.maxInputQueueSize??1024*1024*10,this.maxMessageSize=(r.maxMessageSize??1024*1024*4)+Ls,this.encoding=r.encoding??"base64",this.input=ue(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of Nt(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(zn(n.subarray()))}).catch(n=>{this.abort(n)})}onData(e){if(this.input.readableLength>=this.maxInputQueueSize){this.abort(new Error(`Input queue exceeded maximum size ${this.input.readableLength} >= ${this.maxInputQueueSize}`));return}this.input.push(e)}sendMessage(e){e.type==="data"?this.log.trace("send message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("send message %o",e);let r=Rn(e),n=Lr.single(r,{maxDataLength:this.maxMessageSize});return this.send(n)}onMessage(e){e.type==="data"?this.log.trace("incoming message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("incoming message %o",e);let r=this.streams.find(n=>n.id===e.id);if(e.type==="create"){if(r!=null)throw new Error(`Already had stream for ${e.id}`);this.log.trace("create stream inbound %s",e.id),r=this._createStream(e.id,"inbound",{protocol:e.protocol}),this.onRemoteStream(r)}if(r==null){this.log.error(`no stream found for ${e.id}`);return}e.type==="data"?r.onData(e.chunk):e.type==="reset"?r.onRemoteReset():e.type==="closeWrite"?r.onRemoteCloseWrite():e.type==="closeRead"?r.onRemoteCloseRead():e.type==="pause"?r.onRemotePaused():e.type==="resume"&&r.onRemoteResumed()}async onCreateStream(e){return this.nextStreamId+=2,this._createStream(`${this.nextStreamId}`,"outbound",e)}_createStream(e,r,n){return this.log.trace("createStream %s %s",r,e),new qn({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-Ls,protocol:""})}},Wn=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new jn(e,{...this.init})}};function Ir(t={}){return new Wn(t)}function _f(t,e){if(typeof t=="string")return Sf(t);if(typeof t=="number")return If(t,e);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}var Ar=_f;function Sf(t){if(typeof t!="string"||t.length===0||t.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(t)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(t);if(!e?.groups)return NaN;let{value:r,unit:n="ms"}=e.groups,o=parseFloat(r),i=n.toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw Error(`Unknown unit "${i}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function Cf(t){let e=Math.abs(t);return e>=315576e5?`${Math.round(t/315576e5)}y`:e>=26298e5?`${Math.round(t/26298e5)}mo`:e>=6048e5?`${Math.round(t/6048e5)}w`:e>=864e5?`${Math.round(t/864e5)}d`:e>=36e5?`${Math.round(t/36e5)}h`:e>=6e4?`${Math.round(t/6e4)}m`:e>=1e3?`${Math.round(t/1e3)}s`:`${t}ms`}function Lf(t){let e=Math.abs(t);return e>=315576e5?$e(t,e,315576e5,"year"):e>=26298e5?$e(t,e,26298e5,"month"):e>=6048e5?$e(t,e,6048e5,"week"):e>=864e5?$e(t,e,864e5,"day"):e>=36e5?$e(t,e,36e5,"hour"):e>=6e4?$e(t,e,6e4,"minute"):e>=1e3?$e(t,e,1e3,"second"):`${t} ms`}function If(t,e){if(typeof t!="number"||!Number.isFinite(t))throw Error("Value provided to ms.format() must be of type number.");return e?.long?Lf(t):Cf(t)}function $e(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function Gn(t){r.debug=r,r.default=r,r.coerce=f,r.disable=i,r.enable=o,r.enabled=s,r.humanize=Ar,r.destroy=c,Object.keys(t).forEach(u=>{r[u]=t[u]}),r.names=[],r.skips=[],r.formatters={};function e(u){let d=0;for(let h=0;h<u.length;h++)d=(d<<5)-d+u.charCodeAt(h),d|=0;return r.colors[Math.abs(d)%r.colors.length]}r.selectColor=e;function r(u){let d,h=null,g,b;function w(...y){if(!w.enabled)return;let _=w,L=Number(new Date),I=L-(d||L);_.diff=I,_.prev=d,_.curr=L,d=L,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let A=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(K,z)=>{if(K==="%%")return"%";A++;let X=r.formatters[z];if(typeof X=="function"){let Re=y[A];K=X.call(_,Re),y.splice(A,1),A--}return K}),r.formatArgs.call(_,y),(_.log||r.log).apply(_,y)}return w.namespace=u,w.useColors=r.useColors(),w.color=r.selectColor(u),w.extend=n,w.destroy=r.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(g!==r.namespaces&&(g=r.namespaces,b=r.enabled(u)),b),set:y=>{h=y}}),typeof r.init=="function"&&r.init(w),w}function n(u,d){let h=r(this.namespace+(typeof d>"u"?":":d)+u);return h.log=this.log,h}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let d,h=(typeof u=="string"?u:"").split(/[\s,]+/),g=h.length;for(d=0;d<g;d++)h[d]&&(u=h[d].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.substr(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function i(){let u=[...r.names.map(a),...r.skips.map(a).map(d=>"-"+d)].join(",");return r.enable(""),u}function s(u){if(u[u.length-1]==="*")return!0;let d,h;for(d=0,h=r.skips.length;d<h;d++)if(r.skips[d].test(u))return!1;for(d=0,h=r.names.length;d<h;d++)if(r.names[d].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function f(u){return u instanceof Error?u.stack??u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var Tr=Uf(),Af=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Tf(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function Df(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ar(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}var Ff=console.debug??console.log??(()=>{});function kf(t){try{t?Tr?.setItem("debug",t):Tr?.removeItem("debug")}catch{}}function Bf(){let t;try{t=Tr?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function Uf(){try{return localStorage}catch{}}function Pf(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var Is=Gn({formatArgs:Df,save:kf,load:Bf,useColors:Tf,setupFormatters:Pf,colors:Af,storage:Tr,log:Ff});var $=Is;$.formatters.b=t=>t==null?"undefined":J.baseEncode(t);$.formatters.t=t=>t==null?"undefined":ce.baseEncode(t);$.formatters.m=t=>t==null?"undefined":Gr.baseEncode(t);$.formatters.p=t=>t==null?"undefined":t.toString();$.formatters.c=t=>t==null?"undefined":t.toString();$.formatters.k=t=>t==null?"undefined":t.toString();$.formatters.a=t=>t==null?"undefined":t.toString();$.formatters.e=t=>{if(t==null)return"undefined";let e=As(t.message),r=As(t.stack);return e!=null&&r!=null?r.includes(e)?r:`${e}
3
+ ${r}`:r??e??t.toString()};function Nf(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Mt(){return{forComponent(t){return Ts(t)}}}function Ts(t){let e=Nf(`${t}:trace`);return $.enabled(`${t}:trace`)&&$.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=$(`${t}:trace`)),Object.assign($(t),{error:$(`${t}:error`),trace:e,newScope:r=>Ts(`${t}:${r}`)})}function As(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var Mf=0,Hn=class extends Ue{local;remote;constructor(e){let r=`${Mf++}`;super({...e,id:r,log:Mt().forComponent(`libp2p:stream-pair:${e.direction}:${r}`)}),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",n=>{this.onData(n.data)}),this.remote.addEventListener("reset",n=>{this.onRemoteReset()}),this.remote.addEventListener("closeWrite",n=>{this.onRemoteCloseWrite()})}sendData(e){let r=this.local.send(new se(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendCloseWrite(e){return M(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return M(new Promise((r,n)=>{this.local.send(new Event("closeRead")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}onRemotePaused(){this.local.pause()}onRemoteResumed(){this.local.resume()}onMuxerDrain(){this.local.resume()}};var Ds=()=>{let t=new Error("Delay aborted");return t.name="AbortError",t},Of=new WeakMap;function $f({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(Ds());let i,s,a,f=t??clearTimeout,c=()=>{f(i),a(Ds())},u=()=>{o&&o.removeEventListener("abort",c)},d=new Promise((h,g)=>{s=()=>{u(),h(n)},a=g,i=(e??setTimeout)(s,r)});return o&&o.addEventListener("abort",c,{once:!0}),Of.set(d,()=>{f(i),i=null,s()}),d}}var Rf=$f(),Qn=Rf;var zf=1024*64,Ot=class extends ae{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new ne({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??zf,this.queue.addEventListener("idle",()=>{this.needsDrain?(this.log("network send queue drained"),this.needsDrain=!1,this.safeDispatchEvent("drain")):this.log("network send queue idle")})}send(e){if(Vf(e)){let r=new C(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let i=new se(o);this.queue.add(async s=>{this.delay>0&&await M(Qn(this.delay),s.signal),this.dispatchEvent(s.evt)},{evt:i})}}else this.queue.add(async r=>{this.delay>0&&await M(Qn(this.delay),r.signal),this.dispatchEvent(r.evt)},{evt:e});return this.queue.size>=this.capacity?(this.log("network send queue full"),this.needsDrain=!0,!1):!0}pause(){this.queue.pause()}resume(){this.queue.resume()}onIdle(){return this.queue.onIdle()}size(){return this.queue.size}};function Vf(t){return t?.data instanceof Uint8Array||Ke(t?.data)}var Fs=0,Dr=class extends Lt{local;remote;constructor(e){super(e),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",r=>{this.status==="open"&&this.onData(r.data)}),this.remote.addEventListener("reset",r=>{this.status==="open"&&this.onRemoteReset()}),this.remote.addEventListener("close",r=>{this.onTransportClosed()}),this.remote.addEventListener("pause",r=>{this.local.pause()}),this.remote.addEventListener("resume",r=>{this.local.resume()})}sendData(e){let r=this.local.send(new se(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await D(this.local,"drain",{signal:e?.signal}),M(new Promise((r,n)=>{this.local.send(new Event("close")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}};function Kn(t={}){let e=`${Fs++}`,r=`${Fs++}`,n=Mt().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=Mt().forComponent(`libp2p:mock-maconn:inbound:${r}`),i=new Ot({...t,log:n}),s=new Ot({...t,log:o});return[new Dr({...t.outbound,id:r,direction:"outbound",local:i,remote:s,remoteAddr:t?.outbound?.remoteAddr??Ce(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new Dr({...t.inbound,id:e,direction:"inbound",local:s,remote:i,remoteAddr:t?.inbound?.remoteAddr??Ce(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var Xn=class extends ne{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var Jn=class extends ne{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var Zn=class{memoryStorage;points;duration;blockDuration;keyPrefix;constructor(e={}){this.points=e.points??4,this.duration=e.duration??1,this.blockDuration=e.blockDuration??0,this.keyPrefix=e.keyPrefix??"rlflx",this.memoryStorage=new Fr}consume(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);if(s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s.consumedPoints>this.points)throw this.blockDuration>0&&s.consumedPoints<=this.points+r&&(s=this.memoryStorage.set(o,s.consumedPoints,this.blockDuration)),new vt("Rate limit exceeded",s);return s}penalty(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}reward(e,r=1,n={}){let o=this.getKey(e),i=this._getKeySecDuration(n),s=this.memoryStorage.incrby(o,-r,i);return s.remainingPoints=Math.max(this.points-s.consumedPoints,0),s}block(e,r){let n=r*1e3,o=this.points+1;return this.memoryStorage.set(this.getKey(e),o,r),{remainingPoints:0,msBeforeNext:n===0?-1:n,consumedPoints:o,isFirstInDuration:!1}}set(e,r,n=0){let o=(n>=0?n:this.duration)*1e3;return this.memoryStorage.set(this.getKey(e),r,n),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:r,isFirstInDuration:!1}}get(e){let r=this.memoryStorage.get(this.getKey(e));return r!=null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),r}delete(e){this.memoryStorage.delete(this.getKey(e))}_getKeySecDuration(e){return e?.customDuration!=null&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}},Fr=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let i=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||i>0?(o.value+=r,{remainingPoints:0,msBeforeNext:i,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,i=this.storage.get(e);i!=null&&clearTimeout(i.timeoutId);let s={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,s),o>0&&(s.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),s.timeoutId.unref!=null&&s.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:s.value,isFirstInDuration:!0}}get(e){let r=this.storage.get(e);if(r!=null)return{remainingPoints:0,msBeforeNext:r.expiresAt!=null?r.expiresAt.getTime()-new Date().getTime():-1,consumedPoints:r.value,isFirstInDuration:!1}}delete(e){let r=this.storage.get(e);return r!=null?(r.timeoutId!=null&&clearTimeout(r.timeoutId),this.storage.delete(e),!0):!1}};function qf(t,e,r){let n,o,i=!1;function s(){let c={signal:o.signal};if(r?.timeout!=null){let u=rr([o.signal,AbortSignal.timeout(r.timeout)]);c.signal=u}i=!0,Promise.resolve().then(async()=>{await t(c)}).catch(()=>{}).finally(()=>{i=!1,!o.signal.aborted&&(n=setTimeout(s,e))})}let a=Ye(s,r?.debounce??100),f=!1;return{setInterval:c=>{e!==c&&(e=c,n!=null&&(clearTimeout(n),n=setTimeout(s,e)))},setTimeout:c=>{r??={},r.timeout=c},run:()=>{i||(clearTimeout(n),a())},start:()=>{f||(f=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{s()}):n=setTimeout(s,e))},stop:()=>{clearTimeout(n),o?.abort(),f=!1}}}async function ks(t={}){let[e,r]=Kn({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=Ir({streamOptions:t.outbound}).createStreamMuxer(e),o=Ir({streamOptions:t.inbound}).createStreamMuxer(r),[i,s]=await Promise.all([D(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[s,i]}async function jf(t={}){let[e,r]=await ks(t);return Fn(r),e}function Wf(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var Yn=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Gf(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Yn({name:e,metrics:r}):n=new Map,n}return Rs(Hf);})();
4
4
  /*! Bundled license information:
5
5
 
6
6
  @noble/hashes/utils.js: