@libp2p/utils 7.2.2 → 7.2.3

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,14 +1,14 @@
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 Vc=Object.create;var yr=Object.defineProperty;var jc=Object.getOwnPropertyDescriptor;var qc=Object.getOwnPropertyNames;var Wc=Object.getPrototypeOf,Gc=Object.prototype.hasOwnProperty;var Tn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Y=(t,e)=>{for(var r in e)yr(t,r,{get:e[r],enumerable:!0})},qs=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of qc(e))!Gc.call(t,o)&&o!==r&&yr(t,o,{get:()=>e[o],enumerable:!(n=jc(e,o))||n.enumerable});return t};var Hc=(t,e,r)=>(r=t!=null?Vc(Wc(t)):{},qs(e||!t||!t.__esModule?yr(r,"default",{value:t,enumerable:!0}):r,t)),Xc=t=>qs(yr({},"__esModule",{value:!0}),t);var fo=Tn(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.Netmask4Impl=void 0;yt.ip2long=gt;yt.long2ip=ge;function ge(t){let e=(t&-16777216)>>>24,r=(t&255<<16)>>>16,n=(t&65280)>>>8,o=t&255;return[e,r,n,o].join(".")}var Sf=48,vf=97,Cf=65;function If(t){let e=0,r=10,n="9",o=0;t.length>1&&t[o]==="0"&&(t[o+1]==="x"||t[o+1]==="X"?(o+=2,r=16):"0"<=t[o+1]&&t[o+1]<="9"&&(o++,r=8,n="7"));let s=o;for(;o<t.length;){if("0"<=t[o]&&t[o]<=n)e=e*r+(t.charCodeAt(o)-Sf)>>>0;else if(r===16)if("a"<=t[o]&&t[o]<="f")e=e*r+(10+t.charCodeAt(o)-vf)>>>0;else if("A"<=t[o]&&t[o]<="F")e=e*r+(10+t.charCodeAt(o)-Cf)>>>0;else break;else break;if(e>4294967295)throw new Error("too large");o++}if(o===s)throw new Error("empty octet");return[e,o]}function gt(t){let e=[];for(let r=0;r<=3&&t.length!==0;r++){if(r>0){if(t[0]!==".")throw new Error("Invalid IP");t=t.substring(1)}let[n,o]=If(t);t=t.substring(o),e.push(n)}if(t.length!==0)throw new Error("Invalid IP");switch(e.length){case 1:if(e[0]>4294967295)throw new Error("Invalid IP");return e[0]>>>0;case 2:if(e[0]>255||e[1]>16777215)throw new Error("Invalid IP");return(e[0]<<24|e[1])>>>0;case 3:if(e[0]>255||e[1]>255||e[2]>65535)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2])>>>0;case 4:if(e[0]>255||e[1]>255||e[2]>255||e[3]>255)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2]<<8|e[3])>>>0;default:throw new Error("Invalid IP")}}var uo=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(!n){let o=e.split("/",2);e=o[0],n=o[1]}if(n||(n=32),typeof n=="string"&&n.indexOf(".")>-1){try{this.maskLong=gt(n)}catch{throw new Error("Invalid mask: "+n)}this.bitmask=NaN;for(let o=32;o>=0;o--)if(this.maskLong===4294967295<<32-o>>>0){this.bitmask=o;break}}else if(n||n===0)this.bitmask=parseInt(n,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(gt(e)&this.maskLong)>>>0}catch{throw new Error("Invalid net address: "+e)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+n);this.size=Math.pow(2,32-this.bitmask),this.base=ge(this.netLong),this.mask=ge(this.maskLong),this.hostmask=ge(~this.maskLong),this.first=this.bitmask<=30?ge(this.netLong+1):this.base,this.last=this.bitmask<=30?ge(this.netLong+this.size-2):ge(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?ge(this.netLong+this.size-1):void 0}contains(e){return typeof e=="string"&&(e.indexOf("/")>0||e.split(".").length!==4)&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):(gt(e)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0}next(e=1){return new t(ge(this.netLong+this.size*e),this.mask)}forEach(e){let r=gt(this.first),n=gt(this.last),o=0;for(;r<=n;)e(ge(r),r,o),o++,r++}toString(){return this.base+"/"+this.bitmask}};yt.Netmask4Impl=uo});var Di=Tn(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.Netmask6Impl=void 0;xt.ip6bigint=ho;xt.bigint2ip6=Xe;var Af=fo(),lo=(1n<<128n)-1n;function ho(t){let e=t.indexOf("%");e!==-1&&(t=t.substring(0,e));let r=t.lastIndexOf(":");if(r!==-1&&t.indexOf(".",r)!==-1){let n=t.substring(r+1),o=(0,Af.ip2long)(n),s=t.substring(0,r+1)+"0:0";return Ti(s)&~0xffffffffn|BigInt(o)}return Ti(t)}function Ti(t){let e=t.indexOf("::"),r;if(e!==-1){let o=t.substring(0,e),s=t.substring(e+2),i=o===""?[]:o.split(":"),a=s===""?[]:s.split(":"),u=8-i.length-a.length;if(u<0)throw new Error("Invalid IPv6: too many groups");r=[...i,...Array(u).fill("0"),...a]}else r=t.split(":");if(r.length!==8)throw new Error("Invalid IPv6: expected 8 groups, got "+r.length);let n=0n;for(let o=0;o<8;o++){let s=r[o];if(s.length===0||s.length>4)throw new Error('Invalid IPv6: bad group "'+s+'"');let i=parseInt(s,16);if(isNaN(i)||i<0||i>65535)throw new Error('Invalid IPv6: bad group "'+s+'"');n=n<<16n|BigInt(i)}return n}function Xe(t){if(t<0n||t>lo)throw new Error("Invalid IPv6 address value");let e=[];for(let i=0;i<8;i++)e.unshift(Number(t&0xffffn)),t>>=16n;let r=-1,n=0,o=-1,s=0;for(let i=0;i<8;i++)e[i]===0?o===-1?(o=i,s=1):s++:(s>n&&s>=2&&(r=o,n=s),o=-1,s=0);if(s>n&&s>=2&&(r=o,n=s),r!==-1&&r+n===8&&r>0)return e.slice(0,r).map(a=>a.toString(16)).join(":")+"::";if(r===0)return"::"+e.slice(n).map(a=>a.toString(16)).join(":");if(r>0){let i=e.slice(0,r).map(u=>u.toString(16)),a=e.slice(r+n).map(u=>u.toString(16));return i.join(":")+"::"+a.join(":")}else return e.map(i=>i.toString(16)).join(":")}var mo=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(n==null){let o=e.indexOf("/");o!==-1?(n=parseInt(e.substring(o+1),10),e=e.substring(0,o)):n=128}if(isNaN(n)||n<0||n>128)throw new Error("Invalid mask for IPv6: "+n);this.bitmask=n,this.bitmask===0?this.maskBigint=0n:this.maskBigint=lo>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=ho(e)&this.maskBigint}catch{throw new Error("Invalid IPv6 net address: "+e)}this.size=Number(1n<<BigInt(128-this.bitmask)),this.base=Xe(this.netBigint),this.mask=Xe(this.maskBigint),this.hostmask=Xe(~this.maskBigint&lo),this.first=this.base,this.last=Xe(this.netBigint+(1n<<BigInt(128-this.bitmask))-1n),this.broadcast=void 0}contains(e){return typeof e=="string"&&e.indexOf("/")>0&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.last):(ho(e)&this.maskBigint)===this.netBigint}next(e=1){let r=1n<<BigInt(128-this.bitmask);return new t(Xe(this.netBigint+r*BigInt(e)),this.bitmask)}forEach(e){let r=this.netBigint,n=1n<<BigInt(128-this.bitmask),o=this.netBigint+n-1n,s=0;for(;r<=o;)e(Xe(r),Number(r),s),s++,r++}toString(){return this.base+"/"+this.bitmask}};xt.Netmask6Impl=mo});var Fi=Tn(Pe=>{"use strict";Object.defineProperty(Pe,"__esModule",{value:!0});Pe.long2ip=Pe.ip2long=Pe.Netmask=void 0;var Fr=fo();Object.defineProperty(Pe,"ip2long",{enumerable:!0,get:function(){return Fr.ip2long}});Object.defineProperty(Pe,"long2ip",{enumerable:!0,get:function(){return Fr.long2ip}});var Lf=Di(),po=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");(e.indexOf("/")!==-1?e.substring(0,e.indexOf("/")):e).indexOf(":")!==-1?this._impl=new Lf.Netmask6Impl(e,r):this._impl=new Fr.Netmask4Impl(e,r),this.base=this._impl.base,this.mask=this._impl.mask,this.hostmask=this._impl.hostmask,this.bitmask=this._impl.bitmask,this.size=this._impl.size,this.first=this._impl.first,this.last=this._impl.last,this.broadcast=this._impl.broadcast,this._impl instanceof Fr.Netmask4Impl?(this.maskLong=this._impl.maskLong,this.netLong=this._impl.netLong):(this.maskLong=0,this.netLong=0)}contains(e){return typeof e=="string"&&(e.indexOf("/")>0?e=new t(e):e.indexOf(":")===-1&&e.split(".").length!==4&&(e=new t(e))),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):this._impl.contains(e)}next(e=1){let r=this._impl.next(e);return new t(r.base,r.bitmask)}forEach(e){this._impl.forEach(e)}toString(){return this._impl.toString()}};Pe.Netmask=po});var yd={};Y(yd,{AbstractMessageStream:()=>Je,AbstractMultiaddrConnection:()=>tr,AbstractStream:()=>Ye,AbstractStreamMuxer:()=>rr,AdaptiveTimeout:()=>is,BloomFilter:()=>Wt,CuckooFilter:()=>ke,DEFAULT_FAILURE_MULTIPLIER:()=>sa,DEFAULT_INTERVAL:()=>ca,DEFAULT_MAX_TIMEOUT:()=>aa,DEFAULT_MIN_TIMEOUT:()=>ia,DEFAULT_TIMEOUT_MULTIPLIER:()=>oa,InvalidDataLengthError:()=>en,InvalidDataLengthLengthError:()=>tn,InvalidMessageLengthError:()=>At,LengthPrefixedDecoder:()=>ps,MaxEarlyStreamsError:()=>Zt,MemoryStorage:()=>Ln,MockStream:()=>Ms,MovingAverage:()=>Ze,PeerQueue:()=>$s,PriorityQueue:()=>zs,Queue:()=>fe,QueueFullError:()=>Yt,RateLimitError:()=>Jt,RateLimiter:()=>Vs,ScalableCuckooFilter:()=>Gt,StreamClosedError:()=>er,UnexpectedEOFError:()=>Me,UnwrappedError:()=>nr,byteStream:()=>xa,circuitRelayAddressesLast:()=>ra,createBloomFilter:()=>wi,createCuckooFilter:()=>bi,createScalableCuckooFilter:()=>Ei,debounce:()=>It,defaultMultiaddrSorter:()=>wl,echo:()=>ms,echoStream:()=>md,getNetConfig:()=>ce,getThinWaistAddresses:()=>Il,ipPortToMultiaddr:()=>Ll,isAsyncGenerator:()=>Tl,isGenerator:()=>Dl,isGlobalUnicast:()=>bf,isGlobalUnicastIp:()=>Al,isLinkLocal:()=>Ef,isLinkLocalIp:()=>eh,isLoopback:()=>Dr,isNetworkAddress:()=>_f,isPrivate:()=>kr,isPrivateIp:()=>yo,isPromise:()=>ss,loopbackAddressLast:()=>ea,lpStream:()=>wa,messageStreamToDuplex:()=>ba,mockMuxer:()=>vn,multiaddrConnectionPair:()=>Rs,pbStream:()=>Ql,pipe:()=>Jl,publicAddressesFirst:()=>ta,reliableTransportsFirst:()=>Zi,repeatingTask:()=>dd,streamPair:()=>$c,trackedList:()=>pd,trackedMap:()=>gd,tryGetNetConfig:()=>Cr});function Qc(t){return t.buffer instanceof ArrayBuffer}function Dn(t){return Qc(t)?t:t.slice()}var Ee=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var K=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var xr=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},wr=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var Le=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},Pt=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var de=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},st=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},br=class extends st{constructor(e,r){super(!0,e,r)}},Er=class extends st{constructor(e,r){super(!1,e,r)}};function Kc(t){return typeof t?.handleEvent=="function"}function Jc(t){return(t!==!0&&t!==!1&&t?.once)??!1}var me=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){let o=Jc(n);super.addEventListener(e,i=>{if(o){let a=this.#e.get(i.type);a!=null&&(a=a.filter(({callback:u})=>u!==r),this.#e.set(i.type,a))}Kc(r)?r.handleEvent(i):r(i)},n);let s=this.#e.get(e);s==null&&(s=[],this.#e.set(e,s)),s.push({callback:r,once:o})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==r),this.#e.set(e,o))}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};var Pn={};Y(Pn,{base58btc:()=>ne,base58flickr:()=>su});var Sd=new Uint8Array(0);function Ws(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 _e(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return Ve(t);if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return Ve(new Uint8Array(t.buffer,t.byteOffset,t.byteLength));throw new Error("Unknown type, must be binary type")}function Gs(t){return new TextEncoder().encode(t)}function Hs(t){return new TextDecoder().decode(t)}function Yc(t){return t?.buffer instanceof ArrayBuffer}function Ve(t){return Yc(t)?t:t.slice()}function Zc(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 s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,u=t.charAt(0),l=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(E){if(E instanceof Uint8Array||(ArrayBuffer.isView(E)?E=new Uint8Array(E.buffer,E.byteOffset,E.byteLength):Array.isArray(E)&&(E=Uint8Array.from(E))),!(E instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(E.length===0)return"";for(var L=0,x=0,_=0,k=E.length;_!==k&&E[_]===0;)_++,L++;for(var B=(k-_)*f+1>>>0,X=new Uint8Array(B);_!==k;){for(var V=E[_],be=0,Q=B-1;(V!==0||be<x)&&Q!==-1;Q--,be++)V+=256*X[Q]>>>0,X[Q]=V%a>>>0,V=V/a>>>0;if(V!==0)throw new Error("Non-zero carry");x=be,_++}for(var ie=B-x;ie!==B&&X[ie]===0;)ie++;for(var ze=u.repeat(L);ie<B;++ie)ze+=t.charAt(X[ie]);return ze}function p(E){if(typeof E!="string")throw new TypeError("Expected String");if(E.length===0)return new Uint8Array;var L=0;if(E[L]!==" "){for(var x=0,_=0;E[L]===u;)x++,L++;for(var k=(E.length-L)*l+1>>>0,B=new Uint8Array(k);E[L];){var X=r[E.charCodeAt(L)];if(X===255)return;for(var V=0,be=k-1;(X!==0||V<_)&&be!==-1;be--,V++)X+=a*B[be]>>>0,B[be]=X%256>>>0,X=X/256>>>0;if(X!==0)throw new Error("Non-zero carry");_=V,L++}if(E[L]!==" "){for(var Q=k-_;Q!==k&&B[Q]===0;)Q++;for(var ie=new Uint8Array(x+(k-Q)),ze=x;Q!==k;)ie[ze++]=B[Q++];return ie}}}function w(E){var L=p(E);if(L)return L;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:w}}var eu=Zc,tu=eu,Qs=tu;var Fn=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")}},kn=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 Ks(this,e)}},Nn=class{decoders;constructor(e){this.decoders=e}or(e){return Ks(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 Ks(t,e){return new Nn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Bn=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 Fn(e,r,n),this.decoder=new kn(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function it({name:t,prefix:e,encode:r,decode:n}){return new Bn(t,e,r,n)}function Te({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=Qs(r,t);return it({prefix:e,name:t,encode:n,decode:s=>_e(o(s))})}function ru(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,u=0;for(let l=0;l<o;++l){let f=e[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|f,i+=r,i>=8&&(i-=8,s[u++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function nu(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function ou(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function P({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=ou(n);return it({prefix:e,name:t,encode(s){return nu(s,n,r)},decode(s){return ru(s,o,r,t)}})}var ne=Te({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),su=Te({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Un={};Y(Un,{base32:()=>pe,base32hex:()=>uu,base32hexpad:()=>lu,base32hexpadupper:()=>hu,base32hexupper:()=>fu,base32pad:()=>au,base32padupper:()=>cu,base32upper:()=>iu,base32z:()=>du});var pe=P({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),iu=P({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),au=P({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cu=P({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),uu=P({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),fu=P({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),lu=P({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),hu=P({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),du=P({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mn={};Y(Mn,{base36:()=>Ut,base36upper:()=>mu});var Ut=Te({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),mu=Te({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pu=Zs,Js=128,gu=127,yu=~gu,xu=Math.pow(2,31);function Zs(t,e,r){e=e||[],r=r||0;for(var n=r;t>=xu;)e[r++]=t&255|Js,t/=128;for(;t&yu;)e[r++]=t&255|Js,t>>>=7;return e[r]=t|0,Zs.bytes=r-n+1,e}var wu=On,bu=128,Ys=127;function On(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw On.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Ys)<<o:(i&Ys)*Math.pow(2,o),o+=7}while(i>=bu);return On.bytes=s-n,r}var Eu=Math.pow(2,7),_u=Math.pow(2,14),Su=Math.pow(2,21),vu=Math.pow(2,28),Cu=Math.pow(2,35),Iu=Math.pow(2,42),Au=Math.pow(2,49),Lu=Math.pow(2,56),Tu=Math.pow(2,63),Du=function(t){return t<Eu?1:t<_u?2:t<Su?3:t<vu?4:t<Cu?5:t<Iu?6:t<Au?7:t<Lu?8:t<Tu?9:10},Fu={encode:pu,decode:wu,encodingLength:Du},ku=Fu,Mt=ku;function Ot(t,e=0){return[Mt.decode(t,e),Mt.decode.bytes]}function at(t,e,r=0){return Mt.encode(t,e,r),e}function ct(t){return Mt.encodingLength(t)}function ft(t,e){let r=e.byteLength,n=ct(t),o=n+ct(r),s=new Uint8Array(o+r);return at(t,s,0),at(r,s,n),s.set(e,o),new ut(t,r,e,s)}function ei(t){let e=_e(t),[r,n]=Ot(e),[o,s]=Ot(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ut(r,o,i,e)}function ti(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Ws(t.bytes,r.bytes)}}var ut=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=Ve(n),this.bytes=Ve(o)}};function ri(t,e){let{bytes:r,version:n}=t;return n===0?Bu(r,Rn(t),e??ne.encoder):Pu(r,Rn(t),e??pe.encoder)}var ni=new WeakMap;function Rn(t){let e=ni.get(t);if(e==null){let r=new Map;return ni.set(t,r),r}return e}var lt=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=Ve(o),this["/"]=this.bytes}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!==$t)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Uu)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=ft(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&&ti(e.multihash,n.multihash)}toString(e){return ri(this,e)}toJSON(){return{"/":ri(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:s,bytes:i}=r;return new t(n,o,s,i??oi(n,o,s.bytes))}else if(r[Mu]===!0){let{version:n,multihash:o,code:s}=r,i=ei(o);return t.create(n,s,i)}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!==$t)throw new Error(`Version 0 CID must use dag-pb (code: ${$t}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=oi(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,$t,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=_e(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ut(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Ot(e.subarray(r));return r+=p,h},o=n(),s=$t;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),u=n(),l=r+u,f=l-i;return{version:o,codec:s,multihashCode:a,digestSize:u,multihashSize:f,size:l}}static parse(e,r){let[n,o]=Nu(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Rn(s).set(n,e),s}};function Nu(t,e){switch(t[0]){case"Q":{let r=e??ne;return[ne.prefix,r.decode(`${ne.prefix}${t}`)]}case ne.prefix:{let r=e??ne;return[ne.prefix,r.decode(t)]}case pe.prefix:{let r=e??pe;return[pe.prefix,r.decode(t)]}case Ut.prefix:{let r=e??Ut;return[Ut.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 Bu(t,e,r){let{prefix:n}=r;if(n!==ne.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o}function Pu(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o}var $t=112,Uu=18;function oi(t,e,r){let n=ct(t),o=n+ct(e),s=new Uint8Array(o+r.byteLength);return at(t,s,0),at(e,s,n),s.set(r,o),s}var Mu=Symbol.for("@ipld/js-cid/CID");var $n={};Y($n,{identity:()=>$u});var si=0,Ou="identity",ii=_e;function Ru(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 ft(si,ii(t))}var $u={code:si,name:Ou,encode:ii,digest:Ru};function zt(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 Se(t=0){return new Uint8Array(t)}function Vt(t=0){return new Uint8Array(t)}function zn(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Vt(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}function ai(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var ui=Symbol.for("@achingbrain/uint8arraylist");function ci(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 ht(t){return!!t?.[ui]}var U=class t{bufs;length;[ui]=!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(ht(n)){r+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}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(ht(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=ci(this.bufs,e);return r.buf[r.index]}set(e,r){let n=ci(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(ht(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 zn(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:zn(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),s=new t;return s.length=o,s.bufs=n,s}_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 s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,u=a+i.byteLength;if(o=u,e>=u)continue;let l=e>=a&&e<u,f=r>a&&r<=u;if(l&&f){if(e===a&&r===u){n.push(i);break}let h=e-a;n.push(i.subarray(h,h+(r-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(f){if(r===u){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ht(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 s=256,i=new Int32Array(s);for(let h=0;h<s;h++)i[h]=-1;for(let h=0;h<o;h++)i[n[h]]=h;let a=i,u=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let h=r;h<=u;h+=f){f=0;for(let p=l;p>=0;p--){let w=this.get(h+p);if(n[p]!==w){f=Math.max(1,p-a[w]);break}}if(f===0)return h}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=Vt(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=Se(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=Se(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=Se(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=Vt(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=Se(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=Se(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=Se(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=Se(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=Se(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(!ai(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,s)=>o+s.byteLength,0)),n.length=r,n}};var Vn={};Y(Vn,{base10:()=>zu});var zu=Te({prefix:"9",name:"base10",alphabet:"0123456789"});var jn={};Y(jn,{base16:()=>Vu,base16upper:()=>ju});var Vu=P({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ju=P({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qn={};Y(qn,{base2:()=>qu});var qu=P({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Wn={};Y(Wn,{base256emoji:()=>Qu});var fi=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}"),Wu=fi.reduce((t,e,r)=>(t[r]=e,t),[]),Gu=fi.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Hu(t){return t.reduce((e,r)=>(e+=Wu[r],e),"")}function Xu(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Gu[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Qu=it({prefix:"\u{1F680}",name:"base256emoji",encode:Hu,decode:Xu});var Xn={};Y(Xn,{base64:()=>Gn,base64pad:()=>Ku,base64url:()=>Hn,base64urlpad:()=>Ju});var Gn=P({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ku=P({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hn=P({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ju=P({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qn={};Y(Qn,{base8:()=>Yu});var Yu=P({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Kn={};Y(Kn,{identity:()=>Zu});var Zu=it({prefix:"\0",name:"identity",encode:t=>Hs(t),decode:t=>Gs(t)});var am=new TextEncoder,cm=new TextDecoder;var Zn={};Y(Zn,{sha256:()=>nf,sha512:()=>of});var rf=20;function Yn({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Jn(t,e,r,n,o)}var Jn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??rf,this.maxDigestLength=s}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?li(n,this.code,r?.truncate):n.then(o=>li(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function li(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 ft(e,t)}function di(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var nf=Yn({name:"sha2-256",code:18,encode:di("SHA-256")}),of=Yn({name:"sha2-512",code:19,encode:di("SHA-512")});var jt={...Kn,...qn,...Qn,...Vn,...jn,...Un,...Mn,...Pn,...Xn,...Wn},bm={...Zn,...$n};function qt(t=0){return new Uint8Array(t)}function je(t=0){return new Uint8Array(t)}function pi(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var mi=pi("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),eo=pi("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=je(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),sf={utf8:mi,"utf-8":mi,hex:jt.base16,latin1:eo,ascii:eo,binary:eo,...jt},Sr=sf;function M(t,e="utf8"){let r=Sr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function De(t,e="utf8"){let r=Sr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}function af(t,e=""){if(typeof t!="number"){let r=e&&`"${e}" `;throw new TypeError(`${r}expected number, got ${typeof t}`)}if(!Number.isSafeInteger(t)||t<0){let r=e&&`"${e}" `;throw new RangeError(`${r}expected integer >= 0, got ${t}`)}}function gi(t=32){af(t,"bytesLength");let e=typeof globalThis=="object"?globalThis.crypto:null;if(typeof e?.getRandomValues!="function")throw new Error("crypto.getRandomValues must be defined");if(t>65536)throw new RangeError(`"bytesLength" expected <= 65536, got ${t}`);return e.getRandomValues(new Uint8Array(t))}function cf(t){return t?.buffer instanceof ArrayBuffer}function to(t){if(cf(t))return t;let e=t.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function dt(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=je(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return to(r)}function vr(t){if(isNaN(t)||t<=0)throw new K("random bytes length must be a Number bigger than 0");return gi(t)}var ro={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},yi={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},xi=new globalThis.TextEncoder;function uf(t,e){let r=ro[e],n=yi[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function ff(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=ro[e],o=yi[e],s=t;for(;s.length>0;){let i=xi.encodeInto(s,r);s=s.slice(i.read);for(let a=0;a<i.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function no(t,{size:e=32,utf8Buffer:r}={}){if(!ro[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 ff(t,e,r);t=xi.encode(t)}return uf(t,e)}var Fe={hash:t=>Number(no(t,{size:32})),hashV:(t,e)=>lf(Fe.hash(t,e))};function lf(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),M(e,"base16")}var hf=Math.LN2*Math.LN2,Wt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=mf(e.hashes??8),this.bits=e.bits??1024,this.buffer=qt(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=M(e));for(let r=0;r<this.seeds.length;r++){let o=Fe.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=M(e));for(let r=0;r<this.seeds.length;r++){let o=Fe.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 wi(t,e=.005){let r=df(t,e);return new Wt(r)}function df(t,e=.005){let r=Math.round(-1*t*Math.log(e)/hf),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function mf(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new U(vr(4)),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var oo=64,ae=class{fp;h;seed;constructor(e,r,n,o=2){if(o>oo)throw new TypeError("Invalid Fingerprint Size");let s=r.hashV(e,n),i=qt(o);for(let a=0;a<i.length;a++)i[a]=s[a];i.length===0&&(i[0]=7),this.fp=i,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?zt(this.fp,e.fp):!1}};function qe(t,e){return Math.floor(Math.random()*(e-t))+t}var We=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof ae))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof ae))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 ae))throw new TypeError("Invalid Fingerprint");let r=qe(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof ae))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var pf=500,ke=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??Fe,this.seed=e.seed??qe(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=M(e));let r=new ae(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 We(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new We(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let s=[n,o],i=s[qe(0,s.length-1)];this.buckets[i]==null&&(this.buckets[i]=new We(this.bucketSize));for(let a=0;a<pf;a++){let u=this.buckets[i].swap(r);if(u!=null&&(i=(i^u.hash())%this.filterSize,this.buckets[i]==null&&(this.buckets[i]=new We(this.bucketSize)),this.buckets[i].add(u)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=M(e));let r=new ae(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 s=(n^r.hash())%this.filterSize;return this.buckets[s]?.has(r)??!1}remove(e){typeof e=="string"&&(e=M(e));let r=new ae(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 s=(n^r.hash())%this.filterSize,i=this.buckets[s]?.remove(r)??!1;return i&&this.count--,i}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},gf={1:.5,2:.84,4:.95,8:.98};function yf(t=.001){return t>.002?2:t>1e-5?4:8}function so(t,e=.001){let r=yf(e),n=gf[r],o=Math.round(t/n),s=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),oo);return{filterSize:o,bucketSize:r,fingerprintSize:s}}function bi(t,e=.005){let r=so(t,e);return new ke(r)}var Gt=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??Fe,this.seed=e.seed??qe(0,Math.pow(2,10)),this.filterSeries=[new ke({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=M(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 ke({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=M(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=M(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 Ei(t,e=.001,r){return new Gt({...so(t,e),...r??{}})}function Cr(t){let e=t.getComponents(),r={},n=0;return 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?null:(e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r)}function ce(t){let e=Cr(t);if(e==null)throw new K(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e}var Ir=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 s=0,i=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",l=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let p=Number.parseInt(h,e);if(!Number.isNaN(p))return p});if(f===void 0)break;if(s*=e,s+=f,s>l||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&u&&i>1?void 0:s})}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 i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];r[o]=s>>8,r[o+1]=s&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 s=new Uint8Array(14),i=16-(n+2),[a]=e(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var _i=45,xf=15,mt=new Ir;function Ar(t){if(!(t.length>xf))return mt.new(t).parseWith(()=>mt.readIPv4Addr())}function Lr(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>_i))return mt.new(t).parseWith(()=>mt.readIPv6Addr())}function pt(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>_i)return;let r=mt.new(t).parseWith(()=>mt.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 Si(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 vi(t,e,r,n){let o=0;for(let s of t)if(!(o<r)){if(o>n)break;if(s!==e[o])return!1;o++}return!0}function io(t){switch(t.length){case Ge:return t.join(".");case He:{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 Ci(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 Ii(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var Ge=4,He=16,Ap=parseInt("0xFFFF",16),wf=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Ht(t,e){e.length===He&&t.length===Ge&&Si(e,0,11)&&(e=e.slice(12)),e.length===Ge&&t.length===He&&vi(t,wf,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 Ai(t,e){if(typeof e=="string"&&(e=pt(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 ao(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=Ge,o=Ar(e);if(o==null&&(n=He,o=Lr(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let s=parseInt(r,10);if(Number.isNaN(s)||String(s).length!==r.length||s<0||s>n*8)throw new Error("Failed to parse given CIDR: "+t);let i=co(s,8*n);return{network:Ht(o,i),mask:i}}function co(t,e){if(e!==8*Ge&&e!==8*He)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 Xt=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=ao(e));else{let n=pt(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 s=pt(r);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=co(o,8*n.length);this.network=Ht(n,this.mask)}}contains(e){return Ai({network:this.network,mask:this.mask},e)}toString(){let e=Ci(this.mask),r=e!==-1?String(e):Ii(this.mask);return io(this.network)+"/"+r}};function Tr(t,e){return new Xt(t).contains(e)}function bf(t){try{let e=ce(t);return e.type==="ip6"?Tr("2000::/3",e.host):!1}catch{return!1}}function Ef(t){try{let e=ce(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 Li(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function Dr(t){try{let e=ce(t);switch(e.type){case"ip4":case"ip6":return Li(e.host);default:return!1}}catch{return!1}}function _f(t){return Cr(t)!==null}function Ne(t){return!!Ar(t)}function Be(t){return!!Lr(t)}var ki=Hc(Fi(),1),Tf=["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"],Df=Tf.map(t=>new ki.Netmask(t));function go(t){for(let e of Df)if(e.contains(t))return!0;return!1}function Ff(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function kf(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 go(o)}function Nf(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function Bf(t){let e=t.split(":"),r=e[e.length-1];return go(r)}function Pf(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 yo(t){if(Ne(t))return go(t);if(Ff(t))return kf(t);if(Nf(t))return Bf(t);if(Be(t))return Pf(t)}function kr(t){try{let e=ce(t);switch(e.type){case"ip4":case"ip6":return yo(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}var Uf=Math.pow(2,7),Mf=Math.pow(2,14),Of=Math.pow(2,21),xo=Math.pow(2,28),wo=Math.pow(2,35),bo=Math.pow(2,42),Eo=Math.pow(2,49),N=128,q=127;function wt(t){if(t<Uf)return 1;if(t<Mf)return 2;if(t<Of)return 3;if(t<xo)return 4;if(t<wo)return 5;if(t<bo)return 6;if(t<Eo)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function _o(t,e,r=0){switch(wt(t)){case 8:e[r++]=t&255|N,t/=128;case 7:e[r++]=t&255|N,t/=128;case 6:e[r++]=t&255|N,t/=128;case 5:e[r++]=t&255|N,t/=128;case 4:e[r++]=t&255|N,t>>>=7;case 3:e[r++]=t&255|N,t>>>=7;case 2:e[r++]=t&255|N,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Rf(t,e){let r=t[e],n=0;if(n+=r&q,r<N||(r=t[e+1],n+=(r&q)<<7,r<N)||(r=t[e+2],n+=(r&q)<<14,r<N)||(r=t[e+3],n+=(r&q)<<21,r<N)||(r=t[e+4],n+=(r&q)*xo,r<N)||(r=t[e+5],n+=(r&q)*wo,r<N)||(r=t[e+6],n+=(r&q)*bo,r<N)||(r=t[e+7],n+=(r&q)*Eo,r<N))return n;throw new RangeError("Could not decode varint")}function $f(t,e){let r=t.get(e),n=0;if(n+=r&q,r<N||(r=t.get(e+1),n+=(r&q)<<7,r<N)||(r=t.get(e+2),n+=(r&q)<<14,r<N)||(r=t.get(e+3),n+=(r&q)<<21,r<N)||(r=t.get(e+4),n+=(r&q)*xo,r<N)||(r=t.get(e+5),n+=(r&q)*wo,r<N)||(r=t.get(e+6),n+=(r&q)*bo,r<N)||(r=t.get(e+7),n+=(r&q)*Eo,r<N))return n;throw new RangeError("Could not decode varint")}function So(t,e=0){return t instanceof Uint8Array?Rf(t,e):$f(t,e)}var j=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},ve=class extends Error{static name="ValidationError";name="ValidationError"},Nr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Br=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function Co(t){return e=>De(e,t)}function Io(t){return e=>M(e,t)}function bt(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Qe(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Ni(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=M(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=Qe(n);return dt([r,o],r.length+o.length)}function Bi(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=pe.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=Qe(n);return dt([r,o],r.length+o.length)}function Ao(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=De(e,"base32"),o=bt(r);return`${n}:${o}`}var Lo=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 j("Invalid byte value in IP address");e[n]=o}),e},Pi=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Ne(r[n]),i;s&&(i=Lo(r[n]),r[n]=De(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,De(i.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 s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let s=parseInt(r[n],16);if(isNaN(s)||s<0||s>65535)throw new j("Invalid byte value in IP address");o[e++]=s>>8&255,o[e++]=s&255}return o},Ui=function(t){if(t.byteLength!==4)throw new j("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},Mi=function(t){if(t.byteLength!==16)throw new j("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],s=t[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;e.push(i)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new j(`Invalid IPv6 address "${r}"`)}};function Oi(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new j(`Invalid IPv6 address "${t}"`)}}var vo=Object.values(jt).map(t=>t.decoder),Vf=(function(){let t=vo[0].or(vo[1]);return vo.slice(2).forEach(e=>t=t.or(e)),t})();function Ri(t){return Vf.decode(t)}function $i(t){return e=>t.encoder.encode(e)}function jf(t){if(parseInt(t).toString()!==t)throw new ve("Value must be an integer")}function qf(t){if(t<0)throw new ve("Value must be a positive integer, or zero")}function Wf(t){return e=>{if(e>t)throw new ve(`Value must be smaller than or equal to ${t}`)}}function Gf(...t){return e=>{for(let r of t)r(e)}}var Qt=Gf(jf,qf,Wf(65535));var O=-1,To=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 Br(`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)}))}},Ie=new To,il=[{code:4,name:"ip4",size:32,valueToBytes:Lo,bytesToValue:Ui,validate:t=>{if(!Ne(t))throw new ve(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Qe,bytesToValue:bt,validate:Qt},{code:273,name:"udp",size:16,valueToBytes:Qe,bytesToValue:bt,validate:Qt},{code:33,name:"dccp",size:16,valueToBytes:Qe,bytesToValue:bt,validate:Qt},{code:41,name:"ip6",size:128,valueToBytes:Pi,bytesToValue:Mi,stringToValue:Oi,validate:t=>{if(!Be(t))throw new ve(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:O},{code:43,name:"ipcidr",size:8,bytesToValue:Co("base10"),valueToBytes:Io("base10")},{code:53,name:"dns",size:O},{code:54,name:"dns4",size:O},{code:55,name:"dns6",size:O},{code:56,name:"dnsaddr",size:O},{code:132,name:"sctp",size:16,valueToBytes:Qe,bytesToValue:bt,validate:Qt},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:O,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:O,bytesToValue:Co("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?Io("base58btc")(t):lt.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Ao,valueToBytes:Ni},{code:445,name:"onion3",size:296,bytesToValue:Ao,valueToBytes:Bi},{code:446,name:"garlic64",size:O},{code:447,name:"garlic32",size:O},{code:448,name:"tls"},{code:449,name:"sni",size:O},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:O,bytesToValue:$i(Hn),valueToBytes:Ri},{code:480,name:"http"},{code:481,name:"http-path",size:O,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:O}];il.forEach(t=>{Ie.addProtocol(t)});function zi(t){let e=[],r=0;for(;r<t.length;){let n=So(t,r),o=Ie.getProtocol(n),s=wt(n),i=al(o,t,r+s),a=0;i>0&&o.size===O&&(a=wt(i));let u=s+a+i,l={code:n,name:o.name,bytes:Dn(t.subarray(r,r+u))};if(i>0){let f=r+s+a,h=t.subarray(f,f+i);l.value=o.bytesToValue?.(h)??De(h)}e.push(l),r+=u}return e}function Vi(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=Ie.getProtocol(n.code),s=wt(n.code),i,a=0,u=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??M(n.value),a=i.byteLength,o.size===O&&(u=wt(a)));let l=new Uint8Array(s+u+a),f=0;_o(n.code,l,f),f+=s,i!=null&&(o.size===O&&(_o(a,l,f),f+=u),l.set(i,f)),n.bytes=l}r.push(n.bytes),e+=n.bytes.byteLength}return dt(r,e)}function ji(t){if(t.charAt(0)!=="/")throw new j('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let s=1;s<t.length;s++){let i=t.charAt(s);i!=="/"&&(r==="protocol"?o+=t.charAt(s):n+=t.charAt(s));let a=s===t.length-1;if(i==="/"||a){let u=Ie.getProtocol(o);if(r==="protocol"){if(u.size==null||u.size===0){e.push({code:u.code,name:u.name}),n="",o="",r="protocol";continue}else if(a)throw new j(`Component ${o} was missing value`);r="value"}else if(r==="value"){let l={code:u.code,name:u.name};if(u.size!=null&&u.size!==0){if(n==="")throw new j(`Component ${o} was missing value`);l.value=u.stringToValue?.(n)??n}e.push(l),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new j("Incomplete multiaddr");return e}function qi(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=Ie.getProtocol(e.code);if(r==null)throw new j(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function al(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:So(e,r)}var cl=Symbol.for("nodejs.util.inspect.custom"),jo=Symbol.for("@multiformats/multiaddr");function ul(t){if(t==null&&(t="/"),Wi(t))return t.getComponents();if(t instanceof Uint8Array)return zi(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),ji(t);if(Array.isArray(t))return t;throw new j("Must be a string, Uint8Array, Component[], or another Multiaddr")}var jr=class t{[jo]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=ul(e),r.validate!==!1&&fl(this)}get bytes(){return this.#r==null&&(this.#r=Vi(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=qi(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 zt(this.bytes,e.bytes)}[cl](){return`Multiaddr(${this.toString()})`}};function fl(t){t.getComponents().forEach(e=>{let r=Ie.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function Wi(t){return!!t?.[jo]}function Ue(t){return new jr(t)}var T=t=>({match:e=>{let r=e[0];return r==null||r.code!==t||r.value!=null?!1:e.slice(1)}}),y=(t,e)=>({match:r=>{let n=r[0];return n?.code!==t||n.value==null||e!=null&&n.value!==e?!1:r.slice(1)}}),Gi=t=>({match:e=>t.match(e)===!1?e:!1}),b=t=>({match:e=>{let r=t.match(e);return r===!1?e:r}}),W=(...t)=>({match:e=>{let r;for(let n of t){let o=n.match(e);o!==!1&&(r==null||o.length<r.length)&&(r=o)}return r??!1}}),S=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e}});function D(...t){function e(o){if(o==null)return!1;let s=o.getComponents();for(let i of t){let a=i.match(s);if(a===!1)return!1;s=a}return s}function r(o){return e(o)!==!1}function n(o){let s=e(o);return s===!1?!1:s.length===0}return{matchers:t,matches:r,exactMatch:n}}var ll=y(421),y0=D(ll),Wr=y(54),Gr=y(55),Hr=y(56),Wo=y(53),x0=D(Wr,b(y(421))),w0=D(Gr,b(y(421))),b0=D(Hr,b(y(421))),E0=D(W(Wo,Hr,Wr,Gr),b(y(421))),Hi=S(y(4),b(y(43))),Xi=S(b(y(42)),y(41),b(y(43))),Go=W(Hi,Xi),vt=W(Go,Wo,Wr,Gr,Hr),_0=D(W(Go,S(W(Wo,Hr,Wr,Gr),b(y(421))))),S0=D(Hi),v0=D(Xi),C0=D(Go),Ho=S(vt,y(6)),Kt=S(vt,y(273)),Xo=D(S(Ho,b(y(421)))),I0=D(Kt),Qo=S(Kt,T(460),b(y(421))),Xr=S(Kt,T(461),b(y(421))),hl=W(Qo,Xr),A0=D(Qo),L0=D(Xr),qo=W(vt,Ho,Kt,Qo,Xr),Qi=W(S(qo,T(477),b(y(421)))),Ko=D(Qi),Ki=W(S(qo,T(478),b(y(421))),S(qo,T(448),b(y(449)),T(477),b(y(421)))),Jo=D(Ki),Ji=S(Kt,T(280),b(y(466)),b(y(466)),b(y(421))),Yo=D(Ji),Yi=S(Xr,T(465),b(y(466)),b(y(466)),b(y(421))),Zo=D(Yi),qr=W(Qi,Ki,S(Ho,b(y(421))),S(hl,b(y(421))),S(vt,b(y(421))),Ji,Yi,y(421)),T0=D(qr),dl=S(b(qr),T(290),Gi(T(281)),b(y(421))),es=D(dl),ml=W(S(qr,T(290),T(281),b(y(421))),S(qr,T(281),b(y(421))),S(T(281),b(y(421)))),ts=D(ml),pl=S(vt,W(S(y(6,"80")),S(y(6),T(480)),T(480)),b(y(481)),b(y(421))),D0=D(pl),gl=S(vt,W(S(y(6,"443")),S(y(6,"443"),T(480)),S(y(6),T(443)),S(y(6),T(448),T(480)),S(T(448),T(480)),T(448),T(443)),b(y(481)),b(y(421))),F0=D(gl),yl=W(S(y(777),b(y(421)))),k0=D(yl),xl=W(S(y(400),b(y(421)))),N0=D(xl);function Zi(t,e){let r=Xo.exactMatch(t),n=Xo.exactMatch(e);if(r&&!n)return-1;if(!r&&n)return 1;let o=Jo.exactMatch(t),s=Jo.exactMatch(e);if(o&&!s)return-1;if(!o&&s)return 1;let i=Ko.exactMatch(t),a=Ko.exactMatch(e);if(i&&!a)return-1;if(!i&&a)return 1;let u=ts.exactMatch(t),l=ts.exactMatch(e);if(u&&!l)return-1;if(!u&&l)return 1;let f=Yo.exactMatch(t),h=Yo.exactMatch(e);if(f&&!h)return-1;if(!f&&h)return 1;let p=Zo.exactMatch(t),w=Zo.exactMatch(e);return p&&!w?-1:!p&&w?1:0}function ea(t,e){let r=Dr(t),n=Dr(e);return r&&!n?1:!r&&n?-1:0}function ta(t,e){let r=kr(t),n=kr(e);return r&&!n?1:!r&&n?-1:0}function ra(t,e){let r=es.exactMatch(t),n=es.exactMatch(e);return r&&!n?1:!r&&n?-1:0}function wl(t){return t.sort((e,r)=>ea(e,r)||ta(e,r)||ra(e,r)||Zi(e,r))}function ue(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Qr=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}},Ct=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Qr(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 Qr(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 rs=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ye(t={}){return bl(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 bl(t,e){e=e??{};let r=e.onEnd,n=new Ct,o,s,i,a=ue(),u=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((x,_)=>{s=k=>{s=null,n.push(k);try{x(t(n))}catch(B){_(B)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ue()})}},l=x=>s!=null?s(x):(n.push(x),o),f=x=>(n=new Ct,s!=null?s({error:x}):(n.push({error:x}),o)),h=x=>{if(i)return o;if(e?.objectMode!==!0&&x?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:x})},p=x=>i?o:(i=!0,x!=null?f(x):l({done:!0})),w=()=>(n=new Ct,p(),{done:!0}),E=x=>(p(x),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:u,return:w,throw:E,push:h,end:p,get readableLength(){return n.size},onEmpty:async x=>{let _=x?.signal;if(_?.throwIfAborted(),n.isEmpty())return;let k,B;_!=null&&(k=new Promise((X,V)=>{B=()=>{V(new rs)},_.addEventListener("abort",B)}));try{await Promise.race([a.promise,k])}finally{B!=null&&_!=null&&_?.removeEventListener("abort",B)}}},r==null)return o;let L=o;return o={[Symbol.asyncIterator](){return this},next(){return L.next()},throw(x){return L.throw(x),r!=null&&(r(x),r=void 0),{done:!0}},return(){return L.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(x){return L.end(x),r!=null&&(r(x),r=void 0),o},get readableLength(){return L.readableLength},onEmpty:x=>L.onEmpty(x)},o}var ns=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},na=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function os(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,u,f=new Promise((h,p)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(i?.aborted){p(na(i));return}if(i&&(u=()=>{p(na(i))},i.addEventListener("abort",u,{once:!0})),t.then(h,p),r===Number.POSITIVE_INFINITY)return;let w=new ns;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(E){p(E)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?h():o instanceof Error?p(o):(w.message=o??`Promise timed out after ${r} milliseconds`,p(w))},r)}).finally(()=>{f.clear(),u&&i&&i.removeEventListener("abort",u)});return f.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},f}var El=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 _l(t,e,r){let n,o=new Promise((s,i)=>{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(),u=[],{addListener:l,removeListener:f}=El(t),h=async(...w)=>{let E=r.multiArgs?w:w[0];if(r.filter)try{if(!await r.filter(E))return}catch(L){n(),i(L);return}u.push(E),r.count===u.length&&(n(),s(u))},p=(...w)=>{n(),i(r.rejectionMultiArgs?w:w[0])};n=()=>{for(let w of a)f(w,h);for(let w of r.rejectionEvents)a.includes(w)||f(w,p)};for(let w of a)l(w,h);for(let w of r.rejectionEvents)a.includes(w)||l(w,p);r.signal&&r.signal.addEventListener("abort",()=>{p(r.signal.reason)},{once:!0}),r.resolveImmediately&&s(u)});if(o.cancel=n,typeof r.timeout=="number"){let s=os(o,{milliseconds:r.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function R(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=_l(t,e,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}function It(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 Jt=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}},Yt=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},Me=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},Zt=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},er=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function Sl(t){return t.reason}async function $(t,e,r){if(e==null)return t;let n=r?.translateError??Sl;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var Kr=class{deferred;signal;onProgress;constructor(e){this.signal=e?.signal,this.onProgress=e?.onProgress,this.deferred=ue(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new Ee)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function vl(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Jr=class{id;fn;options;recipients;status;timeline;controller;dispatchingProgress;constructor(e,r){this.id=vl(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.dispatchingProgress=!1,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 Ee),this.cleanup())}async join(e){let r=new Kr(e);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 $(this.fn({...this.options??{},signal:this.controller.signal,onProgress:r=>{if(!this.dispatchingProgress){this.dispatchingProgress=!0;try{this.recipients.forEach(n=>{n.onProgress?.(r)})}finally{this.dispatchingProgress=!1}}}}),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 fe=class extends me{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=It(this.emitEmpty.bind(this),1),this.emitIdle=It(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 Yt;let n=new Jr(e,r);this.enqueue(n),this.safeDispatchEvent("add");let o=n.join(r).then(s=>(this.safeDispatchEvent("completed",{detail:s}),this.safeDispatchEvent("success",{detail:{job:n,result:s}}),s)).catch(s=>{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:s}}),s});return this.tryToStartAnother(),o}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new Ee)}),this.clear()}async onEmpty(e){this.size!==0&&await R(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await R(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await R(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=ye({objectMode:!0}),n=u=>{u!=null?this.abort():this.clear(),r.end(u)},o=u=>{u.detail!=null&&r.push(u.detail)},s=u=>{n(u.detail.error)},i=()=>{n()},a=()=>{n(new Ee("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",s),this.addEventListener("idle",i),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",s),this.removeEventListener("idle",i),e?.signal?.removeEventListener("abort",a),n()}}};var Cl=Math.pow(2,20)*4,Je=class extends me{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??Cl,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new U,this.writeBuffer=new U,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,queueMicrotask(()=>{try{this.processSendQueue()}catch(o){this.log.error("processSendQueue threw - %e",o)}})),this.onDrainPromise?.resolve()};this.addEventListener("drain",r);let n=o=>{this.onDrainPromise?.reject(o.error??new er)};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()),$(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=ye(),r=s=>{e.push(s.data)};this.addEventListener("message",r);let n=s=>{e.end(s.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 Le(`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 br(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Le("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 Le("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 Le(`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 Le(`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 wr;this.dispatchEvent(new Er(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 st))}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;if(this.writeStatus!=="writable"&&this.writeStatus!=="closing")return this.log.trace("not processing send queue as stream is %s",this.writeStatus),!1;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 s=this.writeBuffer.sublist(0,o),i=new U(s);this.writeBuffer.consume(s.byteLength);let a;try{a=this.sendData(s)}catch(u){throw this.writeBuffer.prepend(i),this.abort(u),u}if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==i.byteLength&&(i.consume(a.sentBytes),this.writeBuffer.prepend(i)),!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 de(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 Pt(`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 Pt(`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 tr=class extends Je{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 R(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 R(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function ss(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var rr=class extends me{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=i=>{try{this.onData(i.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(i=>{i.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let s=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",s)}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 $(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 xr;let r=this.onCreateStream({...this.streamOptions,...e});return ss(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 Zt(`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(s=>s===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 Ye=class extends Je{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 R(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 R(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 Yr(t){let e=new globalThis.AbortController;function r(){let s=t.filter(i=>i?.aborted===!0).map(i=>i?.reason).pop();e.abort(s);for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var Ze=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,s=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*s),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var oa=1.2,sa=2,ia=5e3,aa=6e4,ca=5e3,is=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??ca;this.success=new Ze(r),this.failure=new Ze(r),this.next=new Ze(r),this.failureMultiplier=e.failureMultiplier??sa,this.timeoutMultiplier=e.timeoutMultiplier??oa,this.minTimeout=e.minTimeout??ia,this.maxTimeout=e.maxTimeout??aa,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=Yr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){e.clear();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}))}};function ua(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),Ue(`/${n.join("/")}`)}function Il(t,e){if(t==null)return[];let r=ce(t);return[ua(r,e)]}function Al(t){return Be(t)?Tr("2000::/3",t):!1}function Ll(t,e){if(typeof t!="string")throw new K(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new K(`invalid port provided: ${e}`);if(Ne(t))return Ue(`/ip4/${t}/tcp/${e}`);if(Be(t))return Ue(`/ip6/${t}/tcp/${e}`);throw new K(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function Tl(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function Dl(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}function fa(t=0){return new Uint8Array(t)}var Fl=Math.pow(2,7),kl=Math.pow(2,14),Nl=Math.pow(2,21),as=Math.pow(2,28),cs=Math.pow(2,35),us=Math.pow(2,42),fs=Math.pow(2,49),C=128,G=127;function et(t){if(t<Fl)return 1;if(t<kl)return 2;if(t<Nl)return 3;if(t<as)return 4;if(t<cs)return 5;if(t<us)return 6;if(t<fs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Bl(t,e,r=0){switch(et(t)){case 8:e[r++]=t&255|C,t/=128;case 7:e[r++]=t&255|C,t/=128;case 6:e[r++]=t&255|C,t/=128;case 5:e[r++]=t&255|C,t/=128;case 4:e[r++]=t&255|C,t>>>=7;case 3:e[r++]=t&255|C,t>>>=7;case 2:e[r++]=t&255|C,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Pl(t,e,r=0){switch(et(t)){case 8:e.set(r++,t&255|C),t/=128;case 7:e.set(r++,t&255|C),t/=128;case 6:e.set(r++,t&255|C),t/=128;case 5:e.set(r++,t&255|C),t/=128;case 4:e.set(r++,t&255|C),t>>>=7;case 3:e.set(r++,t&255|C),t>>>=7;case 2:e.set(r++,t&255|C),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Ul(t,e){let r=t[e],n=0;if(n+=r&G,r<C||(r=t[e+1],n+=(r&G)<<7,r<C)||(r=t[e+2],n+=(r&G)<<14,r<C)||(r=t[e+3],n+=(r&G)<<21,r<C)||(r=t[e+4],n+=(r&G)*as,r<C)||(r=t[e+5],n+=(r&G)*cs,r<C)||(r=t[e+6],n+=(r&G)*us,r<C)||(r=t[e+7],n+=(r&G)*fs,r<C))return n;throw new RangeError("Could not decode varint")}function Ml(t,e){let r=t.get(e),n=0;if(n+=r&G,r<C||(r=t.get(e+1),n+=(r&G)<<7,r<C)||(r=t.get(e+2),n+=(r&G)<<14,r<C)||(r=t.get(e+3),n+=(r&G)<<21,r<C)||(r=t.get(e+4),n+=(r&G)*as,r<C)||(r=t.get(e+5),n+=(r&G)*cs,r<C)||(r=t.get(e+6),n+=(r&G)*us,r<C)||(r=t.get(e+7),n+=(r&G)*fs,r<C))return n;throw new RangeError("Could not decode varint")}function la(t,e,r=0){return e==null&&(e=fa(et(t))),e instanceof Uint8Array?Bl(t,e,r):Pl(t,e,r)}function Zr(t,e=0){return t instanceof Uint8Array?Ul(t,e):Ml(t,e)}var ls=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=ue(),this.haveNext=ue()}[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=ue(),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=ue(),await $(this.readNext.promise,r?.signal,r)}};function da(){return new ls}function Ol(t){return t[Symbol.asyncIterator]!=null}async function Rl(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*$l(t){let e=new AbortController,r=da();Rl(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*zl(t){for(let e of t)yield*e}function Vl(...t){let e=[];for(let r of t)Ol(r)||e.push(r);return e.length===t.length?zl(e):$l(t)}var ma=Vl;function pa(t,...e){if(t==null)throw new Error("Empty pipeline");if(hs(t)){let n=t;t=()=>n.source}else if(ya(t)||ga(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&hs(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++)hs(r[n])&&(r[n]=ql(r[n]));return jl(...r)}var jl=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},ga=t=>t?.[Symbol.asyncIterator]!=null,ya=t=>t?.[Symbol.iterator]!=null,hs=t=>t==null?!1:t.sink!=null&&t.source!=null,ql=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=ye({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(ga(s))o=async function*(){yield*s,n.end()};else if(ya(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ma(n,o())}return t.source};var Wl=4194304,nr=class extends Error{static name="UnwrappedError";name="UnwrappedError"},At=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},en=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},tn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Gl(t){return typeof t?.closeRead=="function"}function Hl(t){return typeof t?.close=="function"}function ds(t){return Gl(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:Hl(t)?t.status!=="open":!1}function Xl(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function xa(t,e){let r=e?.maxBufferSize??Wl,n=new U,o,s=!1;if(!Xl(t))throw new K("Argument should be a Stream or a Multiaddr");let i=f=>{if(n.append(f.data),n.byteLength>r){let h=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${h} > ${r}`))}o?.resolve()};t.addEventListener("message",i);let a=f=>{f.error!=null?o?.reject(f.error):o?.resolve()};t.addEventListener("close",a);let u=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",u);let l={readBuffer:n,async read(f){if(s===!0)throw new nr("Stream was unwrapped");if(ds(t)){if(n.byteLength===0&&f?.bytes==null)return null;if(f?.bytes!=null&&n.byteLength<f.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,f.bytes),new Me(`Unexpected EOF - stream closed after reading ${n.byteLength}/${f.bytes} bytes`)}let h=f?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=h){o.resolve();break}if(await $(o.promise,f?.signal),ds(t)){if(n.byteLength===0&&f?.bytes==null)return null;break}o=Promise.withResolvers()}let p=f?.bytes??n.byteLength;if(n.byteLength<p){if(ds(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,p),new Me(`Unexpected EOF - stream closed while reading ${n.byteLength}/${p} bytes`);return l.read(f)}let w=n.sublist(0,p);return n.consume(p),w},async write(f,h){if(s===!0)throw new nr("Stream was unwrapped");t.send(f)||await R(t,"drain",{signal:h?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,t.removeEventListener("message",i),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",u),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.unshift(n))),t}};return l}function wa(t,e={}){let r=xa(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=et(e.maxDataLength));let n=e?.lengthDecoder??Zr,o=e?.lengthEncoder??la;return{async read(i){let a=-1,u=new U;for(;;){let f=await r.read({...i,bytes:1});if(f==null)break;u.append(f);try{a=n(u)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new At("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new tn(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new en(`Message length too long - ${a} > ${e.maxDataLength}`);let l=await r.read({...i,bytes:a});if(l==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new Me(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(l.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",l.byteLength,a),new Me(`Unexpected EOF - read ${l.byteLength}/${a} bytes before the stream closed`);return l},async write(i,a){await r.write(new U(o(i.byteLength),i),a)},async writeV(i,a){let u=new U(...i.flatMap(l=>[o(l.byteLength),l]));await r.write(u,a)},unwrap(){return r.unwrap()}}}function Ql(t,e){let r=wa(t,e),n={read:async(o,s)=>{let i=await r.read(s);return o.decode(i)},write:async(o,s,i)=>{await r.write(s.encode(o),i)},writeV:async(o,s,i)=>{await r.writeV(o.map(a=>s.encode(a)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function ms(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let s of t)o+=s.byteLength,t.send(s)||(t.pause(),await R(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(s){t.abort(s)}}function Kl(t){return t?.addEventListener!=null}function ba(t){let e=ye(),r,n=i=>{e.push(i.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)},s=i=>{e.end(i.error),i.error!=null&&r?.reject(i.error),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",s,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(i){async function*a(){yield*i}let u=a();for(;;){r=Promise.withResolvers();let{done:l,value:f}=await Promise.race([u.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(f!=null&&(t.send(f)||await Promise.race([R(t,"drain",{rejectionEvents:["close"]})])),l===!0))break}await t.close()}}}function Jl(...t){let e=t.map(r=>Kl(r)?ba(r):r);return pa(...e)}var Yl=1024*1024*4,Zl=1024*1024*4,ps=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new U,this.maxBufferSize=e.maxBufferSize??Yl,this.maxDataLength=e.maxDataLength??Zl,this.lengthDecoder=e.lengthDecoder??Zr,this.encodingLength=e.encodingLength??et}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new K(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(s){if(s instanceof RangeError)break;throw s}if(r<0||r>this.maxDataLength)throw new At("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let s=this.buffer.sublist(n,o);this.buffer.consume(o),s.byteLength>0&&(yield s)}else break}}};function eh(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var th=["Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Tagged"];function gs(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(e==="string"||e==="number"||e==="bigint"||e==="symbol")return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(t instanceof Uint8Array)return"Uint8Array";if(t.constructor===Object)return"Object";let r=rh(t);return r||"Object"}function rh(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(th.includes(e))return e}var c=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}static equals(e,r){return e===r||e.major===r.major&&e.name===r.name}};c.uint=new c(0,"uint",!0);c.negint=new c(1,"negint",!0);c.bytes=new c(2,"bytes",!0);c.string=new c(3,"string",!0);c.array=new c(4,"array",!1);c.map=new c(5,"map",!1);c.tag=new c(6,"tag",!1);c.float=new c(7,"float",!0);c.false=new c(7,"false",!0);c.true=new c(7,"true",!0);c.null=new c(7,"null",!0);c.undefined=new c(7,"undefined",!0);c.break=new c(7,"break",!0);var m=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 or=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",nh=new TextEncoder;function rn(t){return or&&globalThis.Buffer.isBuffer(t)}function sr(t){return t instanceof Uint8Array?rn(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var oh=24,sh=200,nn=or?t=>t.length>=oh?globalThis.Buffer.from(t):Ea(t):t=>t.length>=sh?nh.encode(t):Ea(t),xe=t=>Uint8Array.from(t),_a=or?(t,e,r)=>rn(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Sa=or?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),sr(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},va=or?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function on(t,e){if(rn(t)&&rn(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 Ea(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):(o>=55296&&o<=57343&&(o=65533),e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}var ih=256,ir=class{constructor(e=ih){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=va(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=_a(n,0,this.cursor)}else r=Sa(this.chunks,this.cursor);return e&&this.reset(),r}},sn=class{constructor(e){this.dest=e,this.cursor=0,this.chunks=[e]}reset(){this.cursor=0}push(e){if(this.cursor+e.length>this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest.set(e,this.cursor),this.cursor+=e.length}toBytes(e=!1){let r=this.dest.subarray(0,this.cursor);return e&&this.reset(),r}};var g="CBOR decode error:",an="CBOR encode error:",ar=[];ar[23]=1;ar[24]=2;ar[25]=3;ar[26]=5;ar[27]=9;function Ae(t,e,r){if(t.length-e<r)throw new Error(`${g} not enough data for type`)}var z=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Z(t,e,r){Ae(t,e,1);let n=t[e];if(r.strict===!0&&n<z[0])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(t,e,r){Ae(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<z[1])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function te(t,e,r){Ae(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<z[2])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function re(t,e,r){Ae(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],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<z[3])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${g} integers outside of the safe integer range are not supported`)}function Ca(t,e,r,n){return new m(c.uint,Z(t,e+1,n),2)}function Ia(t,e,r,n){return new m(c.uint,ee(t,e+1,n),3)}function Aa(t,e,r,n){return new m(c.uint,te(t,e+1,n),5)}function La(t,e,r,n){return new m(c.uint,re(t,e+1,n),9)}function oe(t,e){return F(t,0,e.value)}function F(t,e,r){if(r<z[0]){let n=Number(r);t.push([e|n])}else if(r<z[1]){let n=Number(r);t.push([e|24,n])}else if(r<z[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<z[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<z[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${g} encountered BigInt larger than allowable range`)}}oe.encodedSize=function(e){return F.encodedSize(e.value)};F.encodedSize=function(e){return e<z[0]?1:e<z[1]?2:e<z[2]?3:e<z[3]?5:9};oe.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Ta(t,e,r,n){return new m(c.negint,-1-Z(t,e+1,n),2)}function Da(t,e,r,n){return new m(c.negint,-1-ee(t,e+1,n),3)}function Fa(t,e,r,n){return new m(c.negint,-1-te(t,e+1,n),5)}var ys=BigInt(-1),ka=BigInt(1);function Na(t,e,r,n){let o=re(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new m(c.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${g} integers outside of the safe integer range are not supported`);return new m(c.negint,ys-BigInt(o),9)}function cn(t,e){let r=e.value,n=typeof r=="bigint"?r*ys-ka:r*-1-1;F(t,e.type.majorEncoded,n)}cn.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*ys-ka:r*-1-1;return n<z[0]?1:n<z[1]?2:n<z[2]?3:n<z[3]?5:9};cn.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function cr(t,e,r,n){Ae(t,e,r+n);let o=t.slice(e+r,e+r+n);return new m(c.bytes,o,r+n)}function Ba(t,e,r,n){return cr(t,e,1,r)}function Pa(t,e,r,n){return cr(t,e,2,Z(t,e+1,n))}function Ua(t,e,r,n){return cr(t,e,3,ee(t,e+1,n))}function Ma(t,e,r,n){return cr(t,e,5,te(t,e+1,n))}function Oa(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer bytes lengths not supported`);return cr(t,e,9,o)}function un(t){return t.encodedBytes===void 0&&(t.encodedBytes=c.equals(t.type,c.string)?nn(t.value):t.value),t.encodedBytes}function Lt(t,e){let r=un(e);F(t,e.type.majorEncoded,r.length),t.push(r)}Lt.encodedSize=function(e){let r=un(e);return F.encodedSize(r.length)+r.length};Lt.compareTokens=function(e,r){return ch(un(e),un(r))};function ch(t,e){return t.length<e.length?-1:t.length>e.length?1:on(t,e)}var Ra=new TextDecoder,fh=32;function lh(t,e,r){if(r-e<fh){let o="";for(let s=e;s<r;s++){let i=t[s];if(i&128)return Ra.decode(t.subarray(e,r));o+=String.fromCharCode(i)}return o}return Ra.decode(t.subarray(e,r))}function ur(t,e,r,n,o){let s=r+n;Ae(t,e,s);let i=new m(c.string,lh(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=t.slice(e+r,e+s)),i}function $a(t,e,r,n){return ur(t,e,1,r,n)}function za(t,e,r,n){return ur(t,e,2,Z(t,e+1,n),n)}function Va(t,e,r,n){return ur(t,e,3,ee(t,e+1,n),n)}function ja(t,e,r,n){return ur(t,e,5,te(t,e+1,n),n)}function qa(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer string lengths not supported`);return ur(t,e,9,o,n)}var Wa=Lt;function Tt(t,e,r,n){return new m(c.array,n,r)}function Ga(t,e,r,n){return Tt(t,e,1,r)}function Ha(t,e,r,n){return Tt(t,e,2,Z(t,e+1,n))}function Xa(t,e,r,n){return Tt(t,e,3,ee(t,e+1,n))}function Qa(t,e,r,n){return Tt(t,e,5,te(t,e+1,n))}function Ka(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer array lengths not supported`);return Tt(t,e,9,o)}function Ja(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return Tt(t,e,1,1/0)}function fn(t,e){F(t,c.array.majorEncoded,e.value)}fn.compareTokens=oe.compareTokens;fn.encodedSize=function(e){return F.encodedSize(e.value)};function Dt(t,e,r,n){return new m(c.map,n,r)}function Ya(t,e,r,n){return Dt(t,e,1,r)}function Za(t,e,r,n){return Dt(t,e,2,Z(t,e+1,n))}function ec(t,e,r,n){return Dt(t,e,3,ee(t,e+1,n))}function tc(t,e,r,n){return Dt(t,e,5,te(t,e+1,n))}function rc(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer map lengths not supported`);return Dt(t,e,9,o)}function nc(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return Dt(t,e,1,1/0)}function ln(t,e){F(t,c.map.majorEncoded,e.value)}ln.compareTokens=oe.compareTokens;ln.encodedSize=function(e){return F.encodedSize(e.value)};function oc(t,e,r,n){return new m(c.tag,r,1)}function sc(t,e,r,n){return new m(c.tag,Z(t,e+1,n),2)}function ic(t,e,r,n){return new m(c.tag,ee(t,e+1,n),3)}function ac(t,e,r,n){return new m(c.tag,te(t,e+1,n),5)}function cc(t,e,r,n){return new m(c.tag,re(t,e+1,n),9)}function hn(t,e){F(t,c.tag.majorEncoded,e.value)}hn.compareTokens=oe.compareTokens;hn.encodedSize=function(e){return F.encodedSize(e.value)};var xs=20,ws=21,bs=22,Es=23;function uc(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${g} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new m(c.null,null,1):new m(c.undefined,void 0,1)}function fc(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return new m(c.break,void 0,1)}function _s(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${g} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${g} Infinity values are not supported`)}return new m(c.float,t,e)}function lc(t,e,r,n){return _s(Ss(t,e+1),3,n)}function hc(t,e,r,n){return _s(vs(t,e+1),5,n)}function dc(t,e,r,n){return _s(yc(t,e+1),9,n)}function fr(t,e,r){let n=e.value;if(n===!1)t.push([c.float.majorEncoded|xs]);else if(n===!0)t.push([c.float.majorEncoded|ws]);else if(n===null)t.push([c.float.majorEncoded|bs]);else if(n===void 0)t.push([c.float.majorEncoded|Es]);else{let o,s=!1;(!r||r.float64!==!0)&&(pc(n),o=Ss(le,1),n===o||Number.isNaN(n)?(le[0]=249,t.push(le.slice(0,3)),s=!0):(gc(n),o=vs(le,1),n===o&&(le[0]=250,t.push(le.slice(0,5)),s=!0))),s||(gh(n),o=yc(le,1),le[0]=251,t.push(le.slice(0,9)))}}fr.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){pc(n);let o=Ss(le,1);if(n===o||Number.isNaN(n))return 3;if(gc(n),o=vs(le,1),n===o)return 5}return 9};var mc=new ArrayBuffer(9),se=new DataView(mc,1),le=new Uint8Array(mc,0);function pc(t){if(t===1/0)se.setUint16(0,31744,!1);else if(t===-1/0)se.setUint16(0,64512,!1);else if(Number.isNaN(t))se.setUint16(0,32256,!1);else{se.setFloat32(0,t);let e=se.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)se.setUint16(0,31744,!1);else if(r===0)se.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?se.setUint16(0,0):o<-14?se.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):se.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Ss(t,e){if(t.length-e<2)throw new Error(`${g} 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,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function gc(t){se.setFloat32(0,t,!1)}function vs(t,e){if(t.length-e<4)throw new Error(`${g} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function gh(t){se.setFloat64(0,t,!1)}function yc(t,e){if(t.length-e<8)throw new Error(`${g} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}fr.compareTokens=oe.compareTokens;function v(t,e,r){throw new Error(`${g} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function dn(t){return()=>{throw new Error(`${g} ${t}`)}}var d=[];for(let t=0;t<=23;t++)d[t]=v;d[24]=Ca;d[25]=Ia;d[26]=Aa;d[27]=La;d[28]=v;d[29]=v;d[30]=v;d[31]=v;for(let t=32;t<=55;t++)d[t]=v;d[56]=Ta;d[57]=Da;d[58]=Fa;d[59]=Na;d[60]=v;d[61]=v;d[62]=v;d[63]=v;for(let t=64;t<=87;t++)d[t]=Ba;d[88]=Pa;d[89]=Ua;d[90]=Ma;d[91]=Oa;d[92]=v;d[93]=v;d[94]=v;d[95]=dn("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)d[t]=$a;d[120]=za;d[121]=Va;d[122]=ja;d[123]=qa;d[124]=v;d[125]=v;d[126]=v;d[127]=dn("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)d[t]=Ga;d[152]=Ha;d[153]=Xa;d[154]=Qa;d[155]=Ka;d[156]=v;d[157]=v;d[158]=v;d[159]=Ja;for(let t=160;t<=183;t++)d[t]=Ya;d[184]=Za;d[185]=ec;d[186]=tc;d[187]=rc;d[188]=v;d[189]=v;d[190]=v;d[191]=nc;for(let t=192;t<=215;t++)d[t]=oc;d[216]=sc;d[217]=ic;d[218]=ac;d[219]=cc;d[220]=v;d[221]=v;d[222]=v;d[223]=v;for(let t=224;t<=243;t++)d[t]=dn("simple values are not supported");d[244]=v;d[245]=v;d[246]=v;d[247]=uc;d[248]=dn("simple values are not supported");d[249]=lc;d[250]=hc;d[251]=dc;d[252]=v;d[253]=v;d[254]=v;d[255]=fc;var he=[];for(let t=0;t<24;t++)he[t]=new m(c.uint,t,1);for(let t=-1;t>=-24;t--)he[31-t]=new m(c.negint,t,1);he[64]=new m(c.bytes,new Uint8Array(0),1);he[96]=new m(c.string,"",1);he[128]=new m(c.array,0,1);he[160]=new m(c.map,0,1);he[244]=new m(c.false,!1,1);he[245]=new m(c.true,!0,1);he[246]=new m(c.null,null,1);function Cs(t){switch(t.type){case c.false:return xe([244]);case c.true:return xe([245]);case c.null:return xe([246]);case c.bytes:return t.value.length?void 0:xe([64]);case c.string:return t.value===""?xe([96]):void 0;case c.array:return t.value===0?xe([128]):void 0;case c.map:return t.value===0?xe([160]):void 0;case c.uint:return t.value<24?xe([Number(t.value)]):void 0;case c.negint:if(t.value>=-24)return xe([31-Number(t.value)])}}var xh={float64:!1,mapSorter:Eh,quickEncodeToken:Cs},_c=Object.freeze({float64:!0,mapSorter:_h,quickEncodeToken:Cs});function wh(){let t=[];return t[c.uint.major]=oe,t[c.negint.major]=cn,t[c.bytes.major]=Lt,t[c.string.major]=Wa,t[c.array.major]=fn,t[c.map.major]=ln,t[c.tag.major]=hn,t[c.float.major]=fr,t}var kt=wh(),mn=new ir,hr=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(`${an} object contains circular references`);return new t(r,e)}},Oe={null:new m(c.null,null),undefined:new m(c.undefined,void 0),true:new m(c.true,!0),false:new m(c.false,!1),emptyArray:new m(c.array,0),emptyMap:new m(c.map,0)},we={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new m(c.float,t):t>=0?new m(c.uint,t):new m(c.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new m(c.uint,t):new m(c.negint,t)},Uint8Array(t,e,r,n){return new m(c.bytes,t)},string(t,e,r,n){return new m(c.string,t)},boolean(t,e,r,n){return t?Oe.true:Oe.false},null(t,e,r,n){return Oe.null},undefined(t,e,r,n){return Oe.undefined},ArrayBuffer(t,e,r,n){return new m(c.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new m(c.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Oe.emptyArray,new m(c.break)]:Oe.emptyArray;n=hr.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=Ft(i,r,n);return r.addBreakTokens?[new m(c.array,t.length),o,new m(c.break)]:[new m(c.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length,a;if(i){a=new Array(i),n=hr.createCheck(n,t);let u=!o&&r.ignoreUndefinedProperties,l=0;for(let f of s){let h=o?t.get(f):t[f];u&&h===void 0||(a[l++]=[Ft(f,r,n),Ft(h,r,n)])}l<i&&(a.length=l)}return a?.length?(bh(a,r),r.addBreakTokens?[new m(c.map,a.length),a,new m(c.break)]:[new m(c.map,a.length),a]):r.addBreakTokens===!0?[Oe.emptyMap,new m(c.break)]:Oe.emptyMap},Tagged(t,e,r,n){return[new m(c.tag,t.tag),Ft(t.value,r,n)]}};we.Map=we.Object;we.Buffer=we.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))we[`${t}Array`]=we.DataView;function Ft(t,e={},r){let n=gs(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||we[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=we[n];if(!s)throw new Error(`${an} unsupported type: ${n}`);return s(t,n,e,r)}function bh(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Eh(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,s=kt[o].compareTokens(r,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function _h(t,e){if(t[0]instanceof m&&e[0]instanceof m){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=xc(r.value)),n._keyBytes||(n._keyBytes=xc(n.value)),on(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function xc(t){return vc(t,kt,_c)}function lr(t,e,r,n){if(Array.isArray(e))for(let o of e)lr(t,o,r,n);else r[e.type.major](t,e,n)}var wc=c.uint.majorEncoded,bc=c.negint.majorEncoded,Sh=c.bytes.majorEncoded,vh=c.string.majorEncoded,Ec=c.array.majorEncoded,Ch=c.float.majorEncoded|xs,Ih=c.float.majorEncoded|ws,Ah=c.float.majorEncoded|bs,Lh=c.float.majorEncoded|Es,Th=BigInt(-1),Dh=BigInt(1);function Fh(t){return t.addBreakTokens!==!0}function Sc(t,e,r,n){let o=gs(e),s=r.typeEncoders&&r.typeEncoders[o];if(s){let i=s(e,o,r,n);if(i!=null){lr(t,i,kt,r);return}}switch(o){case"null":t.push([Ah]);return;case"undefined":t.push([Lh]);return;case"boolean":t.push([e?Ih:Ch]);return;case"number":!Number.isInteger(e)||!Number.isSafeInteger(e)?fr(t,new m(c.float,e),r):e>=0?F(t,wc,e):F(t,bc,e*-1-1);return;case"bigint":e>=BigInt(0)?F(t,wc,e):F(t,bc,e*Th-Dh);return;case"string":{let i=nn(e);F(t,vh,i.length),t.push(i);return}case"Uint8Array":F(t,Sh,e.length),t.push(e);return;case"Array":if(!e.length){t.push([Ec]);return}n=hr.createCheck(n,e),F(t,Ec,e.length);for(let i of e)Sc(t,i,r,n);return;case"Object":case"Map":{let i=we.Object(e,o,r,n);lr(t,i,kt,r)}return;default:{let i=we[o];if(!i)throw new Error(`${an} unsupported type: ${o}`);let a=i(e,o,r,n);lr(t,a,kt,r)}}}function vc(t,e,r,n){let o=n instanceof Uint8Array,s=o?new sn(n):mn,i=Ft(t,r);if(!Array.isArray(i)&&r.quickEncodeToken){let a=r.quickEncodeToken(i);if(a)return o?(s.push(a),s.toBytes()):a;let u=e[i.type.major];if(u.encodedSize){let l=u.encodedSize(i,r);if(o||(s=new ir(l)),u(s,i,r),s.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${i} was wrong`);return o?s.toBytes():sr(s.chunks[0])}}return s.reset(),lr(s,i,e,r),s.toBytes(!0)}function Is(t,e){return e=Object.assign({},xh,e),Fh(e)?(mn.reset(),Sc(mn,t,e,void 0),mn.toBytes(!0)):vc(t,kt,e)}var kh={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},pn=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=he[e];if(r===void 0){let n=d[e];if(!n)throw new Error(`${g} 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}},Re=Symbol.for("DONE"),Nt=Symbol.for("BREAK");function Nh(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=$e(e,r);if(s===Nt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed array`)}if(s===Re)throw new Error(`${g} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function Bh(t,e,r){let n=r.useMaps===!0,o=r.rejectDuplicateMapKeys===!0,s=n?void 0:{},i=n?new Map:void 0;for(let a=0;a<t.value;a++){let u=$e(e,r);if(u===Nt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(u===Re)throw new Error(`${g} found map but not enough entries (got ${a} [no key], expected ${t.value})`);if(!n&&typeof u!="string")throw new Error(`${g} non-string keys not supported (got ${typeof u})`);if(o&&(n&&i.has(u)||!n&&Object.hasOwn(s,u)))throw new Error(`${g} found repeat map key "${u}"`);let l=$e(e,r);if(l===Re)throw new Error(`${g} found map but not enough entries (got ${a} [no value], expected ${t.value})`);n?i.set(u,l):s[u]=l}return n?i:s}function*Ph(t,e,r){for(let n=0;n<t.value;n++){let o=$e(e,r);if(o===Nt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(o===Re)throw new Error(`${g} found map but not enough entries (got ${n} [no key], expected ${t.value})`);let s=$e(e,r);if(s===Re)throw new Error(`${g} found map but not enough entries (got ${n} [no value], expected ${t.value})`);yield[o,s]}}function Uh(t,e){let r=!1,n=function(){if(r)throw new Error(`${g} tag decode() may only be called once`);r=!0;let o=$e(t,e);if(o===Re)throw new Error(`${g} tag content missing`);if(o===Nt)throw new Error(`${g} got unexpected break in tag content`);return o};return n.entries=function(){if(r)throw new Error(`${g} tag decode() may only be called once`);r=!0;let o=t.next();if(!c.equals(o.type,c.map))throw new Error(`${g} entries() requires map content, got ${o.type.name}`);let s=[];for(let i of Ph(o,t,e))s.push(i);return s},Object.defineProperty(n,"_called",{get(){return r},enumerable:!1}),n}function $e(t,e){if(t.done())return Re;let r=t.next();if(c.equals(r.type,c.break))return Nt;if(r.type.terminal)return r.value;if(c.equals(r.type,c.array))return Nh(r,t,e);if(c.equals(r.type,c.map))return Bh(r,t,e);if(c.equals(r.type,c.tag)){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Uh(t,e),o=e.tags[r.value](n);if(!n._called)throw new Error(`${g} tag decoder must call decode() or entries()`);return o}throw new Error(`${g} tag not supported (${r.value})`)}throw new Error("unsupported")}function Cc(t,e){if(!(t instanceof Uint8Array))throw new Error(`${g} data to decode must be a Uint8Array`);e=Object.assign({},kh,e);let r=sr(t),n=e.tokenizer||new pn(r,e),o=$e(n,e);if(o===Re)throw new Error(`${g} did not find any content to decode`);if(o===Nt)throw new Error(`${g} got unexpected break`);return[o,t.subarray(n.pos())]}function As(t,e){let[r,n]=Cc(t,e);if(n.length>0)throw new Error(`${g} too many terminals, data makes no sense`);return r}var gn=class t{constructor(e,r){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new TypeError("Tagged: tag must be a non-negative integer");this.tag=e,this.value=r}static decoder(e){return r=>new t(e,r())}static preserve(...e){let r={};for(let n of e)r[n]=t.decoder(n);return r}};Object.defineProperty(gn.prototype,Symbol.toStringTag,{value:"Tagged"});function yn(t=0){return new Uint8Array(t)}var Oh=Math.pow(2,7),Rh=Math.pow(2,14),$h=Math.pow(2,21),Ls=Math.pow(2,28),Ts=Math.pow(2,35),Ds=Math.pow(2,42),Fs=Math.pow(2,49),I=128,H=127;function rt(t){if(t<Oh)return 1;if(t<Rh)return 2;if(t<$h)return 3;if(t<Ls)return 4;if(t<Ts)return 5;if(t<Ds)return 6;if(t<Fs)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function zh(t,e,r=0){switch(rt(t)){case 8:e[r++]=t&255|I,t/=128;case 7:e[r++]=t&255|I,t/=128;case 6:e[r++]=t&255|I,t/=128;case 5:e[r++]=t&255|I,t/=128;case 4:e[r++]=t&255|I,t>>>=7;case 3:e[r++]=t&255|I,t>>>=7;case 2:e[r++]=t&255|I,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Vh(t,e,r=0){switch(rt(t)){case 8:e.set(r++,t&255|I),t/=128;case 7:e.set(r++,t&255|I),t/=128;case 6:e.set(r++,t&255|I),t/=128;case 5:e.set(r++,t&255|I),t/=128;case 4:e.set(r++,t&255|I),t>>>=7;case 3:e.set(r++,t&255|I),t>>>=7;case 2:e.set(r++,t&255|I),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function jh(t,e){let r=t[e],n=0;if(n+=r&H,r<I||(r=t[e+1],n+=(r&H)<<7,r<I)||(r=t[e+2],n+=(r&H)<<14,r<I)||(r=t[e+3],n+=(r&H)<<21,r<I)||(r=t[e+4],n+=(r&H)*Ls,r<I)||(r=t[e+5],n+=(r&H)*Ts,r<I)||(r=t[e+6],n+=(r&H)*Ds,r<I)||(r=t[e+7],n+=(r&H)*Fs,r<I))return n;throw new RangeError("Could not decode varint")}function qh(t,e){let r=t.get(e),n=0;if(n+=r&H,r<I||(r=t.get(e+1),n+=(r&H)<<7,r<I)||(r=t.get(e+2),n+=(r&H)<<14,r<I)||(r=t.get(e+3),n+=(r&H)<<21,r<I)||(r=t.get(e+4),n+=(r&H)*Ls,r<I)||(r=t.get(e+5),n+=(r&H)*Ts,r<I)||(r=t.get(e+6),n+=(r&H)*Ds,r<I)||(r=t.get(e+7),n+=(r&H)*Fs,r<I))return n;throw new RangeError("Could not decode varint")}function Ic(t,e,r=0){return e==null&&(e=yn(rt(t))),e instanceof Uint8Array?zh(t,e,r):Vh(t,e,r)}function Ac(t,e=0){return t instanceof Uint8Array?jh(t,e):qh(t,e)}var xn=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Bt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},wn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},dr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function bn(t){return t[Symbol.asyncIterator]!=null}function Tc(t,e){if(t.byteLength>e)throw new Bt("Message length too long")}var _n=t=>{let e=rt(t),r=yn(e);return Ic(t,r),_n.bytes=e,r};_n.bytes=0;function Sn(t,e){e=e??{};let r=e.lengthEncoder??_n,n=e?.maxDataLength??4194304;function*o(s){Tc(s,n);let i=r(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return bn(t)?(async function*(){for await(let s of t)yield*o(s)})():(function*(){for(let s of t)yield*o(s)})()}Sn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??_n,n=e?.maxDataLength??4194304;return Tc(t,n),new U(r(t.byteLength),t)};var nt;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(nt||(nt={}));var ks=t=>{let e=Ac(t);return ks.bytes=rt(e),e};ks.bytes=0;function mr(t,e){let r=new U,n=nt.LENGTH,o=-1,s=e?.lengthDecoder??ks,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;r.byteLength>0;){if(n===nt.LENGTH)try{if(o=s(r),o<0)throw new xn("Invalid message length");if(o>a)throw new Bt("Message length too long");let l=s.bytes;r.consume(l),e?.onLength!=null&&e.onLength(o),n=nt.DATA}catch(l){if(l instanceof RangeError){if(r.byteLength>i)throw new wn("Message length length too long");break}throw l}if(n===nt.DATA){if(r.byteLength<o)break;let l=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(l),yield l,n=nt.LENGTH}}}return bn(t)?(async function*(){for await(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new dr("Unexpected end of input")})():(function*(){for(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new dr("Unexpected end of input")})()}mr.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await t.next(r);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}})();return mr(n,{...e??{},onLength:s=>{r=s}})};var Ns=class extends Ye{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new fe({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()}},Dc=30,Bs=class extends rr{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)+Dc,this.encoding=r.encoding??"base64",this.input=ye(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of mr(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(As(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=Is(e),n=Sn.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 Ns({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-Dc,protocol:""})}},Ps=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new Bs(e,{...this.init})}};function vn(t={}){return new Ps(t)}function Cn(t,e){if(typeof t=="string")return Hh(t);if(typeof t=="number")return Kh(t,e);throw new Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}function Hh(t){if(typeof t!="string"||t.length===0||t.length>100)throw new 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),s=n.toLowerCase();switch(s){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 new Error(`Unknown unit "${s}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function Xh(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 Qh(t){let e=Math.abs(t);return e>=315576e5?ot(t,e,315576e5,"year"):e>=26298e5?ot(t,e,26298e5,"month"):e>=6048e5?ot(t,e,6048e5,"week"):e>=864e5?ot(t,e,864e5,"day"):e>=36e5?ot(t,e,36e5,"hour"):e>=6e4?ot(t,e,6e4,"minute"):e>=1e3?ot(t,e,1e3,"second"):`${t} ms`}function Kh(t,e){if(typeof t!="number"||!Number.isFinite(t))throw new Error("Value provided to ms.format() must be of type number.");return e?.long?Qh(t):Xh(t)}function ot(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function Us(t){r.debug=r,r.default=r,r.coerce=u,r.disable=s,r.enable=o,r.enabled=i,r.humanize=Cn,r.destroy=l,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let h=0;for(let p=0;p<f.length;p++)h=(h<<5)-h+f.charCodeAt(p),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(f,h){let p,w=null,E,L;function x(..._){if(!x.enabled)return;let k=x,B=Number(new Date),X=B-(p||B);k.diff=X,k.prev=p,k.curr=B,p=B,_[0]=r.coerce(_[0]),typeof _[0]!="string"&&_.unshift("%O");let V=0;_[0]=_[0].replace(/%([a-zA-Z%])/g,(Q,ie)=>{if(Q==="%%")return"%";V++;let ze=r.formatters[ie];if(typeof ze=="function"){let zc=_[V];Q=ze.call(k,zc),_.splice(V,1),V--}return Q}),r.formatArgs.call(k,_),h?.onLog!=null&&h.onLog(..._),(k.log||r.log).apply(k,_)}return x.namespace=f,x.useColors=r.useColors(),x.color=r.selectColor(f),x.extend=n,x.destroy=r.destroy,Object.defineProperty(x,"enabled",{enumerable:!0,configurable:!1,get:()=>w!==null?w:(E!==r.namespaces&&(E=r.namespaces,L=r.enabled(f)),L),set:_=>{w=_}}),typeof r.init=="function"&&r.init(x),x}function n(f,h){let p=r(this.namespace+(typeof h>"u"?":":h)+f);return p.log=this.log,p}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let h,p=(typeof f=="string"?f:"").split(/[\s,]+/),w=p.length;for(h=0;h<w;h++)p[h]&&(f=p[h].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.substr(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...r.names.map(a),...r.skips.map(a).map(h=>"-"+h)].join(",");return r.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let h,p;for(h=0,p=r.skips.length;h<p;h++)if(r.skips[h].test(f))return!1;for(h=0,p=r.names.length;h<p;h++)if(r.names[h].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack??f.message:f}function l(){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 In=nd(),Jh=["#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 Yh(){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 Zh(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Cn(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 ed=console.debug??console.log??(()=>{});function td(t){try{t?In?.setItem("debug",t):In?.removeItem("debug")}catch{}}function rd(){let t;try{t=In?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function nd(){try{return localStorage}catch{}}function od(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var Fc=Us({formatArgs:Zh,save:td,load:rd,useColors:Yh,setupFormatters:od,colors:Jh,storage:In,log:ed});var J=Fc;J.formatters.b=t=>t==null?"undefined":ne.baseEncode(t);J.formatters.t=t=>t==null?"undefined":pe.baseEncode(t);J.formatters.m=t=>t==null?"undefined":Gn.baseEncode(t);J.formatters.p=t=>t==null?"undefined":t.toString();J.formatters.c=t=>t==null?"undefined":t.toString();J.formatters.k=t=>t==null?"undefined":t.toString();J.formatters.a=t=>t==null?"undefined":t.toString();function kc(t,e=""){let r=Nc(t.message),n=Nc(t.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
2
+ "use strict";var Libp2PUtils=(()=>{var gc=Object.create;var lr=Object.defineProperty;var bc=Object.getOwnPropertyDescriptor;var yc=Object.getOwnPropertyNames;var xc=Object.getPrototypeOf,wc=Object.prototype.hasOwnProperty;var _n=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},X=(t,e)=>{for(var r in e)lr(t,r,{get:e[r],enumerable:!0})},Is=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of yc(e))!wc.call(t,o)&&o!==r&&lr(t,o,{get:()=>e[o],enumerable:!(n=bc(e,o))||n.enumerable});return t};var Ec=(t,e,r)=>(r=t!=null?gc(xc(t)):{},Is(e||!t||!t.__esModule?lr(r,"default",{value:t,enumerable:!0}):r,t)),_c=t=>Is(lr({},"__esModule",{value:!0}),t);var to=_n(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.Netmask4Impl=void 0;mt.ip2long=dt;mt.long2ip=pe;function pe(t){let e=(t&-16777216)>>>24,r=(t&255<<16)>>>16,n=(t&65280)>>>8,o=t&255;return[e,r,n,o].join(".")}var Qu=48,Xu=97,Ku=65;function Ju(t){let e=0,r=10,n="9",o=0;t.length>1&&t[o]==="0"&&(t[o+1]==="x"||t[o+1]==="X"?(o+=2,r=16):"0"<=t[o+1]&&t[o+1]<="9"&&(o++,r=8,n="7"));let s=o;for(;o<t.length;){if("0"<=t[o]&&t[o]<=n)e=e*r+(t.charCodeAt(o)-Qu)>>>0;else if(r===16)if("a"<=t[o]&&t[o]<="f")e=e*r+(10+t.charCodeAt(o)-Xu)>>>0;else if("A"<=t[o]&&t[o]<="F")e=e*r+(10+t.charCodeAt(o)-Ku)>>>0;else break;else break;if(e>4294967295)throw new Error("too large");o++}if(o===s)throw new Error("empty octet");return[e,o]}function dt(t){let e=[];for(let r=0;r<=3&&t.length!==0;r++){if(r>0){if(t[0]!==".")throw new Error("Invalid IP");t=t.substring(1)}let[n,o]=Ju(t);t=t.substring(o),e.push(n)}if(t.length!==0)throw new Error("Invalid IP");switch(e.length){case 1:if(e[0]>4294967295)throw new Error("Invalid IP");return e[0]>>>0;case 2:if(e[0]>255||e[1]>16777215)throw new Error("Invalid IP");return(e[0]<<24|e[1])>>>0;case 3:if(e[0]>255||e[1]>255||e[2]>65535)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2])>>>0;case 4:if(e[0]>255||e[1]>255||e[2]>255||e[3]>255)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2]<<8|e[3])>>>0;default:throw new Error("Invalid IP")}}var eo=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(!n){let o=e.split("/",2);e=o[0],n=o[1]}if(n||(n=32),typeof n=="string"&&n.indexOf(".")>-1){try{this.maskLong=dt(n)}catch{throw new Error("Invalid mask: "+n)}this.bitmask=NaN;for(let o=32;o>=0;o--)if(this.maskLong===4294967295<<32-o>>>0){this.bitmask=o;break}}else if(n||n===0)this.bitmask=parseInt(n,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(dt(e)&this.maskLong)>>>0}catch{throw new Error("Invalid net address: "+e)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+n);this.size=Math.pow(2,32-this.bitmask),this.base=pe(this.netLong),this.mask=pe(this.maskLong),this.hostmask=pe(~this.maskLong),this.first=this.bitmask<=30?pe(this.netLong+1):this.base,this.last=this.bitmask<=30?pe(this.netLong+this.size-2):pe(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?pe(this.netLong+this.size-1):void 0}contains(e){return typeof e=="string"&&(e.indexOf("/")>0||e.split(".").length!==4)&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):(dt(e)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0}next(e=1){return new t(pe(this.netLong+this.size*e),this.mask)}forEach(e){let r=dt(this.first),n=dt(this.last),o=0;for(;r<=n;)e(pe(r),r,o),o++,r++}toString(){return this.base+"/"+this.bitmask}};mt.Netmask4Impl=eo});var fi=_n(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.Netmask6Impl=void 0;pt.ip6bigint=no;pt.bigint2ip6=Qe;var Yu=to(),ro=(1n<<128n)-1n;function no(t){let e=t.indexOf("%");e!==-1&&(t=t.substring(0,e));let r=t.lastIndexOf(":");if(r!==-1&&t.indexOf(".",r)!==-1){let n=t.substring(r+1),o=(0,Yu.ip2long)(n),s=t.substring(0,r+1)+"0:0";return ui(s)&~0xffffffffn|BigInt(o)}return ui(t)}function ui(t){let e=t.indexOf("::"),r;if(e!==-1){let o=t.substring(0,e),s=t.substring(e+2),i=o===""?[]:o.split(":"),a=s===""?[]:s.split(":"),u=8-i.length-a.length;if(u<0)throw new Error("Invalid IPv6: too many groups");r=[...i,...Array(u).fill("0"),...a]}else r=t.split(":");if(r.length!==8)throw new Error("Invalid IPv6: expected 8 groups, got "+r.length);let n=0n;for(let o=0;o<8;o++){let s=r[o];if(s.length===0||s.length>4)throw new Error('Invalid IPv6: bad group "'+s+'"');let i=parseInt(s,16);if(isNaN(i)||i<0||i>65535)throw new Error('Invalid IPv6: bad group "'+s+'"');n=n<<16n|BigInt(i)}return n}function Qe(t){if(t<0n||t>ro)throw new Error("Invalid IPv6 address value");let e=[];for(let i=0;i<8;i++)e.unshift(Number(t&0xffffn)),t>>=16n;let r=-1,n=0,o=-1,s=0;for(let i=0;i<8;i++)e[i]===0?o===-1?(o=i,s=1):s++:(s>n&&s>=2&&(r=o,n=s),o=-1,s=0);if(s>n&&s>=2&&(r=o,n=s),r!==-1&&r+n===8&&r>0)return e.slice(0,r).map(a=>a.toString(16)).join(":")+"::";if(r===0)return"::"+e.slice(n).map(a=>a.toString(16)).join(":");if(r>0){let i=e.slice(0,r).map(u=>u.toString(16)),a=e.slice(r+n).map(u=>u.toString(16));return i.join(":")+"::"+a.join(":")}else return e.map(i=>i.toString(16)).join(":")}var oo=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(n==null){let o=e.indexOf("/");o!==-1?(n=parseInt(e.substring(o+1),10),e=e.substring(0,o)):n=128}if(isNaN(n)||n<0||n>128)throw new Error("Invalid mask for IPv6: "+n);this.bitmask=n,this.bitmask===0?this.maskBigint=0n:this.maskBigint=ro>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=no(e)&this.maskBigint}catch{throw new Error("Invalid IPv6 net address: "+e)}this.size=Number(1n<<BigInt(128-this.bitmask)),this.base=Qe(this.netBigint),this.mask=Qe(this.maskBigint),this.hostmask=Qe(~this.maskBigint&ro),this.first=this.base,this.last=Qe(this.netBigint+(1n<<BigInt(128-this.bitmask))-1n),this.broadcast=void 0}contains(e){return typeof e=="string"&&e.indexOf("/")>0&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.last):(no(e)&this.maskBigint)===this.netBigint}next(e=1){let r=1n<<BigInt(128-this.bitmask);return new t(Qe(this.netBigint+r*BigInt(e)),this.bitmask)}forEach(e){let r=this.netBigint,n=1n<<BigInt(128-this.bitmask),o=this.netBigint+n-1n,s=0;for(;r<=o;)e(Qe(r),Number(r),s),s++,r++}toString(){return this.base+"/"+this.bitmask}};pt.Netmask6Impl=oo});var li=_n(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.long2ip=Ne.ip2long=Ne.Netmask=void 0;var Sr=to();Object.defineProperty(Ne,"ip2long",{enumerable:!0,get:function(){return Sr.ip2long}});Object.defineProperty(Ne,"long2ip",{enumerable:!0,get:function(){return Sr.long2ip}});var Zu=fi(),so=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");(e.indexOf("/")!==-1?e.substring(0,e.indexOf("/")):e).indexOf(":")!==-1?this._impl=new Zu.Netmask6Impl(e,r):this._impl=new Sr.Netmask4Impl(e,r),this.base=this._impl.base,this.mask=this._impl.mask,this.hostmask=this._impl.hostmask,this.bitmask=this._impl.bitmask,this.size=this._impl.size,this.first=this._impl.first,this.last=this._impl.last,this.broadcast=this._impl.broadcast,this._impl instanceof Sr.Netmask4Impl?(this.maskLong=this._impl.maskLong,this.netLong=this._impl.netLong):(this.maskLong=0,this.netLong=0)}contains(e){return typeof e=="string"&&(e.indexOf("/")>0?e=new t(e):e.indexOf(":")===-1&&e.split(".").length!==4&&(e=new t(e))),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):this._impl.contains(e)}next(e=1){let r=this._impl.next(e);return new t(r.base,r.bitmask)}forEach(e){this._impl.forEach(e)}toString(){return this._impl.toString()}};Ne.Netmask=so});var Dh={};X(Dh,{AbstractMessageStream:()=>Je,AbstractMultiaddrConnection:()=>Xt,AbstractStream:()=>Ye,AbstractStreamMuxer:()=>Kt,AdaptiveTimeout:()=>Ko,BloomFilter:()=>Ut,CuckooFilter:()=>De,DEFAULT_FAILURE_MULTIPLIER:()=>Ri,DEFAULT_INTERVAL:()=>Vi,DEFAULT_MAX_TIMEOUT:()=>zi,DEFAULT_MIN_TIMEOUT:()=>$i,DEFAULT_TIMEOUT_MULTIPLIER:()=>Oi,InvalidDataLengthError:()=>Qr,InvalidDataLengthLengthError:()=>Xr,InvalidMessageLengthError:()=>vt,LengthPrefixedDecoder:()=>ts,MaxEarlyStreamsError:()=>Ht,MemoryStorage:()=>En,MockStream:()=>xs,MovingAverage:()=>Ze,PeerQueue:()=>_s,PriorityQueue:()=>vs,Queue:()=>ue,QueueFullError:()=>Gt,RateLimitError:()=>qt,RateLimiter:()=>Ss,ScalableCuckooFilter:()=>Ot,StreamClosedError:()=>Qt,UnexpectedEOFError:()=>Ue,UnwrappedError:()=>Jt,byteStream:()=>Xi,circuitRelayAddressesLast:()=>Mi,createBloomFilter:()=>Zs,createCuckooFilter:()=>ei,createScalableCuckooFilter:()=>ti,debounce:()=>_t,defaultMultiaddrSorter:()=>Gf,echo:()=>es,echoStream:()=>Lh,getNetConfig:()=>ae,getThinWaistAddresses:()=>Zf,ipPortToMultiaddr:()=>tl,isAsyncGenerator:()=>rl,isGenerator:()=>nl,isGlobalUnicast:()=>qu,isGlobalUnicastIp:()=>el,isLinkLocal:()=>Gu,isLinkLocalIp:()=>wl,isLoopback:()=>vr,isNetworkAddress:()=>Hu,isPrivate:()=>Cr,isPrivateIp:()=>ao,isPromise:()=>Xo,loopbackAddressLast:()=>Ni,lpStream:()=>Ki,messageStreamToDuplex:()=>Ji,mockMuxer:()=>bn,multiaddrConnectionPair:()=>Es,pbStream:()=>pl,pipe:()=>bl,publicAddressesFirst:()=>Fi,reliableTransportsFirst:()=>Bi,repeatingTask:()=>Ih,streamPair:()=>mc,trackedList:()=>Th,trackedMap:()=>Ah,tryGetNetConfig:()=>yr});function H(t=0){return new Uint8Array(t)}function K(t=0){return new Uint8Array(t)}function vc(t){return t?.buffer instanceof ArrayBuffer}function vn(t){if(vc(t))return t;let e=t.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function we(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=K(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return vn(r)}function Ve(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Ts=Symbol.for("@achingbrain/uint8arraylist");function Ls(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 nt(t){return!!t?.[Ts]}var N=class t{bufs;length;[Ts]=!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(nt(n)){r+=n.byteLength;for(let o of n.bufs)this.bufs.push(o)}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(nt(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=Ls(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Ls(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(nt(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 we(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:we(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),s=new t;return s.length=o,s.bufs=n,s}_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 s=0;s<this.bufs.length;s++){let i=this.bufs[s],a=o,u=a+i.byteLength;if(o=u,e>=u)continue;let l=e>=a&&e<u,f=r>a&&r<=u;if(l&&f){if(e===a&&r===u){n.push(i);break}let h=e-a;n.push(i.subarray(h,h+(r-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(f){if(r===u){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!nt(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 s=256,i=new Int32Array(s);for(let h=0;h<s;h++)i[h]=-1;for(let h=0;h<o;h++)i[n[h]]=h;let a=i,u=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let h=r;h<=u;h+=f){f=0;for(let p=l;p>=0;p--){let x=this.get(h+p);if(n[p]!==x){f=Math.max(1,p-a[x]);break}}if(f===0)return h}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=K(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=H(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=H(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=H(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=K(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=H(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=H(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=H(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=H(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=H(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(!Ve(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,s)=>o+s.byteLength,0)),n.length=r,n}};var Tn={};X(Tn,{base10:()=>kc});var Vh=new Uint8Array(0);function As(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 Ee(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return je(t);if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return je(new Uint8Array(t.buffer,t.byteOffset,t.byteLength));throw new Error("Unknown type, must be binary type")}function Ds(t){return new TextEncoder().encode(t)}function ks(t){return new TextDecoder().decode(t)}function Sc(t){return t?.buffer instanceof ArrayBuffer}function je(t){return Sc(t)?t:t.slice()}function Cc(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 s=t.charAt(o),i=s.charCodeAt(0);if(r[i]!==255)throw new TypeError(s+" is ambiguous");r[i]=o}var a=t.length,u=t.charAt(0),l=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function h(E){if(E instanceof Uint8Array||(ArrayBuffer.isView(E)?E=new Uint8Array(E.buffer,E.byteOffset,E.byteLength):Array.isArray(E)&&(E=Uint8Array.from(E))),!(E instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(E.length===0)return"";for(var L=0,y=0,_=0,k=E.length;_!==k&&E[_]===0;)_++,L++;for(var P=(k-_)*f+1>>>0,q=new Uint8Array(P);_!==k;){for(var $=E[_],xe=0,G=P-1;($!==0||xe<y)&&G!==-1;G--,xe++)$+=256*q[G]>>>0,q[G]=$%a>>>0,$=$/a>>>0;if($!==0)throw new Error("Non-zero carry");y=xe,_++}for(var se=P-y;se!==P&&q[se]===0;)se++;for(var ze=u.repeat(L);se<P;++se)ze+=t.charAt(q[se]);return ze}function p(E){if(typeof E!="string")throw new TypeError("Expected String");if(E.length===0)return new Uint8Array;var L=0;if(E[L]!==" "){for(var y=0,_=0;E[L]===u;)y++,L++;for(var k=(E.length-L)*l+1>>>0,P=new Uint8Array(k);E[L];){var q=r[E.charCodeAt(L)];if(q===255)return;for(var $=0,xe=k-1;(q!==0||$<_)&&xe!==-1;xe--,$++)q+=a*P[xe]>>>0,P[xe]=q%256>>>0,q=q/256>>>0;if(q!==0)throw new Error("Non-zero carry");_=$,L++}if(E[L]!==" "){for(var G=k-_;G!==k&&P[G]===0;)G++;for(var se=new Uint8Array(y+(k-G)),ze=y;G!==k;)se[ze++]=P[G++];return se}}}function x(E){var L=p(E);if(L)return L;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:x}}var Ic=Cc,Lc=Ic,Bs=Lc;var Sn=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")}},Cn=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 Ns(this,e)}},In=class{decoders;constructor(e){this.decoders=e}or(e){return Ns(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 Ns(t,e){return new In({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Ln=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 Sn(e,r,n),this.decoder=new Cn(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ot({name:t,prefix:e,encode:r,decode:n}){return new Ln(t,e,r,n)}function Te({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=Bs(r,t);return ot({prefix:e,name:t,encode:n,decode:s=>Ee(o(s))})}function Tc(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,u=0;for(let l=0;l<o;++l){let f=e[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|f,i+=r,i>=8&&(i-=8,s[u++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Ac(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function Dc(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function B({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Dc(n);return ot({prefix:e,name:t,encode(s){return Ac(s,n,r)},decode(s){return Tc(s,o,r,t)}})}var kc=Te({prefix:"9",name:"base10",alphabet:"0123456789"});var An={};X(An,{base16:()=>Pc,base16upper:()=>Bc});var Pc=B({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Bc=B({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Dn={};X(Dn,{base2:()=>Nc});var Nc=B({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var kn={};X(kn,{base256emoji:()=>Rc});var Fs=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}"),Fc=Fs.reduce((t,e,r)=>(t[r]=e,t),[]),Mc=Fs.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Uc(t){return t.reduce((e,r)=>(e+=Fc[r],e),"")}function Oc(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Mc[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Rc=ot({prefix:"\u{1F680}",name:"base256emoji",encode:Uc,decode:Oc});var Pn={};X(Pn,{base32:()=>he,base32hex:()=>jc,base32hexpad:()=>qc,base32hexpadupper:()=>Gc,base32hexupper:()=>Wc,base32pad:()=>zc,base32padupper:()=>Vc,base32upper:()=>$c,base32z:()=>Hc});var he=B({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),$c=B({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),zc=B({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Vc=B({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),jc=B({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Wc=B({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),qc=B({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Gc=B({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Hc=B({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Bn={};X(Bn,{base36:()=>kt,base36upper:()=>Qc});var kt=Te({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Qc=Te({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Nn={};X(Nn,{base58btc:()=>te,base58flickr:()=>Xc});var te=Te({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Xc=Te({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Un={};X(Un,{base64:()=>Fn,base64pad:()=>Kc,base64url:()=>Mn,base64urlpad:()=>Jc});var Fn=B({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Kc=B({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Mn=B({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Jc=B({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var On={};X(On,{base8:()=>Yc});var Yc=B({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Rn={};X(Rn,{identity:()=>Zc});var Zc=ot({prefix:"\0",name:"identity",encode:t=>ks(t),decode:t=>Ds(t)});var od=new TextEncoder,sd=new TextDecoder;var zn={};X(zn,{identity:()=>_u});var ru=Os,Ms=128,nu=127,ou=~nu,su=Math.pow(2,31);function Os(t,e,r){e=e||[],r=r||0;for(var n=r;t>=su;)e[r++]=t&255|Ms,t/=128;for(;t&ou;)e[r++]=t&255|Ms,t>>>=7;return e[r]=t|0,Os.bytes=r-n+1,e}var iu=$n,au=128,Us=127;function $n(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw $n.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Us)<<o:(i&Us)*Math.pow(2,o),o+=7}while(i>=au);return $n.bytes=s-n,r}var cu=Math.pow(2,7),uu=Math.pow(2,14),fu=Math.pow(2,21),lu=Math.pow(2,28),hu=Math.pow(2,35),du=Math.pow(2,42),mu=Math.pow(2,49),pu=Math.pow(2,56),gu=Math.pow(2,63),bu=function(t){return t<cu?1:t<uu?2:t<fu?3:t<lu?4:t<hu?5:t<du?6:t<mu?7:t<pu?8:t<gu?9:10},yu={encode:ru,decode:iu,encodingLength:bu},xu=yu,Pt=xu;function Bt(t,e=0){return[Pt.decode(t,e),Pt.decode.bytes]}function st(t,e,r=0){return Pt.encode(t,e,r),e}function it(t){return Pt.encodingLength(t)}function ct(t,e){let r=e.byteLength,n=it(t),o=n+it(r),s=new Uint8Array(o+r);return st(t,s,0),st(r,s,n),s.set(e,o),new at(t,r,e,s)}function Rs(t){let e=Ee(t),[r,n]=Bt(e),[o,s]=Bt(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new at(r,o,i,e)}function $s(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&As(t.bytes,r.bytes)}}var at=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=je(n),this.bytes=je(o)}};var zs=0,wu="identity",Vs=Ee;function Eu(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 ct(zs,Vs(t))}var _u={code:zs,name:wu,encode:Vs,digest:Eu};var Wn={};X(Wn,{sha256:()=>Su,sha512:()=>Cu});var vu=20;function jn({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Vn(t,e,r,n,o)}var Vn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??vu,this.maxDigestLength=s}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?js(n,this.code,r?.truncate):n.then(o=>js(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function js(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 ct(e,t)}function qs(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Su=jn({name:"sha2-256",code:18,encode:qs("SHA-256")}),Cu=jn({name:"sha2-512",code:19,encode:qs("SHA-512")});function Gs(t,e){let{bytes:r,version:n}=t;return n===0?Lu(r,qn(t),e??te.encoder):Tu(r,qn(t),e??he.encoder)}var Hs=new WeakMap;function qn(t){let e=Hs.get(t);if(e==null){let r=new Map;return Hs.set(t,r),r}return e}var ut=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=je(o),this["/"]=this.bytes}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!==Ft)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Au)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=ct(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&&$s(e.multihash,n.multihash)}toString(e){return Gs(this,e)}toJSON(){return{"/":Gs(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:s,bytes:i}=r;return new t(n,o,s,i??Qs(n,o,s.bytes))}else if(r[Du]===!0){let{version:n,multihash:o,code:s}=r,i=Rs(o);return t.create(n,s,i)}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!==Ft)throw new Error(`Version 0 CID must use dag-pb (code: ${Ft}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Qs(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ft,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=Ee(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new at(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Bt(e.subarray(r));return r+=p,h},o=n(),s=Ft;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),u=n(),l=r+u,f=l-i;return{version:o,codec:s,multihashCode:a,digestSize:u,multihashSize:f,size:l}}static parse(e,r){let[n,o]=Iu(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return qn(s).set(n,e),s}};function Iu(t,e){switch(t[0]){case"Q":{let r=e??te;return[te.prefix,r.decode(`${te.prefix}${t}`)]}case te.prefix:{let r=e??te;return[te.prefix,r.decode(t)]}case he.prefix:{let r=e??he;return[he.prefix,r.decode(t)]}case kt.prefix:{let r=e??kt;return[kt.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 Lu(t,e,r){let{prefix:n}=r;if(n!==te.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o}function Tu(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o}var Ft=112,Au=18;function Qs(t,e,r){let n=it(t),o=n+it(e),s=new Uint8Array(o+r.byteLength);return st(t,s,0),st(e,s,n),s.set(r,o),s}var Du=Symbol.for("@ipld/js-cid/CID");var Mt={...Rn,...Dn,...On,...Tn,...An,...Pn,...Bn,...Nn,...Un,...kn},Ld={...Wn,...zn};function Ks(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Xs=Ks("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Gn=Ks("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=K(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),ku={utf8:Xs,"utf-8":Xs,hex:Mt.base16,latin1:Gn,ascii:Gn,binary:Gn,...Mt},dr=ku;function F(t,e="utf8"){let r=dr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var Hn={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},Js={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Ys=new globalThis.TextEncoder;function Pu(t,e){let r=Hn[e],n=Js[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function Bu(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=Hn[e],o=Js[e],s=t;for(;s.length>0;){let i=Ys.encodeInto(s,r);s=s.slice(i.read);for(let a=0;a<i.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function Qn(t,{size:e=32,utf8Buffer:r}={}){if(!Hn[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 Bu(t,e,r);t=Ys.encode(t)}return Pu(t,e)}var Ae={hash:t=>Number(Qn(t,{size:32})),hashV:(t,e)=>Nu(Ae.hash(t,e))};function Nu(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),F(e,"base16")}var Fu=Math.LN2*Math.LN2,Ut=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=Uu(e.hashes??8),this.bits=e.bits??1024,this.buffer=H(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=F(e));for(let r=0;r<this.seeds.length;r++){let o=Ae.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=F(e));for(let r=0;r<this.seeds.length;r++){let o=Ae.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 Zs(t,e=.005){let r=Mu(t,e);return new Ut(r)}function Mu(t,e=.005){let r=Math.round(-1*t*Math.log(e)/Fu),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function Uu(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new N(crypto.getRandomValues(new Uint8Array(4))),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var Xn=64,ie=class{fp;h;seed;constructor(e,r,n,o=2){if(o>Xn)throw new TypeError("Invalid Fingerprint Size");let s=r.hashV(e,n),i=H(o);for(let a=0;a<i.length;a++)i[a]=s[a];i.length===0&&(i[0]=7),this.fp=i,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?Ve(this.fp,e.fp):!1}};function We(t,e){return Math.floor(Math.random()*(e-t))+t}var qe=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof ie))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof ie))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 ie))throw new TypeError("Invalid Fingerprint");let r=We(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof ie))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var Ou=500,De=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??Ae,this.seed=e.seed??We(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=F(e));let r=new ie(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 qe(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new qe(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let s=[n,o],i=s[We(0,s.length-1)];this.buckets[i]==null&&(this.buckets[i]=new qe(this.bucketSize));for(let a=0;a<Ou;a++){let u=this.buckets[i].swap(r);if(u!=null&&(i=(i^u.hash())%this.filterSize,this.buckets[i]==null&&(this.buckets[i]=new qe(this.bucketSize)),this.buckets[i].add(u)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=F(e));let r=new ie(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 s=(n^r.hash())%this.filterSize;return this.buckets[s]?.has(r)??!1}remove(e){typeof e=="string"&&(e=F(e));let r=new ie(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 s=(n^r.hash())%this.filterSize,i=this.buckets[s]?.remove(r)??!1;return i&&this.count--,i}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},Ru={1:.5,2:.84,4:.95,8:.98};function $u(t=.001){return t>.002?2:t>1e-5?4:8}function Kn(t,e=.001){let r=$u(e),n=Ru[r],o=Math.round(t/n),s=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),Xn);return{filterSize:o,bucketSize:r,fingerprintSize:s}}function ei(t,e=.005){let r=Kn(t,e);return new De(r)}var Ot=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??Ae,this.seed=e.seed??We(0,Math.pow(2,10)),this.filterSeries=[new De({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=F(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 De({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=F(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=F(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 ti(t,e=.001,r){return new Ot({...Kn(t,e),...r??{}})}var _e=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var re=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var mr=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},pr=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var ke=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},Rt=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var de=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},ft=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},gr=class extends ft{constructor(e,r){super(!0,e,r)}},br=class extends ft{constructor(e,r){super(!1,e,r)}};function zu(t){return typeof t?.handleEvent=="function"}function Vu(t){return(t!==!0&&t!==!1&&t?.once)??!1}var me=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){let o=Vu(n);super.addEventListener(e,i=>{if(o){let a=this.#e.get(i.type);a!=null&&(a=a.filter(({callback:u})=>u!==r),this.#e.set(i.type,a))}zu(r)?r.handleEvent(i):r(i)},n);let s=this.#e.get(e);s==null&&(s=[],this.#e.set(e,s)),s.push({callback:r,once:o})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==r),this.#e.set(e,o))}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};function yr(t){let e=t.getComponents(),r={},n=0;return 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?null:(e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r)}function ae(t){let e=yr(t);if(e==null)throw new re(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e}var xr=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 s=0,i=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",l=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let p=Number.parseInt(h,e);if(!Number.isNaN(p))return p});if(f===void 0)break;if(s*=e,s+=f,s>l||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&u&&i>1?void 0:s})}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 i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[o+3]=i[3],[o+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[o,!1];r[o]=s>>8,r[o+1]=s&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 s=new Uint8Array(14),i=16-(n+2),[a]=e(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var ri=45,ju=15,lt=new xr;function wr(t){if(!(t.length>ju))return lt.new(t).parseWith(()=>lt.readIPv4Addr())}function Er(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>ri))return lt.new(t).parseWith(()=>lt.readIPv6Addr())}function ht(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>ri)return;let r=lt.new(t).parseWith(()=>lt.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 ni(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 oi(t,e,r,n){let o=0;for(let s of t)if(!(o<r)){if(o>n)break;if(s!==e[o])return!1;o++}return!0}function Jn(t){switch(t.length){case Ge:return t.join(".");case He:{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 si(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 ii(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var Ge=4,He=16,vm=parseInt("0xFFFF",16),Wu=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function $t(t,e){e.length===He&&t.length===Ge&&ni(e,0,11)&&(e=e.slice(12)),e.length===Ge&&t.length===He&&oi(t,Wu,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 ai(t,e){if(typeof e=="string"&&(e=ht(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 Yn(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=Ge,o=wr(e);if(o==null&&(n=He,o=Er(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let s=parseInt(r,10);if(Number.isNaN(s)||String(s).length!==r.length||s<0||s>n*8)throw new Error("Failed to parse given CIDR: "+t);let i=Zn(s,8*n);return{network:$t(o,i),mask:i}}function Zn(t,e){if(e!==8*Ge&&e!==8*He)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 zt=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=Yn(e));else{let n=ht(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 s=ht(r);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=Zn(o,8*n.length);this.network=$t(n,this.mask)}}contains(e){return ai({network:this.network,mask:this.mask},e)}toString(){let e=si(this.mask),r=e!==-1?String(e):ii(this.mask);return Jn(this.network)+"/"+r}};function _r(t,e){return new zt(t).contains(e)}function qu(t){try{let e=ae(t);return e.type==="ip6"?_r("2000::/3",e.host):!1}catch{return!1}}function Gu(t){try{let e=ae(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 ci(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function vr(t){try{let e=ae(t);switch(e.type){case"ip4":case"ip6":return ci(e.host);default:return!1}}catch{return!1}}function Hu(t){return yr(t)!==null}function Pe(t){return!!wr(t)}function Be(t){return!!Er(t)}var hi=Ec(li(),1),ef=["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"],tf=ef.map(t=>new hi.Netmask(t));function io(t){for(let e of tf)if(e.contains(t))return!0;return!1}function rf(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function nf(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 io(o)}function of(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function sf(t){let e=t.split(":"),r=e[e.length-1];return io(r)}function af(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 ao(t){if(Pe(t))return io(t);if(rf(t))return nf(t);if(of(t))return sf(t);if(Be(t))return af(t)}function Cr(t){try{let e=ae(t);switch(e.type){case"ip4":case"ip6":return ao(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}var cf=Math.pow(2,7),uf=Math.pow(2,14),ff=Math.pow(2,21),co=Math.pow(2,28),uo=Math.pow(2,35),fo=Math.pow(2,42),lo=Math.pow(2,49),C=128,V=127;function j(t){if(t<cf)return 1;if(t<uf)return 2;if(t<ff)return 3;if(t<co)return 4;if(t<uo)return 5;if(t<fo)return 6;if(t<lo)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ir(t,e,r=0){switch(j(t)){case 8:e[r++]=t&255|C,t/=128;case 7:e[r++]=t&255|C,t/=128;case 6:e[r++]=t&255|C,t/=128;case 5:e[r++]=t&255|C,t/=128;case 4:e[r++]=t&255|C,t>>>=7;case 3:e[r++]=t&255|C,t>>>=7;case 2:e[r++]=t&255|C,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function lf(t,e,r=0){switch(j(t)){case 8:e.set(r++,t&255|C),t/=128;case 7:e.set(r++,t&255|C),t/=128;case 6:e.set(r++,t&255|C),t/=128;case 5:e.set(r++,t&255|C),t/=128;case 4:e.set(r++,t&255|C),t>>>=7;case 3:e.set(r++,t&255|C),t>>>=7;case 2:e.set(r++,t&255|C),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function hf(t,e){let r=t[e],n=0;if(n+=r&V,r<C||(r=t[e+1],n+=(r&V)<<7,r<C)||(r=t[e+2],n+=(r&V)<<14,r<C)||(r=t[e+3],n+=(r&V)<<21,r<C)||(r=t[e+4],n+=(r&V)*co,r<C)||(r=t[e+5],n+=(r&V)*uo,r<C)||(r=t[e+6],n+=(r&V)*fo,r<C)||(r=t[e+7],n+=(r&V)*lo,r<C))return n;throw new RangeError("Could not decode varint")}function df(t,e){let r=t.get(e),n=0;if(n+=r&V,r<C||(r=t.get(e+1),n+=(r&V)<<7,r<C)||(r=t.get(e+2),n+=(r&V)<<14,r<C)||(r=t.get(e+3),n+=(r&V)<<21,r<C)||(r=t.get(e+4),n+=(r&V)*co,r<C)||(r=t.get(e+5),n+=(r&V)*uo,r<C)||(r=t.get(e+6),n+=(r&V)*fo,r<C)||(r=t.get(e+7),n+=(r&V)*lo,r<C))return n;throw new RangeError("Could not decode varint")}function Lr(t,e,r=0){return e==null&&(e=K(j(t))),e instanceof Uint8Array?Ir(t,e,r):lf(t,e,r)}function ve(t,e=0){return t instanceof Uint8Array?hf(t,e):df(t,e)}function mf(t){return t.buffer instanceof ArrayBuffer}function ho(t){return mf(t)?t:t.slice()}function Fe(t,e="utf8"){let r=dr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var z=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},Se=class extends Error{static name="ValidationError";name="ValidationError"},Tr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Ar=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function po(t){return e=>Fe(e,t)}function go(t){return e=>F(e,t)}function gt(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Xe(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function di(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=F(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=Xe(n);return we([r,o],r.length+o.length)}function mi(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=he.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=Xe(n);return we([r,o],r.length+o.length)}function bo(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Fe(e,"base32"),o=gt(r);return`${n}:${o}`}var yo=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 z("Invalid byte value in IP address");e[n]=o}),e},pi=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Pe(r[n]),i;s&&(i=yo(r[n]),r[n]=Fe(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,Fe(i.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 s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let s=parseInt(r[n],16);if(isNaN(s)||s<0||s>65535)throw new z("Invalid byte value in IP address");o[e++]=s>>8&255,o[e++]=s&255}return o},gi=function(t){if(t.byteLength!==4)throw new z("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},bi=function(t){if(t.byteLength!==16)throw new z("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],s=t[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;e.push(i)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new z(`Invalid IPv6 address "${r}"`)}};function yi(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new z(`Invalid IPv6 address "${t}"`)}}var mo=Object.values(Mt).map(t=>t.decoder),pf=(function(){let t=mo[0].or(mo[1]);return mo.slice(2).forEach(e=>t=t.or(e)),t})();function xi(t){return pf.decode(t)}function wi(t){return e=>t.encoder.encode(e)}function gf(t){if(parseInt(t).toString()!==t)throw new Se("Value must be an integer")}function bf(t){if(t<0)throw new Se("Value must be a positive integer, or zero")}function yf(t){return e=>{if(e>t)throw new Se(`Value must be smaller than or equal to ${t}`)}}function xf(...t){return e=>{for(let r of t)r(e)}}var jt=xf(gf,bf,yf(65535));var M=-1,xo=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 Ar(`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)}))}},Ie=new xo,Bf=[{code:4,name:"ip4",size:32,valueToBytes:yo,bytesToValue:gi,validate:t=>{if(!Pe(t))throw new Se(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Xe,bytesToValue:gt,validate:jt},{code:273,name:"udp",size:16,valueToBytes:Xe,bytesToValue:gt,validate:jt},{code:33,name:"dccp",size:16,valueToBytes:Xe,bytesToValue:gt,validate:jt},{code:41,name:"ip6",size:128,valueToBytes:pi,bytesToValue:bi,stringToValue:yi,validate:t=>{if(!Be(t))throw new Se(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:M},{code:43,name:"ipcidr",size:8,bytesToValue:po("base10"),valueToBytes:go("base10")},{code:53,name:"dns",size:M},{code:54,name:"dns4",size:M},{code:55,name:"dns6",size:M},{code:56,name:"dnsaddr",size:M},{code:132,name:"sctp",size:16,valueToBytes:Xe,bytesToValue:gt,validate:jt},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:M,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:M,bytesToValue:po("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?go("base58btc")(t):ut.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:bo,valueToBytes:di},{code:445,name:"onion3",size:296,bytesToValue:bo,valueToBytes:mi},{code:446,name:"garlic64",size:M},{code:447,name:"garlic32",size:M},{code:448,name:"tls"},{code:449,name:"sni",size:M},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:M,bytesToValue:wi(Mn),valueToBytes:xi},{code:480,name:"http"},{code:481,name:"http-path",size:M,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:M}];Bf.forEach(t=>{Ie.addProtocol(t)});function Ei(t){let e=[],r=0;for(;r<t.length;){let n=ve(t,r),o=Ie.getProtocol(n),s=j(n),i=Nf(o,t,r+s),a=0;i>0&&o.size===M&&(a=j(i));let u=s+a+i,l={code:n,name:o.name,bytes:ho(t.subarray(r,r+u))};if(i>0){let f=r+s+a,h=t.subarray(f,f+i);l.value=o.bytesToValue?.(h)??Fe(h)}e.push(l),r+=u}return e}function _i(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=Ie.getProtocol(n.code),s=j(n.code),i,a=0,u=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??F(n.value),a=i.byteLength,o.size===M&&(u=j(a)));let l=new Uint8Array(s+u+a),f=0;Ir(n.code,l,f),f+=s,i!=null&&(o.size===M&&(Ir(a,l,f),f+=u),l.set(i,f)),n.bytes=l}r.push(n.bytes),e+=n.bytes.byteLength}return we(r,e)}function vi(t){if(t.charAt(0)!=="/")throw new z('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let s=1;s<t.length;s++){let i=t.charAt(s);i!=="/"&&(r==="protocol"?o+=t.charAt(s):n+=t.charAt(s));let a=s===t.length-1;if(i==="/"||a){let u=Ie.getProtocol(o);if(r==="protocol"){if(u.size==null||u.size===0){e.push({code:u.code,name:u.name}),n="",o="",r="protocol";continue}else if(a)throw new z(`Component ${o} was missing value`);r="value"}else if(r==="value"){let l={code:u.code,name:u.name};if(u.size!=null&&u.size!==0){if(n==="")throw new z(`Component ${o} was missing value`);l.value=u.stringToValue?.(n)??n}e.push(l),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new z("Incomplete multiaddr");return e}function Si(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=Ie.getProtocol(e.code);if(r==null)throw new z(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function Nf(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:ve(e,r)}var Ff=Symbol.for("nodejs.util.inspect.custom"),Bo=Symbol.for("@multiformats/multiaddr");function Mf(t){if(t==null&&(t="/"),Ci(t))return t.getComponents();if(t instanceof Uint8Array)return Ei(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),vi(t);if(Array.isArray(t))return t;throw new z("Must be a string, Uint8Array, Component[], or another Multiaddr")}var Or=class t{[Bo]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=Mf(e),r.validate!==!1&&Uf(this)}get bytes(){return this.#r==null&&(this.#r=_i(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=Si(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 Tr(`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 Ve(this.bytes,e.bytes)}[Ff](){return`Multiaddr(${this.toString()})`}};function Uf(t){t.getComponents().forEach(e=>{let r=Ie.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function Ci(t){return!!t?.[Bo]}function Me(t){return new Or(t)}var T=t=>({match:e=>{let r=e[0];return r==null||r.code!==t||r.value!=null?!1:e.slice(1)}}),b=(t,e)=>({match:r=>{let n=r[0];return n?.code!==t||n.value==null||e!=null&&n.value!==e?!1:r.slice(1)}}),Ii=t=>({match:e=>t.match(e)===!1?e:!1}),w=t=>({match:e=>{let r=t.match(e);return r===!1?e:r}}),W=(...t)=>({match:e=>{let r;for(let n of t){let o=n.match(e);o!==!1&&(r==null||o.length<r.length)&&(r=o)}return r??!1}}),v=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e}});function A(...t){function e(o){if(o==null)return!1;let s=o.getComponents();for(let i of t){let a=i.match(s);if(a===!1)return!1;s=a}return s}function r(o){return e(o)!==!1}function n(o){let s=e(o);return s===!1?!1:s.length===0}return{matchers:t,matches:r,exactMatch:n}}var Of=b(421),gg=A(Of),$r=b(54),zr=b(55),Vr=b(56),Fo=b(53),bg=A($r,w(b(421))),yg=A(zr,w(b(421))),xg=A(Vr,w(b(421))),wg=A(W(Fo,Vr,$r,zr),w(b(421))),Li=v(b(4),w(b(43))),Ti=v(w(b(42)),b(41),w(b(43))),Mo=W(Li,Ti),wt=W(Mo,Fo,$r,zr,Vr),Eg=A(W(Mo,v(W(Fo,Vr,$r,zr),w(b(421))))),_g=A(Li),vg=A(Ti),Sg=A(Mo),Uo=v(wt,b(6)),Wt=v(wt,b(273)),Oo=A(v(Uo,w(b(421)))),Cg=A(Wt),Ro=v(Wt,T(460),w(b(421))),jr=v(Wt,T(461),w(b(421))),Rf=W(Ro,jr),Ig=A(Ro),Lg=A(jr),No=W(wt,Uo,Wt,Ro,jr),Ai=W(v(No,T(477),w(b(421)))),$o=A(Ai),Di=W(v(No,T(478),w(b(421))),v(No,T(448),w(b(449)),T(477),w(b(421)))),zo=A(Di),ki=v(Wt,T(280),w(b(466)),w(b(466)),w(b(421))),Vo=A(ki),Pi=v(jr,T(465),w(b(466)),w(b(466)),w(b(421))),jo=A(Pi),Rr=W(Ai,Di,v(Uo,w(b(421))),v(Rf,w(b(421))),v(wt,w(b(421))),ki,Pi,b(421)),Tg=A(Rr),$f=v(w(Rr),T(290),Ii(T(281)),w(b(421))),Wo=A($f),zf=W(v(Rr,T(290),T(281),w(b(421))),v(Rr,T(281),w(b(421))),v(T(281),w(b(421)))),qo=A(zf),Vf=v(wt,W(v(b(6,"80")),v(b(6),T(480)),T(480)),w(b(481)),w(b(421))),Ag=A(Vf),jf=v(wt,W(v(b(6,"443")),v(b(6,"443"),T(480)),v(b(6),T(443)),v(b(6),T(448),T(480)),v(T(448),T(480)),T(448),T(443)),w(b(481)),w(b(421))),Dg=A(jf),Wf=W(v(b(777),w(b(421)))),kg=A(Wf),qf=W(v(b(400),w(b(421)))),Pg=A(qf);function Bi(t,e){let r=Oo.exactMatch(t),n=Oo.exactMatch(e);if(r&&!n)return-1;if(!r&&n)return 1;let o=zo.exactMatch(t),s=zo.exactMatch(e);if(o&&!s)return-1;if(!o&&s)return 1;let i=$o.exactMatch(t),a=$o.exactMatch(e);if(i&&!a)return-1;if(!i&&a)return 1;let u=qo.exactMatch(t),l=qo.exactMatch(e);if(u&&!l)return-1;if(!u&&l)return 1;let f=Vo.exactMatch(t),h=Vo.exactMatch(e);if(f&&!h)return-1;if(!f&&h)return 1;let p=jo.exactMatch(t),x=jo.exactMatch(e);return p&&!x?-1:!p&&x?1:0}function Ni(t,e){let r=vr(t),n=vr(e);return r&&!n?1:!r&&n?-1:0}function Fi(t,e){let r=Cr(t),n=Cr(e);return r&&!n?1:!r&&n?-1:0}function Mi(t,e){let r=Wo.exactMatch(t),n=Wo.exactMatch(e);return r&&!n?1:!r&&n?-1:0}function Gf(t){return t.sort((e,r)=>Ni(e,r)||Fi(e,r)||Mi(e,r)||Bi(e,r))}function ce(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Wr=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}},Et=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Wr(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 Wr(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 Go=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function ge(t={}){return Hf(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 Hf(t,e){e=e??{};let r=e.onEnd,n=new Et,o,s,i,a=ce(),u=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((y,_)=>{s=k=>{s=null,n.push(k);try{y(t(n))}catch(P){_(P)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ce()})}},l=y=>s!=null?s(y):(n.push(y),o),f=y=>(n=new Et,s!=null?s({error:y}):(n.push({error:y}),o)),h=y=>{if(i)return o;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:y})},p=y=>i?o:(i=!0,y!=null?f(y):l({done:!0})),x=()=>(n=new Et,p(),{done:!0}),E=y=>(p(y),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:u,return:x,throw:E,push:h,end:p,get readableLength(){return n.size},onEmpty:async y=>{let _=y?.signal;if(_?.throwIfAborted(),n.isEmpty())return;let k,P;_!=null&&(k=new Promise((q,$)=>{P=()=>{$(new Go)},_.addEventListener("abort",P)}));try{await Promise.race([a.promise,k])}finally{P!=null&&_!=null&&_?.removeEventListener("abort",P)}}},r==null)return o;let L=o;return o={[Symbol.asyncIterator](){return this},next(){return L.next()},throw(y){return L.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return L.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(y){return L.end(y),r!=null&&(r(y),r=void 0),o},get readableLength(){return L.readableLength},onEmpty:y=>L.onEmpty(y)},o}var Ho=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},Ui=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function Qo(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,u,f=new Promise((h,p)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(i?.aborted){p(Ui(i));return}if(i&&(u=()=>{p(Ui(i))},i.addEventListener("abort",u,{once:!0})),t.then(h,p),r===Number.POSITIVE_INFINITY)return;let x=new Ho;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(E){p(E)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?h():o instanceof Error?p(o):(x.message=o??`Promise timed out after ${r} milliseconds`,p(x))},r)}).finally(()=>{f.clear(),u&&i&&i.removeEventListener("abort",u)});return f.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},f}var Qf=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 Xf(t,e,r){let n,o=new Promise((s,i)=>{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(),u=[],{addListener:l,removeListener:f}=Qf(t),h=async(...x)=>{let E=r.multiArgs?x:x[0];if(r.filter)try{if(!await r.filter(E))return}catch(L){n(),i(L);return}u.push(E),r.count===u.length&&(n(),s(u))},p=(...x)=>{n(),i(r.rejectionMultiArgs?x:x[0])};n=()=>{for(let x of a)f(x,h);for(let x of r.rejectionEvents)a.includes(x)||f(x,p)};for(let x of a)l(x,h);for(let x of r.rejectionEvents)a.includes(x)||l(x,p);r.signal&&r.signal.addEventListener("abort",()=>{p(r.signal.reason)},{once:!0}),r.resolveImmediately&&s(u)});if(o.cancel=n,typeof r.timeout=="number"){let s=Qo(o,{milliseconds:r.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function U(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Xf(t,e,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}function _t(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 qt=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}},Gt=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},Ue=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},Ht=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},Qt=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function Kf(t){return t.reason}async function O(t,e,r){if(e==null)return t;let n=r?.translateError??Kf;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var qr=class{deferred;signal;onProgress;constructor(e){this.signal=e?.signal,this.onProgress=e?.onProgress,this.deferred=ce(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new _e)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function Jf(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Gr=class{id;fn;options;recipients;status;timeline;controller;dispatchingProgress;constructor(e,r){this.id=Jf(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.dispatchingProgress=!1,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 _e),this.cleanup())}async join(e){let r=new qr(e);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,onProgress:r=>{if(!this.dispatchingProgress){this.dispatchingProgress=!0;try{this.recipients.forEach(n=>{n.onProgress?.(r)})}finally{this.dispatchingProgress=!1}}}}),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 ue=class extends me{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=_t(this.emitEmpty.bind(this),1),this.emitIdle=_t(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 Gt;let n=new Gr(e,r);this.enqueue(n),this.safeDispatchEvent("add");let o=n.join(r).then(s=>(this.safeDispatchEvent("completed",{detail:s}),this.safeDispatchEvent("success",{detail:{job:n,result:s}}),s)).catch(s=>{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:s}}),s});return this.tryToStartAnother(),o}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new _e)}),this.clear()}async onEmpty(e){this.size!==0&&await U(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await U(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await U(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=ge({objectMode:!0}),n=u=>{u!=null?this.abort():this.clear(),r.end(u)},o=u=>{u.detail!=null&&r.push(u.detail)},s=u=>{n(u.detail.error)},i=()=>{n()},a=()=>{n(new _e("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",s),this.addEventListener("idle",i),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",s),this.removeEventListener("idle",i),e?.signal?.removeEventListener("abort",a),n()}}};var Yf=Math.pow(2,20)*4,Je=class extends me{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??Yf,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new N,this.writeBuffer=new N,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,queueMicrotask(()=>{try{this.processSendQueue()}catch(o){this.log.error("processSendQueue threw - %e",o)}})),this.onDrainPromise?.resolve()};this.addEventListener("drain",r);let n=o=>{this.onDrainPromise?.reject(o.error??new Qt)};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()),O(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=ge(),r=s=>{e.push(s.data)};this.addEventListener("message",r);let n=s=>{e.end(s.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 ke(`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 gr(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new ke("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 ke("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 ke(`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 ke(`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 pr;this.dispatchEvent(new br(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 ft))}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;if(this.writeStatus!=="writable"&&this.writeStatus!=="closing")return this.log.trace("not processing send queue as stream is %s",this.writeStatus),!1;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 s=this.writeBuffer.sublist(0,o),i=new N(s);this.writeBuffer.consume(s.byteLength);let a;try{a=this.sendData(s)}catch(u){throw this.writeBuffer.prepend(i),this.abort(u),u}if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==i.byteLength&&(i.consume(a.sentBytes),this.writeBuffer.prepend(i)),!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 de(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 Rt(`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 Rt(`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 Xt=class extends Je{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 U(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 U(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function Xo(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var Kt=class extends me{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=i=>{try{this.onData(i.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(i=>{i.onMuxerDrain()})};this.maConn.addEventListener("drain",o);let s=()=>{this.log("underlying stream closed with status %s and %d streams",this.status,this.streams.length),this.onTransportClosed()};this.maConn.addEventListener("close",s)}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 mr;let r=this.onCreateStream({...this.streamOptions,...e});return Xo(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 Ht(`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(s=>s===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 Ye=class extends Je{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 U(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 U(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 Hr(t){let e=new globalThis.AbortController;function r(){let s=t.filter(i=>i?.aborted===!0).map(i=>i?.reason).pop();e.abort(s);for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var Ze=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,s=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*s),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var Oi=1.2,Ri=2,$i=5e3,zi=6e4,Vi=5e3,Ko=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??Vi;this.success=new Ze(r),this.failure=new Ze(r),this.next=new Ze(r),this.failureMultiplier=e.failureMultiplier??Ri,this.timeoutMultiplier=e.timeoutMultiplier??Oi,this.minTimeout=e.minTimeout??$i,this.maxTimeout=e.maxTimeout??zi,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=Hr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){e.clear();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}))}};function ji(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),Me(`/${n.join("/")}`)}function Zf(t,e){if(t==null)return[];let r=ae(t);return[ji(r,e)]}function el(t){return Be(t)?_r("2000::/3",t):!1}function tl(t,e){if(typeof t!="string")throw new re(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new re(`invalid port provided: ${e}`);if(Pe(t))return Me(`/ip4/${t}/tcp/${e}`);if(Be(t))return Me(`/ip6/${t}/tcp/${e}`);throw new re(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function rl(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function nl(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var Jo=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=ce(),this.haveNext=ce()}[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=ce(),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=ce(),await O(this.readNext.promise,r?.signal,r)}};function Wi(){return new Jo}function ol(t){return t[Symbol.asyncIterator]!=null}async function sl(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*il(t){let e=new AbortController,r=Wi();sl(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*al(t){for(let e of t)yield*e}function cl(...t){let e=[];for(let r of t)ol(r)||e.push(r);return e.length===t.length?al(e):il(t)}var qi=cl;function Gi(t,...e){if(t==null)throw new Error("Empty pipeline");if(Yo(t)){let n=t;t=()=>n.source}else if(Qi(t)||Hi(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Yo(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++)Yo(r[n])&&(r[n]=fl(r[n]));return ul(...r)}var ul=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Hi=t=>t?.[Symbol.asyncIterator]!=null,Qi=t=>t?.[Symbol.iterator]!=null,Yo=t=>t==null?!1:t.sink!=null&&t.source!=null,fl=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=ge({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(Hi(s))o=async function*(){yield*s,n.end()};else if(Qi(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return qi(n,o())}return t.source};var ll=4194304,Jt=class extends Error{static name="UnwrappedError";name="UnwrappedError"},vt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Qr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Xr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function hl(t){return typeof t?.closeRead=="function"}function dl(t){return typeof t?.close=="function"}function Zo(t){return hl(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:dl(t)?t.status!=="open":!1}function ml(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function Xi(t,e){let r=e?.maxBufferSize??ll,n=new N,o,s=!1;if(!ml(t))throw new re("Argument should be a Stream or a Multiaddr");let i=f=>{if(n.append(f.data),n.byteLength>r){let h=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${h} > ${r}`))}o?.resolve()};t.addEventListener("message",i);let a=f=>{f.error!=null?o?.reject(f.error):o?.resolve()};t.addEventListener("close",a);let u=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",u);let l={readBuffer:n,async read(f){if(s===!0)throw new Jt("Stream was unwrapped");if(Zo(t)){if(n.byteLength===0&&f?.bytes==null)return null;if(f?.bytes!=null&&n.byteLength<f.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,f.bytes),new Ue(`Unexpected EOF - stream closed after reading ${n.byteLength}/${f.bytes} bytes`)}let h=f?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=h){o.resolve();break}if(await O(o.promise,f?.signal),Zo(t)){if(n.byteLength===0&&f?.bytes==null)return null;break}o=Promise.withResolvers()}let p=f?.bytes??n.byteLength;if(n.byteLength<p){if(Zo(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,p),new Ue(`Unexpected EOF - stream closed while reading ${n.byteLength}/${p} bytes`);return l.read(f)}let x=n.sublist(0,p);return n.consume(p),x},async write(f,h){if(s===!0)throw new Jt("Stream was unwrapped");t.send(f)||await U(t,"drain",{signal:h?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,t.removeEventListener("message",i),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",u),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.unshift(n))),t}};return l}function Ki(t,e={}){let r=Xi(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=j(e.maxDataLength));let n=e?.lengthDecoder??ve,o=e?.lengthEncoder??Lr;return{async read(i){let a=-1,u=new N;for(;;){let f=await r.read({...i,bytes:1});if(f==null)break;u.append(f);try{a=n(u)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new vt("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new Xr(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new Qr(`Message length too long - ${a} > ${e.maxDataLength}`);let l=await r.read({...i,bytes:a});if(l==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new Ue(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(l.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",l.byteLength,a),new Ue(`Unexpected EOF - read ${l.byteLength}/${a} bytes before the stream closed`);return l},async write(i,a){await r.write(new N(o(i.byteLength),i),a)},async writeV(i,a){let u=new N(...i.flatMap(l=>[o(l.byteLength),l]));await r.write(u,a)},unwrap(){return r.unwrap()}}}function pl(t,e){let r=Ki(t,e),n={read:async(o,s)=>{let i=await r.read(s);return o.decode(i)},write:async(o,s,i)=>{await r.write(s.encode(o),i)},writeV:async(o,s,i)=>{await r.writeV(o.map(a=>s.encode(a)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function es(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let s of t)o+=s.byteLength,t.send(s)||(t.pause(),await U(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(s){t.abort(s)}}function gl(t){return t?.addEventListener!=null}function Ji(t){let e=ge(),r,n=i=>{e.push(i.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)},s=i=>{e.end(i.error),i.error!=null&&r?.reject(i.error),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",s,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(i){async function*a(){yield*i}let u=a();for(;;){r=Promise.withResolvers();let{done:l,value:f}=await Promise.race([u.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(f!=null&&(t.send(f)||await Promise.race([U(t,"drain",{rejectionEvents:["close"]})])),l===!0))break}await t.close()}}}function bl(...t){let e=t.map(r=>gl(r)?Ji(r):r);return Gi(...e)}var yl=1024*1024*4,xl=1024*1024*4,ts=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new N,this.maxBufferSize=e.maxBufferSize??yl,this.maxDataLength=e.maxDataLength??xl,this.lengthDecoder=e.lengthDecoder??ve,this.encodingLength=e.encodingLength??j}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new re(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(s){if(s instanceof RangeError)break;throw s}if(r<0||r>this.maxDataLength)throw new vt("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let s=this.buffer.sublist(n,o);this.buffer.consume(o),s.byteLength>0&&(yield s)}else break}}};function wl(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var El=["Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Tagged"];function rs(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(e==="string"||e==="number"||e==="bigint"||e==="symbol")return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(t instanceof Uint8Array)return"Uint8Array";if(t.constructor===Object)return"Object";let r=_l(t);return r||"Object"}function _l(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(El.includes(e))return e}var c=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}static equals(e,r){return e===r||e.major===r.major&&e.name===r.name}};c.uint=new c(0,"uint",!0);c.negint=new c(1,"negint",!0);c.bytes=new c(2,"bytes",!0);c.string=new c(3,"string",!0);c.array=new c(4,"array",!1);c.map=new c(5,"map",!1);c.tag=new c(6,"tag",!1);c.float=new c(7,"float",!0);c.false=new c(7,"false",!0);c.true=new c(7,"true",!0);c.null=new c(7,"null",!0);c.undefined=new c(7,"undefined",!0);c.break=new c(7,"break",!0);var m=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 Yt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",vl=new TextEncoder;function Kr(t){return Yt&&globalThis.Buffer.isBuffer(t)}function Zt(t){return t instanceof Uint8Array?Kr(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Sl=24,Cl=200,Jr=Yt?t=>t.length>=Sl?globalThis.Buffer.from(t):Yi(t):t=>t.length>=Cl?vl.encode(t):Yi(t),be=t=>Uint8Array.from(t),Zi=Yt?(t,e,r)=>Kr(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),ea=Yt?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Zt(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},ta=Yt?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Yr(t,e){if(Kr(t)&&Kr(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 Yi(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):(o>=55296&&o<=57343&&(o=65533),e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}var Il=256,er=class{constructor(e=Il){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=ta(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=Zi(n,0,this.cursor)}else r=ea(this.chunks,this.cursor);return e&&this.reset(),r}},Zr=class{constructor(e){this.dest=e,this.cursor=0,this.chunks=[e]}reset(){this.cursor=0}push(e){if(this.cursor+e.length>this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest.set(e,this.cursor),this.cursor+=e.length}toBytes(e=!1){let r=this.dest.subarray(0,this.cursor);return e&&this.reset(),r}};var g="CBOR decode error:",en="CBOR encode error:",tr=[];tr[23]=1;tr[24]=2;tr[25]=3;tr[26]=5;tr[27]=9;function Le(t,e,r){if(t.length-e<r)throw new Error(`${g} not enough data for type`)}var R=[24,256,65536,4294967296,BigInt("18446744073709551616")];function J(t,e,r){Le(t,e,1);let n=t[e];if(r.strict===!0&&n<R[0])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function Y(t,e,r){Le(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<R[1])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function Z(t,e,r){Le(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<R[2])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(t,e,r){Le(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],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<R[3])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${g} integers outside of the safe integer range are not supported`)}function ra(t,e,r,n){return new m(c.uint,J(t,e+1,n),2)}function na(t,e,r,n){return new m(c.uint,Y(t,e+1,n),3)}function oa(t,e,r,n){return new m(c.uint,Z(t,e+1,n),5)}function sa(t,e,r,n){return new m(c.uint,ee(t,e+1,n),9)}function ne(t,e){return D(t,0,e.value)}function D(t,e,r){if(r<R[0]){let n=Number(r);t.push([e|n])}else if(r<R[1]){let n=Number(r);t.push([e|24,n])}else if(r<R[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<R[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<R[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${g} encountered BigInt larger than allowable range`)}}ne.encodedSize=function(e){return D.encodedSize(e.value)};D.encodedSize=function(e){return e<R[0]?1:e<R[1]?2:e<R[2]?3:e<R[3]?5:9};ne.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function ia(t,e,r,n){return new m(c.negint,-1-J(t,e+1,n),2)}function aa(t,e,r,n){return new m(c.negint,-1-Y(t,e+1,n),3)}function ca(t,e,r,n){return new m(c.negint,-1-Z(t,e+1,n),5)}var ns=BigInt(-1),ua=BigInt(1);function fa(t,e,r,n){let o=ee(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new m(c.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${g} integers outside of the safe integer range are not supported`);return new m(c.negint,ns-BigInt(o),9)}function tn(t,e){let r=e.value,n=typeof r=="bigint"?r*ns-ua:r*-1-1;D(t,e.type.majorEncoded,n)}tn.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*ns-ua:r*-1-1;return n<R[0]?1:n<R[1]?2:n<R[2]?3:n<R[3]?5:9};tn.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function rr(t,e,r,n){Le(t,e,r+n);let o=t.slice(e+r,e+r+n);return new m(c.bytes,o,r+n)}function la(t,e,r,n){return rr(t,e,1,r)}function ha(t,e,r,n){return rr(t,e,2,J(t,e+1,n))}function da(t,e,r,n){return rr(t,e,3,Y(t,e+1,n))}function ma(t,e,r,n){return rr(t,e,5,Z(t,e+1,n))}function pa(t,e,r,n){let o=ee(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer bytes lengths not supported`);return rr(t,e,9,o)}function rn(t){return t.encodedBytes===void 0&&(t.encodedBytes=c.equals(t.type,c.string)?Jr(t.value):t.value),t.encodedBytes}function St(t,e){let r=rn(e);D(t,e.type.majorEncoded,r.length),t.push(r)}St.encodedSize=function(e){let r=rn(e);return D.encodedSize(r.length)+r.length};St.compareTokens=function(e,r){return Tl(rn(e),rn(r))};function Tl(t,e){return t.length<e.length?-1:t.length>e.length?1:Yr(t,e)}var ga=new TextDecoder,Dl=32;function kl(t,e,r){if(r-e<Dl){let o="";for(let s=e;s<r;s++){let i=t[s];if(i&128)return ga.decode(t.subarray(e,r));o+=String.fromCharCode(i)}return o}return ga.decode(t.subarray(e,r))}function nr(t,e,r,n,o){let s=r+n;Le(t,e,s);let i=new m(c.string,kl(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=t.slice(e+r,e+s)),i}function ba(t,e,r,n){return nr(t,e,1,r,n)}function ya(t,e,r,n){return nr(t,e,2,J(t,e+1,n),n)}function xa(t,e,r,n){return nr(t,e,3,Y(t,e+1,n),n)}function wa(t,e,r,n){return nr(t,e,5,Z(t,e+1,n),n)}function Ea(t,e,r,n){let o=ee(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer string lengths not supported`);return nr(t,e,9,o,n)}var _a=St;function Ct(t,e,r,n){return new m(c.array,n,r)}function va(t,e,r,n){return Ct(t,e,1,r)}function Sa(t,e,r,n){return Ct(t,e,2,J(t,e+1,n))}function Ca(t,e,r,n){return Ct(t,e,3,Y(t,e+1,n))}function Ia(t,e,r,n){return Ct(t,e,5,Z(t,e+1,n))}function La(t,e,r,n){let o=ee(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer array lengths not supported`);return Ct(t,e,9,o)}function Ta(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return Ct(t,e,1,1/0)}function nn(t,e){D(t,c.array.majorEncoded,e.value)}nn.compareTokens=ne.compareTokens;nn.encodedSize=function(e){return D.encodedSize(e.value)};function It(t,e,r,n){return new m(c.map,n,r)}function Aa(t,e,r,n){return It(t,e,1,r)}function Da(t,e,r,n){return It(t,e,2,J(t,e+1,n))}function ka(t,e,r,n){return It(t,e,3,Y(t,e+1,n))}function Pa(t,e,r,n){return It(t,e,5,Z(t,e+1,n))}function Ba(t,e,r,n){let o=ee(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer map lengths not supported`);return It(t,e,9,o)}function Na(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return It(t,e,1,1/0)}function on(t,e){D(t,c.map.majorEncoded,e.value)}on.compareTokens=ne.compareTokens;on.encodedSize=function(e){return D.encodedSize(e.value)};function Fa(t,e,r,n){return new m(c.tag,r,1)}function Ma(t,e,r,n){return new m(c.tag,J(t,e+1,n),2)}function Ua(t,e,r,n){return new m(c.tag,Y(t,e+1,n),3)}function Oa(t,e,r,n){return new m(c.tag,Z(t,e+1,n),5)}function Ra(t,e,r,n){return new m(c.tag,ee(t,e+1,n),9)}function sn(t,e){D(t,c.tag.majorEncoded,e.value)}sn.compareTokens=ne.compareTokens;sn.encodedSize=function(e){return D.encodedSize(e.value)};var os=20,ss=21,is=22,as=23;function $a(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${g} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new m(c.null,null,1):new m(c.undefined,void 0,1)}function za(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return new m(c.break,void 0,1)}function cs(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${g} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${g} Infinity values are not supported`)}return new m(c.float,t,e)}function Va(t,e,r,n){return cs(us(t,e+1),3,n)}function ja(t,e,r,n){return cs(fs(t,e+1),5,n)}function Wa(t,e,r,n){return cs(Qa(t,e+1),9,n)}function or(t,e,r){let n=e.value;if(n===!1)t.push([c.float.majorEncoded|os]);else if(n===!0)t.push([c.float.majorEncoded|ss]);else if(n===null)t.push([c.float.majorEncoded|is]);else if(n===void 0)t.push([c.float.majorEncoded|as]);else{let o,s=!1;(!r||r.float64!==!0)&&(Ga(n),o=us(fe,1),n===o||Number.isNaN(n)?(fe[0]=249,t.push(fe.slice(0,3)),s=!0):(Ha(n),o=fs(fe,1),n===o&&(fe[0]=250,t.push(fe.slice(0,5)),s=!0))),s||(Ml(n),o=Qa(fe,1),fe[0]=251,t.push(fe.slice(0,9)))}}or.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){Ga(n);let o=us(fe,1);if(n===o||Number.isNaN(n))return 3;if(Ha(n),o=fs(fe,1),n===o)return 5}return 9};var qa=new ArrayBuffer(9),oe=new DataView(qa,1),fe=new Uint8Array(qa,0);function Ga(t){if(t===1/0)oe.setUint16(0,31744,!1);else if(t===-1/0)oe.setUint16(0,64512,!1);else if(Number.isNaN(t))oe.setUint16(0,32256,!1);else{oe.setFloat32(0,t);let e=oe.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)oe.setUint16(0,31744,!1);else if(r===0)oe.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?oe.setUint16(0,0):o<-14?oe.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):oe.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function us(t,e){if(t.length-e<2)throw new Error(`${g} 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,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function Ha(t){oe.setFloat32(0,t,!1)}function fs(t,e){if(t.length-e<4)throw new Error(`${g} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function Ml(t){oe.setFloat64(0,t,!1)}function Qa(t,e){if(t.length-e<8)throw new Error(`${g} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}or.compareTokens=ne.compareTokens;function S(t,e,r){throw new Error(`${g} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function an(t){return()=>{throw new Error(`${g} ${t}`)}}var d=[];for(let t=0;t<=23;t++)d[t]=S;d[24]=ra;d[25]=na;d[26]=oa;d[27]=sa;d[28]=S;d[29]=S;d[30]=S;d[31]=S;for(let t=32;t<=55;t++)d[t]=S;d[56]=ia;d[57]=aa;d[58]=ca;d[59]=fa;d[60]=S;d[61]=S;d[62]=S;d[63]=S;for(let t=64;t<=87;t++)d[t]=la;d[88]=ha;d[89]=da;d[90]=ma;d[91]=pa;d[92]=S;d[93]=S;d[94]=S;d[95]=an("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)d[t]=ba;d[120]=ya;d[121]=xa;d[122]=wa;d[123]=Ea;d[124]=S;d[125]=S;d[126]=S;d[127]=an("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)d[t]=va;d[152]=Sa;d[153]=Ca;d[154]=Ia;d[155]=La;d[156]=S;d[157]=S;d[158]=S;d[159]=Ta;for(let t=160;t<=183;t++)d[t]=Aa;d[184]=Da;d[185]=ka;d[186]=Pa;d[187]=Ba;d[188]=S;d[189]=S;d[190]=S;d[191]=Na;for(let t=192;t<=215;t++)d[t]=Fa;d[216]=Ma;d[217]=Ua;d[218]=Oa;d[219]=Ra;d[220]=S;d[221]=S;d[222]=S;d[223]=S;for(let t=224;t<=243;t++)d[t]=an("simple values are not supported");d[244]=S;d[245]=S;d[246]=S;d[247]=$a;d[248]=an("simple values are not supported");d[249]=Va;d[250]=ja;d[251]=Wa;d[252]=S;d[253]=S;d[254]=S;d[255]=za;var le=[];for(let t=0;t<24;t++)le[t]=new m(c.uint,t,1);for(let t=-1;t>=-24;t--)le[31-t]=new m(c.negint,t,1);le[64]=new m(c.bytes,new Uint8Array(0),1);le[96]=new m(c.string,"",1);le[128]=new m(c.array,0,1);le[160]=new m(c.map,0,1);le[244]=new m(c.false,!1,1);le[245]=new m(c.true,!0,1);le[246]=new m(c.null,null,1);function ls(t){switch(t.type){case c.false:return be([244]);case c.true:return be([245]);case c.null:return be([246]);case c.bytes:return t.value.length?void 0:be([64]);case c.string:return t.value===""?be([96]):void 0;case c.array:return t.value===0?be([128]):void 0;case c.map:return t.value===0?be([160]):void 0;case c.uint:return t.value<24?be([Number(t.value)]):void 0;case c.negint:if(t.value>=-24)return be([31-Number(t.value)])}}var Ol={float64:!1,mapSorter:zl,quickEncodeToken:ls},Za=Object.freeze({float64:!0,mapSorter:Vl,quickEncodeToken:ls});function Rl(){let t=[];return t[c.uint.major]=ne,t[c.negint.major]=tn,t[c.bytes.major]=St,t[c.string.major]=_a,t[c.array.major]=nn,t[c.map.major]=on,t[c.tag.major]=sn,t[c.float.major]=or,t}var Tt=Rl(),cn=new er,ir=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(`${en} object contains circular references`);return new t(r,e)}},Oe={null:new m(c.null,null),undefined:new m(c.undefined,void 0),true:new m(c.true,!0),false:new m(c.false,!1),emptyArray:new m(c.array,0),emptyMap:new m(c.map,0)},ye={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new m(c.float,t):t>=0?new m(c.uint,t):new m(c.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new m(c.uint,t):new m(c.negint,t)},Uint8Array(t,e,r,n){return new m(c.bytes,t)},string(t,e,r,n){return new m(c.string,t)},boolean(t,e,r,n){return t?Oe.true:Oe.false},null(t,e,r,n){return Oe.null},undefined(t,e,r,n){return Oe.undefined},ArrayBuffer(t,e,r,n){return new m(c.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new m(c.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Oe.emptyArray,new m(c.break)]:Oe.emptyArray;n=ir.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=Lt(i,r,n);return r.addBreakTokens?[new m(c.array,t.length),o,new m(c.break)]:[new m(c.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length,a;if(i){a=new Array(i),n=ir.createCheck(n,t);let u=!o&&r.ignoreUndefinedProperties,l=0;for(let f of s){let h=o?t.get(f):t[f];u&&h===void 0||(a[l++]=[Lt(f,r,n),Lt(h,r,n)])}l<i&&(a.length=l)}return a?.length?($l(a,r),r.addBreakTokens?[new m(c.map,a.length),a,new m(c.break)]:[new m(c.map,a.length),a]):r.addBreakTokens===!0?[Oe.emptyMap,new m(c.break)]:Oe.emptyMap},Tagged(t,e,r,n){return[new m(c.tag,t.tag),Lt(t.value,r,n)]}};ye.Map=ye.Object;ye.Buffer=ye.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))ye[`${t}Array`]=ye.DataView;function Lt(t,e={},r){let n=rs(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||ye[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=ye[n];if(!s)throw new Error(`${en} unsupported type: ${n}`);return s(t,n,e,r)}function $l(t,e){e.mapSorter&&t.sort(e.mapSorter)}function zl(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,s=Tt[o].compareTokens(r,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function Vl(t,e){if(t[0]instanceof m&&e[0]instanceof m){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=Xa(r.value)),n._keyBytes||(n._keyBytes=Xa(n.value)),Yr(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function Xa(t){return tc(t,Tt,Za)}function sr(t,e,r,n){if(Array.isArray(e))for(let o of e)sr(t,o,r,n);else r[e.type.major](t,e,n)}var Ka=c.uint.majorEncoded,Ja=c.negint.majorEncoded,jl=c.bytes.majorEncoded,Wl=c.string.majorEncoded,Ya=c.array.majorEncoded,ql=c.float.majorEncoded|os,Gl=c.float.majorEncoded|ss,Hl=c.float.majorEncoded|is,Ql=c.float.majorEncoded|as,Xl=BigInt(-1),Kl=BigInt(1);function Jl(t){return t.addBreakTokens!==!0}function ec(t,e,r,n){let o=rs(e),s=r.typeEncoders&&r.typeEncoders[o];if(s){let i=s(e,o,r,n);if(i!=null){sr(t,i,Tt,r);return}}switch(o){case"null":t.push([Hl]);return;case"undefined":t.push([Ql]);return;case"boolean":t.push([e?Gl:ql]);return;case"number":!Number.isInteger(e)||!Number.isSafeInteger(e)?or(t,new m(c.float,e),r):e>=0?D(t,Ka,e):D(t,Ja,e*-1-1);return;case"bigint":e>=BigInt(0)?D(t,Ka,e):D(t,Ja,e*Xl-Kl);return;case"string":{let i=Jr(e);D(t,Wl,i.length),t.push(i);return}case"Uint8Array":D(t,jl,e.length),t.push(e);return;case"Array":if(!e.length){t.push([Ya]);return}n=ir.createCheck(n,e),D(t,Ya,e.length);for(let i of e)ec(t,i,r,n);return;case"Object":case"Map":{let i=ye.Object(e,o,r,n);sr(t,i,Tt,r)}return;default:{let i=ye[o];if(!i)throw new Error(`${en} unsupported type: ${o}`);let a=i(e,o,r,n);sr(t,a,Tt,r)}}}function tc(t,e,r,n){let o=n instanceof Uint8Array,s=o?new Zr(n):cn,i=Lt(t,r);if(!Array.isArray(i)&&r.quickEncodeToken){let a=r.quickEncodeToken(i);if(a)return o?(s.push(a),s.toBytes()):a;let u=e[i.type.major];if(u.encodedSize){let l=u.encodedSize(i,r);if(o||(s=new er(l)),u(s,i,r),s.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${i} was wrong`);return o?s.toBytes():Zt(s.chunks[0])}}return s.reset(),sr(s,i,e,r),s.toBytes(!0)}function hs(t,e){return e=Object.assign({},Ol,e),Jl(e)?(cn.reset(),ec(cn,t,e,void 0),cn.toBytes(!0)):tc(t,Tt,e)}var Yl={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},un=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=le[e];if(r===void 0){let n=d[e];if(!n)throw new Error(`${g} 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}},Re=Symbol.for("DONE"),At=Symbol.for("BREAK");function Zl(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=$e(e,r);if(s===At){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed array`)}if(s===Re)throw new Error(`${g} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function eh(t,e,r){let n=r.useMaps===!0,o=r.rejectDuplicateMapKeys===!0,s=n?void 0:{},i=n?new Map:void 0;for(let a=0;a<t.value;a++){let u=$e(e,r);if(u===At){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(u===Re)throw new Error(`${g} found map but not enough entries (got ${a} [no key], expected ${t.value})`);if(!n&&typeof u!="string")throw new Error(`${g} non-string keys not supported (got ${typeof u})`);if(o&&(n&&i.has(u)||!n&&Object.hasOwn(s,u)))throw new Error(`${g} found repeat map key "${u}"`);let l=$e(e,r);if(l===Re)throw new Error(`${g} found map but not enough entries (got ${a} [no value], expected ${t.value})`);n?i.set(u,l):s[u]=l}return n?i:s}function*th(t,e,r){for(let n=0;n<t.value;n++){let o=$e(e,r);if(o===At){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(o===Re)throw new Error(`${g} found map but not enough entries (got ${n} [no key], expected ${t.value})`);let s=$e(e,r);if(s===Re)throw new Error(`${g} found map but not enough entries (got ${n} [no value], expected ${t.value})`);yield[o,s]}}function rh(t,e){let r=!1,n=function(){if(r)throw new Error(`${g} tag decode() may only be called once`);r=!0;let o=$e(t,e);if(o===Re)throw new Error(`${g} tag content missing`);if(o===At)throw new Error(`${g} got unexpected break in tag content`);return o};return n.entries=function(){if(r)throw new Error(`${g} tag decode() may only be called once`);r=!0;let o=t.next();if(!c.equals(o.type,c.map))throw new Error(`${g} entries() requires map content, got ${o.type.name}`);let s=[];for(let i of th(o,t,e))s.push(i);return s},Object.defineProperty(n,"_called",{get(){return r},enumerable:!1}),n}function $e(t,e){if(t.done())return Re;let r=t.next();if(c.equals(r.type,c.break))return At;if(r.type.terminal)return r.value;if(c.equals(r.type,c.array))return Zl(r,t,e);if(c.equals(r.type,c.map))return eh(r,t,e);if(c.equals(r.type,c.tag)){if(e.tags&&typeof e.tags[r.value]=="function"){let n=rh(t,e),o=e.tags[r.value](n);if(!n._called)throw new Error(`${g} tag decoder must call decode() or entries()`);return o}throw new Error(`${g} tag not supported (${r.value})`)}throw new Error("unsupported")}function rc(t,e){if(!(t instanceof Uint8Array))throw new Error(`${g} data to decode must be a Uint8Array`);e=Object.assign({},Yl,e);let r=Zt(t),n=e.tokenizer||new un(r,e),o=$e(n,e);if(o===Re)throw new Error(`${g} did not find any content to decode`);if(o===At)throw new Error(`${g} got unexpected break`);return[o,t.subarray(n.pos())]}function ds(t,e){let[r,n]=rc(t,e);if(n.length>0)throw new Error(`${g} too many terminals, data makes no sense`);return r}var fn=class t{constructor(e,r){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new TypeError("Tagged: tag must be a non-negative integer");this.tag=e,this.value=r}static decoder(e){return r=>new t(e,r())}static preserve(...e){let r={};for(let n of e)r[n]=t.decoder(n);return r}};Object.defineProperty(fn.prototype,Symbol.toStringTag,{value:"Tagged"});var ln=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Dt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},hn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},ar=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function dn(t){return t[Symbol.asyncIterator]!=null}function nc(t,e){if(t.byteLength>e)throw new Dt("Message length too long")}var pn=t=>{let e=j(t),r=K(e);return Lr(t,r),pn.bytes=e,r};pn.bytes=0;function gn(t,e){e=e??{};let r=e.lengthEncoder??pn,n=e?.maxDataLength??4194304;function*o(s){nc(s,n);let i=r(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return dn(t)?(async function*(){for await(let s of t)yield*o(s)})():(function*(){for(let s of t)yield*o(s)})()}gn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??pn,n=e?.maxDataLength??4194304;return nc(t,n),new N(r(t.byteLength),t)};var tt;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(tt||(tt={}));var ms=t=>{let e=ve(t);return ms.bytes=j(e),e};ms.bytes=0;function cr(t,e){let r=new N,n=tt.LENGTH,o=-1,s=e?.lengthDecoder??ms,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;r.byteLength>0;){if(n===tt.LENGTH)try{if(o=s(r),o<0)throw new ln("Invalid message length");if(o>a)throw new Dt("Message length too long");let l=s.bytes;r.consume(l),e?.onLength!=null&&e.onLength(o),n=tt.DATA}catch(l){if(l instanceof RangeError){if(r.byteLength>i)throw new hn("Message length length too long");break}throw l}if(n===tt.DATA){if(r.byteLength<o)break;let l=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(l),yield l,n=tt.LENGTH}}}return dn(t)?(async function*(){for await(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new ar("Unexpected end of input")})():(function*(){for(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new ar("Unexpected end of input")})()}cr.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await t.next(r);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}})();return cr(n,{...e??{},onLength:s=>{r=s}})};var ps=class extends Ye{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new ue({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()}},oc=30,gs=class extends Kt{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)+oc,this.encoding=r.encoding??"base64",this.input=ge(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of cr(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(ds(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=hs(e),n=gn.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 ps({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-oc,protocol:""})}},bs=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new gs(e,{...this.init})}};function bn(t={}){return new bs(t)}function yn(t,e){if(typeof t=="string")return ih(t);if(typeof t=="number")return uh(t,e);throw new Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}function ih(t){if(typeof t!="string"||t.length===0||t.length>100)throw new 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),s=n.toLowerCase();switch(s){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 new Error(`Unknown unit "${s}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function ah(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 ch(t){let e=Math.abs(t);return e>=315576e5?rt(t,e,315576e5,"year"):e>=26298e5?rt(t,e,26298e5,"month"):e>=6048e5?rt(t,e,6048e5,"week"):e>=864e5?rt(t,e,864e5,"day"):e>=36e5?rt(t,e,36e5,"hour"):e>=6e4?rt(t,e,6e4,"minute"):e>=1e3?rt(t,e,1e3,"second"):`${t} ms`}function uh(t,e){if(typeof t!="number"||!Number.isFinite(t))throw new Error("Value provided to ms.format() must be of type number.");return e?.long?ch(t):ah(t)}function rt(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function ys(t){r.debug=r,r.default=r,r.coerce=u,r.disable=s,r.enable=o,r.enabled=i,r.humanize=yn,r.destroy=l,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let h=0;for(let p=0;p<f.length;p++)h=(h<<5)-h+f.charCodeAt(p),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(f,h){let p,x=null,E,L;function y(..._){if(!y.enabled)return;let k=y,P=Number(new Date),q=P-(p||P);k.diff=q,k.prev=p,k.curr=P,p=P,_[0]=r.coerce(_[0]),typeof _[0]!="string"&&_.unshift("%O");let $=0;_[0]=_[0].replace(/%([a-zA-Z%])/g,(G,se)=>{if(G==="%%")return"%";$++;let ze=r.formatters[se];if(typeof ze=="function"){let pc=_[$];G=ze.call(k,pc),_.splice($,1),$--}return G}),r.formatArgs.call(k,_),h?.onLog!=null&&h.onLog(..._),(k.log||r.log).apply(k,_)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>x!==null?x:(E!==r.namespaces&&(E=r.namespaces,L=r.enabled(f)),L),set:_=>{x=_}}),typeof r.init=="function"&&r.init(y),y}function n(f,h){let p=r(this.namespace+(typeof h>"u"?":":h)+f);return p.log=this.log,p}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let h,p=(typeof f=="string"?f:"").split(/[\s,]+/),x=p.length;for(h=0;h<x;h++)p[h]&&(f=p[h].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.substr(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...r.names.map(a),...r.skips.map(a).map(h=>"-"+h)].join(",");return r.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let h,p;for(h=0,p=r.skips.length;h<p;h++)if(r.skips[h].test(f))return!1;for(h=0,p=r.names.length;h<p;h++)if(r.names[h].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack??f.message:f}function l(){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 xn=gh(),fh=["#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 lh(){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 hh(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+yn(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 dh=console.debug??console.log??(()=>{});function mh(t){try{t?xn?.setItem("debug",t):xn?.removeItem("debug")}catch{}}function ph(){let t;try{t=xn?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function gh(){try{return localStorage}catch{}}function bh(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var sc=ys({formatArgs:hh,save:mh,load:ph,useColors:lh,setupFormatters:bh,colors:fh,storage:xn,log:dh});var Q=sc;Q.formatters.b=t=>t==null?"undefined":te.baseEncode(t);Q.formatters.t=t=>t==null?"undefined":he.baseEncode(t);Q.formatters.m=t=>t==null?"undefined":Fn.baseEncode(t);Q.formatters.p=t=>t==null?"undefined":t.toString();Q.formatters.c=t=>t==null?"undefined":t.toString();Q.formatters.k=t=>t==null?"undefined":t.toString();Q.formatters.a=t=>t==null?"undefined":t.toString();function ic(t,e=""){let r=ac(t.message),n=ac(t.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
3
3
  `).join(`
4
4
  ${e}`)}`:`${r}
5
5
  ${e}${n.split(`
6
6
  `).join(`
7
7
  ${e}`)}`:n!=null?`${n.split(`
8
8
  `).join(`
9
- ${e}`)}`:r!=null?`${r}`:`${t.toString()}`}function sd(t){return t instanceof AggregateError||t?.name==="AggregateError"&&Array.isArray(t.errors)}function Bc(t,e=""){if(sd(t)){let r=kc(t,e);return t.errors.length>0?(e=`${e} `,r+=`
10
- ${e}${t.errors.map(n=>`${Bc(n,`${e}`)}`).join(`
9
+ ${e}`)}`:r!=null?`${r}`:`${t.toString()}`}function yh(t){return t instanceof AggregateError||t?.name==="AggregateError"&&Array.isArray(t.errors)}function cc(t,e=""){if(yh(t)){let r=ic(t,e);return t.errors.length>0?(e=`${e} `,r+=`
10
+ ${e}${t.errors.map(n=>`${cc(n,`${e}`)}`).join(`
11
11
  ${e}`)}`):r+=`
12
- ${e}[Error list was empty]`,r.trim()}return kc(t,e)}J.formatters.e=t=>t==null?"undefined":Bc(t);function id(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e.useColors=()=>!1,e}function pr(t){return{forComponent(e){return Pc(e,t)}}}function Pc(t,e){let r=id(`${t}:trace`);return J.enabled(`${t}:trace`)&&J.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=J(`${t}:trace`,e)),Object.assign(J(t,e),{error:J(`${t}:error`,e),trace:r,newScope:n=>Pc(`${t}:${n}`,e)})}function Nc(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var ad=0,Ms=class extends Ye{local;remote;constructor(e){let r=`${ad++}`;super({...e,id:r,log:pr().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 de(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendCloseWrite(e){return $(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return $(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 Uc=Symbol.for("sindresorhus/unlimited-timeout#brand");function Mc(t,e,...r){if(typeof t!="function")throw new TypeError("Expected callback to be a function");e??=0,e=Number(e);let n=!1,o={[Uc]:!0,id:void 0,cleared:!1,ref(){return n=!1,o.id?.ref?.(),o},unref(){return n=!0,o.id?.unref?.(),o}};if(e===Number.POSITIVE_INFINITY||e>Number.MAX_SAFE_INTEGER)return o;(!Number.isFinite(e)||e<0)&&(e=0);let s=performance.now()+e,i=a=>{o.cleared||(a<=2147483647?(o.id=globalThis.setTimeout(()=>{o.cleared||t(...r)},a),n&&o.id?.unref?.()):(o.id=globalThis.setTimeout(()=>{let u=performance.now(),l=Math.max(0,s-u);i(l)},2147483647),n&&o.id?.unref?.()))};return i(e),o}function Oc(t){!t||typeof t!="object"||!t[Uc]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var cd=new WeakMap;function ud({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(o.reason);let s,i,a,u=t??clearTimeout,l=()=>{u(s),a(o.reason)},f=()=>{o&&o.removeEventListener("abort",l)},h=new Promise((p,w)=>{i=()=>{f(),p(n)},a=w,s=(e??setTimeout)(i,r)});return o&&o.addEventListener("abort",l,{once:!0}),cd.set(h,()=>{u(s),s=null,i()}),h}}var fd=ud({setTimeout:Mc,clearTimeout:Oc}),Os=fd;var ld=1024*64,gr=class extends me{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new fe({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??ld,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(hd(e)){let r=new U(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let s=new de(o);this.queue.add(async i=>{this.delay>0&&await $(Os(this.delay),i.signal),this.dispatchEvent(i.evt)},{evt:s})}}else this.queue.add(async r=>{this.delay>0&&await $(Os(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 hd(t){return t?.data instanceof Uint8Array||ht(t?.data)}var Rc=0,An=class extends tr{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 de(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await R(this.local,"drain",{signal:e?.signal}),$(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 Rs(t={}){let e=`${Rc++}`,r=`${Rc++}`,n=pr().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=pr().forComponent(`libp2p:mock-maconn:inbound:${r}`),s=new gr({...t,log:n}),i=new gr({...t,log:o});return[new An({...t.outbound,id:r,direction:"outbound",local:s,remote:i,remoteAddr:t?.outbound?.remoteAddr??Ue(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new An({...t.inbound,id:e,direction:"inbound",local:i,remote:s,remoteAddr:t?.inbound?.remoteAddr??Ue(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var $s=class extends fe{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var zs=class extends fe{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var Vs=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 Ln}consume(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);if(i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.consumedPoints>this.points)throw this.blockDuration>0&&i.consumedPoints<=this.points+r&&(i=this.memoryStorage.set(o,i.consumedPoints,this.blockDuration)),new Jt("Rate limit exceeded",i);return i}penalty(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}reward(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,-r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}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)}},Ln=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let s=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||s>0?(o.value+=r,{remainingPoints:0,msBeforeNext:s,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,s=this.storage.get(e);s!=null&&clearTimeout(s.timeoutId);let i={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,i),o>0&&(i.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),i.timeoutId.unref!=null&&i.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:i.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 dd(t,e,r){let n,o,s=!1;function i(){let l={signal:o.signal},f;r?.timeout!=null&&(f=Yr([o.signal,AbortSignal.timeout(r.timeout)]),l.signal=f),s=!0,Promise.resolve().then(async()=>{await t(l)}).catch(()=>{}).finally(()=>{f!=null&&(f.aborted?f.clear():f.addEventListener("abort",()=>{f.clear()},{once:!0})),s=!1,!o.signal.aborted&&(n=setTimeout(i,e))})}let a=It(i,r?.debounce??100),u=!1;return{setInterval:l=>{e!==l&&(e=l,n!=null&&(clearTimeout(n),n=setTimeout(i,e)))},setTimeout:l=>{r??={},r.timeout=l},run:()=>{s||(clearTimeout(n),a())},start:()=>{u||(u=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{i()}):n=setTimeout(i,e))},stop:()=>{clearTimeout(n),o?.abort(),u=!1}}}async function $c(t={}){let[e,r]=Rs({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=vn({streamOptions:t.outbound}).createStreamMuxer(e),o=vn({streamOptions:t.inbound}).createStreamMuxer(r),[s,i]=await Promise.all([R(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[i,s]}async function md(t={}){let[e,r]=await $c(t);return ms(r),e}function pd(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var js=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 gd(t){let{name:e,metrics:r}=t,n;return r!=null?n=new js({name:e,metrics:r}):n=new Map,n}return Xc(yd);})();
12
+ ${e}[Error list was empty]`,r.trim()}return ic(t,e)}Q.formatters.e=t=>t==null?"undefined":cc(t);function xh(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e.useColors=()=>!1,e}function ur(t){return{forComponent(e){return uc(e,t)}}}function uc(t,e){let r=xh(`${t}:trace`);return Q.enabled(`${t}:trace`)&&Q.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=Q(`${t}:trace`,e)),Object.assign(Q(t,e),{error:Q(`${t}:error`,e),trace:r,newScope:n=>uc(`${t}:${n}`,e)})}function ac(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var wh=0,xs=class extends Ye{local;remote;constructor(e){let r=`${wh++}`;super({...e,id:r,log:ur().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 de(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 fc=Symbol.for("sindresorhus/unlimited-timeout#brand");function lc(t,e,...r){if(typeof t!="function")throw new TypeError("Expected callback to be a function");e??=0,e=Number(e);let n=!1,o={[fc]:!0,id:void 0,cleared:!1,ref(){return n=!1,o.id?.ref?.(),o},unref(){return n=!0,o.id?.unref?.(),o}};if(e===Number.POSITIVE_INFINITY||e>Number.MAX_SAFE_INTEGER)return o;(!Number.isFinite(e)||e<0)&&(e=0);let s=performance.now()+e,i=a=>{o.cleared||(a<=2147483647?(o.id=globalThis.setTimeout(()=>{o.cleared||t(...r)},a),n&&o.id?.unref?.()):(o.id=globalThis.setTimeout(()=>{let u=performance.now(),l=Math.max(0,s-u);i(l)},2147483647),n&&o.id?.unref?.()))};return i(e),o}function hc(t){!t||typeof t!="object"||!t[fc]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var Eh=new WeakMap;function _h({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(o.reason);let s,i,a,u=t??clearTimeout,l=()=>{u(s),a(o.reason)},f=()=>{o&&o.removeEventListener("abort",l)},h=new Promise((p,x)=>{i=()=>{f(),p(n)},a=x,s=(e??setTimeout)(i,r)});return o&&o.addEventListener("abort",l,{once:!0}),Eh.set(h,()=>{u(s),s=null,i()}),h}}var vh=_h({setTimeout:lc,clearTimeout:hc}),ws=vh;var Sh=1024*64,fr=class extends me{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new ue({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??Sh,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(Ch(e)){let r=new N(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let s=new de(o);this.queue.add(async i=>{this.delay>0&&await O(ws(this.delay),i.signal),this.dispatchEvent(i.evt)},{evt:s})}}else this.queue.add(async r=>{this.delay>0&&await O(ws(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 Ch(t){return t?.data instanceof Uint8Array||nt(t?.data)}var dc=0,wn=class extends Xt{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 de(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await U(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 Es(t={}){let e=`${dc++}`,r=`${dc++}`,n=ur().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=ur().forComponent(`libp2p:mock-maconn:inbound:${r}`),s=new fr({...t,log:n}),i=new fr({...t,log:o});return[new wn({...t.outbound,id:r,direction:"outbound",local:s,remote:i,remoteAddr:t?.outbound?.remoteAddr??Me(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new wn({...t.inbound,id:e,direction:"inbound",local:i,remote:s,remoteAddr:t?.inbound?.remoteAddr??Me(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var _s=class extends ue{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var vs=class extends ue{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var Ss=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 En}consume(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);if(i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.consumedPoints>this.points)throw this.blockDuration>0&&i.consumedPoints<=this.points+r&&(i=this.memoryStorage.set(o,i.consumedPoints,this.blockDuration)),new qt("Rate limit exceeded",i);return i}penalty(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}reward(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,-r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}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)}},En=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let s=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||s>0?(o.value+=r,{remainingPoints:0,msBeforeNext:s,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,s=this.storage.get(e);s!=null&&clearTimeout(s.timeoutId);let i={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,i),o>0&&(i.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),i.timeoutId.unref!=null&&i.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:i.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 Ih(t,e,r){let n,o,s=!1;function i(){let l={signal:o.signal},f;r?.timeout!=null&&(f=Hr([o.signal,AbortSignal.timeout(r.timeout)]),l.signal=f),s=!0,Promise.resolve().then(async()=>{await t(l)}).catch(()=>{}).finally(()=>{f!=null&&(f.aborted?f.clear():f.addEventListener("abort",()=>{f.clear()},{once:!0})),s=!1,!o.signal.aborted&&(n=setTimeout(i,e))})}let a=_t(i,r?.debounce??100),u=!1;return{setInterval:l=>{e!==l&&(e=l,n!=null&&(clearTimeout(n),n=setTimeout(i,e)))},setTimeout:l=>{r??={},r.timeout=l},run:()=>{s||(clearTimeout(n),a())},start:()=>{u||(u=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{i()}):n=setTimeout(i,e))},stop:()=>{clearTimeout(n),o?.abort(),u=!1}}}async function mc(t={}){let[e,r]=Es({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=bn({streamOptions:t.outbound}).createStreamMuxer(e),o=bn({streamOptions:t.inbound}).createStreamMuxer(r),[s,i]=await Promise.all([U(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[i,s]}async function Lh(t={}){let[e,r]=await mc(t);return es(r),e}function Th(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var Cs=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 Ah(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Cs({name:e,metrics:r}):n=new Map,n}return _c(Dh);})();
13
13
  return Libp2PUtils}));
14
14
  //# sourceMappingURL=index.min.js.map