@libp2p/floodsub 10.1.7-d34642db1 → 10.1.8-0a3406a05
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.min.js +2 -2
- package/package.json +8 -8
package/dist/index.min.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PFloodsub = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
|
-
"use strict";var Libp2PFloodsub=(()=>{var cl=Object.create;var Wr=Object.defineProperty;var ll=Object.getOwnPropertyDescriptor;var ul=Object.getOwnPropertyNames;var fl=Object.getPrototypeOf,hl=Object.prototype.hasOwnProperty;var bo=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),yt=(r,t)=>{for(var e in t)Wr(r,e,{get:t[e],enumerable:!0})},yo=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ul(t))!hl.call(r,s)&&s!==e&&Wr(r,s,{get:()=>t[s],enumerable:!(n=ll(t,s))||n.enumerable});return r};var wo=(r,t,e)=>(e=r!=null?cl(fl(r)):{},yo(t||!r||!r.__esModule?Wr(e,"default",{value:r,enumerable:!0}):e,r)),dl=r=>yo(Wr({},"__esModule",{value:!0}),r);var Ba=bo(er=>{"use strict";var Hf="[object ArrayBuffer]",Qt=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Hf}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==s[i])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let o of e)n+=o.byteLength;let s=new Uint8Array(n),i=0;for(let o of e){let a=this.toUint8Array(o);s.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},Hi="string",Of=/^[0-9a-f]+$/i,Pf=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Ff=/^[a-zA-Z0-9-_]+$/,pn=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=Qt.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},Ut=class{static toString(t,e=!1){let n=Qt.toArrayBuffer(t),s=new DataView(n),i="";for(let o=0;o<n.byteLength;o+=2){let a=s.getUint16(o,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let i=0;i<t.length;i++)s.setUint16(i*2,t.charCodeAt(i),e);return n}},gn=class r{static isHex(t){return typeof t===Hi&&Of.test(t)}static isBase64(t){return typeof t===Hi&&Pf.test(t)}static isBase64Url(t){return typeof t===Hi&&Ff.test(t)}static ToString(t,e="utf8"){let n=Qt.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return Ut.toString(n,!0);case"utf16":case"utf16be":return Ut.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return Ut.fromString(t,!0);case"utf16":case"utf16be":return Ut.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=Qt.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return pn.fromString(t);case"utf16":case"utf16be":return Ut.fromString(t);case"utf16le":case"usc2":return Ut.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return pn.toString(t);case"utf16":case"utf16be":return Ut.toString(t);case"utf16le":case"usc2":return Ut.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=Qt.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=Qt.toUint8Array(t),n="",s=e.length;for(let i=0;i<s;i++){let o=e[i];o<16&&(n+="0"),n+=o.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let i=e.slice(s,s+2);n[s/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return Ut.toString(t,e)}static FromUtf16String(t,e=!1){return Ut.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};gn.DEFAULT_UTF8_ENCODING="utf8";function Kf(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let i in s)e[i]=s[i]}return e}function qf(...r){let t=r.map(s=>s.byteLength).reduce((s,i)=>s+i),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let i of s)e[n++]=i}),e.buffer}function $f(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}er.BufferSourceConverter=Qt;er.Convert=gn;er.assign=Kf;er.combine=qf;er.isEqual=$f});var Pc=bo((eb,eo)=>{"use strict";var mh=Object.prototype.hasOwnProperty,xt="~";function Fr(){}Object.create&&(Fr.prototype=Object.create(null),new Fr().__proto__||(xt=!1));function bh(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Oc(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new bh(e,n||r,s),o=xt?xt+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],i]:r._events[o].push(i):(r._events[o]=i,r._eventsCount++),r}function ds(r,t){--r._eventsCount===0?r._events=new Fr:delete r._events[t]}function mt(){this._events=new Fr,this._eventsCount=0}mt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)mh.call(e,n)&&t.push(xt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};mt.prototype.listeners=function(t){var e=xt?xt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,i=n.length,o=new Array(i);s<i;s++)o[s]=n[s].fn;return o};mt.prototype.listenerCount=function(t){var e=xt?xt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};mt.prototype.emit=function(t,e,n,s,i,o){var a=xt?xt+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,f,u;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,s),!0;case 5:return c.fn.call(c.context,e,n,s,i),!0;case 6:return c.fn.call(c.context,e,n,s,i,o),!0}for(u=1,f=new Array(l-1);u<l;u++)f[u-1]=arguments[u];c.fn.apply(c.context,f)}else{var d=c.length,w;for(u=0;u<d;u++)switch(c[u].once&&this.removeListener(t,c[u].fn,void 0,!0),l){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,e);break;case 3:c[u].fn.call(c[u].context,e,n);break;case 4:c[u].fn.call(c[u].context,e,n,s);break;default:if(!f)for(w=1,f=new Array(l-1);w<l;w++)f[w-1]=arguments[w];c[u].fn.apply(c[u].context,f)}}return!0};mt.prototype.on=function(t,e,n){return Oc(this,t,e,n,!1)};mt.prototype.once=function(t,e,n){return Oc(this,t,e,n,!0)};mt.prototype.removeListener=function(t,e,n,s){var i=xt?xt+t:t;if(!this._events[i])return this;if(!e)return ds(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&ds(this,i);else{for(var a=0,c=[],l=o.length;a<l;a++)(o[a].fn!==e||s&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[i]=c.length===1?c[0]:c:ds(this,i)}return this};mt.prototype.removeAllListeners=function(t){var e;return t?(e=xt?xt+t:t,this._events[e]&&ds(this,e)):(this._events=new Fr,this._eventsCount=0),this};mt.prototype.off=mt.prototype.removeListener;mt.prototype.addListener=mt.prototype.on;mt.prefixed=xt;mt.EventEmitter=mt;typeof eo<"u"&&(eo.exports=mt)});var kh={};yt(kh,{floodsub:()=>Ah,multicodec:()=>ao});var Cs=Symbol.for("@libp2p/peer-id");var fr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(fr||(fr={}));var xo=Symbol.for("@libp2p/pubsub");var nt=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Pe=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var jr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Y=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}};var Jr=class extends Error{static name="NotStartedError";constructor(t="Not started"){super(t),this.name="NotStartedError"}};var Be=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var vo=(r,...t)=>{try{[...t]}catch{}};var Fe=class extends EventTarget{#t=new Map;constructor(){super(),vo(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let s=this.#t.get(t);s!=null&&(s=s.filter(({callback:i})=>i!==e),this.#t.set(t,s))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:s})=>!s),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var Rh=Symbol.for("@libp2p/service-capabilities"),Eo=Symbol.for("@libp2p/service-dependencies");var Ds={};yt(Ds,{base58btc:()=>X,base58flickr:()=>wl});var sd=new Uint8Array(0);function Bo(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 Gt(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 So(r){return new TextEncoder().encode(r)}function Ao(r){return new TextDecoder().decode(r)}function pl(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 s=0;s<r.length;s++){var i=r.charAt(s),o=i.charCodeAt(0);if(e[o]!==255)throw new TypeError(i+" is ambiguous");e[o]=s}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function u(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 b=0,h=0,y=0,v=E.length;y!==v&&E[y]===0;)y++,b++;for(var g=(v-y)*f+1>>>0,S=new Uint8Array(g);y!==v;){for(var U=E[y],L=0,k=g-1;(U!==0||L<h)&&k!==-1;k--,L++)U+=256*S[k]>>>0,S[k]=U%a>>>0,U=U/a>>>0;if(U!==0)throw new Error("Non-zero carry");h=L,y++}for(var I=g-h;I!==g&&S[I]===0;)I++;for(var C=c.repeat(b);I<g;++I)C+=r.charAt(S[I]);return C}function d(E){if(typeof E!="string")throw new TypeError("Expected String");if(E.length===0)return new Uint8Array;var b=0;if(E[b]!==" "){for(var h=0,y=0;E[b]===c;)h++,b++;for(var v=(E.length-b)*l+1>>>0,g=new Uint8Array(v);E[b];){var S=e[E.charCodeAt(b)];if(S===255)return;for(var U=0,L=v-1;(S!==0||U<y)&&L!==-1;L--,U++)S+=a*g[L]>>>0,g[L]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");y=U,b++}if(E[b]!==" "){for(var k=v-y;k!==v&&g[k]===0;)k++;for(var I=new Uint8Array(h+(v-k)),C=h;k!==v;)I[C++]=g[k++];return I}}}function w(E){var b=d(E);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:d,decode:w}}var gl=pl,ml=gl,Io=ml;var Ls=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")}},Us=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let s=e.codePointAt(0);if(s===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s,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 No(this,t)}},_s=class{decoders;constructor(t){this.decoders=t}or(t){return No(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 No(r,t){return new _s({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Rs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Ls(t,e,n),this.decoder=new Us(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ke({name:r,prefix:t,encode:e,decode:n}){return new Rs(r,t,e,n)}function ae({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Io(e,r);return Ke({prefix:t,name:r,encode:n,decode:i=>Gt(s(i))})}function bl(r,t,e,n){let s={};for(let f=0;f<t.length;++f)s[t[f]]=f;let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*e/8|0),a=0,c=0,l=0;for(let f=0;f<i;++f){let u=s[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function yl(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,i="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,i+=t[s&a>>o];if(o!==0&&(i+=t[s&a<<e-o]),n)for(;i.length*e&7;)i+="=";return i}function j({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return Ke({prefix:t,name:r,encode(s){return yl(s,n,e)},decode(s){return bl(s,n,e,r)}})}var X=ae({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),wl=ae({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ms={};yt(Ms,{base32:()=>qe,base32hex:()=>Bl,base32hexpad:()=>Al,base32hexpadupper:()=>kl,base32hexupper:()=>Sl,base32pad:()=>vl,base32padupper:()=>El,base32upper:()=>xl,base32z:()=>Il});var qe=j({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xl=j({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),vl=j({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),El=j({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bl=j({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Sl=j({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Al=j({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),kl=j({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Il=j({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vs={};yt(Vs,{base36:()=>hr,base36upper:()=>Nl});var hr=ae({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Nl=ae({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Tl=Lo,To=128,Cl=127,Ll=~Cl,Ul=Math.pow(2,31);function Lo(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Ul;)t[e++]=r&255|To,r/=128;for(;r⋘)t[e++]=r&255|To,r>>>=7;return t[e]=r|0,Lo.bytes=e-n+1,t}var _l=Hs,Rl=128,Co=127;function Hs(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw Hs.bytes=0,new RangeError("Could not decode varint");o=r[i++],e+=s<28?(o&Co)<<s:(o&Co)*Math.pow(2,s),s+=7}while(o>=Rl);return Hs.bytes=i-n,e}var Dl=Math.pow(2,7),Ml=Math.pow(2,14),Vl=Math.pow(2,21),Hl=Math.pow(2,28),Ol=Math.pow(2,35),Pl=Math.pow(2,42),Fl=Math.pow(2,49),Kl=Math.pow(2,56),ql=Math.pow(2,63),$l=function(r){return r<Dl?1:r<Ml?2:r<Vl?3:r<Hl?4:r<Ol?5:r<Pl?6:r<Fl?7:r<Kl?8:r<ql?9:10},zl={encode:Tl,decode:_l,encodingLength:$l},Gl=zl,dr=Gl;function pr(r,t=0){return[dr.decode(r,t),dr.decode.bytes]}function $e(r,t,e=0){return dr.encode(r,t,e),t}function ze(r){return dr.encodingLength(r)}function _t(r,t){let e=t.byteLength,n=ze(r),s=n+ze(e),i=new Uint8Array(s+e);return $e(r,i,0),$e(e,i,n),i.set(t,s),new Ge(r,e,t,i)}function ce(r){let t=Gt(r),[e,n]=pr(t),[s,i]=pr(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new Ge(e,s,o,t)}function Uo(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Bo(r.bytes,e.bytes)}}var Ge=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};function _o(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Wl(e,Os(r),t??X.encoder);default:return jl(e,Os(r),t??qe.encoder)}}var Ro=new WeakMap;function Os(r){let t=Ro.get(r);if(t==null){let e=new Map;return Ro.set(r,e),e}return t}var Nt=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}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!==gr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Jl)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=_t(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&&Uo(t.multihash,n.multihash)}toString(t){return _o(this,t)}toJSON(){return{"/":_o(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:s,multihash:i,bytes:o}=e;return new r(n,s,i,o??Do(n,s,i.bytes))}else if(e[Yl]===!0){let{version:n,multihash:s,code:i}=e,o=ce(s);return r.create(n,i,o)}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!==gr)throw new Error(`Version 0 CID must use dag-pb (code: ${gr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=Do(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,gr,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,s=Gt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=s.subarray(e.multihashSize-e.digestSize),o=new Ge(e.multihashCode,e.digestSize,i,s);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,d]=pr(t.subarray(e));return e+=d,u},s=n(),i=gr;if(s===18?(s=0,e=0):i=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let o=e,a=n(),c=n(),l=e+c,f=l-o;return{version:s,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:l}}static parse(t,e){let[n,s]=Zl(t,e),i=r.decode(s);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Os(i).set(n,t),i}};function Zl(r,t){switch(r[0]){case"Q":{let e=t??X;return[X.prefix,e.decode(`${X.prefix}${r}`)]}case X.prefix:{let e=t??X;return[X.prefix,e.decode(r)]}case qe.prefix:{let e=t??qe;return[qe.prefix,e.decode(r)]}case hr.prefix:{let e=t??hr;return[hr.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 Wl(r,t,e){let{prefix:n}=e;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return s}function jl(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let i=e.encode(r);return t.set(n,i),i}else return s}var gr=112,Jl=18;function Do(r,t,e){let n=ze(r),s=n+ze(t),i=new Uint8Array(s+e.byteLength);return $e(r,i,0),$e(t,i,n),i.set(e,s),i}var Yl=Symbol.for("@ipld/js-cid/CID");var Ps={};yt(Ps,{identity:()=>Zt});var Mo=0,Xl="identity",Vo=Gt;function Ql(r){return _t(Mo,Vo(r))}var Zt={code:Mo,name:Xl,encode:Vo,digest:Ql};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 Ho(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function tu(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Ze(r,...t){if(!tu(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function Oo(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ho(r.outputLen),Ho(r.blockLen)}function We(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function Po(r,t){Ze(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var Se=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Xr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Rt=(r,t)=>r<<32-t|r>>>t;var Id=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Fo(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function mr(r){return typeof r=="string"&&(r=Fo(r)),Ze(r),r}function Fs(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];Ze(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}var je=class{clone(){return this._cloneInto()}},Nd={}.toString;function Qr(r){let t=n=>r().update(mr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function Je(r=32){if(Se&&typeof Se.getRandomValues=="function")return Se.getRandomValues(new Uint8Array(r));if(Se&&typeof Se.randomBytes=="function")return Se.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function eu(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(e>>s&i),a=Number(e&i),c=n?4:0,l=n?0:4;r.setUint32(t+c,o,n),r.setUint32(t+l,a,n)}var Ko=(r,t,e)=>r&t^~r&e,qo=(r,t,e)=>r&t^r&e^t&e,Ye=class extends je{constructor(t,e,n,s){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Xr(this.buffer)}update(t){We(this);let{view:e,buffer:n,blockLen:s}=this;t=mr(t);let i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=Xr(t);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){We(this),Po(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let u=o;u<s;u++)e[u]=0;eu(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=Xr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,f[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return t.length=s,t.pos=a,t.finished=i,t.destroyed=o,s%e&&t.buffer.set(n),t}};var tn=BigInt(4294967295),Ks=BigInt(32);function $o(r,t=!1){return t?{h:Number(r&tn),l:Number(r>>Ks&tn)}:{h:Number(r>>Ks&tn)|0,l:Number(r&tn)|0}}function ru(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=$o(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var nu=(r,t)=>BigInt(r>>>0)<<Ks|BigInt(t>>>0),su=(r,t,e)=>r>>>e,iu=(r,t,e)=>r<<32-e|t>>>e,ou=(r,t,e)=>r>>>e|t<<32-e,au=(r,t,e)=>r<<32-e|t>>>e,cu=(r,t,e)=>r<<64-e|t>>>e-32,lu=(r,t,e)=>r>>>e-32|t<<64-e,uu=(r,t)=>t,fu=(r,t)=>r,hu=(r,t,e)=>r<<e|t>>>32-e,du=(r,t,e)=>t<<e|r>>>32-e,pu=(r,t,e)=>t<<e-32|r>>>64-e,gu=(r,t,e)=>r<<e-32|t>>>64-e;function mu(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var bu=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),yu=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,wu=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),xu=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,vu=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),Eu=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var Bu={fromBig:$o,split:ru,toBig:nu,shrSH:su,shrSL:iu,rotrSH:ou,rotrSL:au,rotrBH:cu,rotrBL:lu,rotr32H:uu,rotr32L:fu,rotlSH:hu,rotlSL:du,rotlBH:pu,rotlBL:gu,add:mu,add3L:bu,add3H:yu,add4L:wu,add4H:xu,add5H:Eu,add5L:vu},D=Bu;var[Su,Au]=D.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),ue=new Uint32Array(80),fe=new Uint32Array(80),qs=class extends Ye{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:l,El:f,Fh:u,Fl:d,Gh:w,Gl:E,Hh:b,Hl:h}=this;return[t,e,n,s,i,o,a,c,l,f,u,d,w,E,b,h]}set(t,e,n,s,i,o,a,c,l,f,u,d,w,E,b,h){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=f|0,this.Fh=u|0,this.Fl=d|0,this.Gh=w|0,this.Gl=E|0,this.Hh=b|0,this.Hl=h|0}process(t,e){for(let g=0;g<16;g++,e+=4)ue[g]=t.getUint32(e),fe[g]=t.getUint32(e+=4);for(let g=16;g<80;g++){let S=ue[g-15]|0,U=fe[g-15]|0,L=D.rotrSH(S,U,1)^D.rotrSH(S,U,8)^D.shrSH(S,U,7),k=D.rotrSL(S,U,1)^D.rotrSL(S,U,8)^D.shrSL(S,U,7),I=ue[g-2]|0,C=fe[g-2]|0,tt=D.rotrSH(I,C,19)^D.rotrBH(I,C,61)^D.shrSH(I,C,6),F=D.rotrSL(I,C,19)^D.rotrBL(I,C,61)^D.shrSL(I,C,6),M=D.add4L(k,F,fe[g-7],fe[g-16]),et=D.add4H(M,L,tt,ue[g-7],ue[g-16]);ue[g]=et|0,fe[g]=M|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:f,Eh:u,El:d,Fh:w,Fl:E,Gh:b,Gl:h,Hh:y,Hl:v}=this;for(let g=0;g<80;g++){let S=D.rotrSH(u,d,14)^D.rotrSH(u,d,18)^D.rotrBH(u,d,41),U=D.rotrSL(u,d,14)^D.rotrSL(u,d,18)^D.rotrBL(u,d,41),L=u&w^~u&b,k=d&E^~d&h,I=D.add5L(v,U,k,Au[g],fe[g]),C=D.add5H(I,y,S,L,Su[g],ue[g]),tt=I|0,F=D.rotrSH(n,s,28)^D.rotrBH(n,s,34)^D.rotrBH(n,s,39),M=D.rotrSL(n,s,28)^D.rotrBL(n,s,34)^D.rotrBL(n,s,39),et=n&i^n&a^i&a,B=s&o^s&c^o&c;y=b|0,v=h|0,b=w|0,h=E|0,w=u|0,E=d|0,{h:u,l:d}=D.add(l|0,f|0,C|0,tt|0),l=a|0,f=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let N=D.add3L(tt,M,B);n=D.add3H(N,C,F,et),s=N|0}({h:n,l:s}=D.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=D.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=D.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:f}=D.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:u,l:d}=D.add(this.Eh|0,this.El|0,u|0,d|0),{h:w,l:E}=D.add(this.Fh|0,this.Fl|0,w|0,E|0),{h:b,l:h}=D.add(this.Gh|0,this.Gl|0,b|0,h|0),{h:y,l:v}=D.add(this.Hh|0,this.Hl|0,y|0,v|0),this.set(n,s,i,o,a,c,l,f,u,d,w,E,b,h,y,v)}roundClean(){ue.fill(0),fe.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var zo=Qr(()=>new qs);var rn={};yt(rn,{aInRange:()=>Et,abool:()=>Dt,abytes:()=>Xe,bitGet:()=>Lu,bitLen:()=>Ws,bitMask:()=>yr,bitSet:()=>Uu,bytesToHex:()=>jt,bytesToNumberBE:()=>Jt,bytesToNumberLE:()=>de,concatBytes:()=>Yt,createHmacDrbg:()=>js,ensureBytes:()=>J,equalBytes:()=>Tu,hexToBytes:()=>ke,hexToNumber:()=>Zs,inRange:()=>br,isBytes:()=>he,memoized:()=>Ne,notImplemented:()=>Ru,numberToBytesBE:()=>pe,numberToBytesLE:()=>Ie,numberToHexUnpadded:()=>Ae,numberToVarBytesBE:()=>Nu,utf8ToBytes:()=>Cu,validateObject:()=>Pt});var Gs=BigInt(0),en=BigInt(1),ku=BigInt(2);function he(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Xe(r){if(!he(r))throw new Error("Uint8Array expected")}function Dt(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var Iu=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function jt(r){Xe(r);let t="";for(let e=0;e<r.length;e++)t+=Iu[r[e]];return t}function Ae(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Zs(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Wt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Go(r){if(r>=Wt._0&&r<=Wt._9)return r-Wt._0;if(r>=Wt._A&&r<=Wt._F)return r-(Wt._A-10);if(r>=Wt._a&&r<=Wt._f)return r-(Wt._a-10)}function ke(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,i=0;s<e;s++,i+=2){let o=Go(r.charCodeAt(i)),a=Go(r.charCodeAt(i+1));if(o===void 0||a===void 0){let c=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=o*16+a}return n}function Jt(r){return Zs(jt(r))}function de(r){return Xe(r),Zs(jt(Uint8Array.from(r).reverse()))}function pe(r,t){return ke(r.toString(16).padStart(t*2,"0"))}function Ie(r,t){return pe(r,t).reverse()}function Nu(r){return ke(Ae(r))}function J(r,t,e){let n;if(typeof t=="string")try{n=ke(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(he(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(`${r} expected ${e} bytes, got ${s}`);return n}function Yt(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];Xe(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}function Tu(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function Cu(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}var $s=r=>typeof r=="bigint"&&Gs<=r;function br(r,t,e){return $s(r)&&$s(t)&&$s(e)&&t<=r&&r<e}function Et(r,t,e,n){if(!br(t,e,n))throw new Error(`expected valid ${r}: ${e} <= n < ${n}, got ${typeof t} ${t}`)}function Ws(r){let t;for(t=0;r>Gs;r>>=en,t+=1);return t}function Lu(r,t){return r>>BigInt(t)&en}function Uu(r,t,e){return r|(e?en:Gs)<<BigInt(t)}var yr=r=>(ku<<BigInt(r-1))-en,zs=r=>new Uint8Array(r),Zo=r=>Uint8Array.from(r);function js(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=zs(r),s=zs(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=zs())=>{s=a(Zo([0]),u),n=a(),u.length!==0&&(s=a(Zo([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,d=[];for(;u<t;){n=a();let w=n.slice();d.push(w),u+=n.length}return Yt(...d)};return(u,d)=>{o(),c(u);let w;for(;!(w=d(l()));)c();return o(),w}}var _u={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||he(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Pt(r,t,e={}){let n=(s,i,o)=>{let a=_u[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(t))n(s,i,!1);for(let[s,i]of Object.entries(e))n(s,i,!0);return r}var Ru=()=>{throw new Error("not implemented")};function Ne(r){let t=new WeakMap;return(e,...n)=>{let s=t.get(e);if(s!==void 0)return s;let i=r(e,...n);return t.set(e,i),i}}var st=BigInt(0),G=BigInt(1),Te=BigInt(2),Du=BigInt(3),Js=BigInt(4),Wo=BigInt(5),jo=BigInt(8),Mu=BigInt(9),Vu=BigInt(16);function $(r,t){let e=r%t;return e>=st?e:t+e}function Hu(r,t,e){if(e<=st||t<st)throw new Error("Expected power/modulo > 0");if(e===G)return st;let n=G;for(;t>st;)t&G&&(n=n*r%e),r=r*r%e,t>>=G;return n}function Z(r,t,e){let n=r;for(;t-- >st;)n*=n,n%=e;return n}function nn(r,t){if(r===st||t<=st)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=$(r,t),n=t,s=st,i=G,o=G,a=st;for(;e!==st;){let l=n/e,f=n%e,u=s-o*l,d=i-a*l;n=e,e=f,s=o,i=a,o=u,a=d}if(n!==G)throw new Error("invert: does not exist");return $(s,t)}function Ou(r){let t=(r-G)/Te,e,n,s;for(e=r-G,n=0;e%Te===st;e/=Te,n++);for(s=Te;s<r&&Hu(s,t,r)!==r-G;s++);if(n===1){let o=(r+G)/Js;return function(c,l){let f=c.pow(l,o);if(!c.eql(c.sqr(f),l))throw new Error("Cannot find square root");return f}}let i=(e+G)/Te;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,f=a.pow(a.mul(a.ONE,s),e),u=a.pow(c,i),d=a.pow(c,e);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let w=1;for(let b=a.sqr(d);w<l&&!a.eql(b,a.ONE);w++)b=a.sqr(b);let E=a.pow(f,G<<BigInt(l-w-1));f=a.sqr(E),u=a.mul(u,E),d=a.mul(d,f),l=w}return u}}function Pu(r){if(r%Js===Du){let t=(r+G)/Js;return function(n,s){let i=n.pow(s,t);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%jo===Wo){let t=(r-Wo)/jo;return function(n,s){let i=n.mul(s,Te),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,Te),o),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return r%Vu,Ou(r)}var Jo=(r,t)=>($(r,t)&G)===G,Fu=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ys(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Fu.reduce((n,s)=>(n[s]="function",n),t);return Pt(r,e)}function Ku(r,t,e){if(e<st)throw new Error("Expected power > 0");if(e===st)return r.ONE;if(e===G)return t;let n=r.ONE,s=t;for(;e>st;)e&G&&(n=r.mul(n,s)),s=r.sqr(s),e>>=G;return n}function qu(r,t){let e=new Array(t.length),n=t.reduce((i,o,a)=>r.is0(o)?i:(e[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return t.reduceRight((i,o,a)=>r.is0(o)?i:(e[a]=r.mul(i,e[a]),r.mul(i,o)),s),e}function Xs(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function ge(r,t,e=!1,n={}){if(r<=st)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=Xs(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Pu(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:yr(s),ZERO:st,ONE:G,create:c=>$(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return st<=c&&c<r},is0:c=>c===st,isOdd:c=>(c&G)===G,neg:c=>$(-c,r),eql:(c,l)=>c===l,sqr:c=>$(c*c,r),add:(c,l)=>$(c+l,r),sub:(c,l)=>$(c-l,r),mul:(c,l)=>$(c*l,r),pow:(c,l)=>Ku(a,c,l),div:(c,l)=>$(c*nn(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>nn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>qu(a,c),cmov:(c,l,f)=>f?l:c,toBytes:c=>e?Ie(c,i):pe(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?de(c):Jt(c)}});return Object.freeze(a)}function Yo(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Qs(r){let t=Yo(r);return t+Math.ceil(t/2)}function Xo(r,t,e=!1){let n=r.length,s=Yo(t),i=Qs(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?Jt(r):de(r),a=$(o,t-G)+G;return e?Ie(a,s):pe(a,s)}var zu=BigInt(0),ti=BigInt(1),ei=new WeakMap,Qo=new WeakMap;function sn(r,t){let e=(i,o)=>{let a=o.negate();return i?a:o},n=i=>{if(!Number.isSafeInteger(i)||i<=0||i>t)throw new Error(`Wrong window size=${i}, should be [1..${t}]`)},s=i=>{n(i);let o=Math.ceil(t/i)+1,a=2**(i-1);return{windows:o,windowSize:a}};return{constTimeNegate:e,unsafeLadder(i,o){let a=r.ZERO,c=i;for(;o>zu;)o&ti&&(a=a.add(c)),c=c.double(),o>>=ti;return a},precomputeWindow(i,o){let{windows:a,windowSize:c}=s(o),l=[],f=i,u=f;for(let d=0;d<a;d++){u=f,l.push(u);for(let w=1;w<c;w++)u=u.add(f),l.push(u);f=u.double()}return l},wNAF(i,o,a){let{windows:c,windowSize:l}=s(i),f=r.ZERO,u=r.BASE,d=BigInt(2**i-1),w=2**i,E=BigInt(i);for(let b=0;b<c;b++){let h=b*l,y=Number(a&d);a>>=E,y>l&&(y-=w,a+=ti);let v=h,g=h+Math.abs(y)-1,S=b%2!==0,U=y<0;y===0?u=u.add(e(S,o[v])):f=f.add(e(U,o[g]))}return{p:f,f:u}},wNAFCached(i,o,a){let c=Qo.get(i)||1,l=ei.get(i);return l||(l=this.precomputeWindow(i,c),c!==1&&ei.set(i,a(l))),this.wNAF(c,l,o)},setWindowSize(i,o){n(o),Qo.set(i,o),ei.delete(i)}}}function on(r,t,e,n){if(!Array.isArray(e)||!Array.isArray(n)||n.length!==e.length)throw new Error("arrays of points and scalars must have equal length");n.forEach((f,u)=>{if(!t.isValid(f))throw new Error(`wrong scalar at index ${u}`)}),e.forEach((f,u)=>{if(!(f instanceof r))throw new Error(`wrong point at index ${u}`)});let s=Ws(BigInt(e.length)),i=s>12?s-3:s>4?s-2:s?2:1,o=(1<<i)-1,a=new Array(o+1).fill(r.ZERO),c=Math.floor((t.BITS-1)/i)*i,l=r.ZERO;for(let f=c;f>=0;f-=i){a.fill(r.ZERO);for(let d=0;d<n.length;d++){let w=n[d],E=Number(w>>BigInt(f)&BigInt(o));a[E]=a[E].add(e[d])}let u=r.ZERO;for(let d=a.length-1,w=r.ZERO;d>0;d--)w=w.add(a[d]),u=u.add(w);if(l=l.add(u),f!==0)for(let d=0;d<i;d++)l=l.double()}return l}function wr(r){return Ys(r.Fp),Pt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Xs(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Mt=BigInt(0),Bt=BigInt(1),an=BigInt(2),Gu=BigInt(8),Zu={zip215:!0};function Wu(r){let t=wr(r);return Pt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function ta(r){let t=Wu(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,l=an<<BigInt(a*8)-Bt,f=e.create,u=ge(t.n,t.nBitLength),d=t.uvRatio||((m,p)=>{try{return{isValid:!0,value:e.sqrt(m*e.inv(p))}}catch{return{isValid:!1,value:Mt}}}),w=t.adjustScalarBytes||(m=>m),E=t.domain||((m,p,x)=>{if(Dt("phflag",x),p.length||x)throw new Error("Contexts/pre-hash are not supported");return m});function b(m,p){Et("coordinate "+m,p,Mt,l)}function h(m){if(!(m instanceof g))throw new Error("ExtendedPoint expected")}let y=Ne((m,p)=>{let{ex:x,ey:T,ez:_}=m,R=m.is0();p==null&&(p=R?Gu:e.inv(_));let V=f(x*p),P=f(T*p),H=f(_*p);if(R)return{x:Mt,y:Bt};if(H!==Bt)throw new Error("invZ was invalid");return{x:V,y:P}}),v=Ne(m=>{let{a:p,d:x}=t;if(m.is0())throw new Error("bad point: ZERO");let{ex:T,ey:_,ez:R,et:V}=m,P=f(T*T),H=f(_*_),q=f(R*R),z=f(q*q),ot=f(P*p),at=f(q*f(ot+H)),lt=f(z+f(x*f(P*H)));if(at!==lt)throw new Error("bad point: equation left != right (1)");let bt=f(T*_),rt=f(R*V);if(bt!==rt)throw new Error("bad point: equation left != right (2)");return!0});class g{constructor(p,x,T,_){this.ex=p,this.ey=x,this.ez=T,this.et=_,b("x",p),b("y",x),b("z",T),b("t",_),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof g)throw new Error("extended point not allowed");let{x,y:T}=p||{};return b("x",x),b("y",T),new g(x,T,Bt,f(x*T))}static normalizeZ(p){let x=e.invertBatch(p.map(T=>T.ez));return p.map((T,_)=>T.toAffine(x[_])).map(g.fromAffine)}static msm(p,x){return on(g,u,p,x)}_setWindowSize(p){L.setWindowSize(this,p)}assertValidity(){v(this)}equals(p){h(p);let{ex:x,ey:T,ez:_}=this,{ex:R,ey:V,ez:P}=p,H=f(x*P),q=f(R*_),z=f(T*P),ot=f(V*_);return H===q&&z===ot}is0(){return this.equals(g.ZERO)}negate(){return new g(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:p}=t,{ex:x,ey:T,ez:_}=this,R=f(x*x),V=f(T*T),P=f(an*f(_*_)),H=f(p*R),q=x+T,z=f(f(q*q)-R-V),ot=H+V,at=ot-P,lt=H-V,bt=f(z*at),rt=f(ot*lt),vt=f(z*lt),zt=f(at*ot);return new g(bt,rt,zt,vt)}add(p){h(p);let{a:x,d:T}=t,{ex:_,ey:R,ez:V,et:P}=this,{ex:H,ey:q,ez:z,et:ot}=p;if(x===BigInt(-1)){let lo=f((R-_)*(q+H)),uo=f((R+_)*(q-H)),Ts=f(uo-lo);if(Ts===Mt)return this.double();let fo=f(V*an*ot),ho=f(P*an*z),po=ho+fo,go=uo+lo,mo=ho-fo,sl=f(po*Ts),il=f(go*mo),ol=f(po*mo),al=f(Ts*go);return new g(sl,il,al,ol)}let at=f(_*H),lt=f(R*q),bt=f(P*T*ot),rt=f(V*z),vt=f((_+R)*(H+q)-at-lt),zt=rt-bt,lr=rt+bt,ur=f(lt-x*at),tl=f(vt*zt),el=f(lr*ur),rl=f(vt*ur),nl=f(zt*lr);return new g(tl,el,nl,rl)}subtract(p){return this.add(p.negate())}wNAF(p){return L.wNAFCached(this,p,g.normalizeZ)}multiply(p){let x=p;Et("scalar",x,Bt,n);let{p:T,f:_}=this.wNAF(x);return g.normalizeZ([T,_])[0]}multiplyUnsafe(p){let x=p;return Et("scalar",x,Mt,n),x===Mt?U:this.equals(U)||x===Bt?this:this.equals(S)?this.wNAF(x).p:L.unsafeLadder(this,x)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(p){return y(this,p)}clearCofactor(){let{h:p}=t;return p===Bt?this:this.multiplyUnsafe(p)}static fromHex(p,x=!1){let{d:T,a:_}=t,R=e.BYTES;p=J("pointHex",p,R),Dt("zip215",x);let V=p.slice(),P=p[R-1];V[R-1]=P&-129;let H=de(V),q=x?l:e.ORDER;Et("pointHex.y",H,Mt,q);let z=f(H*H),ot=f(z-Bt),at=f(T*z-_),{isValid:lt,value:bt}=d(ot,at);if(!lt)throw new Error("Point.fromHex: invalid y coordinate");let rt=(bt&Bt)===Bt,vt=(P&128)!==0;if(!x&&bt===Mt&&vt)throw new Error("Point.fromHex: x=0 and x_0=1");return vt!==rt&&(bt=f(-bt)),g.fromAffine({x:bt,y:H})}static fromPrivateKey(p){return C(p).point}toRawBytes(){let{x:p,y:x}=this.toAffine(),T=Ie(x,e.BYTES);return T[T.length-1]|=p&Bt?128:0,T}toHex(){return jt(this.toRawBytes())}}g.BASE=new g(t.Gx,t.Gy,Bt,f(t.Gx*t.Gy)),g.ZERO=new g(Mt,Bt,Bt,Mt);let{BASE:S,ZERO:U}=g,L=sn(g,a*8);function k(m){return $(m,n)}function I(m){return k(de(m))}function C(m){let p=a;m=J("private key",m,p);let x=J("hashed private key",i(m),2*p),T=w(x.slice(0,p)),_=x.slice(p,2*p),R=I(T),V=S.multiply(R),P=V.toRawBytes();return{head:T,prefix:_,scalar:R,point:V,pointBytes:P}}function tt(m){return C(m).pointBytes}function F(m=new Uint8Array,...p){let x=Yt(...p);return I(i(E(x,J("context",m),!!s)))}function M(m,p,x={}){m=J("message",m),s&&(m=s(m));let{prefix:T,scalar:_,pointBytes:R}=C(p),V=F(x.context,T,m),P=S.multiply(V).toRawBytes(),H=F(x.context,P,R,m),q=k(V+H*_);Et("signature.s",q,Mt,n);let z=Yt(P,Ie(q,e.BYTES));return J("result",z,a*2)}let et=Zu;function B(m,p,x,T=et){let{context:_,zip215:R}=T,V=e.BYTES;m=J("signature",m,2*V),p=J("message",p),R!==void 0&&Dt("zip215",R),s&&(p=s(p));let P=de(m.slice(V,2*V)),H,q,z;try{H=g.fromHex(x,R),q=g.fromHex(m.slice(0,V),R),z=S.multiplyUnsafe(P)}catch{return!1}if(!R&&H.isSmallOrder())return!1;let ot=F(_,q.toRawBytes(),H.toRawBytes(),p);return q.add(H.multiplyUnsafe(ot)).subtract(z).clearCofactor().equals(g.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:tt,sign:M,verify:B,ExtendedPoint:g,utils:{getExtendedPublicKey:C,randomPrivateKey:()=>o(e.BYTES),precompute(m=8,p=g.BASE){return p._setWindowSize(m),p.multiply(BigInt(3)),p}}}}var ri=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ea=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Yd=BigInt(0),ju=BigInt(1),ra=BigInt(2),Xd=BigInt(3),Ju=BigInt(5),Yu=BigInt(8);function Xu(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),s=BigInt(80),i=ri,a=r*r%i*r%i,c=Z(a,ra,i)*a%i,l=Z(c,ju,i)*r%i,f=Z(l,Ju,i)*l%i,u=Z(f,t,i)*f%i,d=Z(u,e,i)*u%i,w=Z(d,n,i)*d%i,E=Z(w,s,i)*w%i,b=Z(E,s,i)*w%i,h=Z(b,t,i)*f%i;return{pow_p_5_8:Z(h,ra,i)*r%i,b2:a}}function Qu(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function tf(r,t){let e=ri,n=$(t*t*t,e),s=$(n*n*t,e),i=Xu(r*s).pow_p_5_8,o=$(r*n*i,e),a=$(t*o*o,e),c=o,l=$(o*ea,e),f=a===r,u=a===$(-r,e),d=a===$(-r*ea,e);return f&&(o=c),(u||d)&&(o=l),Jo(o,e)&&(o=$(-o,e)),{isValid:f||u,value:o}}var ef=ge(ri,void 0,!0),rf={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ef,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Yu,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:zo,randomBytes:Je,adjustScalarBytes:Qu,uvRatio:tf},na=ta(rf);var cn=32;function sa(r,t,e){return na.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var ln=class{type="Ed25519";raw;constructor(t){this.raw=ni(t,cn)}toMultihash(){return Zt.digest(Ce(this))}toCID(){return Nt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Ct(this.raw,t.raw)}verify(t,e){return sa(this.raw,e,t)}};function si(r){return r=ni(r,cn),new ln(r)}function ni(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new nt(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}function Xt(r=0){return new Uint8Array(r)}function ht(r=0){return new Uint8Array(r)}var sf=Math.pow(2,7),of=Math.pow(2,14),af=Math.pow(2,21),ii=Math.pow(2,28),oi=Math.pow(2,35),ai=Math.pow(2,42),ci=Math.pow(2,49),K=128,dt=127;function Vt(r){if(r<sf)return 1;if(r<of)return 2;if(r<af)return 3;if(r<ii)return 4;if(r<oi)return 5;if(r<ai)return 6;if(r<ci)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function li(r,t,e=0){switch(Vt(r)){case 8:t[e++]=r&255|K,r/=128;case 7:t[e++]=r&255|K,r/=128;case 6:t[e++]=r&255|K,r/=128;case 5:t[e++]=r&255|K,r/=128;case 4:t[e++]=r&255|K,r>>>=7;case 3:t[e++]=r&255|K,r>>>=7;case 2:t[e++]=r&255|K,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function cf(r,t,e=0){switch(Vt(r)){case 8:t.set(e++,r&255|K),r/=128;case 7:t.set(e++,r&255|K),r/=128;case 6:t.set(e++,r&255|K),r/=128;case 5:t.set(e++,r&255|K),r/=128;case 4:t.set(e++,r&255|K),r>>>=7;case 3:t.set(e++,r&255|K),r>>>=7;case 2:t.set(e++,r&255|K),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function ui(r,t){let e=r[t],n=0;if(n+=e&dt,e<K||(e=r[t+1],n+=(e&dt)<<7,e<K)||(e=r[t+2],n+=(e&dt)<<14,e<K)||(e=r[t+3],n+=(e&dt)<<21,e<K)||(e=r[t+4],n+=(e&dt)*ii,e<K)||(e=r[t+5],n+=(e&dt)*oi,e<K)||(e=r[t+6],n+=(e&dt)*ai,e<K)||(e=r[t+7],n+=(e&dt)*ci,e<K))return n;throw new RangeError("Could not decode varint")}function lf(r,t){let e=r.get(t),n=0;if(n+=e&dt,e<K||(e=r.get(t+1),n+=(e&dt)<<7,e<K)||(e=r.get(t+2),n+=(e&dt)<<14,e<K)||(e=r.get(t+3),n+=(e&dt)<<21,e<K)||(e=r.get(t+4),n+=(e&dt)*ii,e<K)||(e=r.get(t+5),n+=(e&dt)*oi,e<K)||(e=r.get(t+6),n+=(e&dt)*ai,e<K)||(e=r.get(t+7),n+=(e&dt)*ci,e<K))return n;throw new RangeError("Could not decode varint")}function oa(r,t,e=0){return t==null&&(t=ht(Vt(r))),t instanceof Uint8Array?li(r,t,e):cf(r,t,e)}function aa(r,t=0){return r instanceof Uint8Array?ui(r,t):lf(r,t)}var fi=new Float32Array([-0]),me=new Uint8Array(fi.buffer);function la(r,t,e){fi[0]=r,t[e]=me[0],t[e+1]=me[1],t[e+2]=me[2],t[e+3]=me[3]}function ua(r,t){return me[0]=r[t],me[1]=r[t+1],me[2]=r[t+2],me[3]=r[t+3],fi[0]}var hi=new Float64Array([-0]),pt=new Uint8Array(hi.buffer);function fa(r,t,e){hi[0]=r,t[e]=pt[0],t[e+1]=pt[1],t[e+2]=pt[2],t[e+3]=pt[3],t[e+4]=pt[4],t[e+5]=pt[5],t[e+6]=pt[6],t[e+7]=pt[7]}function ha(r,t){return pt[0]=r[t],pt[1]=r[t+1],pt[2]=r[t+2],pt[3]=r[t+3],pt[4]=r[t+4],pt[5]=r[t+5],pt[6]=r[t+6],pt[7]=r[t+7],hi[0]}var uf=BigInt(Number.MAX_SAFE_INTEGER),ff=BigInt(Number.MIN_SAFE_INTEGER),Tt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Le;if(t<uf&&t>ff)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>da&&(s=0n,++n>da&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return Le;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Le}},Le=new Tt(0,0);Le.toBigInt=function(){return 0n};Le.zzEncode=Le.zzDecode=function(){return this};Le.length=function(){return 1};var da=4294967296n;function pa(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function ga(r,t,e){if(e-t<1)return"";let s,i=[],o=0,a;for(;t<e;)a=r[t++],a<128?i[o++]=a:a>191&&a<224?i[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,i)),o=0);return s!=null?(o>0&&s.push(String.fromCharCode.apply(String,i.slice(0,o))),s.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function di(r,t,e){let n=e,s,i;for(let o=0;o<r.length;++o)s=r.charCodeAt(o),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((i=r.charCodeAt(o+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++o,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Ht(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function un(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var pi=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Ht(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Ht(this,4);return un(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ht(this,4);return un(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ht(this,4);let t=ua(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ht(this,4);let t=ha(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Ht(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return ga(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ht(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ht(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Tt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Ht(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Ht(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ht(this,8);let t=un(this.buf,this.pos+=4),e=un(this.buf,this.pos+=4);return new Tt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=ui(this.buf,this.pos);return this.pos+=Vt(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function gi(r){return new pi(r instanceof Uint8Array?r:r.subarray())}function St(r,t,e){let n=gi(r);return t.decode(n,void 0,e)}var mi={};yt(mi,{base10:()=>hf});var hf=ae({prefix:"9",name:"base10",alphabet:"0123456789"});var bi={};yt(bi,{base16:()=>df,base16upper:()=>pf});var df=j({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),pf=j({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var yi={};yt(yi,{base2:()=>gf});var gf=j({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var wi={};yt(wi,{base256emoji:()=>xf});var ba=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}"),mf=ba.reduce((r,t,e)=>(r[e]=t,r),[]),bf=ba.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function yf(r){return r.reduce((t,e)=>(t+=mf[e],t),"")}function wf(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let s=bf[n];if(s==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(s)}return new Uint8Array(t)}var xf=Ke({prefix:"\u{1F680}",name:"base256emoji",encode:yf,decode:wf});var xi={};yt(xi,{base64:()=>vf,base64pad:()=>Ef,base64url:()=>Bf,base64urlpad:()=>Sf});var vf=j({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ef=j({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Bf=j({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sf=j({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var vi={};yt(vi,{base8:()=>Af});var Af=j({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ei={};yt(Ei,{identity:()=>kf});var kf=Ke({prefix:"\0",name:"identity",encode:r=>Ao(r),decode:r=>So(r)});var R0=new TextEncoder,D0=new TextDecoder;var Ai={};yt(Ai,{sha256:()=>Ue,sha512:()=>Tf});function Si({name:r,code:t,encode:e}){return new Bi(r,t,e)}var Bi=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?_t(this.code,e):e.then(n=>_t(this.code,n))}else throw Error("Unknown type, must be binary type")}};function wa(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Ue=Si({name:"sha2-256",code:18,encode:wa("SHA-256")}),Tf=Si({name:"sha2-512",code:19,encode:wa("SHA-512")});var ki={...Ei,...yi,...vi,...mi,...bi,...Ms,...Vs,...Ds,...xi,...wi},Z0={...Ai,...Ps};function va(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var xa=va("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ii=va("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=ht(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Cf={utf8:xa,"utf-8":xa,hex:ki.base16,latin1:Ii,ascii:Ii,binary:Ii,...ki},fn=Cf;function W(r,t="utf8"){let e=fn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Ni(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return ht(o);s+o>t&&(n=ht(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var _e=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ti(){}var Li=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Lf=Ni();function Uf(r){return globalThis.Buffer!=null?ht(r):Lf(r)}var vr=class{len;head;tail;states;constructor(){this.len=0,this.head=new _e(Ti,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new _e(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ui((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(hn,10,Tt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Tt.fromBigInt(t);return this._push(hn,e.length(),e)}uint64Number(t){return this._push(li,Vt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Tt.fromBigInt(t).zzEncode();return this._push(hn,e.length(),e)}sint64Number(t){let e=Tt.fromNumber(t).zzEncode();return this._push(hn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ci,1,t?1:0)}fixed32(t){return this._push(xr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Tt.fromBigInt(t);return this._push(xr,4,e.lo)._push(xr,4,e.hi)}fixed64Number(t){let e=Tt.fromNumber(t);return this._push(xr,4,e.lo)._push(xr,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(la,4,t)}double(t){return this._push(fa,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Ci,1,0):this.uint32(e)._push(Rf,e,t)}string(t){let e=pa(t);return e!==0?this.uint32(e)._push(di,e,t):this._push(Ci,1,0)}fork(){return this.states=new Li(this),this.head=this.tail=new _e(Ti,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new _e(Ti,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Uf(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Ci(r,t,e){t[e]=r&255}function _f(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Ui=class extends _e{next;constructor(t,e){super(_f,t,e),this.next=void 0}};function hn(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function xr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Rf(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(vr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Df,t,r),this},vr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Mf,t,r),this});function Df(r,t,e){t.set(r,e)}function Mf(r,t,e){r.length<40?di(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(W(r),e)}function _i(){return new vr}function At(r,t){let e=_i();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Qe;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Qe||(Qe={}));function dn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ri(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,o){let a=t(i);o.int32(a)},n=function(i){let o=i.int32();return t(o)};return dn("enum",Qe.VARINT,e,n)}function kt(r,t){return dn("message",Qe.LENGTH_DELIMITED,r,t)}var Lt=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var it;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(it||(it={}));var Di;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(Di||(Di={}));(function(r){r.codec=()=>Ri(Di)})(it||(it={}));var Ft;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),it.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=it.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(Ft||(Ft={}));var Mi;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),it.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=it.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(Mi||(Mi={}));var Lr={};yt(Lr,{MAX_RSA_KEY_SIZE:()=>is,generateRSAKeyPair:()=>yc,jwkToJWKKeyPair:()=>wc,jwkToPkcs1:()=>Xf,jwkToPkix:()=>zi,jwkToRSAPrivateKey:()=>bc,pkcs1ToJwk:()=>pc,pkcs1ToRSAPrivateKey:()=>mc,pkixToJwk:()=>gc,pkixToRSAPublicKey:()=>Gi});var Vf=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),be=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ye=new Uint32Array(64),Vi=class extends Ye{constructor(){super(64,32,8,!1),this.A=be[0]|0,this.B=be[1]|0,this.C=be[2]|0,this.D=be[3]|0,this.E=be[4]|0,this.F=be[5]|0,this.G=be[6]|0,this.H=be[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)ye[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let d=ye[u-15],w=ye[u-2],E=Rt(d,7)^Rt(d,18)^d>>>3,b=Rt(w,17)^Rt(w,19)^w>>>10;ye[u]=b+ye[u-7]+E+ye[u-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:l,H:f}=this;for(let u=0;u<64;u++){let d=Rt(a,6)^Rt(a,11)^Rt(a,25),w=f+d+Ko(a,c,l)+Vf[u]+ye[u]|0,b=(Rt(n,2)^Rt(n,13)^Rt(n,22))+qo(n,s,i)|0;f=l,l=c,c=a,a=o+w|0,o=i,i=s,s=n,n=w+b|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,c,l,f)}roundClean(){ye.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var tr=Qr(()=>new Vi);var O=wo(Ba());function Re(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function we(r,t,e=-1){let n=e,s=r,i=0,o=Math.pow(2,t);for(let a=1;a<8;a++){if(r<o){let c;if(n<0)c=new ArrayBuffer(a),i=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),i=n}let l=new Uint8Array(c);for(let f=a-1;f>=0;f--){let u=Math.pow(2,f*t);l[i-f-1]=Math.floor(s/u),s-=l[i-f-1]*u}return c}o*=Math.pow(2,t)}return new ArrayBuffer(0)}function mn(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let i of r)s.set(i,e),e+=i.length;return s}function Oi(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Re(e,8),s=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,Re(i,8)-n}function Sa(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let o=e-t,a=we(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=we(t,8,n),i=new Uint8Array(s);if(i[0]&128){let o=s.slice(0),a=new Uint8Array(o);s=new ArrayBuffer(s.byteLength+1),i=new Uint8Array(s);for(let c=0;c<o.byteLength;c++)i[c+1]=a[c];i[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Aa(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function It(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let o=0;o<n;o++)s[o]="0";return s.join("").concat(e)}var Np=Math.log(2);function bn(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Pi(r){let t=0,e=0;for(let s=0;s<r.length;s++){let i=r[s];t+=i.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let i=r[s];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function ne(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Br=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Pi(this.items)}},Er=[new Uint8Array([1])],ka="0123456789";var ir="",Ot=new ArrayBuffer(0),Fi=new Uint8Array(0),Sr="EndOfContent",Na="OCTET STRING",Ta="BIT STRING";function se(r){var t;return t=class extends r{constructor(...n){var s;super(...n);let i=n[0]||{};this.isHexOnly=(s=i.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=i.valueHex?O.BufferSourceConverter.toUint8Array(i.valueHex):Fi}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,s,i){let o=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!ne(this,o,s,i))return-1;let a=s+i;return this.valueHexView=o.subarray(s,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ot)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:O.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var te=class{constructor({blockLength:t=0,error:e=ir,warnings:n=[],valueBeforeDecode:s=Fi}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=O.BufferSourceConverter.toUint8Array(s)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:O.Convert.ToHex(this.valueBeforeDecodeView)}}};te.NAME="baseBlock";var gt=class extends te{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};gt.NAME="valueBlock";var yn=class extends se(te){constructor({idBlock:t={}}={}){var e,n,s,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?O.BufferSourceConverter.toUint8Array(t.valueHex):Fi,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(i=t.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ot}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=we(this.tagNumber,7),i=new Uint8Array(s),o=s.byteLength,a=new Uint8Array(o+1);if(a[0]=e|31,!t){for(let c=0;c<o-1;c++)a[c+1]=i[c]|128;a[o]=i[o-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let i=0;i<s.length-1;i++)n[i+1]=s[i]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let a=i[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,l=this.valueHexView=new Uint8Array(255),f=255;for(;i[c]&128;){if(l[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let d=new Uint8Array(f);for(let w=0;w<l.length;w++)d[w]=l[w];l=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,l[c-1]=i[c]&127;let u=new Uint8Array(c);for(let d=0;d<c;d++)u[d]=l[d];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Re(l,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};yn.NAME="identificationBlock";var wn=class extends te{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,e+this.blockLength;let o=i[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Re(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=we(this.length,8);if(s.byteLength>127)return this.error="Too big length",Ot;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let i=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let o=0;o<s.byteLength;o++)n[o+1]=i[o];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};wn.NAME="lengthBlock";var A={},ut=class extends te{constructor({name:t=ir,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new yn(s),this.lenBlock=new wn(s),this.valueBlock=i?new i(s):new gt(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new Br;e||Ca(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let i=this.valueBlock.toBER(t);this.lenBlock.length=i.byteLength;let o=this.lenBlock.toBER(t);n.write(o),n.write(i)}return e?Ot:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():O.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${O.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Aa(e,n)}};ut.NAME="BaseBlock";function Ca(r){if(r instanceof A.Constructed)for(let t of r.valueBlock.value)Ca(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var xn=class extends ut{constructor({value:t=ir,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};xn.NAME="BaseStringBlock";var vn=class extends se(gt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};vn.NAME="PrimitiveValueBlock";var La,En=class extends ut{constructor(t={}){super(t,vn),this.idBlock.isConstructed=!1}};La=En;A.Primitive=La;En.NAME="PRIMITIVE";function Gf(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function rs(r,t=0,e=r.length){let n=t,s=new ut({},gt),i=new te;if(!ne(i,r,t,e))return s.error=i.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=ut;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=A.EndOfContent;break;case 1:c=A.Boolean;break;case 2:c=A.Integer;break;case 3:c=A.BitString;break;case 4:c=A.OctetString;break;case 5:c=A.Null;break;case 6:c=A.ObjectIdentifier;break;case 10:c=A.Enumerated;break;case 12:c=A.Utf8String;break;case 13:c=A.RelativeObjectIdentifier;break;case 14:c=A.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=A.Sequence;break;case 17:c=A.Set;break;case 18:c=A.NumericString;break;case 19:c=A.PrintableString;break;case 20:c=A.TeletexString;break;case 21:c=A.VideotexString;break;case 22:c=A.IA5String;break;case 23:c=A.UTCTime;break;case 24:c=A.GeneralizedTime;break;case 25:c=A.GraphicString;break;case 26:c=A.VisibleString;break;case 27:c=A.GeneralString;break;case 28:c=A.UniversalString;break;case 29:c=A.CharacterString;break;case 30:c=A.BmpString;break;case 31:c=A.DATE;break;case 32:c=A.TimeOfDay;break;case 33:c=A.DateTime;break;case 34:c=A.Duration;break;default:{let l=s.idBlock.isConstructed?new A.Constructed:new A.Primitive;l.idBlock=s.idBlock,l.lenBlock=s.lenBlock,l.warnings=s.warnings,s=l}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?A.Constructed:A.Primitive}return s=Gf(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function Ki(r){if(!r.byteLength){let t=new ut({},gt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return rs(O.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Zf(r,t){return r?1:t}var Kt=class extends gt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;Zf(this.isIndefiniteForm,n)>0;){let o=rs(s,i,n);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,n-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===Sr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Sr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new Br;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Ot:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Kt.NAME="ConstructedValueBlock";var Ua,xe=class extends ut{constructor(t={}){super(t,Kt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
2
|
+
"use strict";var Libp2PFloodsub=(()=>{var cl=Object.create;var Wr=Object.defineProperty;var ll=Object.getOwnPropertyDescriptor;var ul=Object.getOwnPropertyNames;var fl=Object.getPrototypeOf,hl=Object.prototype.hasOwnProperty;var bo=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),bt=(r,t)=>{for(var e in t)Wr(r,e,{get:t[e],enumerable:!0})},yo=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ul(t))!hl.call(r,s)&&s!==e&&Wr(r,s,{get:()=>t[s],enumerable:!(n=ll(t,s))||n.enumerable});return r};var wo=(r,t,e)=>(e=r!=null?cl(fl(r)):{},yo(t||!r||!r.__esModule?Wr(e,"default",{value:r,enumerable:!0}):e,r)),dl=r=>yo(Wr({},"__esModule",{value:!0}),r);var Ba=bo(er=>{"use strict";var Hf="[object ArrayBuffer]",Qt=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Hf}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||t.byteOffset===0&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){let n=r.toUint8Array(t),s=r.toUint8Array(e);if(n.length!==s.byteLength)return!1;for(let i=0;i<n.length;i++)if(n[i]!==s[i])return!1;return!0}static concat(...t){let e;Array.isArray(t[0])&&!(t[1]instanceof Function)||Array.isArray(t[0])&&t[1]instanceof Function?e=t[0]:t[t.length-1]instanceof Function?e=t.slice(0,t.length-1):e=t;let n=0;for(let o of e)n+=o.byteLength;let s=new Uint8Array(n),i=0;for(let o of e){let a=this.toUint8Array(o);s.set(a,i),i+=a.length}return t[t.length-1]instanceof Function?this.toView(s,t[t.length-1]):s.buffer}},Hi="string",Of=/^[0-9a-f]+$/i,Pf=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Ff=/^[a-zA-Z0-9-_]+$/,pn=class{static fromString(t){let e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let s=0;s<e.length;s++)n[s]=e.charCodeAt(s);return n.buffer}static toString(t){let e=Qt.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},Lt=class{static toString(t,e=!1){let n=Qt.toArrayBuffer(t),s=new DataView(n),i="";for(let o=0;o<n.byteLength;o+=2){let a=s.getUint16(o,e);i+=String.fromCharCode(a)}return i}static fromString(t,e=!1){let n=new ArrayBuffer(t.length*2),s=new DataView(n);for(let i=0;i<t.length;i++)s.setUint16(i*2,t.charCodeAt(i),e);return n}},gn=class r{static isHex(t){return typeof t===Hi&&Of.test(t)}static isBase64(t){return typeof t===Hi&&Pf.test(t)}static isBase64Url(t){return typeof t===Hi&&Ff.test(t)}static ToString(t,e="utf8"){let n=Qt.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return Lt.toString(n,!0);case"utf16":case"utf16be":return Lt.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return Lt.fromString(t,!0);case"utf16":case"utf16be":return Lt.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=Qt.toUint8Array(t);if(typeof btoa<"u"){let n=this.ToString(e,"binary");return btoa(n)}else return Buffer.from(e).toString("base64")}static FromBase64(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return pn.fromString(t);case"utf16":case"utf16be":return Lt.fromString(t);case"utf16le":case"usc2":return Lt.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=r.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return pn.toString(t);case"utf16":case"utf16be":return Lt.toString(t);case"utf16le":case"usc2":return Lt.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){let e=t.length,n=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);return n.buffer}static ToBinary(t){let e=Qt.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=Qt.toUint8Array(t),n="",s=e.length;for(let i=0;i<s;i++){let o=e[i];o<16&&(n+="0"),n+=o.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!r.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);let n=new Uint8Array(e.length/2);for(let s=0;s<e.length;s=s+2){let i=e.slice(s,s+2);n[s/2]=parseInt(i,16)}return n.buffer}static ToUtf16String(t,e=!1){return Lt.toString(t,e)}static FromUtf16String(t,e=!1){return Lt.fromString(t,e)}static Base64Padding(t){let e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return t?.replace(/[\n\r\t ]/g,"")||""}};gn.DEFAULT_UTF8_ENCODING="utf8";function Kf(r,...t){let e=arguments[0];for(let n=1;n<arguments.length;n++){let s=arguments[n];for(let i in s)e[i]=s[i]}return e}function qf(...r){let t=r.map(s=>s.byteLength).reduce((s,i)=>s+i),e=new Uint8Array(t),n=0;return r.map(s=>new Uint8Array(s)).forEach(s=>{for(let i of s)e[n++]=i}),e.buffer}function $f(r,t){if(!(r&&t)||r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<r.byteLength;s++)if(e[s]!==n[s])return!1;return!0}er.BufferSourceConverter=Qt;er.Convert=gn;er.assign=Kf;er.combine=qf;er.isEqual=$f});var Pc=bo((eb,eo)=>{"use strict";var mh=Object.prototype.hasOwnProperty,wt="~";function Fr(){}Object.create&&(Fr.prototype=Object.create(null),new Fr().__proto__||(wt=!1));function bh(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Oc(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new bh(e,n||r,s),o=wt?wt+t:t;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],i]:r._events[o].push(i):(r._events[o]=i,r._eventsCount++),r}function ds(r,t){--r._eventsCount===0?r._events=new Fr:delete r._events[t]}function gt(){this._events=new Fr,this._eventsCount=0}gt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)mh.call(e,n)&&t.push(wt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};gt.prototype.listeners=function(t){var e=wt?wt+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var s=0,i=n.length,o=new Array(i);s<i;s++)o[s]=n[s].fn;return o};gt.prototype.listenerCount=function(t){var e=wt?wt+t:t,n=this._events[e];return n?n.fn?1:n.length:0};gt.prototype.emit=function(t,e,n,s,i,o){var a=wt?wt+t:t;if(!this._events[a])return!1;var c=this._events[a],l=arguments.length,f,u;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,e),!0;case 3:return c.fn.call(c.context,e,n),!0;case 4:return c.fn.call(c.context,e,n,s),!0;case 5:return c.fn.call(c.context,e,n,s,i),!0;case 6:return c.fn.call(c.context,e,n,s,i,o),!0}for(u=1,f=new Array(l-1);u<l;u++)f[u-1]=arguments[u];c.fn.apply(c.context,f)}else{var d=c.length,w;for(u=0;u<d;u++)switch(c[u].once&&this.removeListener(t,c[u].fn,void 0,!0),l){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,e);break;case 3:c[u].fn.call(c[u].context,e,n);break;case 4:c[u].fn.call(c[u].context,e,n,s);break;default:if(!f)for(w=1,f=new Array(l-1);w<l;w++)f[w-1]=arguments[w];c[u].fn.apply(c[u].context,f)}}return!0};gt.prototype.on=function(t,e,n){return Oc(this,t,e,n,!1)};gt.prototype.once=function(t,e,n){return Oc(this,t,e,n,!0)};gt.prototype.removeListener=function(t,e,n,s){var i=wt?wt+t:t;if(!this._events[i])return this;if(!e)return ds(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&ds(this,i);else{for(var a=0,c=[],l=o.length;a<l;a++)(o[a].fn!==e||s&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[i]=c.length===1?c[0]:c:ds(this,i)}return this};gt.prototype.removeAllListeners=function(t){var e;return t?(e=wt?wt+t:t,this._events[e]&&ds(this,e)):(this._events=new Fr,this._eventsCount=0),this};gt.prototype.off=gt.prototype.removeListener;gt.prototype.addListener=gt.prototype.on;gt.prefixed=wt;gt.EventEmitter=gt;typeof eo<"u"&&(eo.exports=gt)});var kh={};bt(kh,{floodsub:()=>Ah,multicodec:()=>ao});var Cs=Symbol.for("@libp2p/peer-id");var fr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(fr||(fr={}));var xo=Symbol.for("@libp2p/pubsub");var rt=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Pe=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var jr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Y=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}};var Jr=class extends Error{static name="NotStartedError";constructor(t="Not started"){super(t),this.name="NotStartedError"}};var Be=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var vo=(r,...t)=>{try{[...t]}catch{}};var Fe=class extends EventTarget{#t=new Map;constructor(){super(),vo(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let s=this.#t.get(t);s==null&&(s=[],this.#t.set(t,s)),s.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let s=this.#t.get(t);s!=null&&(s=s.filter(({callback:i})=>i!==e),this.#t.set(t,s))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:s})=>!s),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var Rh=Symbol.for("@libp2p/service-capabilities"),Eo=Symbol.for("@libp2p/service-dependencies");var Ds={};bt(Ds,{base58btc:()=>X,base58flickr:()=>wl});var sd=new Uint8Array(0);function Bo(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 Gt(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 So(r){return new TextEncoder().encode(r)}function Ao(r){return new TextDecoder().decode(r)}function pl(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 s=0;s<r.length;s++){var i=r.charAt(s),o=i.charCodeAt(0);if(e[o]!==255)throw new TypeError(i+" is ambiguous");e[o]=s}var a=r.length,c=r.charAt(0),l=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function u(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 b=0,h=0,y=0,v=E.length;y!==v&&E[y]===0;)y++,b++;for(var g=(v-y)*f+1>>>0,S=new Uint8Array(g);y!==v;){for(var U=E[y],L=0,k=g-1;(U!==0||L<h)&&k!==-1;k--,L++)U+=256*S[k]>>>0,S[k]=U%a>>>0,U=U/a>>>0;if(U!==0)throw new Error("Non-zero carry");h=L,y++}for(var I=g-h;I!==g&&S[I]===0;)I++;for(var C=c.repeat(b);I<g;++I)C+=r.charAt(S[I]);return C}function d(E){if(typeof E!="string")throw new TypeError("Expected String");if(E.length===0)return new Uint8Array;var b=0;if(E[b]!==" "){for(var h=0,y=0;E[b]===c;)h++,b++;for(var v=(E.length-b)*l+1>>>0,g=new Uint8Array(v);E[b];){var S=e[E.charCodeAt(b)];if(S===255)return;for(var U=0,L=v-1;(S!==0||U<y)&&L!==-1;L--,U++)S+=a*g[L]>>>0,g[L]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");y=U,b++}if(E[b]!==" "){for(var k=v-y;k!==v&&g[k]===0;)k++;for(var I=new Uint8Array(h+(v-k)),C=h;k!==v;)I[C++]=g[k++];return I}}}function w(E){var b=d(E);if(b)return b;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:d,decode:w}}var gl=pl,ml=gl,Io=ml;var Ls=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")}},Us=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let s=e.codePointAt(0);if(s===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s,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 No(this,t)}},_s=class{decoders;constructor(t){this.decoders=t}or(t){return No(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 No(r,t){return new _s({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Rs=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,s){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=s,this.encoder=new Ls(t,e,n),this.decoder=new Us(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ke({name:r,prefix:t,encode:e,decode:n}){return new Rs(r,t,e,n)}function ae({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=Io(e,r);return Ke({prefix:t,name:r,encode:n,decode:i=>Gt(s(i))})}function bl(r,t,e,n){let s={};for(let f=0;f<t.length;++f)s[t[f]]=f;let i=r.length;for(;r[i-1]==="=";)--i;let o=new Uint8Array(i*e/8|0),a=0,c=0,l=0;for(let f=0;f<i;++f){let u=s[r[f]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<e|u,a+=e,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=e||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o}function yl(r,t,e){let n=t[t.length-1]==="=",s=(1<<e)-1,i="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>e;)o-=e,i+=t[s&a>>o];if(o!==0&&(i+=t[s&a<<e-o]),n)for(;i.length*e&7;)i+="=";return i}function j({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return Ke({prefix:t,name:r,encode(s){return yl(s,n,e)},decode(s){return bl(s,n,e,r)}})}var X=ae({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),wl=ae({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ms={};bt(Ms,{base32:()=>qe,base32hex:()=>Bl,base32hexpad:()=>Al,base32hexpadupper:()=>kl,base32hexupper:()=>Sl,base32pad:()=>vl,base32padupper:()=>El,base32upper:()=>xl,base32z:()=>Il});var qe=j({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),xl=j({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),vl=j({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),El=j({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bl=j({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Sl=j({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Al=j({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),kl=j({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Il=j({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vs={};bt(Vs,{base36:()=>hr,base36upper:()=>Nl});var hr=ae({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Nl=ae({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Tl=Lo,To=128,Cl=127,Ll=~Cl,Ul=Math.pow(2,31);function Lo(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Ul;)t[e++]=r&255|To,r/=128;for(;r⋘)t[e++]=r&255|To,r>>>=7;return t[e]=r|0,Lo.bytes=e-n+1,t}var _l=Hs,Rl=128,Co=127;function Hs(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw Hs.bytes=0,new RangeError("Could not decode varint");o=r[i++],e+=s<28?(o&Co)<<s:(o&Co)*Math.pow(2,s),s+=7}while(o>=Rl);return Hs.bytes=i-n,e}var Dl=Math.pow(2,7),Ml=Math.pow(2,14),Vl=Math.pow(2,21),Hl=Math.pow(2,28),Ol=Math.pow(2,35),Pl=Math.pow(2,42),Fl=Math.pow(2,49),Kl=Math.pow(2,56),ql=Math.pow(2,63),$l=function(r){return r<Dl?1:r<Ml?2:r<Vl?3:r<Hl?4:r<Ol?5:r<Pl?6:r<Fl?7:r<Kl?8:r<ql?9:10},zl={encode:Tl,decode:_l,encodingLength:$l},Gl=zl,dr=Gl;function pr(r,t=0){return[dr.decode(r,t),dr.decode.bytes]}function $e(r,t,e=0){return dr.encode(r,t,e),t}function ze(r){return dr.encodingLength(r)}function Ut(r,t){let e=t.byteLength,n=ze(r),s=n+ze(e),i=new Uint8Array(s+e);return $e(r,i,0),$e(e,i,n),i.set(t,s),new Ge(r,e,t,i)}function ce(r){let t=Gt(r),[e,n]=pr(t),[s,i]=pr(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new Ge(e,s,o,t)}function Uo(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Bo(r.bytes,e.bytes)}}var Ge=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};function _o(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Wl(e,Os(r),t??X.encoder);default:return jl(e,Os(r),t??qe.encoder)}}var Ro=new WeakMap;function Os(r){let t=Ro.get(r);if(t==null){let e=new Map;return Ro.set(r,e),e}return t}var It=class r{code;version;multihash;bytes;"/";constructor(t,e,n,s){this.code=e,this.version=t,this.multihash=n,this.bytes=s,this["/"]=s}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!==gr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Jl)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=Ut(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&&Uo(t.multihash,n.multihash)}toString(t){return _o(this,t)}toJSON(){return{"/":_o(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:s,multihash:i,bytes:o}=e;return new r(n,s,i,o??Do(n,s,i.bytes))}else if(e[Yl]===!0){let{version:n,multihash:s,code:i}=e,o=ce(s);return r.create(n,i,o)}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!==gr)throw new Error(`Version 0 CID must use dag-pb (code: ${gr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=Do(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,gr,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,s=Gt(t.subarray(n,n+e.multihashSize));if(s.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=s.subarray(e.multihashSize-e.digestSize),o=new Ge(e.multihashCode,e.digestSize,i,s);return[e.version===0?r.createV0(o):r.createV1(e.codec,o),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,d]=pr(t.subarray(e));return e+=d,u},s=n(),i=gr;if(s===18?(s=0,e=0):i=n(),s!==0&&s!==1)throw new RangeError(`Invalid CID version ${s}`);let o=e,a=n(),c=n(),l=e+c,f=l-o;return{version:s,codec:i,multihashCode:a,digestSize:c,multihashSize:f,size:l}}static parse(t,e){let[n,s]=Zl(t,e),i=r.decode(s);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Os(i).set(n,t),i}};function Zl(r,t){switch(r[0]){case"Q":{let e=t??X;return[X.prefix,e.decode(`${X.prefix}${r}`)]}case X.prefix:{let e=t??X;return[X.prefix,e.decode(r)]}case qe.prefix:{let e=t??qe;return[qe.prefix,e.decode(r)]}case hr.prefix:{let e=t??hr;return[hr.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 Wl(r,t,e){let{prefix:n}=e;if(n!==X.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let s=t.get(n);if(s==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return s}function jl(r,t,e){let{prefix:n}=e,s=t.get(n);if(s==null){let i=e.encode(r);return t.set(n,i),i}else return s}var gr=112,Jl=18;function Do(r,t,e){let n=ze(r),s=n+ze(t),i=new Uint8Array(s+e.byteLength);return $e(r,i,0),$e(t,i,n),i.set(e,s),i}var Yl=Symbol.for("@ipld/js-cid/CID");var Ps={};bt(Ps,{identity:()=>Zt});var Mo=0,Xl="identity",Vo=Gt;function Ql(r){return Ut(Mo,Vo(r))}var Zt={code:Mo,name:Xl,encode:Vo,digest:Ql};function Tt(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 Ho(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function tu(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Ze(r,...t){if(!tu(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function Oo(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ho(r.outputLen),Ho(r.blockLen)}function We(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function Po(r,t){Ze(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var Se=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Xr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),_t=(r,t)=>r<<32-t|r>>>t;var Id=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Fo(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function mr(r){return typeof r=="string"&&(r=Fo(r)),Ze(r),r}function Fs(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];Ze(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}var je=class{clone(){return this._cloneInto()}},Nd={}.toString;function Qr(r){let t=n=>r().update(mr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function Je(r=32){if(Se&&typeof Se.getRandomValues=="function")return Se.getRandomValues(new Uint8Array(r));if(Se&&typeof Se.randomBytes=="function")return Se.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function eu(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(e>>s&i),a=Number(e&i),c=n?4:0,l=n?0:4;r.setUint32(t+c,o,n),r.setUint32(t+l,a,n)}var Ko=(r,t,e)=>r&t^~r&e,qo=(r,t,e)=>r&t^r&e^t&e,Ye=class extends je{constructor(t,e,n,s){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Xr(this.buffer)}update(t){We(this);let{view:e,buffer:n,blockLen:s}=this;t=mr(t);let i=t.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let c=Xr(t);for(;s<=i-o;o+=s)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){We(this),Po(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;e[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let u=o;u<s;u++)e[u]=0;eu(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=Xr(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=c/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,f[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return t.length=s,t.pos=a,t.finished=i,t.destroyed=o,s%e&&t.buffer.set(n),t}};var tn=BigInt(4294967295),Ks=BigInt(32);function $o(r,t=!1){return t?{h:Number(r&tn),l:Number(r>>Ks&tn)}:{h:Number(r>>Ks&tn)|0,l:Number(r&tn)|0}}function ru(r,t=!1){let e=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let s=0;s<r.length;s++){let{h:i,l:o}=$o(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var nu=(r,t)=>BigInt(r>>>0)<<Ks|BigInt(t>>>0),su=(r,t,e)=>r>>>e,iu=(r,t,e)=>r<<32-e|t>>>e,ou=(r,t,e)=>r>>>e|t<<32-e,au=(r,t,e)=>r<<32-e|t>>>e,cu=(r,t,e)=>r<<64-e|t>>>e-32,lu=(r,t,e)=>r>>>e-32|t<<64-e,uu=(r,t)=>t,fu=(r,t)=>r,hu=(r,t,e)=>r<<e|t>>>32-e,du=(r,t,e)=>t<<e|r>>>32-e,pu=(r,t,e)=>t<<e-32|r>>>64-e,gu=(r,t,e)=>r<<e-32|t>>>64-e;function mu(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var bu=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),yu=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,wu=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),xu=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,vu=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),Eu=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var Bu={fromBig:$o,split:ru,toBig:nu,shrSH:su,shrSL:iu,rotrSH:ou,rotrSL:au,rotrBH:cu,rotrBL:lu,rotr32H:uu,rotr32L:fu,rotlSH:hu,rotlSL:du,rotlBH:pu,rotlBL:gu,add:mu,add3L:bu,add3H:yu,add4L:wu,add4H:xu,add5H:Eu,add5L:vu},D=Bu;var[Su,Au]=D.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),ue=new Uint32Array(80),fe=new Uint32Array(80),qs=class extends Ye{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:t,Al:e,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:c,Eh:l,El:f,Fh:u,Fl:d,Gh:w,Gl:E,Hh:b,Hl:h}=this;return[t,e,n,s,i,o,a,c,l,f,u,d,w,E,b,h]}set(t,e,n,s,i,o,a,c,l,f,u,d,w,E,b,h){this.Ah=t|0,this.Al=e|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=l|0,this.El=f|0,this.Fh=u|0,this.Fl=d|0,this.Gh=w|0,this.Gl=E|0,this.Hh=b|0,this.Hl=h|0}process(t,e){for(let g=0;g<16;g++,e+=4)ue[g]=t.getUint32(e),fe[g]=t.getUint32(e+=4);for(let g=16;g<80;g++){let S=ue[g-15]|0,U=fe[g-15]|0,L=D.rotrSH(S,U,1)^D.rotrSH(S,U,8)^D.shrSH(S,U,7),k=D.rotrSL(S,U,1)^D.rotrSL(S,U,8)^D.shrSL(S,U,7),I=ue[g-2]|0,C=fe[g-2]|0,Q=D.rotrSH(I,C,19)^D.rotrBH(I,C,61)^D.shrSH(I,C,6),F=D.rotrSL(I,C,19)^D.rotrBL(I,C,61)^D.shrSL(I,C,6),M=D.add4L(k,F,fe[g-7],fe[g-16]),tt=D.add4H(M,L,Q,ue[g-7],ue[g-16]);ue[g]=tt|0,fe[g]=M|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:f,Eh:u,El:d,Fh:w,Fl:E,Gh:b,Gl:h,Hh:y,Hl:v}=this;for(let g=0;g<80;g++){let S=D.rotrSH(u,d,14)^D.rotrSH(u,d,18)^D.rotrBH(u,d,41),U=D.rotrSL(u,d,14)^D.rotrSL(u,d,18)^D.rotrBL(u,d,41),L=u&w^~u&b,k=d&E^~d&h,I=D.add5L(v,U,k,Au[g],fe[g]),C=D.add5H(I,y,S,L,Su[g],ue[g]),Q=I|0,F=D.rotrSH(n,s,28)^D.rotrBH(n,s,34)^D.rotrBH(n,s,39),M=D.rotrSL(n,s,28)^D.rotrBL(n,s,34)^D.rotrBL(n,s,39),tt=n&i^n&a^i&a,B=s&o^s&c^o&c;y=b|0,v=h|0,b=w|0,h=E|0,w=u|0,E=d|0,{h:u,l:d}=D.add(l|0,f|0,C|0,Q|0),l=a|0,f=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let N=D.add3L(Q,M,B);n=D.add3H(N,C,F,tt),s=N|0}({h:n,l:s}=D.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=D.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=D.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:f}=D.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:u,l:d}=D.add(this.Eh|0,this.El|0,u|0,d|0),{h:w,l:E}=D.add(this.Fh|0,this.Fl|0,w|0,E|0),{h:b,l:h}=D.add(this.Gh|0,this.Gl|0,b|0,h|0),{h:y,l:v}=D.add(this.Hh|0,this.Hl|0,y|0,v|0),this.set(n,s,i,o,a,c,l,f,u,d,w,E,b,h,y,v)}roundClean(){ue.fill(0),fe.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var zo=Qr(()=>new qs);var rn={};bt(rn,{aInRange:()=>vt,abool:()=>Rt,abytes:()=>Xe,bitGet:()=>Lu,bitLen:()=>Ws,bitMask:()=>yr,bitSet:()=>Uu,bytesToHex:()=>jt,bytesToNumberBE:()=>Jt,bytesToNumberLE:()=>de,concatBytes:()=>Yt,createHmacDrbg:()=>js,ensureBytes:()=>J,equalBytes:()=>Tu,hexToBytes:()=>ke,hexToNumber:()=>Zs,inRange:()=>br,isBytes:()=>he,memoized:()=>Ne,notImplemented:()=>Ru,numberToBytesBE:()=>pe,numberToBytesLE:()=>Ie,numberToHexUnpadded:()=>Ae,numberToVarBytesBE:()=>Nu,utf8ToBytes:()=>Cu,validateObject:()=>Pt});var Gs=BigInt(0),en=BigInt(1),ku=BigInt(2);function he(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Xe(r){if(!he(r))throw new Error("Uint8Array expected")}function Rt(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var Iu=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function jt(r){Xe(r);let t="";for(let e=0;e<r.length;e++)t+=Iu[r[e]];return t}function Ae(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Zs(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Wt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Go(r){if(r>=Wt._0&&r<=Wt._9)return r-Wt._0;if(r>=Wt._A&&r<=Wt._F)return r-(Wt._A-10);if(r>=Wt._a&&r<=Wt._f)return r-(Wt._a-10)}function ke(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let s=0,i=0;s<e;s++,i+=2){let o=Go(r.charCodeAt(i)),a=Go(r.charCodeAt(i+1));if(o===void 0||a===void 0){let c=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[s]=o*16+a}return n}function Jt(r){return Zs(jt(r))}function de(r){return Xe(r),Zs(jt(Uint8Array.from(r).reverse()))}function pe(r,t){return ke(r.toString(16).padStart(t*2,"0"))}function Ie(r,t){return pe(r,t).reverse()}function Nu(r){return ke(Ae(r))}function J(r,t,e){let n;if(typeof t=="string")try{n=ke(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(he(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let s=n.length;if(typeof e=="number"&&s!==e)throw new Error(`${r} expected ${e} bytes, got ${s}`);return n}function Yt(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];Xe(s),t+=s.length}let e=new Uint8Array(t);for(let n=0,s=0;n<r.length;n++){let i=r[n];e.set(i,s),s+=i.length}return e}function Tu(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function Cu(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}var $s=r=>typeof r=="bigint"&&Gs<=r;function br(r,t,e){return $s(r)&&$s(t)&&$s(e)&&t<=r&&r<e}function vt(r,t,e,n){if(!br(t,e,n))throw new Error(`expected valid ${r}: ${e} <= n < ${n}, got ${typeof t} ${t}`)}function Ws(r){let t;for(t=0;r>Gs;r>>=en,t+=1);return t}function Lu(r,t){return r>>BigInt(t)&en}function Uu(r,t,e){return r|(e?en:Gs)<<BigInt(t)}var yr=r=>(ku<<BigInt(r-1))-en,zs=r=>new Uint8Array(r),Zo=r=>Uint8Array.from(r);function js(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=zs(r),s=zs(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=zs())=>{s=a(Zo([0]),u),n=a(),u.length!==0&&(s=a(Zo([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,d=[];for(;u<t;){n=a();let w=n.slice();d.push(w),u+=n.length}return Yt(...d)};return(u,d)=>{o(),c(u);let w;for(;!(w=d(l()));)c();return o(),w}}var _u={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||he(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Pt(r,t,e={}){let n=(s,i,o)=>{let a=_u[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(s)}=${c} (${typeof c}), expected ${i}`)};for(let[s,i]of Object.entries(t))n(s,i,!1);for(let[s,i]of Object.entries(e))n(s,i,!0);return r}var Ru=()=>{throw new Error("not implemented")};function Ne(r){let t=new WeakMap;return(e,...n)=>{let s=t.get(e);if(s!==void 0)return s;let i=r(e,...n);return t.set(e,i),i}}var nt=BigInt(0),G=BigInt(1),Te=BigInt(2),Du=BigInt(3),Js=BigInt(4),Wo=BigInt(5),jo=BigInt(8),Mu=BigInt(9),Vu=BigInt(16);function $(r,t){let e=r%t;return e>=nt?e:t+e}function Hu(r,t,e){if(e<=nt||t<nt)throw new Error("Expected power/modulo > 0");if(e===G)return nt;let n=G;for(;t>nt;)t&G&&(n=n*r%e),r=r*r%e,t>>=G;return n}function Z(r,t,e){let n=r;for(;t-- >nt;)n*=n,n%=e;return n}function nn(r,t){if(r===nt||t<=nt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=$(r,t),n=t,s=nt,i=G,o=G,a=nt;for(;e!==nt;){let l=n/e,f=n%e,u=s-o*l,d=i-a*l;n=e,e=f,s=o,i=a,o=u,a=d}if(n!==G)throw new Error("invert: does not exist");return $(s,t)}function Ou(r){let t=(r-G)/Te,e,n,s;for(e=r-G,n=0;e%Te===nt;e/=Te,n++);for(s=Te;s<r&&Hu(s,t,r)!==r-G;s++);if(n===1){let o=(r+G)/Js;return function(c,l){let f=c.pow(l,o);if(!c.eql(c.sqr(f),l))throw new Error("Cannot find square root");return f}}let i=(e+G)/Te;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,f=a.pow(a.mul(a.ONE,s),e),u=a.pow(c,i),d=a.pow(c,e);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let w=1;for(let b=a.sqr(d);w<l&&!a.eql(b,a.ONE);w++)b=a.sqr(b);let E=a.pow(f,G<<BigInt(l-w-1));f=a.sqr(E),u=a.mul(u,E),d=a.mul(d,f),l=w}return u}}function Pu(r){if(r%Js===Du){let t=(r+G)/Js;return function(n,s){let i=n.pow(s,t);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(r%jo===Wo){let t=(r-Wo)/jo;return function(n,s){let i=n.mul(s,Te),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,Te),o),l=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return r%Vu,Ou(r)}var Jo=(r,t)=>($(r,t)&G)===G,Fu=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ys(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Fu.reduce((n,s)=>(n[s]="function",n),t);return Pt(r,e)}function Ku(r,t,e){if(e<nt)throw new Error("Expected power > 0");if(e===nt)return r.ONE;if(e===G)return t;let n=r.ONE,s=t;for(;e>nt;)e&G&&(n=r.mul(n,s)),s=r.sqr(s),e>>=G;return n}function qu(r,t){let e=new Array(t.length),n=t.reduce((i,o,a)=>r.is0(o)?i:(e[a]=i,r.mul(i,o)),r.ONE),s=r.inv(n);return t.reduceRight((i,o,a)=>r.is0(o)?i:(e[a]=r.mul(i,e[a]),r.mul(i,o)),s),e}function Xs(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function ge(r,t,e=!1,n={}){if(r<=nt)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=Xs(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Pu(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:yr(s),ZERO:nt,ONE:G,create:c=>$(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return nt<=c&&c<r},is0:c=>c===nt,isOdd:c=>(c&G)===G,neg:c=>$(-c,r),eql:(c,l)=>c===l,sqr:c=>$(c*c,r),add:(c,l)=>$(c+l,r),sub:(c,l)=>$(c-l,r),mul:(c,l)=>$(c*l,r),pow:(c,l)=>Ku(a,c,l),div:(c,l)=>$(c*nn(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>nn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>qu(a,c),cmov:(c,l,f)=>f?l:c,toBytes:c=>e?Ie(c,i):pe(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?de(c):Jt(c)}});return Object.freeze(a)}function Yo(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Qs(r){let t=Yo(r);return t+Math.ceil(t/2)}function Xo(r,t,e=!1){let n=r.length,s=Yo(t),i=Qs(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?Jt(r):de(r),a=$(o,t-G)+G;return e?Ie(a,s):pe(a,s)}var zu=BigInt(0),ti=BigInt(1),ei=new WeakMap,Qo=new WeakMap;function sn(r,t){let e=(i,o)=>{let a=o.negate();return i?a:o},n=i=>{if(!Number.isSafeInteger(i)||i<=0||i>t)throw new Error(`Wrong window size=${i}, should be [1..${t}]`)},s=i=>{n(i);let o=Math.ceil(t/i)+1,a=2**(i-1);return{windows:o,windowSize:a}};return{constTimeNegate:e,unsafeLadder(i,o){let a=r.ZERO,c=i;for(;o>zu;)o&ti&&(a=a.add(c)),c=c.double(),o>>=ti;return a},precomputeWindow(i,o){let{windows:a,windowSize:c}=s(o),l=[],f=i,u=f;for(let d=0;d<a;d++){u=f,l.push(u);for(let w=1;w<c;w++)u=u.add(f),l.push(u);f=u.double()}return l},wNAF(i,o,a){let{windows:c,windowSize:l}=s(i),f=r.ZERO,u=r.BASE,d=BigInt(2**i-1),w=2**i,E=BigInt(i);for(let b=0;b<c;b++){let h=b*l,y=Number(a&d);a>>=E,y>l&&(y-=w,a+=ti);let v=h,g=h+Math.abs(y)-1,S=b%2!==0,U=y<0;y===0?u=u.add(e(S,o[v])):f=f.add(e(U,o[g]))}return{p:f,f:u}},wNAFCached(i,o,a){let c=Qo.get(i)||1,l=ei.get(i);return l||(l=this.precomputeWindow(i,c),c!==1&&ei.set(i,a(l))),this.wNAF(c,l,o)},setWindowSize(i,o){n(o),Qo.set(i,o),ei.delete(i)}}}function on(r,t,e,n){if(!Array.isArray(e)||!Array.isArray(n)||n.length!==e.length)throw new Error("arrays of points and scalars must have equal length");n.forEach((f,u)=>{if(!t.isValid(f))throw new Error(`wrong scalar at index ${u}`)}),e.forEach((f,u)=>{if(!(f instanceof r))throw new Error(`wrong point at index ${u}`)});let s=Ws(BigInt(e.length)),i=s>12?s-3:s>4?s-2:s?2:1,o=(1<<i)-1,a=new Array(o+1).fill(r.ZERO),c=Math.floor((t.BITS-1)/i)*i,l=r.ZERO;for(let f=c;f>=0;f-=i){a.fill(r.ZERO);for(let d=0;d<n.length;d++){let w=n[d],E=Number(w>>BigInt(f)&BigInt(o));a[E]=a[E].add(e[d])}let u=r.ZERO;for(let d=a.length-1,w=r.ZERO;d>0;d--)w=w.add(a[d]),u=u.add(w);if(l=l.add(u),f!==0)for(let d=0;d<i;d++)l=l.double()}return l}function wr(r){return Ys(r.Fp),Pt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Xs(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Dt=BigInt(0),Et=BigInt(1),an=BigInt(2),Gu=BigInt(8),Zu={zip215:!0};function Wu(r){let t=wr(r);return Pt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function ta(r){let t=Wu(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,l=an<<BigInt(a*8)-Et,f=e.create,u=ge(t.n,t.nBitLength),d=t.uvRatio||((m,p)=>{try{return{isValid:!0,value:e.sqrt(m*e.inv(p))}}catch{return{isValid:!1,value:Dt}}}),w=t.adjustScalarBytes||(m=>m),E=t.domain||((m,p,x)=>{if(Rt("phflag",x),p.length||x)throw new Error("Contexts/pre-hash are not supported");return m});function b(m,p){vt("coordinate "+m,p,Dt,l)}function h(m){if(!(m instanceof g))throw new Error("ExtendedPoint expected")}let y=Ne((m,p)=>{let{ex:x,ey:T,ez:_}=m,R=m.is0();p==null&&(p=R?Gu:e.inv(_));let V=f(x*p),P=f(T*p),H=f(_*p);if(R)return{x:Dt,y:Et};if(H!==Et)throw new Error("invZ was invalid");return{x:V,y:P}}),v=Ne(m=>{let{a:p,d:x}=t;if(m.is0())throw new Error("bad point: ZERO");let{ex:T,ey:_,ez:R,et:V}=m,P=f(T*T),H=f(_*_),q=f(R*R),z=f(q*q),it=f(P*p),ot=f(q*f(it+H)),ct=f(z+f(x*f(P*H)));if(ot!==ct)throw new Error("bad point: equation left != right (1)");let mt=f(T*_),et=f(R*V);if(mt!==et)throw new Error("bad point: equation left != right (2)");return!0});class g{constructor(p,x,T,_){this.ex=p,this.ey=x,this.ez=T,this.et=_,b("x",p),b("y",x),b("z",T),b("t",_),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(p){if(p instanceof g)throw new Error("extended point not allowed");let{x,y:T}=p||{};return b("x",x),b("y",T),new g(x,T,Et,f(x*T))}static normalizeZ(p){let x=e.invertBatch(p.map(T=>T.ez));return p.map((T,_)=>T.toAffine(x[_])).map(g.fromAffine)}static msm(p,x){return on(g,u,p,x)}_setWindowSize(p){L.setWindowSize(this,p)}assertValidity(){v(this)}equals(p){h(p);let{ex:x,ey:T,ez:_}=this,{ex:R,ey:V,ez:P}=p,H=f(x*P),q=f(R*_),z=f(T*P),it=f(V*_);return H===q&&z===it}is0(){return this.equals(g.ZERO)}negate(){return new g(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:p}=t,{ex:x,ey:T,ez:_}=this,R=f(x*x),V=f(T*T),P=f(an*f(_*_)),H=f(p*R),q=x+T,z=f(f(q*q)-R-V),it=H+V,ot=it-P,ct=H-V,mt=f(z*ot),et=f(it*ct),xt=f(z*ct),zt=f(ot*it);return new g(mt,et,zt,xt)}add(p){h(p);let{a:x,d:T}=t,{ex:_,ey:R,ez:V,et:P}=this,{ex:H,ey:q,ez:z,et:it}=p;if(x===BigInt(-1)){let lo=f((R-_)*(q+H)),uo=f((R+_)*(q-H)),Ts=f(uo-lo);if(Ts===Dt)return this.double();let fo=f(V*an*it),ho=f(P*an*z),po=ho+fo,go=uo+lo,mo=ho-fo,sl=f(po*Ts),il=f(go*mo),ol=f(po*mo),al=f(Ts*go);return new g(sl,il,al,ol)}let ot=f(_*H),ct=f(R*q),mt=f(P*T*it),et=f(V*z),xt=f((_+R)*(H+q)-ot-ct),zt=et-mt,lr=et+mt,ur=f(ct-x*ot),tl=f(xt*zt),el=f(lr*ur),rl=f(xt*ur),nl=f(zt*lr);return new g(tl,el,nl,rl)}subtract(p){return this.add(p.negate())}wNAF(p){return L.wNAFCached(this,p,g.normalizeZ)}multiply(p){let x=p;vt("scalar",x,Et,n);let{p:T,f:_}=this.wNAF(x);return g.normalizeZ([T,_])[0]}multiplyUnsafe(p){let x=p;return vt("scalar",x,Dt,n),x===Dt?U:this.equals(U)||x===Et?this:this.equals(S)?this.wNAF(x).p:L.unsafeLadder(this,x)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return L.unsafeLadder(this,n).is0()}toAffine(p){return y(this,p)}clearCofactor(){let{h:p}=t;return p===Et?this:this.multiplyUnsafe(p)}static fromHex(p,x=!1){let{d:T,a:_}=t,R=e.BYTES;p=J("pointHex",p,R),Rt("zip215",x);let V=p.slice(),P=p[R-1];V[R-1]=P&-129;let H=de(V),q=x?l:e.ORDER;vt("pointHex.y",H,Dt,q);let z=f(H*H),it=f(z-Et),ot=f(T*z-_),{isValid:ct,value:mt}=d(it,ot);if(!ct)throw new Error("Point.fromHex: invalid y coordinate");let et=(mt&Et)===Et,xt=(P&128)!==0;if(!x&&mt===Dt&&xt)throw new Error("Point.fromHex: x=0 and x_0=1");return xt!==et&&(mt=f(-mt)),g.fromAffine({x:mt,y:H})}static fromPrivateKey(p){return C(p).point}toRawBytes(){let{x:p,y:x}=this.toAffine(),T=Ie(x,e.BYTES);return T[T.length-1]|=p&Et?128:0,T}toHex(){return jt(this.toRawBytes())}}g.BASE=new g(t.Gx,t.Gy,Et,f(t.Gx*t.Gy)),g.ZERO=new g(Dt,Et,Et,Dt);let{BASE:S,ZERO:U}=g,L=sn(g,a*8);function k(m){return $(m,n)}function I(m){return k(de(m))}function C(m){let p=a;m=J("private key",m,p);let x=J("hashed private key",i(m),2*p),T=w(x.slice(0,p)),_=x.slice(p,2*p),R=I(T),V=S.multiply(R),P=V.toRawBytes();return{head:T,prefix:_,scalar:R,point:V,pointBytes:P}}function Q(m){return C(m).pointBytes}function F(m=new Uint8Array,...p){let x=Yt(...p);return I(i(E(x,J("context",m),!!s)))}function M(m,p,x={}){m=J("message",m),s&&(m=s(m));let{prefix:T,scalar:_,pointBytes:R}=C(p),V=F(x.context,T,m),P=S.multiply(V).toRawBytes(),H=F(x.context,P,R,m),q=k(V+H*_);vt("signature.s",q,Dt,n);let z=Yt(P,Ie(q,e.BYTES));return J("result",z,a*2)}let tt=Zu;function B(m,p,x,T=tt){let{context:_,zip215:R}=T,V=e.BYTES;m=J("signature",m,2*V),p=J("message",p),R!==void 0&&Rt("zip215",R),s&&(p=s(p));let P=de(m.slice(V,2*V)),H,q,z;try{H=g.fromHex(x,R),q=g.fromHex(m.slice(0,V),R),z=S.multiplyUnsafe(P)}catch{return!1}if(!R&&H.isSmallOrder())return!1;let it=F(_,q.toRawBytes(),H.toRawBytes(),p);return q.add(H.multiplyUnsafe(it)).subtract(z).clearCofactor().equals(g.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:Q,sign:M,verify:B,ExtendedPoint:g,utils:{getExtendedPublicKey:C,randomPrivateKey:()=>o(e.BYTES),precompute(m=8,p=g.BASE){return p._setWindowSize(m),p.multiply(BigInt(3)),p}}}}var ri=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ea=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Yd=BigInt(0),ju=BigInt(1),ra=BigInt(2),Xd=BigInt(3),Ju=BigInt(5),Yu=BigInt(8);function Xu(r){let t=BigInt(10),e=BigInt(20),n=BigInt(40),s=BigInt(80),i=ri,a=r*r%i*r%i,c=Z(a,ra,i)*a%i,l=Z(c,ju,i)*r%i,f=Z(l,Ju,i)*l%i,u=Z(f,t,i)*f%i,d=Z(u,e,i)*u%i,w=Z(d,n,i)*d%i,E=Z(w,s,i)*w%i,b=Z(E,s,i)*w%i,h=Z(b,t,i)*f%i;return{pow_p_5_8:Z(h,ra,i)*r%i,b2:a}}function Qu(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function tf(r,t){let e=ri,n=$(t*t*t,e),s=$(n*n*t,e),i=Xu(r*s).pow_p_5_8,o=$(r*n*i,e),a=$(t*o*o,e),c=o,l=$(o*ea,e),f=a===r,u=a===$(-r,e),d=a===$(-r*ea,e);return f&&(o=c),(u||d)&&(o=l),Jo(o,e)&&(o=$(-o,e)),{isValid:f||u,value:o}}var ef=ge(ri,void 0,!0),rf={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ef,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Yu,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:zo,randomBytes:Je,adjustScalarBytes:Qu,uvRatio:tf},na=ta(rf);var cn=32;function sa(r,t,e){return na.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}var ln=class{type="Ed25519";raw;constructor(t){this.raw=ni(t,cn)}toMultihash(){return Zt.digest(Ce(this))}toCID(){return It.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Tt(this.raw,t.raw)}verify(t,e){return sa(this.raw,e,t)}};function si(r){return r=ni(r,cn),new ln(r)}function ni(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new rt(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}function Xt(r=0){return new Uint8Array(r)}function ft(r=0){return new Uint8Array(r)}var sf=Math.pow(2,7),of=Math.pow(2,14),af=Math.pow(2,21),ii=Math.pow(2,28),oi=Math.pow(2,35),ai=Math.pow(2,42),ci=Math.pow(2,49),K=128,ht=127;function Mt(r){if(r<sf)return 1;if(r<of)return 2;if(r<af)return 3;if(r<ii)return 4;if(r<oi)return 5;if(r<ai)return 6;if(r<ci)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function li(r,t,e=0){switch(Mt(r)){case 8:t[e++]=r&255|K,r/=128;case 7:t[e++]=r&255|K,r/=128;case 6:t[e++]=r&255|K,r/=128;case 5:t[e++]=r&255|K,r/=128;case 4:t[e++]=r&255|K,r>>>=7;case 3:t[e++]=r&255|K,r>>>=7;case 2:t[e++]=r&255|K,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function cf(r,t,e=0){switch(Mt(r)){case 8:t.set(e++,r&255|K),r/=128;case 7:t.set(e++,r&255|K),r/=128;case 6:t.set(e++,r&255|K),r/=128;case 5:t.set(e++,r&255|K),r/=128;case 4:t.set(e++,r&255|K),r>>>=7;case 3:t.set(e++,r&255|K),r>>>=7;case 2:t.set(e++,r&255|K),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function ui(r,t){let e=r[t],n=0;if(n+=e&ht,e<K||(e=r[t+1],n+=(e&ht)<<7,e<K)||(e=r[t+2],n+=(e&ht)<<14,e<K)||(e=r[t+3],n+=(e&ht)<<21,e<K)||(e=r[t+4],n+=(e&ht)*ii,e<K)||(e=r[t+5],n+=(e&ht)*oi,e<K)||(e=r[t+6],n+=(e&ht)*ai,e<K)||(e=r[t+7],n+=(e&ht)*ci,e<K))return n;throw new RangeError("Could not decode varint")}function lf(r,t){let e=r.get(t),n=0;if(n+=e&ht,e<K||(e=r.get(t+1),n+=(e&ht)<<7,e<K)||(e=r.get(t+2),n+=(e&ht)<<14,e<K)||(e=r.get(t+3),n+=(e&ht)<<21,e<K)||(e=r.get(t+4),n+=(e&ht)*ii,e<K)||(e=r.get(t+5),n+=(e&ht)*oi,e<K)||(e=r.get(t+6),n+=(e&ht)*ai,e<K)||(e=r.get(t+7),n+=(e&ht)*ci,e<K))return n;throw new RangeError("Could not decode varint")}function oa(r,t,e=0){return t==null&&(t=ft(Mt(r))),t instanceof Uint8Array?li(r,t,e):cf(r,t,e)}function aa(r,t=0){return r instanceof Uint8Array?ui(r,t):lf(r,t)}var fi=new Float32Array([-0]),me=new Uint8Array(fi.buffer);function la(r,t,e){fi[0]=r,t[e]=me[0],t[e+1]=me[1],t[e+2]=me[2],t[e+3]=me[3]}function ua(r,t){return me[0]=r[t],me[1]=r[t+1],me[2]=r[t+2],me[3]=r[t+3],fi[0]}var hi=new Float64Array([-0]),dt=new Uint8Array(hi.buffer);function fa(r,t,e){hi[0]=r,t[e]=dt[0],t[e+1]=dt[1],t[e+2]=dt[2],t[e+3]=dt[3],t[e+4]=dt[4],t[e+5]=dt[5],t[e+6]=dt[6],t[e+7]=dt[7]}function ha(r,t){return dt[0]=r[t],dt[1]=r[t+1],dt[2]=r[t+2],dt[3]=r[t+3],dt[4]=r[t+4],dt[5]=r[t+5],dt[6]=r[t+6],dt[7]=r[t+7],hi[0]}var uf=BigInt(Number.MAX_SAFE_INTEGER),ff=BigInt(Number.MIN_SAFE_INTEGER),Nt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Le;if(t<uf&&t>ff)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,s=t-(n<<32n);return e&&(n=~n|0n,s=~s|0n,++s>da&&(s=0n,++n>da&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return Le;let e=t<0;e&&(t=-t);let n=t>>>0,s=(t-n)/4294967296>>>0;return e&&(s=~s>>>0,n=~n>>>0,++n>4294967295&&(n=0,++s>4294967295&&(s=0))),new r(n,s)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):Le}},Le=new Nt(0,0);Le.toBigInt=function(){return 0n};Le.zzEncode=Le.zzDecode=function(){return this};Le.length=function(){return 1};var da=4294967296n;function pa(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function ga(r,t,e){if(e-t<1)return"";let s,i=[],o=0,a;for(;t<e;)a=r[t++],a<128?i[o++]=a:a>191&&a<224?i[o++]=(a&31)<<6|r[t++]&63:a>239&&a<365?(a=((a&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[o++]=55296+(a>>10),i[o++]=56320+(a&1023)):i[o++]=(a&15)<<12|(r[t++]&63)<<6|r[t++]&63,o>8191&&((s??(s=[])).push(String.fromCharCode.apply(String,i)),o=0);return s!=null?(o>0&&s.push(String.fromCharCode.apply(String,i.slice(0,o))),s.join("")):String.fromCharCode.apply(String,i.slice(0,o))}function di(r,t,e){let n=e,s,i;for(let o=0;o<r.length;++o)s=r.charCodeAt(o),s<128?t[e++]=s:s<2048?(t[e++]=s>>6|192,t[e++]=s&63|128):(s&64512)===55296&&((i=r.charCodeAt(o+1))&64512)===56320?(s=65536+((s&1023)<<10)+(i&1023),++o,t[e++]=s>>18|240,t[e++]=s>>12&63|128,t[e++]=s>>6&63|128,t[e++]=s&63|128):(t[e++]=s>>12|224,t[e++]=s>>6&63|128,t[e++]=s&63|128);return e-n}function Vt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function un(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var pi=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Vt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Vt(this,4);return un(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Vt(this,4);return un(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Vt(this,4);let t=ua(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Vt(this,4);let t=ha(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Vt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return ga(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Vt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Vt(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new Nt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Vt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Vt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Vt(this,8);let t=un(this.buf,this.pos+=4),e=un(this.buf,this.pos+=4);return new Nt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=ui(this.buf,this.pos);return this.pos+=Mt(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function gi(r){return new pi(r instanceof Uint8Array?r:r.subarray())}function Bt(r,t,e){let n=gi(r);return t.decode(n,void 0,e)}var mi={};bt(mi,{base10:()=>hf});var hf=ae({prefix:"9",name:"base10",alphabet:"0123456789"});var bi={};bt(bi,{base16:()=>df,base16upper:()=>pf});var df=j({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),pf=j({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var yi={};bt(yi,{base2:()=>gf});var gf=j({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var wi={};bt(wi,{base256emoji:()=>xf});var ba=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}"),mf=ba.reduce((r,t,e)=>(r[e]=t,r),[]),bf=ba.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function yf(r){return r.reduce((t,e)=>(t+=mf[e],t),"")}function wf(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let s=bf[n];if(s==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(s)}return new Uint8Array(t)}var xf=Ke({prefix:"\u{1F680}",name:"base256emoji",encode:yf,decode:wf});var xi={};bt(xi,{base64:()=>vf,base64pad:()=>Ef,base64url:()=>Bf,base64urlpad:()=>Sf});var vf=j({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ef=j({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Bf=j({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Sf=j({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var vi={};bt(vi,{base8:()=>Af});var Af=j({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ei={};bt(Ei,{identity:()=>kf});var kf=Ke({prefix:"\0",name:"identity",encode:r=>Ao(r),decode:r=>So(r)});var R0=new TextEncoder,D0=new TextDecoder;var Ai={};bt(Ai,{sha256:()=>Ue,sha512:()=>Tf});function Si({name:r,code:t,encode:e}){return new Bi(r,t,e)}var Bi=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Ut(this.code,e):e.then(n=>Ut(this.code,n))}else throw Error("Unknown type, must be binary type")}};function wa(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var Ue=Si({name:"sha2-256",code:18,encode:wa("SHA-256")}),Tf=Si({name:"sha2-512",code:19,encode:wa("SHA-512")});var ki={...Ei,...yi,...vi,...mi,...bi,...Ms,...Vs,...Ds,...xi,...wi},Z0={...Ai,...Ps};function va(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var xa=va("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ii=va("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}),Cf={utf8:xa,"utf-8":xa,hex:ki.base16,latin1:Ii,ascii:Ii,binary:Ii,...ki},fn=Cf;function W(r,t="utf8"){let e=fn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function Ni(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return ft(o);s+o>t&&(n=ft(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var _e=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ti(){}var Li=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Lf=Ni();function Uf(r){return globalThis.Buffer!=null?ft(r):Lf(r)}var vr=class{len;head;tail;states;constructor(){this.len=0,this.head=new _e(Ti,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new _e(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ui((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(hn,10,Nt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=Nt.fromBigInt(t);return this._push(hn,e.length(),e)}uint64Number(t){return this._push(li,Mt(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=Nt.fromBigInt(t).zzEncode();return this._push(hn,e.length(),e)}sint64Number(t){let e=Nt.fromNumber(t).zzEncode();return this._push(hn,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Ci,1,t?1:0)}fixed32(t){return this._push(xr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Nt.fromBigInt(t);return this._push(xr,4,e.lo)._push(xr,4,e.hi)}fixed64Number(t){let e=Nt.fromNumber(t);return this._push(xr,4,e.lo)._push(xr,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(la,4,t)}double(t){return this._push(fa,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Ci,1,0):this.uint32(e)._push(Rf,e,t)}string(t){let e=pa(t);return e!==0?this.uint32(e)._push(di,e,t):this._push(Ci,1,0)}fork(){return this.states=new Li(this),this.head=this.tail=new _e(Ti,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new _e(Ti,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Uf(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Ci(r,t,e){t[e]=r&255}function _f(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Ui=class extends _e{next;constructor(t,e){super(_f,t,e),this.next=void 0}};function hn(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function xr(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Rf(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(vr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Df,t,r),this},vr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Mf,t,r),this});function Df(r,t,e){t.set(r,e)}function Mf(r,t,e){r.length<40?di(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(W(r),e)}function _i(){return new vr}function St(r,t){let e=_i();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Qe;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Qe||(Qe={}));function dn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ri(r){function t(s){if(r[s.toString()]==null)throw new Error("Invalid enum value");return r[s]}let e=function(i,o){let a=t(i);o.int32(a)},n=function(i){let o=i.int32();return t(o)};return dn("enum",Qe.VARINT,e,n)}function At(r,t){return dn("message",Qe.LENGTH_DELIMITED,r,t)}var Ct=class extends Error{code="ERR_MAX_LENGTH";name="MaxLengthError"};var st;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(st||(st={}));var Di;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(Di||(Di={}));(function(r){r.codec=()=>Ri(Di)})(st||(st={}));var Ft;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),st.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=st.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(Ft||(Ft={}));var Mi;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),st.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.Type=st.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(Mi||(Mi={}));var Lr={};bt(Lr,{MAX_RSA_KEY_SIZE:()=>is,generateRSAKeyPair:()=>yc,jwkToJWKKeyPair:()=>wc,jwkToPkcs1:()=>Xf,jwkToPkix:()=>zi,jwkToRSAPrivateKey:()=>bc,pkcs1ToJwk:()=>pc,pkcs1ToRSAPrivateKey:()=>mc,pkixToJwk:()=>gc,pkixToRSAPublicKey:()=>Gi});var Vf=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),be=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ye=new Uint32Array(64),Vi=class extends Ye{constructor(){super(64,32,8,!1),this.A=be[0]|0,this.B=be[1]|0,this.C=be[2]|0,this.D=be[3]|0,this.E=be[4]|0,this.F=be[5]|0,this.G=be[6]|0,this.H=be[7]|0}get(){let{A:t,B:e,C:n,D:s,E:i,F:o,G:a,H:c}=this;return[t,e,n,s,i,o,a,c]}set(t,e,n,s,i,o,a,c){this.A=t|0,this.B=e|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=c|0}process(t,e){for(let u=0;u<16;u++,e+=4)ye[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let d=ye[u-15],w=ye[u-2],E=_t(d,7)^_t(d,18)^d>>>3,b=_t(w,17)^_t(w,19)^w>>>10;ye[u]=b+ye[u-7]+E+ye[u-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:c,G:l,H:f}=this;for(let u=0;u<64;u++){let d=_t(a,6)^_t(a,11)^_t(a,25),w=f+d+Ko(a,c,l)+Vf[u]+ye[u]|0,b=(_t(n,2)^_t(n,13)^_t(n,22))+qo(n,s,i)|0;f=l,l=c,c=a,a=o+w|0,o=i,i=s,s=n,n=w+b|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,c,l,f)}roundClean(){ye.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var tr=Qr(()=>new Vi);var O=wo(Ba());function Re(r,t){let e=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)e+=r[r.length-1-n]*Math.pow(2,t*n);return e}function we(r,t,e=-1){let n=e,s=r,i=0,o=Math.pow(2,t);for(let a=1;a<8;a++){if(r<o){let c;if(n<0)c=new ArrayBuffer(a),i=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),i=n}let l=new Uint8Array(c);for(let f=a-1;f>=0;f--){let u=Math.pow(2,f*t);l[i-f-1]=Math.floor(s/u),s-=l[i-f-1]*u}return c}o*=Math.pow(2,t)}return new ArrayBuffer(0)}function mn(...r){let t=0,e=0;for(let i of r)t+=i.length;let n=new ArrayBuffer(t),s=new Uint8Array(n);for(let i of r)s.set(i,e),e+=i.length;return s}function Oi(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let t=new ArrayBuffer(this.valueHex.byteLength),e=new Uint8Array(t);for(let a=0;a<this.valueHex.byteLength;a++)e[a]=0;e[0]=r[0]&128;let n=Re(e,8),s=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(s);for(let a=0;a<this.valueHex.byteLength;a++)i[a]=r[a];return i[0]&=127,Re(i,8)-n}function Sa(r){let t=r<0?r*-1:r,e=128;for(let n=1;n<8;n++){if(t<=e){if(r<0){let o=e-t,a=we(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=we(t,8,n),i=new Uint8Array(s);if(i[0]&128){let o=s.slice(0),a=new Uint8Array(o);s=new ArrayBuffer(s.byteLength+1),i=new Uint8Array(s);for(let c=0;c<o.byteLength;c++)i[c+1]=a[c];i[0]=0}return s}e*=Math.pow(2,8)}return new ArrayBuffer(0)}function Aa(r,t){if(r.byteLength!==t.byteLength)return!1;let e=new Uint8Array(r),n=new Uint8Array(t);for(let s=0;s<e.length;s++)if(e[s]!==n[s])return!1;return!0}function kt(r,t){let e=r.toString(10);if(t<e.length)return"";let n=t-e.length,s=new Array(n);for(let o=0;o<n;o++)s[o]="0";return s.join("").concat(e)}var Np=Math.log(2);function bn(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Pi(r){let t=0,e=0;for(let s=0;s<r.length;s++){let i=r[s];t+=i.byteLength}let n=new Uint8Array(t);for(let s=0;s<r.length;s++){let i=r[s];n.set(new Uint8Array(i),e),e+=i.byteLength}return n.buffer}function ne(r,t,e,n){return t instanceof Uint8Array?t.byteLength?e<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):t.byteLength-e-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Br=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Pi(this.items)}},Er=[new Uint8Array([1])],ka="0123456789";var ir="",Ht=new ArrayBuffer(0),Fi=new Uint8Array(0),Sr="EndOfContent",Na="OCTET STRING",Ta="BIT STRING";function se(r){var t;return t=class extends r{constructor(...n){var s;super(...n);let i=n[0]||{};this.isHexOnly=(s=i.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=i.valueHex?O.BufferSourceConverter.toUint8Array(i.valueHex):Fi}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,s,i){let o=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!ne(this,o,s,i))return-1;let a=s+i;return this.valueHexView=o.subarray(s,a),this.valueHexView.length?(this.blockLength=i,a):(this.warnings.push("Zero buffer length"),s)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ht)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:O.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var te=class{constructor({blockLength:t=0,error:e=ir,warnings:n=[],valueBeforeDecode:s=Fi}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=O.BufferSourceConverter.toUint8Array(s)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:O.Convert.ToHex(this.valueBeforeDecodeView)}}};te.NAME="baseBlock";var pt=class extends te{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};pt.NAME="valueBlock";var yn=class extends se(te){constructor({idBlock:t={}}={}){var e,n,s,i;super(),t?(this.isHexOnly=(e=t.isHexOnly)!==null&&e!==void 0?e:!1,this.valueHexView=t.valueHex?O.BufferSourceConverter.toUint8Array(t.valueHex):Fi,this.tagClass=(n=t.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(s=t.tagNumber)!==null&&s!==void 0?s:-1,this.isConstructed=(i=t.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ht}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){let s=new Uint8Array(1);if(!t){let i=this.tagNumber;i&=31,e|=i,s[0]=e}return s.buffer}if(!this.isHexOnly){let s=we(this.tagNumber,7),i=new Uint8Array(s),o=s.byteLength,a=new Uint8Array(o+1);if(a[0]=e|31,!t){for(let c=0;c<o-1;c++)a[c+1]=i[c]|128;a[o]=i[o-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=e|31,!t){let s=this.valueHexView;for(let i=0;i<s.length-1;i++)n[i+1]=s[i]|128;n[this.valueHexView.byteLength]=s[s.length-1]}return n.buffer}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let a=i[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,l=this.valueHexView=new Uint8Array(255),f=255;for(;i[c]&128;){if(l[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let d=new Uint8Array(f);for(let w=0;w<l.length;w++)d[w]=l[w];l=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,l[c-1]=i[c]&127;let u=new Uint8Array(c);for(let d=0;d<c;d++)u[d]=l[d];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Re(l,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};yn.NAME="identificationBlock";var wn=class extends te{constructor({lenBlock:t={}}={}){var e,n,s;super(),this.isIndefiniteForm=(e=t.isIndefiniteForm)!==null&&e!==void 0?e:!1,this.longFormUsed=(n=t.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(s=t.length)!==null&&s!==void 0?s:0}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,e+this.blockLength;let o=i[0]&127;if(o>8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let a=e+1,c=s.subarray(a,a+o);return c[o-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Re(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){let s=we(this.length,8);if(s.byteLength>127)return this.error="Too big length",Ht;if(e=new ArrayBuffer(s.byteLength+1),t)return e;let i=new Uint8Array(s);n=new Uint8Array(e),n[0]=s.byteLength|128;for(let o=0;o<s.byteLength;o++)n[o+1]=i[o];return e}return e=new ArrayBuffer(1),t===!1&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};wn.NAME="lengthBlock";var A={},lt=class extends te{constructor({name:t=ir,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new yn(s),this.lenBlock=new wn(s),this.valueBlock=i?new i(s):new pt(s)}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}toBER(t,e){let n=e||new Br;e||Ca(this);let s=this.idBlock.toBER(t);if(n.write(s),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{let i=this.valueBlock.toBER(t);this.lenBlock.length=i.byteLength;let o=this.lenBlock.toBER(t);n.write(o),n.write(i)}return e?Ht:n.final()}toJSON(){let t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return t==="ascii"?this.onAsciiEncoding():O.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${O.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;let e=this.toBER(),n=t.toBER();return Aa(e,n)}};lt.NAME="BaseBlock";function Ca(r){if(r instanceof A.Constructed)for(let t of r.valueBlock.value)Ca(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var xn=class extends lt{constructor({value:t=ir,...e}={},n){super(e,n),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,n){let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};xn.NAME="BaseStringBlock";var vn=class extends se(pt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};vn.NAME="PrimitiveValueBlock";var La,En=class extends lt{constructor(t={}){super(t,vn),this.idBlock.isConstructed=!1}};La=En;A.Primitive=La;En.NAME="PRIMITIVE";function Gf(r,t){if(r instanceof t)return r;let e=new t;return e.idBlock=r.idBlock,e.lenBlock=r.lenBlock,e.warnings=r.warnings,e.valueBeforeDecodeView=r.valueBeforeDecodeView,e}function rs(r,t=0,e=r.length){let n=t,s=new lt({},pt),i=new te;if(!ne(i,r,t,e))return s.error=i.error,{offset:-1,result:s};if(!r.subarray(t,t+e).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(r,t,e);if(s.idBlock.warnings.length&&s.warnings.concat(s.idBlock.warnings),a===-1)return s.error=s.idBlock.error,{offset:-1,result:s};if(t=a,e-=s.idBlock.blockLength,a=s.lenBlock.fromBER(r,t,e),s.lenBlock.warnings.length&&s.warnings.concat(s.lenBlock.warnings),a===-1)return s.error=s.lenBlock.error,{offset:-1,result:s};if(t=a,e-=s.lenBlock.blockLength,!s.idBlock.isConstructed&&s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=lt;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&s.idBlock.isHexOnly===!1)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=A.EndOfContent;break;case 1:c=A.Boolean;break;case 2:c=A.Integer;break;case 3:c=A.BitString;break;case 4:c=A.OctetString;break;case 5:c=A.Null;break;case 6:c=A.ObjectIdentifier;break;case 10:c=A.Enumerated;break;case 12:c=A.Utf8String;break;case 13:c=A.RelativeObjectIdentifier;break;case 14:c=A.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=A.Sequence;break;case 17:c=A.Set;break;case 18:c=A.NumericString;break;case 19:c=A.PrintableString;break;case 20:c=A.TeletexString;break;case 21:c=A.VideotexString;break;case 22:c=A.IA5String;break;case 23:c=A.UTCTime;break;case 24:c=A.GeneralizedTime;break;case 25:c=A.GraphicString;break;case 26:c=A.VisibleString;break;case 27:c=A.GeneralString;break;case 28:c=A.UniversalString;break;case 29:c=A.CharacterString;break;case 30:c=A.BmpString;break;case 31:c=A.DATE;break;case 32:c=A.TimeOfDay;break;case 33:c=A.DateTime;break;case 34:c=A.Duration;break;default:{let l=s.idBlock.isConstructed?new A.Constructed:new A.Primitive;l.idBlock=s.idBlock,l.lenBlock=s.lenBlock,l.warnings=s.warnings,s=l}}break;case 2:case 3:case 4:default:c=s.idBlock.isConstructed?A.Constructed:A.Primitive}return s=Gf(s,c),a=s.fromBER(r,t,s.lenBlock.isIndefiniteForm?e:s.lenBlock.length),s.valueBeforeDecodeView=r.subarray(n,n+s.blockLength),{offset:a,result:s}}function Ki(r){if(!r.byteLength){let t=new lt({},pt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return rs(O.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Zf(r,t){return r?1:t}var Kt=class extends pt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;if(this.valueBeforeDecodeView=s.subarray(e,e+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),e;let i=e;for(;Zf(this.isIndefiniteForm,n)>0;){let o=rs(s,i,n);if(o.offset===-1)return this.error=o.result.error,this.warnings.concat(o.result.warnings),-1;if(i=o.offset,this.blockLength+=o.result.blockLength,n-=o.result.blockLength,this.value.push(o.result),this.isIndefiniteForm&&o.result.constructor.NAME===Sr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Sr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new Br;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Ht:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};Kt.NAME="ConstructedValueBlock";var Ua,xe=class extends lt{constructor(t={}){super(t,Kt),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let s=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return s===-1?(this.error=this.valueBlock.error,s):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),s)}onAsciiEncoding(){let t=[];for(let n of this.valueBlock.value)t.push(n.toString("ascii").split(`
|
3
3
|
`).map(s=>` ${s}`).join(`
|
4
4
|
`));let e=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :
|
5
5
|
${t.join(`
|
6
|
-
`)}`:`${e} :`}};Ua=xe;A.Constructed=Ua;xe.NAME="CONSTRUCTED";var Bn=class extends gt{fromBER(t,e,n){return e}toBER(t){return Ot}};Bn.override="EndOfContentValueBlock";var _a,Sn=class extends ut{constructor(t={}){super(t,Bn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};_a=Sn;A.EndOfContent=_a;Sn.NAME=Sr;var Ra,rr=class extends ut{constructor(t={}){super(t,gt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Ra=rr;A.Null=Ra;rr.NAME="NULL";var An=class extends se(gt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=O.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);return ne(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Oi.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};An.NAME="BooleanValueBlock";var Da,kn=class extends ut{constructor(t={}){super(t,An),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Da=kn;A.Boolean=Da;kn.NAME="BOOLEAN";var In=class extends se(Kt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Kt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===Sr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==Na)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Kt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};In.NAME="OctetStringValueBlock";var Ma,Nn=class r extends ut{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},In),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=rs(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?xe.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${O.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return O.BufferSourceConverter.concat(t)}};Ma=Nn;A.OctetString=Ma;Nn.NAME=Na;var Tn=class extends se(Kt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Kt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Sr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Ta)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let l=a.valueBlock;if(this.unusedBits>0&&l.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=l.unusedBits}return s}let i=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=rs(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Kt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ot;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Tn.NAME="BitStringValueBlock";var Va,nr=class extends ut{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Tn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return xe.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Va=nr;A.BitString=Va;nr.NAME=Ta;var Ha;function Wf(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l=0,f=c<o?o:c,u=0;for(let d=f;d>=0;d--,u++){switch(!0){case u<a.length:l=i[o-u]+a[c-u]+e[0];break;default:l=i[o-u]+e[0]}switch(e[0]=l/10,!0){case u>=i.length:i=mn(new Uint8Array([l%10]),i);break;default:i[o-u]=l%10}}return e[0]>0&&(i=mn(e,i)),i}function Ia(r){if(r>=Er.length)for(let t=Er.length;t<=r;t++){let e=new Uint8Array([0]),n=Er[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=mn(e,n)),Er.push(n)}return Er[r]}function jf(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l,f=0;for(let u=c;u>=0;u--,f++)switch(l=i[o-f]-a[c-f]-e,!0){case l<0:e=1,i[o-f]=l+10;break;default:e=0,i[o-f]=l}if(e>0)for(let u=o-c+1;u>=0;u--,f++)if(l=i[o-f]-e,l<0)e=1,i[o-f]=l+10;else{e=0,i[o-f]=l;break}return i.slice()}var Ar=class extends se(gt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Oi.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Sa(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let l=0;l<8;l++){if((s&1)===1)switch(n){case t:e=jf(Ia(n),e),o="-";break;default:e=Wf(e,Ia(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=ka.charAt(e[c]));return a===!1&&(o+=ka.charAt(0)),o}};Ha=Ar;Ar.NAME="IntegerValueBlock";Object.defineProperty(Ha.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Oa,ft=class r extends ut{constructor(t={}){super(t,Ar),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return bn(),BigInt(this.valueBlock.toString())}static fromBigInt(t){bn();let e=BigInt(t),n=new Br,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(O.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${O.Convert.ToHex(a)}`)+e,f=O.BufferSourceConverter.toUint8Array(O.Convert.FromHex(l.toString(16)));f[0]|=128,n.write(f)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Oa=ft;A.Integer=Oa;ft.NAME="INTEGER";var Pa,Cn=class extends ft{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Pa=Cn;A.Enumerated=Pa;Cn.NAME="ENUMERATED";var kr=class extends se(gt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Re(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){bn();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=we(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ot;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=O.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};kr.NAME="sidBlock";var Ln=class extends gt{constructor({value:t=ir,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new kr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Ot;e.push(s)}return Pi(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new kr;if(s>Number.MAX_SAFE_INTEGER){bn();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Ln.NAME="ObjectIdentifierValueBlock";var Fa,sr=class extends ut{constructor(t={}){super(t,Ln),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Fa=sr;A.ObjectIdentifier=Fa;sr.NAME="OBJECT IDENTIFIER";var Ir=class extends se(te){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Re(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=we(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ot;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=O.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Ir.NAME="relativeSidBlock";var Un=class extends gt{constructor({value:t=ir,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Ir;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,Ot;n.push(i)}return Pi(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new Ir;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Un.NAME="RelativeObjectIdentifierValueBlock";var Ka,_n=class extends ut{constructor(t={}){super(t,Un),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Ka=_n;A.RelativeObjectIdentifier=Ka;_n.NAME="RelativeObjectIdentifier";var qa,ee=class extends xe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};qa=ee;A.Sequence=qa;ee.NAME="SEQUENCE";var $a,Rn=class extends xe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};$a=Rn;A.Set=$a;Rn.NAME="SET";var Dn=class extends se(gt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=ir}toJSON(){return{...super.toJSON(),value:this.value}}};Dn.NAME="StringValueBlock";var Mn=class extends Dn{};Mn.NAME="SimpleStringValueBlock";var wt=class extends xn{constructor({...t}={}){super(t,Mn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,O.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};wt.NAME="SIMPLE STRING";var Vn=class extends wt{fromBuffer(t){this.valueBlock.valueHexView=O.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=O.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=O.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(O.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Vn.NAME="Utf8StringValueBlock";var za,re=class extends Vn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};za=re;A.Utf8String=za;re.NAME="UTF8String";var Hn=class extends wt{fromBuffer(t){this.valueBlock.value=O.Convert.ToUtf16String(t),this.valueBlock.valueHexView=O.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(O.Convert.FromUtf16String(t))}};Hn.NAME="BmpStringValueBlock";var Ga,On=class extends Hn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Ga=On;A.BmpString=Ga;On.NAME="BMPString";var Pn=class extends wt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=we(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};Pn.NAME="UniversalStringValueBlock";var Za,Fn=class extends Pn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Za=Fn;A.UniversalString=Za;Fn.NAME="UniversalString";var Wa,Kn=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Wa=Kn;A.NumericString=Wa;Kn.NAME="NumericString";var ja,qn=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};ja=qn;A.PrintableString=ja;qn.NAME="PrintableString";var Ja,$n=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Ja=$n;A.TeletexString=Ja;$n.NAME="TeletexString";var Ya,zn=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Ya=zn;A.VideotexString=Ya;zn.NAME="VideotexString";var Xa,Gn=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Xa=Gn;A.IA5String=Xa;Gn.NAME="IA5String";var Qa,Zn=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Qa=Zn;A.GraphicString=Qa;Zn.NAME="GraphicString";var tc,Nr=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};tc=Nr;A.VisibleString=tc;Nr.NAME="VisibleString";var ec,Wn=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};ec=Wn;A.GeneralString=ec;Wn.NAME="GeneralString";var rc,jn=class extends wt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};rc=jn;A.CharacterString=rc;jn.NAME="CharacterString";var nc,Tr=class extends Nr{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,O.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=It(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=It(this.month,2),e[2]=It(this.day,2),e[3]=It(this.hour,2),e[4]=It(this.minute,2),e[5]=It(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};nc=Tr;A.UTCTime=nc;Tr.NAME="UTCTime";var sc,Jn=class extends Tr{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,d=n.indexOf("+"),w="";if(d===-1&&(d=n.indexOf("-"),u=-1),d!==-1){if(w=n.substring(d+1),n=n.substring(0,d),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let E=parseInt(w.substring(0,2),10);if(isNaN(E.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*E,w.length===4){if(E=parseInt(w.substring(2,4),10),isNaN(E.valueOf()))throw new Error("Wrong input string for conversion");c=u*E}}}let l=n.indexOf(".");if(l===-1&&(l=n.indexOf(",")),l!==-1){let u=new Number(`0${n.substring(l)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),s=n.substring(0,l)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,l!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let f=o.exec(s);if(f===null)throw new Error("Wrong input string for conversion");for(let u=1;u<f.length;u++)switch(u){case 1:this.year=parseInt(f[u],10);break;case 2:this.month=parseInt(f[u],10);break;case 3:this.day=parseInt(f[u],10);break;case 4:this.hour=parseInt(f[u],10)+a;break;case 5:this.minute=parseInt(f[u],10)+c;break;case 6:this.second=parseInt(f[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(It(this.year,4)),e.push(It(this.month,2)),e.push(It(this.day,2)),e.push(It(this.hour,2)),e.push(It(this.minute,2)),e.push(It(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(It(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};sc=Jn;A.GeneralizedTime=sc;Jn.NAME="GeneralizedTime";var ic,Yn=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};ic=Yn;A.DATE=ic;Yn.NAME="DATE";var oc,Xn=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};oc=Xn;A.TimeOfDay=oc;Xn.NAME="TimeOfDay";var ac,Qn=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};ac=Qn;A.DateTime=ac;Qn.NAME="DateTime";var cc,ts=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};cc=ts;A.Duration=cc;ts.NAME="Duration";var lc,es=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};lc=es;A.TIME=lc;es.NAME="TIME";function Q(r,t="utf8"){let e=fn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}function ns(r){if(isNaN(r)||r<=0)throw new nt("random bytes length must be a Number bigger than 0");return Je(r)}var Cr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},ss=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var uc={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new ss("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var ve=uc;async function fc(r){let t=await ve.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Yf(t);return{privateKey:e[0],publicKey:e[1]}}async function hc(r,t){let e=await ve.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ve.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function dc(r,t,e){let n=await ve.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ve.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Yf(r){if(r.privateKey==null||r.publicKey==null)throw new nt("Private and public key are required");return Promise.all([ve.get().subtle.exportKey("jwk",r.privateKey),ve.get().subtle.exportKey("jwk",r.publicKey)])}function qi(r){if(r.kty!=="RSA")throw new nt("invalid key type");if(r.n==null)throw new nt("invalid key modulus");return W(r.n,"base64url").length*8}var or=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Lr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return Nt.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Ct(this.raw,t.raw)}verify(t,e){return dc(this._key,e,t)}},Ur=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Lr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Ct(this.raw,t.raw)}sign(t){return hc(this._key,t)}};var is=8192,$i=18;function pc(r){let{result:t}=Ki(r),e=t.valueBlock.value;return{n:Q(qt(e[1].toBigInt()),"base64url"),e:Q(qt(e[2].toBigInt()),"base64url"),d:Q(qt(e[3].toBigInt()),"base64url"),p:Q(qt(e[4].toBigInt()),"base64url"),q:Q(qt(e[5].toBigInt()),"base64url"),dp:Q(qt(e[6].toBigInt()),"base64url"),dq:Q(qt(e[7].toBigInt()),"base64url"),qi:Q(qt(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function Xf(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new nt("JWK was missing components");let e=new ee({value:[new ft({value:0}),ft.fromBigInt($t(W(r.n,"base64url"))),ft.fromBigInt($t(W(r.e,"base64url"))),ft.fromBigInt($t(W(r.d,"base64url"))),ft.fromBigInt($t(W(r.p,"base64url"))),ft.fromBigInt($t(W(r.q,"base64url"))),ft.fromBigInt($t(W(r.dp,"base64url"))),ft.fromBigInt($t(W(r.dq,"base64url"))),ft.fromBigInt($t(W(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function gc(r){let{result:t}=Ki(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:Q(qt(e[0].toBigInt()),"base64url"),e:Q(qt(e[1].toBigInt()),"base64url")}}function zi(r){if(r.n==null||r.e==null)throw new nt("JWK was missing components");let e=new ee({value:[new ee({value:[new sr({value:"1.2.840.113549.1.1.1"}),new rr]}),new nr({valueHex:new ee({value:[ft.fromBigInt($t(W(r.n,"base64url"))),ft.fromBigInt($t(W(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function qt(r){let t=r.toString(16);t.length%2>0&&(t=`0${t}`);let e=t.length/2,n=new Uint8Array(e),s=0,i=0;for(;s<e;)n[s]=parseInt(t.slice(i,i+2),16),s+=1,i+=2;return n}function $t(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function mc(r){let t=pc(r);return bc(t)}function Gi(r){let t=gc(r);if(qi(t)>is)throw new Pe("Key size is too large");let e=tr(Ft.encode({Type:it.RSA,Data:r})),n=_t($i,e);return new or(t,n)}function bc(r){if(qi(r)>is)throw new nt("Key size is too large");let t=wc(r),e=tr(Ft.encode({Type:it.RSA,Data:zi(t.publicKey)})),n=_t($i,e);return new Ur(t.privateKey,new or(t.publicKey,n))}async function yc(r){if(r>is)throw new nt("Key size is too large");let t=await fc(r),e=tr(Ft.encode({Type:it.RSA,Data:zi(t.publicKey)})),n=_t($i,e);return new Ur(t.privateKey,new or(t.publicKey,n))}function wc(r){if(r==null)throw new nt("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var os=class extends je{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,Oo(t);let n=mr(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return We(this),this.iHash.update(t),this}digestInto(t){We(this),Ze(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Zi=(r,t,e)=>new os(r,t).update(e).digest();Zi.create=(r,t)=>new os(r,t);function xc(r){r.lowS!==void 0&&Dt("lowS",r.lowS),r.prehash!==void 0&&Dt("prehash",r.prehash)}function Qf(r){let t=wr(r);Pt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:th,hexToBytes:eh}=rn,ie={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=ie;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=Ae(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Ae(s.length/2|128):"";return`${Ae(r)}${i}${s}${t}`},decode(r,t){let{Err:e}=ie,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+c);if(l.length!==c)throw new e("tlv.decode: length bytes not complete");if(l[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let f of l)o=o<<8|f;if(n+=c,o<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+o);if(a.length!==o)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+o)}}},_int:{encode(r){let{Err:t}=ie;if(r<oe)throw new t("integer: negative integers are not allowed");let e=Ae(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected assertion");return e},decode(r){let{Err:t}=ie;if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return th(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ie,s=typeof r=="string"?eh(r):r;Xe(s);let{v:i,l:o}=n.decode(48,s);if(o.length)throw new t("Invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:l,l:f}=n.decode(2,c);if(f.length)throw new t("Invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(l)}},hexFromSig(r){let{_tlv:t,_int:e}=ie,n=`${t.encode(2,e.encode(r.r))}${t.encode(2,e.encode(r.s))}`;return t.encode(48,n)}},oe=BigInt(0),ct=BigInt(1),lg=BigInt(2),vc=BigInt(3),ug=BigInt(4);function rh(r){let t=Qf(r),{Fp:e}=t,n=ge(t.n,t.nBitLength),s=t.toBytes||((b,h,y)=>{let v=h.toAffine();return Yt(Uint8Array.from([4]),e.toBytes(v.x),e.toBytes(v.y))}),i=t.fromBytes||(b=>{let h=b.subarray(1),y=e.fromBytes(h.subarray(0,e.BYTES)),v=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:y,y:v}});function o(b){let{a:h,b:y}=t,v=e.sqr(b),g=e.mul(v,b);return e.add(e.add(g,e.mul(b,h)),y)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(b){return br(b,ct,t.n)}function c(b){let{allowedPrivateKeyLengths:h,nByteLength:y,wrapPrivateKey:v,n:g}=t;if(h&&typeof b!="bigint"){if(he(b)&&(b=jt(b)),typeof b!="string"||!h.includes(b.length))throw new Error("Invalid key");b=b.padStart(y*2,"0")}let S;try{S=typeof b=="bigint"?b:Jt(J("private key",b,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof b}`)}return v&&(S=$(S,g)),Et("private key",S,ct,g),S}function l(b){if(!(b instanceof d))throw new Error("ProjectivePoint expected")}let f=Ne((b,h)=>{let{px:y,py:v,pz:g}=b;if(e.eql(g,e.ONE))return{x:y,y:v};let S=b.is0();h==null&&(h=S?e.ONE:e.inv(g));let U=e.mul(y,h),L=e.mul(v,h),k=e.mul(g,h);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(k,e.ONE))throw new Error("invZ was invalid");return{x:U,y:L}}),u=Ne(b=>{if(b.is0()){if(t.allowInfinityPoint&&!e.is0(b.py))return;throw new Error("bad point: ZERO")}let{x:h,y}=b.toAffine();if(!e.isValid(h)||!e.isValid(y))throw new Error("bad point: x or y not FE");let v=e.sqr(y),g=o(h);if(!e.eql(v,g))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,y,v){if(this.px=h,this.py=y,this.pz=v,h==null||!e.isValid(h))throw new Error("x required");if(y==null||!e.isValid(y))throw new Error("y required");if(v==null||!e.isValid(v))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:y,y:v}=h||{};if(!h||!e.isValid(y)||!e.isValid(v))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let g=S=>e.eql(S,e.ZERO);return g(y)&&g(v)?d.ZERO:new d(y,v,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let y=e.invertBatch(h.map(v=>v.pz));return h.map((v,g)=>v.toAffine(y[g])).map(d.fromAffine)}static fromHex(h){let y=d.fromAffine(i(J("pointHex",h)));return y.assertValidity(),y}static fromPrivateKey(h){return d.BASE.multiply(c(h))}static msm(h,y){return on(d,n,h,y)}_setWindowSize(h){E.setWindowSize(this,h)}assertValidity(){u(this)}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){l(h);let{px:y,py:v,pz:g}=this,{px:S,py:U,pz:L}=h,k=e.eql(e.mul(y,L),e.mul(S,g)),I=e.eql(e.mul(v,L),e.mul(U,g));return k&&I}negate(){return new d(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:y}=t,v=e.mul(y,vc),{px:g,py:S,pz:U}=this,L=e.ZERO,k=e.ZERO,I=e.ZERO,C=e.mul(g,g),tt=e.mul(S,S),F=e.mul(U,U),M=e.mul(g,S);return M=e.add(M,M),I=e.mul(g,U),I=e.add(I,I),L=e.mul(h,I),k=e.mul(v,F),k=e.add(L,k),L=e.sub(tt,k),k=e.add(tt,k),k=e.mul(L,k),L=e.mul(M,L),I=e.mul(v,I),F=e.mul(h,F),M=e.sub(C,F),M=e.mul(h,M),M=e.add(M,I),I=e.add(C,C),C=e.add(I,C),C=e.add(C,F),C=e.mul(C,M),k=e.add(k,C),F=e.mul(S,U),F=e.add(F,F),C=e.mul(F,M),L=e.sub(L,C),I=e.mul(F,tt),I=e.add(I,I),I=e.add(I,I),new d(L,k,I)}add(h){l(h);let{px:y,py:v,pz:g}=this,{px:S,py:U,pz:L}=h,k=e.ZERO,I=e.ZERO,C=e.ZERO,tt=t.a,F=e.mul(t.b,vc),M=e.mul(y,S),et=e.mul(v,U),B=e.mul(g,L),N=e.add(y,v),m=e.add(S,U);N=e.mul(N,m),m=e.add(M,et),N=e.sub(N,m),m=e.add(y,g);let p=e.add(S,L);return m=e.mul(m,p),p=e.add(M,B),m=e.sub(m,p),p=e.add(v,g),k=e.add(U,L),p=e.mul(p,k),k=e.add(et,B),p=e.sub(p,k),C=e.mul(tt,m),k=e.mul(F,B),C=e.add(k,C),k=e.sub(et,C),C=e.add(et,C),I=e.mul(k,C),et=e.add(M,M),et=e.add(et,M),B=e.mul(tt,B),m=e.mul(F,m),et=e.add(et,B),B=e.sub(M,B),B=e.mul(tt,B),m=e.add(m,B),M=e.mul(et,m),I=e.add(I,M),M=e.mul(p,m),k=e.mul(N,k),k=e.sub(k,M),M=e.mul(N,et),C=e.mul(p,C),C=e.add(C,M),new d(k,I,C)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return E.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){Et("scalar",h,oe,t.n);let y=d.ZERO;if(h===oe)return y;if(h===ct)return this;let{endo:v}=t;if(!v)return E.unsafeLadder(this,h);let{k1neg:g,k1:S,k2neg:U,k2:L}=v.splitScalar(h),k=y,I=y,C=this;for(;S>oe||L>oe;)S&ct&&(k=k.add(C)),L&ct&&(I=I.add(C)),C=C.double(),S>>=ct,L>>=ct;return g&&(k=k.negate()),U&&(I=I.negate()),I=new d(e.mul(I.px,v.beta),I.py,I.pz),k.add(I)}multiply(h){let{endo:y,n:v}=t;Et("scalar",h,ct,v);let g,S;if(y){let{k1neg:U,k1:L,k2neg:k,k2:I}=y.splitScalar(h),{p:C,f:tt}=this.wNAF(L),{p:F,f:M}=this.wNAF(I);C=E.constTimeNegate(U,C),F=E.constTimeNegate(k,F),F=new d(e.mul(F.px,y.beta),F.py,F.pz),g=C.add(F),S=tt.add(M)}else{let{p:U,f:L}=this.wNAF(h);g=U,S=L}return d.normalizeZ([g,S])[0]}multiplyAndAddUnsafe(h,y,v){let g=d.BASE,S=(L,k)=>k===oe||k===ct||!L.equals(g)?L.multiplyUnsafe(k):L.multiply(k),U=S(this,y).add(S(h,v));return U.is0()?void 0:U}toAffine(h){return f(this,h)}isTorsionFree(){let{h,isTorsionFree:y}=t;if(h===ct)return!0;if(y)return y(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:y}=t;return h===ct?this:y?y(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return Dt("isCompressed",h),this.assertValidity(),s(d,this,h)}toHex(h=!0){return Dt("isCompressed",h),jt(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,e.ONE),d.ZERO=new d(e.ZERO,e.ONE,e.ZERO);let w=t.nBitLength,E=sn(d,t.endo?Math.ceil(w/2):w);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function nh(r){let t=wr(r);return Pt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ec(r){let t=nh(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(B){return $(B,n)}function a(B){return nn(B,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:u}=rh({...t,toBytes(B,N,m){let p=N.toAffine(),x=e.toBytes(p.x),T=Yt;return Dt("isCompressed",m),m?T(Uint8Array.from([N.hasEvenY()?2:3]),x):T(Uint8Array.from([4]),x,e.toBytes(p.y))},fromBytes(B){let N=B.length,m=B[0],p=B.subarray(1);if(N===s&&(m===2||m===3)){let x=Jt(p);if(!br(x,ct,e.ORDER))throw new Error("Point is not on curve");let T=f(x),_;try{_=e.sqrt(T)}catch(P){let H=P instanceof Error?": "+P.message:"";throw new Error("Point is not on curve"+H)}let R=(_&ct)===ct;return(m&1)===1!==R&&(_=e.neg(_)),{x,y:_}}else if(N===i&&m===4){let x=e.fromBytes(p.subarray(0,e.BYTES)),T=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x,y:T}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),d=B=>jt(pe(B,t.nByteLength));function w(B){let N=n>>ct;return B>N}function E(B){return w(B)?o(-B):B}let b=(B,N,m)=>Jt(B.slice(N,m));class h{constructor(N,m,p){this.r=N,this.s=m,this.recovery=p,this.assertValidity()}static fromCompact(N){let m=t.nByteLength;return N=J("compactSignature",N,m*2),new h(b(N,0,m),b(N,m,2*m))}static fromDER(N){let{r:m,s:p}=ie.toSig(J("DER",N));return new h(m,p)}assertValidity(){Et("r",this.r,ct,n),Et("s",this.s,ct,n)}addRecoveryBit(N){return new h(this.r,this.s,N)}recoverPublicKey(N){let{r:m,s:p,recovery:x}=this,T=L(J("msgHash",N));if(x==null||![0,1,2,3].includes(x))throw new Error("recovery id invalid");let _=x===2||x===3?m+t.n:m;if(_>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let R=x&1?"03":"02",V=c.fromHex(R+d(_)),P=a(_),H=o(-T*P),q=o(p*P),z=c.BASE.multiplyAndAddUnsafe(V,H,q);if(!z)throw new Error("point at infinify");return z.assertValidity(),z}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return ke(this.toDERHex())}toDERHex(){return ie.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ke(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let y={isValidPrivateKey(B){try{return l(B),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let B=Qs(t.n);return Xo(t.randomBytes(B),t.n)},precompute(B=8,N=c.BASE){return N._setWindowSize(B),N.multiply(BigInt(3)),N}};function v(B,N=!0){return c.fromPrivateKey(B).toRawBytes(N)}function g(B){let N=he(B),m=typeof B=="string",p=(N||m)&&B.length;return N?p===s||p===i:m?p===2*s||p===2*i:B instanceof c}function S(B,N,m=!0){if(g(B))throw new Error("first arg must be private key");if(!g(N))throw new Error("second arg must be public key");return c.fromHex(N).multiply(l(B)).toRawBytes(m)}let U=t.bits2int||function(B){let N=Jt(B),m=B.length*8-t.nBitLength;return m>0?N>>BigInt(m):N},L=t.bits2int_modN||function(B){return o(U(B))},k=yr(t.nBitLength);function I(B){return Et(`num < 2^${t.nBitLength}`,B,oe,k),pe(B,t.nByteLength)}function C(B,N,m=tt){if(["recovered","canonical"].some(at=>at in m))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:x}=t,{lowS:T,prehash:_,extraEntropy:R}=m;T==null&&(T=!0),B=J("msgHash",B),xc(m),_&&(B=J("prehashed msgHash",p(B)));let V=L(B),P=l(N),H=[I(P),I(V)];if(R!=null&&R!==!1){let at=R===!0?x(e.BYTES):R;H.push(J("extraEntropy",at))}let q=Yt(...H),z=V;function ot(at){let lt=U(at);if(!u(lt))return;let bt=a(lt),rt=c.BASE.multiply(lt).toAffine(),vt=o(rt.x);if(vt===oe)return;let zt=o(bt*o(z+vt*P));if(zt===oe)return;let lr=(rt.x===vt?0:2)|Number(rt.y&ct),ur=zt;return T&&w(zt)&&(ur=E(zt),lr^=1),new h(vt,ur,lr)}return{seed:q,k2sig:ot}}let tt={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function M(B,N,m=tt){let{seed:p,k2sig:x}=C(B,N,m),T=t;return js(T.hash.outputLen,T.nByteLength,T.hmac)(p,x)}c.BASE._setWindowSize(8);function et(B,N,m,p=F){let x=B;if(N=J("msgHash",N),m=J("publicKey",m),"strict"in p)throw new Error("options.strict was renamed to lowS");xc(p);let{lowS:T,prehash:_}=p,R,V;try{if(typeof x=="string"||he(x))try{R=h.fromDER(x)}catch(rt){if(!(rt instanceof ie.Err))throw rt;R=h.fromCompact(x)}else if(typeof x=="object"&&typeof x.r=="bigint"&&typeof x.s=="bigint"){let{r:rt,s:vt}=x;R=new h(rt,vt)}else throw new Error("PARSE");V=c.fromHex(m)}catch(rt){if(rt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(T&&R.hasHighS())return!1;_&&(N=t.hash(N));let{r:P,s:H}=R,q=L(N),z=a(H),ot=o(q*z),at=o(P*z),lt=c.BASE.multiplyAndAddUnsafe(V,ot,at)?.toAffine();return lt?o(lt.x)===P:!1}return{CURVE:t,getPublicKey:v,getSharedSecret:S,sign:M,verify:et,ProjectivePoint:c,Signature:h,utils:y}}function sh(r){return{hash:r,hmac:(t,...e)=>Zi(r,t,Fs(...e)),randomBytes:Je}}function Bc(r,t){let e=n=>Ec({...r,...sh(n)});return Object.freeze({...e(t),create:e})}var kc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Sc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ih=BigInt(1),Wi=BigInt(2),Ac=(r,t)=>(r+t/Wi)/t;function oh(r){let t=kc,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%t,f=l*l*r%t,u=Z(f,e,t)*f%t,d=Z(u,e,t)*f%t,w=Z(d,Wi,t)*l%t,E=Z(w,s,t)*w%t,b=Z(E,i,t)*E%t,h=Z(b,a,t)*b%t,y=Z(h,c,t)*h%t,v=Z(y,a,t)*b%t,g=Z(v,e,t)*f%t,S=Z(g,o,t)*E%t,U=Z(S,n,t)*l%t,L=Z(U,Wi,t);if(!ji.eql(ji.sqr(L),r))throw new Error("Cannot find square root");return L}var ji=ge(kc,void 0,void 0,{sqrt:oh}),De=Bc({a:BigInt(0),b:BigInt(7),Fp:ji,n:Sc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Sc,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ih*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=Ac(i*r,t),c=Ac(-n*r,t),l=$(r-a*e-c*s,t),f=$(-a*n-c*i,t),u=l>o,d=f>o;if(u&&(l=t-l),d&&(f=t-f),l>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:l,k2neg:d,k2:f}}}},tr),wg=BigInt(0);var xg=De.ProjectivePoint;function Me(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=ht(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function Ic(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Nc(r,t,e){let n=Ue.digest(e instanceof Uint8Array?e:e.subarray());if(Ic(n))return n.then(({digest:s})=>De.verify(t,s,r)).catch(s=>{throw new Cr(String(s))});try{return De.verify(t,n.digest,r)}catch(s){throw new Cr(String(s))}}var as=class{type="secp256k1";raw;_key;constructor(t){this._key=Cc(t),this.raw=Tc(this._key)}toMultihash(){return Zt.digest(Ce(this))}toCID(){return Nt.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Ct(this.raw,t.raw)}verify(t,e){return Nc(this._key,e,t)}};function Ji(r){return new as(r)}function Tc(r){return De.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Cc(r){try{return De.ProjectivePoint.fromHex(r),r}catch(t){throw new Pe(String(t))}}function Yi(r){let{Type:t,Data:e}=Ft.decode(r),n=e??new Uint8Array;switch(t){case it.RSA:return Gi(n);case it.Ed25519:return si(n);case it.secp256k1:return Ji(n);default:throw new Be}}function Lc(r){let{Type:t,Data:e}=Ft.decode(r.digest),n=e??new Uint8Array;switch(t){case it.Ed25519:return si(n);case it.secp256k1:return Ji(n);default:throw new Be}}function Ce(r){return Ft.encode({Type:it[r.type],Data:r.raw})}var Uc=Symbol.for("nodejs.util.inspect.custom"),ah=114,_r=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Cs]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return Nt.createV1(ah,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Ct(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return Ct(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Uc](){return`PeerId(${this.toString()})`}},Rr=class extends _r{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Dr=class extends _r{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Mr=class extends _r{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},ch=2336,cs=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Zt.digest(W(this.url))}[Uc](){return`PeerId(${this.url})`}[Cs]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return Nt.createV1(ch,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=Q(t)),t.toString()===this.toString())}};function Xi(r){if(r.type==="Ed25519")return new Dr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new Mr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new Rr({multihash:r.toCID().multihash,publicKey:r});throw new Be}function _c(r){return Xi(r.publicKey)}function Vr(r){if(uh(r))return new Rr({multihash:r});if(lh(r))try{let t=Lc(r);if(t.type==="Ed25519")return new Dr({multihash:r,publicKey:t});if(t.type==="secp256k1")return new Mr({multihash:r,publicKey:t})}catch{let e=Q(r.digest);return new cs(new URL(e))}throw new jr("Supplied PeerID Multihash is invalid")}function lh(r){return r.code===Zt.code}function uh(r){return r.code===Ue.code}function Ve(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),s=n.value;return n.done===!0||s==null?{done:!0,value:void 0}:{done:!1,value:t(s)}}};return e}function ls(r){let t=ce(X.decode(`z${r}`));return Vr(t)}var Hr=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),{key:e,value:n})}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return Ve(this.map.entries(),t=>[t[1].key,t[1].value])}forEach(t){this.map.forEach((e,n)=>{t(e.value,e.key,this)})}get(t){return this.map.get(t.toString())?.value}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),{key:t,value:e})}keys(){return Ve(this.map.values(),t=>t.key)}values(){return Ve(this.map.values(),t=>t.value)}get size(){return this.map.size}};var Or=class r{set;constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return Ve(this.set.entries(),t=>{let e=ls(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=ls(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Ve(this.set.values(),t=>ls(t))}intersection(t){let e=new r;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new r;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new r;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};var Dc=Symbol.for("@achingbrain/uint8arraylist");function Rc(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function us(r){return!!r?.[Dc]}var Ee=class r{bufs;length;[Dc]=!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(us(n))e+=n.byteLength,this.bufs.push(...n.bufs);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(us(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=Rc(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Rc(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(us(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:s}=this._subList(t,e);return Me(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Me(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_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=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let l=t>=a&&t<c,f=e>a&&e<=c;if(l&&f){if(t===a&&e===c){n.push(o);break}let u=t-a;n.push(o.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(f){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!us(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 s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u<i;u++)o[u]=-1;for(let u=0;u<s;u++)o[n[u]]=u;let a=o,c=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let u=e;u<=c;u+=f){f=0;for(let d=l;d>=0;d--){let w=this.get(u+d);if(n[d]!==w){f=Math.max(1,d-a[w]);break}}if(f===0)return u}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=ht(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 s=Xt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,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 s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,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 s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,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=ht(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 s=Xt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,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 s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,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 s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,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 s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,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 s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,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(!Ct(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((s,i)=>s+i.byteLength,0)),n.length=e,n}};function fs(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var hs=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},ar=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new hs(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new hs(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Qi=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function cr(r={}){return fh(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function fh(r,t){t=t??{};let e=t.onEnd,n=new ar,s,i,o,a=fs(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((h,y)=>{i=v=>{i=null,n.push(v);try{h(r(n))}catch(g){y(g)}return s}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=fs()})}},l=h=>i!=null?i(h):(n.push(h),s),f=h=>(n=new ar,i!=null?i({error:h}):(n.push({error:h}),s)),u=h=>{if(o)return s;if(t?.objectMode!==!0&&h?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:h})},d=h=>o?s:(o=!0,h!=null?f(h):l({done:!0})),w=()=>(n=new ar,d(),{done:!0}),E=h=>(d(h),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:c,return:w,throw:E,push:u,end:d,get readableLength(){return n.size},onEmpty:async h=>{let y=h?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let v,g;y!=null&&(v=new Promise((S,U)=>{g=()=>{U(new Qi)},y.addEventListener("abort",g)}));try{await Promise.race([a.promise,v])}finally{g!=null&&y!=null&&y?.removeEventListener("abort",g)}}},e==null)return s;let b=s;return s={[Symbol.asyncIterator](){return this},next(){return b.next()},throw(h){return b.throw(h),e!=null&&(e(h),e=void 0),{done:!0}},return(){return b.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(h){return b.end(h),e!=null&&(e(h),e=void 0),s},get readableLength(){return b.readableLength},onEmpty:h=>b.onEmpty(h)},s}function hh(r){return r[Symbol.asyncIterator]!=null}function dh(...r){let t=[];for(let e of r)hh(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=cr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let s of n)e.push(s)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Mc=dh;function Pr(r,...t){if(r==null)throw new Error("Empty pipeline");if(to(r)){let n=r;r=()=>n.source}else if(Hc(r)||Vc(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&to(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)to(e[n])&&(e[n]=gh(e[n]));return ph(...e)}var ph=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},Vc=r=>r?.[Symbol.asyncIterator]!=null,Hc=r=>r?.[Symbol.iterator]!=null,to=r=>r==null?!1:r.sink!=null&&r.source!=null,gh=r=>t=>{let e=r.sink(t);if(e?.then!=null){let n=cr({objectMode:!0});e.then(()=>{n.end()},o=>{n.end(o)});let s,i=r.source;if(Vc(i))s=async function*(){yield*i,n.end()};else if(Hc(i))s=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Mc(n,s())}return r.source};var ro=wo(Pc(),1);var Kr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},no=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Fc=r=>globalThis.DOMException===void 0?new no(r):new DOMException(r),Kc=r=>{let t=r.reason===void 0?Fc("This operation was aborted."):r.reason;return t instanceof Error?t:Fc(t)};function so(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((l,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:d}=t;d.aborted&&f(Kc(d));let w=()=>{f(Kc(d))};d.addEventListener("abort",w,{once:!0}),r.finally(()=>{d.removeEventListener("abort",w)})}if(e===Number.POSITIVE_INFINITY){r.then(l,f);return}let u=new Kr;o=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(d){f(d)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?l():s instanceof Error?f(s):(u.message=s??`Promise timed out after ${e} milliseconds`,f(u))},e),(async()=>{try{l(await r)}catch(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function io(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var qr=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=io(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var $r=class extends ro.default{#t;#o;#i=0;#d;#a;#p=0;#r;#c;#e;#g;#n=0;#l;#s;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:qr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#o=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#d=t.intervalCap,this.#a=t.interval,this.#e=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#w(){return this.#o||this.#i<this.#d}get#x(){return this.#n<this.#l}#v(){this.#n--,this.#u(),this.emit("next")}#E(){this.#y(),this.#b(),this.#c=void 0}get#B(){let t=Date.now();if(this.#r===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#n:0;else return this.#c===void 0&&(this.#c=setTimeout(()=>{this.#E()},e)),!0}return!1}#u(){if(this.#e.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#B;if(this.#w&&this.#x){let e=this.#e.dequeue();return e?(this.emit("active"),e(),t&&this.#b(),!0):!1}}return!1}#b(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#y()},this.#a),this.#p=Date.now()+this.#a)}#y(){this.#i===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#i=this.#t?this.#n:0,this.#f()}#f(){for(;this.#u(););}get concurrency(){return this.#l}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#l=t,this.#f()}async#S(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#m,...e},new Promise((n,s)=>{this.#e.enqueue(async()=>{this.#n++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=so(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#S(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Kr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#v()}},e),this.emit("add"),this.#u()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#s?(this.#s=!1,this.#f(),this):this}pause(){this.#s=!0}clear(){this.#e=new this.#g}async onEmpty(){this.#e.size!==0&&await this.#h("empty")}async onSizeLessThan(t){this.#e.size<t||await this.#h("next",()=>this.#e.size<t)}async onIdle(){this.#n===0&&this.#e.size===0||await this.#h("idle")}async#h(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#e.size}sizeBy(t){return this.#e.filter(t).length}get pending(){return this.#n}get isPaused(){return this.#s}};function qc(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function $c(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function zc(r,t){let e=qc(r).return?.();$c(e)&&e.catch(n=>{t.error("could not cause iterator to return",n)})}function ps(r){return r[Symbol.asyncIterator]!=null}var gs=r=>{let t=Vt(r),e=ht(t);return oa(r,e),gs.bytes=t,e};gs.bytes=0;function ms(r,t){t=t??{};let e=t.lengthEncoder??gs;function*n(s){let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return ps(r)?async function*(){for await(let s of r)yield*n(s)}():function*(){for(let s of r)yield*n(s)}()}ms.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??gs;return new Ee(e(r.byteLength),r)};var bs=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ys=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},ws=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},zr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var yh=8,wh=1024*1024*4,He;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(He||(He={}));var oo=r=>{let t=aa(r);return oo.bytes=Vt(t),t};oo.bytes=0;function Gr(r,t){let e=new Ee,n=He.LENGTH,s=-1,i=t?.lengthDecoder??oo,o=t?.maxLengthLength??yh,a=t?.maxDataLength??wh;function*c(){for(;e.byteLength>0;){if(n===He.LENGTH)try{if(s=i(e),s<0)throw new bs("Invalid message length");if(s>a)throw new ys("Message length too long");let l=i.bytes;e.consume(l),t?.onLength!=null&&t.onLength(s),n=He.DATA}catch(l){if(l instanceof RangeError){if(e.byteLength>o)throw new ws("Message length length too long");break}throw l}if(n===He.DATA){if(e.byteLength<s)break;let l=e.sublist(0,s);e.consume(s),t?.onData!=null&&t.onData(l),yield l,n=He.LENGTH}}}return ps(r)?async function*(){for await(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw new zr("Unexpected end of input")}():function*(){for(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw new zr("Unexpected end of input")}()}Gr.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:i,value:o}=await r.next(e);if(i===!0)return;o!=null&&(yield o)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return Gr(n,{...t??{},onLength:i=>{e=i}})};var xs=class extends Fe{id;protocol;outboundStream;inboundStream;_rawOutboundStream;_rawInboundStream;_inboundAbortController;closed;log;constructor(t,e){super(),this.log=t.logger.forComponent("libp2p-pubsub:peer-streams"),this.id=e.id,this.protocol=e.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return!!this.inboundStream}get isWritable(){return!!this.outboundStream}write(t){if(this.outboundStream==null){let e=this.id.toString();throw new Error("No writable connection to "+e)}this.outboundStream.push(t instanceof Uint8Array?new Ee(t):t)}attachInboundStream(t){let e=()=>{zc(t.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",e,{once:!0}),this._rawInboundStream=t,this.inboundStream=Pr(this._rawInboundStream,n=>Gr(n)),this.dispatchEvent(new CustomEvent("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let e=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=cr({onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.closeWrite().catch(s=>{this.log("error closing outbound stream",s)}),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new CustomEvent("close"))}}),Pr(this.outboundStream,n=>ms(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),e==null&&this.dispatchEvent(new CustomEvent("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new CustomEvent("close")))}};function Gc(){return BigInt(`0x${Q(ns(8),"base16")}`)}var Zc=(r,t)=>{let e=W(t.toString(16).padStart(16,"0"),"base16"),n=Ce(r),s=new Uint8Array(n.byteLength+e.length);return s.set(n,0),s.set(e,n.byteLength),s},Wc=r=>Ue.encode(r);var jc=function(r){return Array.isArray(r)?r:[r]},vh=async r=>{if(r.sequenceNumber==null||r.from==null||r.signature==null)return!1;let t=Vr(ce(r.from));if(t.publicKey!=null)return!0;if(r.key!=null){let e=r.key;return Xi(Yi(e)).equals(t)}return!1},Jc=async r=>{if(r.from==null)throw new Y("RPC message was missing from");if(!await vh(r))return{type:"unsigned",topic:r.topic??"",data:r.data??new Uint8Array(0)};let t=Vr(ce(r.from)),e=r.key??t.publicKey;if(e==null)throw new Y("RPC message was missing public key");return{type:"signed",from:t,topic:r.topic??"",sequenceNumber:Bh(r.sequenceNumber??new Uint8Array(0)),data:r.data??new Uint8Array(0),signature:r.signature??new Uint8Array(0),key:e instanceof Uint8Array?Yi(e):e}},Zr=r=>r.type==="signed"?{from:r.from.toMultihash().bytes,data:r.data,sequenceNumber:Eh(r.sequenceNumber),topic:r.topic,signature:r.signature,key:r.key?Ce(r.key):void 0}:{data:r.data,topic:r.topic},Eh=r=>{let t=r.toString(16);return t.length%2!==0&&(t=`0${t}`),W(t,"base16")},Bh=r=>BigInt(`0x${Q(r,"base16")}`);var Yc=W("libp2p-pubsub:");async function Xc(r,t,e){let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:_c(r)},s=Me([Yc,e(Zr(n)).subarray()]);return n.signature=await r.sign(s),n.key=r.publicKey,n}async function Qc(r,t){if(r.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(r.signature==null)throw new Error("Message must contain a signature to be verified");if(r.from==null)throw new Error("Message must contain a from property to be verified");let e=Me([Yc,t({...Zr(r),signature:void 0,key:void 0}).subarray()]);return Sh(r).verify(e,r.signature)}function Sh(r){if(r.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(r.from==null)throw new Error("Could not get the public key from the originator id");if(r.key!=null)return r.key;if(r.from.publicKey!=null)return r.from.publicKey;throw new Error("Could not get the public key from the originator id")}var vs=class extends Fe{log;started;topics;subscriptions;peers;globalSignaturePolicy;canRelayMessage;emitSelf;topicValidators;queue;multicodecs;components;_registrarTopologyIds;enabled;maxInboundStreams;maxOutboundStreams;constructor(t,e){super();let{multicodecs:n=[],globalSignaturePolicy:s="StrictSign",canRelayMessage:i=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:c=1,maxOutboundStreams:l=1}=e;this.log=t.logger.forComponent("libp2p:pubsub"),this.components=t,this.multicodecs=jc(n),this.enabled=e.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Hr,this.globalSignaturePolicy=s==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=i,this.emitSelf=o,this.topicValidators=new Map,this.queue=new $r({concurrency:a}),this.maxInboundStreams=c,this.maxOutboundStreams=l,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;this.log("starting");let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>{await t.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})}));let e={onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected};this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>t.register(n,e))),this.log("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let t=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.forEach(e=>{t.unregister(e)}),await Promise.all(this.multicodecs.map(async e=>{await t.unhandle(e)})),this.log("stopping");for(let e of this.peers.values())e.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,this.log("stopped")}isStarted(){return this.started}_onIncomingStream(t){let{stream:e,connection:n}=t,s=n.remotePeer;if(e.protocol==null){e.abort(new Error("Stream was not multiplexed"));return}let i=this.addPeer(s,e.protocol),o=i.attachInboundStream(e);this.processMessages(s,o,i).catch(a=>{this.log(a)})}_onPeerConnected(t,e){if(this.log("connected %p",t),e.streams.find(n=>n.direction==="outbound"&&n.protocol!=null&&this.multicodecs.includes(n.protocol))!=null){this.log("outbound pubsub streams already present on connection from %p",t);return}Promise.resolve().then(async()=>{try{let n=await e.newStream(this.multicodecs);if(n.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(t,n.protocol).attachOutboundStream(n)}catch(n){this.log.error(n)}this.send(t,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{this.log.error(n)})}_onPeerDisconnected(t,e){this.log("connection ended %p",t),this._removePeer(t)}addPeer(t,e){let n=this.peers.get(t);if(n!=null)return n;this.log("new peer %p",t);let s=new xs(this.components,{id:t,protocol:e});return this.peers.set(t,s),s.addEventListener("close",()=>this._removePeer(t),{once:!0}),s}_removePeer(t){let e=this.peers.get(t);if(e!=null){e.close(),this.log("delete peer %p",t),this.peers.delete(t);for(let n of this.topics.values())n.delete(t);return e}}async processMessages(t,e,n){try{await Pr(e,async s=>{for await(let i of s){let o=this.decodeRpc(i),a=[];for(let c of o.messages??[]){if(c.from==null||c.data==null||c.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",t);continue}a.push({from:c.from,data:c.data,topic:c.topic,sequenceNumber:c.sequenceNumber??void 0,signature:c.signature??void 0,key:c.key??void 0})}this.processRpc(t,n,{subscriptions:(o.subscriptions??[]).map(c=>({subscribe:!!c.subscribe,topic:c.topic??""})),messages:a}).catch(c=>{this.log(c)})}})}catch(s){this._onPeerDisconnected(n.id,s)}}async processRpc(t,e,n){if(!this.acceptFrom(t))return this.log("received message from unacceptable peer %p",t),!1;this.log("rpc from %p",t);let{subscriptions:s,messages:i}=n;return s!=null&&s.length>0&&(this.log("subscription update from %p",t),s.forEach(o=>{this.processRpcSubOpt(t,o)}),super.dispatchEvent(new CustomEvent("subscription-change",{detail:{peerId:e.id,subscriptions:s.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:!!a}))}}))),i!=null&&i.length>0&&(this.log("messages from %p",t),this.queue.addAll(i.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return this.log("received message we didn't subscribe to. Dropping."),!1;try{let a=await Jc(o);await this.processMessage(t,a)}catch(a){this.log.error(a)}})).catch(o=>{this.log(o)})),!0}processRpcSubOpt(t,e){let n=e.topic;if(n==null)return;let s=this.topics.get(n);s==null&&(s=new Or,this.topics.set(n,s)),e.subscribe===!0?s.add(t):s.delete(t)}async processMessage(t,e){if(!(this.components.peerId.equals(t)&&!this.emitSelf)){try{await this.validate(t,e)}catch(n){this.log("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(e.topic)&&(!this.components.peerId.equals(t)||this.emitSelf)&&super.dispatchEvent(new CustomEvent("message",{detail:e})),await this.publishMessage(t,e)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new Y('Message type should be "signed" when signature policy is StrictSign but it was not');if(t.sequenceNumber==null)throw new Y("Need seqno when signature policy is StrictSign but it was missing");if(t.key==null)throw new Y("Need key when signature policy is StrictSign but it was missing");return Zc(t.key,t.sequenceNumber);case"StrictNoSign":return Wc(t.data);default:throw new Y("Cannot get message id: unhandled signature policy")}}acceptFrom(t){return!0}send(t,e){let{messages:n,subscriptions:s,subscribe:i}=e;this.sendRpc(t,{subscriptions:(s??[]).map(o=>({topic:o,subscribe:!!i})),messages:(n??[]).map(Zr)})}sendRpc(t,e){let n=this.peers.get(t);if(n==null){this.log.error("Cannot send RPC to %p as there are no streams to it available",t);return}if(!n.isWritable){this.log.error("Cannot send RPC to %p as there is no outbound stream to it available",t);return}n.write(this.encodeRpc(e))}async validate(t,e){switch(this.globalSignaturePolicy){case"StrictNoSign":if(e.type!=="unsigned")throw new Y('Message type should be "unsigned" when signature policy is StrictNoSign but it was not');if(e.signature!=null)throw new Y("StrictNoSigning: signature should not be present");if(e.key!=null)throw new Y("StrictNoSigning: key should not be present");if(e.sequenceNumber!=null)throw new Y("StrictNoSigning: seqno should not be present");break;case"StrictSign":if(e.type!=="signed")throw new Y('Message type should be "signed" when signature policy is StrictSign but it was not');if(e.signature==null)throw new Y("StrictSigning: Signing required and no signature was present");if(e.sequenceNumber==null)throw new Y("StrictSigning: Signing required and no sequenceNumber was present");if(!await Qc(e,this.encodeMessage.bind(this)))throw new Y("StrictSigning: Invalid message signature");break;default:throw new Y("Cannot validate message: unhandled signature policy")}let s=this.topicValidators.get(e.topic);if(s!=null){let i=await s(t,e);if(i===fr.Reject||i===fr.Ignore)throw new Y("Message validation failed")}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return Xc(this.components.privateKey,t,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...t});default:throw new Y("Cannot build message: unhandled signature policy")}}getSubscribers(t){if(!this.started)throw new Jr("not started yet");if(t==null)throw new nt("Topic is required");let e=this.topics.get(t.toString());return e==null?[]:Array.from(e.values())}async publish(t,e){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:t,data:e??new Uint8Array(0),sequenceNumber:Gc()};this.log("publish topic: %s from: %p data: %m",t,n.from,n.data);let s=await this.buildMessage(n),i=!1;this.emitSelf&&this.subscriptions.has(t)&&(i=!0,super.dispatchEvent(new CustomEvent("message",{detail:s})));let o=await this.publishMessage(this.components.peerId,s);return i&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(t){if(!this.started)throw new Error("Pubsub has not started");if(this.log("subscribe to topic: %s",t),!this.subscriptions.has(t)){this.subscriptions.add(t);for(let e of this.peers.keys())this.send(e,{subscriptions:[t],subscribe:!0})}}unsubscribe(t){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(t);let e=this.subscriptions.has(t);if(this.log("unsubscribe from %s - am subscribed %s",t,e),e){this.subscriptions.delete(t);for(let n of this.peers.keys())this.send(n,{subscriptions:[t],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};var Es=class{entries;validityMs;lastPruneTime=0;constructor(t){this.entries=new Map,this.validityMs=t.validityMs}put(t,e){this.entries.set(t,{value:e,validUntilMs:Date.now()+this.validityMs}),this.prune()}prune(){let t=Date.now();if(!(t-this.lastPruneTime<200)){this.lastPruneTime=t;for(let[e,n]of this.entries.entries())if(n.validUntilMs<t)this.entries.delete(e);else break}}has(t){return this.entries.has(t)}get(t){let e=this.entries.get(t);return e!=null&&e.validUntilMs>=Date.now()?e.value:void 0}clear(){this.entries=new Map,this.lastPruneTime=0}};var ao="/floodsub/1.0.0";var Oe;(function(r){let t;(function(s){let i;s.codec=()=>(i==null&&(i=kt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.subscribe!=null&&(a.uint32(8),a.bool(o.subscribe)),o.topic!=null&&(a.uint32(18),a.string(o.topic)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let l={},f=a==null?o.len:o.pos+a;for(;o.pos<f;){let u=o.uint32();switch(u>>>3){case 1:{l.subscribe=o.bool();break}case 2:{l.topic=o.string();break}default:{o.skipType(u&7);break}}}return l})),i),s.encode=o=>At(o,s.codec()),s.decode=(o,a)=>St(o,s.codec(),a)})(t=r.SubOpts||(r.SubOpts={}));let e;(function(s){let i;s.codec=()=>(i==null&&(i=kt((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.from!=null&&(a.uint32(10),a.bytes(o.from)),o.data!=null&&(a.uint32(18),a.bytes(o.data)),o.sequenceNumber!=null&&(a.uint32(26),a.bytes(o.sequenceNumber)),o.topic!=null&&(a.uint32(34),a.string(o.topic)),o.signature!=null&&(a.uint32(42),a.bytes(o.signature)),o.key!=null&&(a.uint32(50),a.bytes(o.key)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let l={},f=a==null?o.len:o.pos+a;for(;o.pos<f;){let u=o.uint32();switch(u>>>3){case 1:{l.from=o.bytes();break}case 2:{l.data=o.bytes();break}case 3:{l.sequenceNumber=o.bytes();break}case 4:{l.topic=o.string();break}case 5:{l.signature=o.bytes();break}case 6:{l.key=o.bytes();break}default:{o.skipType(u&7);break}}}return l})),i),s.encode=o=>At(o,s.codec()),s.decode=(o,a)=>St(o,s.codec(),a)})(e=r.Message||(r.Message={}));let n;r.codec=()=>(n==null&&(n=kt((s,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),s.subscriptions!=null)for(let a of s.subscriptions)i.uint32(10),r.SubOpts.codec().encode(a,i);if(s.messages!=null)for(let a of s.messages)i.uint32(18),r.Message.codec().encode(a,i);s.control!=null&&(i.uint32(26),Bs.codec().encode(s.control,i)),o.lengthDelimited!==!1&&i.ldelim()},(s,i,o={})=>{let a={subscriptions:[],messages:[]},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:{if(o.limits?.subscriptions!=null&&a.subscriptions.length===o.limits.subscriptions)throw new Lt('Decode error - map field "subscriptions" had too many elements');a.subscriptions.push(r.SubOpts.codec().decode(s,s.uint32(),{limits:o.limits?.subscriptions$}));break}case 2:{if(o.limits?.messages!=null&&a.messages.length===o.limits.messages)throw new Lt('Decode error - map field "messages" had too many elements');a.messages.push(r.Message.codec().decode(s,s.uint32(),{limits:o.limits?.messages$}));break}case 3:{a.control=Bs.codec().decode(s,s.uint32(),{limits:o.limits?.control});break}default:{s.skipType(l&7);break}}}return a})),n),r.encode=s=>At(s,r.codec()),r.decode=(s,i)=>St(s,r.codec(),i)})(Oe||(Oe={}));var Bs;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.ihave!=null)for(let i of e.ihave)n.uint32(10),Ss.codec().encode(i,n);if(e.iwant!=null)for(let i of e.iwant)n.uint32(18),As.codec().encode(i,n);if(e.graft!=null)for(let i of e.graft)n.uint32(26),ks.codec().encode(i,n);if(e.prune!=null)for(let i of e.prune)n.uint32(34),Is.codec().encode(i,n);s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={ihave:[],iwant:[],graft:[],prune:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{if(s.limits?.ihave!=null&&i.ihave.length===s.limits.ihave)throw new Lt('Decode error - map field "ihave" had too many elements');i.ihave.push(Ss.codec().decode(e,e.uint32(),{limits:s.limits?.ihave$}));break}case 2:{if(s.limits?.iwant!=null&&i.iwant.length===s.limits.iwant)throw new Lt('Decode error - map field "iwant" had too many elements');i.iwant.push(As.codec().decode(e,e.uint32(),{limits:s.limits?.iwant$}));break}case 3:{if(s.limits?.graft!=null&&i.graft.length===s.limits.graft)throw new Lt('Decode error - map field "graft" had too many elements');i.graft.push(ks.codec().decode(e,e.uint32(),{limits:s.limits?.graft$}));break}case 4:{if(s.limits?.prune!=null&&i.prune.length===s.limits.prune)throw new Lt('Decode error - map field "prune" had too many elements');i.prune.push(Is.codec().decode(e,e.uint32(),{limits:s.limits?.prune$}));break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(Bs||(Bs={}));var Ss;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),e.messageIDs!=null)for(let i of e.messageIDs)n.uint32(18),n.bytes(i);s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={messageIDs:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.topic=e.string();break}case 2:{if(s.limits?.messageIDs!=null&&i.messageIDs.length===s.limits.messageIDs)throw new Lt('Decode error - map field "messageIDs" had too many elements');i.messageIDs.push(e.bytes());break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(Ss||(Ss={}));var As;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.messageIDs!=null)for(let i of e.messageIDs)n.uint32(10),n.bytes(i);s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={messageIDs:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{if(s.limits?.messageIDs!=null&&i.messageIDs.length===s.limits.messageIDs)throw new Lt('Decode error - map field "messageIDs" had too many elements');i.messageIDs.push(e.bytes());break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(As||(As={}));var ks;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.topic=e.string();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(ks||(ks={}));var Is;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),e.peers!=null)for(let i of e.peers)n.uint32(18),Ns.codec().encode(i,n);e.backoff!=null&&(n.uint32(24),n.uint64(e.backoff)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={peers:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.topic=e.string();break}case 2:{if(s.limits?.peers!=null&&i.peers.length===s.limits.peers)throw new Lt('Decode error - map field "peers" had too many elements');i.peers.push(Ns.codec().decode(e,e.uint32(),{limits:s.limits?.peers$}));break}case 3:{i.backoff=e.uint64();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(Is||(Is={}));var Ns;(function(r){let t;r.codec=()=>(t==null&&(t=kt((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.peerID!=null&&(n.uint32(10),n.bytes(e.peerID)),e.signedPeerRecord!=null&&(n.uint32(18),n.bytes(e.signedPeerRecord)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.peerID=e.bytes();break}case 2:{i.signedPeerRecord=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>At(e,r.codec()),r.decode=(e,n)=>St(e,r.codec(),n)})(Ns||(Ns={}));var co=class extends vs{seenCache;constructor(t,e){super(t,{...e,canRelayMessage:!0,multicodecs:[ao]}),this.log=t.logger.forComponent("libp2p:floodsub"),this.seenCache=new Es({validityMs:e?.seenTTL??3e4})}[xo]=!0;[Symbol.toStringTag]="@libp2p/floodsub";[Eo]=["@libp2p/identify"];decodeRpc(t){return Oe.decode(t)}encodeRpc(t){return Oe.encode(t)}decodeMessage(t){return Oe.Message.decode(t)}encodeMessage(t){return Oe.Message.encode(t)}async processMessage(t,e){let n=await super.getMsgId(e),s=Q(n,"base64");this.seenCache.has(s)||(this.seenCache.put(s,!0),await super.processMessage(t,e))}async publishMessage(t,e){let n=this.getSubscribers(e.topic),s=[];return n==null||n.length===0?(this.log("no peers are subscribed to topic %s",e.topic),{recipients:s}):(n.forEach(i=>{if(this.components.peerId.equals(i)){this.log("not sending message on topic %s to myself",e.topic);return}if(i.equals(t)){this.log("not sending message on topic %s to sender %p",e.topic,i);return}this.log("publish msgs on topics %s %p",e.topic,i),s.push(i),this.send(i,{messages:[e]})}),{recipients:s})}};function Ah(r={}){return t=>new co(t,r)}return dl(kh);})();
|
6
|
+
`)}`:`${e} :`}};Ua=xe;A.Constructed=Ua;xe.NAME="CONSTRUCTED";var Bn=class extends pt{fromBER(t,e,n){return e}toBER(t){return Ht}};Bn.override="EndOfContentValueBlock";var _a,Sn=class extends lt{constructor(t={}){super(t,Bn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};_a=Sn;A.EndOfContent=_a;Sn.NAME=Sr;var Ra,rr=class extends lt{constructor(t={}){super(t,pt),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){let n=new ArrayBuffer(2);if(!t){let s=new Uint8Array(n);s[0]=5,s[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}};Ra=rr;A.Null=Ra;rr.NAME="NULL";var An=class extends se(pt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=O.BufferSourceConverter.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(let t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,n){let s=O.BufferSourceConverter.toUint8Array(t);return ne(this,s,e,n)?(this.valueHexView=s.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Oi.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};An.NAME="BooleanValueBlock";var Da,kn=class extends lt{constructor(t={}){super(t,An),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}};Da=kn;A.Boolean=Da;kn.NAME="BOOLEAN";var In=class extends se(Kt){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let s=0;if(this.isConstructed){if(this.isHexOnly=!1,s=Kt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let i=0;i<this.value.length;i++){let o=this.value[i].constructor.NAME;if(o===Sr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==Na)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,s=super.fromBER(t,e,n),this.blockLength=n;return s}toBER(t,e){return this.isConstructed?Kt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};In.NAME="OctetStringValueBlock";var Ma,Nn=class r extends lt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},In),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,n===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){let i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(i.byteLength){let o=rs(i,0,i.byteLength);o.offset!==-1&&o.offset===n&&(this.valueBlock.value=[o.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?xe.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${O.Convert.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let t=[];for(let e of this.valueBlock.value)e instanceof r&&t.push(e.valueBlock.valueHexView);return O.BufferSourceConverter.concat(t)}};Ma=Nn;A.OctetString=Ma;Nn.NAME=Na;var Tn=class extends se(Kt){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let s=-1;if(this.isConstructed){if(s=Kt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Sr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Ta)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let l=a.valueBlock;if(this.unusedBits>0&&l.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=l.unusedBits}return s}let i=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,i,e,n))return-1;let o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let a=o.subarray(1);try{if(a.byteLength){let c=rs(a,0,a.byteLength);c.offset!==-1&&c.offset===n-1&&(this.value=[c.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Kt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ht;let n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Tn.NAME="BitStringValueBlock";var Va,nr=class extends lt{constructor({idBlock:t={},lenBlock:e={},...n}={}){var s,i;(s=n.isConstructed)!==null&&s!==void 0||(n.isConstructed=!!(!((i=n.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},Tn),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return xe.prototype.onAsciiEncoding.call(this);{let t=[],e=this.valueBlock.valueHexView;for(let s of e)t.push(s.toString(2).padStart(8,"0"));let n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}};Va=nr;A.BitString=Va;nr.NAME=Ta;var Ha;function Wf(r,t){let e=new Uint8Array([0]),n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l=0,f=c<o?o:c,u=0;for(let d=f;d>=0;d--,u++){switch(!0){case u<a.length:l=i[o-u]+a[c-u]+e[0];break;default:l=i[o-u]+e[0]}switch(e[0]=l/10,!0){case u>=i.length:i=mn(new Uint8Array([l%10]),i);break;default:i[o-u]=l%10}}return e[0]>0&&(i=mn(e,i)),i}function Ia(r){if(r>=Er.length)for(let t=Er.length;t<=r;t++){let e=new Uint8Array([0]),n=Er[t-1].slice(0);for(let s=n.length-1;s>=0;s--){let i=new Uint8Array([(n[s]<<1)+e[0]]);e[0]=i[0]/10,n[s]=i[0]%10}e[0]>0&&(n=mn(e,n)),Er.push(n)}return Er[r]}function jf(r,t){let e=0,n=new Uint8Array(r),s=new Uint8Array(t),i=n.slice(0),o=i.length-1,a=s.slice(0),c=a.length-1,l,f=0;for(let u=c;u>=0;u--,f++)switch(l=i[o-f]-a[c-f]-e,!0){case l<0:e=1,i[o-f]=l+10;break;default:e=0,i[o-f]=l}if(e>0)for(let u=o-c+1;u>=0;u--,f++)if(l=i[o-f]-e,l<0)e=1,i[o-f]=l+10;else{e=0,i[o-f]=l;break}return i.slice()}var Ar=class extends se(pt){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),t!==void 0&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Oi.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Sa(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,s=0){let i=this.fromBER(t,e,n);if(i===-1)return i;let o=this.valueHexView;return o[0]===0&&o[1]&128?this.valueHexView=o.subarray(1):s!==0&&o.length<s&&(s-o.length>1&&(s=o.length+1),this.valueHexView=o.subarray(s-o.length)),i}toDER(t=!1){let e=this.valueHexView;switch(!0){case(e[0]&128)!==0:{let n=new Uint8Array(this.valueHexView.length+1);n[0]=0,n.set(e,1),this.valueHexView=n}break;case(e[0]===0&&(e[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(t)}fromBER(t,e,n){let s=super.fromBER(t,e,n);return s===-1||this.setValueHex(),s}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){let t=this.valueHexView.length*8-1,e=new Uint8Array(this.valueHexView.length*8/3),n=0,s,i=this.valueHexView,o="",a=!1;for(let c=i.byteLength-1;c>=0;c--){s=i[c];for(let l=0;l<8;l++){if((s&1)===1)switch(n){case t:e=jf(Ia(n),e),o="-";break;default:e=Wf(e,Ia(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=ka.charAt(e[c]));return a===!1&&(o+=ka.charAt(0)),o}};Ha=Ar;Ar.NAME="IntegerValueBlock";Object.defineProperty(Ha.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var Oa,ut=class r extends lt{constructor(t={}){super(t,Ar),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return bn(),BigInt(this.valueBlock.toString())}static fromBigInt(t){bn();let e=BigInt(t),n=new Br,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(O.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${O.Convert.ToHex(a)}`)+e,f=O.BufferSourceConverter.toUint8Array(O.Convert.FromHex(l.toString(16)));f[0]|=128,n.write(f)}else i[0]&128&&n.write(new Uint8Array([0])),n.write(i);return new r({valueHex:n.final()})}convertToDER(){let t=new r({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new r({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Oa=ut;A.Integer=Oa;ut.NAME="INTEGER";var Pa,Cn=class extends ut{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};Pa=Cn;A.Enumerated=Pa;Cn.NAME="ENUMERATED";var kr=class extends se(pt){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Re(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){bn();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;let n=new Uint8Array(e.length/7);for(let s=0;s<n.length;s++)n[s]=parseInt(e.slice(s*7,s*7+7),2)+(s+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=we(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ht;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n}toString(){let t="";if(this.isHexOnly)t=O.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};kr.NAME="sidBlock";var Ln=class extends pt{constructor({value:t=ir,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new kr;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t){let e=[];for(let n=0;n<this.value.length;n++){let s=this.value[n].toBER(t);if(s.byteLength===0)return this.error=this.value[n].error,Ht;e.push(s)}return Pi(e)}fromString(t){this.value=[];let e=0,n=0,s="",i=!1;do if(n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1,i){let o=this.value[0],a=0;switch(o.valueDec){case 0:break;case 1:a=40;break;case 2:a=80;break;default:this.value=[];return}let c=parseInt(s,10);if(isNaN(c))return;o.valueDec=c+a,i=!1}else{let o=new kr;if(s>Number.MAX_SAFE_INTEGER){bn();let a=BigInt(s);o.valueBigInt=a}else if(o.valueDec=parseInt(s,10),isNaN(o.valueDec))return;this.value.length||(o.isFirstSid=!0,i=!0),this.value.push(o)}while(n!==-1)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e?(s=`{${s}}`,this.value[n].isFirstSid?t=`2.{${s} - 80}`:t+=s):t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Ln.NAME="ObjectIdentifierValueBlock";var Fa,sr=class extends lt{constructor(t={}){super(t,Ln),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Fa=sr;A.ObjectIdentifier=Fa;sr.NAME="OBJECT IDENTIFIER";var Ir=class extends se(te){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=O.BufferSourceConverter.toUint8Array(t);if(!ne(this,s,e,n))return-1;let i=s.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let a=0;a<n&&(this.valueHexView[a]=i[a]&127,this.blockLength++,!!(i[a]&128));a++);let o=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength;a++)o[a]=this.valueHexView[a];return this.valueHexView=o,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Re(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);let s=this.valueHexView,i=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength-1;o++)i[o]=s[o]|128;return i[this.blockLength-1]=s[this.blockLength-1],i.buffer}let e=we(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Ht;let n=new Uint8Array(e.byteLength);if(!t){let s=new Uint8Array(e),i=e.byteLength-1;for(let o=0;o<i;o++)n[o]=s[o]|128;n[i]=s[i]}return n.buffer}toString(){let t="";return this.isHexOnly?t=O.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Ir.NAME="relativeSidBlock";var Un=class extends pt{constructor({value:t=ir,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Ir;if(s=i.fromBER(t,s,n),s===-1)return this.blockLength=0,this.error=i.error,s;this.blockLength+=i.blockLength,n-=i.blockLength,this.value.push(i)}return s}toBER(t,e){let n=[];for(let s=0;s<this.value.length;s++){let i=this.value[s].toBER(t);if(i.byteLength===0)return this.error=this.value[s].error,Ht;n.push(i)}return Pi(n)}fromString(t){this.value=[];let e=0,n=0,s="";do{n=t.indexOf(".",e),n===-1?s=t.substring(e):s=t.substring(e,n),e=n+1;let i=new Ir;if(i.valueDec=parseInt(s,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(n!==-1);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let s=this.value[n].toString();n!==0&&(t=`${t}.`),e&&(s=`{${s}}`),t+=s}return t}toJSON(){let t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}};Un.NAME="RelativeObjectIdentifierValueBlock";var Ka,_n=class extends lt{constructor(t={}){super(t,Un),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}};Ka=_n;A.RelativeObjectIdentifier=Ka;_n.NAME="RelativeObjectIdentifier";var qa,ee=class extends xe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};qa=ee;A.Sequence=qa;ee.NAME="SEQUENCE";var $a,Rn=class extends xe{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};$a=Rn;A.Set=$a;Rn.NAME="SET";var Dn=class extends se(pt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=ir}toJSON(){return{...super.toJSON(),value:this.value}}};Dn.NAME="StringValueBlock";var Mn=class extends Dn{};Mn.NAME="SimpleStringValueBlock";var yt=class extends xn{constructor({...t}={}){super(t,Mn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,O.BufferSourceConverter.toUint8Array(t))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let s=0;s<e;s++)n[s]=t.charCodeAt(s);this.valueBlock.value=t}};yt.NAME="SIMPLE STRING";var Vn=class extends yt{fromBuffer(t){this.valueBlock.valueHexView=O.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=O.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=O.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(O.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Vn.NAME="Utf8StringValueBlock";var za,re=class extends Vn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};za=re;A.Utf8String=za;re.NAME="UTF8String";var Hn=class extends yt{fromBuffer(t){this.valueBlock.value=O.Convert.ToUtf16String(t),this.valueBlock.valueHexView=O.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(O.Convert.FromUtf16String(t))}};Hn.NAME="BmpStringValueBlock";var Ga,On=class extends Hn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Ga=On;A.BmpString=Ga;On.NAME="BMPString";var Pn=class extends yt{fromBuffer(t){let e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let s=0;s<n.length;s+=4)n[s]=n[s+3],n[s+1]=n[s+2],n[s+2]=0,n[s+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){let e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e*4);for(let s=0;s<e;s++){let i=we(t.charCodeAt(s),8),o=new Uint8Array(i);if(o.length>4)continue;let a=4-o.length;for(let c=o.length-1;c>=0;c--)n[s*4+c+a]=o[c]}this.valueBlock.value=t}};Pn.NAME="UniversalStringValueBlock";var Za,Fn=class extends Pn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Za=Fn;A.UniversalString=Za;Fn.NAME="UniversalString";var Wa,Kn=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Wa=Kn;A.NumericString=Wa;Kn.NAME="NumericString";var ja,qn=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};ja=qn;A.PrintableString=ja;qn.NAME="PrintableString";var Ja,$n=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};Ja=$n;A.TeletexString=Ja;$n.NAME="TeletexString";var Ya,zn=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Ya=zn;A.VideotexString=Ya;zn.NAME="VideotexString";var Xa,Gn=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Xa=Gn;A.IA5String=Xa;Gn.NAME="IA5String";var Qa,Zn=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};Qa=Zn;A.GraphicString=Qa;Zn.NAME="GraphicString";var tc,Nr=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};tc=Nr;A.VisibleString=tc;Nr.NAME="VisibleString";var ec,Wn=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};ec=Wn;A.GeneralString=ec;Wn.NAME="GeneralString";var rc,jn=class extends yt{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};rc=jn;A.CharacterString=rc;jn.NAME="CharacterString";var nc,Tr=class extends Nr{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let s=0;s<t.length;s++)this.valueBlock.valueHexView[s]=t.charCodeAt(s)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,O.BufferSourceConverter.toUint8Array(t)))}toBuffer(){let t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){let n=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(t);if(n===null){this.error="Wrong input string for conversion";return}let s=parseInt(n[1],10);s>=50?this.year=1900+s:this.year=2e3+s,this.month=parseInt(n[2],10),this.day=parseInt(n[3],10),this.hour=parseInt(n[4],10),this.minute=parseInt(n[5],10),this.second=parseInt(n[6],10)}toString(t="iso"){if(t==="iso"){let e=new Array(7);return e[0]=kt(this.year<2e3?this.year-1900:this.year-2e3,2),e[1]=kt(this.month,2),e[2]=kt(this.day,2),e[3]=kt(this.hour,2),e[4]=kt(this.minute,2),e[5]=kt(this.second,2),e[6]="Z",e.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};nc=Tr;A.UTCTime=nc;Tr.NAME="UTCTime";var sc,Jn=class extends Tr{constructor(t={}){var e;super(t),(e=this.millisecond)!==null&&e!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e=!1,n="",s="",i=0,o,a=0,c=0;if(t[t.length-1]==="Z")n=t.substring(0,t.length-1),e=!0;else{let u=new Number(t[t.length-1]);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");n=t}if(e){if(n.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(n.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else{let u=1,d=n.indexOf("+"),w="";if(d===-1&&(d=n.indexOf("-"),u=-1),d!==-1){if(w=n.substring(d+1),n=n.substring(0,d),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let E=parseInt(w.substring(0,2),10);if(isNaN(E.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*E,w.length===4){if(E=parseInt(w.substring(2,4),10),isNaN(E.valueOf()))throw new Error("Wrong input string for conversion");c=u*E}}}let l=n.indexOf(".");if(l===-1&&(l=n.indexOf(",")),l!==-1){let u=new Number(`0${n.substring(l)}`);if(isNaN(u.valueOf()))throw new Error("Wrong input string for conversion");i=u.valueOf(),s=n.substring(0,l)}else s=n;switch(!0){case s.length===8:if(o=/(\d{4})(\d{2})(\d{2})/ig,l!==-1)throw new Error("Wrong input string for conversion");break;case s.length===10:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.minute=Math.floor(u),u=60*(u-this.minute),this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===12:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=60*i;this.second=Math.floor(u),u=1e3*(u-this.second),this.millisecond=Math.floor(u)}break;case s.length===14:if(o=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,l!==-1){let u=1e3*i;this.millisecond=Math.floor(u)}break;default:throw new Error("Wrong input string for conversion")}let f=o.exec(s);if(f===null)throw new Error("Wrong input string for conversion");for(let u=1;u<f.length;u++)switch(u){case 1:this.year=parseInt(f[u],10);break;case 2:this.month=parseInt(f[u],10);break;case 3:this.day=parseInt(f[u],10);break;case 4:this.hour=parseInt(f[u],10)+a;break;case 5:this.minute=parseInt(f[u],10)+c;break;case 6:this.second=parseInt(f[u],10);break;default:throw new Error("Wrong input string for conversion")}if(e===!1){let u=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=u.getUTCFullYear(),this.month=u.getUTCMonth(),this.day=u.getUTCDay(),this.hour=u.getUTCHours(),this.minute=u.getUTCMinutes(),this.second=u.getUTCSeconds(),this.millisecond=u.getUTCMilliseconds()}}toString(t="iso"){if(t==="iso"){let e=[];return e.push(kt(this.year,4)),e.push(kt(this.month,2)),e.push(kt(this.day,2)),e.push(kt(this.hour,2)),e.push(kt(this.minute,2)),e.push(kt(this.second,2)),this.millisecond!==0&&(e.push("."),e.push(kt(this.millisecond,3))),e.push("Z"),e.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}};sc=Jn;A.GeneralizedTime=sc;Jn.NAME="GeneralizedTime";var ic,Yn=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};ic=Yn;A.DATE=ic;Yn.NAME="DATE";var oc,Xn=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};oc=Xn;A.TimeOfDay=oc;Xn.NAME="TimeOfDay";var ac,Qn=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};ac=Qn;A.DateTime=ac;Qn.NAME="DateTime";var cc,ts=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};cc=ts;A.Duration=cc;ts.NAME="Duration";var lc,es=class extends re{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};lc=es;A.TIME=lc;es.NAME="TIME";function Ot(r,t="utf8"){let e=fn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}function ns(r){if(isNaN(r)||r<=0)throw new rt("random bytes length must be a Number bigger than 0");return Je(r)}var Cr=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}},ss=class extends Error{constructor(t="Missing Web Crypto API"){super(t),this.name="WebCryptoMissingError"}};var uc={get(r=globalThis){let t=r.crypto;if(t?.subtle==null)throw new ss("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api");return t}};var ve=uc;async function fc(r){let t=await ve.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:r,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),e=await Yf(t);return{privateKey:e[0],publicKey:e[1]}}async function hc(r,t){let e=await ve.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ve.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function dc(r,t,e){let n=await ve.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ve.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Yf(r){if(r.privateKey==null||r.publicKey==null)throw new rt("Private and public key are required");return Promise.all([ve.get().subtle.exportKey("jwk",r.privateKey),ve.get().subtle.exportKey("jwk",r.publicKey)])}function qi(r){if(r.kty!=="RSA")throw new rt("invalid key type");if(r.n==null)throw new rt("invalid key modulus");return W(r.n,"base64url").length*8}var or=class{type="RSA";_key;_raw;_multihash;constructor(t,e){this._key=t,this._multihash=e}get raw(){return this._raw==null&&(this._raw=Lr.jwkToPkix(this._key)),this._raw}toMultihash(){return this._multihash}toCID(){return It.createV1(114,this._multihash)}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Tt(this.raw,t.raw)}verify(t,e){return dc(this._key,e,t)}},Ur=class{type="RSA";_key;_raw;publicKey;constructor(t,e){this._key=t,this.publicKey=e}get raw(){return this._raw==null&&(this._raw=Lr.jwkToPkcs1(this._key)),this._raw}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Tt(this.raw,t.raw)}sign(t){return hc(this._key,t)}};var is=8192,$i=18;function pc(r){let{result:t}=Ki(r),e=t.valueBlock.value;return{n:qt(e[1]),e:qt(e[2]),d:qt(e[3]),p:qt(e[4]),q:qt(e[5]),dp:qt(e[6]),dq:qt(e[7]),qi:qt(e[8]),kty:"RSA",alg:"RS256"}}function Xf(r){if(r.n==null||r.e==null||r.d==null||r.p==null||r.q==null||r.dp==null||r.dq==null||r.qi==null)throw new rt("JWK was missing components");let e=new ee({value:[new ut({value:0}),ut.fromBigInt($t(W(r.n,"base64url"))),ut.fromBigInt($t(W(r.e,"base64url"))),ut.fromBigInt($t(W(r.d,"base64url"))),ut.fromBigInt($t(W(r.p,"base64url"))),ut.fromBigInt($t(W(r.q,"base64url"))),ut.fromBigInt($t(W(r.dp,"base64url"))),ut.fromBigInt($t(W(r.dq,"base64url"))),ut.fromBigInt($t(W(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function gc(r){let{result:t}=Ki(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:qt(e[0]),e:qt(e[1])}}function zi(r){if(r.n==null||r.e==null)throw new rt("JWK was missing components");let e=new ee({value:[new ee({value:[new sr({value:"1.2.840.113549.1.1.1"}),new rr]}),new nr({valueHex:new ee({value:[ut.fromBigInt($t(W(r.n,"base64url"))),ut.fromBigInt($t(W(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function qt(r){let t=r.valueBlock.valueHexView;for(;t[0]===0;)t=t.subarray(1);return Ot(t,"base64url")}function $t(r){let t=[];return r.forEach(function(e){let n=e.toString(16);n.length%2>0&&(n=`0${n}`),t.push(n)}),BigInt("0x"+t.join(""))}function mc(r){let t=pc(r);return bc(t)}function Gi(r){let t=gc(r);if(qi(t)>is)throw new Pe("Key size is too large");let e=tr(Ft.encode({Type:st.RSA,Data:r})),n=Ut($i,e);return new or(t,n)}function bc(r){if(qi(r)>is)throw new rt("Key size is too large");let t=wc(r),e=tr(Ft.encode({Type:st.RSA,Data:zi(t.publicKey)})),n=Ut($i,e);return new Ur(t.privateKey,new or(t.publicKey,n))}async function yc(r){if(r>is)throw new rt("Key size is too large");let t=await fc(r),e=tr(Ft.encode({Type:st.RSA,Data:zi(t.publicKey)})),n=Ut($i,e);return new Ur(t.privateKey,new or(t.publicKey,n))}function wc(r){if(r==null)throw new rt("Missing key parameter");return{privateKey:r,publicKey:{kty:r.kty,n:r.n,e:r.e}}}var os=class extends je{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,Oo(t);let n=mr(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?t.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=t.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(t){return We(this),this.iHash.update(t),this}digestInto(t){We(this),Ze(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return t=t,t.finished=s,t.destroyed=i,t.blockLen=o,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Zi=(r,t,e)=>new os(r,t).update(e).digest();Zi.create=(r,t)=>new os(r,t);function xc(r){r.lowS!==void 0&&Rt("lowS",r.lowS),r.prehash!==void 0&&Rt("prehash",r.prehash)}function Qf(r){let t=wr(r);Pt(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:s}=t;if(e){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:th,hexToBytes:eh}=rn,ie={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=ie;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,s=Ae(n);if(s.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?Ae(s.length/2|128):"";return`${Ae(r)}${i}${s}${t}`},decode(r,t){let{Err:e}=ie,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let s=t[n++],i=!!(s&128),o=0;if(!i)o=s;else{let c=s&127;if(!c)throw new e("tlv.decode(long): indefinite length not supported");if(c>4)throw new e("tlv.decode(long): byte length is too big");let l=t.subarray(n,n+c);if(l.length!==c)throw new e("tlv.decode: length bytes not complete");if(l[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let f of l)o=o<<8|f;if(n+=c,o<128)throw new e("tlv.decode(long): not minimal encoding")}let a=t.subarray(n,n+o);if(a.length!==o)throw new e("tlv.decode: wrong value length");return{v:a,l:t.subarray(n+o)}}},_int:{encode(r){let{Err:t}=ie;if(r<oe)throw new t("integer: negative integers are not allowed");let e=Ae(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected assertion");return e},decode(r){let{Err:t}=ie;if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return th(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=ie,s=typeof r=="string"?eh(r):r;Xe(s);let{v:i,l:o}=n.decode(48,s);if(o.length)throw new t("Invalid signature: left bytes after parsing");let{v:a,l:c}=n.decode(2,i),{v:l,l:f}=n.decode(2,c);if(f.length)throw new t("Invalid signature: left bytes after parsing");return{r:e.decode(a),s:e.decode(l)}},hexFromSig(r){let{_tlv:t,_int:e}=ie,n=`${t.encode(2,e.encode(r.r))}${t.encode(2,e.encode(r.s))}`;return t.encode(48,n)}},oe=BigInt(0),at=BigInt(1),lg=BigInt(2),vc=BigInt(3),ug=BigInt(4);function rh(r){let t=Qf(r),{Fp:e}=t,n=ge(t.n,t.nBitLength),s=t.toBytes||((b,h,y)=>{let v=h.toAffine();return Yt(Uint8Array.from([4]),e.toBytes(v.x),e.toBytes(v.y))}),i=t.fromBytes||(b=>{let h=b.subarray(1),y=e.fromBytes(h.subarray(0,e.BYTES)),v=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:y,y:v}});function o(b){let{a:h,b:y}=t,v=e.sqr(b),g=e.mul(v,b);return e.add(e.add(g,e.mul(b,h)),y)}if(!e.eql(e.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(b){return br(b,at,t.n)}function c(b){let{allowedPrivateKeyLengths:h,nByteLength:y,wrapPrivateKey:v,n:g}=t;if(h&&typeof b!="bigint"){if(he(b)&&(b=jt(b)),typeof b!="string"||!h.includes(b.length))throw new Error("Invalid key");b=b.padStart(y*2,"0")}let S;try{S=typeof b=="bigint"?b:Jt(J("private key",b,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof b}`)}return v&&(S=$(S,g)),vt("private key",S,at,g),S}function l(b){if(!(b instanceof d))throw new Error("ProjectivePoint expected")}let f=Ne((b,h)=>{let{px:y,py:v,pz:g}=b;if(e.eql(g,e.ONE))return{x:y,y:v};let S=b.is0();h==null&&(h=S?e.ONE:e.inv(g));let U=e.mul(y,h),L=e.mul(v,h),k=e.mul(g,h);if(S)return{x:e.ZERO,y:e.ZERO};if(!e.eql(k,e.ONE))throw new Error("invZ was invalid");return{x:U,y:L}}),u=Ne(b=>{if(b.is0()){if(t.allowInfinityPoint&&!e.is0(b.py))return;throw new Error("bad point: ZERO")}let{x:h,y}=b.toAffine();if(!e.isValid(h)||!e.isValid(y))throw new Error("bad point: x or y not FE");let v=e.sqr(y),g=o(h);if(!e.eql(v,g))throw new Error("bad point: equation left != right");if(!b.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,y,v){if(this.px=h,this.py=y,this.pz=v,h==null||!e.isValid(h))throw new Error("x required");if(y==null||!e.isValid(y))throw new Error("y required");if(v==null||!e.isValid(v))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:y,y:v}=h||{};if(!h||!e.isValid(y)||!e.isValid(v))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let g=S=>e.eql(S,e.ZERO);return g(y)&&g(v)?d.ZERO:new d(y,v,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let y=e.invertBatch(h.map(v=>v.pz));return h.map((v,g)=>v.toAffine(y[g])).map(d.fromAffine)}static fromHex(h){let y=d.fromAffine(i(J("pointHex",h)));return y.assertValidity(),y}static fromPrivateKey(h){return d.BASE.multiply(c(h))}static msm(h,y){return on(d,n,h,y)}_setWindowSize(h){E.setWindowSize(this,h)}assertValidity(){u(this)}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){l(h);let{px:y,py:v,pz:g}=this,{px:S,py:U,pz:L}=h,k=e.eql(e.mul(y,L),e.mul(S,g)),I=e.eql(e.mul(v,L),e.mul(U,g));return k&&I}negate(){return new d(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:y}=t,v=e.mul(y,vc),{px:g,py:S,pz:U}=this,L=e.ZERO,k=e.ZERO,I=e.ZERO,C=e.mul(g,g),Q=e.mul(S,S),F=e.mul(U,U),M=e.mul(g,S);return M=e.add(M,M),I=e.mul(g,U),I=e.add(I,I),L=e.mul(h,I),k=e.mul(v,F),k=e.add(L,k),L=e.sub(Q,k),k=e.add(Q,k),k=e.mul(L,k),L=e.mul(M,L),I=e.mul(v,I),F=e.mul(h,F),M=e.sub(C,F),M=e.mul(h,M),M=e.add(M,I),I=e.add(C,C),C=e.add(I,C),C=e.add(C,F),C=e.mul(C,M),k=e.add(k,C),F=e.mul(S,U),F=e.add(F,F),C=e.mul(F,M),L=e.sub(L,C),I=e.mul(F,Q),I=e.add(I,I),I=e.add(I,I),new d(L,k,I)}add(h){l(h);let{px:y,py:v,pz:g}=this,{px:S,py:U,pz:L}=h,k=e.ZERO,I=e.ZERO,C=e.ZERO,Q=t.a,F=e.mul(t.b,vc),M=e.mul(y,S),tt=e.mul(v,U),B=e.mul(g,L),N=e.add(y,v),m=e.add(S,U);N=e.mul(N,m),m=e.add(M,tt),N=e.sub(N,m),m=e.add(y,g);let p=e.add(S,L);return m=e.mul(m,p),p=e.add(M,B),m=e.sub(m,p),p=e.add(v,g),k=e.add(U,L),p=e.mul(p,k),k=e.add(tt,B),p=e.sub(p,k),C=e.mul(Q,m),k=e.mul(F,B),C=e.add(k,C),k=e.sub(tt,C),C=e.add(tt,C),I=e.mul(k,C),tt=e.add(M,M),tt=e.add(tt,M),B=e.mul(Q,B),m=e.mul(F,m),tt=e.add(tt,B),B=e.sub(M,B),B=e.mul(Q,B),m=e.add(m,B),M=e.mul(tt,m),I=e.add(I,M),M=e.mul(p,m),k=e.mul(N,k),k=e.sub(k,M),M=e.mul(N,tt),C=e.mul(p,C),C=e.add(C,M),new d(k,I,C)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return E.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){vt("scalar",h,oe,t.n);let y=d.ZERO;if(h===oe)return y;if(h===at)return this;let{endo:v}=t;if(!v)return E.unsafeLadder(this,h);let{k1neg:g,k1:S,k2neg:U,k2:L}=v.splitScalar(h),k=y,I=y,C=this;for(;S>oe||L>oe;)S&at&&(k=k.add(C)),L&at&&(I=I.add(C)),C=C.double(),S>>=at,L>>=at;return g&&(k=k.negate()),U&&(I=I.negate()),I=new d(e.mul(I.px,v.beta),I.py,I.pz),k.add(I)}multiply(h){let{endo:y,n:v}=t;vt("scalar",h,at,v);let g,S;if(y){let{k1neg:U,k1:L,k2neg:k,k2:I}=y.splitScalar(h),{p:C,f:Q}=this.wNAF(L),{p:F,f:M}=this.wNAF(I);C=E.constTimeNegate(U,C),F=E.constTimeNegate(k,F),F=new d(e.mul(F.px,y.beta),F.py,F.pz),g=C.add(F),S=Q.add(M)}else{let{p:U,f:L}=this.wNAF(h);g=U,S=L}return d.normalizeZ([g,S])[0]}multiplyAndAddUnsafe(h,y,v){let g=d.BASE,S=(L,k)=>k===oe||k===at||!L.equals(g)?L.multiplyUnsafe(k):L.multiply(k),U=S(this,y).add(S(h,v));return U.is0()?void 0:U}toAffine(h){return f(this,h)}isTorsionFree(){let{h,isTorsionFree:y}=t;if(h===at)return!0;if(y)return y(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:y}=t;return h===at?this:y?y(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return Rt("isCompressed",h),this.assertValidity(),s(d,this,h)}toHex(h=!0){return Rt("isCompressed",h),jt(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,e.ONE),d.ZERO=new d(e.ZERO,e.ONE,e.ZERO);let w=t.nBitLength,E=sn(d,t.endo?Math.ceil(w/2):w);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function nh(r){let t=wr(r);return Pt(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Ec(r){let t=nh(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(B){return $(B,n)}function a(B){return nn(B,n)}let{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:u}=rh({...t,toBytes(B,N,m){let p=N.toAffine(),x=e.toBytes(p.x),T=Yt;return Rt("isCompressed",m),m?T(Uint8Array.from([N.hasEvenY()?2:3]),x):T(Uint8Array.from([4]),x,e.toBytes(p.y))},fromBytes(B){let N=B.length,m=B[0],p=B.subarray(1);if(N===s&&(m===2||m===3)){let x=Jt(p);if(!br(x,at,e.ORDER))throw new Error("Point is not on curve");let T=f(x),_;try{_=e.sqrt(T)}catch(P){let H=P instanceof Error?": "+P.message:"";throw new Error("Point is not on curve"+H)}let R=(_&at)===at;return(m&1)===1!==R&&(_=e.neg(_)),{x,y:_}}else if(N===i&&m===4){let x=e.fromBytes(p.subarray(0,e.BYTES)),T=e.fromBytes(p.subarray(e.BYTES,2*e.BYTES));return{x,y:T}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),d=B=>jt(pe(B,t.nByteLength));function w(B){let N=n>>at;return B>N}function E(B){return w(B)?o(-B):B}let b=(B,N,m)=>Jt(B.slice(N,m));class h{constructor(N,m,p){this.r=N,this.s=m,this.recovery=p,this.assertValidity()}static fromCompact(N){let m=t.nByteLength;return N=J("compactSignature",N,m*2),new h(b(N,0,m),b(N,m,2*m))}static fromDER(N){let{r:m,s:p}=ie.toSig(J("DER",N));return new h(m,p)}assertValidity(){vt("r",this.r,at,n),vt("s",this.s,at,n)}addRecoveryBit(N){return new h(this.r,this.s,N)}recoverPublicKey(N){let{r:m,s:p,recovery:x}=this,T=L(J("msgHash",N));if(x==null||![0,1,2,3].includes(x))throw new Error("recovery id invalid");let _=x===2||x===3?m+t.n:m;if(_>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let R=x&1?"03":"02",V=c.fromHex(R+d(_)),P=a(_),H=o(-T*P),q=o(p*P),z=c.BASE.multiplyAndAddUnsafe(V,H,q);if(!z)throw new Error("point at infinify");return z.assertValidity(),z}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return ke(this.toDERHex())}toDERHex(){return ie.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ke(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let y={isValidPrivateKey(B){try{return l(B),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let B=Qs(t.n);return Xo(t.randomBytes(B),t.n)},precompute(B=8,N=c.BASE){return N._setWindowSize(B),N.multiply(BigInt(3)),N}};function v(B,N=!0){return c.fromPrivateKey(B).toRawBytes(N)}function g(B){let N=he(B),m=typeof B=="string",p=(N||m)&&B.length;return N?p===s||p===i:m?p===2*s||p===2*i:B instanceof c}function S(B,N,m=!0){if(g(B))throw new Error("first arg must be private key");if(!g(N))throw new Error("second arg must be public key");return c.fromHex(N).multiply(l(B)).toRawBytes(m)}let U=t.bits2int||function(B){let N=Jt(B),m=B.length*8-t.nBitLength;return m>0?N>>BigInt(m):N},L=t.bits2int_modN||function(B){return o(U(B))},k=yr(t.nBitLength);function I(B){return vt(`num < 2^${t.nBitLength}`,B,oe,k),pe(B,t.nByteLength)}function C(B,N,m=Q){if(["recovered","canonical"].some(ot=>ot in m))throw new Error("sign() legacy options not supported");let{hash:p,randomBytes:x}=t,{lowS:T,prehash:_,extraEntropy:R}=m;T==null&&(T=!0),B=J("msgHash",B),xc(m),_&&(B=J("prehashed msgHash",p(B)));let V=L(B),P=l(N),H=[I(P),I(V)];if(R!=null&&R!==!1){let ot=R===!0?x(e.BYTES):R;H.push(J("extraEntropy",ot))}let q=Yt(...H),z=V;function it(ot){let ct=U(ot);if(!u(ct))return;let mt=a(ct),et=c.BASE.multiply(ct).toAffine(),xt=o(et.x);if(xt===oe)return;let zt=o(mt*o(z+xt*P));if(zt===oe)return;let lr=(et.x===xt?0:2)|Number(et.y&at),ur=zt;return T&&w(zt)&&(ur=E(zt),lr^=1),new h(xt,ur,lr)}return{seed:q,k2sig:it}}let Q={lowS:t.lowS,prehash:!1},F={lowS:t.lowS,prehash:!1};function M(B,N,m=Q){let{seed:p,k2sig:x}=C(B,N,m),T=t;return js(T.hash.outputLen,T.nByteLength,T.hmac)(p,x)}c.BASE._setWindowSize(8);function tt(B,N,m,p=F){let x=B;if(N=J("msgHash",N),m=J("publicKey",m),"strict"in p)throw new Error("options.strict was renamed to lowS");xc(p);let{lowS:T,prehash:_}=p,R,V;try{if(typeof x=="string"||he(x))try{R=h.fromDER(x)}catch(et){if(!(et instanceof ie.Err))throw et;R=h.fromCompact(x)}else if(typeof x=="object"&&typeof x.r=="bigint"&&typeof x.s=="bigint"){let{r:et,s:xt}=x;R=new h(et,xt)}else throw new Error("PARSE");V=c.fromHex(m)}catch(et){if(et.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(T&&R.hasHighS())return!1;_&&(N=t.hash(N));let{r:P,s:H}=R,q=L(N),z=a(H),it=o(q*z),ot=o(P*z),ct=c.BASE.multiplyAndAddUnsafe(V,it,ot)?.toAffine();return ct?o(ct.x)===P:!1}return{CURVE:t,getPublicKey:v,getSharedSecret:S,sign:M,verify:tt,ProjectivePoint:c,Signature:h,utils:y}}function sh(r){return{hash:r,hmac:(t,...e)=>Zi(r,t,Fs(...e)),randomBytes:Je}}function Bc(r,t){let e=n=>Ec({...r,...sh(n)});return Object.freeze({...e(t),create:e})}var kc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Sc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ih=BigInt(1),Wi=BigInt(2),Ac=(r,t)=>(r+t/Wi)/t;function oh(r){let t=kc,e=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),l=r*r*r%t,f=l*l*r%t,u=Z(f,e,t)*f%t,d=Z(u,e,t)*f%t,w=Z(d,Wi,t)*l%t,E=Z(w,s,t)*w%t,b=Z(E,i,t)*E%t,h=Z(b,a,t)*b%t,y=Z(h,c,t)*h%t,v=Z(y,a,t)*b%t,g=Z(v,e,t)*f%t,S=Z(g,o,t)*E%t,U=Z(S,n,t)*l%t,L=Z(U,Wi,t);if(!ji.eql(ji.sqr(L),r))throw new Error("Cannot find square root");return L}var ji=ge(kc,void 0,void 0,{sqrt:oh}),De=Bc({a:BigInt(0),b:BigInt(7),Fp:ji,n:Sc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Sc,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ih*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=Ac(i*r,t),c=Ac(-n*r,t),l=$(r-a*e-c*s,t),f=$(-a*n-c*i,t),u=l>o,d=f>o;if(u&&(l=t-l),d&&(f=t-f),l>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:l,k2neg:d,k2:f}}}},tr),wg=BigInt(0);var xg=De.ProjectivePoint;function Me(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=ft(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function Ic(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Nc(r,t,e){let n=Ue.digest(e instanceof Uint8Array?e:e.subarray());if(Ic(n))return n.then(({digest:s})=>De.verify(t,s,r)).catch(s=>{throw new Cr(String(s))});try{return De.verify(t,n.digest,r)}catch(s){throw new Cr(String(s))}}var as=class{type="secp256k1";raw;_key;constructor(t){this._key=Cc(t),this.raw=Tc(this._key)}toMultihash(){return Zt.digest(Ce(this))}toCID(){return It.createV1(114,this.toMultihash())}toString(){return X.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Tt(this.raw,t.raw)}verify(t,e){return Nc(this._key,e,t)}};function Ji(r){return new as(r)}function Tc(r){return De.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Cc(r){try{return De.ProjectivePoint.fromHex(r),r}catch(t){throw new Pe(String(t))}}function Yi(r){let{Type:t,Data:e}=Ft.decode(r),n=e??new Uint8Array;switch(t){case st.RSA:return Gi(n);case st.Ed25519:return si(n);case st.secp256k1:return Ji(n);default:throw new Be}}function Lc(r){let{Type:t,Data:e}=Ft.decode(r.digest),n=e??new Uint8Array;switch(t){case st.Ed25519:return si(n);case st.secp256k1:return Ji(n);default:throw new Be}}function Ce(r){return Ft.encode({Type:st[r.type],Data:r.raw})}var Uc=Symbol.for("nodejs.util.inspect.custom"),ah=114,_r=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Cs]=!0;toString(){return this.string==null&&(this.string=X.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return It.createV1(ah,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Tt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return Tt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Uc](){return`PeerId(${this.toString()})`}},Rr=class extends _r{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},Dr=class extends _r{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},Mr=class extends _r{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},ch=2336,cs=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Zt.digest(W(this.url))}[Uc](){return`PeerId(${this.url})`}[Cs]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return It.createV1(ch,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=Ot(t)),t.toString()===this.toString())}};function Xi(r){if(r.type==="Ed25519")return new Dr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="secp256k1")return new Mr({multihash:r.toCID().multihash,publicKey:r});if(r.type==="RSA")return new Rr({multihash:r.toCID().multihash,publicKey:r});throw new Be}function _c(r){return Xi(r.publicKey)}function Vr(r){if(uh(r))return new Rr({multihash:r});if(lh(r))try{let t=Lc(r);if(t.type==="Ed25519")return new Dr({multihash:r,publicKey:t});if(t.type==="secp256k1")return new Mr({multihash:r,publicKey:t})}catch{let e=Ot(r.digest);return new cs(new URL(e))}throw new jr("Supplied PeerID Multihash is invalid")}function lh(r){return r.code===Zt.code}function uh(r){return r.code===Ue.code}function Ve(r,t){let e={[Symbol.iterator]:()=>e,next:()=>{let n=r.next(),s=n.value;return n.done===!0||s==null?{done:!0,value:void 0}:{done:!1,value:t(s)}}};return e}function ls(r){let t=ce(X.decode(`z${r}`));return Vr(t)}var Hr=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),{key:e,value:n})}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return Ve(this.map.entries(),t=>[t[1].key,t[1].value])}forEach(t){this.map.forEach((e,n)=>{t(e.value,e.key,this)})}get(t){return this.map.get(t.toString())?.value}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),{key:t,value:e})}keys(){return Ve(this.map.values(),t=>t.key)}values(){return Ve(this.map.values(),t=>t.value)}get size(){return this.map.size}};var Or=class r{set;constructor(t){if(this.set=new Set,t!=null)for(let e of t)this.set.add(e.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return Ve(this.set.entries(),t=>{let e=ls(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=ls(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return Ve(this.set.values(),t=>ls(t))}intersection(t){let e=new r;for(let n of t)this.has(n)&&e.add(n);return e}difference(t){let e=new r;for(let n of this)t.has(n)||e.add(n);return e}union(t){let e=new r;for(let n of t)e.add(n);for(let n of this)e.add(n);return e}};var Dc=Symbol.for("@achingbrain/uint8arraylist");function Rc(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let s=e+n.byteLength;if(t<s)return{buf:n,index:t-e};e=s}throw new RangeError("index is out of bounds")}function us(r){return!!r?.[Dc]}var Ee=class r{bufs;length;[Dc]=!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(us(n))e+=n.byteLength,this.bufs.push(...n.bufs);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(us(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=Rc(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Rc(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(us(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:s}=this._subList(t,e);return Me(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Me(n,s)}sublist(t,e){let{bufs:n,length:s}=this._subList(t,e),i=new r;return i.length=s,i.bufs=[...n],i}_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=[],s=0;for(let i=0;i<this.bufs.length;i++){let o=this.bufs[i],a=s,c=a+o.byteLength;if(s=c,t>=c)continue;let l=t>=a&&t<c,f=e>a&&e<=c;if(l&&f){if(t===a&&e===c){n.push(o);break}let u=t-a;n.push(o.subarray(u,u+(e-t)));break}if(l){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(f){if(e===c){n.push(o);break}n.push(o.subarray(0,e-a));break}n.push(o)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!us(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 s=n.byteLength;if(s===0)throw new TypeError("search must be at least 1 byte long");let i=256,o=new Int32Array(i);for(let u=0;u<i;u++)o[u]=-1;for(let u=0;u<s;u++)o[n[u]]=u;let a=o,c=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let u=e;u<=c;u+=f){f=0;for(let d=l;d>=0;d--){let w=this.get(u+d);if(n[d]!==w){f=Math.max(1,d-a[w]);break}}if(f===0)return u}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=ft(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 s=Xt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt16(0,e,n),this.write(s,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 s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setInt32(0,e,n),this.write(s,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 s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigInt64(0,e,n),this.write(s,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=ft(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 s=Xt(2);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint16(0,e,n),this.write(s,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 s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setUint32(0,e,n),this.write(s,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 s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setBigUint64(0,e,n),this.write(s,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 s=Xt(4);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat32(0,e,n),this.write(s,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 s=Xt(8);new DataView(s.buffer,s.byteOffset,s.byteLength).setFloat64(0,e,n),this.write(s,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(!Tt(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((s,i)=>s+i.byteLength,0)),n.length=e,n}};function fs(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var hs=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},ar=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new hs(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new hs(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Qi=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function cr(r={}){return fh(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function fh(r,t){t=t??{};let e=t.onEnd,n=new ar,s,i,o,a=fs(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((h,y)=>{i=v=>{i=null,n.push(v);try{h(r(n))}catch(g){y(g)}return s}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=fs()})}},l=h=>i!=null?i(h):(n.push(h),s),f=h=>(n=new ar,i!=null?i({error:h}):(n.push({error:h}),s)),u=h=>{if(o)return s;if(t?.objectMode!==!0&&h?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:h})},d=h=>o?s:(o=!0,h!=null?f(h):l({done:!0})),w=()=>(n=new ar,d(),{done:!0}),E=h=>(d(h),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:c,return:w,throw:E,push:u,end:d,get readableLength(){return n.size},onEmpty:async h=>{let y=h?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let v,g;y!=null&&(v=new Promise((S,U)=>{g=()=>{U(new Qi)},y.addEventListener("abort",g)}));try{await Promise.race([a.promise,v])}finally{g!=null&&y!=null&&y?.removeEventListener("abort",g)}}},e==null)return s;let b=s;return s={[Symbol.asyncIterator](){return this},next(){return b.next()},throw(h){return b.throw(h),e!=null&&(e(h),e=void 0),{done:!0}},return(){return b.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(h){return b.end(h),e!=null&&(e(h),e=void 0),s},get readableLength(){return b.readableLength},onEmpty:h=>b.onEmpty(h)},s}function hh(r){return r[Symbol.asyncIterator]!=null}function dh(...r){let t=[];for(let e of r)hh(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=cr({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let s of n)e.push(s)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Mc=dh;function Pr(r,...t){if(r==null)throw new Error("Empty pipeline");if(to(r)){let n=r;r=()=>n.source}else if(Hc(r)||Vc(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&to(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)to(e[n])&&(e[n]=gh(e[n]));return ph(...e)}var ph=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},Vc=r=>r?.[Symbol.asyncIterator]!=null,Hc=r=>r?.[Symbol.iterator]!=null,to=r=>r==null?!1:r.sink!=null&&r.source!=null,gh=r=>t=>{let e=r.sink(t);if(e?.then!=null){let n=cr({objectMode:!0});e.then(()=>{n.end()},o=>{n.end(o)});let s,i=r.source;if(Vc(i))s=async function*(){yield*i,n.end()};else if(Hc(i))s=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Mc(n,s())}return r.source};var ro=wo(Pc(),1);var Kr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},no=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Fc=r=>globalThis.DOMException===void 0?new no(r):new DOMException(r),Kc=r=>{let t=r.reason===void 0?Fc("This operation was aborted."):r.reason;return t instanceof Error?t:Fc(t)};function so(r,t){let{milliseconds:e,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=t,o,c=new Promise((l,f)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:d}=t;d.aborted&&f(Kc(d));let w=()=>{f(Kc(d))};d.addEventListener("abort",w,{once:!0}),r.finally(()=>{d.removeEventListener("abort",w)})}if(e===Number.POSITIVE_INFINITY){r.then(l,f);return}let u=new Kr;o=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(d){f(d)}return}typeof r.cancel=="function"&&r.cancel(),s===!1?l():s instanceof Error?f(s):(u.message=s??`Promise timed out after ${e} milliseconds`,f(u))},e),(async()=>{try{l(await r)}catch(d){f(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function io(r,t,e){let n=0,s=r.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;e(r[o],t)<=0?(n=++o,s-=i+1):s=i}return n}var qr=class{#t=[];enqueue(t,e){e={priority:0,...e};let n={priority:e.priority,run:t};if(this.size&&this.#t[this.size-1].priority>=e.priority){this.#t.push(n);return}let s=io(this.#t,n,(i,o)=>o.priority-i.priority);this.#t.splice(s,0,n)}dequeue(){return this.#t.shift()?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(e=>e.run)}get size(){return this.#t.length}};var $r=class extends ro.default{#t;#o;#i=0;#d;#a;#p=0;#r;#c;#e;#g;#n=0;#l;#s;#m;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:qr,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#t=t.carryoverConcurrencyCount,this.#o=t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,this.#d=t.intervalCap,this.#a=t.interval,this.#e=new t.queueClass,this.#g=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#m=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#w(){return this.#o||this.#i<this.#d}get#x(){return this.#n<this.#l}#v(){this.#n--,this.#u(),this.emit("next")}#E(){this.#y(),this.#b(),this.#c=void 0}get#B(){let t=Date.now();if(this.#r===void 0){let e=this.#p-t;if(e<0)this.#i=this.#t?this.#n:0;else return this.#c===void 0&&(this.#c=setTimeout(()=>{this.#E()},e)),!0}return!1}#u(){if(this.#e.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#s){let t=!this.#B;if(this.#w&&this.#x){let e=this.#e.dequeue();return e?(this.emit("active"),e(),t&&this.#b(),!0):!1}}return!1}#b(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#y()},this.#a),this.#p=Date.now()+this.#a)}#y(){this.#i===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#i=this.#t?this.#n:0,this.#f()}#f(){for(;this.#u(););}get concurrency(){return this.#l}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#l=t,this.#f()}async#S(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}async add(t,e={}){return e={timeout:this.timeout,throwOnTimeout:this.#m,...e},new Promise((n,s)=>{this.#e.enqueue(async()=>{this.#n++,this.#i++;try{e.signal?.throwIfAborted();let i=t({signal:e.signal});e.timeout&&(i=so(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#S(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Kr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#v()}},e),this.emit("add"),this.#u()})}async addAll(t,e){return Promise.all(t.map(async n=>this.add(n,e)))}start(){return this.#s?(this.#s=!1,this.#f(),this):this}pause(){this.#s=!0}clear(){this.#e=new this.#g}async onEmpty(){this.#e.size!==0&&await this.#h("empty")}async onSizeLessThan(t){this.#e.size<t||await this.#h("next",()=>this.#e.size<t)}async onIdle(){this.#n===0&&this.#e.size===0||await this.#h("idle")}async#h(t,e){return new Promise(n=>{let s=()=>{e&&!e()||(this.off(t,s),n())};this.on(t,s)})}get size(){return this.#e.size}sizeBy(t){return this.#e.filter(t).length}get pending(){return this.#n}get isPaused(){return this.#s}};function qc(r){if(r!=null){if(typeof r[Symbol.iterator]=="function")return r[Symbol.iterator]();if(typeof r[Symbol.asyncIterator]=="function")return r[Symbol.asyncIterator]();if(typeof r.next=="function")return r}throw new Error("argument is not an iterator or iterable")}function $c(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function zc(r,t){let e=qc(r).return?.();$c(e)&&e.catch(n=>{t.error("could not cause iterator to return",n)})}function ps(r){return r[Symbol.asyncIterator]!=null}var gs=r=>{let t=Mt(r),e=ft(t);return oa(r,e),gs.bytes=t,e};gs.bytes=0;function ms(r,t){t=t??{};let e=t.lengthEncoder??gs;function*n(s){let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return ps(r)?async function*(){for await(let s of r)yield*n(s)}():function*(){for(let s of r)yield*n(s)}()}ms.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??gs;return new Ee(e(r.byteLength),r)};var bs=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},ys=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},ws=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},zr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var yh=8,wh=1024*1024*4,He;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(He||(He={}));var oo=r=>{let t=aa(r);return oo.bytes=Mt(t),t};oo.bytes=0;function Gr(r,t){let e=new Ee,n=He.LENGTH,s=-1,i=t?.lengthDecoder??oo,o=t?.maxLengthLength??yh,a=t?.maxDataLength??wh;function*c(){for(;e.byteLength>0;){if(n===He.LENGTH)try{if(s=i(e),s<0)throw new bs("Invalid message length");if(s>a)throw new ys("Message length too long");let l=i.bytes;e.consume(l),t?.onLength!=null&&t.onLength(s),n=He.DATA}catch(l){if(l instanceof RangeError){if(e.byteLength>o)throw new ws("Message length length too long");break}throw l}if(n===He.DATA){if(e.byteLength<s)break;let l=e.sublist(0,s);e.consume(s),t?.onData!=null&&t.onData(l),yield l,n=He.LENGTH}}}return ps(r)?async function*(){for await(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw new zr("Unexpected end of input")}():function*(){for(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw new zr("Unexpected end of input")}()}Gr.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:i,value:o}=await r.next(e);if(i===!0)return;o!=null&&(yield o)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return Gr(n,{...t??{},onLength:i=>{e=i}})};var xs=class extends Fe{id;protocol;outboundStream;inboundStream;_rawOutboundStream;_rawInboundStream;_inboundAbortController;closed;log;constructor(t,e){super(),this.log=t.logger.forComponent("libp2p-pubsub:peer-streams"),this.id=e.id,this.protocol=e.protocol,this._inboundAbortController=new AbortController,this.closed=!1}get isReadable(){return!!this.inboundStream}get isWritable(){return!!this.outboundStream}write(t){if(this.outboundStream==null){let e=this.id.toString();throw new Error("No writable connection to "+e)}this.outboundStream.push(t instanceof Uint8Array?new Ee(t):t)}attachInboundStream(t){let e=()=>{zc(t.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",e,{once:!0}),this._rawInboundStream=t,this.inboundStream=Pr(this._rawInboundStream,n=>Gr(n)),this.dispatchEvent(new CustomEvent("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let e=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=cr({onEnd:n=>{this._rawOutboundStream!=null&&this._rawOutboundStream.closeWrite().catch(s=>{this.log("error closing outbound stream",s)}),this._rawOutboundStream=void 0,this.outboundStream=void 0,n!=null&&this.dispatchEvent(new CustomEvent("close"))}}),Pr(this.outboundStream,n=>ms(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),e==null&&this.dispatchEvent(new CustomEvent("stream:outbound")),this.outboundStream}close(){this.closed||(this.closed=!0,this.outboundStream!=null&&this.outboundStream.end(),this.inboundStream!=null&&this._inboundAbortController.abort(),this._rawOutboundStream=void 0,this.outboundStream=void 0,this._rawInboundStream=void 0,this.inboundStream=void 0,this.dispatchEvent(new CustomEvent("close")))}};function Gc(){return BigInt(`0x${Ot(ns(8),"base16")}`)}var Zc=(r,t)=>{let e=W(t.toString(16).padStart(16,"0"),"base16"),n=Ce(r),s=new Uint8Array(n.byteLength+e.length);return s.set(n,0),s.set(e,n.byteLength),s},Wc=r=>Ue.encode(r);var jc=function(r){return Array.isArray(r)?r:[r]},vh=async r=>{if(r.sequenceNumber==null||r.from==null||r.signature==null)return!1;let t=Vr(ce(r.from));if(t.publicKey!=null)return!0;if(r.key!=null){let e=r.key;return Xi(Yi(e)).equals(t)}return!1},Jc=async r=>{if(r.from==null)throw new Y("RPC message was missing from");if(!await vh(r))return{type:"unsigned",topic:r.topic??"",data:r.data??new Uint8Array(0)};let t=Vr(ce(r.from)),e=r.key??t.publicKey;if(e==null)throw new Y("RPC message was missing public key");return{type:"signed",from:t,topic:r.topic??"",sequenceNumber:Bh(r.sequenceNumber??new Uint8Array(0)),data:r.data??new Uint8Array(0),signature:r.signature??new Uint8Array(0),key:e instanceof Uint8Array?Yi(e):e}},Zr=r=>r.type==="signed"?{from:r.from.toMultihash().bytes,data:r.data,sequenceNumber:Eh(r.sequenceNumber),topic:r.topic,signature:r.signature,key:r.key?Ce(r.key):void 0}:{data:r.data,topic:r.topic},Eh=r=>{let t=r.toString(16);return t.length%2!==0&&(t=`0${t}`),W(t,"base16")},Bh=r=>BigInt(`0x${Ot(r,"base16")}`);var Yc=W("libp2p-pubsub:");async function Xc(r,t,e){let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:_c(r)},s=Me([Yc,e(Zr(n)).subarray()]);return n.signature=await r.sign(s),n.key=r.publicKey,n}async function Qc(r,t){if(r.type!=="signed")throw new Error('Message type must be "signed" to be verified');if(r.signature==null)throw new Error("Message must contain a signature to be verified");if(r.from==null)throw new Error("Message must contain a from property to be verified");let e=Me([Yc,t({...Zr(r),signature:void 0,key:void 0}).subarray()]);return Sh(r).verify(e,r.signature)}function Sh(r){if(r.type!=="signed")throw new Error('Message type must be "signed" to have a public key');if(r.from==null)throw new Error("Could not get the public key from the originator id");if(r.key!=null)return r.key;if(r.from.publicKey!=null)return r.from.publicKey;throw new Error("Could not get the public key from the originator id")}var vs=class extends Fe{log;started;topics;subscriptions;peers;globalSignaturePolicy;canRelayMessage;emitSelf;topicValidators;queue;multicodecs;components;_registrarTopologyIds;enabled;maxInboundStreams;maxOutboundStreams;constructor(t,e){super();let{multicodecs:n=[],globalSignaturePolicy:s="StrictSign",canRelayMessage:i=!1,emitSelf:o=!1,messageProcessingConcurrency:a=10,maxInboundStreams:c=1,maxOutboundStreams:l=1}=e;this.log=t.logger.forComponent("libp2p:pubsub"),this.components=t,this.multicodecs=jc(n),this.enabled=e.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Hr,this.globalSignaturePolicy=s==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=i,this.emitSelf=o,this.topicValidators=new Map,this.queue=new $r({concurrency:a}),this.maxInboundStreams=c,this.maxOutboundStreams=l,this._onIncomingStream=this._onIncomingStream.bind(this),this._onPeerConnected=this._onPeerConnected.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this)}async start(){if(this.started||!this.enabled)return;this.log("starting");let t=this.components.registrar;await Promise.all(this.multicodecs.map(async n=>{await t.handle(n,this._onIncomingStream,{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams})}));let e={onConnect:this._onPeerConnected,onDisconnect:this._onPeerDisconnected};this._registrarTopologyIds=await Promise.all(this.multicodecs.map(async n=>t.register(n,e))),this.log("started"),this.started=!0}async stop(){if(!this.started||!this.enabled)return;let t=this.components.registrar;this._registrarTopologyIds!=null&&this._registrarTopologyIds?.forEach(e=>{t.unregister(e)}),await Promise.all(this.multicodecs.map(async e=>{await t.unhandle(e)})),this.log("stopping");for(let e of this.peers.values())e.close();this.peers.clear(),this.subscriptions=new Set,this.started=!1,this.log("stopped")}isStarted(){return this.started}_onIncomingStream(t){let{stream:e,connection:n}=t,s=n.remotePeer;if(e.protocol==null){e.abort(new Error("Stream was not multiplexed"));return}let i=this.addPeer(s,e.protocol),o=i.attachInboundStream(e);this.processMessages(s,o,i).catch(a=>{this.log(a)})}_onPeerConnected(t,e){if(this.log("connected %p",t),e.streams.find(n=>n.direction==="outbound"&&n.protocol!=null&&this.multicodecs.includes(n.protocol))!=null){this.log("outbound pubsub streams already present on connection from %p",t);return}Promise.resolve().then(async()=>{try{let n=await e.newStream(this.multicodecs);if(n.protocol==null){n.abort(new Error("Stream was not multiplexed"));return}await this.addPeer(t,n.protocol).attachOutboundStream(n)}catch(n){this.log.error(n)}this.send(t,{subscriptions:Array.from(this.subscriptions).map(n=>n.toString()),subscribe:!0})}).catch(n=>{this.log.error(n)})}_onPeerDisconnected(t,e){this.log("connection ended %p",t),this._removePeer(t)}addPeer(t,e){let n=this.peers.get(t);if(n!=null)return n;this.log("new peer %p",t);let s=new xs(this.components,{id:t,protocol:e});return this.peers.set(t,s),s.addEventListener("close",()=>this._removePeer(t),{once:!0}),s}_removePeer(t){let e=this.peers.get(t);if(e!=null){e.close(),this.log("delete peer %p",t),this.peers.delete(t);for(let n of this.topics.values())n.delete(t);return e}}async processMessages(t,e,n){try{await Pr(e,async s=>{for await(let i of s){let o=this.decodeRpc(i),a=[];for(let c of o.messages??[]){if(c.from==null||c.data==null||c.topic==null){this.log("message from %p was missing from, data or topic fields, dropping",t);continue}a.push({from:c.from,data:c.data,topic:c.topic,sequenceNumber:c.sequenceNumber??void 0,signature:c.signature??void 0,key:c.key??void 0})}this.processRpc(t,n,{subscriptions:(o.subscriptions??[]).map(c=>({subscribe:!!c.subscribe,topic:c.topic??""})),messages:a}).catch(c=>{this.log(c)})}})}catch(s){this._onPeerDisconnected(n.id,s)}}async processRpc(t,e,n){if(!this.acceptFrom(t))return this.log("received message from unacceptable peer %p",t),!1;this.log("rpc from %p",t);let{subscriptions:s,messages:i}=n;return s!=null&&s.length>0&&(this.log("subscription update from %p",t),s.forEach(o=>{this.processRpcSubOpt(t,o)}),super.dispatchEvent(new CustomEvent("subscription-change",{detail:{peerId:e.id,subscriptions:s.map(({topic:o,subscribe:a})=>({topic:`${o??""}`,subscribe:!!a}))}}))),i!=null&&i.length>0&&(this.log("messages from %p",t),this.queue.addAll(i.map(o=>async()=>{if(o.topic==null||!this.subscriptions.has(o.topic)&&!this.canRelayMessage)return this.log("received message we didn't subscribe to. Dropping."),!1;try{let a=await Jc(o);await this.processMessage(t,a)}catch(a){this.log.error(a)}})).catch(o=>{this.log(o)})),!0}processRpcSubOpt(t,e){let n=e.topic;if(n==null)return;let s=this.topics.get(n);s==null&&(s=new Or,this.topics.set(n,s)),e.subscribe===!0?s.add(t):s.delete(t)}async processMessage(t,e){if(!(this.components.peerId.equals(t)&&!this.emitSelf)){try{await this.validate(t,e)}catch(n){this.log("Message is invalid, dropping it. %O",n);return}this.subscriptions.has(e.topic)&&(!this.components.peerId.equals(t)||this.emitSelf)&&super.dispatchEvent(new CustomEvent("message",{detail:e})),await this.publishMessage(t,e)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new Y('Message type should be "signed" when signature policy is StrictSign but it was not');if(t.sequenceNumber==null)throw new Y("Need seqno when signature policy is StrictSign but it was missing");if(t.key==null)throw new Y("Need key when signature policy is StrictSign but it was missing");return Zc(t.key,t.sequenceNumber);case"StrictNoSign":return Wc(t.data);default:throw new Y("Cannot get message id: unhandled signature policy")}}acceptFrom(t){return!0}send(t,e){let{messages:n,subscriptions:s,subscribe:i}=e;this.sendRpc(t,{subscriptions:(s??[]).map(o=>({topic:o,subscribe:!!i})),messages:(n??[]).map(Zr)})}sendRpc(t,e){let n=this.peers.get(t);if(n==null){this.log.error("Cannot send RPC to %p as there are no streams to it available",t);return}if(!n.isWritable){this.log.error("Cannot send RPC to %p as there is no outbound stream to it available",t);return}n.write(this.encodeRpc(e))}async validate(t,e){switch(this.globalSignaturePolicy){case"StrictNoSign":if(e.type!=="unsigned")throw new Y('Message type should be "unsigned" when signature policy is StrictNoSign but it was not');if(e.signature!=null)throw new Y("StrictNoSigning: signature should not be present");if(e.key!=null)throw new Y("StrictNoSigning: key should not be present");if(e.sequenceNumber!=null)throw new Y("StrictNoSigning: seqno should not be present");break;case"StrictSign":if(e.type!=="signed")throw new Y('Message type should be "signed" when signature policy is StrictSign but it was not');if(e.signature==null)throw new Y("StrictSigning: Signing required and no signature was present");if(e.sequenceNumber==null)throw new Y("StrictSigning: Signing required and no sequenceNumber was present");if(!await Qc(e,this.encodeMessage.bind(this)))throw new Y("StrictSigning: Invalid message signature");break;default:throw new Y("Cannot validate message: unhandled signature policy")}let s=this.topicValidators.get(e.topic);if(s!=null){let i=await s(t,e);if(i===fr.Reject||i===fr.Ignore)throw new Y("Message validation failed")}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return Xc(this.components.privateKey,t,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...t});default:throw new Y("Cannot build message: unhandled signature policy")}}getSubscribers(t){if(!this.started)throw new Jr("not started yet");if(t==null)throw new rt("Topic is required");let e=this.topics.get(t.toString());return e==null?[]:Array.from(e.values())}async publish(t,e){if(!this.started)throw new Error("Pubsub has not started");let n={from:this.components.peerId,topic:t,data:e??new Uint8Array(0),sequenceNumber:Gc()};this.log("publish topic: %s from: %p data: %m",t,n.from,n.data);let s=await this.buildMessage(n),i=!1;this.emitSelf&&this.subscriptions.has(t)&&(i=!0,super.dispatchEvent(new CustomEvent("message",{detail:s})));let o=await this.publishMessage(this.components.peerId,s);return i&&(o.recipients=[...o.recipients,this.components.peerId]),o}subscribe(t){if(!this.started)throw new Error("Pubsub has not started");if(this.log("subscribe to topic: %s",t),!this.subscriptions.has(t)){this.subscriptions.add(t);for(let e of this.peers.keys())this.send(e,{subscriptions:[t],subscribe:!0})}}unsubscribe(t){if(!this.started)throw new Error("Pubsub is not started");super.removeEventListener(t);let e=this.subscriptions.has(t);if(this.log("unsubscribe from %s - am subscribed %s",t,e),e){this.subscriptions.delete(t);for(let n of this.peers.keys())this.send(n,{subscriptions:[t],subscribe:!1})}}getTopics(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.subscriptions)}getPeers(){if(!this.started)throw new Error("Pubsub is not started");return Array.from(this.peers.keys())}};var Es=class{entries;validityMs;lastPruneTime=0;constructor(t){this.entries=new Map,this.validityMs=t.validityMs}put(t,e){this.entries.set(t,{value:e,validUntilMs:Date.now()+this.validityMs}),this.prune()}prune(){let t=Date.now();if(!(t-this.lastPruneTime<200)){this.lastPruneTime=t;for(let[e,n]of this.entries.entries())if(n.validUntilMs<t)this.entries.delete(e);else break}}has(t){return this.entries.has(t)}get(t){let e=this.entries.get(t);return e!=null&&e.validUntilMs>=Date.now()?e.value:void 0}clear(){this.entries=new Map,this.lastPruneTime=0}};var ao="/floodsub/1.0.0";var Oe;(function(r){let t;(function(s){let i;s.codec=()=>(i==null&&(i=At((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.subscribe!=null&&(a.uint32(8),a.bool(o.subscribe)),o.topic!=null&&(a.uint32(18),a.string(o.topic)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let l={},f=a==null?o.len:o.pos+a;for(;o.pos<f;){let u=o.uint32();switch(u>>>3){case 1:{l.subscribe=o.bool();break}case 2:{l.topic=o.string();break}default:{o.skipType(u&7);break}}}return l})),i),s.encode=o=>St(o,s.codec()),s.decode=(o,a)=>Bt(o,s.codec(),a)})(t=r.SubOpts||(r.SubOpts={}));let e;(function(s){let i;s.codec=()=>(i==null&&(i=At((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.from!=null&&(a.uint32(10),a.bytes(o.from)),o.data!=null&&(a.uint32(18),a.bytes(o.data)),o.sequenceNumber!=null&&(a.uint32(26),a.bytes(o.sequenceNumber)),o.topic!=null&&(a.uint32(34),a.string(o.topic)),o.signature!=null&&(a.uint32(42),a.bytes(o.signature)),o.key!=null&&(a.uint32(50),a.bytes(o.key)),c.lengthDelimited!==!1&&a.ldelim()},(o,a,c={})=>{let l={},f=a==null?o.len:o.pos+a;for(;o.pos<f;){let u=o.uint32();switch(u>>>3){case 1:{l.from=o.bytes();break}case 2:{l.data=o.bytes();break}case 3:{l.sequenceNumber=o.bytes();break}case 4:{l.topic=o.string();break}case 5:{l.signature=o.bytes();break}case 6:{l.key=o.bytes();break}default:{o.skipType(u&7);break}}}return l})),i),s.encode=o=>St(o,s.codec()),s.decode=(o,a)=>Bt(o,s.codec(),a)})(e=r.Message||(r.Message={}));let n;r.codec=()=>(n==null&&(n=At((s,i,o={})=>{if(o.lengthDelimited!==!1&&i.fork(),s.subscriptions!=null)for(let a of s.subscriptions)i.uint32(10),r.SubOpts.codec().encode(a,i);if(s.messages!=null)for(let a of s.messages)i.uint32(18),r.Message.codec().encode(a,i);s.control!=null&&(i.uint32(26),Bs.codec().encode(s.control,i)),o.lengthDelimited!==!1&&i.ldelim()},(s,i,o={})=>{let a={subscriptions:[],messages:[]},c=i==null?s.len:s.pos+i;for(;s.pos<c;){let l=s.uint32();switch(l>>>3){case 1:{if(o.limits?.subscriptions!=null&&a.subscriptions.length===o.limits.subscriptions)throw new Ct('Decode error - map field "subscriptions" had too many elements');a.subscriptions.push(r.SubOpts.codec().decode(s,s.uint32(),{limits:o.limits?.subscriptions$}));break}case 2:{if(o.limits?.messages!=null&&a.messages.length===o.limits.messages)throw new Ct('Decode error - map field "messages" had too many elements');a.messages.push(r.Message.codec().decode(s,s.uint32(),{limits:o.limits?.messages$}));break}case 3:{a.control=Bs.codec().decode(s,s.uint32(),{limits:o.limits?.control});break}default:{s.skipType(l&7);break}}}return a})),n),r.encode=s=>St(s,r.codec()),r.decode=(s,i)=>Bt(s,r.codec(),i)})(Oe||(Oe={}));var Bs;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.ihave!=null)for(let i of e.ihave)n.uint32(10),Ss.codec().encode(i,n);if(e.iwant!=null)for(let i of e.iwant)n.uint32(18),As.codec().encode(i,n);if(e.graft!=null)for(let i of e.graft)n.uint32(26),ks.codec().encode(i,n);if(e.prune!=null)for(let i of e.prune)n.uint32(34),Is.codec().encode(i,n);s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={ihave:[],iwant:[],graft:[],prune:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{if(s.limits?.ihave!=null&&i.ihave.length===s.limits.ihave)throw new Ct('Decode error - map field "ihave" had too many elements');i.ihave.push(Ss.codec().decode(e,e.uint32(),{limits:s.limits?.ihave$}));break}case 2:{if(s.limits?.iwant!=null&&i.iwant.length===s.limits.iwant)throw new Ct('Decode error - map field "iwant" had too many elements');i.iwant.push(As.codec().decode(e,e.uint32(),{limits:s.limits?.iwant$}));break}case 3:{if(s.limits?.graft!=null&&i.graft.length===s.limits.graft)throw new Ct('Decode error - map field "graft" had too many elements');i.graft.push(ks.codec().decode(e,e.uint32(),{limits:s.limits?.graft$}));break}case 4:{if(s.limits?.prune!=null&&i.prune.length===s.limits.prune)throw new Ct('Decode error - map field "prune" had too many elements');i.prune.push(Is.codec().decode(e,e.uint32(),{limits:s.limits?.prune$}));break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(Bs||(Bs={}));var Ss;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),e.messageIDs!=null)for(let i of e.messageIDs)n.uint32(18),n.bytes(i);s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={messageIDs:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.topic=e.string();break}case 2:{if(s.limits?.messageIDs!=null&&i.messageIDs.length===s.limits.messageIDs)throw new Ct('Decode error - map field "messageIDs" had too many elements');i.messageIDs.push(e.bytes());break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(Ss||(Ss={}));var As;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.messageIDs!=null)for(let i of e.messageIDs)n.uint32(10),n.bytes(i);s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={messageIDs:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{if(s.limits?.messageIDs!=null&&i.messageIDs.length===s.limits.messageIDs)throw new Ct('Decode error - map field "messageIDs" had too many elements');i.messageIDs.push(e.bytes());break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(As||(As={}));var ks;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.topic=e.string();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(ks||(ks={}));var Is;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{if(s.lengthDelimited!==!1&&n.fork(),e.topic!=null&&(n.uint32(10),n.string(e.topic)),e.peers!=null)for(let i of e.peers)n.uint32(18),Ns.codec().encode(i,n);e.backoff!=null&&(n.uint32(24),n.uint64(e.backoff)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={peers:[]},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.topic=e.string();break}case 2:{if(s.limits?.peers!=null&&i.peers.length===s.limits.peers)throw new Ct('Decode error - map field "peers" had too many elements');i.peers.push(Ns.codec().decode(e,e.uint32(),{limits:s.limits?.peers$}));break}case 3:{i.backoff=e.uint64();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(Is||(Is={}));var Ns;(function(r){let t;r.codec=()=>(t==null&&(t=At((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.peerID!=null&&(n.uint32(10),n.bytes(e.peerID)),e.signedPeerRecord!=null&&(n.uint32(18),n.bytes(e.signedPeerRecord)),s.lengthDelimited!==!1&&n.ldelim()},(e,n,s={})=>{let i={},o=n==null?e.len:e.pos+n;for(;e.pos<o;){let a=e.uint32();switch(a>>>3){case 1:{i.peerID=e.bytes();break}case 2:{i.signedPeerRecord=e.bytes();break}default:{e.skipType(a&7);break}}}return i})),t),r.encode=e=>St(e,r.codec()),r.decode=(e,n)=>Bt(e,r.codec(),n)})(Ns||(Ns={}));var co=class extends vs{seenCache;constructor(t,e){super(t,{...e,canRelayMessage:!0,multicodecs:[ao]}),this.log=t.logger.forComponent("libp2p:floodsub"),this.seenCache=new Es({validityMs:e?.seenTTL??3e4})}[xo]=!0;[Symbol.toStringTag]="@libp2p/floodsub";[Eo]=["@libp2p/identify"];decodeRpc(t){return Oe.decode(t)}encodeRpc(t){return Oe.encode(t)}decodeMessage(t){return Oe.Message.decode(t)}encodeMessage(t){return Oe.Message.encode(t)}async processMessage(t,e){let n=await super.getMsgId(e),s=Ot(n,"base64");this.seenCache.has(s)||(this.seenCache.put(s,!0),await super.processMessage(t,e))}async publishMessage(t,e){let n=this.getSubscribers(e.topic),s=[];return n==null||n.length===0?(this.log("no peers are subscribed to topic %s",e.topic),{recipients:s}):(n.forEach(i=>{if(this.components.peerId.equals(i)){this.log("not sending message on topic %s to myself",e.topic);return}if(i.equals(t)){this.log("not sending message on topic %s to sender %p",e.topic,i);return}this.log("publish msgs on topics %s %p",e.topic,i),s.push(i),this.send(i,{messages:[e]})}),{recipients:s})}};function Ah(r={}){return t=>new co(t,r)}return dl(kh);})();
|
7
7
|
/*! Bundled license information:
|
8
8
|
|
9
9
|
pvtsutils/build/index.js:
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@libp2p/floodsub",
|
3
|
-
"version": "10.1.
|
3
|
+
"version": "10.1.8-0a3406a05",
|
4
4
|
"description": "libp2p-floodsub, also known as pubsub-flood or just dumbsub, this implementation of pubsub focused on delivering an API for Publish/Subscribe, but with no CastTree Forming (it just floods the network).",
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/pubsub-floodsub#readme",
|
@@ -60,18 +60,18 @@
|
|
60
60
|
"test:electron-main": "aegir test -t electron-main"
|
61
61
|
},
|
62
62
|
"dependencies": {
|
63
|
-
"@libp2p/interface": "2.
|
64
|
-
"@libp2p/pubsub": "10.0.
|
63
|
+
"@libp2p/interface": "2.2.0-0a3406a05",
|
64
|
+
"@libp2p/pubsub": "10.0.10-0a3406a05",
|
65
65
|
"protons-runtime": "^5.4.0",
|
66
66
|
"uint8arraylist": "^2.4.8",
|
67
67
|
"uint8arrays": "^5.1.0"
|
68
68
|
},
|
69
69
|
"devDependencies": {
|
70
|
-
"@libp2p/crypto": "5.0.
|
71
|
-
"@libp2p/interface-compliance-tests": "6.1.
|
72
|
-
"@libp2p/logger": "5.1.
|
73
|
-
"@libp2p/peer-collections": "6.0.
|
74
|
-
"@libp2p/peer-id": "5.0.
|
70
|
+
"@libp2p/crypto": "5.0.6-0a3406a05",
|
71
|
+
"@libp2p/interface-compliance-tests": "6.1.8-0a3406a05",
|
72
|
+
"@libp2p/logger": "5.1.3-0a3406a05",
|
73
|
+
"@libp2p/peer-collections": "6.0.10-0a3406a05",
|
74
|
+
"@libp2p/peer-id": "5.0.7-0a3406a05",
|
75
75
|
"@multiformats/multiaddr": "^12.2.3",
|
76
76
|
"@types/sinon": "^17.0.3",
|
77
77
|
"aegir": "^44.0.1",
|