@libp2p/pubsub 9.0.16-e1923b0a7 → 9.0.17-1488a7371

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.min.js CHANGED
@@ -1,10 +1,10 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PPubsub = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PPubsub=(()=>{var vu=Object.create;var on=Object.defineProperty;var Bu=Object.getOwnPropertyDescriptor;var Au=Object.getOwnPropertyNames;var Su=Object.getPrototypeOf,Iu=Object.prototype.hasOwnProperty;var Rs=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),it=(r,t)=>{for(var e in t)on(r,e,{get:t[e],enumerable:!0})},Eo=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Au(t))!Iu.call(r,s)&&s!==e&&on(r,s,{get:()=>t[s],enumerable:!(n=Bu(t,s))||n.enumerable});return r};var _s=(r,t,e)=>(e=r!=null?vu(Su(r)):{},Eo(t||!r||!r.__esModule?on(e,"default",{value:r,enumerable:!0}):e,r)),ku=r=>Eo(on({},"__esModule",{value:!0}),r);var Yo=Rs((F0,ri)=>{"use strict";var Hl=Object.prototype.hasOwnProperty,Bt="~";function Or(){}Object.create&&(Or.prototype=Object.create(null),new Or().__proto__||(Bt=!1));function Ml(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function jo(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new Ml(e,n||r,s),o=Bt?Bt+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 fn(r,t){--r._eventsCount===0?r._events=new Or:delete r._events[t]}function mt(){this._events=new Or,this._eventsCount=0}mt.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)Hl.call(e,n)&&t.push(Bt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};mt.prototype.listeners=function(t){var e=Bt?Bt+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=Bt?Bt+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=Bt?Bt+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 p=c.length,w;for(u=0;u<p;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 jo(this,t,e,n,!1)};mt.prototype.once=function(t,e,n){return jo(this,t,e,n,!0)};mt.prototype.removeListener=function(t,e,n,s){var i=Bt?Bt+t:t;if(!this._events[i])return this;if(!e)return fn(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&fn(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:fn(this,i)}return this};mt.prototype.removeAllListeners=function(t){var e;return t?(e=Bt?Bt+t:t,this._events[e]&&fn(this,e)):(this._events=new Or,this._eventsCount=0),this};mt.prototype.off=mt.prototype.removeListener;mt.prototype.addListener=mt.prototype.on;mt.prefixed=Bt;mt.EventEmitter=mt;typeof ri<"u"&&(ri.exports=mt)});var aa=Rs((xp,oa)=>{"use strict";function ia(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function zl(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return ia(r,e)}catch{e.message=r.message,e.stack=r.stack;let s=function(){};return s.prototype=Object.create(Object.getPrototypeOf(r)),ia(new s,e)}}oa.exports=zl});var tc=Rs(vr=>{"use strict";var Bh="[object ArrayBuffer]",oe=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===Bh}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}},Yi="string",Ah=/^[0-9a-f]+$/i,Sh=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,Ih=/^[a-zA-Z0-9-_]+$/,Hn=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=oe.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},Tt=class{static toString(t,e=!1){let n=oe.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}},Mn=class r{static isHex(t){return typeof t===Yi&&Ah.test(t)}static isBase64(t){return typeof t===Yi&&Sh.test(t)}static isBase64Url(t){return typeof t===Yi&&Ih.test(t)}static ToString(t,e="utf8"){let n=oe.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 Tt.toString(n,!0);case"utf16":case"utf16be":return Tt.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 Tt.fromString(t,!0);case"utf16":case"utf16be":return Tt.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=oe.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 Hn.fromString(t);case"utf16":case"utf16be":return Tt.fromString(t);case"utf16le":case"usc2":return Tt.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 Hn.toString(t);case"utf16":case"utf16be":return Tt.toString(t);case"utf16le":case"usc2":return Tt.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=oe.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=oe.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 Tt.toString(t,e)}static FromUtf16String(t,e=!1){return Tt.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,"")||""}};Mn.DEFAULT_UTF8_ENCODING="utf8";function kh(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 Nh(...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 Rh(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}vr.BufferSourceConverter=oe;vr.Convert=Mn;vr.assign=kh;vr.combine=Nh;vr.isEqual=Rh});var md={};it(md,{PubSubBaseProtocol:()=>fo});var vo=Symbol.for("@libp2p/peer-id");var kr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(kr||(kr={}));var A=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Bo=(r,...t)=>{try{[...t]}catch{}};var ze=class extends EventTarget{#t=new Map;constructor(){super(),Bo(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 Ft(t,e))}},Ts=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Ft=globalThis.CustomEvent??Ts;var Ps={};it(Ps,{base58btc:()=>vt,base58flickr:()=>Lu});var Sd=new Uint8Array(0);function Ao(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 Zt(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 Io(r){return new TextDecoder().decode(r)}function Nu(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(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var h=0,d=0,y=0,x=g.length;y!==x&&g[y]===0;)y++,h++;for(var b=(x-y)*f+1>>>0,T=new Uint8Array(b);y!==x;){for(var E=g[y],S=0,R=b-1;(E!==0||S<d)&&R!==-1;R--,S++)E+=256*T[R]>>>0,T[R]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");d=S,y++}for(var _=b-d;_!==b&&T[_]===0;)_++;for(var $=c.repeat(h);_<b;++_)$+=r.charAt(T[_]);return $}function p(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var h=0;if(g[h]!==" "){for(var d=0,y=0;g[h]===c;)d++,h++;for(var x=(g.length-h)*l+1>>>0,b=new Uint8Array(x);g[h];){var T=e[g.charCodeAt(h)];if(T===255)return;for(var E=0,S=x-1;(T!==0||E<y)&&S!==-1;S--,E++)T+=a*b[S]>>>0,b[S]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");y=E,h++}if(g[h]!==" "){for(var R=x-y;R!==x&&b[R]===0;)R++;for(var _=new Uint8Array(d+(x-R)),$=d;R!==x;)_[$++]=b[R++];return _}}}function w(g){var h=p(g);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:p,decode:w}}var Ru=Nu,_u=Ru,No=_u;var Cs=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")}},Ls=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 Ro(this,t)}},Us=class{decoders;constructor(t){this.decoders=t}or(t){return Ro(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 Ro(r,t){return new Us({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ds=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 Cs(t,e,n),this.decoder=new Ls(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function je({name:r,prefix:t,encode:e,decode:n}){return new Ds(r,t,e,n)}function pe({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=No(e,r);return je({prefix:t,name:r,encode:n,decode:i=>Zt(s(i))})}function Tu(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 Cu(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 tt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return je({prefix:t,name:r,encode(s){return Cu(s,n,e)},decode(s){return Tu(s,n,e,r)}})}var vt=pe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Lu=pe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Vs={};it(Vs,{base10:()=>Uu});var Uu=pe({prefix:"9",name:"base10",alphabet:"0123456789"});var Os={};it(Os,{base16:()=>Du,base16upper:()=>Pu});var Du=tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pu=tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Hs={};it(Hs,{base2:()=>Vu});var Vu=tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ms={};it(Ms,{base256emoji:()=>Fu});var _o=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}"),Ou=_o.reduce((r,t,e)=>(r[e]=t,r),[]),Hu=_o.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Mu(r){return r.reduce((t,e)=>(t+=Ou[e],t),"")}function Ku(r){let t=[];for(let e of r){let n=Hu[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Fu=je({prefix:"\u{1F680}",name:"base256emoji",encode:Mu,decode:Ku});var Ks={};it(Ks,{base32:()=>Ye,base32hex:()=>zu,base32hexpad:()=>Yu,base32hexpadupper:()=>Wu,base32hexupper:()=>ju,base32pad:()=>$u,base32padupper:()=>Gu,base32upper:()=>qu,base32z:()=>Zu});var Ye=tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),qu=tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),$u=tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gu=tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),zu=tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ju=tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yu=tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Wu=tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Zu=tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Fs={};it(Fs,{base36:()=>Ju,base36upper:()=>Xu});var Ju=pe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Xu=pe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var qs={};it(qs,{base64:()=>Nr,base64pad:()=>Qu,base64url:()=>tl,base64urlpad:()=>el});var Nr=tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qu=tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tl=tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),el=tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var $s={};it($s,{base8:()=>rl});var rl=tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Gs={};it(Gs,{identity:()=>nl});var nl=je({prefix:"\0",name:"identity",encode:r=>Io(r),decode:r=>So(r)});var Kd=new TextEncoder,Fd=new TextDecoder;var js={};it(js,{identity:()=>ge});var ol=Lo,To=128,al=127,cl=~al,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&cl;)t[e++]=r&255|To,r>>>=7;return t[e]=r|0,Lo.bytes=e-n+1,t}var ll=zs,fl=128,Co=127;function zs(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw zs.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>=fl);return zs.bytes=i-n,e}var hl=Math.pow(2,7),dl=Math.pow(2,14),pl=Math.pow(2,21),gl=Math.pow(2,28),yl=Math.pow(2,35),ml=Math.pow(2,42),bl=Math.pow(2,49),wl=Math.pow(2,56),xl=Math.pow(2,63),El=function(r){return r<hl?1:r<dl?2:r<pl?3:r<gl?4:r<yl?5:r<ml?6:r<bl?7:r<wl?8:r<xl?9:10},vl={encode:ol,decode:ll,encodingLength:El},Bl=vl,Rr=Bl;function _r(r,t=0){return[Rr.decode(r,t),Rr.decode.bytes]}function We(r,t,e=0){return Rr.encode(r,t,e),t}function Ze(r){return Rr.encodingLength(r)}function qt(r,t){let e=t.byteLength,n=Ze(r),s=n+Ze(e),i=new Uint8Array(s+e);return We(r,i,0),We(e,i,n),i.set(t,s),new Je(r,e,t,i)}function Tr(r){let t=Zt(r),[e,n]=_r(t),[s,i]=_r(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new Je(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&&Ao(r.bytes,e.bytes)}}var Je=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};var Do=0,Al="identity",Po=Zt;function Sl(r){return qt(Do,Po(r))}var ge={code:Do,name:Al,encode:Po,digest:Sl};var Zs={};it(Zs,{sha256:()=>ct,sha512:()=>Il});function Ws({name:r,code:t,encode:e}){return new Ys(r,t,e)}var Ys=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?qt(this.code,e):e.then(n=>qt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Oo(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ct=Ws({name:"sha2-256",code:18,encode:Oo("SHA-256")}),Il=Ws({name:"sha2-512",code:19,encode:Oo("SHA-512")});function Ho(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Nl(e,Js(r),t??vt.encoder);default:return Rl(e,Js(r),t??Ye.encoder)}}var Mo=new WeakMap;function Js(r){let t=Mo.get(r);if(t==null){let e=new Map;return Mo.set(r,e),e}return t}var Ce=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!==Cr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==_l)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=qt(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 Ho(this,t)}toJSON(){return{"/":Ho(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??Ko(n,s,i.bytes))}else if(e[Tl]===!0){let{version:n,multihash:s,code:i}=e,o=Tr(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!==Cr)throw new Error(`Version 0 CID must use dag-pb (code: ${Cr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=Ko(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Cr,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=Zt(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 Je(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,p]=_r(t.subarray(e));return e+=p,u},s=n(),i=Cr;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]=kl(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 Js(i).set(n,t),i}};function kl(r,t){switch(r[0]){case"Q":{let e=t??vt;return[vt.prefix,e.decode(`${vt.prefix}${r}`)]}case vt.prefix:{let e=t??vt;return[vt.prefix,e.decode(r)]}case Ye.prefix:{let e=t??Ye;return[Ye.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Nl(r,t,e){let{prefix:n}=e;if(n!==vt.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 Rl(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 Cr=112,_l=18;function Ko(r,t,e){let n=Ze(r),s=n+Ze(t),i=new Uint8Array(s+e.byteLength);return We(r,i,0),We(t,i,n),i.set(e,s),i}var Tl=Symbol.for("@ipld/js-cid/CID");var Qe={...Gs,...Hs,...$s,...Vs,...Os,...Ks,...Fs,...Ps,...qs,...Ms},u0={...Zs,...js};function yt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Cl=Symbol.for("nodejs.util.inspect.custom"),Fo=Object.values(Qe).map(r=>r.decoder).reduce((r,t)=>r.or(t),Qe.identity.decoder),qo=114,Xs=36,Qs=37,Lr=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[vo]=!0;toString(){return this.string==null&&(this.string=vt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ce.createV1(qo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return yt(this.multihash.bytes,t);if(typeof t=="string")return Jt(t).equals(this);if(t?.multihash?.bytes!=null)return yt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Cl](){return`PeerId(${this.toString()})`}},tr=class extends Lr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},er=class extends Lr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},rr=class extends Lr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Jt(r,t){if(t=t??Fo,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Tr(vt.decode(`z${r}`));return r.startsWith("12D")?new er({multihash:e}):r.startsWith("16U")?new rr({multihash:e}):new tr({multihash:e})}return Ur(Fo.decode(r))}function Ur(r){try{let t=Tr(r);if(t.code===ge.code){if(t.digest.length===Xs)return new er({multihash:t});if(t.digest.length===Qs)return new rr({multihash:t})}if(t.code===ct.code)return new tr({multihash:t})}catch{return Ll(Ce.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Ll(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==qo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ct.code)return new tr({multihash:r.multihash});if(t.code===ge.code){if(t.digest.length===Xs)return new er({multihash:r.multihash});if(t.digest.length===Qs)return new rr({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function cn(r,t){return r.length===Xs?new er({multihash:qt(ge.code,r),privateKey:t}):r.length===Qs?new rr({multihash:qt(ge.code,r),privateKey:t}):new tr({multihash:await ct.digest(r),publicKey:r,privateKey:t})}function nr(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}var Dr=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return nr(this.map.entries(),t=>[Jt(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,Jt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return nr(this.map.keys(),t=>Jt(t))}values(){return this.map.values()}get size(){return this.map.size}};var Pr=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 nr(this.set.entries(),t=>{let e=Jt(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=Jt(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return nr(this.set.values(),t=>Jt(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}};function un(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ln=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}},sr=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new ln(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 ln(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 ti=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function ir(r={}){return Ul(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 Ul(r,t){t=t??{};let e=t.onEnd,n=new sr,s,i,o,a=un(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((d,y)=>{i=x=>{i=null,n.push(x);try{d(r(n))}catch(b){y(b)}return s}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=un()})}},l=d=>i!=null?i(d):(n.push(d),s),f=d=>(n=new sr,i!=null?i({error:d}):(n.push({error:d}),s)),u=d=>{if(o)return s;if(t?.objectMode!==!0&&d?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:d})},p=d=>o?s:(o=!0,d!=null?f(d):l({done:!0})),w=()=>(n=new sr,p(),{done:!0}),g=d=>(p(d),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:c,return:w,throw:g,push:u,end:p,get readableLength(){return n.size},onEmpty:async d=>{let y=d?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let x,b;y!=null&&(x=new Promise((T,E)=>{b=()=>{E(new ti)},y.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&y!=null&&y?.removeEventListener("abort",b)}}},e==null)return s;let h=s;return s={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(d){return h.throw(d),e!=null&&(e(d),e=void 0),{done:!0}},return(){return h.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(d){return h.end(d),e!=null&&(e(d),e=void 0),s},get readableLength(){return h.readableLength},onEmpty:d=>h.onEmpty(d)},s}function Dl(r){return r[Symbol.asyncIterator]!=null}function Pl(...r){let t=[];for(let e of r)Dl(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=ir({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 $o=Pl;function Vr(r,...t){if(r==null)throw new Error("Empty pipeline");if(ei(r)){let n=r;r=()=>n.source}else if(zo(r)||Go(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&ei(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++)ei(e[n])&&(e[n]=Ol(e[n]));return Vl(...e)}var Vl=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},Go=r=>r?.[Symbol.asyncIterator]!=null,zo=r=>r?.[Symbol.iterator]!=null,ei=r=>r==null?!1:r.sink!=null&&r.source!=null,Ol=r=>t=>{let e=r.sink(t);if(e?.then!=null){let n=ir({objectMode:!0});e.then(()=>{n.end()},o=>{n.end(o)});let s,i=r.source;if(Go(i))s=async function*(){yield*i,n.end()};else if(zo(i))s=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return $o(n,s())}return r.source};var ni=_s(Yo(),1);var Hr=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},si=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Wo=r=>globalThis.DOMException===void 0?new si(r):new DOMException(r),Zo=r=>{let t=r.reason===void 0?Wo("This operation was aborted."):r.reason;return t instanceof Error?t:Wo(t)};function ii(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:p}=t;p.aborted&&f(Zo(p)),p.addEventListener("abort",()=>{f(Zo(p))})}if(e===Number.POSITIVE_INFINITY){r.then(l,f);return}let u=new Hr;o=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(p){f(p)}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(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function oi(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 Mr=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=oi(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 Kr=class extends ni.default{#t;#o;#i=0;#d;#a;#p=0;#r;#c;#e;#g;#n=0;#u;#s;#y;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Mr,...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.#y=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#w(){return this.#o||this.#i<this.#d}get#x(){return this.#n<this.#u}#E(){this.#n--,this.#l(),this.emit("next")}#v(){this.#b(),this.#m(),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.#v()},e)),!0}return!1}#l(){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.#m(),!0):!1}}return!1}#m(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#b()},this.#a),this.#p=Date.now()+this.#a)}#b(){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.#l(););}get concurrency(){return this.#u}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.#u=t,this.#f()}async#A(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.#y,...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=ii(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof Hr&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#E()}},e),this.emit("add"),this.#l()})}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}};var ut={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function Jo(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 Xo(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Qo(r,t){let e=Jo(r).return?.();Xo(e)&&e.catch(n=>{t.error("could not cause iterator to return",n)})}function Xt(r=0){return new Uint8Array(r)}function bt(r=0){return new Uint8Array(r)}var Kl=Math.pow(2,7),Fl=Math.pow(2,14),ql=Math.pow(2,21),ai=Math.pow(2,28),ci=Math.pow(2,35),ui=Math.pow(2,42),li=Math.pow(2,49),G=128,wt=127;function Lt(r){if(r<Kl)return 1;if(r<Fl)return 2;if(r<ql)return 3;if(r<ai)return 4;if(r<ci)return 5;if(r<ui)return 6;if(r<li)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function fi(r,t,e=0){switch(Lt(r)){case 8:t[e++]=r&255|G,r/=128;case 7:t[e++]=r&255|G,r/=128;case 6:t[e++]=r&255|G,r/=128;case 5:t[e++]=r&255|G,r/=128;case 4:t[e++]=r&255|G,r>>>=7;case 3:t[e++]=r&255|G,r>>>=7;case 2:t[e++]=r&255|G,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function $l(r,t,e=0){switch(Lt(r)){case 8:t.set(e++,r&255|G),r/=128;case 7:t.set(e++,r&255|G),r/=128;case 6:t.set(e++,r&255|G),r/=128;case 5:t.set(e++,r&255|G),r/=128;case 4:t.set(e++,r&255|G),r>>>=7;case 3:t.set(e++,r&255|G),r>>>=7;case 2:t.set(e++,r&255|G),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function hi(r,t){let e=r[t],n=0;if(n+=e&wt,e<G||(e=r[t+1],n+=(e&wt)<<7,e<G)||(e=r[t+2],n+=(e&wt)<<14,e<G)||(e=r[t+3],n+=(e&wt)<<21,e<G)||(e=r[t+4],n+=(e&wt)*ai,e<G)||(e=r[t+5],n+=(e&wt)*ci,e<G)||(e=r[t+6],n+=(e&wt)*ui,e<G)||(e=r[t+7],n+=(e&wt)*li,e<G))return n;throw new RangeError("Could not decode varint")}function Gl(r,t){let e=r.get(t),n=0;if(n+=e&wt,e<G||(e=r.get(t+1),n+=(e&wt)<<7,e<G)||(e=r.get(t+2),n+=(e&wt)<<14,e<G)||(e=r.get(t+3),n+=(e&wt)<<21,e<G)||(e=r.get(t+4),n+=(e&wt)*ai,e<G)||(e=r.get(t+5),n+=(e&wt)*ci,e<G)||(e=r.get(t+6),n+=(e&wt)*ui,e<G)||(e=r.get(t+7),n+=(e&wt)*li,e<G))return n;throw new RangeError("Could not decode varint")}function ta(r,t,e=0){return t==null&&(t=bt(Lt(r))),t instanceof Uint8Array?fi(r,t,e):$l(r,t,e)}function ea(r,t=0){return r instanceof Uint8Array?hi(r,t):Gl(r,t)}function At(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=bt(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}var sa=Symbol.for("@achingbrain/uint8arraylist");function na(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 hn(r){return!!r?.[sa]}var ye=class r{bufs;length;[sa]=!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(hn(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(hn(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=na(this.bufs,t);return e.buf[e.index]}set(t,e){let n=na(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(hn(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 At(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:At(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(!hn(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 p=l;p>=0;p--){let w=this.get(u+p);if(n[p]!==w){f=Math.max(1,p-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=bt(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=bt(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(!yt(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 dn(r){return r[Symbol.asyncIterator]!=null}var pn=r=>{let t=Lt(r),e=bt(t);return ta(r,e),pn.bytes=t,e};pn.bytes=0;function gn(r,t){t=t??{};let e=t.lengthEncoder??pn;function*n(s){let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return dn(r)?async function*(){for await(let s of r)yield*n(s)}():function*(){for(let s of r)yield*n(s)}()}gn.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??pn;return new ye(e(r.byteLength),r)};var or=_s(aa(),1);var jl=8,Yl=1024*1024*4,Le;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Le||(Le={}));var di=r=>{let t=ea(r);return di.bytes=Lt(t),t};di.bytes=0;function Fr(r,t){let e=new ye,n=Le.LENGTH,s=-1,i=t?.lengthDecoder??di,o=t?.maxLengthLength??jl,a=t?.maxDataLength??Yl;function*c(){for(;e.byteLength>0;){if(n===Le.LENGTH)try{if(s=i(e),s<0)throw(0,or.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>a)throw(0,or.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=i.bytes;e.consume(l),t?.onLength!=null&&t.onLength(s),n=Le.DATA}catch(l){if(l instanceof RangeError){if(e.byteLength>o)throw(0,or.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(n===Le.DATA){if(e.byteLength<s)break;let l=e.sublist(0,s);e.consume(s),t?.onData!=null&&t.onData(l),yield l,n=Le.LENGTH}}}return dn(r)?async function*(){for await(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,or.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,or.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Fr.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 Fr(n,{...t??{},onLength:i=>{e=i}})};var yn=class extends ze{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 ye(t):t)}attachInboundStream(t){let e=()=>{Qo(t.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",e,{once:!0}),this._rawInboundStream=t,this.inboundStream=Vr(this._rawInboundStream,n=>Fr(n)),this.dispatchEvent(new Ft("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let e=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=ir({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 Ft("close"))}}),Vr(this.outboundStream,n=>gn(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),e==null&&this.dispatchEvent(new Ft("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 Ft("close")))}};var W={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("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"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var ca={SHA1:20,SHA256:32,SHA512:64};var Zl={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Jl=async(r,t)=>{let e=await W.get().subtle.sign({name:"HMAC"},r,t);return new Uint8Array(e,0,e.byteLength)};async function ua(r,t){let e=Zl[r],n=await W.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:e}},!1,["sign"]);return{async digest(s){return Jl(n,s)},length:ca[r]}}var nn={};it(nn,{Ed25519PrivateKey:()=>ie,Ed25519PublicKey:()=>He,MAX_RSA_KEY_SIZE:()=>Fe,RsaPrivateKey:()=>Ne,RsaPublicKey:()=>Ke,Secp256k1PrivateKey:()=>Ge,Secp256k1PublicKey:()=>$e,generateEphemeralKeyPair:()=>Za,generateKeyPair:()=>ad,generateKeyPairFromSeed:()=>cd,importKey:()=>hd,keyStretcher:()=>Qa,keysPBM:()=>xr,marshalPrivateKey:()=>fd,marshalPublicKey:()=>ld,supportedKeys:()=>de,unmarshalPrivateKey:()=>iu,unmarshalPublicKey:()=>ud});var Gi={};it(Gi,{Ed25519PrivateKey:()=>ie,Ed25519PublicKey:()=>He,generateKeyPair:()=>mh,generateKeyPairFromSeed:()=>$i,unmarshalEd25519PrivateKey:()=>gh,unmarshalEd25519PublicKey:()=>yh});function fa(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var la=fa("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),pi=fa("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=bt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Ql={utf8:la,"utf-8":la,hex:Qe.base16,latin1:pi,ascii:pi,binary:pi,...Qe},mn=Ql;function z(r,t="utf8"){let e=mn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function gi(r,t){let e=z(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=At([new Uint8Array(t-e.length),e])}return e}function _t(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function ar(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function tf(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function cr(r,...t){if(!tf(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 bn(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ar(r.outputLen),ar(r.blockLen)}function ur(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 ha(r,t){cr(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var wn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var fr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Ut=(r,t)=>r<<32-t|r>>>t;var Yp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var ef=async()=>{};async function da(r,t,e){let n=Date.now();for(let s=0;s<r;s++){e(s);let i=Date.now()-n;i>=0&&i<t||(await ef(),n+=i)}}function yi(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function me(r){return typeof r=="string"&&(r=yi(r)),cr(r),r}function xn(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];cr(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 lr=class{clone(){return this._cloneInto()}},rf={}.toString;function pa(r,t){if(t!==void 0&&rf.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function En(r){let t=n=>r().update(me(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function hr(r=32){if(wn&&typeof wn.getRandomValues=="function")return wn.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function nf(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 ga=(r,t,e)=>r&t^~r&e,ya=(r,t,e)=>r&t^r&e^t&e,dr=class extends lr{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=fr(this.buffer)}update(t){ur(this);let{view:e,buffer:n,blockLen:s}=this;t=me(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=fr(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){ur(this),ha(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;nf(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=fr(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 vn=BigInt(4294967295),mi=BigInt(32);function ma(r,t=!1){return t?{h:Number(r&vn),l:Number(r>>mi&vn)}:{h:Number(r>>mi&vn)|0,l:Number(r&vn)|0}}function sf(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}=ma(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var of=(r,t)=>BigInt(r>>>0)<<mi|BigInt(t>>>0),af=(r,t,e)=>r>>>e,cf=(r,t,e)=>r<<32-e|t>>>e,uf=(r,t,e)=>r>>>e|t<<32-e,lf=(r,t,e)=>r<<32-e|t>>>e,ff=(r,t,e)=>r<<64-e|t>>>e-32,hf=(r,t,e)=>r>>>e-32|t<<64-e,df=(r,t)=>t,pf=(r,t)=>r,gf=(r,t,e)=>r<<e|t>>>32-e,yf=(r,t,e)=>t<<e|r>>>32-e,mf=(r,t,e)=>t<<e-32|r>>>64-e,bf=(r,t,e)=>r<<e-32|t>>>64-e;function wf(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var xf=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),Ef=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,vf=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),Bf=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,Af=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),Sf=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var If={fromBig:ma,split:sf,toBig:of,shrSH:af,shrSL:cf,rotrSH:uf,rotrSL:lf,rotrBH:ff,rotrBL:hf,rotr32H:df,rotr32L:pf,rotlSH:gf,rotlSL:yf,rotlBH:mf,rotlBL:bf,add:wf,add3L:xf,add3H:Ef,add4L:vf,add4H:Bf,add5H:Sf,add5L:Af},U=If;var[kf,Nf]=U.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))),be=new Uint32Array(80),we=new Uint32Array(80),bi=class extends dr{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:p,Gh:w,Gl:g,Hh:h,Hl:d}=this;return[t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d]}set(t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d){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=p|0,this.Gh=w|0,this.Gl=g|0,this.Hh=h|0,this.Hl=d|0}process(t,e){for(let b=0;b<16;b++,e+=4)be[b]=t.getUint32(e),we[b]=t.getUint32(e+=4);for(let b=16;b<80;b++){let T=be[b-15]|0,E=we[b-15]|0,S=U.rotrSH(T,E,1)^U.rotrSH(T,E,8)^U.shrSH(T,E,7),R=U.rotrSL(T,E,1)^U.rotrSL(T,E,8)^U.shrSL(T,E,7),_=be[b-2]|0,$=we[b-2]|0,K=U.rotrSH(_,$,19)^U.rotrBH(_,$,61)^U.shrSH(_,$,6),D=U.rotrSL(_,$,19)^U.rotrBL(_,$,61)^U.shrSL(_,$,6),nt=U.add4L(R,D,we[b-7],we[b-16]),rt=U.add4H(nt,S,K,be[b-7],be[b-16]);be[b]=rt|0,we[b]=nt|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:f,Eh:u,El:p,Fh:w,Fl:g,Gh:h,Gl:d,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let T=U.rotrSH(u,p,14)^U.rotrSH(u,p,18)^U.rotrBH(u,p,41),E=U.rotrSL(u,p,14)^U.rotrSL(u,p,18)^U.rotrBL(u,p,41),S=u&w^~u&h,R=p&g^~p&d,_=U.add5L(x,E,R,Nf[b],we[b]),$=U.add5H(_,y,T,S,kf[b],be[b]),K=_|0,D=U.rotrSH(n,s,28)^U.rotrBH(n,s,34)^U.rotrBH(n,s,39),nt=U.rotrSL(n,s,28)^U.rotrBL(n,s,34)^U.rotrBL(n,s,39),rt=n&i^n&a^i&a,Rt=s&o^s&c^o&c;y=h|0,x=d|0,h=w|0,d=g|0,w=u|0,g=p|0,{h:u,l:p}=U.add(l|0,f|0,$|0,K|0),l=a|0,f=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let v=U.add3L(K,nt,Rt);n=U.add3H(v,$,D,rt),s=v|0}({h:n,l:s}=U.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=U.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=U.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:f}=U.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:u,l:p}=U.add(this.Eh|0,this.El|0,u|0,p|0),{h:w,l:g}=U.add(this.Fh|0,this.Fl|0,w|0,g|0),{h,l:d}=U.add(this.Gh|0,this.Gl|0,h|0,d|0),{h:y,l:x}=U.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,s,i,o,a,c,l,f,u,p,w,g,h,d,y,x)}roundClean(){be.fill(0),we.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 pr=En(()=>new bi);var An={};it(An,{abytes:()=>gr,bitGet:()=>Df,bitLen:()=>Uf,bitMask:()=>qr,bitSet:()=>Pf,bytesToHex:()=>te,bytesToNumberBE:()=>ee,bytesToNumberLE:()=>Ee,concatBytes:()=>re,createHmacDrbg:()=>Ei,ensureBytes:()=>et,equalBytes:()=>Cf,hexToBytes:()=>Ue,hexToNumber:()=>xi,isBytes:()=>xe,numberToBytesBE:()=>ve,numberToBytesLE:()=>De,numberToHexUnpadded:()=>Ea,numberToVarBytesBE:()=>Tf,utf8ToBytes:()=>Lf,validateObject:()=>$t});var xa=BigInt(0),Bn=BigInt(1),Rf=BigInt(2);function xe(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function gr(r){if(!xe(r))throw new Error("Uint8Array expected")}var _f=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function te(r){gr(r);let t="";for(let e=0;e<r.length;e++)t+=_f[r[e]];return t}function Ea(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function xi(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Qt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function ba(r){if(r>=Qt._0&&r<=Qt._9)return r-Qt._0;if(r>=Qt._A&&r<=Qt._F)return r-(Qt._A-10);if(r>=Qt._a&&r<=Qt._f)return r-(Qt._a-10)}function Ue(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=ba(r.charCodeAt(i)),a=ba(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 ee(r){return xi(te(r))}function Ee(r){return gr(r),xi(te(Uint8Array.from(r).reverse()))}function ve(r,t){return Ue(r.toString(16).padStart(t*2,"0"))}function De(r,t){return ve(r,t).reverse()}function Tf(r){return Ue(Ea(r))}function et(r,t,e){let n;if(typeof t=="string")try{n=Ue(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(xe(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 re(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];gr(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 Cf(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 Lf(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Uf(r){let t;for(t=0;r>xa;r>>=Bn,t+=1);return t}function Df(r,t){return r>>BigInt(t)&Bn}function Pf(r,t,e){return r|(e?Bn:xa)<<BigInt(t)}var qr=r=>(Rf<<BigInt(r-1))-Bn,wi=r=>new Uint8Array(r),wa=r=>Uint8Array.from(r);function Ei(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=wi(r),s=wi(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=wi())=>{s=a(wa([0]),u),n=a(),u.length!==0&&(s=a(wa([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,p=[];for(;u<t;){n=a();let w=n.slice();p.push(w),u+=n.length}return re(...p)};return(u,p)=>{o(),c(u);let w;for(;!(w=p(l()));)c();return o(),w}}var Vf={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"||xe(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 $t(r,t,e={}){let n=(s,i,o)=>{let a=Vf[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 lt=BigInt(0),Z=BigInt(1),Pe=BigInt(2),Of=BigInt(3),vi=BigInt(4),va=BigInt(5),Ba=BigInt(8),Hf=BigInt(9),Mf=BigInt(16);function j(r,t){let e=r%t;return e>=lt?e:t+e}function Kf(r,t,e){if(e<=lt||t<lt)throw new Error("Expected power/modulo > 0");if(e===Z)return lt;let n=Z;for(;t>lt;)t&Z&&(n=n*r%e),r=r*r%e,t>>=Z;return n}function J(r,t,e){let n=r;for(;t-- >lt;)n*=n,n%=e;return n}function Sn(r,t){if(r===lt||t<=lt)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=j(r,t),n=t,s=lt,i=Z,o=Z,a=lt;for(;e!==lt;){let l=n/e,f=n%e,u=s-o*l,p=i-a*l;n=e,e=f,s=o,i=a,o=u,a=p}if(n!==Z)throw new Error("invert: does not exist");return j(s,t)}function Ff(r){let t=(r-Z)/Pe,e,n,s;for(e=r-Z,n=0;e%Pe===lt;e/=Pe,n++);for(s=Pe;s<r&&Kf(s,t,r)!==r-Z;s++);if(n===1){let o=(r+Z)/vi;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+Z)/Pe;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),p=a.pow(c,e);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let w=1;for(let h=a.sqr(p);w<l&&!a.eql(h,a.ONE);w++)h=a.sqr(h);let g=a.pow(f,Z<<BigInt(l-w-1));f=a.sqr(g),u=a.mul(u,g),p=a.mul(p,f),l=w}return u}}function qf(r){if(r%vi===Of){let t=(r+Z)/vi;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%Ba===va){let t=(r-va)/Ba;return function(n,s){let i=n.mul(s,Pe),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,Pe),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%Mf,Ff(r)}var Aa=(r,t)=>(j(r,t)&Z)===Z,$f=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Bi(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=$f.reduce((n,s)=>(n[s]="function",n),t);return $t(r,e)}function Gf(r,t,e){if(e<lt)throw new Error("Expected power > 0");if(e===lt)return r.ONE;if(e===Z)return t;let n=r.ONE,s=t;for(;e>lt;)e&Z&&(n=r.mul(n,s)),s=r.sqr(s),e>>=Z;return n}function zf(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 Ai(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function In(r,t,e=!1,n={}){if(r<=lt)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=Ai(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=qf(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:qr(s),ZERO:lt,ONE:Z,create:c=>j(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return lt<=c&&c<r},is0:c=>c===lt,isOdd:c=>(c&Z)===Z,neg:c=>j(-c,r),eql:(c,l)=>c===l,sqr:c=>j(c*c,r),add:(c,l)=>j(c+l,r),sub:(c,l)=>j(c-l,r),mul:(c,l)=>j(c*l,r),pow:(c,l)=>Gf(a,c,l),div:(c,l)=>j(c*Sn(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Sn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>zf(a,c),cmov:(c,l,f)=>f?l:c,toBytes:c=>e?De(c,i):ve(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?Ee(c):ee(c)}});return Object.freeze(a)}function Sa(r,t){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let e=r.sqrt(t);return r.isOdd(e)?r.neg(e):e}function Ia(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 Si(r){let t=Ia(r);return t+Math.ceil(t/2)}function ka(r,t,e=!1){let n=r.length,s=Ia(t),i=Si(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?ee(r):Ee(r),a=j(o,t-Z)+Z;return e?De(a,s):ve(a,s)}var Yf=BigInt(0),Ii=BigInt(1);function kn(r,t){let e=(s,i)=>{let o=i.negate();return s?o:i},n=s=>{let i=Math.ceil(t/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:e,unsafeLadder(s,i){let o=r.ZERO,a=s;for(;i>Yf;)i&Ii&&(o=o.add(a)),a=a.double(),i>>=Ii;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=n(i),c=[],l=s,f=l;for(let u=0;u<o;u++){f=l,c.push(f);for(let p=1;p<a;p++)f=f.add(l),c.push(f);l=f.double()}return c},wNAF(s,i,o){let{windows:a,windowSize:c}=n(s),l=r.ZERO,f=r.BASE,u=BigInt(2**s-1),p=2**s,w=BigInt(s);for(let g=0;g<a;g++){let h=g*c,d=Number(o&u);o>>=w,d>c&&(d-=p,o+=Ii);let y=h,x=h+Math.abs(d)-1,b=g%2!==0,T=d<0;d===0?f=f.add(e(b,i[y])):l=l.add(e(T,i[x]))}return{p:l,f}},wNAFCached(s,i,o,a){let c=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&i.set(s,a(l))),this.wNAF(c,l,o)}}}function $r(r){return Bi(r.Fp),$t(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ai(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Dt=BigInt(0),kt=BigInt(1),Nn=BigInt(2),Wf=BigInt(8),Zf={zip215:!0};function Jf(r){let t=$r(r);return $t(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Rn(r){let t=Jf(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,l=Nn<<BigInt(a*8)-kt,f=e.create,u=t.uvRatio||((B,m)=>{try{return{isValid:!0,value:e.sqrt(B*e.inv(m))}}catch{return{isValid:!1,value:Dt}}}),p=t.adjustScalarBytes||(B=>B),w=t.domain||((B,m,k)=>{if(m.length||k)throw new Error("Contexts/pre-hash are not supported");return B}),g=B=>typeof B=="bigint"&&Dt<B,h=(B,m)=>g(B)&&g(m)&&B<m,d=B=>B===Dt||h(B,l);function y(B,m){if(h(B,m))return B;throw new Error(`Expected valid scalar < ${m}, got ${typeof B} ${B}`)}function x(B){return B===Dt?B:y(B,n)}let b=new Map;function T(B){if(!(B instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(m,k,C,L){if(this.ex=m,this.ey=k,this.ez=C,this.et=L,!d(m))throw new Error("x required");if(!d(k))throw new Error("y required");if(!d(C))throw new Error("z required");if(!d(L))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(m){if(m instanceof E)throw new Error("extended point not allowed");let{x:k,y:C}=m||{};if(!d(k)||!d(C))throw new Error("invalid affine point");return new E(k,C,kt,f(k*C))}static normalizeZ(m){let k=e.invertBatch(m.map(C=>C.ez));return m.map((C,L)=>C.toAffine(k[L])).map(E.fromAffine)}_setWindowSize(m){this._WINDOW_SIZE=m,b.delete(this)}assertValidity(){let{a:m,d:k}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:C,ey:L,ez:V,et:O}=this,q=f(C*C),M=f(L*L),F=f(V*V),st=f(F*F),Q=f(q*m),ht=f(F*f(Q+M)),dt=f(st+f(k*f(q*M)));if(ht!==dt)throw new Error("bad point: equation left != right (1)");let at=f(C*L),gt=f(V*O);if(at!==gt)throw new Error("bad point: equation left != right (2)")}equals(m){T(m);let{ex:k,ey:C,ez:L}=this,{ex:V,ey:O,ez:q}=m,M=f(k*q),F=f(V*L),st=f(C*q),Q=f(O*L);return M===F&&st===Q}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:m}=t,{ex:k,ey:C,ez:L}=this,V=f(k*k),O=f(C*C),q=f(Nn*f(L*L)),M=f(m*V),F=k+C,st=f(f(F*F)-V-O),Q=M+O,ht=Q-q,dt=M-O,at=f(st*ht),gt=f(Q*dt),Wt=f(st*dt),Te=f(ht*Q);return new E(at,gt,Te,Wt)}add(m){T(m);let{a:k,d:C}=t,{ex:L,ey:V,ez:O,et:q}=this,{ex:M,ey:F,ez:st,et:Q}=m;if(k===BigInt(-1)){let po=f((V-L)*(F+M)),go=f((V+L)*(F-M)),Ns=f(go-po);if(Ns===Dt)return this.double();let yo=f(O*Nn*Q),mo=f(q*Nn*st),bo=mo+yo,wo=go+po,xo=mo-yo,bu=f(bo*Ns),wu=f(wo*xo),xu=f(bo*xo),Eu=f(Ns*wo);return new E(bu,wu,Eu,xu)}let ht=f(L*M),dt=f(V*F),at=f(q*C*Q),gt=f(O*st),Wt=f((L+V)*(M+F)-ht-dt),Te=gt-at,Ir=gt+at,ho=f(dt-k*ht),pu=f(Wt*Te),gu=f(Ir*ho),yu=f(Wt*ho),mu=f(Te*Ir);return new E(pu,gu,mu,yu)}subtract(m){return this.add(m.negate())}wNAF(m){return _.wNAFCached(this,b,m,E.normalizeZ)}multiply(m){let{p:k,f:C}=this.wNAF(y(m,n));return E.normalizeZ([k,C])[0]}multiplyUnsafe(m){let k=x(m);return k===Dt?R:this.equals(R)||k===kt?this:this.equals(S)?this.wNAF(k).p:_.unsafeLadder(this,k)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return _.unsafeLadder(this,n).is0()}toAffine(m){let{ex:k,ey:C,ez:L}=this,V=this.is0();m==null&&(m=V?Wf:e.inv(L));let O=f(k*m),q=f(C*m),M=f(L*m);if(V)return{x:Dt,y:kt};if(M!==kt)throw new Error("invZ was invalid");return{x:O,y:q}}clearCofactor(){let{h:m}=t;return m===kt?this:this.multiplyUnsafe(m)}static fromHex(m,k=!1){let{d:C,a:L}=t,V=e.BYTES;m=et("pointHex",m,V);let O=m.slice(),q=m[V-1];O[V-1]=q&-129;let M=Ee(O);M===Dt||(k?y(M,l):y(M,e.ORDER));let F=f(M*M),st=f(F-kt),Q=f(C*F-L),{isValid:ht,value:dt}=u(st,Q);if(!ht)throw new Error("Point.fromHex: invalid y coordinate");let at=(dt&kt)===kt,gt=(q&128)!==0;if(!k&&dt===Dt&&gt)throw new Error("Point.fromHex: x=0 and x_0=1");return gt!==at&&(dt=f(-dt)),E.fromAffine({x:dt,y:M})}static fromPrivateKey(m){return D(m).point}toRawBytes(){let{x:m,y:k}=this.toAffine(),C=De(k,e.BYTES);return C[C.length-1]|=m&kt?128:0,C}toHex(){return te(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,kt,f(t.Gx*t.Gy)),E.ZERO=new E(Dt,kt,kt,Dt);let{BASE:S,ZERO:R}=E,_=kn(E,a*8);function $(B){return j(B,n)}function K(B){return $(Ee(B))}function D(B){let m=a;B=et("private key",B,m);let k=et("hashed private key",i(B),2*m),C=p(k.slice(0,m)),L=k.slice(m,2*m),V=K(C),O=S.multiply(V),q=O.toRawBytes();return{head:C,prefix:L,scalar:V,point:O,pointBytes:q}}function nt(B){return D(B).pointBytes}function rt(B=new Uint8Array,...m){let k=re(...m);return K(i(w(k,et("context",B),!!s)))}function Rt(B,m,k={}){B=et("message",B),s&&(B=s(B));let{prefix:C,scalar:L,pointBytes:V}=D(m),O=rt(k.context,C,B),q=S.multiply(O).toRawBytes(),M=rt(k.context,q,V,B),F=$(O+M*L);x(F);let st=re(q,De(F,e.BYTES));return et("result",st,a*2)}let v=Zf;function N(B,m,k,C=v){let{context:L,zip215:V}=C,O=e.BYTES;B=et("signature",B,2*O),m=et("message",m),s&&(m=s(m));let q=Ee(B.slice(O,2*O)),M,F,st;try{M=E.fromHex(k,V),F=E.fromHex(B.slice(0,O),V),st=S.multiplyUnsafe(q)}catch{return!1}if(!V&&M.isSmallOrder())return!1;let Q=rt(L,F.toRawBytes(),M.toRawBytes(),m);return F.add(M.multiplyUnsafe(Q)).subtract(st).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:nt,sign:Rt,verify:N,ExtendedPoint:E,utils:{getExtendedPublicKey:D,randomPrivateKey:()=>o(e.BYTES),precompute(B=8,m=E.BASE){return m._setWindowSize(B),m.multiply(BigInt(3)),m}}}}var Ni=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Na=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),yg=BigInt(0),Xf=BigInt(1),ki=BigInt(2),Qf=BigInt(5),Ra=BigInt(10),th=BigInt(20),eh=BigInt(40),_a=BigInt(80);function rh(r){let t=Ni,n=r*r%t*r%t,s=J(n,ki,t)*n%t,i=J(s,Xf,t)*r%t,o=J(i,Qf,t)*i%t,a=J(o,Ra,t)*o%t,c=J(a,th,t)*a%t,l=J(c,eh,t)*c%t,f=J(l,_a,t)*l%t,u=J(f,_a,t)*l%t,p=J(u,Ra,t)*o%t;return{pow_p_5_8:J(p,ki,t)*r%t,b2:n}}function nh(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function sh(r,t){let e=Ni,n=j(t*t*t,e),s=j(n*n*t,e),i=rh(r*s).pow_p_5_8,o=j(r*n*i,e),a=j(t*o*o,e),c=o,l=j(o*Na,e),f=a===r,u=a===j(-r,e),p=a===j(-r*Na,e);return f&&(o=c),(u||p)&&(o=l),Aa(o,e)&&(o=j(-o,e)),{isValid:f||u,value:o}}var ne=In(Ni,void 0,!0),Ri={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ne,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:pr,randomBytes:hr,adjustScalarBytes:nh,uvRatio:sh},yr=Rn(Ri);function Ta(r,t,e){if(t.length>255)throw new Error("Context is too big");return xn(yi("SigEd25519 no Ed25519 collisions"),new Uint8Array([e?1:0,t.length]),t,r)}var mg=Rn({...Ri,domain:Ta}),bg=Rn({...Ri,domain:Ta,prehash:pr});var ih=(ne.ORDER+BigInt(3))/BigInt(8),wg=ne.pow(ki,ih),xg=ne.sqrt(ne.neg(ne.ONE)),Eg=(ne.ORDER-BigInt(5))/BigInt(8),vg=BigInt(486662);var Bg=Sa(ne,ne.neg(BigInt(486664)));var Ag=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Sg=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Ig=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),kg=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Ng=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var mr=32,se=64,_n=32;function Ca(){let r=yr.utils.randomPrivateKey(),t=yr.getPublicKey(r);return{privateKey:Pa(r,t),publicKey:t}}function La(r){if(r.length!==_n)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=yr.getPublicKey(t);return{privateKey:Pa(t,e),publicKey:e}}function Ua(r,t){let e=r.subarray(0,_n);return yr.sign(t instanceof Uint8Array?t:t.subarray(),e)}function Da(r,t,e){return yr.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function Pa(r,t){let e=new Uint8Array(se);for(let n=0;n<_n;n++)e[n]=r[n],e[_n+n]=t[n];return e}var _i={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Tn(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,s=r?.digest??"SHA-256",i=r?.saltLength??16,o=r?.iterations??32767,a=W.get();e*=8;async function c(u,p){let w=a.getRandomValues(new Uint8Array(i)),g=a.getRandomValues(new Uint8Array(n)),h={name:t,iv:g};typeof p=="string"&&(p=z(p));let d;if(p.length===0){d=await a.subtle.importKey("jwk",_i,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}catch{d=await a.subtle.importKey("jwk",_i,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}let y=await a.subtle.encrypt(h,d,u);return At([w,h.iv,new Uint8Array(y)])}async function l(u,p){let w=u.subarray(0,i),g=u.subarray(i,i+n),h=u.subarray(i+n),d={name:t,iv:g};typeof p=="string"&&(p=z(p));let y;if(p.length===0)try{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",_i,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}let x=await a.subtle.decrypt(d,y,h);return new Uint8Array(x)}return{encrypt:c,decrypt:l}}async function br(r,t){let n=await Tn().encrypt(r,t);return Nr.encode(n)}var xr={};it(xr,{KeyType:()=>Y,PrivateKey:()=>Ot,PublicKey:()=>Vt});var Ti=new Float32Array([-0]),Be=new Uint8Array(Ti.buffer);function Oa(r,t,e){Ti[0]=r,t[e]=Be[0],t[e+1]=Be[1],t[e+2]=Be[2],t[e+3]=Be[3]}function Ha(r,t){return Be[0]=r[t],Be[1]=r[t+1],Be[2]=r[t+2],Be[3]=r[t+3],Ti[0]}var Ci=new Float64Array([-0]),xt=new Uint8Array(Ci.buffer);function Ma(r,t,e){Ci[0]=r,t[e]=xt[0],t[e+1]=xt[1],t[e+2]=xt[2],t[e+3]=xt[3],t[e+4]=xt[4],t[e+5]=xt[5],t[e+6]=xt[6],t[e+7]=xt[7]}function Ka(r,t){return xt[0]=r[t],xt[1]=r[t+1],xt[2]=r[t+2],xt[3]=r[t+3],xt[4]=r[t+4],xt[5]=r[t+5],xt[6]=r[t+6],xt[7]=r[t+7],Ci[0]}var ah=BigInt(Number.MAX_SAFE_INTEGER),ch=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 Ve;if(t<ah&&t>ch)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>Fa&&(s=0n,++n>Fa&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return Ve;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):Ve}},Ve=new Nt(0,0);Ve.toBigInt=function(){return 0n};Ve.zzEncode=Ve.zzDecode=function(){return this};Ve.length=function(){return 1};var Fa=4294967296n;function qa(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 $a(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 Li(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 Pt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Cn(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Ui=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,Pt(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 Pt(this,4);return Cn(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Pt(this,4);return Cn(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Pt(this,4);let t=Ha(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Pt(this,4);let t=Ka(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 Pt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return $a(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Pt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Pt(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 Pt(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 Pt(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 Pt(this,8);let t=Cn(this.buf,this.pos+=4),e=Cn(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=hi(this.buf,this.pos);return this.pos+=Lt(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 Di(r){return new Ui(r instanceof Uint8Array?r:r.subarray())}function Ln(r,t,e){let n=Di(r);return t.decode(n,void 0,e)}function Pi(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return bt(o);s+o>t&&(n=bt(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var Oe=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Vi(){}var Hi=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},uh=Pi();function lh(r){return globalThis.Buffer!=null?bt(r):uh(r)}var zr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Oe(Vi,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Oe(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Mi((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(Un,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(Un,e.length(),e)}uint64Number(t){return this._push(fi,Lt(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(Un,e.length(),e)}sint64Number(t){let e=Nt.fromNumber(t).zzEncode();return this._push(Un,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Oi,1,t?1:0)}fixed32(t){return this._push(Gr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Nt.fromBigInt(t);return this._push(Gr,4,e.lo)._push(Gr,4,e.hi)}fixed64Number(t){let e=Nt.fromNumber(t);return this._push(Gr,4,e.lo)._push(Gr,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(Oa,4,t)}double(t){return this._push(Ma,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Oi,1,0):this.uint32(e)._push(hh,e,t)}string(t){let e=qa(t);return e!==0?this.uint32(e)._push(Li,e,t):this._push(Oi,1,0)}fork(){return this.states=new Hi(this),this.head=this.tail=new Oe(Vi,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 Oe(Vi,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=lh(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Oi(r,t,e){t[e]=r&255}function fh(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Mi=class extends Oe{next;constructor(t,e){super(fh,t,e),this.next=void 0}};function Un(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 Gr(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 hh(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(zr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(dh,t,r),this},zr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(ph,t,r),this});function dh(r,t,e){t.set(r,e)}function ph(r,t,e){r.length<40?Li(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(z(r),e)}function Ki(){return new zr}function Dn(r,t){let e=Ki();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var wr;(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"})(wr||(wr={}));function Pn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Fi(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 Pn("enum",wr.VARINT,e,n)}function Vn(r,t){return Pn("message",wr.LENGTH_DELIMITED,r,t)}var Y;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(Y||(Y={}));var qi;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(qi||(qi={}));(function(r){r.codec=()=>Fi(qi)})(Y||(Y={}));var Vt;(function(r){let t;r.codec=()=>(t==null&&(t=Vn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Y.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=Y.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Dn(e,r.codec()),r.decode=e=>Ln(e,r.codec())})(Vt||(Vt={}));var Ot;(function(r){let t;r.codec=()=>(t==null&&(t=Vn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Y.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=Y.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>Dn(e,r.codec()),r.decode=e=>Ln(e,r.codec())})(Ot||(Ot={}));var He=class{_key;constructor(t){this._key=Er(t,mr)}verify(t,e){return Da(this._key,e,t)}marshal(){return this._key}get bytes(){return Vt.encode({Type:Y.Ed25519,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}},ie=class{_key;_publicKey;constructor(t,e){this._key=Er(t,se),this._publicKey=Er(e,mr)}sign(t){return Ua(this._key,t)}get public(){return new He(this._publicKey)}marshal(){return this._key}get bytes(){return Ot.encode({Type:Y.Ed25519,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return _t(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=ge.digest(this.public.bytes);return vt.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return br(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function gh(r){if(r.length>se){r=Er(r,se+mr);let n=r.subarray(0,se),s=r.subarray(se,r.length);return new ie(n,s)}r=Er(r,se);let t=r.subarray(0,se),e=r.subarray(mr);return new ie(t,e)}function yh(r){return r=Er(r,mr),new He(r)}async function mh(){let{privateKey:r,publicKey:t}=Ca();return new ie(r,t)}async function $i(r){let{privateKey:t,publicKey:e}=La(r);return new ie(t,e)}function Er(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new A(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function X(r,t="utf8"){let e=mn[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var za={"P-256":256,"P-384":384,"P-521":521},bh=Object.keys(za),zi=bh.join(" / ");async function ja(r){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${zi}`,"ERR_INVALID_CURVE");let t=await W.get().subtle.generateKey({name:"ECDH",namedCurve:r},!0,["deriveBits"]),e=async(i,o)=>{let a;o!=null?a=await W.get().subtle.importKey("jwk",xh(r,o),{name:"ECDH",namedCurve:r},!1,["deriveBits"]):a=t.privateKey;let c=await W.get().subtle.importKey("jwk",Wa(r,i),{name:"ECDH",namedCurve:r},!1,[]),l=await W.get().subtle.deriveBits({name:"ECDH",namedCurve:r,public:c},a,za[r]);return new Uint8Array(l,0,l.byteLength)},n=await W.get().subtle.exportKey("jwk",t.publicKey);return{key:wh(n),genSharedKey:e}}var Ya={"P-256":32,"P-384":48,"P-521":66};function wh(r){if(r.crv==null||r.x==null||r.y==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");if(r.crv!=="P-256"&&r.crv!=="P-384"&&r.crv!=="P-521")throw new A(`Unknown curve: ${r.crv}. Must be ${zi}`,"ERR_INVALID_CURVE");let t=Ya[r.crv];return At([Uint8Array.from([4]),gi(r.x,t),gi(r.y,t)],1+t*2)}function Wa(r,t){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${zi}`,"ERR_INVALID_CURVE");let e=Ya[r];if(!yt(t.subarray(0,1),Uint8Array.from([4])))throw new A("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:r,x:X(t.subarray(1,e+1),"base64url"),y:X(t.subarray(1+e),"base64url"),ext:!0}}var xh=(r,t)=>({...Wa(r,t.public),d:X(t.private,"base64url")});var Za=ja;async function Ja(r,t){let e=Nr.decode(r);return Tn().decrypt(e,t)}var Xa={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function Qa(r,t,e){let n=Xa[r];if(n==null){let x=Object.keys(Xa).join(" / ");throw new A(`unknown cipher type '${r}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new A("missing hash type","ERR_MISSING_HASH_TYPE");let s=n.keySize,i=n.ivSize,o=20,a=z("key expansion"),c=2*(i+s+o),l=await ua(t,e),f=await l.digest(a),u=[],p=0;for(;p<c;){let x=await l.digest(At([f,a])),b=x.length;p+b>c&&(b=c-p),u.push(x),p+=b,f=await l.digest(f)}let w=c/2,g=At(u),h=g.subarray(0,w),d=g.subarray(w,c),y=x=>({iv:x.subarray(0,i),cipherKey:x.subarray(i,i+s),macKey:x.subarray(i+s)});return{k1:y(h),k2:y(d)}}var no={};it(no,{MAX_RSA_KEY_SIZE:()=>Fe,RsaPrivateKey:()=>Ne,RsaPublicKey:()=>Ke,fromJwk:()=>zh,generateKeyPair:()=>jh,unmarshalRsaPrivateKey:()=>eo,unmarshalRsaPublicKey:()=>Gh});function Gt(r){if(isNaN(r)||r<=0)throw new A("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return hr(r)}var ke={};it(ke,{exportToPem:()=>Kh,importFromPem:()=>to,jwkToPkcs1:()=>Vh,jwkToPkix:()=>Hh,pkcs1ToJwk:()=>Ph,pkixToJwk:()=>Oh});var On=class extends lr{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,bn(t);let n=me(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 ur(this),this.iHash.update(t),this}digestInto(t){ur(this),cr(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()}},jr=(r,t,e)=>new On(r,t).update(e).digest();jr.create=(r,t)=>new On(r,t);function Eh(r,t,e,n){bn(r);let s=pa({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if(ar(i),ar(o),ar(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=me(t),l=me(e),f=new Uint8Array(o),u=jr.create(r,c),p=u._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:f,PRF:u,PRFSalt:p}}function vh(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),s.fill(0),e}async function ji(r,t,e,n){let{c:s,dkLen:i,asyncTick:o,DK:a,PRF:c,PRFSalt:l}=Eh(r,t,e,n),f,u=new Uint8Array(4),p=fr(u),w=new Uint8Array(c.outputLen);for(let g=1,h=0;h<i;g++,h+=c.outputLen){let d=a.subarray(h,h+c.outputLen);p.setInt32(0,g,!1),(f=l._cloneInto(f)).update(u).digestInto(w),d.set(w.subarray(0,d.length)),await da(s-1,o,()=>{c._cloneInto(f).update(w).digestInto(w);for(let y=0;y<d.length;y++)d[y]^=w[y]})}return vh(c,l,a,f,w)}var H=_s(tc());function Me(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 Ae(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 Kn(...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 Wi(){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=Me(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,Me(i,8)-n}function ec(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=Ae(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=Ae(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 rc(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 Wy=Math.log(2);function Fn(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Zi(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 le(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 Wr=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Zi(this.items)}},Yr=[new Uint8Array([1])],nc="0123456789";var Ar="",Mt=new ArrayBuffer(0),Ji=new Uint8Array(0),Zr="EndOfContent",ic="OCTET STRING",oc="BIT STRING";function fe(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?H.BufferSourceConverter.toUint8Array(i.valueHex):Ji}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(!le(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",Mt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:H.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var ae=class{constructor({blockLength:t=0,error:e=Ar,warnings:n=[],valueBeforeDecode:s=Ji}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=H.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:H.Convert.ToHex(this.valueBeforeDecodeView)}}};ae.NAME="baseBlock";var Et=class extends ae{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'")}};Et.NAME="valueBlock";var qn=class extends fe(ae){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?H.BufferSourceConverter.toUint8Array(t.valueHex):Ji,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",Mt}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=Ae(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=H.BufferSourceConverter.toUint8Array(t);if(!le(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 p=new Uint8Array(f);for(let w=0;w<l.length;w++)p[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 p=0;p<c;p++)u[p]=l[p];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=Me(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}}};qn.NAME="identificationBlock";var $n=class extends ae{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=H.BufferSourceConverter.toUint8Array(t);if(!le(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=Me(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=Ae(this.length,8);if(s.byteLength>127)return this.error="Too big length",Mt;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}}};$n.NAME="lengthBlock";var I={},pt=class extends ae{constructor({name:t=Ar,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new qn(s),this.lenBlock=new $n(s),this.valueBlock=i?new i(s):new Et(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 Wr;e||ac(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?Mt: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():H.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${H.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 rc(e,n)}};pt.NAME="BaseBlock";function ac(r){if(r instanceof I.Constructed)for(let t of r.valueBlock.value)ac(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Gn=class extends pt{constructor({value:t=Ar,...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}'`}};Gn.NAME="BaseStringBlock";var zn=class extends fe(Et){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};zn.NAME="PrimitiveValueBlock";var cc,jn=class extends pt{constructor(t={}){super(t,zn),this.idBlock.isConstructed=!1}};cc=jn;I.Primitive=cc;jn.NAME="PRIMITIVE";function Th(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 Is(r,t=0,e=r.length){let n=t,s=new pt({},Et),i=new ae;if(!le(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=pt;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=I.EndOfContent;break;case 1:c=I.Boolean;break;case 2:c=I.Integer;break;case 3:c=I.BitString;break;case 4:c=I.OctetString;break;case 5:c=I.Null;break;case 6:c=I.ObjectIdentifier;break;case 10:c=I.Enumerated;break;case 12:c=I.Utf8String;break;case 13:c=I.RelativeObjectIdentifier;break;case 14:c=I.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=I.Sequence;break;case 17:c=I.Set;break;case 18:c=I.NumericString;break;case 19:c=I.PrintableString;break;case 20:c=I.TeletexString;break;case 21:c=I.VideotexString;break;case 22:c=I.IA5String;break;case 23:c=I.UTCTime;break;case 24:c=I.GeneralizedTime;break;case 25:c=I.GraphicString;break;case 26:c=I.VisibleString;break;case 27:c=I.GeneralString;break;case 28:c=I.UniversalString;break;case 29:c=I.CharacterString;break;case 30:c=I.BmpString;break;case 31:c=I.DATE;break;case 32:c=I.TimeOfDay;break;case 33:c=I.DateTime;break;case 34:c=I.Duration;break;default:{let l=s.idBlock.isConstructed?new I.Constructed:new I.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?I.Constructed:I.Primitive}return s=Th(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 Sr(r){if(!r.byteLength){let t=new pt({},Et);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Is(H.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Ch(r,t){return r?1:t}var zt=class extends Et{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=H.BufferSourceConverter.toUint8Array(t);if(!le(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(;Ch(this.isIndefiniteForm,n)>0;){let o=Is(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===Zr)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Zr?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new Wr;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Mt:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};zt.NAME="ConstructedValueBlock";var uc,Se=class extends pt{constructor(t={}){super(t,zt),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 Libp2PPubsub=(()=>{var vu=Object.create;var on=Object.defineProperty;var Bu=Object.getOwnPropertyDescriptor;var Au=Object.getOwnPropertyNames;var Su=Object.getPrototypeOf,Iu=Object.prototype.hasOwnProperty;var Rs=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),it=(r,t)=>{for(var e in t)on(r,e,{get:t[e],enumerable:!0})},Eo=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Au(t))!Iu.call(r,s)&&s!==e&&on(r,s,{get:()=>t[s],enumerable:!(n=Bu(t,s))||n.enumerable});return r};var _s=(r,t,e)=>(e=r!=null?vu(Su(r)):{},Eo(t||!r||!r.__esModule?on(e,"default",{value:r,enumerable:!0}):e,r)),ku=r=>Eo(on({},"__esModule",{value:!0}),r);var Ha=Rs(wr=>{"use strict";var hh="[object ArrayBuffer]",oe=class r{static isArrayBuffer(t){return Object.prototype.toString.call(t)===hh}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}},Mi="string",dh=/^[0-9a-f]+$/i,ph=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,gh=/^[a-zA-Z0-9-_]+$/,Tn=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=oe.toUint8Array(t),n="";for(let i=0;i<e.length;i++)n+=String.fromCharCode(e[i]);return decodeURIComponent(escape(n))}},Tt=class{static toString(t,e=!1){let n=oe.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}},Cn=class r{static isHex(t){return typeof t===Mi&&dh.test(t)}static isBase64(t){return typeof t===Mi&&ph.test(t)}static isBase64Url(t){return typeof t===Mi&&gh.test(t)}static ToString(t,e="utf8"){let n=oe.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 Tt.toString(n,!0);case"utf16":case"utf16be":return Tt.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 Tt.fromString(t,!0);case"utf16":case"utf16be":return Tt.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){let e=oe.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 Tn.fromString(t);case"utf16":case"utf16be":return Tt.fromString(t);case"utf16le":case"usc2":return Tt.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 Tn.toString(t);case"utf16":case"utf16be":return Tt.toString(t);case"utf16le":case"usc2":return Tt.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=oe.toUint8Array(t),n="";for(let s=0;s<e.length;s++)n+=String.fromCharCode(e[s]);return n}static ToHex(t){let e=oe.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 Tt.toString(t,e)}static FromUtf16String(t,e=!1){return Tt.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,"")||""}};Cn.DEFAULT_UTF8_ENCODING="utf8";function yh(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 mh(...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 bh(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}wr.BufferSourceConverter=oe;wr.Convert=Cn;wr.assign=yh;wr.combine=mh;wr.isEqual=bh});var Jc=Rs((Em,io)=>{"use strict";var ad=Object.prototype.hasOwnProperty,St="~";function Qr(){}Object.create&&(Qr.prototype=Object.create(null),new Qr().__proto__||(St=!1));function cd(r,t,e){this.fn=r,this.context=t,this.once=e||!1}function Zc(r,t,e,n,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var i=new cd(e,n||r,s),o=St?St+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 Bs(r,t){--r._eventsCount===0?r._events=new Qr:delete r._events[t]}function Et(){this._events=new Qr,this._eventsCount=0}Et.prototype.eventNames=function(){var t=[],e,n;if(this._eventsCount===0)return t;for(n in e=this._events)ad.call(e,n)&&t.push(St?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};Et.prototype.listeners=function(t){var e=St?St+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};Et.prototype.listenerCount=function(t){var e=St?St+t:t,n=this._events[e];return n?n.fn?1:n.length:0};Et.prototype.emit=function(t,e,n,s,i,o){var a=St?St+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 p=c.length,w;for(u=0;u<p;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};Et.prototype.on=function(t,e,n){return Zc(this,t,e,n,!1)};Et.prototype.once=function(t,e,n){return Zc(this,t,e,n,!0)};Et.prototype.removeListener=function(t,e,n,s){var i=St?St+t:t;if(!this._events[i])return this;if(!e)return Bs(this,i),this;var o=this._events[i];if(o.fn)o.fn===e&&(!s||o.once)&&(!n||o.context===n)&&Bs(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:Bs(this,i)}return this};Et.prototype.removeAllListeners=function(t){var e;return t?(e=St?St+t:t,this._events[e]&&Bs(this,e)):(this._events=new Qr,this._eventsCount=0),this};Et.prototype.off=Et.prototype.removeListener;Et.prototype.addListener=Et.prototype.on;Et.prefixed=St;Et.EventEmitter=Et;typeof io<"u"&&(io.exports=Et)});var iu=Rs((Fm,su)=>{"use strict";function nu(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function ud(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return nu(r,e)}catch{e.message=r.message,e.stack=r.stack;let s=function(){};return s.prototype=Object.create(Object.getPrototypeOf(r)),nu(new s,e)}}su.exports=ud});var md={};it(md,{PubSubBaseProtocol:()=>fo});var vo=Symbol.for("@libp2p/peer-id");var kr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(kr||(kr={}));var A=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Bo=(r,...t)=>{try{[...t]}catch{}};var ze=class extends EventTarget{#t=new Map;constructor(){super(),Bo(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 Ft(t,e))}},Ts=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Ft=globalThis.CustomEvent??Ts;var Ps={};it(Ps,{base58btc:()=>vt,base58flickr:()=>Lu});var Sd=new Uint8Array(0);function Ao(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 Zt(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 Io(r){return new TextDecoder().decode(r)}function Nu(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(g){if(g instanceof Uint8Array||(ArrayBuffer.isView(g)?g=new Uint8Array(g.buffer,g.byteOffset,g.byteLength):Array.isArray(g)&&(g=Uint8Array.from(g))),!(g instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(g.length===0)return"";for(var h=0,d=0,y=0,x=g.length;y!==x&&g[y]===0;)y++,h++;for(var b=(x-y)*f+1>>>0,T=new Uint8Array(b);y!==x;){for(var E=g[y],S=0,R=b-1;(E!==0||S<d)&&R!==-1;R--,S++)E+=256*T[R]>>>0,T[R]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");d=S,y++}for(var _=b-d;_!==b&&T[_]===0;)_++;for(var $=c.repeat(h);_<b;++_)$+=r.charAt(T[_]);return $}function p(g){if(typeof g!="string")throw new TypeError("Expected String");if(g.length===0)return new Uint8Array;var h=0;if(g[h]!==" "){for(var d=0,y=0;g[h]===c;)d++,h++;for(var x=(g.length-h)*l+1>>>0,b=new Uint8Array(x);g[h];){var T=e[g.charCodeAt(h)];if(T===255)return;for(var E=0,S=x-1;(T!==0||E<y)&&S!==-1;S--,E++)T+=a*b[S]>>>0,b[S]=T%256>>>0,T=T/256>>>0;if(T!==0)throw new Error("Non-zero carry");y=E,h++}if(g[h]!==" "){for(var R=x-y;R!==x&&b[R]===0;)R++;for(var _=new Uint8Array(d+(x-R)),$=d;R!==x;)_[$++]=b[R++];return _}}}function w(g){var h=p(g);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:p,decode:w}}var Ru=Nu,_u=Ru,No=_u;var Cs=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")}},Ls=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 Ro(this,t)}},Us=class{decoders;constructor(t){this.decoders=t}or(t){return Ro(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 Ro(r,t){return new Us({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Ds=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 Cs(t,e,n),this.decoder=new Ls(t,e,s)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function je({name:r,prefix:t,encode:e,decode:n}){return new Ds(r,t,e,n)}function pe({name:r,prefix:t,alphabet:e}){let{encode:n,decode:s}=No(e,r);return je({prefix:t,name:r,encode:n,decode:i=>Zt(s(i))})}function Tu(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 Cu(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 tt({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return je({prefix:t,name:r,encode(s){return Cu(s,n,e)},decode(s){return Tu(s,n,e,r)}})}var vt=pe({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Lu=pe({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Vs={};it(Vs,{base10:()=>Uu});var Uu=pe({prefix:"9",name:"base10",alphabet:"0123456789"});var Os={};it(Os,{base16:()=>Du,base16upper:()=>Pu});var Du=tt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pu=tt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Hs={};it(Hs,{base2:()=>Vu});var Vu=tt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ms={};it(Ms,{base256emoji:()=>Fu});var _o=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}"),Ou=_o.reduce((r,t,e)=>(r[e]=t,r),[]),Hu=_o.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Mu(r){return r.reduce((t,e)=>(t+=Ou[e],t),"")}function Ku(r){let t=[];for(let e of r){let n=Hu[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Fu=je({prefix:"\u{1F680}",name:"base256emoji",encode:Mu,decode:Ku});var Ks={};it(Ks,{base32:()=>Ye,base32hex:()=>zu,base32hexpad:()=>Yu,base32hexpadupper:()=>Wu,base32hexupper:()=>ju,base32pad:()=>$u,base32padupper:()=>Gu,base32upper:()=>qu,base32z:()=>Zu});var Ye=tt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),qu=tt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),$u=tt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gu=tt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),zu=tt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ju=tt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Yu=tt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Wu=tt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Zu=tt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Fs={};it(Fs,{base36:()=>Ju,base36upper:()=>Xu});var Ju=pe({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Xu=pe({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var qs={};it(qs,{base64:()=>Nr,base64pad:()=>Qu,base64url:()=>tl,base64urlpad:()=>el});var Nr=tt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qu=tt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tl=tt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),el=tt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var $s={};it($s,{base8:()=>rl});var rl=tt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Gs={};it(Gs,{identity:()=>nl});var nl=je({prefix:"\0",name:"identity",encode:r=>Io(r),decode:r=>So(r)});var Kd=new TextEncoder,Fd=new TextDecoder;var js={};it(js,{identity:()=>ge});var ol=Lo,To=128,al=127,cl=~al,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&cl;)t[e++]=r&255|To,r>>>=7;return t[e]=r|0,Lo.bytes=e-n+1,t}var ll=zs,fl=128,Co=127;function zs(r,n){var e=0,n=n||0,s=0,i=n,o,a=r.length;do{if(i>=a)throw zs.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>=fl);return zs.bytes=i-n,e}var hl=Math.pow(2,7),dl=Math.pow(2,14),pl=Math.pow(2,21),gl=Math.pow(2,28),yl=Math.pow(2,35),ml=Math.pow(2,42),bl=Math.pow(2,49),wl=Math.pow(2,56),xl=Math.pow(2,63),El=function(r){return r<hl?1:r<dl?2:r<pl?3:r<gl?4:r<yl?5:r<ml?6:r<bl?7:r<wl?8:r<xl?9:10},vl={encode:ol,decode:ll,encodingLength:El},Bl=vl,Rr=Bl;function _r(r,t=0){return[Rr.decode(r,t),Rr.decode.bytes]}function We(r,t,e=0){return Rr.encode(r,t,e),t}function Ze(r){return Rr.encodingLength(r)}function qt(r,t){let e=t.byteLength,n=Ze(r),s=n+Ze(e),i=new Uint8Array(s+e);return We(r,i,0),We(e,i,n),i.set(t,s),new Je(r,e,t,i)}function Tr(r){let t=Zt(r),[e,n]=_r(t),[s,i]=_r(t.subarray(n)),o=t.subarray(n+i);if(o.byteLength!==s)throw new Error("Incorrect length");return new Je(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&&Ao(r.bytes,e.bytes)}}var Je=class{code;size;digest;bytes;constructor(t,e,n,s){this.code=t,this.size=e,this.digest=n,this.bytes=s}};var Do=0,Al="identity",Po=Zt;function Sl(r){return qt(Do,Po(r))}var ge={code:Do,name:Al,encode:Po,digest:Sl};var Zs={};it(Zs,{sha256:()=>ct,sha512:()=>Il});function Ws({name:r,code:t,encode:e}){return new Ys(r,t,e)}var Ys=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?qt(this.code,e):e.then(n=>qt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Oo(r){return async t=>new Uint8Array(await crypto.subtle.digest(r,t))}var ct=Ws({name:"sha2-256",code:18,encode:Oo("SHA-256")}),Il=Ws({name:"sha2-512",code:19,encode:Oo("SHA-512")});function Ho(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Nl(e,Js(r),t??vt.encoder);default:return Rl(e,Js(r),t??Ye.encoder)}}var Mo=new WeakMap;function Js(r){let t=Mo.get(r);if(t==null){let e=new Map;return Mo.set(r,e),e}return t}var Ce=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!==Cr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==_l)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=qt(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 Ho(this,t)}toJSON(){return{"/":Ho(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??Ko(n,s,i.bytes))}else if(e[Tl]===!0){let{version:n,multihash:s,code:i}=e,o=Tr(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!==Cr)throw new Error(`Version 0 CID must use dag-pb (code: ${Cr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let s=Ko(t,e,n.bytes);return new r(t,e,n,s)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Cr,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=Zt(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 Je(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,p]=_r(t.subarray(e));return e+=p,u},s=n(),i=Cr;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]=kl(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 Js(i).set(n,t),i}};function kl(r,t){switch(r[0]){case"Q":{let e=t??vt;return[vt.prefix,e.decode(`${vt.prefix}${r}`)]}case vt.prefix:{let e=t??vt;return[vt.prefix,e.decode(r)]}case Ye.prefix:{let e=t??Ye;return[Ye.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Nl(r,t,e){let{prefix:n}=e;if(n!==vt.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 Rl(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 Cr=112,_l=18;function Ko(r,t,e){let n=Ze(r),s=n+Ze(t),i=new Uint8Array(s+e.byteLength);return We(r,i,0),We(t,i,n),i.set(e,s),i}var Tl=Symbol.for("@ipld/js-cid/CID");var Qe={...Gs,...Hs,...$s,...Vs,...Os,...Ks,...Fs,...Ps,...qs,...Ms},u0={...Zs,...js};function yt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var Cl=Symbol.for("nodejs.util.inspect.custom"),Fo=Object.values(Qe).map(r=>r.decoder).reduce((r,t)=>r.or(t),Qe.identity.decoder),qo=114,Xs=36,Qs=37,Lr=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[vo]=!0;toString(){return this.string==null&&(this.string=vt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Ce.createV1(qo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return yt(this.multihash.bytes,t);if(typeof t=="string")return Jt(t).equals(this);if(t?.multihash?.bytes!=null)return yt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Cl](){return`PeerId(${this.toString()})`}},tr=class extends Lr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},er=class extends Lr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},rr=class extends Lr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function Jt(r,t){if(t=t??Fo,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Tr(vt.decode(`z${r}`));return r.startsWith("12D")?new er({multihash:e}):r.startsWith("16U")?new rr({multihash:e}):new tr({multihash:e})}return Ur(Fo.decode(r))}function Ur(r){try{let t=Tr(r);if(t.code===ge.code){if(t.digest.length===Xs)return new er({multihash:t});if(t.digest.length===Qs)return new rr({multihash:t})}if(t.code===ct.code)return new tr({multihash:t})}catch{return Ll(Ce.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Ll(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==qo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===ct.code)return new tr({multihash:r.multihash});if(t.code===ge.code){if(t.digest.length===Xs)return new er({multihash:r.multihash});if(t.digest.length===Qs)return new rr({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function cn(r,t){return r.length===Xs?new er({multihash:qt(ge.code,r),privateKey:t}):r.length===Qs?new rr({multihash:qt(ge.code,r),privateKey:t}):new tr({multihash:await ct.digest(r),publicKey:r,privateKey:t})}function nr(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}var Dr=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[e,n]of t.entries())this.map.set(e.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){return this.map.delete(t.toString())}entries(){return nr(this.map.entries(),t=>[Jt(t[0]),t[1]])}forEach(t){this.map.forEach((e,n)=>{t(e,Jt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,e){this.map.set(t.toString(),e)}keys(){return nr(this.map.keys(),t=>Jt(t))}values(){return this.map.values()}get size(){return this.map.size}};var Pr=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 nr(this.set.entries(),t=>{let e=Jt(t[0]);return[e,e]})}forEach(t){this.set.forEach(e=>{let n=Jt(e);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return nr(this.set.values(),t=>Jt(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 W={get(r=globalThis){let t=r.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("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"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var $o={SHA1:20,SHA256:32,SHA512:64};var Ul={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Dl=async(r,t)=>{let e=await W.get().subtle.sign({name:"HMAC"},r,t);return new Uint8Array(e,0,e.byteLength)};async function Go(r,t){let e=Ul[r],n=await W.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:e}},!1,["sign"]);return{async digest(s){return Dl(n,s)},length:$o[r]}}var Jr={};it(Jr,{Ed25519PrivateKey:()=>ie,Ed25519PublicKey:()=>Oe,MAX_RSA_KEY_SIZE:()=>Ke,RsaPrivateKey:()=>ke,RsaPublicKey:()=>Me,Secp256k1PrivateKey:()=>$e,Secp256k1PublicKey:()=>qe,generateEphemeralKeyPair:()=>Da,generateKeyPair:()=>Zh,generateKeyPairFromSeed:()=>Jh,importKey:()=>ed,keyStretcher:()=>Oa,keysPBM:()=>mr,marshalPrivateKey:()=>td,marshalPublicKey:()=>Qh,supportedKeys:()=>de,unmarshalPrivateKey:()=>$c,unmarshalPublicKey:()=>Xh});var Vi={};it(Vi,{Ed25519PrivateKey:()=>ie,Ed25519PublicKey:()=>Oe,generateKeyPair:()=>oh,generateKeyPairFromSeed:()=>Pi,unmarshalEd25519PrivateKey:()=>sh,unmarshalEd25519PublicKey:()=>ih});function Xt(r=0){return new Uint8Array(r)}function mt(r=0){return new Uint8Array(r)}function Bt(r,t){t==null&&(t=r.reduce((s,i)=>s+i.length,0));let e=mt(t),n=0;for(let s of r)e.set(s,n),n+=s.length;return e}function jo(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var zo=jo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ti=jo("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=mt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Vl={utf8:zo,"utf-8":zo,hex:Qe.base16,latin1:ti,ascii:ti,binary:ti,...Qe},un=Vl;function z(r,t="utf8"){let e=un[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.decoder.decode(`${e.prefix}${r}`)}function ei(r,t){let e=z(r,"base64urlpad");if(t!=null){if(e.length>t)throw new Error("byte array longer than desired length");e=Bt([new Uint8Array(t-e.length),e])}return e}function _t(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function sr(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Ol(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function ir(r,...t){if(!Ol(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 ln(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");sr(r.outputLen),sr(r.blockLen)}function or(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 Yo(r,t){ir(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var fn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var cr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Lt=(r,t)=>r<<32-t|r>>>t;var W0=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Hl=async()=>{};async function Wo(r,t,e){let n=Date.now();for(let s=0;s<r;s++){e(s);let i=Date.now()-n;i>=0&&i<t||(await Hl(),n+=i)}}function ri(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function ye(r){return typeof r=="string"&&(r=ri(r)),ir(r),r}function hn(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];ir(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 ar=class{clone(){return this._cloneInto()}},Ml={}.toString;function Zo(r,t){if(t!==void 0&&Ml.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,t)}function dn(r){let t=n=>r().update(ye(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function ur(r=32){if(fn&&typeof fn.getRandomValues=="function")return fn.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function Kl(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 Jo=(r,t,e)=>r&t^~r&e,Xo=(r,t,e)=>r&t^r&e^t&e,lr=class extends ar{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=cr(this.buffer)}update(t){or(this);let{view:e,buffer:n,blockLen:s}=this;t=ye(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=cr(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){or(this),Yo(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;Kl(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=cr(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 pn=BigInt(4294967295),ni=BigInt(32);function Qo(r,t=!1){return t?{h:Number(r&pn),l:Number(r>>ni&pn)}:{h:Number(r>>ni&pn)|0,l:Number(r&pn)|0}}function Fl(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}=Qo(r[s],t);[e[s],n[s]]=[i,o]}return[e,n]}var ql=(r,t)=>BigInt(r>>>0)<<ni|BigInt(t>>>0),$l=(r,t,e)=>r>>>e,Gl=(r,t,e)=>r<<32-e|t>>>e,zl=(r,t,e)=>r>>>e|t<<32-e,jl=(r,t,e)=>r<<32-e|t>>>e,Yl=(r,t,e)=>r<<64-e|t>>>e-32,Wl=(r,t,e)=>r>>>e-32|t<<64-e,Zl=(r,t)=>t,Jl=(r,t)=>r,Xl=(r,t,e)=>r<<e|t>>>32-e,Ql=(r,t,e)=>t<<e|r>>>32-e,tf=(r,t,e)=>t<<e-32|r>>>64-e,ef=(r,t,e)=>r<<e-32|t>>>64-e;function rf(r,t,e,n){let s=(t>>>0)+(n>>>0);return{h:r+e+(s/2**32|0)|0,l:s|0}}var nf=(r,t,e)=>(r>>>0)+(t>>>0)+(e>>>0),sf=(r,t,e,n)=>t+e+n+(r/2**32|0)|0,of=(r,t,e,n)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0),af=(r,t,e,n,s)=>t+e+n+s+(r/2**32|0)|0,cf=(r,t,e,n,s)=>(r>>>0)+(t>>>0)+(e>>>0)+(n>>>0)+(s>>>0),uf=(r,t,e,n,s,i)=>t+e+n+s+i+(r/2**32|0)|0;var lf={fromBig:Qo,split:Fl,toBig:ql,shrSH:$l,shrSL:Gl,rotrSH:zl,rotrSL:jl,rotrBH:Yl,rotrBL:Wl,rotr32H:Zl,rotr32L:Jl,rotlSH:Xl,rotlSL:Ql,rotlBH:tf,rotlBL:ef,add:rf,add3L:nf,add3H:sf,add4L:of,add4H:af,add5H:uf,add5L:cf},U=lf;var[ff,hf]=U.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))),me=new Uint32Array(80),be=new Uint32Array(80),si=class extends lr{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:p,Gh:w,Gl:g,Hh:h,Hl:d}=this;return[t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d]}set(t,e,n,s,i,o,a,c,l,f,u,p,w,g,h,d){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=p|0,this.Gh=w|0,this.Gl=g|0,this.Hh=h|0,this.Hl=d|0}process(t,e){for(let b=0;b<16;b++,e+=4)me[b]=t.getUint32(e),be[b]=t.getUint32(e+=4);for(let b=16;b<80;b++){let T=me[b-15]|0,E=be[b-15]|0,S=U.rotrSH(T,E,1)^U.rotrSH(T,E,8)^U.shrSH(T,E,7),R=U.rotrSL(T,E,1)^U.rotrSL(T,E,8)^U.shrSL(T,E,7),_=me[b-2]|0,$=be[b-2]|0,K=U.rotrSH(_,$,19)^U.rotrBH(_,$,61)^U.shrSH(_,$,6),D=U.rotrSL(_,$,19)^U.rotrBL(_,$,61)^U.shrSL(_,$,6),nt=U.add4L(R,D,be[b-7],be[b-16]),rt=U.add4H(nt,S,K,me[b-7],me[b-16]);me[b]=rt|0,be[b]=nt|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:c,Dh:l,Dl:f,Eh:u,El:p,Fh:w,Fl:g,Gh:h,Gl:d,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let T=U.rotrSH(u,p,14)^U.rotrSH(u,p,18)^U.rotrBH(u,p,41),E=U.rotrSL(u,p,14)^U.rotrSL(u,p,18)^U.rotrBL(u,p,41),S=u&w^~u&h,R=p&g^~p&d,_=U.add5L(x,E,R,hf[b],be[b]),$=U.add5H(_,y,T,S,ff[b],me[b]),K=_|0,D=U.rotrSH(n,s,28)^U.rotrBH(n,s,34)^U.rotrBH(n,s,39),nt=U.rotrSL(n,s,28)^U.rotrBL(n,s,34)^U.rotrBL(n,s,39),rt=n&i^n&a^i&a,Rt=s&o^s&c^o&c;y=h|0,x=d|0,h=w|0,d=g|0,w=u|0,g=p|0,{h:u,l:p}=U.add(l|0,f|0,$|0,K|0),l=a|0,f=c|0,a=i|0,c=o|0,i=n|0,o=s|0;let v=U.add3L(K,nt,Rt);n=U.add3H(v,$,D,rt),s=v|0}({h:n,l:s}=U.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=U.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:c}=U.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:l,l:f}=U.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:u,l:p}=U.add(this.Eh|0,this.El|0,u|0,p|0),{h:w,l:g}=U.add(this.Fh|0,this.Fl|0,w|0,g|0),{h,l:d}=U.add(this.Gh|0,this.Gl|0,h|0,d|0),{h:y,l:x}=U.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,s,i,o,a,c,l,f,u,p,w,g,h,d,y,x)}roundClean(){me.fill(0),be.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 fr=dn(()=>new si);var yn={};it(yn,{abytes:()=>hr,bitGet:()=>wf,bitLen:()=>bf,bitMask:()=>Vr,bitSet:()=>xf,bytesToHex:()=>te,bytesToNumberBE:()=>ee,bytesToNumberLE:()=>xe,concatBytes:()=>re,createHmacDrbg:()=>ai,ensureBytes:()=>et,equalBytes:()=>yf,hexToBytes:()=>Le,hexToNumber:()=>oi,isBytes:()=>we,numberToBytesBE:()=>Ee,numberToBytesLE:()=>Ue,numberToHexUnpadded:()=>na,numberToVarBytesBE:()=>gf,utf8ToBytes:()=>mf,validateObject:()=>$t});var ra=BigInt(0),gn=BigInt(1),df=BigInt(2);function we(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function hr(r){if(!we(r))throw new Error("Uint8Array expected")}var pf=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function te(r){hr(r);let t="";for(let e=0;e<r.length;e++)t+=pf[r[e]];return t}function na(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function oi(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Qt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function ta(r){if(r>=Qt._0&&r<=Qt._9)return r-Qt._0;if(r>=Qt._A&&r<=Qt._F)return r-(Qt._A-10);if(r>=Qt._a&&r<=Qt._f)return r-(Qt._a-10)}function Le(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=ta(r.charCodeAt(i)),a=ta(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 ee(r){return oi(te(r))}function xe(r){return hr(r),oi(te(Uint8Array.from(r).reverse()))}function Ee(r,t){return Le(r.toString(16).padStart(t*2,"0"))}function Ue(r,t){return Ee(r,t).reverse()}function gf(r){return Le(na(r))}function et(r,t,e){let n;if(typeof t=="string")try{n=Le(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(we(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 re(...r){let t=0;for(let n=0;n<r.length;n++){let s=r[n];hr(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 yf(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 mf(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function bf(r){let t;for(t=0;r>ra;r>>=gn,t+=1);return t}function wf(r,t){return r>>BigInt(t)&gn}function xf(r,t,e){return r|(e?gn:ra)<<BigInt(t)}var Vr=r=>(df<<BigInt(r-1))-gn,ii=r=>new Uint8Array(r),ea=r=>Uint8Array.from(r);function ai(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=ii(r),s=ii(r),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...u)=>e(s,n,...u),c=(u=ii())=>{s=a(ea([0]),u),n=a(),u.length!==0&&(s=a(ea([1]),u),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,p=[];for(;u<t;){n=a();let w=n.slice();p.push(w),u+=n.length}return re(...p)};return(u,p)=>{o(),c(u);let w;for(;!(w=p(l()));)c();return o(),w}}var Ef={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"||we(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 $t(r,t,e={}){let n=(s,i,o)=>{let a=Ef[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 ut=BigInt(0),Z=BigInt(1),De=BigInt(2),vf=BigInt(3),ci=BigInt(4),sa=BigInt(5),ia=BigInt(8),Bf=BigInt(9),Af=BigInt(16);function j(r,t){let e=r%t;return e>=ut?e:t+e}function Sf(r,t,e){if(e<=ut||t<ut)throw new Error("Expected power/modulo > 0");if(e===Z)return ut;let n=Z;for(;t>ut;)t&Z&&(n=n*r%e),r=r*r%e,t>>=Z;return n}function J(r,t,e){let n=r;for(;t-- >ut;)n*=n,n%=e;return n}function mn(r,t){if(r===ut||t<=ut)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=j(r,t),n=t,s=ut,i=Z,o=Z,a=ut;for(;e!==ut;){let l=n/e,f=n%e,u=s-o*l,p=i-a*l;n=e,e=f,s=o,i=a,o=u,a=p}if(n!==Z)throw new Error("invert: does not exist");return j(s,t)}function If(r){let t=(r-Z)/De,e,n,s;for(e=r-Z,n=0;e%De===ut;e/=De,n++);for(s=De;s<r&&Sf(s,t,r)!==r-Z;s++);if(n===1){let o=(r+Z)/ci;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+Z)/De;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),p=a.pow(c,e);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let w=1;for(let h=a.sqr(p);w<l&&!a.eql(h,a.ONE);w++)h=a.sqr(h);let g=a.pow(f,Z<<BigInt(l-w-1));f=a.sqr(g),u=a.mul(u,g),p=a.mul(p,f),l=w}return u}}function kf(r){if(r%ci===vf){let t=(r+Z)/ci;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%ia===sa){let t=(r-sa)/ia;return function(n,s){let i=n.mul(s,De),o=n.pow(i,t),a=n.mul(s,o),c=n.mul(n.mul(a,De),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%Af,If(r)}var oa=(r,t)=>(j(r,t)&Z)===Z,Nf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ui(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Nf.reduce((n,s)=>(n[s]="function",n),t);return $t(r,e)}function Rf(r,t,e){if(e<ut)throw new Error("Expected power > 0");if(e===ut)return r.ONE;if(e===Z)return t;let n=r.ONE,s=t;for(;e>ut;)e&Z&&(n=r.mul(n,s)),s=r.sqr(s),e>>=Z;return n}function _f(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 li(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function bn(r,t,e=!1,n={}){if(r<=ut)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:s,nByteLength:i}=li(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=kf(r),a=Object.freeze({ORDER:r,BITS:s,BYTES:i,MASK:Vr(s),ZERO:ut,ONE:Z,create:c=>j(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return ut<=c&&c<r},is0:c=>c===ut,isOdd:c=>(c&Z)===Z,neg:c=>j(-c,r),eql:(c,l)=>c===l,sqr:c=>j(c*c,r),add:(c,l)=>j(c+l,r),sub:(c,l)=>j(c-l,r),mul:(c,l)=>j(c*l,r),pow:(c,l)=>Rf(a,c,l),div:(c,l)=>j(c*mn(l,r),r),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>mn(c,r),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>_f(a,c),cmov:(c,l,f)=>f?l:c,toBytes:c=>e?Ue(c,i):Ee(c,i),fromBytes:c=>{if(c.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${c.length}`);return e?xe(c):ee(c)}});return Object.freeze(a)}function aa(r,t){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let e=r.sqrt(t);return r.isOdd(e)?r.neg(e):e}function ca(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 fi(r){let t=ca(r);return t+Math.ceil(t/2)}function ua(r,t,e=!1){let n=r.length,s=ca(t),i=fi(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=e?ee(r):xe(r),a=j(o,t-Z)+Z;return e?Ue(a,s):Ee(a,s)}var Cf=BigInt(0),hi=BigInt(1);function wn(r,t){let e=(s,i)=>{let o=i.negate();return s?o:i},n=s=>{let i=Math.ceil(t/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:e,unsafeLadder(s,i){let o=r.ZERO,a=s;for(;i>Cf;)i&hi&&(o=o.add(a)),a=a.double(),i>>=hi;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=n(i),c=[],l=s,f=l;for(let u=0;u<o;u++){f=l,c.push(f);for(let p=1;p<a;p++)f=f.add(l),c.push(f);l=f.double()}return c},wNAF(s,i,o){let{windows:a,windowSize:c}=n(s),l=r.ZERO,f=r.BASE,u=BigInt(2**s-1),p=2**s,w=BigInt(s);for(let g=0;g<a;g++){let h=g*c,d=Number(o&u);o>>=w,d>c&&(d-=p,o+=hi);let y=h,x=h+Math.abs(d)-1,b=g%2!==0,T=d<0;d===0?f=f.add(e(b,i[y])):l=l.add(e(T,i[x]))}return{p:l,f}},wNAFCached(s,i,o,a){let c=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,c),c!==1&&i.set(s,a(l))),this.wNAF(c,l,o)}}}function Or(r){return ui(r.Fp),$t(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...li(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var Ut=BigInt(0),kt=BigInt(1),xn=BigInt(2),Lf=BigInt(8),Uf={zip215:!0};function Df(r){let t=Or(r);return $t(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function En(r){let t=Df(r),{Fp:e,n,prehash:s,hash:i,randomBytes:o,nByteLength:a,h:c}=t,l=xn<<BigInt(a*8)-kt,f=e.create,u=t.uvRatio||((B,m)=>{try{return{isValid:!0,value:e.sqrt(B*e.inv(m))}}catch{return{isValid:!1,value:Ut}}}),p=t.adjustScalarBytes||(B=>B),w=t.domain||((B,m,k)=>{if(m.length||k)throw new Error("Contexts/pre-hash are not supported");return B}),g=B=>typeof B=="bigint"&&Ut<B,h=(B,m)=>g(B)&&g(m)&&B<m,d=B=>B===Ut||h(B,l);function y(B,m){if(h(B,m))return B;throw new Error(`Expected valid scalar < ${m}, got ${typeof B} ${B}`)}function x(B){return B===Ut?B:y(B,n)}let b=new Map;function T(B){if(!(B instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(m,k,C,L){if(this.ex=m,this.ey=k,this.ez=C,this.et=L,!d(m))throw new Error("x required");if(!d(k))throw new Error("y required");if(!d(C))throw new Error("z required");if(!d(L))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(m){if(m instanceof E)throw new Error("extended point not allowed");let{x:k,y:C}=m||{};if(!d(k)||!d(C))throw new Error("invalid affine point");return new E(k,C,kt,f(k*C))}static normalizeZ(m){let k=e.invertBatch(m.map(C=>C.ez));return m.map((C,L)=>C.toAffine(k[L])).map(E.fromAffine)}_setWindowSize(m){this._WINDOW_SIZE=m,b.delete(this)}assertValidity(){let{a:m,d:k}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:C,ey:L,ez:V,et:O}=this,q=f(C*C),M=f(L*L),F=f(V*V),st=f(F*F),Q=f(q*m),ht=f(F*f(Q+M)),dt=f(st+f(k*f(q*M)));if(ht!==dt)throw new Error("bad point: equation left != right (1)");let at=f(C*L),gt=f(V*O);if(at!==gt)throw new Error("bad point: equation left != right (2)")}equals(m){T(m);let{ex:k,ey:C,ez:L}=this,{ex:V,ey:O,ez:q}=m,M=f(k*q),F=f(V*L),st=f(C*q),Q=f(O*L);return M===F&&st===Q}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:m}=t,{ex:k,ey:C,ez:L}=this,V=f(k*k),O=f(C*C),q=f(xn*f(L*L)),M=f(m*V),F=k+C,st=f(f(F*F)-V-O),Q=M+O,ht=Q-q,dt=M-O,at=f(st*ht),gt=f(Q*dt),Wt=f(st*dt),Te=f(ht*Q);return new E(at,gt,Te,Wt)}add(m){T(m);let{a:k,d:C}=t,{ex:L,ey:V,ez:O,et:q}=this,{ex:M,ey:F,ez:st,et:Q}=m;if(k===BigInt(-1)){let po=f((V-L)*(F+M)),go=f((V+L)*(F-M)),Ns=f(go-po);if(Ns===Ut)return this.double();let yo=f(O*xn*Q),mo=f(q*xn*st),bo=mo+yo,wo=go+po,xo=mo-yo,bu=f(bo*Ns),wu=f(wo*xo),xu=f(bo*xo),Eu=f(Ns*wo);return new E(bu,wu,Eu,xu)}let ht=f(L*M),dt=f(V*F),at=f(q*C*Q),gt=f(O*st),Wt=f((L+V)*(M+F)-ht-dt),Te=gt-at,Ir=gt+at,ho=f(dt-k*ht),pu=f(Wt*Te),gu=f(Ir*ho),yu=f(Wt*ho),mu=f(Te*Ir);return new E(pu,gu,mu,yu)}subtract(m){return this.add(m.negate())}wNAF(m){return _.wNAFCached(this,b,m,E.normalizeZ)}multiply(m){let{p:k,f:C}=this.wNAF(y(m,n));return E.normalizeZ([k,C])[0]}multiplyUnsafe(m){let k=x(m);return k===Ut?R:this.equals(R)||k===kt?this:this.equals(S)?this.wNAF(k).p:_.unsafeLadder(this,k)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return _.unsafeLadder(this,n).is0()}toAffine(m){let{ex:k,ey:C,ez:L}=this,V=this.is0();m==null&&(m=V?Lf:e.inv(L));let O=f(k*m),q=f(C*m),M=f(L*m);if(V)return{x:Ut,y:kt};if(M!==kt)throw new Error("invZ was invalid");return{x:O,y:q}}clearCofactor(){let{h:m}=t;return m===kt?this:this.multiplyUnsafe(m)}static fromHex(m,k=!1){let{d:C,a:L}=t,V=e.BYTES;m=et("pointHex",m,V);let O=m.slice(),q=m[V-1];O[V-1]=q&-129;let M=xe(O);M===Ut||(k?y(M,l):y(M,e.ORDER));let F=f(M*M),st=f(F-kt),Q=f(C*F-L),{isValid:ht,value:dt}=u(st,Q);if(!ht)throw new Error("Point.fromHex: invalid y coordinate");let at=(dt&kt)===kt,gt=(q&128)!==0;if(!k&&dt===Ut&&gt)throw new Error("Point.fromHex: x=0 and x_0=1");return gt!==at&&(dt=f(-dt)),E.fromAffine({x:dt,y:M})}static fromPrivateKey(m){return D(m).point}toRawBytes(){let{x:m,y:k}=this.toAffine(),C=Ue(k,e.BYTES);return C[C.length-1]|=m&kt?128:0,C}toHex(){return te(this.toRawBytes())}}E.BASE=new E(t.Gx,t.Gy,kt,f(t.Gx*t.Gy)),E.ZERO=new E(Ut,kt,kt,Ut);let{BASE:S,ZERO:R}=E,_=wn(E,a*8);function $(B){return j(B,n)}function K(B){return $(xe(B))}function D(B){let m=a;B=et("private key",B,m);let k=et("hashed private key",i(B),2*m),C=p(k.slice(0,m)),L=k.slice(m,2*m),V=K(C),O=S.multiply(V),q=O.toRawBytes();return{head:C,prefix:L,scalar:V,point:O,pointBytes:q}}function nt(B){return D(B).pointBytes}function rt(B=new Uint8Array,...m){let k=re(...m);return K(i(w(k,et("context",B),!!s)))}function Rt(B,m,k={}){B=et("message",B),s&&(B=s(B));let{prefix:C,scalar:L,pointBytes:V}=D(m),O=rt(k.context,C,B),q=S.multiply(O).toRawBytes(),M=rt(k.context,q,V,B),F=$(O+M*L);x(F);let st=re(q,Ue(F,e.BYTES));return et("result",st,a*2)}let v=Uf;function N(B,m,k,C=v){let{context:L,zip215:V}=C,O=e.BYTES;B=et("signature",B,2*O),m=et("message",m),s&&(m=s(m));let q=xe(B.slice(O,2*O)),M,F,st;try{M=E.fromHex(k,V),F=E.fromHex(B.slice(0,O),V),st=S.multiplyUnsafe(q)}catch{return!1}if(!V&&M.isSmallOrder())return!1;let Q=rt(L,F.toRawBytes(),M.toRawBytes(),m);return F.add(M.multiplyUnsafe(Q)).subtract(st).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:nt,sign:Rt,verify:N,ExtendedPoint:E,utils:{getExtendedPublicKey:D,randomPrivateKey:()=>o(e.BYTES),precompute(B=8,m=E.BASE){return m._setWindowSize(B),m.multiply(BigInt(3)),m}}}}var pi=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),la=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),mp=BigInt(0),Pf=BigInt(1),di=BigInt(2),Vf=BigInt(5),fa=BigInt(10),Of=BigInt(20),Hf=BigInt(40),ha=BigInt(80);function Mf(r){let t=pi,n=r*r%t*r%t,s=J(n,di,t)*n%t,i=J(s,Pf,t)*r%t,o=J(i,Vf,t)*i%t,a=J(o,fa,t)*o%t,c=J(a,Of,t)*a%t,l=J(c,Hf,t)*c%t,f=J(l,ha,t)*l%t,u=J(f,ha,t)*l%t,p=J(u,fa,t)*o%t;return{pow_p_5_8:J(p,di,t)*r%t,b2:n}}function Kf(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Ff(r,t){let e=pi,n=j(t*t*t,e),s=j(n*n*t,e),i=Mf(r*s).pow_p_5_8,o=j(r*n*i,e),a=j(t*o*o,e),c=o,l=j(o*la,e),f=a===r,u=a===j(-r,e),p=a===j(-r*la,e);return f&&(o=c),(u||p)&&(o=l),oa(o,e)&&(o=j(-o,e)),{isValid:f||u,value:o}}var ne=bn(pi,void 0,!0),gi={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ne,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:fr,randomBytes:ur,adjustScalarBytes:Kf,uvRatio:Ff},dr=En(gi);function da(r,t,e){if(t.length>255)throw new Error("Context is too big");return hn(ri("SigEd25519 no Ed25519 collisions"),new Uint8Array([e?1:0,t.length]),t,r)}var bp=En({...gi,domain:da}),wp=En({...gi,domain:da,prehash:fr});var qf=(ne.ORDER+BigInt(3))/BigInt(8),xp=ne.pow(di,qf),Ep=ne.sqrt(ne.neg(ne.ONE)),vp=(ne.ORDER-BigInt(5))/BigInt(8),Bp=BigInt(486662);var Ap=aa(ne,ne.neg(BigInt(486664)));var Sp=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Ip=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),kp=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Np=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Rp=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var pr=32,se=64,vn=32;function pa(){let r=dr.utils.randomPrivateKey(),t=dr.getPublicKey(r);return{privateKey:ba(r,t),publicKey:t}}function ga(r){if(r.length!==vn)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=r,e=dr.getPublicKey(t);return{privateKey:ba(t,e),publicKey:e}}function ya(r,t){let e=r.subarray(0,vn);return dr.sign(t instanceof Uint8Array?t:t.subarray(),e)}function ma(r,t,e){return dr.verify(t,e instanceof Uint8Array?e:e.subarray(),r)}function ba(r,t){let e=new Uint8Array(se);for(let n=0;n<vn;n++)e[n]=r[n],e[vn+n]=t[n];return e}var yi={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Bn(r){let t=r?.algorithm??"AES-GCM",e=r?.keyLength??16,n=r?.nonceLength??12,s=r?.digest??"SHA-256",i=r?.saltLength??16,o=r?.iterations??32767,a=W.get();e*=8;async function c(u,p){let w=a.getRandomValues(new Uint8Array(i)),g=a.getRandomValues(new Uint8Array(n)),h={name:t,iv:g};typeof p=="string"&&(p=z(p));let d;if(p.length===0){d=await a.subtle.importKey("jwk",yi,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}catch{d=await a.subtle.importKey("jwk",yi,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},b=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);d=await a.subtle.deriveKey(x,b,{name:t,length:e},!0,["encrypt"])}let y=await a.subtle.encrypt(h,d,u);return Bt([w,h.iv,new Uint8Array(y)])}async function l(u,p){let w=u.subarray(0,i),g=u.subarray(i,i+n),h=u.subarray(i+n),d={name:t,iv:g};typeof p=="string"&&(p=z(p));let y;if(p.length===0)try{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",yi,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:w,iterations:o,hash:{name:s}},T=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,T,{name:t,length:e},!0,["decrypt"])}let x=await a.subtle.decrypt(d,y,h);return new Uint8Array(x)}return{encrypt:c,decrypt:l}}async function gr(r,t){let n=await Bn().encrypt(r,t);return Nr.encode(n)}var mr={};it(mr,{KeyType:()=>Y,PrivateKey:()=>Ot,PublicKey:()=>Vt});var Gf=Math.pow(2,7),zf=Math.pow(2,14),jf=Math.pow(2,21),mi=Math.pow(2,28),bi=Math.pow(2,35),wi=Math.pow(2,42),xi=Math.pow(2,49),G=128,bt=127;function Dt(r){if(r<Gf)return 1;if(r<zf)return 2;if(r<jf)return 3;if(r<mi)return 4;if(r<bi)return 5;if(r<wi)return 6;if(r<xi)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Ei(r,t,e=0){switch(Dt(r)){case 8:t[e++]=r&255|G,r/=128;case 7:t[e++]=r&255|G,r/=128;case 6:t[e++]=r&255|G,r/=128;case 5:t[e++]=r&255|G,r/=128;case 4:t[e++]=r&255|G,r>>>=7;case 3:t[e++]=r&255|G,r>>>=7;case 2:t[e++]=r&255|G,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Yf(r,t,e=0){switch(Dt(r)){case 8:t.set(e++,r&255|G),r/=128;case 7:t.set(e++,r&255|G),r/=128;case 6:t.set(e++,r&255|G),r/=128;case 5:t.set(e++,r&255|G),r/=128;case 4:t.set(e++,r&255|G),r>>>=7;case 3:t.set(e++,r&255|G),r>>>=7;case 2:t.set(e++,r&255|G),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function vi(r,t){let e=r[t],n=0;if(n+=e&bt,e<G||(e=r[t+1],n+=(e&bt)<<7,e<G)||(e=r[t+2],n+=(e&bt)<<14,e<G)||(e=r[t+3],n+=(e&bt)<<21,e<G)||(e=r[t+4],n+=(e&bt)*mi,e<G)||(e=r[t+5],n+=(e&bt)*bi,e<G)||(e=r[t+6],n+=(e&bt)*wi,e<G)||(e=r[t+7],n+=(e&bt)*xi,e<G))return n;throw new RangeError("Could not decode varint")}function Wf(r,t){let e=r.get(t),n=0;if(n+=e&bt,e<G||(e=r.get(t+1),n+=(e&bt)<<7,e<G)||(e=r.get(t+2),n+=(e&bt)<<14,e<G)||(e=r.get(t+3),n+=(e&bt)<<21,e<G)||(e=r.get(t+4),n+=(e&bt)*mi,e<G)||(e=r.get(t+5),n+=(e&bt)*bi,e<G)||(e=r.get(t+6),n+=(e&bt)*wi,e<G)||(e=r.get(t+7),n+=(e&bt)*xi,e<G))return n;throw new RangeError("Could not decode varint")}function xa(r,t,e=0){return t==null&&(t=mt(Dt(r))),t instanceof Uint8Array?Ei(r,t,e):Yf(r,t,e)}function Ea(r,t=0){return r instanceof Uint8Array?vi(r,t):Wf(r,t)}var Bi=new Float32Array([-0]),ve=new Uint8Array(Bi.buffer);function Ba(r,t,e){Bi[0]=r,t[e]=ve[0],t[e+1]=ve[1],t[e+2]=ve[2],t[e+3]=ve[3]}function Aa(r,t){return ve[0]=r[t],ve[1]=r[t+1],ve[2]=r[t+2],ve[3]=r[t+3],Bi[0]}var Ai=new Float64Array([-0]),wt=new Uint8Array(Ai.buffer);function Sa(r,t,e){Ai[0]=r,t[e]=wt[0],t[e+1]=wt[1],t[e+2]=wt[2],t[e+3]=wt[3],t[e+4]=wt[4],t[e+5]=wt[5],t[e+6]=wt[6],t[e+7]=wt[7]}function Ia(r,t){return wt[0]=r[t],wt[1]=r[t+1],wt[2]=r[t+2],wt[3]=r[t+3],wt[4]=r[t+4],wt[5]=r[t+5],wt[6]=r[t+6],wt[7]=r[t+7],Ai[0]}var Zf=BigInt(Number.MAX_SAFE_INTEGER),Jf=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 Pe;if(t<Zf&&t>Jf)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>ka&&(s=0n,++n>ka&&(n=0n))),new r(Number(s),Number(n))}static fromNumber(t){if(t===0)return Pe;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):Pe}},Pe=new Nt(0,0);Pe.toBigInt=function(){return 0n};Pe.zzEncode=Pe.zzDecode=function(){return this};Pe.length=function(){return 1};var ka=4294967296n;function Na(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 Ra(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 Si(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 Pt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function An(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Ii=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,Pt(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 Pt(this,4);return An(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Pt(this,4);return An(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Pt(this,4);let t=Aa(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Pt(this,4);let t=Ia(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 Pt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Ra(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Pt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Pt(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 Pt(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 Pt(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 Pt(this,8);let t=An(this.buf,this.pos+=4),e=An(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=vi(this.buf,this.pos);return this.pos+=Dt(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 ki(r){return new Ii(r instanceof Uint8Array?r:r.subarray())}function Sn(r,t,e){let n=ki(r);return t.decode(n,void 0,e)}function Ni(r){let t=r??8192,e=t>>>1,n,s=t;return function(o){if(o<1||o>e)return mt(o);s+o>t&&(n=mt(t),s=0);let a=n.subarray(s,s+=o);return s&7&&(s=(s|7)+1),a}}var Ve=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Ri(){}var Ti=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Xf=Ni();function Qf(r){return globalThis.Buffer!=null?mt(r):Xf(r)}var Mr=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ve(Ri,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new Ve(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Ci((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(In,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(In,e.length(),e)}uint64Number(t){return this._push(Ei,Dt(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(In,e.length(),e)}sint64Number(t){let e=Nt.fromNumber(t).zzEncode();return this._push(In,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(_i,1,t?1:0)}fixed32(t){return this._push(Hr,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=Nt.fromBigInt(t);return this._push(Hr,4,e.lo)._push(Hr,4,e.hi)}fixed64Number(t){let e=Nt.fromNumber(t);return this._push(Hr,4,e.lo)._push(Hr,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(Ba,4,t)}double(t){return this._push(Sa,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(_i,1,0):this.uint32(e)._push(eh,e,t)}string(t){let e=Na(t);return e!==0?this.uint32(e)._push(Si,e,t):this._push(_i,1,0)}fork(){return this.states=new Ti(this),this.head=this.tail=new Ve(Ri,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 Ve(Ri,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=Qf(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function _i(r,t,e){t[e]=r&255}function th(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Ci=class extends Ve{next;constructor(t,e){super(th,t,e),this.next=void 0}};function In(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 Hr(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 eh(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Mr.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(rh,t,r),this},Mr.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(nh,t,r),this});function rh(r,t,e){t.set(r,e)}function nh(r,t,e){r.length<40?Si(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(z(r),e)}function Li(){return new Mr}function kn(r,t){let e=Li();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var yr;(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"})(yr||(yr={}));function Nn(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ui(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 Nn("enum",yr.VARINT,e,n)}function Rn(r,t){return Nn("message",yr.LENGTH_DELIMITED,r,t)}var Y;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(Y||(Y={}));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=()=>Ui(Di)})(Y||(Y={}));var Vt;(function(r){let t;r.codec=()=>(t==null&&(t=Rn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Y.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=Y.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>kn(e,r.codec()),r.decode=e=>Sn(e,r.codec())})(Vt||(Vt={}));var Ot;(function(r){let t;r.codec=()=>(t==null&&(t=Rn((e,n,s={})=>{s.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),Y.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),s.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let s={},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let o=e.uint32();switch(o>>>3){case 1:s.Type=Y.codec().decode(e);break;case 2:s.Data=e.bytes();break;default:e.skipType(o&7);break}}return s})),t),r.encode=e=>kn(e,r.codec()),r.decode=e=>Sn(e,r.codec())})(Ot||(Ot={}));var Oe=class{_key;constructor(t){this._key=br(t,pr)}verify(t,e){return ma(this._key,e,t)}marshal(){return this._key}get bytes(){return Vt.encode({Type:Y.Ed25519,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}},ie=class{_key;_publicKey;constructor(t,e){this._key=br(t,se),this._publicKey=br(e,pr)}sign(t){return ya(this._key,t)}get public(){return new Oe(this._publicKey)}marshal(){return this._key}get bytes(){return Ot.encode({Type:Y.Ed25519,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return _t(t)?{bytes:e}=await t:e=t.bytes,e}async id(){let t=ge.digest(this.public.bytes);return vt.encode(t.bytes).substring(1)}async export(t,e="libp2p-key"){if(e==="libp2p-key")return gr(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function sh(r){if(r.length>se){r=br(r,se+pr);let n=r.subarray(0,se),s=r.subarray(se,r.length);return new ie(n,s)}r=br(r,se);let t=r.subarray(0,se),e=r.subarray(pr);return new ie(t,e)}function ih(r){return r=br(r,pr),new Oe(r)}async function oh(){let{privateKey:r,publicKey:t}=pa();return new ie(r,t)}async function Pi(r){let{privateKey:t,publicKey:e}=ga(r);return new ie(t,e)}function br(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new A(`Key must be a Uint8Array of length ${t}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function X(r,t="utf8"){let e=un[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return e.encoder.encode(r).substring(1)}var Ta={"P-256":256,"P-384":384,"P-521":521},ah=Object.keys(Ta),Oi=ah.join(" / ");async function Ca(r){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${Oi}`,"ERR_INVALID_CURVE");let t=await W.get().subtle.generateKey({name:"ECDH",namedCurve:r},!0,["deriveBits"]),e=async(i,o)=>{let a;o!=null?a=await W.get().subtle.importKey("jwk",uh(r,o),{name:"ECDH",namedCurve:r},!1,["deriveBits"]):a=t.privateKey;let c=await W.get().subtle.importKey("jwk",Ua(r,i),{name:"ECDH",namedCurve:r},!1,[]),l=await W.get().subtle.deriveBits({name:"ECDH",namedCurve:r,public:c},a,Ta[r]);return new Uint8Array(l,0,l.byteLength)},n=await W.get().subtle.exportKey("jwk",t.publicKey);return{key:ch(n),genSharedKey:e}}var La={"P-256":32,"P-384":48,"P-521":66};function ch(r){if(r.crv==null||r.x==null||r.y==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");if(r.crv!=="P-256"&&r.crv!=="P-384"&&r.crv!=="P-521")throw new A(`Unknown curve: ${r.crv}. Must be ${Oi}`,"ERR_INVALID_CURVE");let t=La[r.crv];return Bt([Uint8Array.from([4]),ei(r.x,t),ei(r.y,t)],1+t*2)}function Ua(r,t){if(r!=="P-256"&&r!=="P-384"&&r!=="P-521")throw new A(`Unknown curve: ${r}. Must be ${Oi}`,"ERR_INVALID_CURVE");let e=La[r];if(!yt(t.subarray(0,1),Uint8Array.from([4])))throw new A("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:r,x:X(t.subarray(1,e+1),"base64url"),y:X(t.subarray(1+e),"base64url"),ext:!0}}var uh=(r,t)=>({...Ua(r,t.public),d:X(t.private,"base64url")});var Da=Ca;async function Pa(r,t){let e=Nr.decode(r);return Bn().decrypt(e,t)}var Va={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function Oa(r,t,e){let n=Va[r];if(n==null){let x=Object.keys(Va).join(" / ");throw new A(`unknown cipher type '${r}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new A("missing hash type","ERR_MISSING_HASH_TYPE");let s=n.keySize,i=n.ivSize,o=20,a=z("key expansion"),c=2*(i+s+o),l=await Go(t,e),f=await l.digest(a),u=[],p=0;for(;p<c;){let x=await l.digest(Bt([f,a])),b=x.length;p+b>c&&(b=c-p),u.push(x),p+=b,f=await l.digest(f)}let w=c/2,g=Bt(u),h=g.subarray(0,w),d=g.subarray(w,c),y=x=>({iv:x.subarray(0,i),cipherKey:x.subarray(i,i+s),macKey:x.subarray(i+s)});return{k1:y(h),k2:y(d)}}var Wi={};it(Wi,{MAX_RSA_KEY_SIZE:()=>Ke,RsaPrivateKey:()=>ke,RsaPublicKey:()=>Me,fromJwk:()=>Dh,generateKeyPair:()=>Ph,unmarshalRsaPrivateKey:()=>ji,unmarshalRsaPublicKey:()=>Uh});function Gt(r){if(isNaN(r)||r<=0)throw new A("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return ur(r)}var Ie={};it(Ie,{exportToPem:()=>_h,importFromPem:()=>zi,jwkToPkcs1:()=>Ih,jwkToPkix:()=>Nh,pkcs1ToJwk:()=>Sh,pkixToJwk:()=>kh});var _n=class extends ar{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,ln(t);let n=ye(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 or(this),this.iHash.update(t),this}digestInto(t){or(this),ir(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()}},Kr=(r,t,e)=>new _n(r,t).update(e).digest();Kr.create=(r,t)=>new _n(r,t);function lh(r,t,e,n){ln(r);let s=Zo({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if(sr(i),sr(o),sr(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=ye(t),l=ye(e),f=new Uint8Array(o),u=Kr.create(r,c),p=u._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:f,PRF:u,PRFSalt:p}}function fh(r,t,e,n,s){return r.destroy(),t.destroy(),n&&n.destroy(),s.fill(0),e}async function Hi(r,t,e,n){let{c:s,dkLen:i,asyncTick:o,DK:a,PRF:c,PRFSalt:l}=lh(r,t,e,n),f,u=new Uint8Array(4),p=cr(u),w=new Uint8Array(c.outputLen);for(let g=1,h=0;h<i;g++,h+=c.outputLen){let d=a.subarray(h,h+c.outputLen);p.setInt32(0,g,!1),(f=l._cloneInto(f)).update(u).digestInto(w),d.set(w.subarray(0,d.length)),await Wo(s-1,o,()=>{c._cloneInto(f).update(w).digestInto(w);for(let y=0;y<d.length;y++)d[y]^=w[y]})}return fh(c,l,a,f,w)}var H=_s(Ha());function He(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 Be(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 Ln(...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 Ki(){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=He(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,He(i,8)-n}function Ma(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=Be(o,8,n),c=new Uint8Array(a);return c[0]|=128,a}let s=Be(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 Ka(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 Jg=Math.log(2);function Un(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Fi(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 le(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 qr=class{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Fi(this.items)}},Fr=[new Uint8Array([1])],Fa="0123456789";var Er="",Mt=new ArrayBuffer(0),qi=new Uint8Array(0),$r="EndOfContent",$a="OCTET STRING",Ga="BIT STRING";function fe(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?H.BufferSourceConverter.toUint8Array(i.valueHex):qi}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(!le(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",Mt)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:H.Convert.ToHex(this.valueHexView)}}},t.NAME="hexBlock",t}var ae=class{constructor({blockLength:t=0,error:e=Er,warnings:n=[],valueBeforeDecode:s=qi}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=H.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:H.Convert.ToHex(this.valueBeforeDecodeView)}}};ae.NAME="baseBlock";var xt=class extends ae{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'")}};xt.NAME="valueBlock";var Dn=class extends fe(ae){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?H.BufferSourceConverter.toUint8Array(t.valueHex):qi,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",Mt}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=Be(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=H.BufferSourceConverter.toUint8Array(t);if(!le(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 p=new Uint8Array(f);for(let w=0;w<l.length;w++)p[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 p=0;p<c;p++)u[p]=l[p];l=this.valueHexView=new Uint8Array(c),l.set(u),this.blockLength<=9?this.tagNumber=He(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}}};Dn.NAME="identificationBlock";var Pn=class extends ae{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=H.BufferSourceConverter.toUint8Array(t);if(!le(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=He(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=Be(this.length,8);if(s.byteLength>127)return this.error="Too big length",Mt;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}}};Pn.NAME="lengthBlock";var I={},pt=class extends ae{constructor({name:t=Er,optional:e=!1,primitiveSchema:n,...s}={},i){super(s),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new Dn(s),this.lenBlock=new Pn(s),this.valueBlock=i?new i(s):new xt(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 qr;e||za(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?Mt: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():H.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${H.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 Ka(e,n)}};pt.NAME="BaseBlock";function za(r){if(r instanceof I.Constructed)for(let t of r.valueBlock.value)za(t)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var Vn=class extends pt{constructor({value:t=Er,...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}'`}};Vn.NAME="BaseStringBlock";var On=class extends fe(xt){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}};On.NAME="PrimitiveValueBlock";var ja,Hn=class extends pt{constructor(t={}){super(t,On),this.idBlock.isConstructed=!1}};ja=Hn;I.Primitive=ja;Hn.NAME="PRIMITIVE";function xh(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 bs(r,t=0,e=r.length){let n=t,s=new pt({},xt),i=new ae;if(!le(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=pt;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=I.EndOfContent;break;case 1:c=I.Boolean;break;case 2:c=I.Integer;break;case 3:c=I.BitString;break;case 4:c=I.OctetString;break;case 5:c=I.Null;break;case 6:c=I.ObjectIdentifier;break;case 10:c=I.Enumerated;break;case 12:c=I.Utf8String;break;case 13:c=I.RelativeObjectIdentifier;break;case 14:c=I.TIME;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=I.Sequence;break;case 17:c=I.Set;break;case 18:c=I.NumericString;break;case 19:c=I.PrintableString;break;case 20:c=I.TeletexString;break;case 21:c=I.VideotexString;break;case 22:c=I.IA5String;break;case 23:c=I.UTCTime;break;case 24:c=I.GeneralizedTime;break;case 25:c=I.GraphicString;break;case 26:c=I.VisibleString;break;case 27:c=I.GeneralString;break;case 28:c=I.UniversalString;break;case 29:c=I.CharacterString;break;case 30:c=I.BmpString;break;case 31:c=I.DATE;break;case 32:c=I.TimeOfDay;break;case 33:c=I.DateTime;break;case 34:c=I.Duration;break;default:{let l=s.idBlock.isConstructed?new I.Constructed:new I.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?I.Constructed:I.Primitive}return s=xh(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 vr(r){if(!r.byteLength){let t=new pt({},xt);return t.error="Input buffer has zero length",{offset:-1,result:t}}return bs(H.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Eh(r,t){return r?1:t}var zt=class extends xt{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){let s=H.BufferSourceConverter.toUint8Array(t);if(!le(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(;Eh(this.isIndefiniteForm,n)>0;){let o=bs(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===$r)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===$r?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){let n=e||new qr;for(let s=0;s<this.value.length;s++)this.value[s].toBER(t,n);return e?Mt:n.final()}toJSON(){let t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let e of this.value)t.value.push(e.toJSON());return t}};zt.NAME="ConstructedValueBlock";var Ya,Ae=class extends pt{constructor(t={}){super(t,zt),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} :`}};uc=Se;I.Constructed=uc;Se.NAME="CONSTRUCTED";var Yn=class extends Et{fromBER(t,e,n){return e}toBER(t){return Mt}};Yn.override="EndOfContentValueBlock";var lc,Wn=class extends pt{constructor(t={}){super(t,Yn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};lc=Wn;I.EndOfContent=lc;Wn.NAME=Zr;var fc,Ie=class extends pt{constructor(t={}){super(t,Et),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}`}};fc=Ie;I.Null=fc;Ie.NAME="NULL";var Zn=class extends fe(Et){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=H.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=H.BufferSourceConverter.toUint8Array(t);return le(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,Wi.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Zn.NAME="BooleanValueBlock";var hc,Jn=class extends pt{constructor(t={}){super(t,Zn),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}`}};hc=Jn;I.Boolean=hc;Jn.NAME="BOOLEAN";var Xn=class extends fe(zt){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=zt.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===Zr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==ic)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?zt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};Xn.NAME="OctetStringValueBlock";var dc,ce=class r extends pt{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},Xn),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=Is(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?Se.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${H.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 H.BufferSourceConverter.concat(t)}};dc=ce;I.OctetString=dc;ce.NAME=ic;var Qn=class extends fe(zt){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=zt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===Zr){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==oc)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=H.BufferSourceConverter.toUint8Array(t);if(!le(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=Is(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 zt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Mt;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}}};Qn.NAME="BitStringValueBlock";var pc,Br=class extends pt{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},Qn),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 Se.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)}`}}};pc=Br;I.BitString=pc;Br.NAME=oc;var gc;function Lh(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 p=f;p>=0;p--,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=Kn(new Uint8Array([l%10]),i);break;default:i[o-u]=l%10}}return e[0]>0&&(i=Kn(e,i)),i}function sc(r){if(r>=Yr.length)for(let t=Yr.length;t<=r;t++){let e=new Uint8Array([0]),n=Yr[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=Kn(e,n)),Yr.push(n)}return Yr[r]}function Uh(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 Jr=class extends fe(Et){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=Wi.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(ec(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=Uh(sc(n),e),o="-";break;default:e=Lh(e,sc(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=nc.charAt(e[c]));return a===!1&&(o+=nc.charAt(0)),o}};gc=Jr;Jr.NAME="IntegerValueBlock";Object.defineProperty(gc.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var yc,ot=class r extends pt{constructor(t={}){super(t,Jr),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Fn(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Fn();let e=BigInt(t),n=new Wr,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(H.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${H.Convert.ToHex(a)}`)+e,f=H.BufferSourceConverter.toUint8Array(H.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()}`}};yc=ot;I.Integer=yc;ot.NAME="INTEGER";var mc,ts=class extends ot{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};mc=ts;I.Enumerated=mc;ts.NAME="ENUMERATED";var Xr=class extends fe(Et){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=H.BufferSourceConverter.toUint8Array(t);if(!le(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=Me(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Fn();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=Ae(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Mt;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=H.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}}};Xr.NAME="sidBlock";var es=class extends Et{constructor({value:t=Ar,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Xr;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,Mt;e.push(s)}return Zi(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 Xr;if(s>Number.MAX_SAFE_INTEGER){Fn();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}};es.NAME="ObjectIdentifierValueBlock";var bc,Ht=class extends pt{constructor(t={}){super(t,es),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()}}};bc=Ht;I.ObjectIdentifier=bc;Ht.NAME="OBJECT IDENTIFIER";var Qr=class extends fe(ae){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=H.BufferSourceConverter.toUint8Array(t);if(!le(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=Me(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=Ae(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Mt;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=H.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};Qr.NAME="relativeSidBlock";var rs=class extends Et{constructor({value:t=Ar,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new Qr;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,Mt;n.push(i)}return Zi(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 Qr;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}};rs.NAME="RelativeObjectIdentifierValueBlock";var wc,ns=class extends pt{constructor(t={}){super(t,rs),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()}}};wc=ns;I.RelativeObjectIdentifier=wc;ns.NAME="RelativeObjectIdentifier";var xc,ft=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};xc=ft;I.Sequence=xc;ft.NAME="SEQUENCE";var Ec,ss=class extends Se{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};Ec=ss;I.Set=Ec;ss.NAME="SET";var is=class extends fe(Et){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Ar}toJSON(){return{...super.toJSON(),value:this.value}}};is.NAME="StringValueBlock";var os=class extends is{};os.NAME="SimpleStringValueBlock";var St=class extends Gn{constructor({...t}={}){super(t,os)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,H.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}};St.NAME="SIMPLE STRING";var as=class extends St{fromBuffer(t){this.valueBlock.valueHexView=H.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=H.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=H.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(H.Convert.FromUtf8String(t)),this.valueBlock.value=t}};as.NAME="Utf8StringValueBlock";var vc,ue=class extends as{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};vc=ue;I.Utf8String=vc;ue.NAME="UTF8String";var cs=class extends St{fromBuffer(t){this.valueBlock.value=H.Convert.ToUtf16String(t),this.valueBlock.valueHexView=H.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(H.Convert.FromUtf16String(t))}};cs.NAME="BmpStringValueBlock";var Bc,us=class extends cs{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};Bc=us;I.BmpString=Bc;us.NAME="BMPString";var ls=class extends St{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=Ae(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}};ls.NAME="UniversalStringValueBlock";var Ac,fs=class extends ls{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};Ac=fs;I.UniversalString=Ac;fs.NAME="UniversalString";var Sc,hs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};Sc=hs;I.NumericString=Sc;hs.NAME="NumericString";var Ic,ds=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};Ic=ds;I.PrintableString=Ic;ds.NAME="PrintableString";var kc,ps=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};kc=ps;I.TeletexString=kc;ps.NAME="TeletexString";var Nc,gs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};Nc=gs;I.VideotexString=Nc;gs.NAME="VideotexString";var Rc,ys=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};Rc=ys;I.IA5String=Rc;ys.NAME="IA5String";var _c,ms=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};_c=ms;I.GraphicString=_c;ms.NAME="GraphicString";var Tc,tn=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};Tc=tn;I.VisibleString=Tc;tn.NAME="VisibleString";var Cc,bs=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};Cc=bs;I.GeneralString=Cc;bs.NAME="GeneralString";var Lc,ws=class extends St{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};Lc=ws;I.CharacterString=Lc;ws.NAME="CharacterString";var Uc,en=class extends tn{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,H.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}}};Uc=en;I.UTCTime=Uc;en.NAME="UTCTime";var Dc,xs=class extends en{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,p=n.indexOf("+"),w="";if(p===-1&&(p=n.indexOf("-"),u=-1),p!==-1){if(w=n.substring(p+1),n=n.substring(0,p),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(w.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*g,w.length===4){if(g=parseInt(w.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=u*g}}}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}}};Dc=xs;I.GeneralizedTime=Dc;xs.NAME="GeneralizedTime";var Pc,Es=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Pc=Es;I.DATE=Pc;Es.NAME="DATE";var Vc,vs=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};Vc=vs;I.TimeOfDay=Vc;vs.NAME="TimeOfDay";var Oc,Bs=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Oc=Bs;I.DateTime=Oc;Bs.NAME="DateTime";var Hc,As=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};Hc=As;I.Duration=Hc;As.NAME="Duration";var Mc,Ss=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Mc=Ss;I.TIME=Mc;Ss.NAME="TIME";function Ph(r){let{result:t}=Sr(r),e=t.valueBlock.value;return{n:X(jt(e[1].toBigInt()),"base64url"),e:X(jt(e[2].toBigInt()),"base64url"),d:X(jt(e[3].toBigInt()),"base64url"),p:X(jt(e[4].toBigInt()),"base64url"),q:X(jt(e[5].toBigInt()),"base64url"),dp:X(jt(e[6].toBigInt()),"base64url"),dq:X(jt(e[7].toBigInt()),"base64url"),qi:X(jt(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function Vh(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 A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ot({value:0}),ot.fromBigInt(Yt(z(r.n,"base64url"))),ot.fromBigInt(Yt(z(r.e,"base64url"))),ot.fromBigInt(Yt(z(r.d,"base64url"))),ot.fromBigInt(Yt(z(r.p,"base64url"))),ot.fromBigInt(Yt(z(r.q,"base64url"))),ot.fromBigInt(Yt(z(r.dp,"base64url"))),ot.fromBigInt(Yt(z(r.dq,"base64url"))),ot.fromBigInt(Yt(z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function Oh(r){let{result:t}=Sr(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:X(jt(e[0].toBigInt()),"base64url"),e:X(jt(e[1].toBigInt()),"base64url")}}function Hh(r){if(r.n==null||r.e==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ft({value:[new Ht({value:"1.2.840.113549.1.1.1"}),new Ie]}),new Br({valueHex:new ft({value:[ot.fromBigInt(Yt(z(r.n,"base64url"))),ot.fromBigInt(Yt(z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function jt(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 Yt(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(""))}var Mh=16,Xi=32,Qi=1e4;async function Kh(r,t){let e=W.get(),s=new ft({value:[new ot({value:0}),new ft({value:[new Ht({value:"1.2.840.113549.1.1.1"}),new Ie]}),new ce({valueHex:r.marshal()})]}).toBER(),i=new Uint8Array(s,0,s.byteLength),o=Gt(Mh),a=await ji(pr,t,o,{c:Qi,dkLen:Xi}),c=Gt(16),l=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},l,i),u=new ft({value:[new ce({valueHex:o}),new ot({value:Qi}),new ot({value:Xi}),new ft({value:[new Ht({value:"1.2.840.113549.2.11"}),new Ie]})]}),p=new ft({value:[new Ht({value:"1.2.840.113549.1.5.13"}),new ft({value:[new ft({value:[new Ht({value:"1.2.840.113549.1.5.12"}),u]}),new ft({value:[new Ht({value:"2.16.840.1.101.3.4.1.42"}),new ce({valueHex:c})]})]})]}),g=new ft({value:[p,new ce({valueHex:f})]}).toBER(),h=new Uint8Array(g,0,g.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...X(h,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
7
- `)}async function to(r,t){let e=W.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Sr(s),{iv:o,salt:a,iterations:c,keySize:l,cipherText:f}=Fh(i),u=await ji(pr,t,a,{c,dkLen:l}),p=await e.subtle.importKey("raw",u,"AES-CBC",!1,["decrypt"]),w=rn(await e.subtle.decrypt({name:"AES-CBC",iv:o},p,f)),{result:g}=Sr(w);n=Kc(g)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=Sr(s);n=Kc(i)}else throw new A("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return eo(n)}function Fh(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new A("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new A("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let i=n.valueBlock.value[1],o=rn(i.valueBlock.value[0].getValue()),a=Qi,c=Xi;if(i.valueBlock.value.length===3)a=Number(i.valueBlock.value[1].toBigInt()),c=Number(i.valueBlock.value[2].toBigInt());else if(i.valueBlock.value.length===2)throw new A("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let l=t.valueBlock.value[1].valueBlock.value[1],f=l.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new A("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let u=rn(l.valueBlock.value[1].getValue());return{cipherText:rn(r.valueBlock.value[1].getValue()),salt:o,iterations:a,keySize:c,iv:u}}function Kc(r){return rn(r.valueBlock.value[2].getValue())}function rn(r){return new Uint8Array(r,0,r.byteLength)}async function Fc(r){let t=await W.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 Gc(t);return{privateKey:e[0],publicKey:e[1]}}async function ro(r){let e=[await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await qh(r)],n=await Gc({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function qc(r,t){let e=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await W.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function $c(r,t,e){let n=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return W.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function Gc(r){if(r.privateKey==null||r.publicKey==null)throw new A("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([W.get().subtle.exportKey("jwk",r.privateKey),W.get().subtle.exportKey("jwk",r.publicKey)])}async function qh(r){return W.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function ks(r){if(r.kty!=="RSA")throw new A("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new A("invalid key modulus","ERR_INVALID_KEY_MODULUS");return z(r.n,"base64url").length*8}var Fe=8192,Ke=class{_key;constructor(t){this._key=t}verify(t,e){return $c(this._key,e,t)}marshal(){return ke.jwkToPkix(this._key)}get bytes(){return Vt.encode({Type:Y.RSA,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}},Ne=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return Gt(16)}sign(t){return qc(this._key,t)}get public(){if(this._publicKey==null)throw new A("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Ke(this._publicKey)}marshal(){return ke.jwkToPkcs1(this._key)}get bytes(){return Ot.encode({Type:Y.RSA,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return ke.exportToPem(this,t);if(e==="libp2p-key")return br(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function eo(r){let t=ke.pkcs1ToJwk(r);if(ks(t)>Fe)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await ro(t);return new Ne(e.privateKey,e.publicKey)}function Gh(r){let t=ke.pkixToJwk(r);if(ks(t)>Fe)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Ke(t)}async function zh(r){if(ks(r)>Fe)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await ro(r);return new Ne(t.privateKey,t.publicKey)}async function jh(r){if(r>Fe)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Fc(r);return new Ne(t.privateKey,t.publicKey)}var co={};it(co,{Secp256k1PrivateKey:()=>Ge,Secp256k1PublicKey:()=>$e,generateKeyPair:()=>od,unmarshalSecp256k1PrivateKey:()=>sd,unmarshalSecp256k1PublicKey:()=>id});var Yh=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]),Re=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),_e=new Uint32Array(64),so=class extends dr{constructor(){super(64,32,8,!1),this.A=Re[0]|0,this.B=Re[1]|0,this.C=Re[2]|0,this.D=Re[3]|0,this.E=Re[4]|0,this.F=Re[5]|0,this.G=Re[6]|0,this.H=Re[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)_e[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let p=_e[u-15],w=_e[u-2],g=Ut(p,7)^Ut(p,18)^p>>>3,h=Ut(w,17)^Ut(w,19)^w>>>10;_e[u]=h+_e[u-7]+g+_e[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 p=Ut(a,6)^Ut(a,11)^Ut(a,25),w=f+p+ga(a,c,l)+Yh[u]+_e[u]|0,h=(Ut(n,2)^Ut(n,13)^Ut(n,22))+ya(n,s,i)|0;f=l,l=c,c=a,a=o+w|0,o=i,i=s,s=n,n=w+h|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(){_e.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var zc=En(()=>new so);function Wh(r){let t=$r(r);$t(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:Zh,hexToBytes:Jh}=An,qe={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=qe;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Zh(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=qe,e=typeof r=="string"?Jh(r):r;gr(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:s,l:i}=qe._parseInt(e.subarray(2)),{d:o,l:a}=qe._parseInt(i);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(r){let t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,e=l=>{let f=l.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),s=t(e(r.r)),i=n.length/2,o=s.length/2,a=e(i),c=e(o);return`30${e(o+i+4)}02${c}${s}02${a}${n}`}},he=BigInt(0),Ct=BigInt(1),Em=BigInt(2),jc=BigInt(3),vm=BigInt(4);function Xh(r){let t=Wh(r),{Fp:e}=t,n=t.toBytes||((g,h,d)=>{let y=h.toAffine();return re(Uint8Array.from([4]),e.toBytes(y.x),e.toBytes(y.y))}),s=t.fromBytes||(g=>{let h=g.subarray(1),d=e.fromBytes(h.subarray(0,e.BYTES)),y=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:d,y}});function i(g){let{a:h,b:d}=t,y=e.sqr(g),x=e.mul(y,g);return e.add(e.add(x,e.mul(g,h)),d)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function o(g){return typeof g=="bigint"&&he<g&&g<t.n}function a(g){if(!o(g))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(g){let{allowedPrivateKeyLengths:h,nByteLength:d,wrapPrivateKey:y,n:x}=t;if(h&&typeof g!="bigint"){if(xe(g)&&(g=te(g)),typeof g!="string"||!h.includes(g.length))throw new Error("Invalid key");g=g.padStart(d*2,"0")}let b;try{b=typeof g=="bigint"?g:ee(et("private key",g,d))}catch{throw new Error(`private key must be ${d} bytes, hex or bigint, not ${typeof g}`)}return y&&(b=j(b,x)),a(b),b}let l=new Map;function f(g){if(!(g instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(h,d,y){if(this.px=h,this.py=d,this.pz=y,h==null||!e.isValid(h))throw new Error("x required");if(d==null||!e.isValid(d))throw new Error("y required");if(y==null||!e.isValid(y))throw new Error("z required")}static fromAffine(h){let{x:d,y}=h||{};if(!h||!e.isValid(d)||!e.isValid(y))throw new Error("invalid affine point");if(h instanceof u)throw new Error("projective point not allowed");let x=b=>e.eql(b,e.ZERO);return x(d)&&x(y)?u.ZERO:new u(d,y,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let d=e.invertBatch(h.map(y=>y.pz));return h.map((y,x)=>y.toAffine(d[x])).map(u.fromAffine)}static fromHex(h){let d=u.fromAffine(s(et("pointHex",h)));return d.assertValidity(),d}static fromPrivateKey(h){return u.BASE.multiply(c(h))}_setWindowSize(h){this._WINDOW_SIZE=h,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:h,y:d}=this.toAffine();if(!e.isValid(h)||!e.isValid(d))throw new Error("bad point: x or y not FE");let y=e.sqr(d),x=i(h);if(!e.eql(y,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:d,py:y,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.eql(e.mul(d,E),e.mul(b,x)),R=e.eql(e.mul(y,E),e.mul(T,x));return S&&R}negate(){return new u(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:d}=t,y=e.mul(d,jc),{px:x,py:b,pz:T}=this,E=e.ZERO,S=e.ZERO,R=e.ZERO,_=e.mul(x,x),$=e.mul(b,b),K=e.mul(T,T),D=e.mul(x,b);return D=e.add(D,D),R=e.mul(x,T),R=e.add(R,R),E=e.mul(h,R),S=e.mul(y,K),S=e.add(E,S),E=e.sub($,S),S=e.add($,S),S=e.mul(E,S),E=e.mul(D,E),R=e.mul(y,R),K=e.mul(h,K),D=e.sub(_,K),D=e.mul(h,D),D=e.add(D,R),R=e.add(_,_),_=e.add(R,_),_=e.add(_,K),_=e.mul(_,D),S=e.add(S,_),K=e.mul(b,T),K=e.add(K,K),_=e.mul(K,D),E=e.sub(E,_),R=e.mul(K,$),R=e.add(R,R),R=e.add(R,R),new u(E,S,R)}add(h){f(h);let{px:d,py:y,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.ZERO,R=e.ZERO,_=e.ZERO,$=t.a,K=e.mul(t.b,jc),D=e.mul(d,b),nt=e.mul(y,T),rt=e.mul(x,E),Rt=e.add(d,y),v=e.add(b,T);Rt=e.mul(Rt,v),v=e.add(D,nt),Rt=e.sub(Rt,v),v=e.add(d,x);let N=e.add(b,E);return v=e.mul(v,N),N=e.add(D,rt),v=e.sub(v,N),N=e.add(y,x),S=e.add(T,E),N=e.mul(N,S),S=e.add(nt,rt),N=e.sub(N,S),_=e.mul($,v),S=e.mul(K,rt),_=e.add(S,_),S=e.sub(nt,_),_=e.add(nt,_),R=e.mul(S,_),nt=e.add(D,D),nt=e.add(nt,D),rt=e.mul($,rt),v=e.mul(K,v),nt=e.add(nt,rt),rt=e.sub(D,rt),rt=e.mul($,rt),v=e.add(v,rt),D=e.mul(nt,v),R=e.add(R,D),D=e.mul(N,v),S=e.mul(Rt,S),S=e.sub(S,D),D=e.mul(Rt,nt),_=e.mul(N,_),_=e.add(_,D),new u(S,R,_)}subtract(h){return this.add(h.negate())}is0(){return this.equals(u.ZERO)}wNAF(h){return w.wNAFCached(this,l,h,d=>{let y=e.invertBatch(d.map(x=>x.pz));return d.map((x,b)=>x.toAffine(y[b])).map(u.fromAffine)})}multiplyUnsafe(h){let d=u.ZERO;if(h===he)return d;if(a(h),h===Ct)return this;let{endo:y}=t;if(!y)return w.unsafeLadder(this,h);let{k1neg:x,k1:b,k2neg:T,k2:E}=y.splitScalar(h),S=d,R=d,_=this;for(;b>he||E>he;)b&Ct&&(S=S.add(_)),E&Ct&&(R=R.add(_)),_=_.double(),b>>=Ct,E>>=Ct;return x&&(S=S.negate()),T&&(R=R.negate()),R=new u(e.mul(R.px,y.beta),R.py,R.pz),S.add(R)}multiply(h){a(h);let d=h,y,x,{endo:b}=t;if(b){let{k1neg:T,k1:E,k2neg:S,k2:R}=b.splitScalar(d),{p:_,f:$}=this.wNAF(E),{p:K,f:D}=this.wNAF(R);_=w.constTimeNegate(T,_),K=w.constTimeNegate(S,K),K=new u(e.mul(K.px,b.beta),K.py,K.pz),y=_.add(K),x=$.add(D)}else{let{p:T,f:E}=this.wNAF(d);y=T,x=E}return u.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(h,d,y){let x=u.BASE,b=(E,S)=>S===he||S===Ct||!E.equals(x)?E.multiplyUnsafe(S):E.multiply(S),T=b(this,d).add(b(h,y));return T.is0()?void 0:T}toAffine(h){let{px:d,py:y,pz:x}=this,b=this.is0();h==null&&(h=b?e.ONE:e.inv(x));let T=e.mul(d,h),E=e.mul(y,h),S=e.mul(x,h);if(b)return{x:e.ZERO,y:e.ZERO};if(!e.eql(S,e.ONE))throw new Error("invZ was invalid");return{x:T,y:E}}isTorsionFree(){let{h,isTorsionFree:d}=t;if(h===Ct)return!0;if(d)return d(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:d}=t;return h===Ct?this:d?d(u,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return this.assertValidity(),n(u,this,h)}toHex(h=!0){return te(this.toRawBytes(h))}}u.BASE=new u(t.Gx,t.Gy,e.ONE),u.ZERO=new u(e.ZERO,e.ONE,e.ZERO);let p=t.nBitLength,w=kn(u,t.endo?Math.ceil(p/2):p);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function Qh(r){let t=$r(r);return $t(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Yc(r){let t=Qh(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(v){return he<v&&v<e.ORDER}function a(v){return j(v,n)}function c(v){return Sn(v,n)}let{ProjectivePoint:l,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:p}=Xh({...t,toBytes(v,N,P){let B=N.toAffine(),m=e.toBytes(B.x),k=re;return P?k(Uint8Array.from([N.hasEvenY()?2:3]),m):k(Uint8Array.from([4]),m,e.toBytes(B.y))},fromBytes(v){let N=v.length,P=v[0],B=v.subarray(1);if(N===s&&(P===2||P===3)){let m=ee(B);if(!o(m))throw new Error("Point is not on curve");let k=u(m),C;try{C=e.sqrt(k)}catch(O){let q=O instanceof Error?": "+O.message:"";throw new Error("Point is not on curve"+q)}let L=(C&Ct)===Ct;return(P&1)===1!==L&&(C=e.neg(C)),{x:m,y:C}}else if(N===i&&P===4){let m=e.fromBytes(B.subarray(0,e.BYTES)),k=e.fromBytes(B.subarray(e.BYTES,2*e.BYTES));return{x:m,y:k}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),w=v=>te(ve(v,t.nByteLength));function g(v){let N=n>>Ct;return v>N}function h(v){return g(v)?a(-v):v}let d=(v,N,P)=>ee(v.slice(N,P));class y{constructor(N,P,B){this.r=N,this.s=P,this.recovery=B,this.assertValidity()}static fromCompact(N){let P=t.nByteLength;return N=et("compactSignature",N,P*2),new y(d(N,0,P),d(N,P,2*P))}static fromDER(N){let{r:P,s:B}=qe.toSig(et("DER",N));return new y(P,B)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new y(this.r,this.s,N)}recoverPublicKey(N){let{r:P,s:B,recovery:m}=this,k=R(et("msgHash",N));if(m==null||![0,1,2,3].includes(m))throw new Error("recovery id invalid");let C=m===2||m===3?P+t.n:P;if(C>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let L=m&1?"03":"02",V=l.fromHex(L+w(C)),O=c(C),q=a(-k*O),M=a(B*O),F=l.BASE.multiplyAndAddUnsafe(V,q,M);if(!F)throw new Error("point at infinify");return F.assertValidity(),F}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Ue(this.toDERHex())}toDERHex(){return qe.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ue(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}let x={isValidPrivateKey(v){try{return f(v),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let v=Si(t.n);return ka(t.randomBytes(v),t.n)},precompute(v=8,N=l.BASE){return N._setWindowSize(v),N.multiply(BigInt(3)),N}};function b(v,N=!0){return l.fromPrivateKey(v).toRawBytes(N)}function T(v){let N=xe(v),P=typeof v=="string",B=(N||P)&&v.length;return N?B===s||B===i:P?B===2*s||B===2*i:v instanceof l}function E(v,N,P=!0){if(T(v))throw new Error("first arg must be private key");if(!T(N))throw new Error("second arg must be public key");return l.fromHex(N).multiply(f(v)).toRawBytes(P)}let S=t.bits2int||function(v){let N=ee(v),P=v.length*8-t.nBitLength;return P>0?N>>BigInt(P):N},R=t.bits2int_modN||function(v){return a(S(v))},_=qr(t.nBitLength);function $(v){if(typeof v!="bigint")throw new Error("bigint expected");if(!(he<=v&&v<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return ve(v,t.nByteLength)}function K(v,N,P=D){if(["recovered","canonical"].some(Q=>Q in P))throw new Error("sign() legacy options not supported");let{hash:B,randomBytes:m}=t,{lowS:k,prehash:C,extraEntropy:L}=P;k==null&&(k=!0),v=et("msgHash",v),C&&(v=et("prehashed msgHash",B(v)));let V=R(v),O=f(N),q=[$(O),$(V)];if(L!=null&&L!==!1){let Q=L===!0?m(e.BYTES):L;q.push(et("extraEntropy",Q))}let M=re(...q),F=V;function st(Q){let ht=S(Q);if(!p(ht))return;let dt=c(ht),at=l.BASE.multiply(ht).toAffine(),gt=a(at.x);if(gt===he)return;let Wt=a(dt*a(F+gt*O));if(Wt===he)return;let Te=(at.x===gt?0:2)|Number(at.y&Ct),Ir=Wt;return k&&g(Wt)&&(Ir=h(Wt),Te^=1),new y(gt,Ir,Te)}return{seed:M,k2sig:st}}let D={lowS:t.lowS,prehash:!1},nt={lowS:t.lowS,prehash:!1};function rt(v,N,P=D){let{seed:B,k2sig:m}=K(v,N,P),k=t;return Ei(k.hash.outputLen,k.nByteLength,k.hmac)(B,m)}l.BASE._setWindowSize(8);function Rt(v,N,P,B=nt){let m=v;if(N=et("msgHash",N),P=et("publicKey",P),"strict"in B)throw new Error("options.strict was renamed to lowS");let{lowS:k,prehash:C}=B,L,V;try{if(typeof m=="string"||xe(m))try{L=y.fromDER(m)}catch(at){if(!(at instanceof qe.Err))throw at;L=y.fromCompact(m)}else if(typeof m=="object"&&typeof m.r=="bigint"&&typeof m.s=="bigint"){let{r:at,s:gt}=m;L=new y(at,gt)}else throw new Error("PARSE");V=l.fromHex(P)}catch(at){if(at.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&L.hasHighS())return!1;C&&(N=t.hash(N));let{r:O,s:q}=L,M=R(N),F=c(q),st=a(M*F),Q=a(O*F),ht=l.BASE.multiplyAndAddUnsafe(V,st,Q)?.toAffine();return ht?a(ht.x)===O:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:E,sign:rt,verify:Rt,ProjectivePoint:l,Signature:y,utils:x}}function td(r){return{hash:r,hmac:(t,...e)=>jr(r,t,xn(...e)),randomBytes:hr}}function Wc(r,t){let e=n=>Yc({...r,...td(n)});return Object.freeze({...e(t),create:e})}var Xc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Zc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ed=BigInt(1),io=BigInt(2),Jc=(r,t)=>(r+t/io)/t;function rd(r){let t=Xc,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=J(f,e,t)*f%t,p=J(u,e,t)*f%t,w=J(p,io,t)*l%t,g=J(w,s,t)*w%t,h=J(g,i,t)*g%t,d=J(h,a,t)*h%t,y=J(d,c,t)*d%t,x=J(y,a,t)*h%t,b=J(x,e,t)*f%t,T=J(b,o,t)*g%t,E=J(T,n,t)*l%t,S=J(E,io,t);if(!oo.eql(oo.sqr(S),r))throw new Error("Cannot find square root");return S}var oo=In(Xc,void 0,void 0,{sqrt:rd}),Kt=Wc({a:BigInt(0),b:BigInt(7),Fp:oo,n:Zc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Zc,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ed*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=Jc(i*r,t),c=Jc(-n*r,t),l=j(r-a*e-c*s,t),f=j(-a*n-c*i,t),u=l>o,p=f>o;if(u&&(l=t-l),p&&(f=t-f),l>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:l,k2neg:p,k2:f}}}},zc),Tm=BigInt(0);var Cm=Kt.ProjectivePoint;function Qc(){return Kt.utils.randomPrivateKey()}function tu(r,t){let e=ct.digest(t instanceof Uint8Array?t:t.subarray());if(_t(e))return e.then(({digest:n})=>Kt.sign(n,r).toDERRawBytes()).catch(n=>{throw new A(String(n),"ERR_INVALID_INPUT")});try{return Kt.sign(e.digest,r).toDERRawBytes()}catch(n){throw new A(String(n),"ERR_INVALID_INPUT")}}function eu(r,t,e){let n=ct.digest(e instanceof Uint8Array?e:e.subarray());if(_t(n))return n.then(({digest:s})=>Kt.verify(t,s,r)).catch(s=>{throw new A(String(s),"ERR_INVALID_INPUT")});try{return Kt.verify(t,n.digest,r)}catch(s){throw new A(String(s),"ERR_INVALID_INPUT")}}function ru(r){return Kt.ProjectivePoint.fromHex(r).toRawBytes(!0)}function nu(r){try{Kt.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}function ao(r){try{Kt.ProjectivePoint.fromHex(r)}catch(t){throw new A(String(t),"ERR_INVALID_PUBLIC_KEY")}}function su(r){try{return Kt.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}var $e=class{_key;constructor(t){ao(t),this._key=t}verify(t,e){return eu(this._key,e,t)}marshal(){return ru(this._key)}get bytes(){return Vt.encode({Type:Y.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return _t(t)?{bytes:e}=await t:e=t.bytes,e}},Ge=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??su(t),nu(this._key),ao(this._publicKey)}sign(t){return tu(this._key,t)}get public(){return new $e(this._publicKey)}marshal(){return this._key}get bytes(){return Ot.encode({Type:Y.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return br(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function sd(r){return new Ge(r)}function id(r){return new $e(r)}async function od(){let r=Qc();return new Ge(r)}var de={rsa:no,ed25519:Gi,secp256k1:co};function uo(r){let t=Object.keys(de).join(" / ");return new A(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function lo(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return de[r];throw uo(r)}async function ad(r,t){return lo(r).generateKeyPair(t??2048)}async function cd(r,t,e){if(r.toLowerCase()!=="ed25519")throw new A("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return $i(t)}function ud(r){let t=Vt.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Y.RSA:return de.rsa.unmarshalRsaPublicKey(e);case Y.Ed25519:return de.ed25519.unmarshalEd25519PublicKey(e);case Y.Secp256k1:return de.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw uo(t.Type??"unknown")}}function ld(r,t){return t=(t??"rsa").toLowerCase(),lo(t),r.bytes}async function iu(r){let t=Ot.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Y.RSA:return de.rsa.unmarshalRsaPrivateKey(e);case Y.Ed25519:return de.ed25519.unmarshalEd25519PrivateKey(e);case Y.Secp256k1:return de.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw uo(t.Type??"RSA")}}function fd(r,t){return t=(t??"rsa").toLowerCase(),lo(t),r.bytes}async function hd(r,t){try{let e=await Ja(r,t);return await iu(e)}catch{}if(!r.includes("BEGIN"))throw new A("Encrypted key was not a libp2p-key or a PEM file","ERR_INVALID_IMPORT_FORMAT");return to(r,t)}function ou(){return BigInt(`0x${X(Gt(8),"base16")}`)}var au=(r,t)=>{let e=z(t.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n},cu=r=>ct.encode(r);var uu=function(r){return Array.isArray(r)?r:[r]},dd=async r=>{if(r.sequenceNumber==null||r.from==null||r.signature==null)return!1;let t=Ur(r.from);return t.publicKey!=null?!0:r.key!=null?(await cn(r.key)).equals(t):!1},lu=async r=>{if(r.from==null)throw new A("RPC message was missing from",ut.ERR_MISSING_FROM);if(!await dd(r))return{type:"unsigned",topic:r.topic??"",data:r.data??new Uint8Array(0)};let t=Ur(r.from),e={type:"signed",from:Ur(r.from),topic:r.topic??"",sequenceNumber:gd(r.sequenceNumber??new Uint8Array(0)),data:r.data??new Uint8Array(0),signature:r.signature??new Uint8Array(0),key:r.key??t.publicKey??new Uint8Array(0)};if(e.key.length===0)throw new A("Signed RPC message was missing key",ut.ERR_MISSING_KEY);return e},sn=r=>r.type==="signed"?{from:r.from.multihash.bytes,data:r.data,sequenceNumber:pd(r.sequenceNumber),topic:r.topic,signature:r.signature,key:r.key}:{data:r.data,topic:r.topic},pd=r=>{let t=r.toString(16);return t.length%2!==0&&(t=`0${t}`),z(t,"base16")},gd=r=>BigInt(`0x${X(r,"base16")}`);var fu=z("libp2p-pubsub:");async function hu(r,t,e){if(r.privateKey==null)throw new Error("Cannot sign message, no private key present");if(r.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:r},s=At([fu,e(sn(n)).subarray()]),i=await nn.unmarshalPrivateKey(r.privateKey);return n.signature=await i.sign(s),n.key=r.publicKey,n}async function du(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=At([fu,t({...sn(r),signature:void 0,key:void 0}).subarray()]),n=await yd(r);return nn.unmarshalPublicKey(n).verify(e,r.signature)}async function yd(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){let t=await cn(r.key);if(t.publicKey!=null)return t.publicKey}if(r.from.publicKey!=null)return r.from.publicKey;throw new Error("Could not get the public key from the originator id")}var fo=class extends ze{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=uu(n),this.enabled=e.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Dr,this.globalSignaturePolicy=s==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=i,this.emitSelf=o,this.topicValidators=new Map,this.queue=new Kr({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){let n=t.toString();this.log("connection ended",n),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 yn(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 Vr(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 Ft("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 lu(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 Pr,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 Ft("message",{detail:e})),await this.publishMessage(t,e)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',ut.ERR_MISSING_SIGNATURE);if(t.sequenceNumber==null)throw new A("Need seqno when signature policy is StrictSign but it was missing",ut.ERR_MISSING_SEQNO);if(t.key==null)throw new A("Need key when signature policy is StrictSign but it was missing",ut.ERR_MISSING_KEY);return au(t.key,t.sequenceNumber);case"StrictNoSign":return cu(t.data);default:throw new A("Cannot get message id: unhandled signature policy",ut.ERR_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(sn)})}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 A('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',ut.ERR_MISSING_SIGNATURE);if(e.signature!=null)throw new A("StrictNoSigning: signature should not be present",ut.ERR_UNEXPECTED_SIGNATURE);if(e.key!=null)throw new A("StrictNoSigning: key should not be present",ut.ERR_UNEXPECTED_KEY);if(e.sequenceNumber!=null)throw new A("StrictNoSigning: seqno should not be present",ut.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(e.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',ut.ERR_MISSING_SIGNATURE);if(e.signature==null)throw new A("StrictSigning: Signing required and no signature was present",ut.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new A("StrictSigning: Signing required and no sequenceNumber was present",ut.ERR_MISSING_SEQNO);if(!await du(e,this.encodeMessage.bind(this)))throw new A("StrictSigning: Invalid message signature",ut.ERR_INVALID_SIGNATURE);break;default:throw new A("Cannot validate message: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}let s=this.topicValidators.get(e.topic);if(s!=null){let i=await s(t,e);if(i===kr.Reject||i===kr.Ignore)throw new A("Message validation failed",ut.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return hu(this.components.peerId,t,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...t});default:throw new A("Cannot build message: unhandled signature policy",ut.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(t){if(!this.started)throw new A("not started yet","ERR_NOT_STARTED_YET");if(t==null)throw new A("topic is required","ERR_NOT_VALID_TOPIC");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:ou()};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 Ft("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())}};return ku(md);})();
6
+ `)}`:`${e} :`}};Ya=Ae;I.Constructed=Ya;Ae.NAME="CONSTRUCTED";var Mn=class extends xt{fromBER(t,e,n){return e}toBER(t){return Mt}};Mn.override="EndOfContentValueBlock";var Wa,Kn=class extends pt{constructor(t={}){super(t,Mn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}};Wa=Kn;I.EndOfContent=Wa;Kn.NAME=$r;var Za,Se=class extends pt{constructor(t={}){super(t,xt),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}`}};Za=Se;I.Null=Za;Se.NAME="NULL";var Fn=class extends fe(xt){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=H.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=H.BufferSourceConverter.toUint8Array(t);return le(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,Ki.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}};Fn.NAME="BooleanValueBlock";var Ja,qn=class extends pt{constructor(t={}){super(t,Fn),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}`}};Ja=qn;I.Boolean=Ja;qn.NAME="BOOLEAN";var $n=class extends fe(zt){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=zt.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===$r){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(o!==$a)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?zt.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}};$n.NAME="OctetStringValueBlock";var Xa,ce=class r extends pt{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},$n),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=bs(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?Ae.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${H.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 H.BufferSourceConverter.concat(t)}};Xa=ce;I.OctetString=Xa;ce.NAME=$a;var Gn=class extends fe(zt){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=zt.prototype.fromBER.call(this,t,e,n),s===-1)return s;for(let a of this.value){let c=a.constructor.NAME;if(c===$r){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==Ga)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=H.BufferSourceConverter.toUint8Array(t);if(!le(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=bs(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 zt.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Mt;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}}};Gn.NAME="BitStringValueBlock";var Qa,xr=class extends pt{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},Gn),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 Ae.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)}`}}};Qa=xr;I.BitString=Qa;xr.NAME=Ga;var tc;function vh(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 p=f;p>=0;p--,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=Ln(new Uint8Array([l%10]),i);break;default:i[o-u]=l%10}}return e[0]>0&&(i=Ln(e,i)),i}function qa(r){if(r>=Fr.length)for(let t=Fr.length;t<=r;t++){let e=new Uint8Array([0]),n=Fr[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=Ln(e,n)),Fr.push(n)}return Fr[r]}function Bh(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 Gr=class extends fe(xt){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=Ki.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(Ma(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=Bh(qa(n),e),o="-";break;default:e=vh(e,qa(n))}n++,s>>=1}}for(let c=0;c<e.length;c++)e[c]&&(a=!0),a&&(o+=Fa.charAt(e[c]));return a===!1&&(o+=Fa.charAt(0)),o}};tc=Gr;Gr.NAME="IntegerValueBlock";Object.defineProperty(tc.prototype,"valueHex",{set:function(r){this.valueHexView=new Uint8Array(r),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});var ec,ot=class r extends pt{constructor(t={}){super(t,Gr),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Un(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Un();let e=BigInt(t),n=new qr,s=e.toString(16).replace(/^-/,""),i=new Uint8Array(H.Convert.FromHex(s));if(e<0){let a=new Uint8Array(i.length+(i[0]&128?1:0));a[0]|=128;let l=BigInt(`0x${H.Convert.ToHex(a)}`)+e,f=H.BufferSourceConverter.toUint8Array(H.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()}`}};ec=ot;I.Integer=ec;ot.NAME="INTEGER";var rc,zn=class extends ot{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}};rc=zn;I.Enumerated=rc;zn.NAME="ENUMERATED";var zr=class extends fe(xt){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=H.BufferSourceConverter.toUint8Array(t);if(!le(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=He(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Un();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=Be(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Mt;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=H.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}}};zr.NAME="sidBlock";var jn=class extends xt{constructor({value:t=Er,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new zr;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,Mt;e.push(s)}return Fi(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 zr;if(s>Number.MAX_SAFE_INTEGER){Un();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}};jn.NAME="ObjectIdentifierValueBlock";var nc,Ht=class extends pt{constructor(t={}){super(t,jn),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()}}};nc=Ht;I.ObjectIdentifier=nc;Ht.NAME="OBJECT IDENTIFIER";var jr=class extends fe(ae){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(n===0)return e;let s=H.BufferSourceConverter.toUint8Array(t);if(!le(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=He(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=Be(this.valueDec,7);if(e.byteLength===0)return this.error="Error during encoding SID value",Mt;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=H.Convert.ToHex(this.valueHexView):t=this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}};jr.NAME="relativeSidBlock";var Yn=class extends xt{constructor({value:t=Er,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let s=e;for(;n>0;){let i=new jr;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,Mt;n.push(i)}return Fi(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 jr;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}};Yn.NAME="RelativeObjectIdentifierValueBlock";var sc,Wn=class extends pt{constructor(t={}){super(t,Yn),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()}}};sc=Wn;I.RelativeObjectIdentifier=sc;Wn.NAME="RelativeObjectIdentifier";var ic,ft=class extends Ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}};ic=ft;I.Sequence=ic;ft.NAME="SEQUENCE";var oc,Zn=class extends Ae{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}};oc=Zn;I.Set=oc;Zn.NAME="SET";var Jn=class extends fe(xt){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Er}toJSON(){return{...super.toJSON(),value:this.value}}};Jn.NAME="StringValueBlock";var Xn=class extends Jn{};Xn.NAME="SimpleStringValueBlock";var At=class extends Vn{constructor({...t}={}){super(t,Xn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,H.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}};At.NAME="SIMPLE STRING";var Qn=class extends At{fromBuffer(t){this.valueBlock.valueHexView=H.BufferSourceConverter.toUint8Array(t);try{this.valueBlock.value=H.Convert.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=H.Convert.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(H.Convert.FromUtf8String(t)),this.valueBlock.value=t}};Qn.NAME="Utf8StringValueBlock";var ac,ue=class extends Qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}};ac=ue;I.Utf8String=ac;ue.NAME="UTF8String";var ts=class extends At{fromBuffer(t){this.valueBlock.value=H.Convert.ToUtf16String(t),this.valueBlock.valueHexView=H.BufferSourceConverter.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(H.Convert.FromUtf16String(t))}};ts.NAME="BmpStringValueBlock";var cc,es=class extends ts{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}};cc=es;I.BmpString=cc;es.NAME="BMPString";var rs=class extends At{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=Be(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}};rs.NAME="UniversalStringValueBlock";var uc,ns=class extends rs{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}};uc=ns;I.UniversalString=uc;ns.NAME="UniversalString";var lc,ss=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}};lc=ss;I.NumericString=lc;ss.NAME="NumericString";var fc,is=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}};fc=is;I.PrintableString=fc;is.NAME="PrintableString";var hc,os=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}};hc=os;I.TeletexString=hc;os.NAME="TeletexString";var dc,as=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}};dc=as;I.VideotexString=dc;as.NAME="VideotexString";var pc,cs=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}};pc=cs;I.IA5String=pc;cs.NAME="IA5String";var gc,us=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}};gc=us;I.GraphicString=gc;us.NAME="GraphicString";var yc,Yr=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}};yc=Yr;I.VisibleString=yc;Yr.NAME="VisibleString";var mc,ls=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}};mc=ls;I.GeneralString=mc;ls.NAME="GeneralString";var bc,fs=class extends At{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}};bc=fs;I.CharacterString=bc;fs.NAME="CharacterString";var wc,Wr=class extends Yr{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,H.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}}};wc=Wr;I.UTCTime=wc;Wr.NAME="UTCTime";var xc,hs=class extends Wr{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,p=n.indexOf("+"),w="";if(p===-1&&(p=n.indexOf("-"),u=-1),p!==-1){if(w=n.substring(p+1),n=n.substring(0,p),w.length!==2&&w.length!==4)throw new Error("Wrong input string for conversion");let g=parseInt(w.substring(0,2),10);if(isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");if(a=u*g,w.length===4){if(g=parseInt(w.substring(2,4),10),isNaN(g.valueOf()))throw new Error("Wrong input string for conversion");c=u*g}}}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}}};xc=hs;I.GeneralizedTime=xc;hs.NAME="GeneralizedTime";var Ec,ds=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}};Ec=ds;I.DATE=Ec;ds.NAME="DATE";var vc,ps=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}};vc=ps;I.TimeOfDay=vc;ps.NAME="TimeOfDay";var Bc,gs=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}};Bc=gs;I.DateTime=Bc;gs.NAME="DateTime";var Ac,ys=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}};Ac=ys;I.Duration=Ac;ys.NAME="Duration";var Sc,ms=class extends ue{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}};Sc=ms;I.TIME=Sc;ms.NAME="TIME";function Sh(r){let{result:t}=vr(r),e=t.valueBlock.value;return{n:X(jt(e[1].toBigInt()),"base64url"),e:X(jt(e[2].toBigInt()),"base64url"),d:X(jt(e[3].toBigInt()),"base64url"),p:X(jt(e[4].toBigInt()),"base64url"),q:X(jt(e[5].toBigInt()),"base64url"),dp:X(jt(e[6].toBigInt()),"base64url"),dq:X(jt(e[7].toBigInt()),"base64url"),qi:X(jt(e[8].toBigInt()),"base64url"),kty:"RSA",alg:"RS256"}}function Ih(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 A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ot({value:0}),ot.fromBigInt(Yt(z(r.n,"base64url"))),ot.fromBigInt(Yt(z(r.e,"base64url"))),ot.fromBigInt(Yt(z(r.d,"base64url"))),ot.fromBigInt(Yt(z(r.p,"base64url"))),ot.fromBigInt(Yt(z(r.q,"base64url"))),ot.fromBigInt(Yt(z(r.dp,"base64url"))),ot.fromBigInt(Yt(z(r.dq,"base64url"))),ot.fromBigInt(Yt(z(r.qi,"base64url")))]}).toBER();return new Uint8Array(e,0,e.byteLength)}function kh(r){let{result:t}=vr(r),e=t.valueBlock.value[1].valueBlock.value[0].valueBlock.value;return{kty:"RSA",n:X(jt(e[0].toBigInt()),"base64url"),e:X(jt(e[1].toBigInt()),"base64url")}}function Nh(r){if(r.n==null||r.e==null)throw new A("JWK was missing components","ERR_INVALID_PARAMETERS");let e=new ft({value:[new ft({value:[new Ht({value:"1.2.840.113549.1.1.1"}),new Se]}),new xr({valueHex:new ft({value:[ot.fromBigInt(Yt(z(r.n,"base64url"))),ot.fromBigInt(Yt(z(r.e,"base64url")))]}).toBER()})]}).toBER();return new Uint8Array(e,0,e.byteLength)}function jt(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 Yt(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(""))}var Rh=16,$i=32,Gi=1e4;async function _h(r,t){let e=W.get(),s=new ft({value:[new ot({value:0}),new ft({value:[new Ht({value:"1.2.840.113549.1.1.1"}),new Se]}),new ce({valueHex:r.marshal()})]}).toBER(),i=new Uint8Array(s,0,s.byteLength),o=Gt(Rh),a=await Hi(fr,t,o,{c:Gi,dkLen:$i}),c=Gt(16),l=await e.subtle.importKey("raw",a,"AES-CBC",!1,["encrypt"]),f=await e.subtle.encrypt({name:"AES-CBC",iv:c},l,i),u=new ft({value:[new ce({valueHex:o}),new ot({value:Gi}),new ot({value:$i}),new ft({value:[new Ht({value:"1.2.840.113549.2.11"}),new Se]})]}),p=new ft({value:[new Ht({value:"1.2.840.113549.1.5.13"}),new ft({value:[new ft({value:[new Ht({value:"1.2.840.113549.1.5.12"}),u]}),new ft({value:[new Ht({value:"2.16.840.1.101.3.4.1.42"}),new ce({valueHex:c})]})]})]}),g=new ft({value:[p,new ce({valueHex:f})]}).toBER(),h=new Uint8Array(g,0,g.byteLength);return["-----BEGIN ENCRYPTED PRIVATE KEY-----",...X(h,"base64pad").split(/(.{64})/).filter(Boolean),"-----END ENCRYPTED PRIVATE KEY-----"].join(`
7
+ `)}async function zi(r,t){let e=W.get(),n;if(r.includes("-----BEGIN ENCRYPTED PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN ENCRYPTED PRIVATE KEY-----","").replace("-----END ENCRYPTED PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=vr(s),{iv:o,salt:a,iterations:c,keySize:l,cipherText:f}=Th(i),u=await Hi(fr,t,a,{c,dkLen:l}),p=await e.subtle.importKey("raw",u,"AES-CBC",!1,["decrypt"]),w=Zr(await e.subtle.decrypt({name:"AES-CBC",iv:o},p,f)),{result:g}=vr(w);n=Ic(g)}else if(r.includes("-----BEGIN PRIVATE KEY-----")){let s=z(r.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\n/g,"").trim(),"base64pad"),{result:i}=vr(s);n=Ic(i)}else throw new A("Could not parse private key from PEM data","ERR_INVALID_PARAMETERS");return ji(n)}function Th(r){let t=r.valueBlock.value[0];if(t.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.13")throw new A("Only pkcs5PBES2 encrypted private keys are supported","ERR_INVALID_PARAMS");let n=t.valueBlock.value[1].valueBlock.value[0];if(n.valueBlock.value[0].toString()!=="OBJECT IDENTIFIER : 1.2.840.113549.1.5.12")throw new A("Only pkcs5PBKDF2 key derivation functions are supported","ERR_INVALID_PARAMS");let i=n.valueBlock.value[1],o=Zr(i.valueBlock.value[0].getValue()),a=Gi,c=$i;if(i.valueBlock.value.length===3)a=Number(i.valueBlock.value[1].toBigInt()),c=Number(i.valueBlock.value[2].toBigInt());else if(i.valueBlock.value.length===2)throw new A("Could not derive key size and iterations from PEM file - please use @libp2p/rsa to re-import your key","ERR_INVALID_PARAMS");let l=t.valueBlock.value[1].valueBlock.value[1],f=l.valueBlock.value[0].toString();if(f!=="OBJECT IDENTIFIER : 1.2.840.113549.3.7"){if(f!=="OBJECT IDENTIFIER : 1.3.14.3.2.7"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.2"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.22"){if(f!=="OBJECT IDENTIFIER : 2.16.840.1.101.3.4.1.42")throw new A("Only AES-CBC encryption schemes are supported","ERR_INVALID_PARAMS")}}}}let u=Zr(l.valueBlock.value[1].getValue());return{cipherText:Zr(r.valueBlock.value[1].getValue()),salt:o,iterations:a,keySize:c,iv:u}}function Ic(r){return Zr(r.valueBlock.value[2].getValue())}function Zr(r){return new Uint8Array(r,0,r.byteLength)}async function kc(r){let t=await W.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 _c(t);return{privateKey:e[0],publicKey:e[1]}}async function Yi(r){let e=[await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ch(r)],n=await _c({privateKey:e[0],publicKey:e[1]});return{privateKey:n[0],publicKey:n[1]}}async function Nc(r,t){let e=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await W.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},e,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Rc(r,t,e){let n=await W.get().subtle.importKey("jwk",r,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return W.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,e instanceof Uint8Array?e:e.subarray())}async function _c(r){if(r.privateKey==null||r.publicKey==null)throw new A("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([W.get().subtle.exportKey("jwk",r.privateKey),W.get().subtle.exportKey("jwk",r.publicKey)])}async function Ch(r){return W.get().subtle.importKey("jwk",{kty:r.kty,n:r.n,e:r.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function ws(r){if(r.kty!=="RSA")throw new A("invalid key type","ERR_INVALID_KEY_TYPE");if(r.n==null)throw new A("invalid key modulus","ERR_INVALID_KEY_MODULUS");return z(r.n,"base64url").length*8}var Ke=8192,Me=class{_key;constructor(t){this._key=t}verify(t,e){return Rc(this._key,e,t)}marshal(){return Ie.jwkToPkix(this._key)}get bytes(){return Vt.encode({Type:Y.RSA,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}},ke=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e}genSecret(){return Gt(16)}sign(t){return Nc(this._key,t)}get public(){if(this._publicKey==null)throw new A("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Me(this._publicKey)}marshal(){return Ie.jwkToPkcs1(this._key)}get bytes(){return Ot.encode({Type:Y.RSA,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,e="pkcs-8"){if(e==="pkcs-8")return Ie.exportToPem(this,t);if(e==="libp2p-key")return gr(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};async function ji(r){let t=Ie.pkcs1ToJwk(r);if(ws(t)>Ke)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yi(t);return new ke(e.privateKey,e.publicKey)}function Uh(r){let t=Ie.pkixToJwk(r);if(ws(t)>Ke)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Me(t)}async function Dh(r){if(ws(r)>Ke)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Yi(r);return new ke(t.privateKey,t.publicKey)}async function Ph(r){if(r>Ke)throw new A("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await kc(r);return new ke(t.privateKey,t.publicKey)}var to={};it(to,{Secp256k1PrivateKey:()=>$e,Secp256k1PublicKey:()=>qe,generateKeyPair:()=>Wh,unmarshalSecp256k1PrivateKey:()=>jh,unmarshalSecp256k1PublicKey:()=>Yh});var Vh=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]),Ne=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Re=new Uint32Array(64),Zi=class extends lr{constructor(){super(64,32,8,!1),this.A=Ne[0]|0,this.B=Ne[1]|0,this.C=Ne[2]|0,this.D=Ne[3]|0,this.E=Ne[4]|0,this.F=Ne[5]|0,this.G=Ne[6]|0,this.H=Ne[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)Re[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let p=Re[u-15],w=Re[u-2],g=Lt(p,7)^Lt(p,18)^p>>>3,h=Lt(w,17)^Lt(w,19)^w>>>10;Re[u]=h+Re[u-7]+g+Re[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 p=Lt(a,6)^Lt(a,11)^Lt(a,25),w=f+p+Jo(a,c,l)+Vh[u]+Re[u]|0,h=(Lt(n,2)^Lt(n,13)^Lt(n,22))+Xo(n,s,i)|0;f=l,l=c,c=a,a=o+w|0,o=i,i=s,s=n,n=w+h|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(){Re.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Tc=dn(()=>new Zi);function Oh(r){let t=Or(r);$t(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:Hh,hexToBytes:Mh}=yn,Fe={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(r){let{Err:t}=Fe;if(r.length<2||r[0]!==2)throw new t("Invalid signature integer tag");let e=r[1],n=r.subarray(2,e+2);if(!e||n.length!==e)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:Hh(n),l:r.subarray(e+2)}},toSig(r){let{Err:t}=Fe,e=typeof r=="string"?Mh(r):r;hr(e);let n=e.length;if(n<2||e[0]!=48)throw new t("Invalid signature tag");if(e[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:s,l:i}=Fe._parseInt(e.subarray(2)),{d:o,l:a}=Fe._parseInt(i);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(r){let t=l=>Number.parseInt(l[0],16)&8?"00"+l:l,e=l=>{let f=l.toString(16);return f.length&1?`0${f}`:f},n=t(e(r.s)),s=t(e(r.r)),i=n.length/2,o=s.length/2,a=e(i),c=e(o);return`30${e(o+i+4)}02${c}${s}02${a}${n}`}},he=BigInt(0),Ct=BigInt(1),By=BigInt(2),Cc=BigInt(3),Ay=BigInt(4);function Kh(r){let t=Oh(r),{Fp:e}=t,n=t.toBytes||((g,h,d)=>{let y=h.toAffine();return re(Uint8Array.from([4]),e.toBytes(y.x),e.toBytes(y.y))}),s=t.fromBytes||(g=>{let h=g.subarray(1),d=e.fromBytes(h.subarray(0,e.BYTES)),y=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:d,y}});function i(g){let{a:h,b:d}=t,y=e.sqr(g),x=e.mul(y,g);return e.add(e.add(x,e.mul(g,h)),d)}if(!e.eql(e.sqr(t.Gy),i(t.Gx)))throw new Error("bad generator point: equation left != right");function o(g){return typeof g=="bigint"&&he<g&&g<t.n}function a(g){if(!o(g))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(g){let{allowedPrivateKeyLengths:h,nByteLength:d,wrapPrivateKey:y,n:x}=t;if(h&&typeof g!="bigint"){if(we(g)&&(g=te(g)),typeof g!="string"||!h.includes(g.length))throw new Error("Invalid key");g=g.padStart(d*2,"0")}let b;try{b=typeof g=="bigint"?g:ee(et("private key",g,d))}catch{throw new Error(`private key must be ${d} bytes, hex or bigint, not ${typeof g}`)}return y&&(b=j(b,x)),a(b),b}let l=new Map;function f(g){if(!(g instanceof u))throw new Error("ProjectivePoint expected")}class u{constructor(h,d,y){if(this.px=h,this.py=d,this.pz=y,h==null||!e.isValid(h))throw new Error("x required");if(d==null||!e.isValid(d))throw new Error("y required");if(y==null||!e.isValid(y))throw new Error("z required")}static fromAffine(h){let{x:d,y}=h||{};if(!h||!e.isValid(d)||!e.isValid(y))throw new Error("invalid affine point");if(h instanceof u)throw new Error("projective point not allowed");let x=b=>e.eql(b,e.ZERO);return x(d)&&x(y)?u.ZERO:new u(d,y,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let d=e.invertBatch(h.map(y=>y.pz));return h.map((y,x)=>y.toAffine(d[x])).map(u.fromAffine)}static fromHex(h){let d=u.fromAffine(s(et("pointHex",h)));return d.assertValidity(),d}static fromPrivateKey(h){return u.BASE.multiply(c(h))}_setWindowSize(h){this._WINDOW_SIZE=h,l.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!e.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:h,y:d}=this.toAffine();if(!e.isValid(h)||!e.isValid(d))throw new Error("bad point: x or y not FE");let y=e.sqr(d),x=i(h);if(!e.eql(y,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:d,py:y,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.eql(e.mul(d,E),e.mul(b,x)),R=e.eql(e.mul(y,E),e.mul(T,x));return S&&R}negate(){return new u(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:d}=t,y=e.mul(d,Cc),{px:x,py:b,pz:T}=this,E=e.ZERO,S=e.ZERO,R=e.ZERO,_=e.mul(x,x),$=e.mul(b,b),K=e.mul(T,T),D=e.mul(x,b);return D=e.add(D,D),R=e.mul(x,T),R=e.add(R,R),E=e.mul(h,R),S=e.mul(y,K),S=e.add(E,S),E=e.sub($,S),S=e.add($,S),S=e.mul(E,S),E=e.mul(D,E),R=e.mul(y,R),K=e.mul(h,K),D=e.sub(_,K),D=e.mul(h,D),D=e.add(D,R),R=e.add(_,_),_=e.add(R,_),_=e.add(_,K),_=e.mul(_,D),S=e.add(S,_),K=e.mul(b,T),K=e.add(K,K),_=e.mul(K,D),E=e.sub(E,_),R=e.mul(K,$),R=e.add(R,R),R=e.add(R,R),new u(E,S,R)}add(h){f(h);let{px:d,py:y,pz:x}=this,{px:b,py:T,pz:E}=h,S=e.ZERO,R=e.ZERO,_=e.ZERO,$=t.a,K=e.mul(t.b,Cc),D=e.mul(d,b),nt=e.mul(y,T),rt=e.mul(x,E),Rt=e.add(d,y),v=e.add(b,T);Rt=e.mul(Rt,v),v=e.add(D,nt),Rt=e.sub(Rt,v),v=e.add(d,x);let N=e.add(b,E);return v=e.mul(v,N),N=e.add(D,rt),v=e.sub(v,N),N=e.add(y,x),S=e.add(T,E),N=e.mul(N,S),S=e.add(nt,rt),N=e.sub(N,S),_=e.mul($,v),S=e.mul(K,rt),_=e.add(S,_),S=e.sub(nt,_),_=e.add(nt,_),R=e.mul(S,_),nt=e.add(D,D),nt=e.add(nt,D),rt=e.mul($,rt),v=e.mul(K,v),nt=e.add(nt,rt),rt=e.sub(D,rt),rt=e.mul($,rt),v=e.add(v,rt),D=e.mul(nt,v),R=e.add(R,D),D=e.mul(N,v),S=e.mul(Rt,S),S=e.sub(S,D),D=e.mul(Rt,nt),_=e.mul(N,_),_=e.add(_,D),new u(S,R,_)}subtract(h){return this.add(h.negate())}is0(){return this.equals(u.ZERO)}wNAF(h){return w.wNAFCached(this,l,h,d=>{let y=e.invertBatch(d.map(x=>x.pz));return d.map((x,b)=>x.toAffine(y[b])).map(u.fromAffine)})}multiplyUnsafe(h){let d=u.ZERO;if(h===he)return d;if(a(h),h===Ct)return this;let{endo:y}=t;if(!y)return w.unsafeLadder(this,h);let{k1neg:x,k1:b,k2neg:T,k2:E}=y.splitScalar(h),S=d,R=d,_=this;for(;b>he||E>he;)b&Ct&&(S=S.add(_)),E&Ct&&(R=R.add(_)),_=_.double(),b>>=Ct,E>>=Ct;return x&&(S=S.negate()),T&&(R=R.negate()),R=new u(e.mul(R.px,y.beta),R.py,R.pz),S.add(R)}multiply(h){a(h);let d=h,y,x,{endo:b}=t;if(b){let{k1neg:T,k1:E,k2neg:S,k2:R}=b.splitScalar(d),{p:_,f:$}=this.wNAF(E),{p:K,f:D}=this.wNAF(R);_=w.constTimeNegate(T,_),K=w.constTimeNegate(S,K),K=new u(e.mul(K.px,b.beta),K.py,K.pz),y=_.add(K),x=$.add(D)}else{let{p:T,f:E}=this.wNAF(d);y=T,x=E}return u.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(h,d,y){let x=u.BASE,b=(E,S)=>S===he||S===Ct||!E.equals(x)?E.multiplyUnsafe(S):E.multiply(S),T=b(this,d).add(b(h,y));return T.is0()?void 0:T}toAffine(h){let{px:d,py:y,pz:x}=this,b=this.is0();h==null&&(h=b?e.ONE:e.inv(x));let T=e.mul(d,h),E=e.mul(y,h),S=e.mul(x,h);if(b)return{x:e.ZERO,y:e.ZERO};if(!e.eql(S,e.ONE))throw new Error("invZ was invalid");return{x:T,y:E}}isTorsionFree(){let{h,isTorsionFree:d}=t;if(h===Ct)return!0;if(d)return d(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:d}=t;return h===Ct?this:d?d(u,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return this.assertValidity(),n(u,this,h)}toHex(h=!0){return te(this.toRawBytes(h))}}u.BASE=new u(t.Gx,t.Gy,e.ONE),u.ZERO=new u(e.ZERO,e.ONE,e.ZERO);let p=t.nBitLength,w=wn(u,t.endo?Math.ceil(p/2):p);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:c,weierstrassEquation:i,isWithinCurveOrder:o}}function Fh(r){let t=Or(r);return $t(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Lc(r){let t=Fh(r),{Fp:e,n}=t,s=e.BYTES+1,i=2*e.BYTES+1;function o(v){return he<v&&v<e.ORDER}function a(v){return j(v,n)}function c(v){return mn(v,n)}let{ProjectivePoint:l,normPrivateKeyToScalar:f,weierstrassEquation:u,isWithinCurveOrder:p}=Kh({...t,toBytes(v,N,P){let B=N.toAffine(),m=e.toBytes(B.x),k=re;return P?k(Uint8Array.from([N.hasEvenY()?2:3]),m):k(Uint8Array.from([4]),m,e.toBytes(B.y))},fromBytes(v){let N=v.length,P=v[0],B=v.subarray(1);if(N===s&&(P===2||P===3)){let m=ee(B);if(!o(m))throw new Error("Point is not on curve");let k=u(m),C;try{C=e.sqrt(k)}catch(O){let q=O instanceof Error?": "+O.message:"";throw new Error("Point is not on curve"+q)}let L=(C&Ct)===Ct;return(P&1)===1!==L&&(C=e.neg(C)),{x:m,y:C}}else if(N===i&&P===4){let m=e.fromBytes(B.subarray(0,e.BYTES)),k=e.fromBytes(B.subarray(e.BYTES,2*e.BYTES));return{x:m,y:k}}else throw new Error(`Point of length ${N} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),w=v=>te(Ee(v,t.nByteLength));function g(v){let N=n>>Ct;return v>N}function h(v){return g(v)?a(-v):v}let d=(v,N,P)=>ee(v.slice(N,P));class y{constructor(N,P,B){this.r=N,this.s=P,this.recovery=B,this.assertValidity()}static fromCompact(N){let P=t.nByteLength;return N=et("compactSignature",N,P*2),new y(d(N,0,P),d(N,P,2*P))}static fromDER(N){let{r:P,s:B}=Fe.toSig(et("DER",N));return new y(P,B)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(N){return new y(this.r,this.s,N)}recoverPublicKey(N){let{r:P,s:B,recovery:m}=this,k=R(et("msgHash",N));if(m==null||![0,1,2,3].includes(m))throw new Error("recovery id invalid");let C=m===2||m===3?P+t.n:P;if(C>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let L=m&1?"03":"02",V=l.fromHex(L+w(C)),O=c(C),q=a(-k*O),M=a(B*O),F=l.BASE.multiplyAndAddUnsafe(V,q,M);if(!F)throw new Error("point at infinify");return F.assertValidity(),F}hasHighS(){return g(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Le(this.toDERHex())}toDERHex(){return Fe.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Le(this.toCompactHex())}toCompactHex(){return w(this.r)+w(this.s)}}let x={isValidPrivateKey(v){try{return f(v),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let v=fi(t.n);return ua(t.randomBytes(v),t.n)},precompute(v=8,N=l.BASE){return N._setWindowSize(v),N.multiply(BigInt(3)),N}};function b(v,N=!0){return l.fromPrivateKey(v).toRawBytes(N)}function T(v){let N=we(v),P=typeof v=="string",B=(N||P)&&v.length;return N?B===s||B===i:P?B===2*s||B===2*i:v instanceof l}function E(v,N,P=!0){if(T(v))throw new Error("first arg must be private key");if(!T(N))throw new Error("second arg must be public key");return l.fromHex(N).multiply(f(v)).toRawBytes(P)}let S=t.bits2int||function(v){let N=ee(v),P=v.length*8-t.nBitLength;return P>0?N>>BigInt(P):N},R=t.bits2int_modN||function(v){return a(S(v))},_=Vr(t.nBitLength);function $(v){if(typeof v!="bigint")throw new Error("bigint expected");if(!(he<=v&&v<_))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Ee(v,t.nByteLength)}function K(v,N,P=D){if(["recovered","canonical"].some(Q=>Q in P))throw new Error("sign() legacy options not supported");let{hash:B,randomBytes:m}=t,{lowS:k,prehash:C,extraEntropy:L}=P;k==null&&(k=!0),v=et("msgHash",v),C&&(v=et("prehashed msgHash",B(v)));let V=R(v),O=f(N),q=[$(O),$(V)];if(L!=null&&L!==!1){let Q=L===!0?m(e.BYTES):L;q.push(et("extraEntropy",Q))}let M=re(...q),F=V;function st(Q){let ht=S(Q);if(!p(ht))return;let dt=c(ht),at=l.BASE.multiply(ht).toAffine(),gt=a(at.x);if(gt===he)return;let Wt=a(dt*a(F+gt*O));if(Wt===he)return;let Te=(at.x===gt?0:2)|Number(at.y&Ct),Ir=Wt;return k&&g(Wt)&&(Ir=h(Wt),Te^=1),new y(gt,Ir,Te)}return{seed:M,k2sig:st}}let D={lowS:t.lowS,prehash:!1},nt={lowS:t.lowS,prehash:!1};function rt(v,N,P=D){let{seed:B,k2sig:m}=K(v,N,P),k=t;return ai(k.hash.outputLen,k.nByteLength,k.hmac)(B,m)}l.BASE._setWindowSize(8);function Rt(v,N,P,B=nt){let m=v;if(N=et("msgHash",N),P=et("publicKey",P),"strict"in B)throw new Error("options.strict was renamed to lowS");let{lowS:k,prehash:C}=B,L,V;try{if(typeof m=="string"||we(m))try{L=y.fromDER(m)}catch(at){if(!(at instanceof Fe.Err))throw at;L=y.fromCompact(m)}else if(typeof m=="object"&&typeof m.r=="bigint"&&typeof m.s=="bigint"){let{r:at,s:gt}=m;L=new y(at,gt)}else throw new Error("PARSE");V=l.fromHex(P)}catch(at){if(at.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(k&&L.hasHighS())return!1;C&&(N=t.hash(N));let{r:O,s:q}=L,M=R(N),F=c(q),st=a(M*F),Q=a(O*F),ht=l.BASE.multiplyAndAddUnsafe(V,st,Q)?.toAffine();return ht?a(ht.x)===O:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:E,sign:rt,verify:Rt,ProjectivePoint:l,Signature:y,utils:x}}function qh(r){return{hash:r,hmac:(t,...e)=>Kr(r,t,hn(...e)),randomBytes:ur}}function Uc(r,t){let e=n=>Lc({...r,...qh(n)});return Object.freeze({...e(t),create:e})}var Vc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Dc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),$h=BigInt(1),Ji=BigInt(2),Pc=(r,t)=>(r+t/Ji)/t;function Gh(r){let t=Vc,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=J(f,e,t)*f%t,p=J(u,e,t)*f%t,w=J(p,Ji,t)*l%t,g=J(w,s,t)*w%t,h=J(g,i,t)*g%t,d=J(h,a,t)*h%t,y=J(d,c,t)*d%t,x=J(y,a,t)*h%t,b=J(x,e,t)*f%t,T=J(b,o,t)*g%t,E=J(T,n,t)*l%t,S=J(E,Ji,t);if(!Xi.eql(Xi.sqr(S),r))throw new Error("Cannot find square root");return S}var Xi=bn(Vc,void 0,void 0,{sqrt:Gh}),Kt=Uc({a:BigInt(0),b:BigInt(7),Fp:Xi,n:Dc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Dc,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-$h*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,o=BigInt("0x100000000000000000000000000000000"),a=Pc(i*r,t),c=Pc(-n*r,t),l=j(r-a*e-c*s,t),f=j(-a*n-c*i,t),u=l>o,p=f>o;if(u&&(l=t-l),p&&(f=t-f),l>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:l,k2neg:p,k2:f}}}},Tc),Ly=BigInt(0);var Uy=Kt.ProjectivePoint;function Oc(){return Kt.utils.randomPrivateKey()}function Hc(r,t){let e=ct.digest(t instanceof Uint8Array?t:t.subarray());if(_t(e))return e.then(({digest:n})=>Kt.sign(n,r).toDERRawBytes()).catch(n=>{throw new A(String(n),"ERR_INVALID_INPUT")});try{return Kt.sign(e.digest,r).toDERRawBytes()}catch(n){throw new A(String(n),"ERR_INVALID_INPUT")}}function Mc(r,t,e){let n=ct.digest(e instanceof Uint8Array?e:e.subarray());if(_t(n))return n.then(({digest:s})=>Kt.verify(t,s,r)).catch(s=>{throw new A(String(s),"ERR_INVALID_INPUT")});try{return Kt.verify(t,n.digest,r)}catch(s){throw new A(String(s),"ERR_INVALID_INPUT")}}function Kc(r){return Kt.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Fc(r){try{Kt.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}function Qi(r){try{Kt.ProjectivePoint.fromHex(r)}catch(t){throw new A(String(t),"ERR_INVALID_PUBLIC_KEY")}}function qc(r){try{return Kt.getPublicKey(r,!0)}catch(t){throw new A(String(t),"ERR_INVALID_PRIVATE_KEY")}}var qe=class{_key;constructor(t){Qi(t),this._key=t}verify(t,e){return Mc(this._key,e,t)}marshal(){return Kc(this._key)}get bytes(){return Vt.encode({Type:Y.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}async hash(){let t=ct.digest(this.bytes),e;return _t(t)?{bytes:e}=await t:e=t.bytes,e}},$e=class{_key;_publicKey;constructor(t,e){this._key=t,this._publicKey=e??qc(t),Fc(this._key),Qi(this._publicKey)}sign(t){return Hc(this._key,t)}get public(){return new qe(this._publicKey)}marshal(){return this._key}get bytes(){return Ot.encode({Type:Y.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return yt(this.bytes,t.bytes)}hash(){let t=ct.digest(this.bytes);return _t(t)?t.then(({bytes:e})=>e):t.bytes}async id(){let t=await this.public.hash();return X(t,"base58btc")}async export(t,e="libp2p-key"){if(e==="libp2p-key")return gr(this.bytes,t);throw new A(`export format '${e}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function jh(r){return new $e(r)}function Yh(r){return new qe(r)}async function Wh(){let r=Oc();return new $e(r)}var de={rsa:Wi,ed25519:Vi,secp256k1:to};function eo(r){let t=Object.keys(de).join(" / ");return new A(`invalid or unsupported key type ${r}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function ro(r){if(r=r.toLowerCase(),r==="rsa"||r==="ed25519"||r==="secp256k1")return de[r];throw eo(r)}async function Zh(r,t){return ro(r).generateKeyPair(t??2048)}async function Jh(r,t,e){if(r.toLowerCase()!=="ed25519")throw new A("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return Pi(t)}function Xh(r){let t=Vt.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Y.RSA:return de.rsa.unmarshalRsaPublicKey(e);case Y.Ed25519:return de.ed25519.unmarshalEd25519PublicKey(e);case Y.Secp256k1:return de.secp256k1.unmarshalSecp256k1PublicKey(e);default:throw eo(t.Type??"unknown")}}function Qh(r,t){return t=(t??"rsa").toLowerCase(),ro(t),r.bytes}async function $c(r){let t=Ot.decode(r),e=t.Data??new Uint8Array;switch(t.Type){case Y.RSA:return de.rsa.unmarshalRsaPrivateKey(e);case Y.Ed25519:return de.ed25519.unmarshalEd25519PrivateKey(e);case Y.Secp256k1:return de.secp256k1.unmarshalSecp256k1PrivateKey(e);default:throw eo(t.Type??"RSA")}}function td(r,t){return t=(t??"rsa").toLowerCase(),ro(t),r.bytes}async function ed(r,t){try{let e=await Pa(r,t);return await $c(e)}catch{}if(!r.includes("BEGIN"))throw new A("Encrypted key was not a libp2p-key or a PEM file","ERR_INVALID_IMPORT_FORMAT");return zi(r,t)}var zc=Symbol.for("@achingbrain/uint8arraylist");function Gc(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 xs(r){return!!r?.[zc]}var _e=class r{bufs;length;[zc]=!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(xs(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(xs(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=Gc(this.bufs,t);return e.buf[e.index]}set(t,e){let n=Gc(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(xs(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 Bt(n,s)}subarray(t,e){let{bufs:n,length:s}=this._subList(t,e);return n.length===1?n[0]:Bt(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(!xs(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 p=l;p>=0;p--){let w=this.get(u+p);if(n[p]!==w){f=Math.max(1,p-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=mt(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=mt(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(!yt(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 Es(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var vs=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}},Br=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new vs(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 vs(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 no=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function Ar(r={}){return rd(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 rd(r,t){t=t??{};let e=t.onEnd,n=new Br,s,i,o,a=Es(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((d,y)=>{i=x=>{i=null,n.push(x);try{d(r(n))}catch(b){y(b)}return s}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Es()})}},l=d=>i!=null?i(d):(n.push(d),s),f=d=>(n=new Br,i!=null?i({error:d}):(n.push({error:d}),s)),u=d=>{if(o)return s;if(t?.objectMode!==!0&&d?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:d})},p=d=>o?s:(o=!0,d!=null?f(d):l({done:!0})),w=()=>(n=new Br,p(),{done:!0}),g=d=>(p(d),{done:!0});if(s={[Symbol.asyncIterator](){return this},next:c,return:w,throw:g,push:u,end:p,get readableLength(){return n.size},onEmpty:async d=>{let y=d?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let x,b;y!=null&&(x=new Promise((T,E)=>{b=()=>{E(new no)},y.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&y!=null&&y?.removeEventListener("abort",b)}}},e==null)return s;let h=s;return s={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(d){return h.throw(d),e!=null&&(e(d),e=void 0),{done:!0}},return(){return h.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(d){return h.end(d),e!=null&&(e(d),e=void 0),s},get readableLength(){return h.readableLength},onEmpty:d=>h.onEmpty(d)},s}function nd(r){return r[Symbol.asyncIterator]!=null}function sd(...r){let t=[];for(let e of r)nd(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=Ar({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 jc=sd;function Xr(r,...t){if(r==null)throw new Error("Empty pipeline");if(so(r)){let n=r;r=()=>n.source}else if(Wc(r)||Yc(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&so(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++)so(e[n])&&(e[n]=od(e[n]));return id(...e)}var id=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},Yc=r=>r?.[Symbol.asyncIterator]!=null,Wc=r=>r?.[Symbol.iterator]!=null,so=r=>r==null?!1:r.sink!=null&&r.source!=null,od=r=>t=>{let e=r.sink(t);if(e?.then!=null){let n=Ar({objectMode:!0});e.then(()=>{n.end()},o=>{n.end(o)});let s,i=r.source;if(Yc(i))s=async function*(){yield*i,n.end()};else if(Wc(i))s=function*(){yield*i,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return jc(n,s())}return r.source};var oo=_s(Jc(),1);var tn=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},ao=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},Xc=r=>globalThis.DOMException===void 0?new ao(r):new DOMException(r),Qc=r=>{let t=r.reason===void 0?Xc("This operation was aborted."):r.reason;return t instanceof Error?t:Xc(t)};function co(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:p}=t;p.aborted&&f(Qc(p)),p.addEventListener("abort",()=>{f(Qc(p))})}if(e===Number.POSITIVE_INFINITY){r.then(l,f);return}let u=new tn;o=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(p){f(p)}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(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},c}function uo(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 en=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=uo(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 rn=class extends oo.default{#t;#o;#i=0;#d;#a;#p=0;#r;#c;#e;#g;#n=0;#u;#s;#y;timeout;constructor(t){if(super(),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:en,...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.#y=t.throwOnTimeout===!0,this.#s=t.autoStart===!1}get#w(){return this.#o||this.#i<this.#d}get#x(){return this.#n<this.#u}#E(){this.#n--,this.#l(),this.emit("next")}#v(){this.#b(),this.#m(),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.#v()},e)),!0}return!1}#l(){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.#m(),!0):!1}}return!1}#m(){this.#o||this.#r!==void 0||(this.#r=setInterval(()=>{this.#b()},this.#a),this.#p=Date.now()+this.#a)}#b(){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.#l(););}get concurrency(){return this.#u}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.#u=t,this.#f()}async#A(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.#y,...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=co(Promise.resolve(i),{milliseconds:e.timeout})),e.signal&&(i=Promise.race([i,this.#A(e.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof tn&&!e.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#E()}},e),this.emit("add"),this.#l()})}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}};var lt={ERR_INVALID_SIGNATURE_POLICY:"ERR_INVALID_SIGNATURE_POLICY",ERR_UNHANDLED_SIGNATURE_POLICY:"ERR_UNHANDLED_SIGNATURE_POLICY",ERR_MISSING_SIGNATURE:"ERR_MISSING_SIGNATURE",ERR_MISSING_SEQNO:"ERR_MISSING_SEQNO",ERR_MISSING_KEY:"ERR_MISSING_KEY",ERR_INVALID_SIGNATURE:"ERR_INVALID_SIGNATURE",ERR_MISSING_FROM:"ERR_MISSING_FROM",ERR_UNEXPECTED_FROM:"ERR_UNEXPECTED_FROM",ERR_UNEXPECTED_SIGNATURE:"ERR_UNEXPECTED_SIGNATURE",ERR_UNEXPECTED_KEY:"ERR_UNEXPECTED_KEY",ERR_UNEXPECTED_SEQNO:"ERR_UNEXPECTED_SEQNO",ERR_TOPIC_VALIDATOR_REJECT:"ERR_TOPIC_VALIDATOR_REJECT"};function tu(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 eu(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function ru(r,t){let e=tu(r).return?.();eu(e)&&e.catch(n=>{t.error("could not cause iterator to return",n)})}function As(r){return r[Symbol.asyncIterator]!=null}var Ss=r=>{let t=Dt(r),e=mt(t);return xa(r,e),Ss.bytes=t,e};Ss.bytes=0;function Is(r,t){t=t??{};let e=t.lengthEncoder??Ss;function*n(s){let i=e(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return As(r)?async function*(){for await(let s of r)yield*n(s)}():function*(){for(let s of r)yield*n(s)}()}Is.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Ss;return new _e(e(r.byteLength),r)};var Sr=_s(iu(),1);var ld=8,fd=1024*1024*4,Ge;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Ge||(Ge={}));var lo=r=>{let t=Ea(r);return lo.bytes=Dt(t),t};lo.bytes=0;function nn(r,t){let e=new _e,n=Ge.LENGTH,s=-1,i=t?.lengthDecoder??lo,o=t?.maxLengthLength??ld,a=t?.maxDataLength??fd;function*c(){for(;e.byteLength>0;){if(n===Ge.LENGTH)try{if(s=i(e),s<0)throw(0,Sr.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(s>a)throw(0,Sr.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=i.bytes;e.consume(l),t?.onLength!=null&&t.onLength(s),n=Ge.DATA}catch(l){if(l instanceof RangeError){if(e.byteLength>o)throw(0,Sr.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(n===Ge.DATA){if(e.byteLength<s)break;let l=e.sublist(0,s);e.consume(s),t?.onData!=null&&t.onData(l),yield l,n=Ge.LENGTH}}}return As(r)?async function*(){for await(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,Sr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let l of r)e.append(l),yield*c();if(e.byteLength>0)throw(0,Sr.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}nn.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 nn(n,{...t??{},onLength:i=>{e=i}})};var ks=class extends ze{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 _e(t):t)}attachInboundStream(t){let e=()=>{ru(t.source,this.log)};return this._inboundAbortController.signal.addEventListener("abort",e,{once:!0}),this._rawInboundStream=t,this.inboundStream=Xr(this._rawInboundStream,n=>nn(n)),this.dispatchEvent(new Ft("stream:inbound")),this.inboundStream}async attachOutboundStream(t){let e=this.outboundStream;return this.outboundStream!=null&&this.outboundStream.end(),this._rawOutboundStream=t,this.outboundStream=Ar({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 Ft("close"))}}),Xr(this.outboundStream,n=>Is(n),this._rawOutboundStream).catch(n=>{this.log.error(n)}),e==null&&this.dispatchEvent(new Ft("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 Ft("close")))}};function ou(){return BigInt(`0x${X(Gt(8),"base16")}`)}var au=(r,t)=>{let e=z(t.toString(16).padStart(16,"0"),"base16"),n=new Uint8Array(r.length+e.length);return n.set(r,0),n.set(e,r.length),n},cu=r=>ct.encode(r);var uu=function(r){return Array.isArray(r)?r:[r]},dd=async r=>{if(r.sequenceNumber==null||r.from==null||r.signature==null)return!1;let t=Ur(r.from);return t.publicKey!=null?!0:r.key!=null?(await cn(r.key)).equals(t):!1},lu=async r=>{if(r.from==null)throw new A("RPC message was missing from",lt.ERR_MISSING_FROM);if(!await dd(r))return{type:"unsigned",topic:r.topic??"",data:r.data??new Uint8Array(0)};let t=Ur(r.from),e={type:"signed",from:Ur(r.from),topic:r.topic??"",sequenceNumber:gd(r.sequenceNumber??new Uint8Array(0)),data:r.data??new Uint8Array(0),signature:r.signature??new Uint8Array(0),key:r.key??t.publicKey??new Uint8Array(0)};if(e.key.length===0)throw new A("Signed RPC message was missing key",lt.ERR_MISSING_KEY);return e},sn=r=>r.type==="signed"?{from:r.from.multihash.bytes,data:r.data,sequenceNumber:pd(r.sequenceNumber),topic:r.topic,signature:r.signature,key:r.key}:{data:r.data,topic:r.topic},pd=r=>{let t=r.toString(16);return t.length%2!==0&&(t=`0${t}`),z(t,"base16")},gd=r=>BigInt(`0x${X(r,"base16")}`);var fu=z("libp2p-pubsub:");async function hu(r,t,e){if(r.privateKey==null)throw new Error("Cannot sign message, no private key present");if(r.publicKey==null)throw new Error("Cannot sign message, no public key present");let n={type:"signed",topic:t.topic,data:t.data,sequenceNumber:t.sequenceNumber,from:r},s=Bt([fu,e(sn(n)).subarray()]),i=await Jr.unmarshalPrivateKey(r.privateKey);return n.signature=await i.sign(s),n.key=r.publicKey,n}async function du(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=Bt([fu,t({...sn(r),signature:void 0,key:void 0}).subarray()]),n=await yd(r);return Jr.unmarshalPublicKey(n).verify(e,r.signature)}async function yd(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){let t=await cn(r.key);if(t.publicKey!=null)return t.publicKey}if(r.from.publicKey!=null)return r.from.publicKey;throw new Error("Could not get the public key from the originator id")}var fo=class extends ze{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=uu(n),this.enabled=e.enabled!==!1,this.started=!1,this.topics=new Map,this.subscriptions=new Set,this.peers=new Dr,this.globalSignaturePolicy=s==="StrictNoSign"?"StrictNoSign":"StrictSign",this.canRelayMessage=i,this.emitSelf=o,this.topicValidators=new Map,this.queue=new rn({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){let n=t.toString();this.log("connection ended",n),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 ks(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 Xr(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 Ft("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 lu(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 Pr,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 Ft("message",{detail:e})),await this.publishMessage(t,e)}}getMsgId(t){switch(this.globalSignaturePolicy){case"StrictSign":if(t.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',lt.ERR_MISSING_SIGNATURE);if(t.sequenceNumber==null)throw new A("Need seqno when signature policy is StrictSign but it was missing",lt.ERR_MISSING_SEQNO);if(t.key==null)throw new A("Need key when signature policy is StrictSign but it was missing",lt.ERR_MISSING_KEY);return au(t.key,t.sequenceNumber);case"StrictNoSign":return cu(t.data);default:throw new A("Cannot get message id: unhandled signature policy",lt.ERR_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(sn)})}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 A('Message type should be "unsigned" when signature policy is StrictNoSign but it was not',lt.ERR_MISSING_SIGNATURE);if(e.signature!=null)throw new A("StrictNoSigning: signature should not be present",lt.ERR_UNEXPECTED_SIGNATURE);if(e.key!=null)throw new A("StrictNoSigning: key should not be present",lt.ERR_UNEXPECTED_KEY);if(e.sequenceNumber!=null)throw new A("StrictNoSigning: seqno should not be present",lt.ERR_UNEXPECTED_SEQNO);break;case"StrictSign":if(e.type!=="signed")throw new A('Message type should be "signed" when signature policy is StrictSign but it was not',lt.ERR_MISSING_SIGNATURE);if(e.signature==null)throw new A("StrictSigning: Signing required and no signature was present",lt.ERR_MISSING_SIGNATURE);if(e.sequenceNumber==null)throw new A("StrictSigning: Signing required and no sequenceNumber was present",lt.ERR_MISSING_SEQNO);if(!await du(e,this.encodeMessage.bind(this)))throw new A("StrictSigning: Invalid message signature",lt.ERR_INVALID_SIGNATURE);break;default:throw new A("Cannot validate message: unhandled signature policy",lt.ERR_UNHANDLED_SIGNATURE_POLICY)}let s=this.topicValidators.get(e.topic);if(s!=null){let i=await s(t,e);if(i===kr.Reject||i===kr.Ignore)throw new A("Message validation failed",lt.ERR_TOPIC_VALIDATOR_REJECT)}}async buildMessage(t){switch(this.globalSignaturePolicy){case"StrictSign":return hu(this.components.peerId,t,this.encodeMessage.bind(this));case"StrictNoSign":return Promise.resolve({type:"unsigned",...t});default:throw new A("Cannot build message: unhandled signature policy",lt.ERR_UNHANDLED_SIGNATURE_POLICY)}}getSubscribers(t){if(!this.started)throw new A("not started yet","ERR_NOT_STARTED_YET");if(t==null)throw new A("topic is required","ERR_NOT_VALID_TOPIC");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:ou()};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 Ft("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())}};return ku(md);})();
8
8
  /*! Bundled license information:
9
9
 
10
10
  pvtsutils/build/index.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/pubsub",
3
- "version": "9.0.16-e1923b0a7",
3
+ "version": "9.0.17-1488a7371",
4
4
  "description": "libp2p pubsub base class",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/pubsub#readme",
@@ -84,12 +84,12 @@
84
84
  "test:electron-main": "aegir test -t electron-main"
85
85
  },
86
86
  "dependencies": {
87
- "@libp2p/crypto": "4.1.0-e1923b0a7",
88
- "@libp2p/interface": "1.3.0-e1923b0a7",
89
- "@libp2p/interface-internal": "1.1.1-e1923b0a7",
90
- "@libp2p/peer-collections": "5.1.11-e1923b0a7",
91
- "@libp2p/peer-id": "4.1.0-e1923b0a7",
92
- "@libp2p/utils": "5.3.2-e1923b0a7",
87
+ "@libp2p/crypto": "4.1.1-1488a7371",
88
+ "@libp2p/interface": "1.3.1-1488a7371",
89
+ "@libp2p/interface-internal": "1.2.0-1488a7371",
90
+ "@libp2p/peer-collections": "5.2.0-1488a7371",
91
+ "@libp2p/peer-id": "4.1.1-1488a7371",
92
+ "@libp2p/utils": "5.4.0-1488a7371",
93
93
  "it-length-prefixed": "^9.0.4",
94
94
  "it-pipe": "^3.0.1",
95
95
  "it-pushable": "^3.2.3",
@@ -99,8 +99,8 @@
99
99
  "uint8arrays": "^5.0.3"
100
100
  },
101
101
  "devDependencies": {
102
- "@libp2p/logger": "4.0.11-e1923b0a7",
103
- "@libp2p/peer-id-factory": "4.1.0-e1923b0a7",
102
+ "@libp2p/logger": "4.0.12-1488a7371",
103
+ "@libp2p/peer-id-factory": "4.1.1-1488a7371",
104
104
  "@types/sinon": "^17.0.3",
105
105
  "aegir": "^42.2.5",
106
106
  "delay": "^6.0.0",