@libp2p/multistream-select 7.0.21 → 7.0.22-08898d7df

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,13 +1,13 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PMultistreamSelect = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PMultistreamSelect=(()=>{var Ee=Object.defineProperty;var Xt=Object.getOwnPropertyDescriptor;var Wt=Object.getOwnPropertyNames;var Jt=Object.prototype.hasOwnProperty;var E=(r,t)=>{for(var e in t)Ee(r,e,{get:t[e],enumerable:!0})},Kt=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Wt(t))!Jt.call(r,o)&&o!==e&&Ee(r,o,{get:()=>t[o],enumerable:!(n=Xt(t,o))||n.enumerable});return r};var Qt=r=>Kt(Ee({},"__esModule",{value:!0}),r);var Pn={};E(Pn,{PROTOCOL_ID:()=>U,handle:()=>qt,select:()=>jt});var U="/multistream/1.0.0";var se=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}};var ie=class extends Error{static name="UnsupportedProtocolError";constructor(t="Unsupported protocol error"){super(t),this.name="UnsupportedProtocolError"}},ae=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}};var Ie={};E(Ie,{base58btc:()=>F,base58flickr:()=>sr});var Vn=new Uint8Array(0);function ct(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function M(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return B(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return B(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function ut(r){return new TextEncoder().encode(r)}function lt(r){return new TextDecoder().decode(r)}function Yt(r){return r?.buffer instanceof ArrayBuffer}function B(r){return Yt(r)?r:r.slice()}function Zt(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(e[i]!==255)throw new TypeError(s+" is ambiguous");e[i]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(f){if(f instanceof Uint8Array||(ArrayBuffer.isView(f)?f=new Uint8Array(f.buffer,f.byteOffset,f.byteLength):Array.isArray(f)&&(f=Uint8Array.from(f))),!(f instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(f.length===0)return"";for(var b=0,_=0,S=0,D=f.length;S!==D&&f[S]===0;)S++,b++;for(var N=(D-S)*l+1>>>0,v=new Uint8Array(N);S!==D;){for(var T=f[S],P=0,I=N-1;(T!==0||P<_)&&I!==-1;I--,P++)T+=256*v[I]>>>0,v[I]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");_=P,S++}for(var C=N-_;C!==N&&v[C]===0;)C++;for(var oe=c.repeat(b);C<N;++C)oe+=r.charAt(v[C]);return oe}function m(f){if(typeof f!="string")throw new TypeError("Expected String");if(f.length===0)return new Uint8Array;var b=0;if(f[b]!==" "){for(var _=0,S=0;f[b]===c;)_++,b++;for(var D=(f.length-b)*u+1>>>0,N=new Uint8Array(D);f[b];){var v=e[f.charCodeAt(b)];if(v===255)return;for(var T=0,P=D-1;(v!==0||T<S)&&P!==-1;P--,T++)v+=a*N[P]>>>0,N[P]=v%256>>>0,v=v/256>>>0;if(v!==0)throw new Error("Non-zero carry");S=T,b++}if(f[b]!==" "){for(var I=D-S;I!==D&&N[I]===0;)I++;for(var C=new Uint8Array(_+(D-I)),oe=_;I!==D;)C[oe++]=N[I++];return C}}}function w(f){var b=m(f);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:h,decodeUnsafe:m,decode:w}}var er=Zt,tr=er,ft=tr;var Le=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ve=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return dt(this,t)}},Ae=class{decoders;constructor(t){this.decoders=t}or(t){return dt(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function dt(r,t){return new Ae({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Se=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Le(t,e,n),this.decoder=new ve(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function $({name:r,prefix:t,encode:e,decode:n}){return new Se(r,t,e,n)}function R({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=ft(e,r);return $({prefix:t,name:r,encode:n,decode:s=>M(o(s))})}function rr(r,t,e,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*e/8|0),i=0,a=0,c=0;for(let u=0;u<o;++u){let l=t[r[u]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|l,i+=e,i>=8&&(i-=8,s[c++]=255&a>>i)}if(i>=e||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function nr(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>e;)i-=e,s+=t[o&a>>i];if(i!==0&&(s+=t[o&a<<e-i]),n)for(;(s.length*e&7)!==0;)s+="=";return s}function or(r){let t={};for(let e=0;e<r.length;++e)t[r[e]]=e;return t}function g({name:r,prefix:t,bitsPerChar:e,alphabet:n}){let o=or(n);return $({prefix:t,name:r,encode(s){return nr(s,n,e)},decode(s){return rr(s,o,e,r)}})}var F=R({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),sr=R({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ue={};E(Ue,{base32:()=>G,base32hex:()=>ur,base32hexpad:()=>hr,base32hexpadupper:()=>fr,base32hexupper:()=>lr,base32pad:()=>ar,base32padupper:()=>cr,base32upper:()=>ir,base32z:()=>dr});var G=g({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ir=g({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ar=g({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cr=g({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ur=g({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),lr=g({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),hr=g({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),fr=g({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),dr=g({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var De={};E(De,{base36:()=>J,base36upper:()=>pr});var J=R({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),pr=R({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var mr=wt,pt=128,wr=127,gr=~wr,br=Math.pow(2,31);function wt(r,t,e){t=t||[],e=e||0;for(var n=e;r>=br;)t[e++]=r&255|pt,r/=128;for(;r&gr;)t[e++]=r&255|pt,r>>>=7;return t[e]=r|0,wt.bytes=e-n+1,t}var yr=Ne,xr=128,mt=127;function Ne(r,n){var e=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ne.bytes=0,new RangeError("Could not decode varint");i=r[s++],e+=o<28?(i&mt)<<o:(i&mt)*Math.pow(2,o),o+=7}while(i>=xr);return Ne.bytes=s-n,e}var Er=Math.pow(2,7),Lr=Math.pow(2,14),vr=Math.pow(2,21),Ar=Math.pow(2,28),Sr=Math.pow(2,35),Ir=Math.pow(2,42),Ur=Math.pow(2,49),Dr=Math.pow(2,56),Nr=Math.pow(2,63),Tr=function(r){return r<Er?1:r<Lr?2:r<vr?3:r<Ar?4:r<Sr?5:r<Ir?6:r<Ur?7:r<Dr?8:r<Nr?9:10},Fr={encode:mr,decode:yr,encodingLength:Tr},Cr=Fr,K=Cr;function Q(r,t=0){return[K.decode(r,t),K.decode.bytes]}function H(r,t,e=0){return K.encode(r,t,e),t}function j(r){return K.encodingLength(r)}function X(r,t){let e=t.byteLength,n=j(r),o=n+j(e),s=new Uint8Array(o+e);return H(r,s,0),H(e,s,n),s.set(t,o),new q(r,e,t,s)}function gt(r){let t=M(r),[e,n]=Q(t),[o,s]=Q(t.subarray(n)),i=t.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new q(e,o,i,t)}function bt(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&ct(r.bytes,e.bytes)}}var q=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=B(n),this.bytes=B(o)}};function yt(r,t){let{bytes:e,version:n}=r;return n===0?Or(e,Te(r),t??F.encoder):Pr(e,Te(r),t??G.encoder)}var xt=new WeakMap;function Te(r){let t=xt.get(r);if(t==null){let e=new Map;return xt.set(r,e),e}return t}var ue=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=B(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:t,multihash:e}=this;if(t!==Z)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Rr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=X(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&bt(t.multihash,n.multihash)}toString(t){return yt(this,t)}toJSON(){return{"/":yt(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:s,bytes:i}=e;return new r(n,o,s,i??Et(n,o,s.bytes))}else if(e[_r]===!0){let{version:n,multihash:o,code:s}=e,i=gt(o);return r.create(n,s,i)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Z)throw new Error(`Version 0 CID must use dag-pb (code: ${Z}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Et(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Z,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=M(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=o.subarray(e.multihashSize-e.digestSize),i=new q(e.multihashCode,e.digestSize,s,o);return[e.version===0?r.createV0(i):r.createV1(e.codec,i),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[h,m]=Q(t.subarray(e));return e+=m,h},o=n(),s=Z;if(o===18?(o=0,e=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=e,a=n(),c=n(),u=e+c,l=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(t,e){let[n,o]=Mr(t,e),s=r.decode(o);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Te(s).set(n,t),s}};function Mr(r,t){switch(r[0]){case"Q":{let e=t??F;return[F.prefix,e.decode(`${F.prefix}${r}`)]}case F.prefix:{let e=t??F;return[F.prefix,e.decode(r)]}case G.prefix:{let e=t??G;return[G.prefix,e.decode(r)]}case J.prefix:{let e=t??J;return[J.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Or(r,t,e){let{prefix:n}=e;if(n!==F.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return o}function Pr(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let s=e.encode(r);return t.set(n,s),s}else return o}var Z=112,Rr=18;function Et(r,t,e){let n=j(r),o=n+j(t),s=new Uint8Array(o+e.byteLength);return H(r,s,0),H(t,s,n),s.set(e,o),s}var _r=Symbol.for("@ipld/js-cid/CID");var Fe={};E(Fe,{identity:()=>kr});var Lt=0,Br="identity",vt=M;function Vr(r,t){if(t?.truncate!=null&&t.truncate!==r.byteLength){if(t.truncate<0||t.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t.truncate)}return X(Lt,vt(r))}var kr={code:Lt,name:Br,encode:vt,digest:Vr};function O(r=0){return new Uint8Array(r)}function ee(r=0){return new Uint8Array(r)}function Ce(r,t){t==null&&(t=r.reduce((o,s)=>o+s.length,0));let e=ee(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return e}function At(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var It=Symbol.for("@achingbrain/uint8arraylist");function St(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function le(r){return!!r?.[It]}var L=class r{bufs;length;[It]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(le(n)){e+=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+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(le(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=St(this.bufs,t);return e.buf[e.index]}set(t,e){let n=St(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(le(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return Ce(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:Ce(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),s=new r;return s.length=o,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===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,c=a+i.byteLength;if(o=c,t>=c)continue;let u=t>=a&&t<c,l=e>a&&e<=c;if(u&&l){if(t===a&&e===c){n.push(i);break}let h=t-a;n.push(i.subarray(h,h+(e-t)));break}if(u){if(t===0){n.push(i);continue}n.push(i.subarray(t-a));continue}if(l){if(e===c){n.push(i);break}n.push(i.subarray(0,e-a));break}n.push(i)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!le(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;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,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let h=e;h<=c;h+=l){l=0;for(let m=u;m>=0;m--){let w=this.get(h+m);if(n[m]!==w){l=Math.max(1,m-a[w]);break}}if(l===0)return h}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=ee(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=ee(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!At(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,s)=>o+s.byteLength,0)),n.length=e,n}};var Me={};E(Me,{base10:()=>zr});var zr=R({prefix:"9",name:"base10",alphabet:"0123456789"});var Oe={};E(Oe,{base16:()=>$r,base16upper:()=>Gr});var $r=g({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Gr=g({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Pe={};E(Pe,{base2:()=>Hr});var Hr=g({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Re={};E(Re,{base256emoji:()=>Jr});var Ut=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}"),jr=Ut.reduce((r,t,e)=>(r[e]=t,r),[]),qr=Ut.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Xr(r){return r.reduce((t,e)=>(t+=jr[e],t),"")}function Wr(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=qr[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Jr=$({prefix:"\u{1F680}",name:"base256emoji",encode:Xr,decode:Wr});var _e={};E(_e,{base64:()=>Kr,base64pad:()=>Qr,base64url:()=>Yr,base64urlpad:()=>Zr});var Kr=g({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qr=g({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Yr=g({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Zr=g({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Be={};E(Be,{base8:()=>en});var en=g({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ve={};E(Ve,{identity:()=>tn});var tn=$({prefix:"\0",name:"identity",encode:r=>lt(r),decode:r=>ut(r)});var vo=new TextEncoder,Ao=new TextDecoder;var $e={};E($e,{sha256:()=>sn,sha512:()=>an});var on=20;function ze({name:r,code:t,encode:e,minDigestLength:n,maxDigestLength:o}){return new ke(r,t,e,n,o)}var ke=class{name;code;encode;minDigestLength;maxDigestLength;constructor(t,e,n,o,s){this.name=t,this.code=e,this.encode=n,this.minDigestLength=o??on,this.maxDigestLength=s}digest(t,e){if(e?.truncate!=null){if(e.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&e.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(t instanceof Uint8Array){let n=this.encode(t);return n instanceof Uint8Array?Dt(n,this.code,e?.truncate):n.then(o=>Dt(o,this.code,e?.truncate))}else throw Error("Unknown type, must be binary type")}};function Dt(r,t,e){if(e!=null&&e!==r.byteLength){if(e>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e)}return X(t,r)}function Tt(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var sn=ze({name:"sha2-256",code:18,encode:Tt("SHA-256")}),an=ze({name:"sha2-512",code:19,encode:Tt("SHA-512")});var Ge={...Ve,...Pe,...Be,...Me,...Oe,...Ue,...De,...Ie,..._e,...Re},Ro={...$e,...Fe};function Ft(r=0){return new Uint8Array(r)}function Mt(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Ct=Mt("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),He=Mt("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=Ft(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),cn={utf8:Ct,"utf-8":Ct,hex:Ge.base16,latin1:He,ascii:He,binary:He,...Ge},he=cn;function A(r,t="utf8"){let e=he[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Ot(r,t="utf8"){let e=he[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var je=class r extends Error{name="TimeoutError";constructor(t,e){super(t,e),Error.captureStackTrace?.(this,r)}},Pt=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function qe(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=t,a,c,l=new Promise((h,m)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(i?.aborted){m(Pt(i));return}if(i&&(c=()=>{m(Pt(i))},i.addEventListener("abort",c,{once:!0})),r.then(h,m),e===Number.POSITIVE_INFINITY)return;let w=new je;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(f){m(f)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?h():o instanceof Error?m(o):(w.message=o??`Promise timed out after ${e} milliseconds`,m(w))},e)}).finally(()=>{l.clear(),c&&i&&i.removeEventListener("abort",c)});return l.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},l}var un=r=>{let t=r.addEventListener||r.on||r.addListener,e=r.removeEventListener||r.off||r.removeListener;if(!t||!e)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(r),removeListener:e.bind(r)}};function ln(r,t,e){let n,o=new Promise((s,i)=>{if(e={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...e},!(e.count>=0&&(e.count===Number.POSITIVE_INFINITY||Number.isInteger(e.count))))throw new TypeError("The `count` option should be at least 0 or more");e.signal?.throwIfAborted();let a=[t].flat(),c=[],{addListener:u,removeListener:l}=un(r),h=async(...w)=>{let f=e.multiArgs?w:w[0];if(e.filter)try{if(!await e.filter(f))return}catch(b){n(),i(b);return}c.push(f),e.count===c.length&&(n(),s(c))},m=(...w)=>{n(),i(e.rejectionMultiArgs?w:w[0])};n=()=>{for(let w of a)l(w,h);for(let w of e.rejectionEvents)a.includes(w)||l(w,m)};for(let w of a)u(w,h);for(let w of e.rejectionEvents)a.includes(w)||u(w,m);e.signal&&e.signal.addEventListener("abort",()=>{m(e.signal.reason)},{once:!0}),e.resolveImmediately&&s(c)});if(o.cancel=n,typeof e.timeout=="number"){let s=qe(o,{milliseconds:e.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function Rt(r,t,e){typeof e=="function"&&(e={filter:e}),e={...e,count:1,resolveImmediately:!1};let n=ln(r,t,e),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var V=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function hn(r){return r.reason}async function Xe(r,t,e){if(t==null)return r;let n=e?.translateError??hn;if(t.aborted)return r.catch(()=>{}),Promise.reject(n(t));let o;try{return await Promise.race([r,new Promise((s,i)=>{o=()=>{i(n(t))},t.addEventListener("abort",o)})])}finally{o!=null&&t.removeEventListener("abort",o)}}function _t(r=0){return new Uint8Array(r)}var fn=Math.pow(2,7),dn=Math.pow(2,14),pn=Math.pow(2,21),We=Math.pow(2,28),Je=Math.pow(2,35),Ke=Math.pow(2,42),Qe=Math.pow(2,49),d=128,y=127;function te(r){if(r<fn)return 1;if(r<dn)return 2;if(r<pn)return 3;if(r<We)return 4;if(r<Je)return 5;if(r<Ke)return 6;if(r<Qe)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function mn(r,t,e=0){switch(te(r)){case 8:t[e++]=r&255|d,r/=128;case 7:t[e++]=r&255|d,r/=128;case 6:t[e++]=r&255|d,r/=128;case 5:t[e++]=r&255|d,r/=128;case 4:t[e++]=r&255|d,r>>>=7;case 3:t[e++]=r&255|d,r>>>=7;case 2:t[e++]=r&255|d,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function wn(r,t,e=0){switch(te(r)){case 8:t.set(e++,r&255|d),r/=128;case 7:t.set(e++,r&255|d),r/=128;case 6:t.set(e++,r&255|d),r/=128;case 5:t.set(e++,r&255|d),r/=128;case 4:t.set(e++,r&255|d),r>>>=7;case 3:t.set(e++,r&255|d),r>>>=7;case 2:t.set(e++,r&255|d),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function gn(r,t){let e=r[t],n=0;if(n+=e&y,e<d||(e=r[t+1],n+=(e&y)<<7,e<d)||(e=r[t+2],n+=(e&y)<<14,e<d)||(e=r[t+3],n+=(e&y)<<21,e<d)||(e=r[t+4],n+=(e&y)*We,e<d)||(e=r[t+5],n+=(e&y)*Je,e<d)||(e=r[t+6],n+=(e&y)*Ke,e<d)||(e=r[t+7],n+=(e&y)*Qe,e<d))return n;throw new RangeError("Could not decode varint")}function bn(r,t){let e=r.get(t),n=0;if(n+=e&y,e<d||(e=r.get(t+1),n+=(e&y)<<7,e<d)||(e=r.get(t+2),n+=(e&y)<<14,e<d)||(e=r.get(t+3),n+=(e&y)<<21,e<d)||(e=r.get(t+4),n+=(e&y)*We,e<d)||(e=r.get(t+5),n+=(e&y)*Je,e<d)||(e=r.get(t+6),n+=(e&y)*Ke,e<d)||(e=r.get(t+7),n+=(e&y)*Qe,e<d))return n;throw new RangeError("Could not decode varint")}function Bt(r,t,e=0){return t==null&&(t=_t(te(r))),t instanceof Uint8Array?mn(r,t,e):wn(r,t,e)}function Vt(r,t=0){return r instanceof Uint8Array?gn(r,t):bn(r,t)}var En=4194304,fe=class extends Error{static name="UnwrappedError";name="UnwrappedError"},Ze=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},et=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},tt=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Ln(r){return typeof r?.closeRead=="function"}function vn(r){return typeof r?.close=="function"}function Ye(r){return Ln(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:vn(r)?r.status!=="open":!1}function An(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function Sn(r,t){let e=t?.maxBufferSize??En,n=new L,o,s=!1;if(!An(r))throw new se("Argument should be a Stream or a Multiaddr");let i=l=>{if(n.append(l.data),n.byteLength>e){let h=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${h} > ${e}`))}o?.resolve()};r.addEventListener("message",i);let a=l=>{l.error!=null?o?.reject(l.error):o?.resolve()};r.addEventListener("close",a);let c=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",c);let u={readBuffer:n,async read(l){if(s===!0)throw new fe("Stream was unwrapped");if(Ye(r)){if(n.byteLength===0&&l?.bytes==null)return null;if(l?.bytes!=null&&n.byteLength<l.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,l.bytes),new V(`Unexpected EOF - stream closed after reading ${n.byteLength}/${l.bytes} bytes`)}let h=l?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=h){o.resolve();break}if(await Xe(o.promise,l?.signal),Ye(r)){if(n.byteLength===0&&l?.bytes==null)return null;break}o=Promise.withResolvers()}let m=l?.bytes??n.byteLength;if(n.byteLength<m){if(Ye(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,m),new V(`Unexpected EOF - stream closed while reading ${n.byteLength}/${m} bytes`);return u.read(l)}let w=n.sublist(0,m);return n.consume(m),w},async write(l,h){if(s===!0)throw new fe("Stream was unwrapped");r.send(l)||await Rt(r,"drain",{signal:h?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",i),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",c),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return u}function de(r,t={}){let e=Sn(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=te(t.maxDataLength));let n=t?.lengthDecoder??Vt,o=t?.lengthEncoder??Bt;return{async read(i){let a=-1,c=new L;for(;;){let l=await e.read({...i,bytes:1});if(l==null)break;c.append(l);try{a=n(c)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new Ze("Invalid message length");if(t?.maxLengthLength!=null&&c.byteLength>t.maxLengthLength)throw new tt(`Message length length too long - ${c.byteLength} > ${t.maxLengthLength}`);if(a>-1)break}if(t?.maxDataLength!=null&&a>t.maxDataLength)throw new et(`Message length too long - ${a} > ${t.maxDataLength}`);let u=await e.read({...i,bytes:a});if(u==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new V(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(u.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",u.byteLength,a),new V(`Unexpected EOF - read ${u.byteLength}/${a} bytes before the stream closed`);return u},async write(i,a){await e.write(new L(o(i.byteLength),i),a)},async writeV(i,a){let c=new L(...i.flatMap(u=>[o(u.byteLength),u]));await e.write(c,a)},unwrap(){return e.unwrap()}}}function pe(r=0){return new Uint8Array(r)}var In=Math.pow(2,7),Un=Math.pow(2,14),Dn=Math.pow(2,21),rt=Math.pow(2,28),nt=Math.pow(2,35),ot=Math.pow(2,42),st=Math.pow(2,49),p=128,x=127;function k(r){if(r<In)return 1;if(r<Un)return 2;if(r<Dn)return 3;if(r<rt)return 4;if(r<nt)return 5;if(r<ot)return 6;if(r<st)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Nn(r,t,e=0){switch(k(r)){case 8:t[e++]=r&255|p,r/=128;case 7:t[e++]=r&255|p,r/=128;case 6:t[e++]=r&255|p,r/=128;case 5:t[e++]=r&255|p,r/=128;case 4:t[e++]=r&255|p,r>>>=7;case 3:t[e++]=r&255|p,r>>>=7;case 2:t[e++]=r&255|p,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Tn(r,t,e=0){switch(k(r)){case 8:t.set(e++,r&255|p),r/=128;case 7:t.set(e++,r&255|p),r/=128;case 6:t.set(e++,r&255|p),r/=128;case 5:t.set(e++,r&255|p),r/=128;case 4:t.set(e++,r&255|p),r>>>=7;case 3:t.set(e++,r&255|p),r>>>=7;case 2:t.set(e++,r&255|p),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Fn(r,t){let e=r[t],n=0;if(n+=e&x,e<p||(e=r[t+1],n+=(e&x)<<7,e<p)||(e=r[t+2],n+=(e&x)<<14,e<p)||(e=r[t+3],n+=(e&x)<<21,e<p)||(e=r[t+4],n+=(e&x)*rt,e<p)||(e=r[t+5],n+=(e&x)*nt,e<p)||(e=r[t+6],n+=(e&x)*ot,e<p)||(e=r[t+7],n+=(e&x)*st,e<p))return n;throw new RangeError("Could not decode varint")}function Cn(r,t){let e=r.get(t),n=0;if(n+=e&x,e<p||(e=r.get(t+1),n+=(e&x)<<7,e<p)||(e=r.get(t+2),n+=(e&x)<<14,e<p)||(e=r.get(t+3),n+=(e&x)<<21,e<p)||(e=r.get(t+4),n+=(e&x)*rt,e<p)||(e=r.get(t+5),n+=(e&x)*nt,e<p)||(e=r.get(t+6),n+=(e&x)*ot,e<p)||(e=r.get(t+7),n+=(e&x)*st,e<p))return n;throw new RangeError("Could not decode varint")}function kt(r,t,e=0){return t==null&&(t=pe(k(r))),t instanceof Uint8Array?Nn(r,t,e):Tn(r,t,e)}function zt(r,t=0){return r instanceof Uint8Array?Fn(r,t):Cn(r,t)}var me=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},W=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},we=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},re=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function ge(r){return r[Symbol.asyncIterator]!=null}function Gt(r,t){if(r.byteLength>t)throw new W("Message length too long")}var ye=r=>{let t=k(r),e=pe(t);return kt(r,e),ye.bytes=t,e};ye.bytes=0;function xe(r,t){t=t??{};let e=t.lengthEncoder??ye,n=t?.maxDataLength??4194304;function*o(s){Gt(s,n);let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return ge(r)?(async function*(){for await(let s of r)yield*o(s)})():(function*(){for(let s of r)yield*o(s)})()}xe.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??ye,n=t?.maxDataLength??4194304;return Gt(r,n),new L(e(r.byteLength),r)};var z;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(z||(z={}));var at=r=>{let t=zt(r);return at.bytes=k(t),t};at.bytes=0;function it(r,t){let e=new L,n=z.LENGTH,o=-1,s=t?.lengthDecoder??at,i=t?.maxLengthLength??8,a=t?.maxDataLength??4194304;function*c(){for(;e.byteLength>0;){if(n===z.LENGTH)try{if(o=s(e),o<0)throw new me("Invalid message length");if(o>a)throw new W("Message length too long");let u=s.bytes;e.consume(u),t?.onLength!=null&&t.onLength(o),n=z.DATA}catch(u){if(u instanceof RangeError){if(e.byteLength>i)throw new we("Message length length too long");break}throw u}if(n===z.DATA){if(e.byteLength<o)break;let u=e.sublist(0,o);e.consume(o),t?.onData!=null&&t.onData(u),yield u,n=z.LENGTH}}}return ge(r)?(async function*(){for await(let u of r)e.append(u),yield*c();if(e.byteLength>0)throw new re("Unexpected end of input")})():(function*(){for(let u of r)e.append(u),yield*c();if(e.byteLength>0)throw new re("Unexpected end of input")})()}it.fromReader=(r,t)=>{let e=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await r.next(e);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{e=1}})();return it(n,{...t??{},onLength:s=>{e=s}})};var On=A(`
3
- `);async function ne(r,t){let n=(await r.read(t)).subarray();if(n.byteLength===0||n[n.length-1]!==On[0])throw new ae("Missing newline");return Ot(n).trimEnd()}async function jt(r,t,e={}){if(t=Array.isArray(t)?[...t]:[t],t.length===0)throw new Error("At least one protocol must be specified");let n=r.log.newScope("mss:select"),o=de(r,{...e,maxDataLength:1024});for(let s=0;s<t.length;s++){let i=t[s],a;if(s===0){n.trace('write ["%s", "%s"]',U,i);let c=A(`${U}
4
- `),u=A(`${i}
5
- `);if(await o.writeV([c,u],e),n.trace("reading multistream-select header"),a=await ne(o,e),n.trace('read "%s"',a),a!==U){n.error("did not read multistream-select header from response");break}}else n.trace('write "%s"',i),await o.write(A(`${i}
6
- `),e);if(n.trace("reading protocol response"),a=await ne(o,e),n.trace('read "%s"',a),a===i)return n.trace('selected "%s" after negotiation',a),o.unwrap(),i}throw new ie(`Protocol selection failed - could not negotiate ${t}`)}async function qt(r,t,e={}){t=Array.isArray(t)?t:[t];let n=r.log.newScope("mss:handle"),o=de(r,{...e,maxDataLength:1024,maxLengthLength:2});for(;;){n.trace("reading incoming string");let s=await ne(o,e);if(n.trace('read "%s"',s),s===U){n.trace('respond with "%s" for "%s"',U,s),await o.write(A(`${U}
7
- `),e),n.trace('responded with "%s" for "%s"',U,s);continue}if(t.includes(s))return n.trace('respond with "%s" for "%s"',s,s),await o.write(A(`${s}
8
- `),e),n.trace('responded with "%s" for "%s"',s,s),o.unwrap(),s;if(s==="ls"){let i=new L(...t.map(a=>xe.single(A(`${a}
9
- `))),A(`
10
- `));n.trace('respond with "%s" for %s',t,s),await o.write(i,e),n.trace('responded with "%s" for %s',t,s);continue}n.trace('respond with "na" for "%s"',s),await o.write(A(`na
11
- `),e),n('responded with "na" for "%s"',s)}}return Qt(Pn);})();
2
+ "use strict";var Libp2PMultistreamSelect=(()=>{var Ee=Object.defineProperty;var kt=Object.getOwnPropertyDescriptor;var zt=Object.getOwnPropertyNames;var $t=Object.prototype.hasOwnProperty;var y=(r,e)=>{for(var t in e)Ee(r,t,{get:e[t],enumerable:!0})},Gt=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of zt(e))!$t.call(r,o)&&o!==t&&Ee(r,o,{get:()=>e[o],enumerable:!(n=kt(e,o))||n.enumerable});return r};var Ht=r=>Gt(Ee({},"__esModule",{value:!0}),r);var En={};y(En,{PROTOCOL_ID:()=>S,handle:()=>_t,select:()=>Bt});var S="/multistream/1.0.0";var oe=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var se=class extends Error{static name="UnsupportedProtocolError";constructor(e="Unsupported protocol error"){super(e),this.name="UnsupportedProtocolError"}},ie=class extends Error{static name="InvalidMessageError";constructor(e="Invalid message"){super(e),this.name="InvalidMessageError"}};function O(r=0){return new Uint8Array(r)}function D(r=0){return new Uint8Array(r)}function jt(r){return r?.buffer instanceof ArrayBuffer}function st(r){if(jt(r))return r;let e=r.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function Le(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=D(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return st(t)}function it(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}var ct=Symbol.for("@achingbrain/uint8arraylist");function at(r,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let t=0;for(let n of r){let o=t+n.byteLength;if(e<o)return{buf:n,index:e-t};t=o}throw new RangeError("index is out of bounds")}function ae(r){return!!r?.[ct]}var x=class r{bufs;length;[ct]=!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 t=0;for(let n of e)if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.push(n);else if(ae(n)){t+=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+=t}prepend(...e){this.prependAll(e)}prependAll(e){let t=0;for(let n of e.reverse())if(n instanceof Uint8Array)t+=n.byteLength,this.bufs.unshift(n);else if(ae(n))t+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=t}get(e){let t=at(this.bufs,e);return t.buf[t.index]}set(e,t){let n=at(this.bufs,e);n.buf[n.index]=t}write(e,t=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(t+n,e[n]);else if(ae(e))for(let n=0;n<e.length;n++)this.set(t+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,t){let{bufs:n,length:o}=this._subList(e,t);return Le(n,o)}subarray(e,t){let{bufs:n,length:o}=this._subList(e,t);return n.length===1?n[0]:Le(n,o)}sublist(e,t){let{bufs:n,length:o}=this._subList(e,t),s=new r;return s.length=o,s.bufs=n,s}_subList(e,t){if(e=e??0,t=t??this.length,e<0&&(e=this.length+e),t<0&&(t=this.length+t),e<0||t>this.length)throw new RangeError("index is out of bounds");if(e===t)return{bufs:[],length:0};if(e===0&&t===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,c=t>a&&t<=u;if(l&&c){if(e===a&&t===u){n.push(i);break}let f=e-a;n.push(i.subarray(f,f+(t-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(c){if(t===u){n.push(i);break}n.push(i.subarray(0,t-a));break}n.push(i)}return{bufs:n,length:t-e}}indexOf(e,t=0){if(!ae(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(t=Number(t??0),isNaN(t)&&(t=0),t<0&&(t=this.length+t),t<0&&(t=0),e.length===0)return t>this.length?this.length:t;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 f=0;f<s;f++)i[f]=-1;for(let f=0;f<o;f++)i[n[f]]=f;let a=i,u=this.byteLength-n.byteLength,l=n.byteLength-1,c;for(let f=t;f<=u;f+=c){c=0;for(let d=l;d>=0;d--){let m=this.get(f+d);if(n[d]!==m){c=Math.max(1,d-a[m]);break}}if(c===0)return f}return-1}getInt8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getInt8(0)}setInt8(e,t){let n=D(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,t),this.write(n,e)}getInt16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,t)}setInt16(e,t,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,t,n),this.write(o,e)}getInt32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,t)}setInt32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,t,n),this.write(o,e)}getBigInt64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,t)}setBigInt64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,t,n),this.write(o,e)}getUint8(e){let t=this.subarray(e,e+1);return new DataView(t.buffer,t.byteOffset,t.byteLength).getUint8(0)}setUint8(e,t){let n=D(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,t),this.write(n,e)}getUint16(e,t){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,t)}setUint16(e,t,n){let o=O(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,t,n),this.write(o,e)}getUint32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,t)}setUint32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,t,n),this.write(o,e)}getBigUint64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,t)}setBigUint64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,t,n),this.write(o,e)}getFloat32(e,t){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,t)}setFloat32(e,t,n){let o=O(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,t,n),this.write(o,e)}getFloat64(e,t){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,t)}setFloat64(e,t,n){let o=O(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,t,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof r)||e.bufs.length!==this.bufs.length)return!1;for(let t=0;t<this.bufs.length;t++)if(!it(this.bufs[t],e.bufs[t]))return!1;return!0}static fromUint8Arrays(e,t){let n=new r;return n.bufs=e,t==null&&(t=e.reduce((o,s)=>o+s.byteLength,0)),n.length=t,n}};var De={};y(De,{base10:()=>Zt});var Pn=new Uint8Array(0);function lt(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function L(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return _(r);if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return _(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));throw new Error("Unknown type, must be binary type")}function ft(r){let e=new Uint8Array(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}var ut=4096;function ht(r){let e=r.length;if(e<=ut)return String.fromCharCode.apply(String,r);let t="",n=0;for(;n<e;)t+=String.fromCharCode.apply(String,r.subarray(n,n+=ut));return t}function qt(r){return r?.buffer instanceof ArrayBuffer}function _(r){return qt(r)?r:r.slice()}function Xt(r,e,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var n=new Uint8Array(256),o=0;o<n.length;o++)n[o]=255;for(var s=0;s<r.length;s++){var i=r.charAt(s),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");if(n[a]=s,t){var u=i.toLowerCase().charCodeAt(0),l=i.toUpperCase().charCodeAt(0);u!==a&&(n[u]=s),l!==a&&(n[l]=s)}}var c=r.length,f=r.charAt(0),d=Math.log(c)/Math.log(256),m=Math.log(256)/Math.log(c);function z(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var g=0,B=0,A=0,U=p.length;A!==U&&p[A]===0;)A++,g++;for(var T=(U-A)*m+1>>>0,E=new Uint8Array(T);A!==U;){for(var N=p[A],P=0,I=T-1;(N!==0||P<B)&&I!==-1;I--,P++)N+=256*E[I]>>>0,E[I]=N%c>>>0,N=N/c>>>0;if(N!==0)throw new Error("Non-zero carry");B=P,A++}for(var M=T-B;M!==T&&E[M]===0;)M++;for(var ne=f.repeat(g);M<T;++M)ne+=r.charAt(E[M]);return ne}function re(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var g=0;if(p[g]!==" "){for(var B=0,A=0;p[g]===f;)B++,g++;for(var U=(p.length-g)*d+1>>>0,T=new Uint8Array(U);p[g];){var E=n[p.charCodeAt(g)];if(E===255)return;for(var N=0,P=U-1;(E!==0||N<A)&&P!==-1;P--,N++)E+=c*T[P]>>>0,T[P]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");A=N,g++}if(p[g]!==" "){for(var I=U-A;I!==U&&T[I]===0;)I++;for(var M=new Uint8Array(B+(U-I)),ne=B;I!==U;)M[ne++]=T[I++];return M}}}function Vt(p){var g=re(p);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:z,decodeUnsafe:re,decode:Vt}}var Wt=Xt,Jt=Wt,mt=Jt;var ve=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Ae=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){this.name=e,this.prefix=t;let o=t.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 pt(this,e)}},Ie=class{decoders;constructor(e){this.decoders=e}or(e){return pt(this,e)}decode(e){let t=e[0],n=this.decoders[t];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 pt(r,e){return new Ie({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Se=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new ve(e,t,n),this.decoder=new Ae(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function $({name:r,prefix:e,encode:t,decode:n}){return new Se(r,e,t,n)}function R({name:r,prefix:e,alphabet:t,caseInsensitive:n=!1}){let{encode:o,decode:s}=mt(t,r,n);return $({prefix:e,name:r,encode:o,decode:i=>L(s(i))})}function Kt(r,e,t,n){let o=r.length;for(;r[o-1]==="=";)--o;let s=new Uint8Array(o*t/8|0),i=0,a=0,u=0;for(let l=0;l<o;++l){let c=e[r[l]];if(c===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<t|c,i+=t,i>=8&&(i-=8,s[u++]=255&a>>i)}if(i>=t||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Qt(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let u=0;u<r.length;++u)for(a=a<<8|r[u],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;(s.length*t&7)!==0;)s+="=";return s}function Yt(r,e){let t={};for(let n=0;n<r.length;++n)if(t[r[n]]=n,e){let o=r[n].toLowerCase(),s=r[n].toUpperCase();o!==r[n]&&(t[o]=n),s!==r[n]&&(t[s]=n)}return t}function b({name:r,prefix:e,bitsPerChar:t,alphabet:n,caseInsensitive:o=!1}){let s=Yt(n,o);return $({prefix:e,name:r,encode(i){return Qt(i,n,t)},decode(i){return Kt(i,s,t,r)}})}var Zt=R({prefix:"9",name:"base10",alphabet:"0123456789"});var Ue={};y(Ue,{base16:()=>er,base16upper:()=>tr});var er=b({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),tr=b({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var Te={};y(Te,{base2:()=>rr});var rr=b({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ne={};y(Ne,{base256emoji:()=>ar});var bt=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}"),nr=bt.reduce((r,e,t)=>(r[t]=e,r),[]),or=bt.reduce((r,e,t)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return r[n]=t,r},[]);function sr(r){return r.reduce((e,t)=>(e+=nr[t],e),"")}function ir(r){let e=[];for(let t of r){let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);let o=or[n];if(o==null)throw new Error(`Non-base256emoji character: ${t}`);e.push(o)}return new Uint8Array(e)}var ar=$({prefix:"\u{1F680}",name:"base256emoji",encode:sr,decode:ir});var Ce={};y(Ce,{base32:()=>G,base32hex:()=>fr,base32hexpad:()=>dr,base32hexpadupper:()=>mr,base32hexupper:()=>hr,base32pad:()=>ur,base32padupper:()=>lr,base32upper:()=>cr,base32z:()=>pr});var G=b({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),cr=b({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),ur=b({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),lr=b({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),fr=b({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),hr=b({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),dr=b({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),mr=b({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),pr=b({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Me={};y(Me,{base36:()=>J,base36upper:()=>br});var J=R({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),br=R({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var Oe={};y(Oe,{base58btc:()=>C,base58flickr:()=>wr});var C=R({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),wr=R({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Fe={};y(Fe,{base64:()=>gr,base64pad:()=>yr,base64url:()=>xr,base64urlpad:()=>Er});var gr=b({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),yr=b({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),xr=b({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Er=b({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Pe={};y(Pe,{base8:()=>Lr});var Lr=b({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Re={};y(Re,{identity:()=>vr});var vr=$({prefix:"\0",name:"identity",encode:r=>ht(L(r)),decode:r=>L(ft(r))});var Qn=new TextEncoder,Yn=new TextDecoder;var _e={};y(_e,{identity:()=>qr});var Sr=yt,wt=128,Dr=127,Ur=~Dr,Tr=Math.pow(2,31);function yt(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Tr;)e[t++]=r&255|wt,r/=128;for(;r&Ur;)e[t++]=r&255|wt,r>>>=7;return e[t]=r|0,yt.bytes=t-n+1,e}var Nr=Be,Cr=128,gt=127;function Be(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Be.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&gt)<<o:(i&gt)*Math.pow(2,o),o+=7}while(i>=Cr);return Be.bytes=s-n,t}var Mr=Math.pow(2,7),Or=Math.pow(2,14),Fr=Math.pow(2,21),Pr=Math.pow(2,28),Rr=Math.pow(2,35),Br=Math.pow(2,42),_r=Math.pow(2,49),Vr=Math.pow(2,56),kr=Math.pow(2,63),zr=function(r){return r<Mr?1:r<Or?2:r<Fr?3:r<Pr?4:r<Rr?5:r<Br?6:r<_r?7:r<Vr?8:r<kr?9:10},$r={encode:Sr,decode:Nr,encodingLength:zr},Gr=$r,K=Gr;function Q(r,e=0){return[K.decode(r,e),K.decode.bytes]}function H(r,e,t=0){return K.encode(r,e,t),e}function j(r){return K.encodingLength(r)}function X(r,e){let t=e.byteLength,n=j(r),o=n+j(t),s=new Uint8Array(o+t);return H(r,s,0),H(t,s,n),s.set(e,o),new q(r,t,e,s)}function xt(r){let e=L(r),[t,n]=Q(e),[o,s]=Q(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new q(t,o,i,e)}function Et(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&lt(r.bytes,t.bytes)}}var q=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=_(n),this.bytes=_(o)}};var Lt=0,Hr="identity",vt=L;function jr(r,e){if(e?.truncate!=null&&e.truncate!==r.byteLength){if(e.truncate<0||e.truncate>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,e.truncate)}return X(Lt,vt(r))}var qr={code:Lt,name:Hr,encode:vt,digest:jr};var ze={};y(ze,{sha256:()=>Wr,sha512:()=>Jr});var Xr=20;function ke({name:r,code:e,encode:t,minDigestLength:n,maxDigestLength:o}){return new Ve(r,e,t,n,o)}var Ve=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,t,n,o,s){this.name=e,this.code=t,this.encode=n,this.minDigestLength=o??Xr,this.maxDigestLength=s}digest(e,t){if(t?.truncate!=null){if(t.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&t.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?At(n,this.code,t?.truncate):n.then(o=>At(o,this.code,t?.truncate))}else throw Error("Unknown type, must be binary type")}};function At(r,e,t){if(t!=null&&t!==r.byteLength){if(t>r.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${r.byteLength}`);r=r.subarray(0,t)}return X(e,r)}function St(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Wr=ke({name:"sha2-256",code:18,encode:St("SHA-256")}),Jr=ke({name:"sha2-512",code:19,encode:St("SHA-512")});function Dt(r,e){let{bytes:t,version:n}=r;return n===0?Qr(t,$e(r),e??C.encoder):Yr(t,$e(r),e??G.encoder)}var Ut=new WeakMap;function $e(r){let e=Ut.get(r);if(e==null){let t=new Map;return Ut.set(r,t),t}return e}var ue=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=_(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:t}=this;if(e!==Z)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==Zr)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}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:t}=this.multihash,n=X(e,t);return r.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 r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&Et(e.multihash,n.multihash)}toString(e){return Dt(this,e)}toJSON(){return{"/":Dt(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 t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Tt(n,o,s.bytes))}else if(t[en]===!0){let{version:n,multihash:o,code:s}=t,i=xt(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="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(t!==Z)throw new Error(`Version 0 CID must use dag-pb (code: ${Z}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Tt(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Z,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=L(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new q(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[f,d]=Q(e.subarray(t));return t+=d,f},o=n(),s=Z;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),u=n(),l=t+u,c=l-i;return{version:o,codec:s,multihashCode:a,digestSize:u,multihashSize:c,size:l}}static parse(e,t){let[n,o]=Kr(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return $e(s).set(n,e),s}};function Kr(r,e){switch(r[0]){case"Q":{let t=e??C;return[C.prefix,t.decode(`${C.prefix}${r}`)]}case C.prefix:{let t=e??C;return[C.prefix,t.decode(r)]}case G.prefix:{let t=e??G;return[G.prefix,t.decode(r)]}case J.prefix:{let t=e??J;return[J.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Qr(r,e,t){let{prefix:n}=t;if(n!==C.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function Yr(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var Z=112,Zr=18;function Tt(r,e,t){let n=j(r),o=n+j(e),s=new Uint8Array(o+t.byteLength);return H(r,s,0),H(e,s,n),s.set(t,o),s}var en=Symbol.for("@ipld/js-cid/CID");var Ge={...Re,...Te,...Pe,...De,...Ue,...Ce,...Me,...Oe,...Fe,...Ne},Eo={...ze,..._e};function Ct(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Nt=Ct("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),He=Ct("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=D(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),tn={utf8:Nt,"utf-8":Nt,hex:Ge.base16,latin1:He,ascii:He,binary:He,...Ge},le=tn;function v(r,e="utf8"){let t=le[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}var rn=Math.pow(2,7),nn=Math.pow(2,14),on=Math.pow(2,21),je=Math.pow(2,28),qe=Math.pow(2,35),Xe=Math.pow(2,42),We=Math.pow(2,49),h=128,w=127;function F(r){if(r<rn)return 1;if(r<nn)return 2;if(r<on)return 3;if(r<je)return 4;if(r<qe)return 5;if(r<Xe)return 6;if(r<We)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function sn(r,e,t=0){switch(F(r)){case 8:e[t++]=r&255|h,r/=128;case 7:e[t++]=r&255|h,r/=128;case 6:e[t++]=r&255|h,r/=128;case 5:e[t++]=r&255|h,r/=128;case 4:e[t++]=r&255|h,r>>>=7;case 3:e[t++]=r&255|h,r>>>=7;case 2:e[t++]=r&255|h,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function an(r,e,t=0){switch(F(r)){case 8:e.set(t++,r&255|h),r/=128;case 7:e.set(t++,r&255|h),r/=128;case 6:e.set(t++,r&255|h),r/=128;case 5:e.set(t++,r&255|h),r/=128;case 4:e.set(t++,r&255|h),r>>>=7;case 3:e.set(t++,r&255|h),r>>>=7;case 2:e.set(t++,r&255|h),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function cn(r,e){let t=r[e],n=0;if(n+=t&w,t<h||(t=r[e+1],n+=(t&w)<<7,t<h)||(t=r[e+2],n+=(t&w)<<14,t<h)||(t=r[e+3],n+=(t&w)<<21,t<h)||(t=r[e+4],n+=(t&w)*je,t<h)||(t=r[e+5],n+=(t&w)*qe,t<h)||(t=r[e+6],n+=(t&w)*Xe,t<h)||(t=r[e+7],n+=(t&w)*We,t<h))return n;throw new RangeError("Could not decode varint")}function un(r,e){let t=r.get(e),n=0;if(n+=t&w,t<h||(t=r.get(e+1),n+=(t&w)<<7,t<h)||(t=r.get(e+2),n+=(t&w)<<14,t<h)||(t=r.get(e+3),n+=(t&w)<<21,t<h)||(t=r.get(e+4),n+=(t&w)*je,t<h)||(t=r.get(e+5),n+=(t&w)*qe,t<h)||(t=r.get(e+6),n+=(t&w)*Xe,t<h)||(t=r.get(e+7),n+=(t&w)*We,t<h))return n;throw new RangeError("Could not decode varint")}function fe(r,e,t=0){return e==null&&(e=D(F(r))),e instanceof Uint8Array?sn(r,e,t):an(r,e,t)}function he(r,e=0){return r instanceof Uint8Array?cn(r,e):un(r,e)}function Mt(r,e="utf8"){let t=le[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var Ke=class r extends Error{name="TimeoutError";constructor(e,t){super(e,t),Error.captureStackTrace?.(this,r)}},Ot=r=>r.reason??new DOMException("This operation was aborted.","AbortError");function Qe(r,e){let{milliseconds:t,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,u,c=new Promise((f,d)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(i?.aborted){d(Ot(i));return}if(i&&(u=()=>{d(Ot(i))},i.addEventListener("abort",u,{once:!0})),r.then(f,d),t===Number.POSITIVE_INFINITY)return;let m=new Ke;a=s.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(z){d(z)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?f():o instanceof Error?d(o):(m.message=o??`Promise timed out after ${t} milliseconds`,d(m))},t)}).finally(()=>{c.clear(),u&&i&&i.removeEventListener("abort",u)});return c.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},c}var ln=r=>{let e=r.addEventListener||r.on||r.addListener,t=r.removeEventListener||r.off||r.removeListener;if(!e||!t)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(r),removeListener:t.bind(r)}};function fn(r,e,t){let n,o=new Promise((s,i)=>{if(t={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...t},!(t.count>=0&&(t.count===Number.POSITIVE_INFINITY||Number.isInteger(t.count))))throw new TypeError("The `count` option should be at least 0 or more");t.signal?.throwIfAborted();let a=[e].flat(),u=[],{addListener:l,removeListener:c}=ln(r),f=async(...m)=>{let z=t.multiArgs?m:m[0];if(t.filter)try{if(!await t.filter(z))return}catch(re){n(),i(re);return}u.push(z),t.count===u.length&&(n(),s(u))},d=(...m)=>{n(),i(t.rejectionMultiArgs?m:m[0])};n=()=>{for(let m of a)c(m,f);for(let m of t.rejectionEvents)a.includes(m)||c(m,d)};for(let m of a)l(m,f);for(let m of t.rejectionEvents)a.includes(m)||l(m,d);t.signal&&t.signal.addEventListener("abort",()=>{d(t.signal.reason)},{once:!0}),t.resolveImmediately&&s(u)});if(o.cancel=n,typeof t.timeout=="number"){let s=Qe(o,{milliseconds:t.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function Ft(r,e,t){typeof t=="function"&&(t={filter:t}),t={...t,count:1,resolveImmediately:!1};let n=fn(r,e,t),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}var V=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"};function hn(r){return r.reason}async function Ye(r,e,t){if(e==null)return r;let n=t?.translateError??hn;if(e.aborted)return r.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([r,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var mn=4194304,de=class extends Error{static name="UnwrappedError";name="UnwrappedError"},et=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},tt=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},rt=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function pn(r){return typeof r?.closeRead=="function"}function bn(r){return typeof r?.close=="function"}function Ze(r){return pn(r)?r.remoteWriteStatus!=="writable"&&r.readBufferLength===0:bn(r)?r.status!=="open":!1}function wn(r){return r?.addEventListener!=null&&r?.removeEventListener!=null&&r?.send!=null&&r?.push!=null&&r?.log!=null}function gn(r,e){let t=e?.maxBufferSize??mn,n=new x,o,s=!1;if(!wn(r))throw new oe("Argument should be a Stream or a Multiaddr");let i=c=>{if(n.append(c.data),n.byteLength>t){let f=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${f} > ${t}`))}o?.resolve()};r.addEventListener("message",i);let a=c=>{c.error!=null?o?.reject(c.error):o?.resolve()};r.addEventListener("close",a);let u=()=>{o?.resolve()};r.addEventListener("remoteCloseWrite",u);let l={readBuffer:n,async read(c){if(s===!0)throw new de("Stream was unwrapped");if(Ze(r)){if(n.byteLength===0&&c?.bytes==null)return null;if(c?.bytes!=null&&n.byteLength<c.bytes)throw r.log.error("closed after reading %d/%d bytes",n.byteLength,c.bytes),new V(`Unexpected EOF - stream closed after reading ${n.byteLength}/${c.bytes} bytes`)}let f=c?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=f){o.resolve();break}if(await Ye(o.promise,c?.signal),Ze(r)){if(n.byteLength===0&&c?.bytes==null)return null;break}o=Promise.withResolvers()}let d=c?.bytes??n.byteLength;if(n.byteLength<d){if(Ze(r))throw r.log.error("closed while reading %d/%d bytes",n.byteLength,d),new V(`Unexpected EOF - stream closed while reading ${n.byteLength}/${d} bytes`);return l.read(c)}let m=n.sublist(0,d);return n.consume(d),m},async write(c,f){if(s===!0)throw new de("Stream was unwrapped");r.send(c)||await Ft(r,"drain",{signal:f?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,r.removeEventListener("message",i),r.removeEventListener("close",a),r.removeEventListener("remoteCloseWrite",u),n.byteLength>0&&(r.log("stream unwrapped with %d unread bytes",n.byteLength),r.unshift(n))),r}};return l}function me(r,e={}){let t=gn(r,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=F(e.maxDataLength));let n=e?.lengthDecoder??he,o=e?.lengthEncoder??fe;return{async read(i){let a=-1,u=new x;for(;;){let c=await t.read({...i,bytes:1});if(c==null)break;u.append(c);try{a=n(u)}catch(f){if(f instanceof RangeError)continue;throw f}if(a<0)throw new et("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new rt(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new tt(`Message length too long - ${a} > ${e.maxDataLength}`);let l=await t.read({...i,bytes:a});if(l==null)throw r.log.error("tried to read %d bytes but the stream closed",a),new V(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(l.byteLength!==a)throw r.log.error("read %d/%d bytes before the stream closed",l.byteLength,a),new V(`Unexpected EOF - read ${l.byteLength}/${a} bytes before the stream closed`);return l},async write(i,a){await t.write(new x(o(i.byteLength),i),a)},async writeV(i,a){let u=new x(...i.flatMap(l=>[o(l.byteLength),l]));await t.write(u,a)},unwrap(){return t.unwrap()}}}var pe=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},W=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},be=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},ee=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function we(r){return r[Symbol.asyncIterator]!=null}function Pt(r,e){if(r.byteLength>e)throw new W("Message length too long")}var ye=r=>{let e=F(r),t=D(e);return fe(r,t),ye.bytes=e,t};ye.bytes=0;function xe(r,e){e=e??{};let t=e.lengthEncoder??ye,n=e?.maxDataLength??4194304;function*o(s){Pt(s,n);let i=t(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return we(r)?(async function*(){for await(let s of r)yield*o(s)})():(function*(){for(let s of r)yield*o(s)})()}xe.single=(r,e)=>{e=e??{};let t=e.lengthEncoder??ye,n=e?.maxDataLength??4194304;return Pt(r,n),new x(t(r.byteLength),r)};var k;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(k||(k={}));var ot=r=>{let e=he(r);return ot.bytes=F(e),e};ot.bytes=0;function nt(r,e){let t=new x,n=k.LENGTH,o=-1,s=e?.lengthDecoder??ot,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;t.byteLength>0;){if(n===k.LENGTH)try{if(o=s(t),o<0)throw new pe("Invalid message length");if(o>a)throw new W("Message length too long");let l=s.bytes;t.consume(l),e?.onLength!=null&&e.onLength(o),n=k.DATA}catch(l){if(l instanceof RangeError){if(t.byteLength>i)throw new be("Message length length too long");break}throw l}if(n===k.DATA){if(t.byteLength<o)break;let l=t.sublist(0,o);t.consume(o),e?.onData!=null&&e.onData(l),yield l,n=k.LENGTH}}}return we(r)?(async function*(){for await(let l of r)t.append(l),yield*u();if(t.byteLength>0)throw new ee("Unexpected end of input")})():(function*(){for(let l of r)t.append(l),yield*u();if(t.byteLength>0)throw new ee("Unexpected end of input")})()}nt.fromReader=(r,e)=>{let t=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await r.next(t);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{t=1}})();return nt(n,{...e??{},onLength:s=>{t=s}})};var xn=v(`
3
+ `);async function te(r,e){let n=(await r.read(e)).subarray();if(n.byteLength===0||n[n.length-1]!==xn[0])throw new ie("Missing newline");return Mt(n).trimEnd()}async function Bt(r,e,t={}){if(e=Array.isArray(e)?[...e]:[e],e.length===0)throw new Error("At least one protocol must be specified");let n=r.log.newScope("mss:select"),o=me(r,{...t,maxDataLength:1024});for(let s=0;s<e.length;s++){let i=e[s],a;if(s===0){n.trace('write ["%s", "%s"]',S,i);let u=v(`${S}
4
+ `),l=v(`${i}
5
+ `);if(await o.writeV([u,l],t),n.trace("reading multistream-select header"),a=await te(o,t),n.trace('read "%s"',a),a!==S){n.error("did not read multistream-select header from response");break}}else n.trace('write "%s"',i),await o.write(v(`${i}
6
+ `),t);if(n.trace("reading protocol response"),a=await te(o,t),n.trace('read "%s"',a),a===i)return n.trace('selected "%s" after negotiation',a),o.unwrap(),i}throw new se(`Protocol selection failed - could not negotiate ${e}`)}async function _t(r,e,t={}){e=Array.isArray(e)?e:[e];let n=r.log.newScope("mss:handle"),o=me(r,{...t,maxDataLength:1024,maxLengthLength:2});for(;;){n.trace("reading incoming string");let s=await te(o,t);if(n.trace('read "%s"',s),s===S){n.trace('respond with "%s" for "%s"',S,s),await o.write(v(`${S}
7
+ `),t),n.trace('responded with "%s" for "%s"',S,s);continue}if(e.includes(s))return n.trace('respond with "%s" for "%s"',s,s),await o.write(v(`${s}
8
+ `),t),n.trace('responded with "%s" for "%s"',s,s),o.unwrap(),s;if(s==="ls"){let i=new x(...e.map(a=>xe.single(v(`${a}
9
+ `))),v(`
10
+ `));n.trace('respond with "%s" for %s',e,s),await o.write(i,t),n.trace('responded with "%s" for %s',e,s);continue}n.trace('respond with "na" for "%s"',s),await o.write(v(`na
11
+ `),t),n('responded with "na" for "%s"',s)}}return Ht(En);})();
12
12
  return Libp2PMultistreamSelect}));
13
13
  //# sourceMappingURL=index.min.js.map