@libp2p/utils 7.2.1-3574648c3 → 7.2.1-b7c6dc0f2

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 pc=Object.create;var fr=Object.defineProperty;var gc=Object.getOwnPropertyDescriptor;var bc=Object.getOwnPropertyNames;var yc=Object.getPrototypeOf,xc=Object.prototype.hasOwnProperty;var _n=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),X=(t,e)=>{for(var r in e)fr(t,r,{get:e[r],enumerable:!0})},Ss=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of bc(e))!xc.call(t,o)&&o!==r&&fr(t,o,{get:()=>e[o],enumerable:!(n=gc(e,o))||n.enumerable});return t};var wc=(t,e,r)=>(r=t!=null?pc(yc(t)):{},Ss(e||!t||!t.__esModule?fr(r,"default",{value:t,enumerable:!0}):r,t)),Ec=t=>Ss(fr({},"__esModule",{value:!0}),t);var oo=_n(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.Netmask4Impl=void 0;dt.ip2long=ht;dt.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 Yu=48,Zu=97,ef=65;function tf(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)-Yu)>>>0;else if(r===16)if("a"<=t[o]&&t[o]<="f")e=e*r+(10+t.charCodeAt(o)-Zu)>>>0;else if("A"<=t[o]&&t[o]<="F")e=e*r+(10+t.charCodeAt(o)-ef)>>>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 ht(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]=tf(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 no=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=ht(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=(ht(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):(ht(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=ht(this.first),n=ht(this.last),o=0;for(;r<=n;)e(pe(r),r,o),o++,r++}toString(){return this.base+"/"+this.bitmask}};dt.Netmask4Impl=no});var ui=_n(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.Netmask6Impl=void 0;mt.ip6bigint=io;mt.bigint2ip6=He;var rf=oo(),so=(1n<<128n)-1n;function io(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,rf.ip2long)(n),s=t.substring(0,r+1)+"0:0";return ci(s)&~0xffffffffn|BigInt(o)}return ci(t)}function ci(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 He(t){if(t<0n||t>so)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 ao=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=so>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=io(e)&this.maskBigint}catch{throw new Error("Invalid IPv6 net address: "+e)}this.size=Number(1n<<BigInt(128-this.bitmask)),this.base=He(this.netBigint),this.mask=He(this.maskBigint),this.hostmask=He(~this.maskBigint&so),this.first=this.base,this.last=He(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):(io(e)&this.maskBigint)===this.netBigint}next(e=1){let r=1n<<BigInt(128-this.bitmask);return new t(He(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(He(r),Number(r),s),s++,r++}toString(){return this.base+"/"+this.bitmask}};mt.Netmask6Impl=ao});var fi=_n(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.long2ip=Be.ip2long=Be.Netmask=void 0;var Ir=oo();Object.defineProperty(Be,"ip2long",{enumerable:!0,get:function(){return Ir.ip2long}});Object.defineProperty(Be,"long2ip",{enumerable:!0,get:function(){return Ir.long2ip}});var nf=ui(),co=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 nf.Netmask6Impl(e,r):this._impl=new Ir.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 Ir.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()}};Be.Netmask=co});var Lh={};X(Lh,{AbstractMessageStream:()=>Xe,AbstractMultiaddrConnection:()=>Qt,AbstractStream:()=>Ke,AbstractStreamMuxer:()=>Xt,AdaptiveTimeout:()=>Qo,BloomFilter:()=>Ot,CuckooFilter:()=>ke,DEFAULT_FAILURE_MULTIPLIER:()=>Oi,DEFAULT_INTERVAL:()=>zi,DEFAULT_MAX_TIMEOUT:()=>$i,DEFAULT_MIN_TIMEOUT:()=>Ri,DEFAULT_TIMEOUT_MULTIPLIER:()=>Ui,InvalidDataLengthError:()=>Qr,InvalidDataLengthLengthError:()=>Xr,InvalidMessageLengthError:()=>_t,LengthPrefixedDecoder:()=>Zo,MaxEarlyStreamsError:()=>Ht,MemoryStorage:()=>En,MockStream:()=>bs,MovingAverage:()=>Je,PeerQueue:()=>ws,PriorityQueue:()=>Es,Queue:()=>ue,QueueFullError:()=>Wt,RateLimitError:()=>qt,RateLimiter:()=>_s,ScalableCuckooFilter:()=>Rt,StreamClosedError:()=>Gt,UnexpectedEOFError:()=>Me,UnwrappedError:()=>Kt,byteStream:()=>Qi,circuitRelayAddressesLast:()=>Fi,createBloomFilter:()=>Ys,createCuckooFilter:()=>Zs,createScalableCuckooFilter:()=>ei,debounce:()=>Et,defaultMultiaddrSorter:()=>jf,echo:()=>Yo,echoStream:()=>Ch,getNetConfig:()=>ae,getThinWaistAddresses:()=>Kf,ipPortToMultiaddr:()=>Yf,isAsyncGenerator:()=>Zf,isGenerator:()=>el,isGlobalUnicast:()=>Xu,isGlobalUnicastIp:()=>Jf,isLinkLocal:()=>Ku,isLinkLocalIp:()=>bl,isLoopback:()=>Cr,isNetworkAddress:()=>Ju,isPrivate:()=>Tr,isPrivateIp:()=>fo,isPromise:()=>Go,loopbackAddressLast:()=>Ni,lpStream:()=>Xi,messageStreamToDuplex:()=>Ki,mockMuxer:()=>bn,multiaddrConnectionPair:()=>xs,pbStream:()=>hl,pipe:()=>ml,publicAddressesFirst:()=>Bi,reliableTransportsFirst:()=>Pi,repeatingTask:()=>Sh,streamPair:()=>dc,trackedList:()=>Ih,trackedMap:()=>Th,tryGetNetConfig:()=>wr});var we=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var G=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var lr=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},hr=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var Te=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},Dt=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var he=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},tt=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},dr=class extends tt{constructor(e,r){super(!0,e,r)}},mr=class extends tt{constructor(e,r){super(!1,e,r)}};function _c(t){return typeof t?.handleEvent=="function"}function vc(t){return(t!==!0&&t!==!1&&t?.once)??!1}var de=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=vc(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))}_c(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 Tn={};X(Tn,{base58btc:()=>te,base58flickr:()=>Dc});var Nh=new Uint8Array(0);function Cs(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 t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function Is(t){return new TextEncoder().encode(t)}function Ts(t){return new TextDecoder().decode(t)}function Sc(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 T=0,y=0,_=0,k=E.length;_!==k&&E[_]===0;)_++,T++;for(var P=(k-_)*f+1>>>0,W=new Uint8Array(P);_!==k;){for(var $=E[_],xe=0,H=P-1;($!==0||xe<y)&&H!==-1;H--,xe++)$+=256*W[H]>>>0,W[H]=$%a>>>0,$=$/a>>>0;if($!==0)throw new Error("Non-zero carry");y=xe,_++}for(var oe=P-y;oe!==P&&W[oe]===0;)oe++;for(var $e=u.repeat(T);oe<P;++oe)$e+=t.charAt(W[oe]);return $e}function p(E){if(typeof E!="string")throw new TypeError("Expected String");if(E.length===0)return new Uint8Array;var T=0;if(E[T]!==" "){for(var y=0,_=0;E[T]===u;)y++,T++;for(var k=(E.length-T)*l+1>>>0,P=new Uint8Array(k);E[T];){var W=r[E.charCodeAt(T)];if(W===255)return;for(var $=0,xe=k-1;(W!==0||$<_)&&xe!==-1;xe--,$++)W+=a*P[xe]>>>0,P[xe]=W%256>>>0,W=W/256>>>0;if(W!==0)throw new Error("Non-zero carry");_=$,T++}if(E[T]!==" "){for(var H=k-_;H!==k&&P[H]===0;)H++;for(var oe=new Uint8Array(y+(k-H)),$e=y;H!==k;)oe[$e++]=P[H++];return oe}}}function x(E){var T=p(E);if(T)return T;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:p,decode:x}}var Cc=Sc,Ic=Cc,As=Ic;var vn=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")}},Sn=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 Ds(this,e)}},Cn=class{decoders;constructor(e){this.decoders=e}or(e){return Ds(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 Ds(t,e){return new Cn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var In=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 vn(e,r,n),this.decoder=new Sn(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function rt({name:t,prefix:e,encode:r,decode:n}){return new In(t,e,r,n)}function Le({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=As(r,t);return rt({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 Lc(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 Ac(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function N({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Ac(n);return rt({prefix:e,name:t,encode(s){return Lc(s,n,r)},decode(s){return Tc(s,o,r,t)}})}var te=Le({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Dc=Le({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ln={};X(Ln,{base32:()=>me,base32hex:()=>Bc,base32hexpad:()=>Mc,base32hexpadupper:()=>Uc,base32hexupper:()=>Fc,base32pad:()=>Pc,base32padupper:()=>Nc,base32upper:()=>kc,base32z:()=>Oc});var me=N({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),kc=N({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Pc=N({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Nc=N({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bc=N({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Fc=N({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Mc=N({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Uc=N({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Oc=N({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var An={};X(An,{base36:()=>kt,base36upper:()=>Rc});var kt=Le({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Rc=Le({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var $c=Ns,ks=128,zc=127,Vc=~zc,jc=Math.pow(2,31);function Ns(t,e,r){e=e||[],r=r||0;for(var n=r;t>=jc;)e[r++]=t&255|ks,t/=128;for(;t&Vc;)e[r++]=t&255|ks,t>>>=7;return e[r]=t|0,Ns.bytes=r-n+1,e}var qc=Dn,Wc=128,Ps=127;function Dn(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Dn.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Ps)<<o:(i&Ps)*Math.pow(2,o),o+=7}while(i>=Wc);return Dn.bytes=s-n,r}var Hc=Math.pow(2,7),Gc=Math.pow(2,14),Qc=Math.pow(2,21),Xc=Math.pow(2,28),Kc=Math.pow(2,35),Jc=Math.pow(2,42),Yc=Math.pow(2,49),Zc=Math.pow(2,56),eu=Math.pow(2,63),tu=function(t){return t<Hc?1:t<Gc?2:t<Qc?3:t<Xc?4:t<Kc?5:t<Jc?6:t<Yc?7:t<Zc?8:t<eu?9:10},ru={encode:$c,decode:qc,encodingLength:tu},nu=ru,Pt=nu;function Nt(t,e=0){return[Pt.decode(t,e),Pt.decode.bytes]}function nt(t,e,r=0){return Pt.encode(t,e,r),e}function ot(t){return Pt.encodingLength(t)}function it(t,e){let r=e.byteLength,n=ot(t),o=n+ot(r),s=new Uint8Array(o+r);return nt(t,s,0),nt(r,s,n),s.set(e,o),new st(t,r,e,s)}function Bs(t){let e=Ee(t),[r,n]=Nt(e),[o,s]=Nt(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new st(r,o,i,e)}function Fs(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Cs(t.bytes,r.bytes)}}var st=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function Ms(t,e){let{bytes:r,version:n}=t;return n===0?su(r,kn(t),e??te.encoder):iu(r,kn(t),e??me.encoder)}var Us=new WeakMap;function kn(t){let e=Us.get(t);if(e==null){let r=new Map;return Us.set(t,r),r}return e}var at=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==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=it(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&&Fs(e.multihash,n.multihash)}toString(e){return Ms(this,e)}toJSON(){return{"/":Ms(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??Os(n,o,s.bytes))}else if(r[cu]===!0){let{version:n,multihash:o,code:s}=r,i=Bs(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=Os(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 st(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]=Nt(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]=ou(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 kn(s).set(n,e),s}};function ou(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 me.prefix:{let r=e??me;return[me.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 su(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 iu(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 Os(t,e,r){let n=ot(t),o=n+ot(e),s=new Uint8Array(o+r.byteLength);return nt(t,s,0),nt(e,s,n),s.set(r,o),s}var cu=Symbol.for("@ipld/js-cid/CID");var Pn={};X(Pn,{identity:()=>lu});var Rs=0,uu="identity",$s=Ee;function fu(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 it(Rs,$s(t))}var lu={code:Rs,name:uu,encode:$s,digest:fu};function ct(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 K(t=0){return new Uint8Array(t)}function se(t=0){return new Uint8Array(t)}function Ae(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=se(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}var Vs=Symbol.for("@achingbrain/uint8arraylist");function zs(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 ut(t){return!!t?.[Vs]}var B=class t{bufs;length;[Vs]=!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(ut(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(ut(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=zs(this.bufs,e);return r.buf[r.index]}set(e,r){let n=zs(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(ut(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 Ae(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:Ae(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(!ut(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=se(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=K(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=K(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=K(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=se(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=K(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=K(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=K(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=K(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=K(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(!ct(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 Nn={};X(Nn,{base10:()=>hu});var hu=Le({prefix:"9",name:"base10",alphabet:"0123456789"});var Bn={};X(Bn,{base16:()=>du,base16upper:()=>mu});var du=N({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),mu=N({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Fn={};X(Fn,{base2:()=>pu});var pu=N({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Mn={};X(Mn,{base256emoji:()=>wu});var js=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}"),gu=js.reduce((t,e,r)=>(t[r]=e,t),[]),bu=js.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function yu(t){return t.reduce((e,r)=>(e+=gu[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=bu[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var wu=rt({prefix:"\u{1F680}",name:"base256emoji",encode:yu,decode:xu});var Rn={};X(Rn,{base64:()=>Un,base64pad:()=>Eu,base64url:()=>On,base64urlpad:()=>_u});var Un=N({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Eu=N({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),On=N({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),_u=N({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var $n={};X($n,{base8:()=>vu});var vu=N({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var zn={};X(zn,{identity:()=>Su});var Su=rt({prefix:"\0",name:"identity",encode:t=>Ts(t),decode:t=>Is(t)});var gd=new TextEncoder,bd=new TextDecoder;var qn={};X(qn,{sha256:()=>Lu,sha512:()=>Au});var Tu=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??Tu,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?qs(n,this.code,r?.truncate):n.then(o=>qs(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function qs(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 it(e,t)}function Hs(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Lu=jn({name:"sha2-256",code:18,encode:Hs("SHA-256")}),Au=jn({name:"sha2-512",code:19,encode:Hs("SHA-512")});var Mt={...zn,...Fn,...$n,...Nn,...Bn,...Ln,...An,...Tn,...Rn,...Mn},Ad={...qn,...Pn};function Qs(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Gs=Qs("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Wn=Qs("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=se(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Du={utf8:Gs,"utf-8":Gs,hex:Mt.base16,latin1:Wn,ascii:Wn,binary:Wn,...Mt},gr=Du;function F(t,e="utf8"){let r=gr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function ze(t,e="utf8"){let r=gr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}function ku(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 Xs(t=32){ku(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))}var Pu=Math.pow(2,7),Nu=Math.pow(2,14),Bu=Math.pow(2,21),Hn=Math.pow(2,28),Gn=Math.pow(2,35),Qn=Math.pow(2,42),Xn=Math.pow(2,49),C=128,V=127;function j(t){if(t<Pu)return 1;if(t<Nu)return 2;if(t<Bu)return 3;if(t<Hn)return 4;if(t<Gn)return 5;if(t<Qn)return 6;if(t<Xn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function br(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 Fu(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 Mu(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)*Hn,r<C)||(r=t[e+5],n+=(r&V)*Gn,r<C)||(r=t[e+6],n+=(r&V)*Qn,r<C)||(r=t[e+7],n+=(r&V)*Xn,r<C))return n;throw new RangeError("Could not decode varint")}function Uu(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)*Hn,r<C)||(r=t.get(e+5),n+=(r&V)*Gn,r<C)||(r=t.get(e+6),n+=(r&V)*Qn,r<C)||(r=t.get(e+7),n+=(r&V)*Xn,r<C))return n;throw new RangeError("Could not decode varint")}function yr(t,e,r=0){return e==null&&(e=se(j(t))),e instanceof Uint8Array?br(t,e,r):Fu(t,e,r)}function _e(t,e=0){return t instanceof Uint8Array?Mu(t,e):Uu(t,e)}function xr(t){if(isNaN(t)||t<=0)throw new G("random bytes length must be a Number bigger than 0");return Xs(t)}var Kn={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},Ks={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},Js=new globalThis.TextEncoder;function Ou(t,e){let r=Kn[e],n=Ks[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function Ru(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=Kn[e],o=Ks[e],s=t;for(;s.length>0;){let i=Js.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 Jn(t,{size:e=32,utf8Buffer:r}={}){if(!Kn[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 Ru(t,e,r);t=Js.encode(t)}return Ou(t,e)}var De={hash:t=>Number(Jn(t,{size:32})),hashV:(t,e)=>$u(De.hash(t,e))};function $u(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),F(e,"base16")}var zu=Math.LN2*Math.LN2,Ot=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=ju(e.hashes??8),this.bits=e.bits??1024,this.buffer=K(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=F(e));for(let r=0;r<this.seeds.length;r++){let o=De.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=De.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 Ys(t,e=.005){let r=Vu(t,e);return new Ot(r)}function Vu(t,e=.005){let r=Math.round(-1*t*Math.log(e)/zu),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function ju(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new B(xr(4)),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var Yn=64,ie=class{fp;h;seed;constructor(e,r,n,o=2){if(o>Yn)throw new TypeError("Invalid Fingerprint Size");let s=r.hashV(e,n),i=K(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?ct(this.fp,e.fp):!1}};function Ve(t,e){return Math.floor(Math.random()*(e-t))+t}var je=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=Ve(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 qu=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??De,this.seed=e.seed??Ve(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 je(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new je(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let s=[n,o],i=s[Ve(0,s.length-1)];this.buckets[i]==null&&(this.buckets[i]=new je(this.bucketSize));for(let a=0;a<qu;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 je(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}},Wu={1:.5,2:.84,4:.95,8:.98};function Hu(t=.001){return t>.002?2:t>1e-5?4:8}function Zn(t,e=.001){let r=Hu(e),n=Wu[r],o=Math.round(t/n),s=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),Yn);return{filterSize:o,bucketSize:r,fingerprintSize:s}}function Zs(t,e=.005){let r=Zn(t,e);return new ke(r)}var Rt=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??De,this.seed=e.seed??Ve(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=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 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=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 ei(t,e=.001,r){return new Rt({...Zn(t,e),...r??{}})}function wr(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=wr(t);if(e==null)throw new G(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e}var Er=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 ti=45,Gu=15,ft=new Er;function _r(t){if(!(t.length>Gu))return ft.new(t).parseWith(()=>ft.readIPv4Addr())}function vr(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>ti))return ft.new(t).parseWith(()=>ft.readIPv6Addr())}function lt(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>ti)return;let r=ft.new(t).parseWith(()=>ft.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 ri(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 ni(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 eo(t){switch(t.length){case qe:return t.join(".");case We:{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 oi(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 si(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var qe=4,We=16,Pm=parseInt("0xFFFF",16),Qu=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function $t(t,e){e.length===We&&t.length===qe&&ri(e,0,11)&&(e=e.slice(12)),e.length===qe&&t.length===We&&ni(t,Qu,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 ii(t,e){if(typeof e=="string"&&(e=lt(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 to(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=qe,o=_r(e);if(o==null&&(n=We,o=vr(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=ro(s,8*n);return{network:$t(o,i),mask:i}}function ro(t,e){if(e!==8*qe&&e!==8*We)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}=to(e));else{let n=lt(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=lt(r);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=ro(o,8*n.length);this.network=$t(n,this.mask)}}contains(e){return ii({network:this.network,mask:this.mask},e)}toString(){let e=oi(this.mask),r=e!==-1?String(e):si(this.mask);return eo(this.network)+"/"+r}};function Sr(t,e){return new zt(t).contains(e)}function Xu(t){try{let e=ae(t);return e.type==="ip6"?Sr("2000::/3",e.host):!1}catch{return!1}}function Ku(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 ai(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function Cr(t){try{let e=ae(t);switch(e.type){case"ip4":case"ip6":return ai(e.host);default:return!1}}catch{return!1}}function Ju(t){return wr(t)!==null}function Pe(t){return!!_r(t)}function Ne(t){return!!vr(t)}var li=wc(fi(),1),of=["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"],sf=of.map(t=>new li.Netmask(t));function uo(t){for(let e of sf)if(e.contains(t))return!0;return!1}function af(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function cf(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 uo(o)}function uf(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function ff(t){let e=t.split(":"),r=e[e.length-1];return uo(r)}function lf(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 fo(t){if(Pe(t))return uo(t);if(af(t))return cf(t);if(uf(t))return ff(t);if(Ne(t))return lf(t)}function Tr(t){try{let e=ae(t);switch(e.type){case"ip4":case"ip6":return fo(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}var z=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},ve=class extends Error{static name="ValidationError";name="ValidationError"},Lr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Ar=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function ho(t){return e=>ze(e,t)}function mo(t){return e=>F(e,t)}function pt(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Ge(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function hi(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=Ge(n);return Ae([r,o],r.length+o.length)}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!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=me.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=Ge(n);return Ae([r,o],r.length+o.length)}function po(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=ze(e,"base32"),o=pt(r);return`${n}:${o}`}var go=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},mi=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=go(r[n]),r[n]=ze(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,ze(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},pi=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(".")},gi=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 bi(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 lo=Object.values(Mt).map(t=>t.decoder),hf=(function(){let t=lo[0].or(lo[1]);return lo.slice(2).forEach(e=>t=t.or(e)),t})();function yi(t){return hf.decode(t)}function xi(t){return e=>t.encoder.encode(e)}function df(t){if(parseInt(t).toString()!==t)throw new ve("Value must be an integer")}function mf(t){if(t<0)throw new ve("Value must be a positive integer, or zero")}function pf(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 Vt=gf(df,mf,pf(65535));var M=-1,bo=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)}))}},Ce=new bo,Df=[{code:4,name:"ip4",size:32,valueToBytes:go,bytesToValue:pi,validate:t=>{if(!Pe(t))throw new ve(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Ge,bytesToValue:pt,validate:Vt},{code:273,name:"udp",size:16,valueToBytes:Ge,bytesToValue:pt,validate:Vt},{code:33,name:"dccp",size:16,valueToBytes:Ge,bytesToValue:pt,validate:Vt},{code:41,name:"ip6",size:128,valueToBytes:mi,bytesToValue:gi,stringToValue:bi,validate:t=>{if(!Ne(t))throw new ve(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:M},{code:43,name:"ipcidr",size:8,bytesToValue:ho("base10"),valueToBytes:mo("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:Ge,bytesToValue:pt,validate:Vt},{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:ho("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?mo("base58btc")(t):at.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:po,valueToBytes:hi},{code:445,name:"onion3",size:296,bytesToValue:po,valueToBytes:di},{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:xi(On),valueToBytes:yi},{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}];Df.forEach(t=>{Ce.addProtocol(t)});function wi(t){let e=[],r=0;for(;r<t.length;){let n=_e(t,r),o=Ce.getProtocol(n),s=j(n),i=kf(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:t.subarray(r,r+u)};if(i>0){let f=r+s+a,h=t.subarray(f,f+i);l.value=o.bytesToValue?.(h)??ze(h)}e.push(l),r+=u}return e}function Ei(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=Ce.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;br(n.code,l,f),f+=s,i!=null&&(o.size===M&&(br(a,l,f),f+=u),l.set(i,f)),n.bytes=l}r.push(n.bytes),e+=n.bytes.byteLength}return Ae(r,e)}function _i(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=Ce.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 vi(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=Ce.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 kf(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:_e(e,r)}var Pf=Symbol.for("nodejs.util.inspect.custom"),ko=Symbol.for("@multiformats/multiaddr");function Nf(t){if(t==null&&(t="/"),Si(t))return t.getComponents();if(t instanceof Uint8Array)return wi(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),_i(t);if(Array.isArray(t))return t;throw new z("Must be a string, Uint8Array, Component[], or another Multiaddr")}var Or=class t{[ko]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=Nf(e),r.validate!==!1&&Bf(this)}get bytes(){return this.#r==null&&(this.#r=Ei(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=vi(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 Lr(`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 ct(this.bytes,e.bytes)}[Pf](){return`Multiaddr(${this.toString()})`}};function Bf(t){t.getComponents().forEach(e=>{let r=Ce.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function Si(t){return!!t?.[ko]}function Fe(t){return new Or(t)}var L=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)}}),Ci=t=>({match:e=>t.match(e)===!1?e:!1}),w=t=>({match:e=>{let r=t.match(e);return r===!1?e:r}}),q=(...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 Ff=b(421),rg=A(Ff),$r=b(54),zr=b(55),Vr=b(56),No=b(53),ng=A($r,w(b(421))),og=A(zr,w(b(421))),sg=A(Vr,w(b(421))),ig=A(q(No,Vr,$r,zr),w(b(421))),Ii=v(b(4),w(b(43))),Ti=v(w(b(42)),b(41),w(b(43))),Bo=q(Ii,Ti),xt=q(Bo,No,$r,zr,Vr),ag=A(q(Bo,v(q(No,Vr,$r,zr),w(b(421))))),cg=A(Ii),ug=A(Ti),fg=A(Bo),Fo=v(xt,b(6)),jt=v(xt,b(273)),Mo=A(v(Fo,w(b(421)))),lg=A(jt),Uo=v(jt,L(460),w(b(421))),jr=v(jt,L(461),w(b(421))),Mf=q(Uo,jr),hg=A(Uo),dg=A(jr),Po=q(xt,Fo,jt,Uo,jr),Li=q(v(Po,L(477),w(b(421)))),Oo=A(Li),Ai=q(v(Po,L(478),w(b(421))),v(Po,L(448),w(b(449)),L(477),w(b(421)))),Ro=A(Ai),Di=v(jt,L(280),w(b(466)),w(b(466)),w(b(421))),$o=A(Di),ki=v(jr,L(465),w(b(466)),w(b(466)),w(b(421))),zo=A(ki),Rr=q(Li,Ai,v(Fo,w(b(421))),v(Mf,w(b(421))),v(xt,w(b(421))),Di,ki,b(421)),mg=A(Rr),Uf=v(w(Rr),L(290),Ci(L(281)),w(b(421))),Vo=A(Uf),Of=q(v(Rr,L(290),L(281),w(b(421))),v(Rr,L(281),w(b(421))),v(L(281),w(b(421)))),jo=A(Of),Rf=v(xt,q(v(b(6,"80")),v(b(6),L(480)),L(480)),w(b(481)),w(b(421))),pg=A(Rf),$f=v(xt,q(v(b(6,"443")),v(b(6,"443"),L(480)),v(b(6),L(443)),v(b(6),L(448),L(480)),v(L(448),L(480)),L(448),L(443)),w(b(481)),w(b(421))),gg=A($f),zf=q(v(b(777),w(b(421)))),bg=A(zf),Vf=q(v(b(400),w(b(421)))),yg=A(Vf);function Pi(t,e){let r=Mo.exactMatch(t),n=Mo.exactMatch(e);if(r&&!n)return-1;if(!r&&n)return 1;let o=Ro.exactMatch(t),s=Ro.exactMatch(e);if(o&&!s)return-1;if(!o&&s)return 1;let i=Oo.exactMatch(t),a=Oo.exactMatch(e);if(i&&!a)return-1;if(!i&&a)return 1;let u=jo.exactMatch(t),l=jo.exactMatch(e);if(u&&!l)return-1;if(!u&&l)return 1;let f=$o.exactMatch(t),h=$o.exactMatch(e);if(f&&!h)return-1;if(!f&&h)return 1;let p=zo.exactMatch(t),x=zo.exactMatch(e);return p&&!x?-1:!p&&x?1:0}function Ni(t,e){let r=Cr(t),n=Cr(e);return r&&!n?1:!r&&n?-1:0}function Bi(t,e){let r=Tr(t),n=Tr(e);return r&&!n?1:!r&&n?-1:0}function Fi(t,e){let r=Vo.exactMatch(t),n=Vo.exactMatch(e);return r&&!n?1:!r&&n?-1:0}function jf(t){return t.sort((e,r)=>Ni(e,r)||Bi(e,r)||Fi(e,r)||Pi(e,r))}function ce(){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}},wt=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 qo=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 qf(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 qf(t,e){e=e??{};let r=e.onEnd,n=new wt,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 wt,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 wt,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((W,$)=>{P=()=>{$(new qo)},_.addEventListener("abort",P)}));try{await Promise.race([a.promise,k])}finally{P!=null&&_!=null&&_?.removeEventListener("abort",P)}}},r==null)return o;let T=o;return o={[Symbol.asyncIterator](){return this},next(){return T.next()},throw(y){return T.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return T.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(y){return T.end(y),r!=null&&(r(y),r=void 0),o},get readableLength(){return T.readableLength},onEmpty:y=>T.onEmpty(y)},o}var Wo=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},Mi=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function Ho(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(Mi(i));return}if(i&&(u=()=>{p(Mi(i))},i.addEventListener("abort",u,{once:!0})),t.then(h,p),r===Number.POSITIVE_INFINITY)return;let x=new Wo;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 Wf=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 Hf(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}=Wf(t),h=async(...x)=>{let E=r.multiArgs?x:x[0];if(r.filter)try{if(!await r.filter(E))return}catch(T){n(),i(T);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=Ho(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=Hf(t,e,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}function Et(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}},Wt=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"},Ht=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},Gt=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function Gf(t){return t.reason}async function O(t,e,r){if(e==null)return t;let n=r?.translateError??Gf;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 Wr=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 we)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function Qf(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Hr=class{id;fn;options;recipients;status;timeline;controller;dispatchingProgress;constructor(e,r){this.id=Qf(),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 we),this.cleanup())}async join(e){let r=new Wr(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 de{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=Et(this.emitEmpty.bind(this),1),this.emitIdle=Et(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 Wt;let n=new Hr(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 we)}),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 we("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 Xf=Math.pow(2,20)*4,Xe=class extends de{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??Xf,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new B,this.writeBuffer=new B,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 Gt)};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 Te(`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 dr(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Te("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 Te("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 Te(`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 Te(`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 hr;this.dispatchEvent(new mr(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 tt))}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 B(s);this.writeBuffer.consume(s.byteLength);let a=this.sendData(s);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 he(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 Dt(`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 Dt(`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 Qt=class extends Xe{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 Go(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var Xt=class extends de{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 lr;let r=this.onCreateStream({...this.streamOptions,...e});return Go(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 Ke=class extends Xe{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 Gr(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 Je=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 Ui=1.2,Oi=2,Ri=5e3,$i=6e4,zi=5e3,Qo=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??zi;this.success=new Je(r),this.failure=new Je(r),this.next=new Je(r),this.failureMultiplier=e.failureMultiplier??Oi,this.timeoutMultiplier=e.timeoutMultiplier??Ui,this.minTimeout=e.minTimeout??Ri,this.maxTimeout=e.maxTimeout??$i,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=Gr([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 Vi(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),Fe(`/${n.join("/")}`)}function Kf(t,e){if(t==null)return[];let r=ae(t);return[Vi(r,e)]}function Jf(t){return Ne(t)?Sr("2000::/3",t):!1}function Yf(t,e){if(typeof t!="string")throw new G(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new G(`invalid port provided: ${e}`);if(Pe(t))return Fe(`/ip4/${t}/tcp/${e}`);if(Ne(t))return Fe(`/ip6/${t}/tcp/${e}`);throw new G(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function Zf(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function el(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var Xo=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 ji(){return new Xo}function tl(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*nl(t){let e=new AbortController,r=ji();rl(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*ol(t){for(let e of t)yield*e}function sl(...t){let e=[];for(let r of t)tl(r)||e.push(r);return e.length===t.length?ol(e):nl(t)}var qi=sl;function Wi(t,...e){if(t==null)throw new Error("Empty pipeline");if(Ko(t)){let n=t;t=()=>n.source}else if(Gi(t)||Hi(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Ko(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++)Ko(r[n])&&(r[n]=al(r[n]));return il(...r)}var il=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Hi=t=>t?.[Symbol.asyncIterator]!=null,Gi=t=>t?.[Symbol.iterator]!=null,Ko=t=>t==null?!1:t.sink!=null&&t.source!=null,al=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(Gi(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 cl=4194304,Kt=class extends Error{static name="UnwrappedError";name="UnwrappedError"},_t=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 ul(t){return typeof t?.closeRead=="function"}function fl(t){return typeof t?.close=="function"}function Jo(t){return ul(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:fl(t)?t.status!=="open":!1}function ll(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function Qi(t,e){let r=e?.maxBufferSize??cl,n=new B,o,s=!1;if(!ll(t))throw new G("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 Kt("Stream was unwrapped");if(Jo(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(o.promise,f?.signal),Jo(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(Jo(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 x=n.sublist(0,p);return n.consume(p),x},async write(f,h){if(s===!0)throw new Kt("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 Xi(t,e={}){let r=Qi(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=j(e.maxDataLength));let n=e?.lengthDecoder??_e,o=e?.lengthEncoder??yr;return{async read(i){let a=-1,u=new B;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 _t("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 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 B(o(i.byteLength),i),a)},async writeV(i,a){let u=new B(...i.flatMap(l=>[o(l.byteLength),l]));await r.write(u,a)},unwrap(){return r.unwrap()}}}function hl(t,e){let r=Xi(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 Yo(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 dl(t){return t?.addEventListener!=null}function Ki(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 ml(...t){let e=t.map(r=>dl(r)?Ki(r):r);return Wi(...e)}var pl=1024*1024*4,gl=1024*1024*4,Zo=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new B,this.maxBufferSize=e.maxBufferSize??pl,this.maxDataLength=e.maxDataLength??gl,this.lengthDecoder=e.lengthDecoder??_e,this.encodingLength=e.encodingLength??j}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new G(`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 _t("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 bl(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var yl=["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 es(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=xl(t);return r||"Object"}function xl(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(yl.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 Jt=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",wl=new TextEncoder;function Kr(t){return Jt&&globalThis.Buffer.isBuffer(t)}function Yt(t){return t instanceof Uint8Array?Kr(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var El=24,_l=200,Jr=Jt?t=>t.length>=El?globalThis.Buffer.from(t):Ji(t):t=>t.length>=_l?wl.encode(t):Ji(t),be=t=>Uint8Array.from(t),Yi=Jt?(t,e,r)=>Kr(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Zi=Jt?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Yt(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},ea=Jt?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 Ji(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 vl=256,Zt=class{constructor(e=vl){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=ea(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=Yi(n,0,this.cursor)}else r=Zi(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:",er=[];er[23]=1;er[24]=2;er[25]=3;er[26]=5;er[27]=9;function Ie(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){Ie(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){Ie(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){Ie(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){Ie(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 ta(t,e,r,n){return new m(c.uint,J(t,e+1,n),2)}function ra(t,e,r,n){return new m(c.uint,Y(t,e+1,n),3)}function na(t,e,r,n){return new m(c.uint,Z(t,e+1,n),5)}function oa(t,e,r,n){return new m(c.uint,ee(t,e+1,n),9)}function re(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`)}}re.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};re.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function sa(t,e,r,n){return new m(c.negint,-1-J(t,e+1,n),2)}function ia(t,e,r,n){return new m(c.negint,-1-Y(t,e+1,n),3)}function aa(t,e,r,n){return new m(c.negint,-1-Z(t,e+1,n),5)}var ts=BigInt(-1),ca=BigInt(1);function ua(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,ts-BigInt(o),9)}function tn(t,e){let r=e.value,n=typeof r=="bigint"?r*ts-ca:r*-1-1;D(t,e.type.majorEncoded,n)}tn.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*ts-ca: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 tr(t,e,r,n){Ie(t,e,r+n);let o=t.slice(e+r,e+r+n);return new m(c.bytes,o,r+n)}function fa(t,e,r,n){return tr(t,e,1,r)}function la(t,e,r,n){return tr(t,e,2,J(t,e+1,n))}function ha(t,e,r,n){return tr(t,e,3,Y(t,e+1,n))}function da(t,e,r,n){return tr(t,e,5,Z(t,e+1,n))}function ma(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 tr(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 vt(t,e){let r=rn(e);D(t,e.type.majorEncoded,r.length),t.push(r)}vt.encodedSize=function(e){let r=rn(e);return D.encodedSize(r.length)+r.length};vt.compareTokens=function(e,r){return Cl(rn(e),rn(r))};function Cl(t,e){return t.length<e.length?-1:t.length>e.length?1:Yr(t,e)}var pa=new TextDecoder,Tl=32;function Ll(t,e,r){if(r-e<Tl){let o="";for(let s=e;s<r;s++){let i=t[s];if(i&128)return pa.decode(t.subarray(e,r));o+=String.fromCharCode(i)}return o}return pa.decode(t.subarray(e,r))}function rr(t,e,r,n,o){let s=r+n;Ie(t,e,s);let i=new m(c.string,Ll(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=t.slice(e+r,e+s)),i}function ga(t,e,r,n){return rr(t,e,1,r,n)}function ba(t,e,r,n){return rr(t,e,2,J(t,e+1,n),n)}function ya(t,e,r,n){return rr(t,e,3,Y(t,e+1,n),n)}function xa(t,e,r,n){return rr(t,e,5,Z(t,e+1,n),n)}function wa(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 rr(t,e,9,o,n)}var Ea=vt;function St(t,e,r,n){return new m(c.array,n,r)}function _a(t,e,r,n){return St(t,e,1,r)}function va(t,e,r,n){return St(t,e,2,J(t,e+1,n))}function Sa(t,e,r,n){return St(t,e,3,Y(t,e+1,n))}function Ca(t,e,r,n){return St(t,e,5,Z(t,e+1,n))}function Ia(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 St(t,e,9,o)}function Ta(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return St(t,e,1,1/0)}function nn(t,e){D(t,c.array.majorEncoded,e.value)}nn.compareTokens=re.compareTokens;nn.encodedSize=function(e){return D.encodedSize(e.value)};function Ct(t,e,r,n){return new m(c.map,n,r)}function La(t,e,r,n){return Ct(t,e,1,r)}function Aa(t,e,r,n){return Ct(t,e,2,J(t,e+1,n))}function Da(t,e,r,n){return Ct(t,e,3,Y(t,e+1,n))}function ka(t,e,r,n){return Ct(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 map lengths not supported`);return Ct(t,e,9,o)}function Na(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 on(t,e){D(t,c.map.majorEncoded,e.value)}on.compareTokens=re.compareTokens;on.encodedSize=function(e){return D.encodedSize(e.value)};function Ba(t,e,r,n){return new m(c.tag,r,1)}function Fa(t,e,r,n){return new m(c.tag,J(t,e+1,n),2)}function Ma(t,e,r,n){return new m(c.tag,Y(t,e+1,n),3)}function Ua(t,e,r,n){return new m(c.tag,Z(t,e+1,n),5)}function Oa(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=re.compareTokens;sn.encodedSize=function(e){return D.encodedSize(e.value)};var rs=20,ns=21,os=22,ss=23;function Ra(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 $a(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 is(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 za(t,e,r,n){return is(as(t,e+1),3,n)}function Va(t,e,r,n){return is(cs(t,e+1),5,n)}function ja(t,e,r,n){return is(Ga(t,e+1),9,n)}function nr(t,e,r){let n=e.value;if(n===!1)t.push([c.float.majorEncoded|rs]);else if(n===!0)t.push([c.float.majorEncoded|ns]);else if(n===null)t.push([c.float.majorEncoded|os]);else if(n===void 0)t.push([c.float.majorEncoded|ss]);else{let o,s=!1;(!r||r.float64!==!0)&&(Wa(n),o=as(fe,1),n===o||Number.isNaN(n)?(fe[0]=249,t.push(fe.slice(0,3)),s=!0):(Ha(n),o=cs(fe,1),n===o&&(fe[0]=250,t.push(fe.slice(0,5)),s=!0))),s||(Nl(n),o=Ga(fe,1),fe[0]=251,t.push(fe.slice(0,9)))}}nr.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){Wa(n);let o=as(fe,1);if(n===o||Number.isNaN(n))return 3;if(Ha(n),o=cs(fe,1),n===o)return 5}return 9};var qa=new ArrayBuffer(9),ne=new DataView(qa,1),fe=new Uint8Array(qa,0);function Wa(t){if(t===1/0)ne.setUint16(0,31744,!1);else if(t===-1/0)ne.setUint16(0,64512,!1);else if(Number.isNaN(t))ne.setUint16(0,32256,!1);else{ne.setFloat32(0,t);let e=ne.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)ne.setUint16(0,31744,!1);else if(r===0)ne.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?ne.setUint16(0,0):o<-14?ne.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):ne.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function as(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){ne.setFloat32(0,t,!1)}function cs(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 Nl(t){ne.setFloat64(0,t,!1)}function Ga(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)}nr.compareTokens=re.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]=ta;d[25]=ra;d[26]=na;d[27]=oa;d[28]=S;d[29]=S;d[30]=S;d[31]=S;for(let t=32;t<=55;t++)d[t]=S;d[56]=sa;d[57]=ia;d[58]=aa;d[59]=ua;d[60]=S;d[61]=S;d[62]=S;d[63]=S;for(let t=64;t<=87;t++)d[t]=fa;d[88]=la;d[89]=ha;d[90]=da;d[91]=ma;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]=ga;d[120]=ba;d[121]=ya;d[122]=xa;d[123]=wa;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]=_a;d[152]=va;d[153]=Sa;d[154]=Ca;d[155]=Ia;d[156]=S;d[157]=S;d[158]=S;d[159]=Ta;for(let t=160;t<=183;t++)d[t]=La;d[184]=Aa;d[185]=Da;d[186]=ka;d[187]=Pa;d[188]=S;d[189]=S;d[190]=S;d[191]=Na;for(let t=192;t<=215;t++)d[t]=Ba;d[216]=Fa;d[217]=Ma;d[218]=Ua;d[219]=Oa;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]=Ra;d[248]=an("simple values are not supported");d[249]=za;d[250]=Va;d[251]=ja;d[252]=S;d[253]=S;d[254]=S;d[255]=$a;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 us(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 Fl={float64:!1,mapSorter:Ol,quickEncodeToken:us},Ya=Object.freeze({float64:!0,mapSorter:Rl,quickEncodeToken:us});function Ml(){let t=[];return t[c.uint.major]=re,t[c.negint.major]=tn,t[c.bytes.major]=vt,t[c.string.major]=Ea,t[c.array.major]=nn,t[c.map.major]=on,t[c.tag.major]=sn,t[c.float.major]=nr,t}var Tt=Ml(),cn=new Zt,sr=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)}},Ue={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?Ue.true:Ue.false},null(t,e,r,n){return Ue.null},undefined(t,e,r,n){return Ue.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?[Ue.emptyArray,new m(c.break)]:Ue.emptyArray;n=sr.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=It(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=sr.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++]=[It(f,r,n),It(h,r,n)])}l<i&&(a.length=l)}return a?.length?(Ul(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?[Ue.emptyMap,new m(c.break)]:Ue.emptyMap},Tagged(t,e,r,n){return[new m(c.tag,t.tag),It(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 It(t,e={},r){let n=es(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 Ul(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Ol(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 Rl(t,e){if(t[0]instanceof m&&e[0]instanceof m){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=Qa(r.value)),n._keyBytes||(n._keyBytes=Qa(n.value)),Yr(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function Qa(t){return ec(t,Tt,Ya)}function or(t,e,r,n){if(Array.isArray(e))for(let o of e)or(t,o,r,n);else r[e.type.major](t,e,n)}var Xa=c.uint.majorEncoded,Ka=c.negint.majorEncoded,$l=c.bytes.majorEncoded,zl=c.string.majorEncoded,Ja=c.array.majorEncoded,Vl=c.float.majorEncoded|rs,jl=c.float.majorEncoded|ns,ql=c.float.majorEncoded|os,Wl=c.float.majorEncoded|ss,Hl=BigInt(-1),Gl=BigInt(1);function Ql(t){return t.addBreakTokens!==!0}function Za(t,e,r,n){let o=es(e),s=r.typeEncoders&&r.typeEncoders[o];if(s){let i=s(e,o,r,n);if(i!=null){or(t,i,Tt,r);return}}switch(o){case"null":t.push([ql]);return;case"undefined":t.push([Wl]);return;case"boolean":t.push([e?jl:Vl]);return;case"number":!Number.isInteger(e)||!Number.isSafeInteger(e)?nr(t,new m(c.float,e),r):e>=0?D(t,Xa,e):D(t,Ka,e*-1-1);return;case"bigint":e>=BigInt(0)?D(t,Xa,e):D(t,Ka,e*Hl-Gl);return;case"string":{let i=Jr(e);D(t,zl,i.length),t.push(i);return}case"Uint8Array":D(t,$l,e.length),t.push(e);return;case"Array":if(!e.length){t.push([Ja]);return}n=sr.createCheck(n,e),D(t,Ja,e.length);for(let i of e)Za(t,i,r,n);return;case"Object":case"Map":{let i=ye.Object(e,o,r,n);or(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);or(t,a,Tt,r)}}}function ec(t,e,r,n){let o=n instanceof Uint8Array,s=o?new Zr(n):cn,i=It(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 Zt(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():Yt(s.chunks[0])}}return s.reset(),or(s,i,e,r),s.toBytes(!0)}function fs(t,e){return e=Object.assign({},Fl,e),Ql(e)?(cn.reset(),Za(cn,t,e,void 0),cn.toBytes(!0)):ec(t,Tt,e)}var Xl={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}},Oe=Symbol.for("DONE"),Lt=Symbol.for("BREAK");function Kl(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=Re(e,r);if(s===Lt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed array`)}if(s===Oe)throw new Error(`${g} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function Jl(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=Re(e,r);if(u===Lt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(u===Oe)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=Re(e,r);if(l===Oe)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*Yl(t,e,r){for(let n=0;n<t.value;n++){let o=Re(e,r);if(o===Lt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(o===Oe)throw new Error(`${g} found map but not enough entries (got ${n} [no key], expected ${t.value})`);let s=Re(e,r);if(s===Oe)throw new Error(`${g} found map but not enough entries (got ${n} [no value], expected ${t.value})`);yield[o,s]}}function Zl(t,e){let r=!1,n=function(){if(r)throw new Error(`${g} tag decode() may only be called once`);r=!0;let o=Re(t,e);if(o===Oe)throw new Error(`${g} tag content missing`);if(o===Lt)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 Yl(o,t,e))s.push(i);return s},Object.defineProperty(n,"_called",{get(){return r},enumerable:!1}),n}function Re(t,e){if(t.done())return Oe;let r=t.next();if(c.equals(r.type,c.break))return Lt;if(r.type.terminal)return r.value;if(c.equals(r.type,c.array))return Kl(r,t,e);if(c.equals(r.type,c.map))return Jl(r,t,e);if(c.equals(r.type,c.tag)){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Zl(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 tc(t,e){if(!(t instanceof Uint8Array))throw new Error(`${g} data to decode must be a Uint8Array`);e=Object.assign({},Xl,e);let r=Yt(t),n=e.tokenizer||new un(r,e),o=Re(n,e);if(o===Oe)throw new Error(`${g} did not find any content to decode`);if(o===Lt)throw new Error(`${g} got unexpected break`);return[o,t.subarray(n.pos())]}function ls(t,e){let[r,n]=tc(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"},At=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},hn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},ir=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function dn(t){return t[Symbol.asyncIterator]!=null}function rc(t,e){if(t.byteLength>e)throw new At("Message length too long")}var pn=t=>{let e=j(t),r=se(e);return yr(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){rc(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 rc(t,n),new B(r(t.byteLength),t)};var Ze;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Ze||(Ze={}));var hs=t=>{let e=_e(t);return hs.bytes=j(e),e};hs.bytes=0;function ar(t,e){let r=new B,n=Ze.LENGTH,o=-1,s=e?.lengthDecoder??hs,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;r.byteLength>0;){if(n===Ze.LENGTH)try{if(o=s(r),o<0)throw new ln("Invalid message length");if(o>a)throw new At("Message length too long");let l=s.bytes;r.consume(l),e?.onLength!=null&&e.onLength(o),n=Ze.DATA}catch(l){if(l instanceof RangeError){if(r.byteLength>i)throw new hn("Message length length too long");break}throw l}if(n===Ze.DATA){if(r.byteLength<o)break;let l=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(l),yield l,n=Ze.LENGTH}}}return dn(t)?(async function*(){for await(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new ir("Unexpected end of input")})():(function*(){for(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new ir("Unexpected end of input")})()}ar.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 ar(n,{...e??{},onLength:s=>{r=s}})};var ds=class extends Ke{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()}},nc=30,ms=class extends Xt{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)+nc,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 ar(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(ls(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=fs(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 ds({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-nc,protocol:""})}},ps=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new ms(e,{...this.init})}};function bn(t={}){return new ps(t)}function nh(t,e){if(typeof t=="string")return oh(t);if(typeof t=="number")return ah(t,e);throw Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}var yn=nh;function oh(t){if(typeof t!="string"||t.length===0||t.length>100)throw Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(t)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(t);if(!e?.groups)return NaN;let{value:r,unit:n="ms"}=e.groups,o=parseFloat(r),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 Error(`Unknown unit "${s}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function sh(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 ih(t){let e=Math.abs(t);return e>=315576e5?et(t,e,315576e5,"year"):e>=26298e5?et(t,e,26298e5,"month"):e>=6048e5?et(t,e,6048e5,"week"):e>=864e5?et(t,e,864e5,"day"):e>=36e5?et(t,e,36e5,"hour"):e>=6e4?et(t,e,6e4,"minute"):e>=1e3?et(t,e,1e3,"second"):`${t} ms`}function ah(t,e){if(typeof t!="number"||!Number.isFinite(t))throw Error("Value provided to ms.format() must be of type number.");return e?.long?ih(t):sh(t)}function et(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function gs(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,T;function y(..._){if(!y.enabled)return;let k=y,P=Number(new Date),W=P-(p||P);k.diff=W,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,(H,oe)=>{if(H==="%%")return"%";$++;let $e=r.formatters[oe];if(typeof $e=="function"){let mc=_[$];H=$e.call(k,mc),_.splice($,1),$--}return H}),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,T=r.enabled(f)),T),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=mh(),ch=["#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 uh(){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 fh(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 lh=console.debug??console.log??(()=>{});function hh(t){try{t?xn?.setItem("debug",t):xn?.removeItem("debug")}catch{}}function dh(){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 mh(){try{return localStorage}catch{}}function ph(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var oc=gs({formatArgs:fh,save:hh,load:dh,useColors:uh,setupFormatters:ph,colors:ch,storage:xn,log:lh});var Q=oc;Q.formatters.b=t=>t==null?"undefined":te.baseEncode(t);Q.formatters.t=t=>t==null?"undefined":me.baseEncode(t);Q.formatters.m=t=>t==null?"undefined":Un.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 sc(t,e=""){let r=ic(t.message),n=ic(t.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
2
+ "use strict";var Libp2PUtils=(()=>{var Pu=Object.create;var Ir=Object.defineProperty;var Bu=Object.getOwnPropertyDescriptor;var Nu=Object.getOwnPropertyNames;var Mu=Object.getPrototypeOf,Fu=Object.prototype.hasOwnProperty;var Vn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),P=(t,e)=>{for(var r in e)Ir(t,r,{get:e[r],enumerable:!0})},di=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Nu(e))!Fu.call(t,o)&&o!==r&&Ir(t,o,{get:()=>e[o],enumerable:!(n=Bu(e,o))||n.enumerable});return t};var Ou=(t,e,r)=>(r=t!=null?Pu(Mu(t)):{},di(e||!t||!t.__esModule?Ir(r,"default",{value:t,enumerable:!0}):r,t)),Ru=t=>di(Ir({},"__esModule",{value:!0}),t);var Ho=Vn(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.Netmask4Impl=void 0;Et.ip2long=wt;Et.long2ip=be;function be(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 Ih=48,Ah=97,Lh=65;function Th(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)-Ih)>>>0;else if(r===16)if("a"<=t[o]&&t[o]<="f")e=e*r+(10+t.charCodeAt(o)-Ah)>>>0;else if("A"<=t[o]&&t[o]<="F")e=e*r+(10+t.charCodeAt(o)-Lh)>>>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 wt(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]=Th(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 Go=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=wt(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=(wt(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=be(this.netLong),this.mask=be(this.maskLong),this.hostmask=be(~this.maskLong),this.first=this.bitmask<=30?be(this.netLong+1):this.base,this.last=this.bitmask<=30?be(this.netLong+this.size-2):be(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?be(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):(wt(e)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0}next(e=1){return new t(be(this.netLong+this.size*e),this.mask)}forEach(e){let r=wt(this.first),n=wt(this.last),o=0;for(;r<=n;)e(be(r),r,o),o++,r++}toString(){return this.base+"/"+this.bitmask}};Et.Netmask4Impl=Go});var _a=Vn(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.Netmask6Impl=void 0;vt.ip6bigint=Qo;vt.bigint2ip6=Xe;var Dh=Ho(),Xo=(1n<<128n)-1n;function Qo(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,Dh.ip2long)(n),s=t.substring(0,r+1)+"0:0";return va(s)&~0xffffffffn|BigInt(o)}return va(t)}function va(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>Xo)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 Ko=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=Xo>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=Qo(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&Xo),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):(Qo(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}};vt.Netmask6Impl=Ko});var Sa=Vn(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.long2ip=Fe.ip2long=Fe.Netmask=void 0;var qr=Ho();Object.defineProperty(Fe,"ip2long",{enumerable:!0,get:function(){return qr.ip2long}});Object.defineProperty(Fe,"long2ip",{enumerable:!0,get:function(){return qr.long2ip}});var kh=_a(),Jo=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 kh.Netmask6Impl(e,r):this._impl=new qr.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 qr.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()}};Fe.Netmask=Jo});var tm={};P(tm,{AbstractMessageStream:()=>Ye,AbstractMultiaddrConnection:()=>fr,AbstractStream:()=>Ze,AbstractStreamMuxer:()=>lr,AdaptiveTimeout:()=>Fs,BloomFilter:()=>Yt,CuckooFilter:()=>Be,DEFAULT_FAILURE_MULTIPLIER:()=>tc,DEFAULT_INTERVAL:()=>oc,DEFAULT_MAX_TIMEOUT:()=>nc,DEFAULT_MIN_TIMEOUT:()=>rc,DEFAULT_TIMEOUT_MULTIPLIER:()=>ec,InvalidDataLengthError:()=>mn,InvalidDataLengthLengthError:()=>gn,InvalidMessageLengthError:()=>Dt,LengthPrefixedDecoder:()=>Vs,MaxEarlyStreamsError:()=>cr,MemoryStorage:()=>zn,MockStream:()=>ii,MovingAverage:()=>et,PeerQueue:()=>ui,PriorityQueue:()=>fi,Queue:()=>fe,QueueFullError:()=>ar,RateLimitError:()=>ir,RateLimiter:()=>li,ScalableCuckooFilter:()=>Zt,StreamClosedError:()=>ur,UnexpectedEOFError:()=>Re,UnwrappedError:()=>hr,byteStream:()=>lc,circuitRelayAddressesLast:()=>Ya,createBloomFilter:()=>ha,createCuckooFilter:()=>da,createScalableCuckooFilter:()=>pa,debounce:()=>Tt,defaultMultiaddrSorter:()=>bd,echo:()=>zs,echoStream:()=>Yp,getNetConfig:()=>ce,getThinWaistAddresses:()=>Sd,ipPortToMultiaddr:()=>Id,isAsyncGenerator:()=>Ad,isGenerator:()=>Ld,isGlobalUnicast:()=>_h,isGlobalUnicastIp:()=>Cd,isLinkLocal:()=>Sh,isLinkLocalIp:()=>Wd,isLoopback:()=>jr,isNetworkAddress:()=>Ch,isPrivate:()=>Wr,isPrivateIp:()=>Zo,isPromise:()=>Ms,loopbackAddressLast:()=>Ka,lpStream:()=>hc,messageStreamToDuplex:()=>dc,mockMuxer:()=>Fn,multiaddrConnectionPair:()=>ci,pbStream:()=>$d,pipe:()=>Vd,publicAddressesFirst:()=>Ja,reliableTransportsFirst:()=>Qa,repeatingTask:()=>Jp,streamPair:()=>ku,trackedList:()=>Zp,trackedMap:()=>em,tryGetNetConfig:()=>Or});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 Ar=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},Lr=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var De=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},Ot=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}},ot=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},Tr=class extends ot{constructor(e,r){super(!0,e,r)}},Dr=class extends ot{constructor(e,r){super(!1,e,r)}};function $u(t){return typeof t?.handleEvent=="function"}function zu(t){return(t!==!0&&t!==!1&&t?.once)??!1}var pe=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=zu(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))}$u(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 Hn={};P(Hn,{base58btc:()=>oe,base58flickr:()=>Xu});var im=new Uint8Array(0);function pi(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 ve(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")}function mi(t){return new TextEncoder().encode(t)}function gi(t){return new TextDecoder().decode(t)}function Vu(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(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var E=0,y=0,w=0,S=g.length;w!==S&&g[w]===0;)w++,E++;for(var C=(S-w)*f+1>>>0,T=new Uint8Array(C);w!==S;){for(var D=g[w],z=0,U=C-1;(D!==0||z<y)&&U!==-1;U--,z++)D+=256*T[U]>>>0,T[U]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");y=z,w++}for(var R=C-y;R!==C&&T[R]===0;)R++;for(var ne=u.repeat(E);R<C;++R)ne+=t.charAt(T[R]);return ne}function m(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var E=0;if(g[E]!==" "){for(var y=0,w=0;g[E]===u;)y++,E++;for(var S=(g.length-E)*l+1>>>0,C=new Uint8Array(S);g[E];){var T=r[g.charCodeAt(E)];if(T===255)return;for(var D=0,z=S-1;(T!==0||D<w)&&z!==-1;z--,D++)T+=a*C[z]>>>0,C[z]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");w=D,E++}if(g[E]!==" "){for(var U=S-w;U!==S&&C[U]===0;)U++;for(var R=new Uint8Array(y+(S-U)),ne=y;U!==S;)R[ne++]=C[U++];return R}}}function v(g){var E=m(g);if(E)return E;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:m,decode:v}}var ju=Vu,qu=ju,xi=qu;var jn=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")}},qn=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 yi(this,e)}},Wn=class{decoders;constructor(e){this.decoders=e}or(e){return yi(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 yi(t,e){return new Wn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Gn=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 jn(e,r,n),this.decoder=new qn(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function st({name:t,prefix:e,encode:r,decode:n}){return new Gn(t,e,r,n)}function ke({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=xi(r,t);return st({prefix:e,name:t,encode:n,decode:s=>ve(o(s))})}function Wu(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 Gu(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 Hu(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function F({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Hu(n);return st({prefix:e,name:t,encode(s){return Gu(s,n,r)},decode(s){return Wu(s,o,r,t)}})}var oe=ke({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Xu=ke({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Xn={};P(Xn,{base32:()=>me,base32hex:()=>Yu,base32hexpad:()=>ef,base32hexpadupper:()=>tf,base32hexupper:()=>Zu,base32pad:()=>Ku,base32padupper:()=>Ju,base32upper:()=>Qu,base32z:()=>rf});var me=F({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qu=F({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ku=F({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ju=F({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Yu=F({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Zu=F({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ef=F({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),tf=F({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),rf=F({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Qn={};P(Qn,{base36:()=>Rt,base36upper:()=>nf});var Rt=ke({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),nf=ke({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var of=vi,wi=128,sf=127,af=~sf,cf=Math.pow(2,31);function vi(t,e,r){e=e||[],r=r||0;for(var n=r;t>=cf;)e[r++]=t&255|wi,t/=128;for(;t&af;)e[r++]=t&255|wi,t>>>=7;return e[r]=t|0,vi.bytes=r-n+1,e}var uf=Kn,ff=128,Ei=127;function Kn(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Kn.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Ei)<<o:(i&Ei)*Math.pow(2,o),o+=7}while(i>=ff);return Kn.bytes=s-n,r}var lf=Math.pow(2,7),hf=Math.pow(2,14),df=Math.pow(2,21),pf=Math.pow(2,28),mf=Math.pow(2,35),gf=Math.pow(2,42),bf=Math.pow(2,49),xf=Math.pow(2,56),yf=Math.pow(2,63),wf=function(t){return t<lf?1:t<hf?2:t<df?3:t<pf?4:t<mf?5:t<gf?6:t<bf?7:t<xf?8:t<yf?9:10},Ef={encode:of,decode:uf,encodingLength:wf},vf=Ef,$t=vf;function zt(t,e=0){return[$t.decode(t,e),$t.decode.bytes]}function it(t,e,r=0){return $t.encode(t,e,r),e}function at(t){return $t.encodingLength(t)}function ut(t,e){let r=e.byteLength,n=at(t),o=n+at(r),s=new Uint8Array(o+r);return it(t,s,0),it(r,s,n),s.set(e,o),new ct(t,r,e,s)}function _i(t){let e=ve(t),[r,n]=zt(e),[o,s]=zt(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ct(r,o,i,e)}function Si(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&pi(t.bytes,r.bytes)}}var ct=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=n,this.bytes=o}};function Ci(t,e){let{bytes:r,version:n}=t;return n===0?Sf(r,Jn(t),e??oe.encoder):Cf(r,Jn(t),e??me.encoder)}var Ii=new WeakMap;function Jn(t){let e=Ii.get(t);if(e==null){let r=new Map;return Ii.set(t,r),r}return e}var ft=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==jt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==If)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=ut(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&&Si(e.multihash,n.multihash)}toString(e){return Ci(this,e)}toJSON(){return{"/":Ci(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??Ai(n,o,s.bytes))}else if(r[Af]===!0){let{version:n,multihash:o,code:s}=r,i=_i(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!==jt)throw new Error(`Version 0 CID must use dag-pb (code: ${jt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Ai(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,jt,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=ve(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 ct(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,m]=zt(e.subarray(r));return r+=m,h},o=n(),s=jt;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]=_f(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 Jn(s).set(n,e),s}};function _f(t,e){switch(t[0]){case"Q":{let r=e??oe;return[oe.prefix,r.decode(`${oe.prefix}${t}`)]}case oe.prefix:{let r=e??oe;return[oe.prefix,r.decode(t)]}case me.prefix:{let r=e??me;return[me.prefix,r.decode(t)]}case Rt.prefix:{let r=e??Rt;return[Rt.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 Sf(t,e,r){let{prefix:n}=r;if(n!==oe.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 Cf(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 jt=112,If=18;function Ai(t,e,r){let n=at(t),o=n+at(e),s=new Uint8Array(o+r.byteLength);return it(t,s,0),it(e,s,n),s.set(r,o),s}var Af=Symbol.for("@ipld/js-cid/CID");var Yn={};P(Yn,{identity:()=>Df});var Li=0,Lf="identity",Ti=ve;function Tf(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 ut(Li,Ti(t))}var Df={code:Li,name:Lf,encode:Ti,digest:Tf};function Di(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=0){return new Uint8Array(t)}function qt(t=0){return new Uint8Array(t)}function Zn(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=qt(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}function ki(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 Pi=Symbol.for("@achingbrain/uint8arraylist");function Ui(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 lt(t){return!!t?.[Pi]}var $=class t{bufs;length;[Pi]=!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(lt(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(lt(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=Ui(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Ui(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(lt(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(!lt(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 m=l;m>=0;m--){let v=this.get(h+m);if(n[m]!==v){f=Math.max(1,m-a[v]);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=qt(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=_e(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=_e(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=_e(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=qt(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=_e(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=_e(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=_e(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=_e(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=_e(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(!ki(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 oo={};P(oo,{base10:()=>Of});var Mm=new Uint8Array(0);function Bi(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){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 Ni(t){return new TextEncoder().encode(t)}function Mi(t){return new TextDecoder().decode(t)}function kf(t){return t?.buffer instanceof ArrayBuffer}function je(t){return kf(t)?t:t.slice()}function Uf(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(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var E=0,y=0,w=0,S=g.length;w!==S&&g[w]===0;)w++,E++;for(var C=(S-w)*f+1>>>0,T=new Uint8Array(C);w!==S;){for(var D=g[w],z=0,U=C-1;(D!==0||z<y)&&U!==-1;U--,z++)D+=256*T[U]>>>0,T[U]=D%a>>>0,D=D/a>>>0;if(D!==0)throw new Error("Non-zero carry");y=z,w++}for(var R=C-y;R!==C&&T[R]===0;)R++;for(var ne=u.repeat(E);R<C;++R)ne+=t.charAt(T[R]);return ne}function m(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var E=0;if(g[E]!==" "){for(var y=0,w=0;g[E]===u;)y++,E++;for(var S=(g.length-E)*l+1>>>0,C=new Uint8Array(S);g[E];){var T=r[g.charCodeAt(E)];if(T===255)return;for(var D=0,z=S-1;(T!==0||D<w)&&z!==-1;z--,D++)T+=a*C[z]>>>0,C[z]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");w=D,E++}if(g[E]!==" "){for(var U=S-w;U!==S&&C[U]===0;)U++;for(var R=new Uint8Array(y+(S-U)),ne=y;U!==S;)R[ne++]=C[U++];return R}}}function v(g){var E=m(g);if(E)return E;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:m,decode:v}}var Pf=Uf,Bf=Pf,Oi=Bf;var eo=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")}},to=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 Ri(this,e)}},ro=class{decoders;constructor(e){this.decoders=e}or(e){return Ri(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 Ri(t,e){return new ro({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var no=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 eo(e,r,n),this.decoder=new to(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ht({name:t,prefix:e,encode:r,decode:n}){return new no(t,e,r,n)}function Ue({name:t,prefix:e,alphabet:r}){let{encode:n,decode:o}=Oi(r,t);return ht({prefix:e,name:t,encode:n,decode:s=>Se(o(s))})}function Nf(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 Mf(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 Ff(t){let e={};for(let r=0;r<t.length;++r)e[t[r]]=r;return e}function O({name:t,prefix:e,bitsPerChar:r,alphabet:n}){let o=Ff(n);return ht({prefix:e,name:t,encode(s){return Mf(s,n,r)},decode(s){return Nf(s,o,r,t)}})}var Of=Ue({prefix:"9",name:"base10",alphabet:"0123456789"});var so={};P(so,{base16:()=>Rf,base16upper:()=>$f});var Rf=O({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),$f=O({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var io={};P(io,{base2:()=>zf});var zf=O({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ao={};P(ao,{base256emoji:()=>Gf});var $i=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}"),Vf=$i.reduce((t,e,r)=>(t[r]=e,t),[]),jf=$i.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function qf(t){return t.reduce((e,r)=>(e+=Vf[r],e),"")}function Wf(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=jf[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Gf=ht({prefix:"\u{1F680}",name:"base256emoji",encode:qf,decode:Wf});var co={};P(co,{base32:()=>dt,base32hex:()=>Kf,base32hexpad:()=>Yf,base32hexpadupper:()=>Zf,base32hexupper:()=>Jf,base32pad:()=>Xf,base32padupper:()=>Qf,base32upper:()=>Hf,base32z:()=>el});var dt=O({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Hf=O({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Xf=O({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Qf=O({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Kf=O({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Jf=O({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yf=O({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Zf=O({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),el=O({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var uo={};P(uo,{base36:()=>Wt,base36upper:()=>tl});var Wt=Ue({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),tl=Ue({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var fo={};P(fo,{base58btc:()=>ge,base58flickr:()=>rl});var ge=Ue({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),rl=Ue({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lo={};P(lo,{base64:()=>nl,base64pad:()=>ol,base64url:()=>sl,base64urlpad:()=>il});var nl=O({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ol=O({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),sl=O({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),il=O({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ho={};P(ho,{base8:()=>al});var al=O({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var po={};P(po,{identity:()=>cl});var cl=ht({prefix:"\0",name:"identity",encode:t=>Mi(t),decode:t=>Ni(t)});var Ym=new TextEncoder,Zm=new TextDecoder;var go={};P(go,{identity:()=>kl});var ll=ji,zi=128,hl=127,dl=~hl,pl=Math.pow(2,31);function ji(t,e,r){e=e||[],r=r||0;for(var n=r;t>=pl;)e[r++]=t&255|zi,t/=128;for(;t&dl;)e[r++]=t&255|zi,t>>>=7;return e[r]=t|0,ji.bytes=r-n+1,e}var ml=mo,gl=128,Vi=127;function mo(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw mo.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Vi)<<o:(i&Vi)*Math.pow(2,o),o+=7}while(i>=gl);return mo.bytes=s-n,r}var bl=Math.pow(2,7),xl=Math.pow(2,14),yl=Math.pow(2,21),wl=Math.pow(2,28),El=Math.pow(2,35),vl=Math.pow(2,42),_l=Math.pow(2,49),Sl=Math.pow(2,56),Cl=Math.pow(2,63),Il=function(t){return t<bl?1:t<xl?2:t<yl?3:t<wl?4:t<El?5:t<vl?6:t<_l?7:t<Sl?8:t<Cl?9:10},Al={encode:ll,decode:ml,encodingLength:Il},Ll=Al,Gt=Ll;function Ht(t,e=0){return[Gt.decode(t,e),Gt.decode.bytes]}function pt(t,e,r=0){return Gt.encode(t,e,r),e}function mt(t){return Gt.encodingLength(t)}function bt(t,e){let r=e.byteLength,n=mt(t),o=n+mt(r),s=new Uint8Array(o+r);return pt(t,s,0),pt(r,s,n),s.set(e,o),new gt(t,r,e,s)}function qi(t){let e=Se(t),[r,n]=Ht(e),[o,s]=Ht(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new gt(r,o,i,e)}function Wi(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&Bi(t.bytes,r.bytes)}}var gt=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 Gi=0,Tl="identity",Hi=Se;function Dl(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 bt(Gi,Hi(t))}var kl={code:Gi,name:Tl,encode:Hi,digest:Dl};var yo={};P(yo,{sha256:()=>Pl,sha512:()=>Bl});var Ul=20;function xo({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new bo(t,e,r,n,o)}var bo=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??Ul,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?Xi(n,this.code,r?.truncate):n.then(o=>Xi(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function Xi(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 bt(e,t)}function Ki(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Pl=xo({name:"sha2-256",code:18,encode:Ki("SHA-256")}),Bl=xo({name:"sha2-512",code:19,encode:Ki("SHA-512")});function Ji(t,e){let{bytes:r,version:n}=t;return n===0?Ml(r,wo(t),e??ge.encoder):Fl(r,wo(t),e??dt.encoder)}var Yi=new WeakMap;function wo(t){let e=Yi.get(t);if(e==null){let r=new Map;return Yi.set(t,r),r}return e}var Pr=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!==Qt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Ol)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=bt(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&&Wi(e.multihash,n.multihash)}toString(e){return Ji(this,e)}toJSON(){return{"/":Ji(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??Zi(n,o,s.bytes))}else if(r[Rl]===!0){let{version:n,multihash:o,code:s}=r,i=qi(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!==Qt)throw new Error(`Version 0 CID must use dag-pb (code: ${Qt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=Zi(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Qt,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=Se(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 gt(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,m]=Ht(e.subarray(r));return r+=m,h},o=n(),s=Qt;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]=Nl(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 wo(s).set(n,e),s}};function Nl(t,e){switch(t[0]){case"Q":{let r=e??ge;return[ge.prefix,r.decode(`${ge.prefix}${t}`)]}case ge.prefix:{let r=e??ge;return[ge.prefix,r.decode(t)]}case dt.prefix:{let r=e??dt;return[dt.prefix,r.decode(t)]}case Wt.prefix:{let r=e??Wt;return[Wt.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 Ml(t,e,r){let{prefix:n}=r;if(n!==ge.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 Fl(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 Qt=112,Ol=18;function Zi(t,e,r){let n=mt(t),o=n+mt(e),s=new Uint8Array(o+r.byteLength);return pt(t,s,0),pt(e,s,n),s.set(r,o),s}var Rl=Symbol.for("@ipld/js-cid/CID");var Eo={...po,...io,...ho,...oo,...so,...co,...uo,...fo,...lo,...ao},Eg={...yo,...go};function Br(t=0){return new Uint8Array(t)}function ea(t=0){return new Uint8Array(t)}function ra(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ta=ra("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),vo=ra("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=ea(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),$l={utf8:ta,"utf-8":ta,hex:Eo.base16,latin1:vo,ascii:vo,binary:vo,...Eo},na=$l;function Y(t,e="utf8"){let r=na[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function zl(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 oa(t=32){zl(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 sa(t=0){return new Uint8Array(t)}var Vl=Math.pow(2,7),jl=Math.pow(2,14),ql=Math.pow(2,21),_o=Math.pow(2,28),So=Math.pow(2,35),Co=Math.pow(2,42),Io=Math.pow(2,49),L=128,H=127;function X(t){if(t<Vl)return 1;if(t<jl)return 2;if(t<ql)return 3;if(t<_o)return 4;if(t<So)return 5;if(t<Co)return 6;if(t<Io)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Nr(t,e,r=0){switch(X(t)){case 8:e[r++]=t&255|L,t/=128;case 7:e[r++]=t&255|L,t/=128;case 6:e[r++]=t&255|L,t/=128;case 5:e[r++]=t&255|L,t/=128;case 4:e[r++]=t&255|L,t>>>=7;case 3:e[r++]=t&255|L,t>>>=7;case 2:e[r++]=t&255|L,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Wl(t,e,r=0){switch(X(t)){case 8:e.set(r++,t&255|L),t/=128;case 7:e.set(r++,t&255|L),t/=128;case 6:e.set(r++,t&255|L),t/=128;case 5:e.set(r++,t&255|L),t/=128;case 4:e.set(r++,t&255|L),t>>>=7;case 3:e.set(r++,t&255|L),t>>>=7;case 2:e.set(r++,t&255|L),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Gl(t,e){let r=t[e],n=0;if(n+=r&H,r<L||(r=t[e+1],n+=(r&H)<<7,r<L)||(r=t[e+2],n+=(r&H)<<14,r<L)||(r=t[e+3],n+=(r&H)<<21,r<L)||(r=t[e+4],n+=(r&H)*_o,r<L)||(r=t[e+5],n+=(r&H)*So,r<L)||(r=t[e+6],n+=(r&H)*Co,r<L)||(r=t[e+7],n+=(r&H)*Io,r<L))return n;throw new RangeError("Could not decode varint")}function Hl(t,e){let r=t.get(e),n=0;if(n+=r&H,r<L||(r=t.get(e+1),n+=(r&H)<<7,r<L)||(r=t.get(e+2),n+=(r&H)<<14,r<L)||(r=t.get(e+3),n+=(r&H)<<21,r<L)||(r=t.get(e+4),n+=(r&H)*_o,r<L)||(r=t.get(e+5),n+=(r&H)*So,r<L)||(r=t.get(e+6),n+=(r&H)*Co,r<L)||(r=t.get(e+7),n+=(r&H)*Io,r<L))return n;throw new RangeError("Could not decode varint")}function Mr(t,e,r=0){return e==null&&(e=sa(X(t))),e instanceof Uint8Array?Nr(t,e,r):Wl(t,e,r)}function Ce(t,e=0){return t instanceof Uint8Array?Gl(t,e):Hl(t,e)}var Ao={};P(Ao,{base10:()=>Xl});var Xl=ke({prefix:"9",name:"base10",alphabet:"0123456789"});var Lo={};P(Lo,{base16:()=>Ql,base16upper:()=>Kl});var Ql=F({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Kl=F({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var To={};P(To,{base2:()=>Jl});var Jl=F({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Do={};P(Do,{base256emoji:()=>rh});var ia=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Yl=ia.reduce((t,e,r)=>(t[r]=e,t),[]),Zl=ia.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function eh(t){return t.reduce((e,r)=>(e+=Yl[r],e),"")}function th(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Zl[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var rh=st({prefix:"\u{1F680}",name:"base256emoji",encode:eh,decode:th});var Po={};P(Po,{base64:()=>ko,base64pad:()=>nh,base64url:()=>Uo,base64urlpad:()=>oh});var ko=F({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),nh=F({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Uo=F({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),oh=F({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Bo={};P(Bo,{base8:()=>sh});var sh=F({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var No={};P(No,{identity:()=>ih});var ih=st({prefix:"\0",name:"identity",encode:t=>gi(t),decode:t=>mi(t)});var $g=new TextEncoder,zg=new TextDecoder;var Oo={};P(Oo,{sha256:()=>fh,sha512:()=>lh});var uh=20;function Fo({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Mo(t,e,r,n,o)}var Mo=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??uh,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?aa(n,this.code,r?.truncate):n.then(o=>aa(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function aa(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 ut(e,t)}function ua(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var fh=Fo({name:"sha2-256",code:18,encode:ua("SHA-256")}),lh=Fo({name:"sha2-512",code:19,encode:ua("SHA-512")});var Jt={...No,...To,...Bo,...Ao,...Lo,...Xn,...Qn,...Hn,...Po,...Do},Zg={...Oo,...Yn};function Fr(t){if(isNaN(t)||t<=0)throw new K("random bytes length must be a Number bigger than 0");return oa(t)}var Ro={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},fa={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},la=new globalThis.TextEncoder;function hh(t,e){let r=Ro[e],n=fa[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function dh(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=fa[e],s=t;for(;s.length>0;){let i=la.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 $o(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 dh(t,e,r);t=la.encode(t)}return hh(t,e)}var Pe={hash:t=>Number($o(t,{size:32})),hashV:(t,e)=>ph(Pe.hash(t,e))};function ph(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),Y(e,"base16")}var mh=Math.LN2*Math.LN2,Yt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=bh(e.hashes??8),this.bits=e.bits??1024,this.buffer=Br(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=Y(e));for(let r=0;r<this.seeds.length;r++){let o=Pe.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=Y(e));for(let r=0;r<this.seeds.length;r++){let o=Pe.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 ha(t,e=.005){let r=gh(t,e);return new Yt(r)}function gh(t,e=.005){let r=Math.round(-1*t*Math.log(e)/mh),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function bh(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new $(Fr(4)),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var zo=64,ae=class{fp;h;seed;constructor(e,r,n,o=2){if(o>zo)throw new TypeError("Invalid Fingerprint Size");let s=r.hashV(e,n),i=Br(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?Di(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 xh=500,Be=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??Pe,this.seed=e.seed??qe(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=Y(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<xh;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=Y(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=Y(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}},yh={1:.5,2:.84,4:.95,8:.98};function wh(t=.001){return t>.002?2:t>1e-5?4:8}function Vo(t,e=.001){let r=wh(e),n=yh[r],o=Math.round(t/n),s=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),zo);return{filterSize:o,bucketSize:r,fingerprintSize:s}}function da(t,e=.005){let r=Vo(t,e);return new Be(r)}var Zt=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??Pe,this.seed=e.seed??qe(0,Math.pow(2,10)),this.filterSeries=[new Be({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=Y(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 Be({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=Y(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=Y(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 pa(t,e=.001,r){return new Zt({...Vo(t,e),...r??{}})}function Or(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=Or(t);if(e==null)throw new K(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e}var Rr=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 m=Number.parseInt(h,e);if(!Number.isNaN(m))return m});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 ma=45,Eh=15,xt=new Rr;function $r(t){if(!(t.length>Eh))return xt.new(t).parseWith(()=>xt.readIPv4Addr())}function zr(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>ma))return xt.new(t).parseWith(()=>xt.readIPv6Addr())}function yt(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>ma)return;let r=xt.new(t).parseWith(()=>xt.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 ga(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 ba(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 jo(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 xa(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 ya(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,H0=parseInt("0xFFFF",16),vh=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function er(t,e){e.length===He&&t.length===Ge&&ga(e,0,11)&&(e=e.slice(12)),e.length===Ge&&t.length===He&&ba(t,vh,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 wa(t,e){if(typeof e=="string"&&(e=yt(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 qo(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=Ge,o=$r(e);if(o==null&&(n=He,o=zr(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=Wo(s,8*n);return{network:er(o,i),mask:i}}function Wo(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 tr=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=qo(e));else{let n=yt(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=yt(r);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=Wo(o,8*n.length);this.network=er(n,this.mask)}}contains(e){return wa({network:this.network,mask:this.mask},e)}toString(){let e=xa(this.mask),r=e!==-1?String(e):ya(this.mask);return jo(this.network)+"/"+r}};function Vr(t,e){return new tr(t).contains(e)}function _h(t){try{let e=ce(t);return e.type==="ip6"?Vr("2000::/3",e.host):!1}catch{return!1}}function Sh(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 Ea(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function jr(t){try{let e=ce(t);switch(e.type){case"ip4":case"ip6":return Ea(e.host);default:return!1}}catch{return!1}}function Ch(t){return Or(t)!==null}function Ne(t){return!!$r(t)}function Me(t){return!!zr(t)}var Ca=Ou(Sa(),1),Uh=["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"],Ph=Uh.map(t=>new Ca.Netmask(t));function Yo(t){for(let e of Ph)if(e.contains(t))return!0;return!1}function Bh(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function Nh(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 Yo(o)}function Mh(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function Fh(t){let e=t.split(":"),r=e[e.length-1];return Yo(r)}function Oh(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 Zo(t){if(Ne(t))return Yo(t);if(Bh(t))return Nh(t);if(Mh(t))return Fh(t);if(Me(t))return Oh(t)}function Wr(t){try{let e=ce(t);switch(e.type){case"ip4":case"ip6":return Zo(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}function Ia(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 Gr(t=0){return new Uint8Array(t)}function rr(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=Gr(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}function La(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Aa=La("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),es=La("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=Gr(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Rh={utf8:Aa,"utf-8":Aa,hex:Jt.base16,latin1:es,ascii:es,binary:es,...Jt},Hr=Rh;function nr(t,e="utf8"){let r=Hr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}function Qe(t,e="utf8"){let r=Hr[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var G=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},Ie=class extends Error{static name="ValidationError";name="ValidationError"},Xr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Qr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function rs(t){return e=>Qe(e,t)}function ns(t){return e=>nr(e,t)}function _t(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Ke(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Ta(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=nr(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=Ke(n);return rr([r,o],r.length+o.length)}function Da(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=me.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=Ke(n);return rr([r,o],r.length+o.length)}function os(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Qe(e,"base32"),o=_t(r);return`${n}:${o}`}var ss=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 G("Invalid byte value in IP address");e[n]=o}),e},ka=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=ss(r[n]),r[n]=Qe(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,Qe(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 G("Invalid byte value in IP address");o[e++]=s>>8&255,o[e++]=s&255}return o},Ua=function(t){if(t.byteLength!==4)throw new G("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},Pa=function(t){if(t.byteLength!==16)throw new G("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 G(`Invalid IPv6 address "${r}"`)}};function Ba(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new G(`Invalid IPv6 address "${t}"`)}}var ts=Object.values(Jt).map(t=>t.decoder),$h=(function(){let t=ts[0].or(ts[1]);return ts.slice(2).forEach(e=>t=t.or(e)),t})();function Na(t){return $h.decode(t)}function Ma(t){return e=>t.encoder.encode(e)}function zh(t){if(parseInt(t).toString()!==t)throw new Ie("Value must be an integer")}function Vh(t){if(t<0)throw new Ie("Value must be a positive integer, or zero")}function jh(t){return e=>{if(e>t)throw new Ie(`Value must be smaller than or equal to ${t}`)}}function qh(...t){return e=>{for(let r of t)r(e)}}var or=qh(zh,Vh,jh(65535));var V=-1,is=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 Qr(`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)}))}},Le=new is,od=[{code:4,name:"ip4",size:32,valueToBytes:ss,bytesToValue:Ua,validate:t=>{if(!Ne(t))throw new Ie(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Ke,bytesToValue:_t,validate:or},{code:273,name:"udp",size:16,valueToBytes:Ke,bytesToValue:_t,validate:or},{code:33,name:"dccp",size:16,valueToBytes:Ke,bytesToValue:_t,validate:or},{code:41,name:"ip6",size:128,valueToBytes:ka,bytesToValue:Pa,stringToValue:Ba,validate:t=>{if(!Me(t))throw new Ie(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:V},{code:43,name:"ipcidr",size:8,bytesToValue:rs("base10"),valueToBytes:ns("base10")},{code:53,name:"dns",size:V},{code:54,name:"dns4",size:V},{code:55,name:"dns6",size:V},{code:56,name:"dnsaddr",size:V},{code:132,name:"sctp",size:16,valueToBytes:Ke,bytesToValue:_t,validate:or},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:V,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:V,bytesToValue:rs("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?ns("base58btc")(t):ft.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:os,valueToBytes:Ta},{code:445,name:"onion3",size:296,bytesToValue:os,valueToBytes:Da},{code:446,name:"garlic64",size:V},{code:447,name:"garlic32",size:V},{code:448,name:"tls"},{code:449,name:"sni",size:V},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:V,bytesToValue:Ma(Uo),valueToBytes:Na},{code:480,name:"http"},{code:481,name:"http-path",size:V,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:V}];od.forEach(t=>{Le.addProtocol(t)});function Fa(t){let e=[],r=0;for(;r<t.length;){let n=Ce(t,r),o=Le.getProtocol(n),s=X(n),i=sd(o,t,r+s),a=0;i>0&&o.size===V&&(a=X(i));let u=s+a+i,l={code:n,name:o.name,bytes:t.subarray(r,r+u)};if(i>0){let f=r+s+a,h=t.subarray(f,f+i);l.value=o.bytesToValue?.(h)??Qe(h)}e.push(l),r+=u}return e}function Oa(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=Le.getProtocol(n.code),s=X(n.code),i,a=0,u=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??nr(n.value),a=i.byteLength,o.size===V&&(u=X(a)));let l=new Uint8Array(s+u+a),f=0;Nr(n.code,l,f),f+=s,i!=null&&(o.size===V&&(Nr(a,l,f),f+=u),l.set(i,f)),n.bytes=l}r.push(n.bytes),e+=n.bytes.byteLength}return rr(r,e)}function Ra(t){if(t.charAt(0)!=="/")throw new G('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=Le.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 G(`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 G(`Component ${o} was missing value`);l.value=u.stringToValue?.(n)??n}e.push(l),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new G("Incomplete multiaddr");return e}function $a(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=Le.getProtocol(e.code);if(r==null)throw new G(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function sd(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:Ce(e,r)}var id=Symbol.for("nodejs.util.inspect.custom"),ws=Symbol.for("@multiformats/multiaddr");function ad(t){if(t==null&&(t="/"),za(t))return t.getComponents();if(t instanceof Uint8Array)return Fa(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),Ra(t);if(Array.isArray(t))return t;throw new G("Must be a string, Uint8Array, Component[], or another Multiaddr")}var on=class t{[ws]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=ad(e),r.validate!==!1&&cd(this)}get bytes(){return this.#r==null&&(this.#r=Oa(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=$a(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 Xr(`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 Ia(this.bytes,e.bytes)}[id](){return`Multiaddr(${this.toString()})`}};function cd(t){t.getComponents().forEach(e=>{let r=Le.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function za(t){return!!t?.[ws]}function Oe(t){return new on(t)}var B=t=>({match:e=>{let r=e[0];return r==null||r.code!==t||r.value!=null?!1:e.slice(1)}}),x=(t,e)=>({match:r=>{let n=r[0];return n?.code!==t||n.value==null||e!=null&&n.value!==e?!1:r.slice(1)}}),Va=t=>({match:e=>t.match(e)===!1?e:!1}),_=t=>({match:e=>{let r=t.match(e);return r===!1?e:r}}),Q=(...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}}),I=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e}});function N(...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 ud=x(421),kx=N(ud),an=x(54),cn=x(55),un=x(56),vs=x(53),Ux=N(an,_(x(421))),Px=N(cn,_(x(421))),Bx=N(un,_(x(421))),Nx=N(Q(vs,un,an,cn),_(x(421))),ja=I(x(4),_(x(43))),qa=I(_(x(42)),x(41),_(x(43))),_s=Q(ja,qa),At=Q(_s,vs,an,cn,un),Mx=N(Q(_s,I(Q(vs,un,an,cn),_(x(421))))),Fx=N(ja),Ox=N(qa),Rx=N(_s),Ss=I(At,x(6)),sr=I(At,x(273)),Cs=N(I(Ss,_(x(421)))),$x=N(sr),Is=I(sr,B(460),_(x(421))),fn=I(sr,B(461),_(x(421))),fd=Q(Is,fn),zx=N(Is),Vx=N(fn),Es=Q(At,Ss,sr,Is,fn),Wa=Q(I(Es,B(477),_(x(421)))),As=N(Wa),Ga=Q(I(Es,B(478),_(x(421))),I(Es,B(448),_(x(449)),B(477),_(x(421)))),Ls=N(Ga),Ha=I(sr,B(280),_(x(466)),_(x(466)),_(x(421))),Ts=N(Ha),Xa=I(fn,B(465),_(x(466)),_(x(466)),_(x(421))),Ds=N(Xa),sn=Q(Wa,Ga,I(Ss,_(x(421))),I(fd,_(x(421))),I(At,_(x(421))),Ha,Xa,x(421)),jx=N(sn),ld=I(_(sn),B(290),Va(B(281)),_(x(421))),ks=N(ld),hd=Q(I(sn,B(290),B(281),_(x(421))),I(sn,B(281),_(x(421))),I(B(281),_(x(421)))),Us=N(hd),dd=I(At,Q(I(x(6,"80")),I(x(6),B(480)),B(480)),_(x(481)),_(x(421))),qx=N(dd),pd=I(At,Q(I(x(6,"443")),I(x(6,"443"),B(480)),I(x(6),B(443)),I(x(6),B(448),B(480)),I(B(448),B(480)),B(448),B(443)),_(x(481)),_(x(421))),Wx=N(pd),md=Q(I(x(777),_(x(421)))),Gx=N(md),gd=Q(I(x(400),_(x(421)))),Hx=N(gd);function Qa(t,e){let r=Cs.exactMatch(t),n=Cs.exactMatch(e);if(r&&!n)return-1;if(!r&&n)return 1;let o=Ls.exactMatch(t),s=Ls.exactMatch(e);if(o&&!s)return-1;if(!o&&s)return 1;let i=As.exactMatch(t),a=As.exactMatch(e);if(i&&!a)return-1;if(!i&&a)return 1;let u=Us.exactMatch(t),l=Us.exactMatch(e);if(u&&!l)return-1;if(!u&&l)return 1;let f=Ts.exactMatch(t),h=Ts.exactMatch(e);if(f&&!h)return-1;if(!f&&h)return 1;let m=Ds.exactMatch(t),v=Ds.exactMatch(e);return m&&!v?-1:!m&&v?1:0}function Ka(t,e){let r=jr(t),n=jr(e);return r&&!n?1:!r&&n?-1:0}function Ja(t,e){let r=Wr(t),n=Wr(e);return r&&!n?1:!r&&n?-1:0}function Ya(t,e){let r=ks.exactMatch(t),n=ks.exactMatch(e);return r&&!n?1:!r&&n?-1:0}function bd(t){return t.sort((e,r)=>Ka(e,r)||Ja(e,r)||Ya(e,r)||Qa(e,r))}function ue(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var ln=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}},Lt=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new ln(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 ln(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 Ps=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function xe(t={}){return xd(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 xd(t,e){e=e??{};let r=e.onEnd,n=new Lt,o,s,i,a=ue(),u=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((y,w)=>{s=S=>{s=null,n.push(S);try{y(t(n))}catch(C){w(C)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ue()})}},l=y=>s!=null?s(y):(n.push(y),o),f=y=>(n=new Lt,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})},m=y=>i?o:(i=!0,y!=null?f(y):l({done:!0})),v=()=>(n=new Lt,m(),{done:!0}),g=y=>(m(y),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:u,return:v,throw:g,push:h,end:m,get readableLength(){return n.size},onEmpty:async y=>{let w=y?.signal;if(w?.throwIfAborted(),n.isEmpty())return;let S,C;w!=null&&(S=new Promise((T,D)=>{C=()=>{D(new Ps)},w.addEventListener("abort",C)}));try{await Promise.race([a.promise,S])}finally{C!=null&&w!=null&&w?.removeEventListener("abort",C)}}},r==null)return o;let E=o;return o={[Symbol.asyncIterator](){return this},next(){return E.next()},throw(y){return E.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return E.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(y){return E.end(y),r!=null&&(r(y),r=void 0),o},get readableLength(){return E.readableLength},onEmpty:y=>E.onEmpty(y)},o}var Bs=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},Za=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function Ns(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,u,f=new Promise((h,m)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(i?.aborted){m(Za(i));return}if(i&&(u=()=>{m(Za(i))},i.addEventListener("abort",u,{once:!0})),t.then(h,m),r===Number.POSITIVE_INFINITY)return;let v=new Bs;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(g){m(g)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?h():o instanceof Error?m(o):(v.message=o??`Promise timed out after ${r} milliseconds`,m(v))},r)}).finally(()=>{f.clear(),u&&i&&i.removeEventListener("abort",u)});return f.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},f}var yd=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 wd(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}=yd(t),h=async(...v)=>{let g=r.multiArgs?v:v[0];if(r.filter)try{if(!await r.filter(g))return}catch(E){n(),i(E);return}u.push(g),r.count===u.length&&(n(),s(u))},m=(...v)=>{n(),i(r.rejectionMultiArgs?v:v[0])};n=()=>{for(let v of a)f(v,h);for(let v of r.rejectionEvents)a.includes(v)||f(v,m)};for(let v of a)l(v,h);for(let v of r.rejectionEvents)a.includes(v)||l(v,m);r.signal&&r.signal.addEventListener("abort",()=>{m(r.signal.reason)},{once:!0}),r.resolveImmediately&&s(u)});if(o.cancel=n,typeof r.timeout=="number"){let s=Ns(o,{milliseconds:r.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function j(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=wd(t,e,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}function Tt(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 ir=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}},ar=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},Re=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},cr=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},ur=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function Ed(t){return t.reason}async function q(t,e,r){if(e==null)return t;let n=r?.translateError??Ed;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 hn=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 vd(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var dn=class{id;fn;options;recipients;status;timeline;controller;dispatchingProgress;constructor(e,r){this.id=vd(),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 hn(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 q(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 pe{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=Tt(this.emitEmpty.bind(this),1),this.emitIdle=Tt(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 ar;let n=new dn(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 j(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await j(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await j(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=xe({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 _d=Math.pow(2,20)*4,Ye=class extends pe{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??_d,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new $,this.writeBuffer=new $,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 ur)};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()),q(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=xe(),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 De(`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 Tr(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new De("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 De("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 De(`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 De(`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 Lr;this.dispatchEvent(new Dr(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 ot))}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 $(s);this.writeBuffer.consume(s.byteLength);let a=this.sendData(s);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 Ot(`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 Ot(`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 fr=class extends Ye{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 j(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 j(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function Ms(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var lr=class extends pe{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 q(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 Ar;let r=this.onCreateStream({...this.streamOptions,...e});return Ms(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 cr(`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 Ze=class extends Ye{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 j(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 j(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 pn(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 et=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 ec=1.2,tc=2,rc=5e3,nc=6e4,oc=5e3,Fs=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??oc;this.success=new et(r),this.failure=new et(r),this.next=new et(r),this.failureMultiplier=e.failureMultiplier??tc,this.timeoutMultiplier=e.timeoutMultiplier??ec,this.minTimeout=e.minTimeout??rc,this.maxTimeout=e.maxTimeout??nc,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=pn([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 sc(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),Oe(`/${n.join("/")}`)}function Sd(t,e){if(t==null)return[];let r=ce(t);return[sc(r,e)]}function Cd(t){return Me(t)?Vr("2000::/3",t):!1}function Id(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 Oe(`/ip4/${t}/tcp/${e}`);if(Me(t))return Oe(`/ip6/${t}/tcp/${e}`);throw new K(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function Ad(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function Ld(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var Os=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 q(this.readNext.promise,r?.signal,r)}};function ic(){return new Os}function Td(t){return t[Symbol.asyncIterator]!=null}async function Dd(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*kd(t){let e=new AbortController,r=ic();Dd(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*Ud(t){for(let e of t)yield*e}function Pd(...t){let e=[];for(let r of t)Td(r)||e.push(r);return e.length===t.length?Ud(e):kd(t)}var ac=Pd;function cc(t,...e){if(t==null)throw new Error("Empty pipeline");if(Rs(t)){let n=t;t=()=>n.source}else if(fc(t)||uc(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&Rs(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++)Rs(r[n])&&(r[n]=Nd(r[n]));return Bd(...r)}var Bd=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},uc=t=>t?.[Symbol.asyncIterator]!=null,fc=t=>t?.[Symbol.iterator]!=null,Rs=t=>t==null?!1:t.sink!=null&&t.source!=null,Nd=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=xe({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(uc(s))o=async function*(){yield*s,n.end()};else if(fc(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ac(n,o())}return t.source};var Md=4194304,hr=class extends Error{static name="UnwrappedError";name="UnwrappedError"},Dt=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},mn=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},gn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Fd(t){return typeof t?.closeRead=="function"}function Od(t){return typeof t?.close=="function"}function $s(t){return Fd(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:Od(t)?t.status!=="open":!1}function Rd(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function lc(t,e){let r=e?.maxBufferSize??Md,n=new $,o,s=!1;if(!Rd(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 hr("Stream was unwrapped");if($s(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 Re(`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 q(o.promise,f?.signal),$s(t)){if(n.byteLength===0&&f?.bytes==null)return null;break}o=Promise.withResolvers()}let m=f?.bytes??n.byteLength;if(n.byteLength<m){if($s(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,m),new Re(`Unexpected EOF - stream closed while reading ${n.byteLength}/${m} bytes`);return l.read(f)}let v=n.sublist(0,m);return n.consume(m),v},async write(f,h){if(s===!0)throw new hr("Stream was unwrapped");t.send(f)||await j(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 hc(t,e={}){let r=lc(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=X(e.maxDataLength));let n=e?.lengthDecoder??Ce,o=e?.lengthEncoder??Mr;return{async read(i){let a=-1,u=new $;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 Dt("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new gn(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new mn(`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 Re(`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 Re(`Unexpected EOF - read ${l.byteLength}/${a} bytes before the stream closed`);return l},async write(i,a){await r.write(new $(o(i.byteLength),i),a)},async writeV(i,a){let u=new $(...i.flatMap(l=>[o(l.byteLength),l]));await r.write(u,a)},unwrap(){return r.unwrap()}}}function $d(t,e){let r=hc(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 zs(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 j(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 zd(t){return t?.addEventListener!=null}function dc(t){let e=xe(),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([j(t,"drain",{rejectionEvents:["close"]})])),l===!0))break}await t.close()}}}function Vd(...t){let e=t.map(r=>zd(r)?dc(r):r);return cc(...e)}var jd=1024*1024*4,qd=1024*1024*4,Vs=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new $,this.maxBufferSize=e.maxBufferSize??jd,this.maxDataLength=e.maxDataLength??qd,this.lengthDecoder=e.lengthDecoder??Ce,this.encodingLength=e.encodingLength??X}*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 Dt("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 Wd(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var Gd=["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 js(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=Hd(t);return r||"Object"}function Hd(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(Gd.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 p=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var dr=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Xd=new TextEncoder;function bn(t){return dr&&globalThis.Buffer.isBuffer(t)}function pr(t){return t instanceof Uint8Array?bn(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Qd=24,Kd=200,xn=dr?t=>t.length>=Qd?globalThis.Buffer.from(t):pc(t):t=>t.length>=Kd?Xd.encode(t):pc(t),ye=t=>Uint8Array.from(t),mc=dr?(t,e,r)=>bn(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),gc=dr?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),pr(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},bc=dr?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function yn(t,e){if(bn(t)&&bn(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 pc(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 Jd=256,mr=class{constructor(e=Jd){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=bc(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=mc(n,0,this.cursor)}else r=gc(this.chunks,this.cursor);return e&&this.reset(),r}},wn=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 b="CBOR decode error:",En="CBOR encode error:",gr=[];gr[23]=1;gr[24]=2;gr[25]=3;gr[26]=5;gr[27]=9;function Te(t,e,r){if(t.length-e<r)throw new Error(`${b} not enough data for type`)}var W=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Z(t,e,r){Te(t,e,1);let n=t[e];if(r.strict===!0&&n<W[0])throw new Error(`${b} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(t,e,r){Te(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<W[1])throw new Error(`${b} integer encoded in more bytes than necessary (strict decode)`);return n}function te(t,e,r){Te(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<W[2])throw new Error(`${b} integer encoded in more bytes than necessary (strict decode)`);return n}function re(t,e,r){Te(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<W[3])throw new Error(`${b} 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(`${b} integers outside of the safe integer range are not supported`)}function xc(t,e,r,n){return new p(c.uint,Z(t,e+1,n),2)}function yc(t,e,r,n){return new p(c.uint,ee(t,e+1,n),3)}function wc(t,e,r,n){return new p(c.uint,te(t,e+1,n),5)}function Ec(t,e,r,n){return new p(c.uint,re(t,e+1,n),9)}function se(t,e){return M(t,0,e.value)}function M(t,e,r){if(r<W[0]){let n=Number(r);t.push([e|n])}else if(r<W[1]){let n=Number(r);t.push([e|24,n])}else if(r<W[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<W[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<W[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(`${b} encountered BigInt larger than allowable range`)}}se.encodedSize=function(e){return M.encodedSize(e.value)};M.encodedSize=function(e){return e<W[0]?1:e<W[1]?2:e<W[2]?3:e<W[3]?5:9};se.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function vc(t,e,r,n){return new p(c.negint,-1-Z(t,e+1,n),2)}function _c(t,e,r,n){return new p(c.negint,-1-ee(t,e+1,n),3)}function Sc(t,e,r,n){return new p(c.negint,-1-te(t,e+1,n),5)}var qs=BigInt(-1),Cc=BigInt(1);function Ic(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 p(c.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${b} integers outside of the safe integer range are not supported`);return new p(c.negint,qs-BigInt(o),9)}function vn(t,e){let r=e.value,n=typeof r=="bigint"?r*qs-Cc:r*-1-1;M(t,e.type.majorEncoded,n)}vn.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*qs-Cc:r*-1-1;return n<W[0]?1:n<W[1]?2:n<W[2]?3:n<W[3]?5:9};vn.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function br(t,e,r,n){Te(t,e,r+n);let o=t.slice(e+r,e+r+n);return new p(c.bytes,o,r+n)}function Ac(t,e,r,n){return br(t,e,1,r)}function Lc(t,e,r,n){return br(t,e,2,Z(t,e+1,n))}function Tc(t,e,r,n){return br(t,e,3,ee(t,e+1,n))}function Dc(t,e,r,n){return br(t,e,5,te(t,e+1,n))}function kc(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${b} 64-bit integer bytes lengths not supported`);return br(t,e,9,o)}function _n(t){return t.encodedBytes===void 0&&(t.encodedBytes=c.equals(t.type,c.string)?xn(t.value):t.value),t.encodedBytes}function kt(t,e){let r=_n(e);M(t,e.type.majorEncoded,r.length),t.push(r)}kt.encodedSize=function(e){let r=_n(e);return M.encodedSize(r.length)+r.length};kt.compareTokens=function(e,r){return Zd(_n(e),_n(r))};function Zd(t,e){return t.length<e.length?-1:t.length>e.length?1:yn(t,e)}var Uc=new TextDecoder,tp=32;function rp(t,e,r){if(r-e<tp){let o="";for(let s=e;s<r;s++){let i=t[s];if(i&128)return Uc.decode(t.subarray(e,r));o+=String.fromCharCode(i)}return o}return Uc.decode(t.subarray(e,r))}function xr(t,e,r,n,o){let s=r+n;Te(t,e,s);let i=new p(c.string,rp(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=t.slice(e+r,e+s)),i}function Pc(t,e,r,n){return xr(t,e,1,r,n)}function Bc(t,e,r,n){return xr(t,e,2,Z(t,e+1,n),n)}function Nc(t,e,r,n){return xr(t,e,3,ee(t,e+1,n),n)}function Mc(t,e,r,n){return xr(t,e,5,te(t,e+1,n),n)}function Fc(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${b} 64-bit integer string lengths not supported`);return xr(t,e,9,o,n)}var Oc=kt;function Ut(t,e,r,n){return new p(c.array,n,r)}function Rc(t,e,r,n){return Ut(t,e,1,r)}function $c(t,e,r,n){return Ut(t,e,2,Z(t,e+1,n))}function zc(t,e,r,n){return Ut(t,e,3,ee(t,e+1,n))}function Vc(t,e,r,n){return Ut(t,e,5,te(t,e+1,n))}function jc(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${b} 64-bit integer array lengths not supported`);return Ut(t,e,9,o)}function qc(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${b} indefinite length items not allowed`);return Ut(t,e,1,1/0)}function Sn(t,e){M(t,c.array.majorEncoded,e.value)}Sn.compareTokens=se.compareTokens;Sn.encodedSize=function(e){return M.encodedSize(e.value)};function Pt(t,e,r,n){return new p(c.map,n,r)}function Wc(t,e,r,n){return Pt(t,e,1,r)}function Gc(t,e,r,n){return Pt(t,e,2,Z(t,e+1,n))}function Hc(t,e,r,n){return Pt(t,e,3,ee(t,e+1,n))}function Xc(t,e,r,n){return Pt(t,e,5,te(t,e+1,n))}function Qc(t,e,r,n){let o=re(t,e+1,n);if(typeof o=="bigint")throw new Error(`${b} 64-bit integer map lengths not supported`);return Pt(t,e,9,o)}function Kc(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${b} indefinite length items not allowed`);return Pt(t,e,1,1/0)}function Cn(t,e){M(t,c.map.majorEncoded,e.value)}Cn.compareTokens=se.compareTokens;Cn.encodedSize=function(e){return M.encodedSize(e.value)};function Jc(t,e,r,n){return new p(c.tag,r,1)}function Yc(t,e,r,n){return new p(c.tag,Z(t,e+1,n),2)}function Zc(t,e,r,n){return new p(c.tag,ee(t,e+1,n),3)}function eu(t,e,r,n){return new p(c.tag,te(t,e+1,n),5)}function tu(t,e,r,n){return new p(c.tag,re(t,e+1,n),9)}function In(t,e){M(t,c.tag.majorEncoded,e.value)}In.compareTokens=se.compareTokens;In.encodedSize=function(e){return M.encodedSize(e.value)};var Ws=20,Gs=21,Hs=22,Xs=23;function ru(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${b} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new p(c.null,null,1):new p(c.undefined,void 0,1)}function nu(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${b} indefinite length items not allowed`);return new p(c.break,void 0,1)}function Qs(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${b} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${b} Infinity values are not supported`)}return new p(c.float,t,e)}function ou(t,e,r,n){return Qs(Ks(t,e+1),3,n)}function su(t,e,r,n){return Qs(Js(t,e+1),5,n)}function iu(t,e,r,n){return Qs(fu(t,e+1),9,n)}function yr(t,e,r){let n=e.value;if(n===!1)t.push([c.float.majorEncoded|Ws]);else if(n===!0)t.push([c.float.majorEncoded|Gs]);else if(n===null)t.push([c.float.majorEncoded|Hs]);else if(n===void 0)t.push([c.float.majorEncoded|Xs]);else{let o,s=!1;(!r||r.float64!==!0)&&(cu(n),o=Ks(le,1),n===o||Number.isNaN(n)?(le[0]=249,t.push(le.slice(0,3)),s=!0):(uu(n),o=Js(le,1),n===o&&(le[0]=250,t.push(le.slice(0,5)),s=!0))),s||(ap(n),o=fu(le,1),le[0]=251,t.push(le.slice(0,9)))}}yr.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){cu(n);let o=Ks(le,1);if(n===o||Number.isNaN(n))return 3;if(uu(n),o=Js(le,1),n===o)return 5}return 9};var au=new ArrayBuffer(9),ie=new DataView(au,1),le=new Uint8Array(au,0);function cu(t){if(t===1/0)ie.setUint16(0,31744,!1);else if(t===-1/0)ie.setUint16(0,64512,!1);else if(Number.isNaN(t))ie.setUint16(0,32256,!1);else{ie.setFloat32(0,t);let e=ie.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)ie.setUint16(0,31744,!1);else if(r===0)ie.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?ie.setUint16(0,0):o<-14?ie.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):ie.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function Ks(t,e){if(t.length-e<2)throw new Error(`${b} 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 uu(t){ie.setFloat32(0,t,!1)}function Js(t,e){if(t.length-e<4)throw new Error(`${b} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function ap(t){ie.setFloat64(0,t,!1)}function fu(t,e){if(t.length-e<8)throw new Error(`${b} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}yr.compareTokens=se.compareTokens;function A(t,e,r){throw new Error(`${b} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function An(t){return()=>{throw new Error(`${b} ${t}`)}}var d=[];for(let t=0;t<=23;t++)d[t]=A;d[24]=xc;d[25]=yc;d[26]=wc;d[27]=Ec;d[28]=A;d[29]=A;d[30]=A;d[31]=A;for(let t=32;t<=55;t++)d[t]=A;d[56]=vc;d[57]=_c;d[58]=Sc;d[59]=Ic;d[60]=A;d[61]=A;d[62]=A;d[63]=A;for(let t=64;t<=87;t++)d[t]=Ac;d[88]=Lc;d[89]=Tc;d[90]=Dc;d[91]=kc;d[92]=A;d[93]=A;d[94]=A;d[95]=An("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)d[t]=Pc;d[120]=Bc;d[121]=Nc;d[122]=Mc;d[123]=Fc;d[124]=A;d[125]=A;d[126]=A;d[127]=An("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)d[t]=Rc;d[152]=$c;d[153]=zc;d[154]=Vc;d[155]=jc;d[156]=A;d[157]=A;d[158]=A;d[159]=qc;for(let t=160;t<=183;t++)d[t]=Wc;d[184]=Gc;d[185]=Hc;d[186]=Xc;d[187]=Qc;d[188]=A;d[189]=A;d[190]=A;d[191]=Kc;for(let t=192;t<=215;t++)d[t]=Jc;d[216]=Yc;d[217]=Zc;d[218]=eu;d[219]=tu;d[220]=A;d[221]=A;d[222]=A;d[223]=A;for(let t=224;t<=243;t++)d[t]=An("simple values are not supported");d[244]=A;d[245]=A;d[246]=A;d[247]=ru;d[248]=An("simple values are not supported");d[249]=ou;d[250]=su;d[251]=iu;d[252]=A;d[253]=A;d[254]=A;d[255]=nu;var he=[];for(let t=0;t<24;t++)he[t]=new p(c.uint,t,1);for(let t=-1;t>=-24;t--)he[31-t]=new p(c.negint,t,1);he[64]=new p(c.bytes,new Uint8Array(0),1);he[96]=new p(c.string,"",1);he[128]=new p(c.array,0,1);he[160]=new p(c.map,0,1);he[244]=new p(c.false,!1,1);he[245]=new p(c.true,!0,1);he[246]=new p(c.null,null,1);function Ys(t){switch(t.type){case c.false:return ye([244]);case c.true:return ye([245]);case c.null:return ye([246]);case c.bytes:return t.value.length?void 0:ye([64]);case c.string:return t.value===""?ye([96]):void 0;case c.array:return t.value===0?ye([128]):void 0;case c.map:return t.value===0?ye([160]):void 0;case c.uint:return t.value<24?ye([Number(t.value)]):void 0;case c.negint:if(t.value>=-24)return ye([31-Number(t.value)])}}var up={float64:!1,mapSorter:hp,quickEncodeToken:Ys},mu=Object.freeze({float64:!0,mapSorter:dp,quickEncodeToken:Ys});function fp(){let t=[];return t[c.uint.major]=se,t[c.negint.major]=vn,t[c.bytes.major]=kt,t[c.string.major]=Oc,t[c.array.major]=Sn,t[c.map.major]=Cn,t[c.tag.major]=In,t[c.float.major]=yr,t}var Nt=fp(),Ln=new mr,Er=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)}},$e={null:new p(c.null,null),undefined:new p(c.undefined,void 0),true:new p(c.true,!0),false:new p(c.false,!1),emptyArray:new p(c.array,0),emptyMap:new p(c.map,0)},we={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new p(c.float,t):t>=0?new p(c.uint,t):new p(c.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new p(c.uint,t):new p(c.negint,t)},Uint8Array(t,e,r,n){return new p(c.bytes,t)},string(t,e,r,n){return new p(c.string,t)},boolean(t,e,r,n){return t?$e.true:$e.false},null(t,e,r,n){return $e.null},undefined(t,e,r,n){return $e.undefined},ArrayBuffer(t,e,r,n){return new p(c.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new p(c.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[$e.emptyArray,new p(c.break)]:$e.emptyArray;n=Er.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=Bt(i,r,n);return r.addBreakTokens?[new p(c.array,t.length),o,new p(c.break)]:[new p(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=Er.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++]=[Bt(f,r,n),Bt(h,r,n)])}l<i&&(a.length=l)}return a?.length?(lp(a,r),r.addBreakTokens?[new p(c.map,a.length),a,new p(c.break)]:[new p(c.map,a.length),a]):r.addBreakTokens===!0?[$e.emptyMap,new p(c.break)]:$e.emptyMap},Tagged(t,e,r,n){return[new p(c.tag,t.tag),Bt(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 Bt(t,e={},r){let n=js(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(`${En} unsupported type: ${n}`);return s(t,n,e,r)}function lp(t,e){e.mapSorter&&t.sort(e.mapSorter)}function hp(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=Nt[o].compareTokens(r,n);return s===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),s}function dp(t,e){if(t[0]instanceof p&&e[0]instanceof p){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=lu(r.value)),n._keyBytes||(n._keyBytes=lu(n.value)),yn(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function lu(t){return bu(t,Nt,mu)}function wr(t,e,r,n){if(Array.isArray(e))for(let o of e)wr(t,o,r,n);else r[e.type.major](t,e,n)}var hu=c.uint.majorEncoded,du=c.negint.majorEncoded,pp=c.bytes.majorEncoded,mp=c.string.majorEncoded,pu=c.array.majorEncoded,gp=c.float.majorEncoded|Ws,bp=c.float.majorEncoded|Gs,xp=c.float.majorEncoded|Hs,yp=c.float.majorEncoded|Xs,wp=BigInt(-1),Ep=BigInt(1);function vp(t){return t.addBreakTokens!==!0}function gu(t,e,r,n){let o=js(e),s=r.typeEncoders&&r.typeEncoders[o];if(s){let i=s(e,o,r,n);if(i!=null){wr(t,i,Nt,r);return}}switch(o){case"null":t.push([xp]);return;case"undefined":t.push([yp]);return;case"boolean":t.push([e?bp:gp]);return;case"number":!Number.isInteger(e)||!Number.isSafeInteger(e)?yr(t,new p(c.float,e),r):e>=0?M(t,hu,e):M(t,du,e*-1-1);return;case"bigint":e>=BigInt(0)?M(t,hu,e):M(t,du,e*wp-Ep);return;case"string":{let i=xn(e);M(t,mp,i.length),t.push(i);return}case"Uint8Array":M(t,pp,e.length),t.push(e);return;case"Array":if(!e.length){t.push([pu]);return}n=Er.createCheck(n,e),M(t,pu,e.length);for(let i of e)gu(t,i,r,n);return;case"Object":case"Map":{let i=we.Object(e,o,r,n);wr(t,i,Nt,r)}return;default:{let i=we[o];if(!i)throw new Error(`${En} unsupported type: ${o}`);let a=i(e,o,r,n);wr(t,a,Nt,r)}}}function bu(t,e,r,n){let o=n instanceof Uint8Array,s=o?new wn(n):Ln,i=Bt(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 mr(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():pr(s.chunks[0])}}return s.reset(),wr(s,i,e,r),s.toBytes(!0)}function Zs(t,e){return e=Object.assign({},up,e),vp(e)?(Ln.reset(),gu(Ln,t,e,void 0),Ln.toBytes(!0)):bu(t,Nt,e)}var _p={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Tn=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(`${b} 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}},ze=Symbol.for("DONE"),Mt=Symbol.for("BREAK");function Sp(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=Ve(e,r);if(s===Mt){if(t.value===1/0)break;throw new Error(`${b} got unexpected break to lengthed array`)}if(s===ze)throw new Error(`${b} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function Cp(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=Ve(e,r);if(u===Mt){if(t.value===1/0)break;throw new Error(`${b} got unexpected break to lengthed map`)}if(u===ze)throw new Error(`${b} found map but not enough entries (got ${a} [no key], expected ${t.value})`);if(!n&&typeof u!="string")throw new Error(`${b} non-string keys not supported (got ${typeof u})`);if(o&&(n&&i.has(u)||!n&&Object.hasOwn(s,u)))throw new Error(`${b} found repeat map key "${u}"`);let l=Ve(e,r);if(l===ze)throw new Error(`${b} 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*Ip(t,e,r){for(let n=0;n<t.value;n++){let o=Ve(e,r);if(o===Mt){if(t.value===1/0)break;throw new Error(`${b} got unexpected break to lengthed map`)}if(o===ze)throw new Error(`${b} found map but not enough entries (got ${n} [no key], expected ${t.value})`);let s=Ve(e,r);if(s===ze)throw new Error(`${b} found map but not enough entries (got ${n} [no value], expected ${t.value})`);yield[o,s]}}function Ap(t,e){let r=!1,n=function(){if(r)throw new Error(`${b} tag decode() may only be called once`);r=!0;let o=Ve(t,e);if(o===ze)throw new Error(`${b} tag content missing`);if(o===Mt)throw new Error(`${b} got unexpected break in tag content`);return o};return n.entries=function(){if(r)throw new Error(`${b} tag decode() may only be called once`);r=!0;let o=t.next();if(!c.equals(o.type,c.map))throw new Error(`${b} entries() requires map content, got ${o.type.name}`);let s=[];for(let i of Ip(o,t,e))s.push(i);return s},Object.defineProperty(n,"_called",{get(){return r},enumerable:!1}),n}function Ve(t,e){if(t.done())return ze;let r=t.next();if(c.equals(r.type,c.break))return Mt;if(r.type.terminal)return r.value;if(c.equals(r.type,c.array))return Sp(r,t,e);if(c.equals(r.type,c.map))return Cp(r,t,e);if(c.equals(r.type,c.tag)){if(e.tags&&typeof e.tags[r.value]=="function"){let n=Ap(t,e),o=e.tags[r.value](n);if(!n._called)throw new Error(`${b} tag decoder must call decode() or entries()`);return o}throw new Error(`${b} tag not supported (${r.value})`)}throw new Error("unsupported")}function xu(t,e){if(!(t instanceof Uint8Array))throw new Error(`${b} data to decode must be a Uint8Array`);e=Object.assign({},_p,e);let r=pr(t),n=e.tokenizer||new Tn(r,e),o=Ve(n,e);if(o===ze)throw new Error(`${b} did not find any content to decode`);if(o===Mt)throw new Error(`${b} got unexpected break`);return[o,t.subarray(n.pos())]}function ei(t,e){let[r,n]=xu(t,e);if(n.length>0)throw new Error(`${b} too many terminals, data makes no sense`);return r}var Dn=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(Dn.prototype,Symbol.toStringTag,{value:"Tagged"});function yu(t=0){return new Uint8Array(t)}var kn=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Ft=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Un=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},vr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function Pn(t){return t[Symbol.asyncIterator]!=null}function wu(t,e){if(t.byteLength>e)throw new Ft("Message length too long")}var Nn=t=>{let e=X(t),r=yu(e);return Mr(t,r),Nn.bytes=e,r};Nn.bytes=0;function Mn(t,e){e=e??{};let r=e.lengthEncoder??Nn,n=e?.maxDataLength??4194304;function*o(s){wu(s,n);let i=r(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return Pn(t)?(async function*(){for await(let s of t)yield*o(s)})():(function*(){for(let s of t)yield*o(s)})()}Mn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Nn,n=e?.maxDataLength??4194304;return wu(t,n),new $(r(t.byteLength),t)};var rt;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(rt||(rt={}));var ti=t=>{let e=Ce(t);return ti.bytes=X(e),e};ti.bytes=0;function _r(t,e){let r=new $,n=rt.LENGTH,o=-1,s=e?.lengthDecoder??ti,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;r.byteLength>0;){if(n===rt.LENGTH)try{if(o=s(r),o<0)throw new kn("Invalid message length");if(o>a)throw new Ft("Message length too long");let l=s.bytes;r.consume(l),e?.onLength!=null&&e.onLength(o),n=rt.DATA}catch(l){if(l instanceof RangeError){if(r.byteLength>i)throw new Un("Message length length too long");break}throw l}if(n===rt.DATA){if(r.byteLength<o)break;let l=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(l),yield l,n=rt.LENGTH}}}return Pn(t)?(async function*(){for await(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new vr("Unexpected end of input")})():(function*(){for(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new vr("Unexpected end of input")})()}_r.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 _r(n,{...e??{},onLength:s=>{r=s}})};var ri=class extends Ze{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()}},Eu=30,ni=class extends lr{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)+Eu,this.encoding=r.encoding??"base64",this.input=xe(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of _r(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(ei(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=Zs(e),n=Mn.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 ri({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-Eu,protocol:""})}},oi=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new ni(e,{...this.init})}};function Fn(t={}){return new oi(t)}function On(t,e){if(typeof t=="string")return kp(t);if(typeof t=="number")return Bp(t,e);throw new Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}function kp(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 Up(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 Pp(t){let e=Math.abs(t);return e>=315576e5?nt(t,e,315576e5,"year"):e>=26298e5?nt(t,e,26298e5,"month"):e>=6048e5?nt(t,e,6048e5,"week"):e>=864e5?nt(t,e,864e5,"day"):e>=36e5?nt(t,e,36e5,"hour"):e>=6e4?nt(t,e,6e4,"minute"):e>=1e3?nt(t,e,1e3,"second"):`${t} ms`}function Bp(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?Pp(t):Up(t)}function nt(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function si(t){r.debug=r,r.default=r,r.coerce=u,r.disable=s,r.enable=o,r.enabled=i,r.humanize=On,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 m=0;m<f.length;m++)h=(h<<5)-h+f.charCodeAt(m),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(f,h){let m,v=null,g,E;function y(...w){if(!y.enabled)return;let S=y,C=Number(new Date),T=C-(m||C);S.diff=T,S.prev=m,S.curr=C,m=C,w[0]=r.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let D=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(U,R)=>{if(U==="%%")return"%";D++;let ne=r.formatters[R];if(typeof ne=="function"){let Uu=w[D];U=ne.call(S,Uu),w.splice(D,1),D--}return U}),r.formatArgs.call(S,w),h?.onLog!=null&&h.onLog(...w),(S.log||r.log).apply(S,w)}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:()=>v!==null?v:(g!==r.namespaces&&(g=r.namespaces,E=r.enabled(f)),E),set:w=>{v=w}}),typeof r.init=="function"&&r.init(y),y}function n(f,h){let m=r(this.namespace+(typeof h>"u"?":":h)+f);return m.log=this.log,m}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let h,m=(typeof f=="string"?f:"").split(/[\s,]+/),v=m.length;for(h=0;h<v;h++)m[h]&&(f=m[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,m;for(h=0,m=r.skips.length;h<m;h++)if(r.skips[h].test(f))return!1;for(h=0,m=r.names.length;h<m;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 Rn=zp(),Np=["#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 Mp(){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 Fp(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+On(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 Op=console.debug??console.log??(()=>{});function Rp(t){try{t?Rn?.setItem("debug",t):Rn?.removeItem("debug")}catch{}}function $p(){let t;try{t=Rn?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function zp(){try{return localStorage}catch{}}function Vp(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var vu=si({formatArgs:Fp,save:Rp,load:$p,useColors:Mp,setupFormatters:Vp,colors:Np,storage:Rn,log:Op});var J=vu;J.formatters.b=t=>t==null?"undefined":oe.baseEncode(t);J.formatters.t=t=>t==null?"undefined":me.baseEncode(t);J.formatters.m=t=>t==null?"undefined":ko.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 _u(t,e=""){let r=Su(t.message),n=Su(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 gh(t){return t instanceof AggregateError||t?.name==="AggregateError"&&Array.isArray(t.errors)}function ac(t,e=""){if(gh(t)){let r=sc(t,e);return t.errors.length>0?(e=`${e} `,r+=`
10
- ${e}${t.errors.map(n=>`${ac(n,`${e}`)}`).join(`
9
+ ${e}`)}`:r!=null?`${r}`:`${t.toString()}`}function jp(t){return t instanceof AggregateError||t?.name==="AggregateError"&&Array.isArray(t.errors)}function Cu(t,e=""){if(jp(t)){let r=_u(t,e);return t.errors.length>0?(e=`${e} `,r+=`
10
+ ${e}${t.errors.map(n=>`${Cu(n,`${e}`)}`).join(`
11
11
  ${e}`)}`):r+=`
12
- ${e}[Error list was empty]`,r.trim()}return sc(t,e)}Q.formatters.e=t=>t==null?"undefined":ac(t);function bh(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function cr(t){return{forComponent(e){return cc(e,t)}}}function cc(t,e){let r=bh(`${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=>cc(`${t}:${n}`,e)})}function ic(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var yh=0,bs=class extends Ke{local;remote;constructor(e){let r=`${yh++}`;super({...e,id:r,log:cr().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 he(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 uc=Symbol.for("sindresorhus/unlimited-timeout#brand");function fc(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 lc(t){!t||typeof t!="object"||!t[uc]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var xh=new WeakMap;function wh({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}),xh.set(h,()=>{u(s),s=null,i()}),h}}var Eh=wh({setTimeout:fc,clearTimeout:lc}),ys=Eh;var _h=1024*64,ur=class extends de{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??_h,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(vh(e)){let r=new B(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 he(o);this.queue.add(async i=>{this.delay>0&&await O(ys(this.delay),i.signal),this.dispatchEvent(i.evt)},{evt:s})}}else this.queue.add(async r=>{this.delay>0&&await O(ys(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 vh(t){return t?.data instanceof Uint8Array||ut(t?.data)}var hc=0,wn=class extends Qt{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 he(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 xs(t={}){let e=`${hc++}`,r=`${hc++}`,n=cr().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=cr().forComponent(`libp2p:mock-maconn:inbound:${r}`),s=new ur({...t,log:n}),i=new ur({...t,log:o});return[new wn({...t.outbound,id:r,direction:"outbound",local:s,remote:i,remoteAddr:t?.outbound?.remoteAddr??Fe(`/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??Fe(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var ws=class extends ue{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var Es=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 _s=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 Sh(t,e,r){let n,o,s=!1;function i(){let l={signal:o.signal},f;r?.timeout!=null&&(f=Gr([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=Et(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 dc(t={}){let[e,r]=xs({...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 Ch(t={}){let[e,r]=await dc(t);return Yo(r),e}function Ih(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var vs=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 Th(t){let{name:e,metrics:r}=t,n;return r!=null?n=new vs({name:e,metrics:r}):n=new Map,n}return Ec(Lh);})();
12
+ ${e}[Error list was empty]`,r.trim()}return _u(t,e)}J.formatters.e=t=>t==null?"undefined":Cu(t);function qp(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 Sr(t){return{forComponent(e){return Iu(e,t)}}}function Iu(t,e){let r=qp(`${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=>Iu(`${t}:${n}`,e)})}function Su(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var Wp=0,ii=class extends Ze{local;remote;constructor(e){let r=`${Wp++}`;super({...e,id:r,log:Sr().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 q(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return q(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 Au=Symbol.for("sindresorhus/unlimited-timeout#brand");function Lu(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={[Au]:!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 Tu(t){!t||typeof t!="object"||!t[Au]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var Gp=new WeakMap;function Hp({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((m,v)=>{i=()=>{f(),m(n)},a=v,s=(e??setTimeout)(i,r)});return o&&o.addEventListener("abort",l,{once:!0}),Gp.set(h,()=>{u(s),s=null,i()}),h}}var Xp=Hp({setTimeout:Lu,clearTimeout:Tu}),ai=Xp;var Qp=1024*64,Cr=class extends pe{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??Qp,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(Kp(e)){let r=new $(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 q(ai(this.delay),i.signal),this.dispatchEvent(i.evt)},{evt:s})}}else this.queue.add(async r=>{this.delay>0&&await q(ai(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 Kp(t){return t?.data instanceof Uint8Array||lt(t?.data)}var Du=0,$n=class extends fr{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 j(this.local,"drain",{signal:e?.signal}),q(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 ci(t={}){let e=`${Du++}`,r=`${Du++}`,n=Sr().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=Sr().forComponent(`libp2p:mock-maconn:inbound:${r}`),s=new Cr({...t,log:n}),i=new Cr({...t,log:o});return[new $n({...t.outbound,id:r,direction:"outbound",local:s,remote:i,remoteAddr:t?.outbound?.remoteAddr??Oe(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new $n({...t.inbound,id:e,direction:"inbound",local:i,remote:s,remoteAddr:t?.inbound?.remoteAddr??Oe(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var ui=class extends fe{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var fi=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 li=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 zn}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 ir("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)}},zn=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 Jp(t,e,r){let n,o,s=!1;function i(){let l={signal:o.signal},f;r?.timeout!=null&&(f=pn([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=Tt(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 ku(t={}){let[e,r]=ci({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=Fn({streamOptions:t.outbound}).createStreamMuxer(e),o=Fn({streamOptions:t.inbound}).createStreamMuxer(r),[s,i]=await Promise.all([j(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[i,s]}async function Yp(t={}){let[e,r]=await ku(t);return zs(r),e}function Zp(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var hi=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 em(t){let{name:e,metrics:r}=t,n;return r!=null?n=new hi({name:e,metrics:r}):n=new Map,n}return Ru(tm);})();
13
13
  return Libp2PUtils}));
14
14
  //# sourceMappingURL=index.min.js.map